diff --git a/sdk/!GlobalTypes.hpp b/sdk/!GlobalTypes.hpp index 02608913..a047d6eb 100644 --- a/sdk/!GlobalTypes.hpp +++ b/sdk/!GlobalTypes.hpp @@ -4,8 +4,8 @@ // ///////////////////////////////////////////////////////////// // Binary: !GlobalTypes -// Classes count: 1307 -// Enums count: 308 +// Classes count: 1383 +// Enums count: 313 // Created using source2gen - github.com/neverlosecc/source2gen // ///////////////////////////////////////////////////////////// @@ -813,7 +813,7 @@ enum class RagdollPoseControl : uint32_t }; // Alignment: 4 -// Size: 0x24 +// Size: 0x25 enum class AnimValueSource : uint32_t { MoveHeading = 0x0, @@ -824,34 +824,35 @@ enum class AnimValueSource : uint32_t ManualFacingHeading = 0x5, LookHeading = 0x6, LookPitch = 0x7, - Parameter = 0x8, - WayPointHeading = 0x9, - WayPointDistance = 0xa, - BoundaryRadius = 0xb, - TargetMoveHeading = 0xc, - TargetMoveSpeed = 0xd, - AccelerationHeading = 0xe, - AccelerationSpeed = 0xf, - SlopeHeading = 0x10, - SlopeAngle = 0x11, - SlopePitch = 0x12, - SlopeYaw = 0x13, - GoalDistance = 0x14, - AccelerationLeftRight = 0x15, - AccelerationFrontBack = 0x16, - RootMotionSpeed = 0x17, - RootMotionTurnSpeed = 0x18, - MoveHeadingRelativeToLookHeading = 0x19, - MaxMoveSpeed = 0x1a, - FingerCurl_Thumb = 0x1b, - FingerCurl_Index = 0x1c, - FingerCurl_Middle = 0x1d, - FingerCurl_Ring = 0x1e, - FingerCurl_Pinky = 0x1f, - FingerSplay_Thumb_Index = 0x20, - FingerSplay_Index_Middle = 0x21, - FingerSplay_Middle_Ring = 0x22, - FingerSplay_Ring_Pinky = 0x23, + LookDistance = 0x8, + Parameter = 0x9, + WayPointHeading = 0xa, + WayPointDistance = 0xb, + BoundaryRadius = 0xc, + TargetMoveHeading = 0xd, + TargetMoveSpeed = 0xe, + AccelerationHeading = 0xf, + AccelerationSpeed = 0x10, + SlopeHeading = 0x11, + SlopeAngle = 0x12, + SlopePitch = 0x13, + SlopeYaw = 0x14, + GoalDistance = 0x15, + AccelerationLeftRight = 0x16, + AccelerationFrontBack = 0x17, + RootMotionSpeed = 0x18, + RootMotionTurnSpeed = 0x19, + MoveHeadingRelativeToLookHeading = 0x1a, + MaxMoveSpeed = 0x1b, + FingerCurl_Thumb = 0x1c, + FingerCurl_Index = 0x1d, + FingerCurl_Middle = 0x1e, + FingerCurl_Ring = 0x1f, + FingerCurl_Pinky = 0x20, + FingerSplay_Thumb_Index = 0x21, + FingerSplay_Index_Middle = 0x22, + FingerSplay_Middle_Ring = 0x23, + FingerSplay_Ring_Pinky = 0x24, }; // Alignment: 4 @@ -872,7 +873,7 @@ enum class PoseType_t : uint8_t }; // Alignment: 4 -// Size: 0x28 +// Size: 0x29 enum class ControlValue : uint32_t { ControlValue_MoveHeading = 0x0, @@ -880,40 +881,41 @@ enum class ControlValue : uint32_t ControlValue_FacingHeading = 0x2, ControlValue_LookHeading = 0x3, ControlValue_LookPitch = 0x4, - ControlValue_WayPointHeading = 0x5, - ControlValue_WayPointDistance = 0x6, - ControlValue_BoundaryRadius = 0x7, - ControlValue_TotalTranslation_SourceState = 0x8, - ControlValue_TotalTranslation_TargetState = 0x9, - ControlValue_RemainingTranslation_SourceState = 0xa, - ControlValue_RemainingTranslation_TargetState = 0xb, - ControlValue_MoveVsFacingDelta = 0xc, - ControlValue_SourceStateBlendWeight = 0xd, - ControlValue_TargetStateBlendWeight = 0xe, - ControlValue_TargetMoveHeading = 0xf, - ControlValue_TargetMoveSpeed = 0x10, - ControlValue_AccelerationHeading = 0x11, - ControlValue_AccelerationSpeed = 0x12, - ControlValue_SlopeHeading = 0x13, - ControlValue_SlopeAngle = 0x14, - ControlValue_SlopeYaw = 0x15, - ControlValue_SlopePitch = 0x16, - ControlValue_GoalDistance = 0x17, - ControlValue_AccelerationLeftRight = 0x18, - ControlValue_AccelerationFrontBack = 0x19, - ControlValue_RootMotionSpeed = 0x1a, - ControlValue_RootMotionTurnSpeed = 0x1b, - ControlValue_MoveHeadingRelativeToLookHeading = 0x1c, - ControlValue_FingerCurl_Thumb = 0x1d, - ControlValue_FingerCurl_Index = 0x1e, - ControlValue_FingerCurl_Middle = 0x1f, - ControlValue_FingerCurl_Ring = 0x20, - ControlValue_FingerCurl_Pinky = 0x21, - ControlValue_FingerSplay_Thumb_Index = 0x22, - ControlValue_FingerSplay_Index_Middle = 0x23, - ControlValue_FingerSplay_Middle_Ring = 0x24, - ControlValue_FingerSplay_Ring_Pinky = 0x25, - ControlValue_Count = 0x26, + ControlValue_LookDistance = 0x5, + ControlValue_WayPointHeading = 0x6, + ControlValue_WayPointDistance = 0x7, + ControlValue_BoundaryRadius = 0x8, + ControlValue_TotalTranslation_SourceState = 0x9, + ControlValue_TotalTranslation_TargetState = 0xa, + ControlValue_RemainingTranslation_SourceState = 0xb, + ControlValue_RemainingTranslation_TargetState = 0xc, + ControlValue_MoveVsFacingDelta = 0xd, + ControlValue_SourceStateBlendWeight = 0xe, + ControlValue_TargetStateBlendWeight = 0xf, + ControlValue_TargetMoveHeading = 0x10, + ControlValue_TargetMoveSpeed = 0x11, + ControlValue_AccelerationHeading = 0x12, + ControlValue_AccelerationSpeed = 0x13, + ControlValue_SlopeHeading = 0x14, + ControlValue_SlopeAngle = 0x15, + ControlValue_SlopeYaw = 0x16, + ControlValue_SlopePitch = 0x17, + ControlValue_GoalDistance = 0x18, + ControlValue_AccelerationLeftRight = 0x19, + ControlValue_AccelerationFrontBack = 0x1a, + ControlValue_RootMotionSpeed = 0x1b, + ControlValue_RootMotionTurnSpeed = 0x1c, + ControlValue_MoveHeadingRelativeToLookHeading = 0x1d, + ControlValue_FingerCurl_Thumb = 0x1e, + ControlValue_FingerCurl_Index = 0x1f, + ControlValue_FingerCurl_Middle = 0x20, + ControlValue_FingerCurl_Ring = 0x21, + ControlValue_FingerCurl_Pinky = 0x22, + ControlValue_FingerSplay_Thumb_Index = 0x23, + ControlValue_FingerSplay_Index_Middle = 0x24, + ControlValue_FingerSplay_Middle_Ring = 0x25, + ControlValue_FingerSplay_Ring_Pinky = 0x26, + ControlValue_Count = 0x27, ControlValue_Invalid = 0xff, }; @@ -1599,6 +1601,48 @@ enum class SpriteCardTextureChannel_t : uint32_t SPRITECARD_TEXTURE_CHANNEL_MIX_BALPHA = 0xe, }; +// Alignment: 2 +// Size: 0x24 +enum class PulseInstructionCode_t : uint16_t +{ + INVALID = 0x0, + IMMEDIATE_HALT = 0x1, + RETURN_VOID = 0x2, + RETURN_VALUE = 0x3, + NOP = 0x4, + JUMP = 0x5, + LEAP = 0x6, + COND_JUMP = 0x7, + COND_LEAP = 0x8, + PULSE_CALL = 0x9, + LANDING_PAD = 0xa, + CELL_INVOKE = 0xb, + LIBRARY_INVOKE = 0xc, + SET_VAR_REG_BOOL = 0xd, + SET_VAR_REG_INT = 0xe, + SET_VAR_REG_FLOAT = 0xf, + SET_VAR_REG_STR = 0x10, + SET_VAR_REG_EHANDLE = 0x11, + SET_VAR_REG_SNDEVT_GUID = 0x12, + SET_VAR_REG_VEC3 = 0x13, + GET_VAR_REG_BOOL = 0x14, + GET_VAR_REG_INT = 0x15, + GET_VAR_REG_FLOAT = 0x16, + GET_VAR_REG_STR = 0x17, + GET_VAR_REG_EHANDLE = 0x18, + GET_VAR_REG_SNDEVT_GUID = 0x19, + GET_VAR_REG_VEC3 = 0x1a, + SET_REGISTER_LIT_BOOL = 0x1b, + SET_REGISTER_LIT_INT = 0x1c, + SET_REGISTER_LIT_FLOAT = 0x1d, + SET_REGISTER_LIT_STR = 0x1e, + SET_REGISTER_LIT_INVAL_EHANDLE = 0x1f, + SET_REGISTER_LIT_INVAL_SNDEVT_GUID = 0x20, + SET_REGISTER_LIT_VEC3 = 0x21, + SET_REGISTER_DOMAIN_VALUE = 0x22, + COUNT = 0x23, +}; + // Alignment: 4 // Size: 0x4 enum class ParticleAlphaReferenceType_t : uint32_t @@ -1694,6 +1738,25 @@ enum class PFNoiseModifier_t : uint32_t PF_NOISE_MODIFIER_RINGS = 0x3, }; +// Alignment: 4 +// Size: 0xd +enum class PulseValueType_t : uint32_t +{ + PVAL_INVALID = 0xffffffffffffffff, + PVAL_BOOL = 0x0, + PVAL_INT = 0x1, + PVAL_FLOAT = 0x2, + PVAL_STRING = 0x3, + PVAL_VEC3 = 0x4, + PVAL_TRANSFORM = 0x5, + PVAL_EHANDLE = 0x6, + PVAL_RESOURCE = 0x7, + PVAL_SNDEVT_GUID = 0x8, + PVAL_CURSOR_FLOW = 0x9, + PVAL_ANY = 0xa, + PVAL_COUNT = 0xb, +}; + // Alignment: 4 // Size: 0x4 enum class ParticleFloatRandomMode_t : uint32_t @@ -1826,6 +1889,15 @@ enum class AnimationType_t : uint32_t ANIMATION_TYPE_MANUAL_FRAMES = 0x2, }; +// Alignment: 4 +// Size: 0x3 +enum class PulseCursorFlow_t : uint32_t +{ + INVALID = 0xffffffffffffffff, + TERMINATE = 0x0, + JUMP_OR_LEAP = 0x1, +}; + // Alignment: 4 // Size: 0x2 enum class HitboxLerpType_t : uint32_t @@ -1945,6 +2017,17 @@ enum class ParticleLightingQuality_t : uint32_t PARTICLE_LIGHTING_PER_PIXEL = 0xffffffffffffffff, }; +// Alignment: 4 +// Size: 0x5 +enum class ParticleModelType_t : uint32_t +{ + PM_TYPE_INVALID = 0x0, + PM_TYPE_NAMED_VALUE_MODEL = 0x1, + PM_TYPE_NAMED_VALUE_EHANDLE = 0x2, + PM_TYPE_CONTROL_POINT = 0x3, + PM_TYPE_COUNT = 0x4, +}; + // Alignment: 4 // Size: 0x3 enum class ParticleParentSetMode_t : uint32_t @@ -2070,7 +2153,7 @@ enum class ParticlePostProcessPriorityGroup_t : uint32_t }; // Alignment: 4 -// Size: 0x14 +// Size: 0x16 enum class ParticleFloatType_t : uint32_t { PF_TYPE_INVALID = 0xffffffffffffffff, @@ -2084,15 +2167,17 @@ enum class ParticleFloatType_t : uint32_t PF_TYPE_CONTROL_POINT_CHANGE_AGE = 0x7, PF_TYPE_CONTROL_POINT_SPEED = 0x8, PF_TYPE_PARTICLE_DETAIL_LEVEL = 0x9, - PF_TYPE_PARTICLE_NOISE = 0xa, - PF_TYPE_PARTICLE_AGE = 0xb, - PF_TYPE_PARTICLE_AGE_NORMALIZED = 0xc, - PF_TYPE_PARTICLE_FLOAT = 0xd, - PF_TYPE_PARTICLE_VECTOR_COMPONENT = 0xe, - PF_TYPE_PARTICLE_SPEED = 0xf, - PF_TYPE_PARTICLE_NUMBER = 0x10, - PF_TYPE_PARTICLE_NUMBER_NORMALIZED = 0x11, - PF_TYPE_COUNT = 0x12, + PF_TYPE_RENDERER_CAMERA_DISTANCE = 0xa, + PF_TYPE_RENDERER_CAMERA_DOT_PRODUCT = 0xb, + PF_TYPE_PARTICLE_NOISE = 0xc, + PF_TYPE_PARTICLE_AGE = 0xd, + PF_TYPE_PARTICLE_AGE_NORMALIZED = 0xe, + PF_TYPE_PARTICLE_FLOAT = 0xf, + PF_TYPE_PARTICLE_VECTOR_COMPONENT = 0x10, + PF_TYPE_PARTICLE_SPEED = 0x11, + PF_TYPE_PARTICLE_NUMBER = 0x12, + PF_TYPE_PARTICLE_NUMBER_NORMALIZED = 0x13, + PF_TYPE_COUNT = 0x14, }; // Alignment: 4 @@ -3286,7 +3371,7 @@ enum class EInButtonState : uint32_t }; // Alignment: 4 -// Size: 0xb +// Size: 0xc enum class Hull_t : uint32_t { HULL_HUMAN = 0x0, @@ -3298,8 +3383,9 @@ enum class Hull_t : uint32_t HULL_LARGE = 0x6, HULL_LARGE_CENTERED = 0x7, HULL_MEDIUM_TALL = 0x8, - NUM_HULLS = 0x9, - HULL_NONE = 0xa, + HULL_SMALL = 0x9, + NUM_HULLS = 0xa, + HULL_NONE = 0xb, }; // Alignment: 1 @@ -3508,6 +3594,15 @@ enum class IChoreoServices__ScriptState_t : uint32_t SCRIPT_CUSTOM_MOVE_TO_MARK = 0x6, }; +// Alignment: 1 +// Size: 0x3 +enum class FixAngleSet_t : uint8_t +{ + None = 0x0, + Absolute = 0x1, + Relative = 0x2, +}; + // Alignment: 4 // Size: 0x2a enum class GameAnimEventIndex_t : uint32_t @@ -4789,7 +4884,7 @@ enum class ItemFlagTypes_t : uint8_t }; // Alignment: 4 -// Size: 0x17 +// Size: 0x18 enum class PlayerAnimEvent_t : uint32_t { PLAYERANIMEVENT_FIRE_GUN_PRIMARY = 0x0, @@ -4805,16 +4900,17 @@ enum class PlayerAnimEvent_t : uint32_t PLAYERANIMEVENT_THROW_GRENADE_UNDERHAND = 0xa, PLAYERANIMEVENT_CATCH_WEAPON = 0xb, PLAYERANIMEVENT_LOOKATWEAPON_REQUEST = 0xc, - PLAYERANIMEVENT_HAULBACK = 0xd, - PLAYERANIMEVENT_IDLE = 0xe, - PLAYERANIMEVENT_STRIKE_HIT = 0xf, - PLAYERANIMEVENT_STRIKE_MISS = 0x10, - PLAYERANIMEVENT_BACKSTAB = 0x11, - PLAYERANIMEVENT_DRYFIRE = 0x12, - PLAYERANIMEVENT_FIDGET = 0x13, - PLAYERANIMEVENT_RELEASE = 0x14, - PLAYERANIMEVENT_TAUNT = 0x15, - PLAYERANIMEVENT_COUNT = 0x16, + PLAYERANIMEVENT_RELOAD_CANCEL_LOOKATWEAPON = 0xd, + PLAYERANIMEVENT_HAULBACK = 0xe, + PLAYERANIMEVENT_IDLE = 0xf, + PLAYERANIMEVENT_STRIKE_HIT = 0x10, + PLAYERANIMEVENT_STRIKE_MISS = 0x11, + PLAYERANIMEVENT_BACKSTAB = 0x12, + PLAYERANIMEVENT_DRYFIRE = 0x13, + PLAYERANIMEVENT_FIDGET = 0x14, + PLAYERANIMEVENT_RELEASE = 0x15, + PLAYERANIMEVENT_TAUNT = 0x16, + PLAYERANIMEVENT_COUNT = 0x17, }; // Alignment: 4 @@ -5137,12 +5233,22 @@ struct CParticleCollectionVecInput; struct CPerParticleFloatInput; struct CParticleCollectionFloatInput; struct CParticleTransformInput; +struct CParticleCollectionRendererFloatInput; struct CPerParticleVecInput; +struct CPulse_OutflowConnection; +struct CParticleModelInput; +struct PulseRuntimeChunkIndex_t; +struct PulseRegisterMap_t; struct ParticlePreviewState_t; struct TextureControls_t; +struct PulseRuntimeRegisterIndex_t; struct CPathParameters; struct CParticleRemapFloatInput; struct CRandomNumberGeneratorParameters; +struct PulseRuntimeCellIndex_t; +struct PulseRuntimeVarIndex_t; +struct PulseRuntimeInvokeIndex_t; +struct PulseRuntimeLandingPadIndex_t; struct ControlPointReference_t; struct CParticleVisibilityInputs; struct CNewParticleEffect; @@ -5150,6 +5256,10 @@ struct IParticleCollection; struct PARTICLE_EHANDLE__; struct CParticleProperty; struct CParticleFloatInput; +struct CPulse_ResumePoint; +struct PulseDocNodeID_t; +struct CParticleCollectionRendererVecInput; +struct PulseRuntimeOutputIndex_t; struct CResponseCriteriaSet; struct CRR_Response; struct ResponseFollowup; @@ -5364,6 +5474,16 @@ public: uint16_t m_Value; // 0x0 }; +// Alignment: 0 +// Size: 0x1 +class InfoForResourceTypeIPulseGraphDef +{ +private: + [[maybe_unused]] uint8_t __pad0000[0x1]; // 0x0 +public: + // No members available +}; + // Alignment: 0 // Size: 0x1 class InfoForResourceTypeCPanoramaDynamicImages @@ -5865,22 +5985,21 @@ public: float m_flRealTime; // 0x28 }; -// Alignment: 8 -// Size: 0x78 +// Alignment: 7 +// Size: 0x68 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 + char* m_pName; // 0x0 + char* m_pCPPClassname; // 0x8 + char* m_pNetworkDataReferencedDescription; // 0x10 + char* m_pNetworkDataReferencedPtrPropDescription; // 0x18 + int32_t m_nRuntimeIndex; // 0x20 + uint32_t m_nFlags; // 0x24 private: - [[maybe_unused]] uint8_t __pad0038[0x38]; // 0x38 + [[maybe_unused]] uint8_t __pad0028[0x38]; // 0x28 public: - CEntityComponentHelper* m_pBaseClassComponentHelper; // 0x70 + CEntityComponentHelper* m_pBaseClassComponentHelper; // 0x60 }; // Alignment: 0 @@ -6516,6 +6635,14 @@ public: int32_t m_nCount; // 0x2c }; +// Alignment: 1 +// Size: 0x4 +class AnimComponentID +{ +public: + uint32_t m_id; // 0x0 +}; + // Alignment: 1 // Size: 0x10 class CAnimUpdateNodeRef @@ -6650,6 +6777,31 @@ public: uint32_t m_id; // 0x0 }; +// Alignment: 5 +// Size: 0x38 +class CAnimComponentBase +{ +private: + [[maybe_unused]] uint8_t __pad0000[0x18]; // 0x0 +public: + // MPropertyHideField + CUtlString m_group; // 0x18 +private: + [[maybe_unused]] uint8_t __pad0020[0x8]; // 0x20 +public: + // MPropertyHideField + AnimComponentID m_id; // 0x28 + // MPropertyFriendlyName "Start Enabled" + bool m_bStartEnabled; // 0x2c +private: + [[maybe_unused]] uint8_t __pad002d[0x3]; // 0x2d +public: + // MPropertyFriendlyName "Priority" + int32_t m_nPriority; // 0x30 + // MPropertyFriendlyName "Network Mode" + AnimNodeNetworkMode m_networkMode; // 0x34 +}; + // Alignment: 1 // Size: 0x4 class AnimParamID @@ -6923,7 +7075,7 @@ public: private: [[maybe_unused]] uint8_t __pad0129[0x7]; // 0x129 public: - VectorAligned m_vFallbackHingeAxis; // 0x130 + VectorAligned m_vLsFallbackHingeAxis; // 0x130 int32_t m_nFixedBoneIndex; // 0x140 int32_t m_nMiddleBoneIndex; // 0x144 int32_t m_nEndBoneIndex; // 0x148 @@ -7211,14 +7363,18 @@ public: bool m_bResetChild; // 0x6c }; -// Alignment: 3 -// Size: 0x40 +// Alignment: 4 +// Size: 0x48 class CSeqScaleSet { public: CBufferString m_sName; // 0x0 - CUtlVector< int16 > m_nLocalBoneArray; // 0x10 - CUtlVector< float32 > m_flBoneScaleArray; // 0x28 + float m_flRootOffsetScale; // 0x10 +private: + [[maybe_unused]] uint8_t __pad0014[0x4]; // 0x14 +public: + CUtlVector< int16 > m_nLocalBoneArray; // 0x18 + CUtlVector< float32 > m_flBoneScaleArray; // 0x30 }; // Alignment: 2 @@ -7375,12 +7531,15 @@ public: CUtlVector< CSmartPtr< CMotionParameter > > m_params; // 0x10 }; -// Alignment: 1 -// Size: 0x4 -class AnimComponentID +// Alignment: 2 +// Size: 0x58 +class CActionComponent : public CAnimComponentBase { public: - uint32_t m_id; // 0x0 + CUtlVector< CSmartPtr< CAnimActionBase > > m_actions; // 0x38 + // MPropertyFriendlyName "Name" + // MPropertySortPriority "100" + CUtlString m_sName; // 0x50 }; // Alignment: 2 @@ -7886,14 +8045,16 @@ public: // No members available }; -// Alignment: 1 -// Size: 0x10 +// Alignment: 3 +// Size: 0x40 class CAnimationGraphVisualizerPrimitiveBase { private: [[maybe_unused]] uint8_t __pad0000[0x8]; // 0x0 public: CAnimationGraphVisualizerPrimitiveType m_Type; // 0x8 + AnimNodeID m_OwningAnimNodePaths[11]; // 0xc + int32_t m_nOwningAnimNodePathCount; // 0x38 }; // Alignment: 7 @@ -8335,12 +8496,12 @@ public: }; // Alignment: 2 -// Size: 0x40 +// Size: 0x70 class CAnimationGraphVisualizerAxis : public CAnimationGraphVisualizerPrimitiveBase { public: - CTransform m_xWsTransform; // 0x10 - float m_flAxisSize; // 0x30 + CTransform m_xWsTransform; // 0x40 + float m_flAxisSize; // 0x60 }; // Alignment: 10 @@ -8393,29 +8554,29 @@ public: Vector m_vMassCenterOverride; // 0x94 }; -// Alignment: 5 -// Size: 0x38 -class CAnimComponentBase +// Alignment: 9 +// Size: 0x60 +class CVRInputComponent : public CAnimComponentBase { -private: - [[maybe_unused]] uint8_t __pad0000[0x18]; // 0x0 public: // MPropertyHideField - CUtlString m_group; // 0x18 -private: - [[maybe_unused]] uint8_t __pad0020[0x8]; // 0x20 -public: + AnimParamID m_FingerCurl_Thumb; // 0x38 // MPropertyHideField - 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 + 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: 0 @@ -8597,16 +8758,16 @@ public: }; // Alignment: 3 -// Size: 0x30 +// Size: 0x60 class CAnimationGraphVisualizerText : public CAnimationGraphVisualizerPrimitiveBase { public: - VectorAligned m_vWsPosition; // 0x10 - Color m_Color; // 0x20 + VectorAligned m_vWsPosition; // 0x40 + Color m_Color; // 0x50 private: - [[maybe_unused]] uint8_t __pad0024[0x4]; // 0x24 + [[maybe_unused]] uint8_t __pad0054[0x4]; // 0x54 public: - CUtlString m_Text; // 0x28 + CUtlString m_Text; // 0x58 }; // Alignment: 3 @@ -8631,14 +8792,14 @@ public: }; // Alignment: 4 -// Size: 0x50 +// Size: 0x80 class CAnimationGraphVisualizerPie : public CAnimationGraphVisualizerPrimitiveBase { public: - VectorAligned m_vWsCenter; // 0x10 - VectorAligned m_vWsStart; // 0x20 - VectorAligned m_vWsEnd; // 0x30 - Color m_Color; // 0x40 + VectorAligned m_vWsCenter; // 0x40 + VectorAligned m_vWsStart; // 0x50 + VectorAligned m_vWsEnd; // 0x60 + Color m_Color; // 0x70 }; // Alignment: 13 @@ -8975,13 +9136,13 @@ public: }; // Alignment: 3 -// Size: 0x30 +// Size: 0x60 class CAnimationGraphVisualizerSphere : public CAnimationGraphVisualizerPrimitiveBase { public: - VectorAligned m_vWsPosition; // 0x10 - float m_flRadius; // 0x20 - Color m_Color; // 0x24 + VectorAligned m_vWsPosition; // 0x40 + float m_flRadius; // 0x50 + Color m_Color; // 0x54 }; // Alignment: 2 @@ -9211,29 +9372,16 @@ public: bool m_bResetOnFinish; // 0x41 }; -// Alignment: 9 -// Size: 0x60 -class CVRInputComponent : public CAnimComponentBase +// Alignment: 2 +// Size: 0x30 +class CToggleComponentAction : public CAnimActionBase { 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 + // MPropertyFriendlyName "Component" + // MPropertyAttributeChoiceName "Component" + AnimComponentID m_componentID; // 0x28 + // MPropertyFriendlyName "Set Enabled" + bool m_bSetEnabled; // 0x2c }; // Alignment: 1 @@ -11131,20 +11279,13 @@ public: bool m_bAnimEventsAndTagsOnMostWeightedOnly; // 0xeb }; -// Alignment: 7 -// Size: 0x48 -class CSlopeComponentUpdater : public CAnimComponentUpdater +// Alignment: 1 +// Size: 0xb8 +class CCPPScriptComponentUpdater : public CAnimComponentUpdater { -private: - [[maybe_unused]] uint8_t __pad0030[0x4]; // 0x30 public: - float m_flTraceDistance; // 0x34 - CAnimParamHandle m_hSlopeAngle; // 0x38 - CAnimParamHandle m_hSlopeAngleFront; // 0x3a - CAnimParamHandle m_hSlopeAngleSide; // 0x3c - CAnimParamHandle m_hSlopeHeading; // 0x3e - CAnimParamHandle m_hSlopeNormal; // 0x40 - CAnimParamHandle m_hSlopeNormal_WorldSpace; // 0x42 + // MPropertyFriendlyName "Scripts" + CUtlVector< CUtlString > m_scriptsToRun; // 0x30 }; // Alignment: 11 @@ -11359,13 +11500,13 @@ public: }; // Alignment: 3 -// Size: 0x40 +// Size: 0x70 class CAnimationGraphVisualizerLine : public CAnimationGraphVisualizerPrimitiveBase { public: - VectorAligned m_vWsPositionStart; // 0x10 - VectorAligned m_vWsPositionEnd; // 0x20 - Color m_Color; // 0x30 + VectorAligned m_vWsPositionStart; // 0x40 + VectorAligned m_vWsPositionEnd; // 0x50 + Color m_Color; // 0x60 }; // Alignment: 3 @@ -11897,7 +12038,7 @@ public: bool m_bAnimationDriven; // 0xa1 }; -// Alignment: 7 +// Alignment: 8 // Size: 0x60 class CLookComponent : public CAnimComponentBase { @@ -11916,11 +12057,13 @@ public: // MPropertyHideField AnimParamID m_lookPitchID; // 0x4c // MPropertyHideField - AnimParamID m_lookDirectionID; // 0x50 + AnimParamID m_lookDistanceID; // 0x50 // MPropertyHideField - AnimParamID m_lookTargetID; // 0x54 + AnimParamID m_lookDirectionID; // 0x54 // MPropertyHideField - AnimParamID m_lookTargetWorldSpaceID; // 0x58 + AnimParamID m_lookTargetID; // 0x58 + // MPropertyHideField + AnimParamID m_lookTargetWorldSpaceID; // 0x5c }; // Alignment: 1 @@ -12161,16 +12304,20 @@ public: CUtlString m_embeddedKeyvalues; // 0x130 }; -// Alignment: 2 -// Size: 0x30 -class CToggleComponentAction : public CAnimActionBase +// Alignment: 7 +// Size: 0x48 +class CSlopeComponentUpdater : public CAnimComponentUpdater { +private: + [[maybe_unused]] uint8_t __pad0030[0x4]; // 0x30 public: - // MPropertyFriendlyName "Component" - // MPropertyAttributeChoiceName "Component" - AnimComponentID m_componentID; // 0x28 - // MPropertyFriendlyName "Set Enabled" - bool m_bSetEnabled; // 0x2c + float m_flTraceDistance; // 0x34 + CAnimParamHandle m_hSlopeAngle; // 0x38 + CAnimParamHandle m_hSlopeAngleFront; // 0x3a + CAnimParamHandle m_hSlopeAngleSide; // 0x3c + CAnimParamHandle m_hSlopeHeading; // 0x3e + CAnimParamHandle m_hSlopeNormal; // 0x40 + CAnimParamHandle m_hSlopeNormal_WorldSpace; // 0x42 }; // Alignment: 3 @@ -12940,7 +13087,7 @@ public: // No members available }; -// Alignment: 7 +// Alignment: 8 // Size: 0x48 class CLookComponentUpdater : public CAnimComponentUpdater { @@ -12950,10 +13097,11 @@ public: CAnimParamHandle m_hLookHeading; // 0x34 CAnimParamHandle m_hLookHeadingVelocity; // 0x36 CAnimParamHandle m_hLookPitch; // 0x38 - CAnimParamHandle m_hLookDirection; // 0x3a - CAnimParamHandle m_hLookTarget; // 0x3c - CAnimParamHandle m_hLookTargetWorldSpace; // 0x3e - bool m_bNetworkLookTarget; // 0x40 + CAnimParamHandle m_hLookDistance; // 0x3a + CAnimParamHandle m_hLookDirection; // 0x3c + CAnimParamHandle m_hLookTarget; // 0x3e + CAnimParamHandle m_hLookTargetWorldSpace; // 0x40 + bool m_bNetworkLookTarget; // 0x42 }; // Alignment: 2 @@ -13220,15 +13368,15 @@ public: Color m_Color; // 0x50 }; -// Alignment: 2 +// Alignment: 1 // Size: 0x58 -class CActionComponent : public CAnimComponentBase +class CCPPScriptComponent : public CAnimComponentBase { +private: + [[maybe_unused]] uint8_t __pad0038[0x8]; // 0x38 public: - CUtlVector< CSmartPtr< CAnimActionBase > > m_actions; // 0x38 - // MPropertyFriendlyName "Name" - // MPropertySortPriority "100" - CUtlString m_sName; // 0x50 + // MPropertyFriendlyName "Scripts" + CUtlVector< CUtlString > m_scriptsToRun; // 0x40 }; // Alignment: 8 @@ -15679,7 +15827,7 @@ public: CUtlVector< CStrongHandle< InfoForResourceTypeCTextureBase > > m_lightMaps; // 0x18 }; -// Alignment: 12 +// Alignment: 13 // Size: 0x30 struct AggregateMeshInfo_t { @@ -15688,17 +15836,18 @@ public: uint8_t m_nVisClusterMemberCount; // 0x4 bool m_bHasTransform; // 0x5 int16_t m_nDrawCallIndex; // 0x6 - Color m_vTintColor; // 0x8 - uint8_t m_nLODGroupMask; // 0xc + int16_t m_nLODSetupIndex; // 0x8 + uint8_t m_nLODGroupMask; // 0xa + Color m_vTintColor; // 0xb private: - [[maybe_unused]] uint8_t __pad000d[0x3]; // 0xd + [[maybe_unused]] uint8_t __pad000f[0x1]; // 0xf public: ObjectTypeFlags_t m_objectFlags; // 0x10 - Vector m_vLODOrigin; // 0x14 - float m_fLODStartDrawDistance; // 0x20 - float m_fLODEndDrawDistance; // 0x24 - float m_fMaxObjectScale; // 0x28 - int32_t m_nLightProbeVolumePrecomputedHandshake; // 0x2c + int32_t m_nLightProbeVolumePrecomputedHandshake; // 0x14 + Vector m_vLODOrigin; // 0x18 + float m_fLODStartDrawDistance; // 0x24 + float m_fLODEndDrawDistance; // 0x28 + float m_fMaxObjectScale; // 0x2c }; // Alignment: 4 @@ -15857,8 +16006,8 @@ public: CUtlString m_worldNodePrefix; // 0x48 }; -// Alignment: 7 -// Size: 0x60 +// Alignment: 8 +// Size: 0x78 struct AggregateSceneObject_t { public: @@ -15869,9 +16018,10 @@ private: [[maybe_unused]] uint8_t __pad000a[0x6]; // 0xa public: CUtlVector< AggregateMeshInfo_t > m_aggregateMeshes; // 0x10 - CUtlVector< uint16 > m_visClusterMembership; // 0x28 - CUtlVector< matrix3x4_t > m_fragmentTransforms; // 0x40 - CStrongHandle< InfoForResourceTypeCModel > m_renderableModel; // 0x58 + CUtlVector< AggregateLODSetup_t > m_lodSetups; // 0x28 + CUtlVector< uint16 > m_visClusterMembership; // 0x40 + CUtlVector< matrix3x4_t > m_fragmentTransforms; // 0x58 + CStrongHandle< InfoForResourceTypeCModel > m_renderableModel; // 0x70 }; // Alignment: 4 @@ -15885,6 +16035,20 @@ public: CRenderBufferBinding m_extraBufferBinding; // 0x10 }; +// Alignment: 4 +// Size: 0x40 +struct AggregateLODSetup_t +{ +public: + Vector m_vLODOrigin; // 0x0 + float m_fMaxObjectScale; // 0xc + uint8_t m_nLODMask; // 0x10 +private: + [[maybe_unused]] uint8_t __pad0011[0x7]; // 0x11 +public: + CUtlVectorFixedGrowable< float32 > m_fSwitchDistances; // 0x18 +}; + // Alignment: 15 // Size: 0x90 struct SceneObject_t @@ -15931,8 +16095,8 @@ public: int32_t m_Value; // 0x0 }; -// Alignment: 43 -// Size: 0x138 +// Alignment: 44 +// Size: 0x140 class CParticleFloatInput { public: @@ -15976,25 +16140,32 @@ public: float m_flNoiseImgPreviewScale; // 0xb4 bool m_bNoiseImgPreviewLive; // 0xb8 private: - [[maybe_unused]] uint8_t __pad00b9[0x7]; // 0xb9 + [[maybe_unused]] uint8_t __pad00b9[0x8]; // 0xb9 public: - ParticleFloatInputMode_t m_nInputMode; // 0xc0 - float m_flMultFactor; // 0xc4 - float m_flInput0; // 0xc8 - float m_flInput1; // 0xcc - float m_flOutput0; // 0xd0 - float m_flOutput1; // 0xd4 - float m_flNotchedRangeMin; // 0xd8 - float m_flNotchedRangeMax; // 0xdc - float m_flNotchedOutputOutside; // 0xe0 - float m_flNotchedOutputInside; // 0xe4 - ParticleFloatBiasType_t m_nBiasType; // 0xe8 - float m_flBiasParameter; // 0xec - CPiecewiseCurve m_Curve; // 0xf0 + bool m_bUseBoundsCenter; // 0xc1 +private: + [[maybe_unused]] uint8_t __pad00c2[0x2]; // 0xc2 +public: + ParticleFloatInputMode_t m_nInputMode; // 0xc4 + float m_flMultFactor; // 0xc8 + float m_flInput0; // 0xcc + float m_flInput1; // 0xd0 + float m_flOutput0; // 0xd4 + float m_flOutput1; // 0xd8 + float m_flNotchedRangeMin; // 0xdc + float m_flNotchedRangeMax; // 0xe0 + float m_flNotchedOutputOutside; // 0xe4 + float m_flNotchedOutputInside; // 0xe8 + ParticleFloatBiasType_t m_nBiasType; // 0xec + float m_flBiasParameter; // 0xf0 +private: + [[maybe_unused]] uint8_t __pad00f4[0x4]; // 0xf4 +public: + CPiecewiseCurve m_Curve; // 0xf8 }; // Alignment: 0 -// Size: 0x138 +// Size: 0x140 class CParticleCollectionFloatInput : public CParticleFloatInput { public: @@ -16002,7 +16173,7 @@ public: }; // Alignment: 16 -// Size: 0x1f0 +// Size: 0x210 class CParticleFunction { private: @@ -16013,88 +16184,88 @@ public: CParticleCollectionFloatInput m_flOpStrength; // 0x8 // MPropertyFriendlyName "operator end cap state" // MPropertySortPriority "-100" - ParticleEndcapMode_t m_nOpEndCapState; // 0x140 + ParticleEndcapMode_t m_nOpEndCapState; // 0x148 // MPropertyStartGroup "Operator Fade" // MPropertyFriendlyName "operator start fadein" // MParticleAdvancedField // MPropertySortPriority "-100" - float m_flOpStartFadeInTime; // 0x144 + float m_flOpStartFadeInTime; // 0x14c // MPropertyFriendlyName "operator end fadein" // MParticleAdvancedField // MPropertySortPriority "-100" - float m_flOpEndFadeInTime; // 0x148 + float m_flOpEndFadeInTime; // 0x150 // MPropertyFriendlyName "operator start fadeout" // MParticleAdvancedField // MPropertySortPriority "-100" - float m_flOpStartFadeOutTime; // 0x14c + float m_flOpStartFadeOutTime; // 0x154 // MPropertyFriendlyName "operator end fadeout" // MParticleAdvancedField // MPropertySortPriority "-100" - float m_flOpEndFadeOutTime; // 0x150 + float m_flOpEndFadeOutTime; // 0x158 // MPropertyFriendlyName "operator fade oscillate" // MParticleAdvancedField // MPropertySortPriority "-100" - float m_flOpFadeOscillatePeriod; // 0x154 + float m_flOpFadeOscillatePeriod; // 0x15c // MPropertyFriendlyName "normalize fade times to endcap" // MParticleAdvancedField // MPropertySortPriority "-100" - bool m_bNormalizeToStopTime; // 0x158 + bool m_bNormalizeToStopTime; // 0x160 private: - [[maybe_unused]] uint8_t __pad0159[0x3]; // 0x159 + [[maybe_unused]] uint8_t __pad0161[0x3]; // 0x161 public: // MPropertyStartGroup "Operator Fade Time Offset" // MPropertyFriendlyName "operator fade time offset min" // MParticleAdvancedField // MPropertySortPriority "-100" - float m_flOpTimeOffsetMin; // 0x15c + float m_flOpTimeOffsetMin; // 0x164 // MPropertyFriendlyName "operator fade time offset max" // MParticleAdvancedField // MPropertySortPriority "-100" - float m_flOpTimeOffsetMax; // 0x160 + float m_flOpTimeOffsetMax; // 0x168 // MPropertyFriendlyName "operator fade time offset seed" // MParticleAdvancedField // MPropertySortPriority "-100" - int32_t m_nOpTimeOffsetSeed; // 0x164 + int32_t m_nOpTimeOffsetSeed; // 0x16c // MPropertyStartGroup "Operator Fade Timescale Modifiers" // MPropertyFriendlyName "operator fade time scale seed" // MParticleAdvancedField // MPropertySortPriority "-100" - int32_t m_nOpTimeScaleSeed; // 0x168 + int32_t m_nOpTimeScaleSeed; // 0x170 // MPropertyFriendlyName "operator fade time scale min" // MParticleAdvancedField // MPropertySortPriority "-100" - float m_flOpTimeScaleMin; // 0x16c + float m_flOpTimeScaleMin; // 0x174 // MPropertyFriendlyName "operator fade time scale max" // MParticleAdvancedField // MPropertySortPriority "-100" - float m_flOpTimeScaleMax; // 0x170 + float m_flOpTimeScaleMax; // 0x178 private: - [[maybe_unused]] uint8_t __pad0174[0x1]; // 0x174 + [[maybe_unused]] uint8_t __pad017c[0x1]; // 0x17c public: // MPropertyStartGroup // MPropertySuppressField - bool m_bDisableOperator; // 0x175 + bool m_bDisableOperator; // 0x17d private: - [[maybe_unused]] uint8_t __pad0176[0x2]; // 0x176 + [[maybe_unused]] uint8_t __pad017e[0x2]; // 0x17e public: // MPropertyFriendlyName "operator help and notes" // MParticleHelpField // MParticleAdvancedField // MPropertySortPriority "-100" - CUtlString m_Notes; // 0x178 + CUtlString m_Notes; // 0x180 }; // Alignment: 1 -// Size: 0x1f0 +// Size: 0x220 class CParticleFunctionInitializer : public CParticleFunction { - // Collision detected(0x1e8->0x1f0), output may be wrong. public: - // Skipped field "m_nAssociatedEmitterIndex" @ 0x1e8 because of the struct collision + // MPropertyFriendlyName "Associated emitter Index" + int32_t m_nAssociatedEmitterIndex; // 0x210 }; // Alignment: 0 -// Size: 0x138 +// Size: 0x140 class CPerParticleFloatInput : public CParticleFloatInput { public: @@ -16102,43 +16273,89 @@ public: }; // Alignment: 12 -// Size: 0x220 +// Size: 0x250 class C_INIT_RemapParticleCountToScalar : public CParticleFunctionInitializer { public: // MPropertyFriendlyName "output field" // MPropertyAttributeChoiceName "particlefield_scalar" - ParticleAttributeIndex_t m_nFieldOutput; // 0x1f0 + ParticleAttributeIndex_t m_nFieldOutput; // 0x220 // MPropertyFriendlyName "input minimum" - int32_t m_nInputMin; // 0x1f4 + int32_t m_nInputMin; // 0x224 // MPropertyFriendlyName "input maximum" - int32_t m_nInputMax; // 0x1f8 + int32_t m_nInputMax; // 0x228 // MPropertyFriendlyName "input scale control point" - int32_t m_nScaleControlPoint; // 0x1fc + int32_t m_nScaleControlPoint; // 0x22c // MPropertyFriendlyName "input scale control point field" // MPropertyAttributeChoiceName "vector_component" - int32_t m_nScaleControlPointField; // 0x200 + int32_t m_nScaleControlPointField; // 0x230 // MPropertyFriendlyName "output minimum" - float m_flOutputMin; // 0x204 + float m_flOutputMin; // 0x234 // MPropertyFriendlyName "output maximum" - float m_flOutputMax; // 0x208 + float m_flOutputMax; // 0x238 // MPropertyFriendlyName "set value method" - ParticleSetMethod_t m_nSetMethod; // 0x20c + ParticleSetMethod_t m_nSetMethod; // 0x23c // MPropertyFriendlyName "only active within specified input range" - bool m_bActiveRange; // 0x210 + bool m_bActiveRange; // 0x240 // MPropertyFriendlyName "invert input from total particle count" - bool m_bInvert; // 0x211 + bool m_bInvert; // 0x241 // MPropertyFriendlyName "wrap input" - bool m_bWrap; // 0x212 + bool m_bWrap; // 0x242 private: - [[maybe_unused]] uint8_t __pad0213[0x1]; // 0x213 + [[maybe_unused]] uint8_t __pad0243[0x1]; // 0x243 public: // MPropertyFriendlyName "remap bias" - float m_flRemapBias; // 0x214 + float m_flRemapBias; // 0x244 +}; + +// Alignment: 22 +// Size: 0x5e8 +class CParticleVecInput +{ +public: + ParticleVecType_t m_nType; // 0x0 + Vector m_vLiteralValue; // 0x4 + Color m_LiteralColor; // 0x10 +private: + [[maybe_unused]] uint8_t __pad0014[0x4]; // 0x14 +public: + CKV3MemberNameWithStorage m_NamedValue; // 0x18 + bool m_bFollowNamedValue; // 0x50 +private: + [[maybe_unused]] uint8_t __pad0051[0x3]; // 0x51 +public: + ParticleAttributeIndex_t m_nVectorAttribute; // 0x54 + Vector m_vVectorAttributeScale; // 0x58 + int32_t m_nControlPoint; // 0x64 + Vector m_vCPValueScale; // 0x68 + Vector m_vCPRelativePosition; // 0x74 + Vector m_vCPRelativeDir; // 0x80 +private: + [[maybe_unused]] uint8_t __pad008c[0x4]; // 0x8c +public: + CParticleFloatInput m_FloatComponentX; // 0x90 + CParticleFloatInput m_FloatComponentY; // 0x1d0 + CParticleFloatInput m_FloatComponentZ; // 0x310 + CParticleFloatInput m_FloatInterp; // 0x450 + float m_flInterpInput0; // 0x590 + float m_flInterpInput1; // 0x594 + Vector m_vInterpOutput0; // 0x598 + Vector m_vInterpOutput1; // 0x5a4 + CColorGradient m_Gradient; // 0x5b0 + Vector m_vRandomMin; // 0x5c8 + Vector m_vRandomMax; // 0x5d4 +}; + +// Alignment: 1 +// Size: 0x4 +struct PulseDocNodeID_t +{ +public: + int32_t m_Value; // 0x0 }; // Alignment: 0 -// Size: 0x1f0 +// Size: 0x210 class CParticleFunctionOperator : public CParticleFunction { public: @@ -16207,62 +16424,73 @@ public: bool m_bRightEye; // 0x40 }; +// Alignment: 1 +// Size: 0x48 +class CPulseCell_Base +{ +private: + [[maybe_unused]] uint8_t __pad0000[0x8]; // 0x0 +public: + // MFgdFromSchemaCompletelySkipField + PulseDocNodeID_t m_nEditorNodeID; // 0x8 +}; + // Alignment: 10 -// Size: 0x220 +// Size: 0x240 class C_OP_CycleScalar : public CParticleFunctionOperator { public: // MPropertyFriendlyName "destination scalar field" // MPropertyAttributeChoiceName "particlefield_scalar" - ParticleAttributeIndex_t m_nDestField; // 0x1f0 + ParticleAttributeIndex_t m_nDestField; // 0x210 // MPropertyFriendlyName "Value at start of cycle" - float m_flStartValue; // 0x1f4 + float m_flStartValue; // 0x214 // MPropertyFriendlyName "Value at end of cycle" - float m_flEndValue; // 0x1f8 + float m_flEndValue; // 0x218 // MPropertyFriendlyName "Cycle time" - float m_flCycleTime; // 0x1fc + float m_flCycleTime; // 0x21c // MPropertyFriendlyName "Do not repeat cycle" - bool m_bDoNotRepeatCycle; // 0x200 + bool m_bDoNotRepeatCycle; // 0x220 // MPropertyFriendlyName "Synchronize particles" - bool m_bSynchronizeParticles; // 0x201 + bool m_bSynchronizeParticles; // 0x221 private: - [[maybe_unused]] uint8_t __pad0202[0x2]; // 0x202 + [[maybe_unused]] uint8_t __pad0222[0x2]; // 0x222 public: // MPropertyFriendlyName "Scale Start/End Control Point" - int32_t m_nCPScale; // 0x204 + int32_t m_nCPScale; // 0x224 // MPropertyFriendlyName "start scale control point field" // MPropertyAttributeChoiceName "vector_component" - int32_t m_nCPFieldMin; // 0x208 + int32_t m_nCPFieldMin; // 0x228 // MPropertyFriendlyName "end scale control point field" // MPropertyAttributeChoiceName "vector_component" - int32_t m_nCPFieldMax; // 0x20c + int32_t m_nCPFieldMax; // 0x22c // MPropertyFriendlyName "set value method" - ParticleSetMethod_t m_nSetMethod; // 0x210 + ParticleSetMethod_t m_nSetMethod; // 0x230 }; // Alignment: 5 -// Size: 0x490 +// Size: 0x4c0 class C_OP_SetAttributeToScalarExpression : public CParticleFunctionOperator { public: // MPropertyFriendlyName "expression" - ScalarExpressionType_t m_nExpression; // 0x1f0 + ScalarExpressionType_t m_nExpression; // 0x210 private: - [[maybe_unused]] uint8_t __pad01f4[0x4]; // 0x1f4 + [[maybe_unused]] uint8_t __pad0214[0x4]; // 0x214 public: // MPropertyFriendlyName "input 1" - CPerParticleFloatInput m_flInput1; // 0x1f8 + CPerParticleFloatInput m_flInput1; // 0x218 // MPropertyFriendlyName "input 2" - CPerParticleFloatInput m_flInput2; // 0x330 + CPerParticleFloatInput m_flInput2; // 0x358 // MPropertyFriendlyName "output field" // MPropertyAttributeChoiceName "particlefield_scalar" - ParticleAttributeIndex_t m_nOutputField; // 0x468 + ParticleAttributeIndex_t m_nOutputField; // 0x498 // MPropertyFriendlyName "set value method" - ParticleSetMethod_t m_nSetMethod; // 0x46c + ParticleSetMethod_t m_nSetMethod; // 0x49c }; // Alignment: 0 -// Size: 0x1f0 +// Size: 0x210 class CParticleFunctionConstraint : public CParticleFunction { public: @@ -16270,49 +16498,49 @@ public: }; // Alignment: 3 -// Size: 0x230 +// Size: 0x260 class CParticleFunctionRenderer : public CParticleFunction { - // Collision detected(0x1e8->0x1f0), output may be wrong. public: - // Skipped field "VisibilityInputs" @ 0x1e8 because of the struct collision + // MPropertySortPriority "-1" + CParticleVisibilityInputs VisibilityInputs; // 0x210 // MPropertyStartGroup "Rendering filter" // MPropertyFriendlyName "I cannot be refracted through refracting objects like water" // MPropertySortPriority "-1" - bool m_bCannotBeRefracted; // 0x22c + bool m_bCannotBeRefracted; // 0x254 // MPropertyFriendlyName "Skip rendering on mobile" // MPropertySortPriority "-1" - bool m_bSkipRenderingOnMobile; // 0x22d + bool m_bSkipRenderingOnMobile; // 0x255 }; // Alignment: 8 -// Size: 0x480 +// Size: 0x4b0 class C_OP_SetPerChildControlPoint : public CParticleFunctionOperator { public: // MPropertyFriendlyName "group ID to affect" - int32_t m_nChildGroupID; // 0x1f0 + int32_t m_nChildGroupID; // 0x210 // MPropertyFriendlyName "control point to set" - int32_t m_nFirstControlPoint; // 0x1f4 + int32_t m_nFirstControlPoint; // 0x214 // MPropertyFriendlyName "# of children to set" - int32_t m_nNumControlPoints; // 0x1f8 + int32_t m_nNumControlPoints; // 0x218 private: - [[maybe_unused]] uint8_t __pad01fc[0x4]; // 0x1fc + [[maybe_unused]] uint8_t __pad021c[0x4]; // 0x21c public: // MPropertyFriendlyName "particle increment amount" - CParticleCollectionFloatInput m_nParticleIncrement; // 0x200 + CParticleCollectionFloatInput m_nParticleIncrement; // 0x220 // MPropertyFriendlyName "first particle to copy" - CParticleCollectionFloatInput m_nFirstSourcePoint; // 0x338 + CParticleCollectionFloatInput m_nFirstSourcePoint; // 0x360 // MPropertyFriendlyName "set orientation from velocity" - bool m_bSetOrientation; // 0x470 + bool m_bSetOrientation; // 0x4a0 private: - [[maybe_unused]] uint8_t __pad0471[0x3]; // 0x471 + [[maybe_unused]] uint8_t __pad04a1[0x3]; // 0x4a1 public: // MPropertyFriendlyName "orientation vector" // MPropertyAttributeChoiceName "particlefield_vector" - ParticleAttributeIndex_t m_nOrientationField; // 0x474 + ParticleAttributeIndex_t m_nOrientationField; // 0x4a4 // MPropertyFriendlyName "set number of children based on particle count" - bool m_bNumBasedOnParticleCount; // 0x478 + bool m_bNumBasedOnParticleCount; // 0x4a8 }; // Alignment: 8 @@ -16335,69 +16563,55 @@ public: float m_flEndCPGrowthTime; // 0x4c }; -// Alignment: 22 -// Size: 0x5c8 -class CParticleVecInput +// Alignment: 0 +// Size: 0x140 +class CParticleCollectionRendererFloatInput : public CParticleCollectionFloatInput { public: - ParticleVecType_t m_nType; // 0x0 - Vector m_vLiteralValue; // 0x4 - Color m_LiteralColor; // 0x10 -private: - [[maybe_unused]] uint8_t __pad0014[0x4]; // 0x14 + // No members available +}; + +// Alignment: 1 +// Size: 0x2 +struct PulseRuntimeStateOffset_t +{ public: - CKV3MemberNameWithStorage m_NamedValue; // 0x18 - bool m_bFollowNamedValue; // 0x50 -private: - [[maybe_unused]] uint8_t __pad0051[0x3]; // 0x51 -public: - ParticleAttributeIndex_t m_nVectorAttribute; // 0x54 - Vector m_vVectorAttributeScale; // 0x58 - int32_t m_nControlPoint; // 0x64 - Vector m_vCPValueScale; // 0x68 - Vector m_vCPRelativePosition; // 0x74 - Vector m_vCPRelativeDir; // 0x80 -private: - [[maybe_unused]] uint8_t __pad008c[0x4]; // 0x8c -public: - CParticleFloatInput m_FloatComponentX; // 0x90 - CParticleFloatInput m_FloatComponentY; // 0x1c8 - CParticleFloatInput m_FloatComponentZ; // 0x300 - CParticleFloatInput m_FloatInterp; // 0x438 - float m_flInterpInput0; // 0x570 - float m_flInterpInput1; // 0x574 - Vector m_vInterpOutput0; // 0x578 - Vector m_vInterpOutput1; // 0x584 - CColorGradient m_Gradient; // 0x590 - Vector m_vRandomMin; // 0x5a8 - Vector m_vRandomMax; // 0x5b4 + uint16_t m_Value; // 0x0 }; // Alignment: 5 -// Size: 0x280 +// Size: 0x2b0 class C_INIT_ModelCull : public CParticleFunctionInitializer { public: // MPropertyFriendlyName "control point number" - int32_t m_nControlPointNumber; // 0x1f0 + int32_t m_nControlPointNumber; // 0x220 // MPropertyFriendlyName "use only bounding box" - bool m_bBoundBox; // 0x1f4 + bool m_bBoundBox; // 0x224 // MPropertyFriendlyName "cull outside instead of inside" - bool m_bCullOutside; // 0x1f5 + bool m_bCullOutside; // 0x225 // MPropertyFriendlyName "use bones instead of hitboxes" - bool m_bUseBones; // 0x1f6 + bool m_bUseBones; // 0x226 // MPropertyFriendlyName "hitbox set" - char m_HitboxSetName[128]; // 0x1f7 + char m_HitboxSetName[128]; // 0x227 }; // Alignment: 0 -// Size: 0x1f0 +// Size: 0x210 class CParticleFunctionForce : public CParticleFunction { public: // No members available }; +// Alignment: 0 +// Size: 0x48 +class CPulseCell_BaseFlow : public CPulseCell_Base +{ +public: + // No members available +}; + // Alignment: 3 // Size: 0x14 struct PointDefinition_t @@ -16415,41 +16629,42 @@ public: }; // Alignment: 3 -// Size: 0x210 +// Size: 0x230 class CGeneralSpin : public CParticleFunctionOperator { public: // MPropertyFriendlyName "spin rate degrees" - int32_t m_nSpinRateDegrees; // 0x1f0 + int32_t m_nSpinRateDegrees; // 0x210 // MPropertyFriendlyName "spin rate min" - int32_t m_nSpinRateMinDegrees; // 0x1f4 + int32_t m_nSpinRateMinDegrees; // 0x214 private: - [[maybe_unused]] uint8_t __pad01f8[0x4]; // 0x1f8 + [[maybe_unused]] uint8_t __pad0218[0x4]; // 0x218 public: // MPropertyFriendlyName "spin stop time" - float m_fSpinRateStopTime; // 0x1fc + float m_fSpinRateStopTime; // 0x21c }; -// Alignment: 0 -// Size: 0x5c8 -class CParticleCollectionVecInput : public CParticleVecInput +// Alignment: 1 +// Size: 0x220 +class CParticleFunctionPreEmission : public CParticleFunctionOperator { public: - // No members available + // MPropertyFriendlyName "Run Only Once" + bool m_bRunOnce; // 0x210 }; // Alignment: 3 -// Size: 0x210 +// Size: 0x230 class C_OP_ParentVortices : public CParticleFunctionForce { public: // MPropertyFriendlyName "amount of force" - float m_flForceScale; // 0x1f0 + float m_flForceScale; // 0x210 // MPropertyFriendlyName "twist axis" // MVectorIsCoordinate - Vector m_vecTwistAxis; // 0x1f4 + Vector m_vecTwistAxis; // 0x214 // MPropertyFriendlyName "flip twist axis with yaw" - bool m_bFlipBasedOnYaw; // 0x200 + bool m_bFlipBasedOnYaw; // 0x220 }; // Alignment: 6 @@ -16466,65 +16681,94 @@ public: }; // Alignment: 3 -// Size: 0x210 +// Size: 0x230 class C_OP_SetToCP : public CParticleFunctionOperator { public: // MPropertyFriendlyName "control point number" - int32_t m_nControlPointNumber; // 0x1f0 + int32_t m_nControlPointNumber; // 0x210 // MPropertyFriendlyName "offset" - Vector m_vecOffset; // 0x1f4 + Vector m_vecOffset; // 0x214 // MPropertyFriendlyName "offset in local space" - bool m_bOffsetLocal; // 0x200 + bool m_bOffsetLocal; // 0x220 }; -// Alignment: 1 -// Size: 0x200 -class CParticleFunctionPreEmission : public CParticleFunctionOperator +// Alignment: 7 +// Size: 0x240 +class C_OP_RemapModelVolumetoCP : public CParticleFunctionPreEmission { public: - // MPropertyFriendlyName "Run Only Once" - bool m_bRunOnce; // 0x1f0 + // MPropertyFriendlyName "input control point" + int32_t m_nInControlPointNumber; // 0x220 + // MPropertyFriendlyName "output control point" + int32_t m_nOutControlPointNumber; // 0x224 + // MPropertyFriendlyName "output CP component" + // MPropertyAttributeChoiceName "vector_component" + int32_t m_nField; // 0x228 + // MPropertyFriendlyName "input volume minimum in cubic units" + float m_flInputMin; // 0x22c + // MPropertyFriendlyName "input volume maximum in cubic units" + float m_flInputMax; // 0x230 + // MPropertyFriendlyName "output minimum" + float m_flOutputMin; // 0x234 + // MPropertyFriendlyName "output maximum" + float m_flOutputMax; // 0x238 }; // Alignment: 2 -// Size: 0x330 +// Size: 0x370 class C_INIT_QuantizeFloat : public CParticleFunctionInitializer { public: // MPropertyFriendlyName "interval to snap to" - CPerParticleFloatInput m_InputValue; // 0x1f0 + CPerParticleFloatInput m_InputValue; // 0x220 // MPropertyFriendlyName "output field" // MPropertyAttributeChoiceName "particlefield_scalar" - ParticleAttributeIndex_t m_nOutputField; // 0x328 + ParticleAttributeIndex_t m_nOutputField; // 0x360 }; // Alignment: 7 -// Size: 0x6e0 +// Size: 0x720 class C_OP_RemapParticleCountToScalar : public CParticleFunctionOperator { public: // MPropertyFriendlyName "output field" // MPropertyAttributeChoiceName "particlefield_scalar" - ParticleAttributeIndex_t m_nFieldOutput; // 0x1f0 + ParticleAttributeIndex_t m_nFieldOutput; // 0x210 private: - [[maybe_unused]] uint8_t __pad01f4[0x4]; // 0x1f4 + [[maybe_unused]] uint8_t __pad0214[0x4]; // 0x214 public: // MPropertyFriendlyName "input minimum" - CParticleCollectionFloatInput m_nInputMin; // 0x1f8 + CParticleCollectionFloatInput m_nInputMin; // 0x218 // MPropertyFriendlyName "input maximum" - CParticleCollectionFloatInput m_nInputMax; // 0x330 + CParticleCollectionFloatInput m_nInputMax; // 0x358 // MPropertyFriendlyName "output minimum" - CParticleCollectionFloatInput m_flOutputMin; // 0x468 + CParticleCollectionFloatInput m_flOutputMin; // 0x498 // MPropertyFriendlyName "output maximum" - CParticleCollectionFloatInput m_flOutputMax; // 0x5a0 + CParticleCollectionFloatInput m_flOutputMax; // 0x5d8 // MPropertyFriendlyName - bool m_bActiveRange; // 0x6d8 + bool m_bActiveRange; // 0x718 private: - [[maybe_unused]] uint8_t __pad06d9[0x3]; // 0x6d9 + [[maybe_unused]] uint8_t __pad0719[0x3]; // 0x719 public: // MPropertyFriendlyName "set value method" - ParticleSetMethod_t m_nSetMethod; // 0x6dc + ParticleSetMethod_t m_nSetMethod; // 0x71c +}; + +// Alignment: 1 +// Size: 0x4 +struct PulseRuntimeChunkIndex_t +{ +public: + int32_t m_Value; // 0x0 +}; + +// Alignment: 0 +// Size: 0x48 +class CPulseCell_Step_DebugLog : public CPulseCell_BaseFlow +{ +public: + // No members available }; // Alignment: 0 @@ -16538,126 +16782,145 @@ public: }; // Alignment: 7 -// Size: 0x220 +// Size: 0x240 class C_OP_VectorNoise : public CParticleFunctionOperator { public: // MPropertyFriendlyName "output field" // MPropertyAttributeChoiceName "particlefield_vector" - ParticleAttributeIndex_t m_nFieldOutput; // 0x1f0 + ParticleAttributeIndex_t m_nFieldOutput; // 0x210 // MPropertyFriendlyName "output minimum" // MVectorIsSometimesCoordinate - Vector m_vecOutputMin; // 0x1f4 + Vector m_vecOutputMin; // 0x214 // MPropertyFriendlyName "output maximum" // MVectorIsSometimesCoordinate - Vector m_vecOutputMax; // 0x200 + Vector m_vecOutputMax; // 0x220 // MPropertyFriendlyName "noise coordinate scale" - float m_fl4NoiseScale; // 0x20c + float m_fl4NoiseScale; // 0x22c // MPropertyFriendlyName "additive" - bool m_bAdditive; // 0x210 + bool m_bAdditive; // 0x230 // MPropertyFriendlyName "offset instead of accelerate position" - bool m_bOffset; // 0x211 + bool m_bOffset; // 0x231 private: - [[maybe_unused]] uint8_t __pad0212[0x2]; // 0x212 + [[maybe_unused]] uint8_t __pad0232[0x2]; // 0x232 public: // MPropertyFriendlyName "Noise animation time scale" - float m_flNoiseAnimationTimeScale; // 0x214 + float m_flNoiseAnimationTimeScale; // 0x234 +}; + +// Alignment: 4 +// Size: 0x18 +class CPulse_OutflowConnection +{ +public: + CUtlSymbolLarge m_SourceOutflowName; // 0x0 + PulseRuntimeChunkIndex_t m_nDestChunk; // 0x8 + PulseCursorFlow_t m_nJumpType; // 0xc + int32_t m_nInstruction; // 0x10 }; // Alignment: 1 -// Size: 0x210 +// Size: 0x230 class C_OP_ForceControlPointStub : public CParticleFunctionPreEmission { public: // MPropertyFriendlyName "control point" - int32_t m_ControlPoint; // 0x200 + int32_t m_ControlPoint; // 0x220 }; // Alignment: 6 -// Size: 0x350 +// Size: 0x390 class C_INIT_PositionWarpScalar : public CParticleFunctionInitializer { public: // MPropertyFriendlyName "warp min" // MVectorIsCoordinate - Vector m_vecWarpMin; // 0x1f0 + Vector m_vecWarpMin; // 0x220 // MPropertyFriendlyName "warp max" // MVectorIsCoordinate - Vector m_vecWarpMax; // 0x1fc + Vector m_vecWarpMax; // 0x22c // MPropertyFriendlyName "warp amount" - CPerParticleFloatInput m_InputValue; // 0x208 + CPerParticleFloatInput m_InputValue; // 0x238 // MPropertyFriendlyName "previous position scale" - float m_flPrevPosScale; // 0x340 + float m_flPrevPosScale; // 0x378 // MPropertyFriendlyName "warp scale control point number" - int32_t m_nScaleControlPointNumber; // 0x344 + int32_t m_nScaleControlPointNumber; // 0x37c // MPropertyFriendlyName "control point number" - int32_t m_nControlPointNumber; // 0x348 + int32_t m_nControlPointNumber; // 0x380 }; // Alignment: 5 -// Size: 0x6e0 +// Size: 0x720 class C_OP_RopeSpringConstraint : public CParticleFunctionConstraint { public: // MPropertyFriendlyName "slack" - CParticleCollectionFloatInput m_flRestLength; // 0x1f0 + CParticleCollectionFloatInput m_flRestLength; // 0x210 // MPropertyFriendlyName "minimum segment length %" - CParticleCollectionFloatInput m_flMinDistance; // 0x328 + CParticleCollectionFloatInput m_flMinDistance; // 0x350 // MPropertyFriendlyName "maximum segment length %" - CParticleCollectionFloatInput m_flMaxDistance; // 0x460 + CParticleCollectionFloatInput m_flMaxDistance; // 0x490 // MPropertyFriendlyName "scale factor for spring correction" - float m_flAdjustmentScale; // 0x598 + float m_flAdjustmentScale; // 0x5d0 private: - [[maybe_unused]] uint8_t __pad059c[0x4]; // 0x59c + [[maybe_unused]] uint8_t __pad05d4[0x4]; // 0x5d4 public: // MPropertyFriendlyName "manual resting spacing" - CParticleCollectionFloatInput m_flInitialRestingLength; // 0x5a0 + CParticleCollectionFloatInput m_flInitialRestingLength; // 0x5d8 }; // Alignment: 2 -// Size: 0x210 +// Size: 0x230 class C_OP_SetControlPointOrientationToCPVelocity : public CParticleFunctionPreEmission { public: // MPropertyFriendlyName "control point input for velocity" - int32_t m_nCPInput; // 0x200 + int32_t m_nCPInput; // 0x220 // MPropertyFriendlyName "control point output for orientation" - int32_t m_nCPOutput; // 0x204 + int32_t m_nCPOutput; // 0x224 }; // Alignment: 7 -// Size: 0x240 +// Size: 0x270 class C_INIT_RemapNamedModelElementToScalar : public CParticleFunctionInitializer { public: - CStrongHandle< InfoForResourceTypeCModel > m_hModel; // 0x1f0 + CStrongHandle< InfoForResourceTypeCModel > m_hModel; // 0x220 // MPropertyFriendlyName "names" - CUtlVector< CUtlString > m_names; // 0x1f8 + CUtlVector< CUtlString > m_names; // 0x228 // MPropertyFriendlyName "remap values for names" - CUtlVector< float32 > m_values; // 0x210 + CUtlVector< float32 > m_values; // 0x240 // MPropertyFriendlyName "input field" // MPropertyAttributeChoiceName "particlefield_scalar" - ParticleAttributeIndex_t m_nFieldInput; // 0x228 + ParticleAttributeIndex_t m_nFieldInput; // 0x258 // MPropertyFriendlyName "output field" // MPropertyAttributeChoiceName "particlefield_scalar" - ParticleAttributeIndex_t m_nFieldOutput; // 0x22c + ParticleAttributeIndex_t m_nFieldOutput; // 0x25c // MPropertyFriendlyName "set value method" - ParticleSetMethod_t m_nSetMethod; // 0x230 + ParticleSetMethod_t m_nSetMethod; // 0x260 // MPropertyFriendlyName "model from renderer" - bool m_bModelFromRenderer; // 0x234 + bool m_bModelFromRenderer; // 0x264 }; // Alignment: 1 -// Size: 0x1f0 +// Size: 0x220 class CParticleFunctionEmitter : public CParticleFunction { - // Collision detected(0x1e8->0x1f0), output may be wrong. public: - // Skipped field "m_nEmitterIndex" @ 0x1e8 because of the struct collision + // MPropertyFriendlyName "Emitter Index" + int32_t m_nEmitterIndex; // 0x210 +}; + +// Alignment: 1 +// Size: 0x4 +struct PulseRuntimeLandingPadIndex_t +{ +public: + int32_t m_Value; // 0x0 }; // Alignment: 0 -// Size: 0x5c8 +// Size: 0x5e8 class CPerParticleVecInput : public CParticleVecInput { public: @@ -16665,29 +16928,29 @@ public: }; // Alignment: 7 -// Size: 0x210 +// Size: 0x230 class C_OP_RemapSpeed : public CParticleFunctionOperator { public: // MPropertyFriendlyName "output field" // MPropertyAttributeChoiceName "particlefield_scalar" - ParticleAttributeIndex_t m_nFieldOutput; // 0x1f0 + ParticleAttributeIndex_t m_nFieldOutput; // 0x210 // MPropertyFriendlyName "input minimum" - float m_flInputMin; // 0x1f4 + float m_flInputMin; // 0x214 // MPropertyFriendlyName "input maximum" - float m_flInputMax; // 0x1f8 + float m_flInputMax; // 0x218 // MPropertyFriendlyName "output minimum" - float m_flOutputMin; // 0x1fc + float m_flOutputMin; // 0x21c // MPropertyFriendlyName "output maximum" - float m_flOutputMax; // 0x200 + float m_flOutputMax; // 0x220 // MPropertyFriendlyName "set value method" - ParticleSetMethod_t m_nSetMethod; // 0x204 + ParticleSetMethod_t m_nSetMethod; // 0x224 // MPropertyFriendlyName "ignore delta time" - bool m_bIgnoreDelta; // 0x208 + bool m_bIgnoreDelta; // 0x228 }; // Alignment: 0 -// Size: 0x1f0 +// Size: 0x210 class C_OP_WorldCollideConstraint : public CParticleFunctionConstraint { public: @@ -16708,21 +16971,30 @@ public: float m_flScale; // 0xc }; +// Alignment: 2 +// Size: 0x20 +struct PulseRegisterMap_t +{ +public: + KeyValues3 m_Inparams; // 0x0 + KeyValues3 m_Outparams; // 0x10 +}; + // Alignment: 4 -// Size: 0x200 +// Size: 0x230 class C_INIT_SetRigidAttachment : public CParticleFunctionInitializer { public: // MPropertyFriendlyName "control point number" - int32_t m_nControlPointNumber; // 0x1f0 + int32_t m_nControlPointNumber; // 0x220 // MPropertyFriendlyName "attribute to read from" // MPropertyAttributeChoiceName "particlefield_vector" - ParticleAttributeIndex_t m_nFieldInput; // 0x1f4 + ParticleAttributeIndex_t m_nFieldInput; // 0x224 // MPropertyFriendlyName "attribute to cache to" // MPropertyAttributeChoiceName "particlefield_vector" - ParticleAttributeIndex_t m_nFieldOutput; // 0x1f8 + ParticleAttributeIndex_t m_nFieldOutput; // 0x228 // MPropertyFriendlyName "local space" - bool m_bLocalSpace; // 0x1fc + bool m_bLocalSpace; // 0x22c }; // Alignment: 15 @@ -16751,51 +17023,51 @@ public: }; // Alignment: 6 -// Size: 0x220 +// Size: 0x240 class C_OP_RemapDensityToVector : public CParticleFunctionOperator { public: // MPropertyFriendlyName "Radius scale for particle influence" - float m_flRadiusScale; // 0x1f0 + float m_flRadiusScale; // 0x210 // MPropertyFriendlyName "Output field" // MPropertyAttributeChoiceName "particlefield_vector" - ParticleAttributeIndex_t m_nFieldOutput; // 0x1f4 + ParticleAttributeIndex_t m_nFieldOutput; // 0x214 // MPropertyFriendlyName "Density value to map to min value" - float m_flDensityMin; // 0x1f8 + float m_flDensityMin; // 0x218 // MPropertyFriendlyName "Density value to map to max value" - float m_flDensityMax; // 0x1fc + float m_flDensityMax; // 0x21c // MPropertyFriendlyName "Output minimum" - Vector m_vecOutputMin; // 0x200 + Vector m_vecOutputMin; // 0x220 // MPropertyFriendlyName "Output maximum" - Vector m_vecOutputMax; // 0x20c + Vector m_vecOutputMax; // 0x22c }; // Alignment: 7 -// Size: 0x230 +// Size: 0x250 class C_OP_ForceBasedOnDistanceToPlane : public CParticleFunctionForce { public: // MPropertyFriendlyName "min distance from plane" - float m_flMinDist; // 0x1f0 + float m_flMinDist; // 0x210 // MPropertyFriendlyName "force at min distance" // MVectorIsCoordinate - Vector m_vecForceAtMinDist; // 0x1f4 + Vector m_vecForceAtMinDist; // 0x214 // MPropertyFriendlyName "max distance from plane" - float m_flMaxDist; // 0x200 + float m_flMaxDist; // 0x220 // MPropertyFriendlyName "force at max distance" // MVectorIsCoordinate - Vector m_vecForceAtMaxDist; // 0x204 + Vector m_vecForceAtMaxDist; // 0x224 // MPropertyFriendlyName "plane normal" // MVectorIsCoordinate - Vector m_vecPlaneNormal; // 0x210 + Vector m_vecPlaneNormal; // 0x230 // MPropertyFriendlyName "control point number" - int32_t m_nControlPointNumber; // 0x21c + int32_t m_nControlPointNumber; // 0x23c // MPropertyFriendlyName "exponent" - float m_flExponent; // 0x220 + float m_flExponent; // 0x240 }; // Alignment: 0 -// Size: 0x1f0 +// Size: 0x210 class C_OP_EndCapDecay : public CParticleFunctionOperator { public: @@ -16803,656 +17075,489 @@ public: }; // Alignment: 15 -// Size: 0x8c0 +// Size: 0x920 class C_INIT_DistanceToCPInit : public CParticleFunctionInitializer { public: // MPropertyFriendlyName "output field" // MPropertyAttributeChoiceName "particlefield_scalar" - ParticleAttributeIndex_t m_nFieldOutput; // 0x1f0 + ParticleAttributeIndex_t m_nFieldOutput; // 0x220 private: - [[maybe_unused]] uint8_t __pad01f4[0x4]; // 0x1f4 + [[maybe_unused]] uint8_t __pad0224[0x4]; // 0x224 public: // MPropertyFriendlyName "distance minimum" - CPerParticleFloatInput m_flInputMin; // 0x1f8 + CPerParticleFloatInput m_flInputMin; // 0x228 // MPropertyFriendlyName "distance maximum" - CPerParticleFloatInput m_flInputMax; // 0x330 + CPerParticleFloatInput m_flInputMax; // 0x368 // MPropertyFriendlyName "output minimum" - CPerParticleFloatInput m_flOutputMin; // 0x468 + CPerParticleFloatInput m_flOutputMin; // 0x4a8 // MPropertyFriendlyName "output maximum" - CPerParticleFloatInput m_flOutputMax; // 0x5a0 + CPerParticleFloatInput m_flOutputMax; // 0x5e8 // MPropertyFriendlyName "control point" - int32_t m_nStartCP; // 0x6d8 + int32_t m_nStartCP; // 0x728 // MPropertyFriendlyName "ensure line of sight" - bool m_bLOS; // 0x6dc + bool m_bLOS; // 0x72c // MPropertyFriendlyName "LOS collision group" - char m_CollisionGroupName[128]; // 0x6dd + char m_CollisionGroupName[128]; // 0x72d private: - [[maybe_unused]] uint8_t __pad075d[0x3]; // 0x75d + [[maybe_unused]] uint8_t __pad07ad[0x3]; // 0x7ad public: // MPropertyFriendlyName "Trace Set" - ParticleTraceSet_t m_nTraceSet; // 0x760 + ParticleTraceSet_t m_nTraceSet; // 0x7b0 private: - [[maybe_unused]] uint8_t __pad0764[0x4]; // 0x764 + [[maybe_unused]] uint8_t __pad07b4[0x4]; // 0x7b4 public: // MPropertyFriendlyName "Maximum Trace Length" - CPerParticleFloatInput m_flMaxTraceLength; // 0x768 + CPerParticleFloatInput m_flMaxTraceLength; // 0x7b8 // MPropertyFriendlyName "LOS Failure Scalar" - float m_flLOSScale; // 0x8a0 + float m_flLOSScale; // 0x8f8 // MPropertyFriendlyName "set value method" - ParticleSetMethod_t m_nSetMethod; // 0x8a4 + ParticleSetMethod_t m_nSetMethod; // 0x8fc // MPropertyFriendlyName "only active within specified distance" - bool m_bActiveRange; // 0x8a8 + bool m_bActiveRange; // 0x900 private: - [[maybe_unused]] uint8_t __pad08a9[0x3]; // 0x8a9 + [[maybe_unused]] uint8_t __pad0901[0x3]; // 0x901 public: // MPropertyFriendlyName "distance component scale" - Vector m_vecDistanceScale; // 0x8ac + Vector m_vecDistanceScale; // 0x904 // MPropertyFriendlyName "remap bias" - float m_flRemapBias; // 0x8b8 + float m_flRemapBias; // 0x910 }; // Alignment: 3 -// Size: 0x340 +// Size: 0x370 class C_OP_EnableChildrenFromParentParticleCount : public CParticleFunctionPreEmission { public: // MPropertyFriendlyName "group ID to affect" - int32_t m_nChildGroupID; // 0x200 + int32_t m_nChildGroupID; // 0x220 // MPropertyFriendlyName "first child to enable" - int32_t m_nFirstChild; // 0x204 + int32_t m_nFirstChild; // 0x224 // MPropertyFriendlyName "max # of children to enable (-1 for max particle count)" - CParticleCollectionFloatInput m_nNumChildrenToEnable; // 0x208 + CParticleCollectionFloatInput m_nNumChildrenToEnable; // 0x228 +}; + +// Alignment: 0 +// Size: 0x5e8 +class CParticleCollectionVecInput : public CParticleVecInput +{ +public: + // No members available }; // Alignment: 3 -// Size: 0x240 +// Size: 0x270 class C_OP_RenderFlattenGrass : public CParticleFunctionRenderer { public: // MPropertyFriendlyName "flattening strength" - float m_flFlattenStrength; // 0x230 + float m_flFlattenStrength; // 0x260 // MPropertyFriendlyName "strength field override" // MPropertyAttributeChoiceName "particlefield_scalar" - ParticleAttributeIndex_t m_nStrengthFieldOverride; // 0x234 + ParticleAttributeIndex_t m_nStrengthFieldOverride; // 0x264 // MPropertyFriendlyName "radius scale" - float m_flRadiusScale; // 0x238 + float m_flRadiusScale; // 0x268 }; // Alignment: 6 -// Size: 0x210 +// Size: 0x230 class C_OP_MovementRigidAttachToCP : public CParticleFunctionOperator { public: // MPropertyFriendlyName "control point number" - int32_t m_nControlPointNumber; // 0x1f0 + int32_t m_nControlPointNumber; // 0x210 // MPropertyFriendlyName "scale control point number" - int32_t m_nScaleControlPoint; // 0x1f4 + int32_t m_nScaleControlPoint; // 0x214 // MPropertyFriendlyName "scale control point field" // MPropertyAttributeChoiceName "vector_component" - int32_t m_nScaleCPField; // 0x1f8 + int32_t m_nScaleCPField; // 0x218 // MPropertyFriendlyName "cache attribute to read from" // MPropertyAttributeChoiceName "particlefield_vector" - ParticleAttributeIndex_t m_nFieldInput; // 0x1fc + ParticleAttributeIndex_t m_nFieldInput; // 0x21c // MPropertyFriendlyName "attribute to write to" // MPropertyAttributeChoiceName "particlefield_vector" - ParticleAttributeIndex_t m_nFieldOutput; // 0x200 + ParticleAttributeIndex_t m_nFieldOutput; // 0x220 // MPropertyFriendlyName "local space" - bool m_bOffsetLocal; // 0x204 + bool m_bOffsetLocal; // 0x224 }; // Alignment: 9 -// Size: 0x220 +// Size: 0x250 class C_INIT_ChaoticAttractor : public CParticleFunctionInitializer { public: // MPropertyFriendlyName "pickover A parameter" - float m_flAParm; // 0x1f0 + float m_flAParm; // 0x220 // MPropertyFriendlyName "pickover B parameter" - float m_flBParm; // 0x1f4 + float m_flBParm; // 0x224 // MPropertyFriendlyName "pickover C parameter" - float m_flCParm; // 0x1f8 + float m_flCParm; // 0x228 // MPropertyFriendlyName "pickover D parameter" - float m_flDParm; // 0x1fc + float m_flDParm; // 0x22c // MPropertyFriendlyName "scale" - float m_flScale; // 0x200 + float m_flScale; // 0x230 // MPropertyFriendlyName "speed min" - float m_flSpeedMin; // 0x204 + float m_flSpeedMin; // 0x234 // MPropertyFriendlyName "speed max" - float m_flSpeedMax; // 0x208 + float m_flSpeedMax; // 0x238 // MPropertyFriendlyName "relative control point number" - int32_t m_nBaseCP; // 0x20c + int32_t m_nBaseCP; // 0x23c // MPropertyFriendlyName "uniform speed" - bool m_bUniformSpeed; // 0x210 + bool m_bUniformSpeed; // 0x240 }; // Alignment: 4 -// Size: 0x230 +// Size: 0x250 class C_OP_RampScalarLinearSimple : public CParticleFunctionOperator { public: // MPropertyFriendlyName "ramp rate" - float m_Rate; // 0x1f0 + float m_Rate; // 0x210 // MPropertyFriendlyName "start time" - float m_flStartTime; // 0x1f4 + float m_flStartTime; // 0x214 // MPropertyFriendlyName "end time" - float m_flEndTime; // 0x1f8 + float m_flEndTime; // 0x218 private: - [[maybe_unused]] uint8_t __pad01fc[0x24]; // 0x1fc + [[maybe_unused]] uint8_t __pad021c[0x24]; // 0x21c public: // MPropertyFriendlyName "ramp field" // MPropertyAttributeChoiceName "particlefield_scalar" - ParticleAttributeIndex_t m_nField; // 0x220 + ParticleAttributeIndex_t m_nField; // 0x240 }; // Alignment: 5 -// Size: 0x210 +// Size: 0x240 class C_INIT_InheritFromParentParticles : public CParticleFunctionInitializer { public: // MPropertyFriendlyName "scale" - float m_flScale; // 0x1f0 + float m_flScale; // 0x220 // MPropertyFriendlyName "inherited field" // MPropertyAttributeChoiceName "particlefield" - ParticleAttributeIndex_t m_nFieldOutput; // 0x1f4 + ParticleAttributeIndex_t m_nFieldOutput; // 0x224 // MPropertyFriendlyName "particle increment amount" - int32_t m_nIncrement; // 0x1f8 + int32_t m_nIncrement; // 0x228 // MPropertyFriendlyName "random parent particle distribution" - bool m_bRandomDistribution; // 0x1fc + bool m_bRandomDistribution; // 0x22c private: - [[maybe_unused]] uint8_t __pad01fd[0x3]; // 0x1fd + [[maybe_unused]] uint8_t __pad022d[0x3]; // 0x22d public: // MPropertyFriendlyName "random seed" - int32_t m_nRandomSeed; // 0x200 + int32_t m_nRandomSeed; // 0x230 }; // Alignment: 4 -// Size: 0x240 +// Size: 0x270 class C_INIT_RemapParticleCountToNamedModelElementScalar : public C_INIT_RemapParticleCountToScalar { public: - CStrongHandle< InfoForResourceTypeCModel > m_hModel; // 0x220 + CStrongHandle< InfoForResourceTypeCModel > m_hModel; // 0x250 // MPropertyFriendlyName "output min name" - CUtlString m_outputMinName; // 0x228 + CUtlString m_outputMinName; // 0x258 // MPropertyFriendlyName "output max name" - CUtlString m_outputMaxName; // 0x230 - bool m_bModelFromRenderer; // 0x238 + CUtlString m_outputMaxName; // 0x260 + bool m_bModelFromRenderer; // 0x268 }; // Alignment: 10 -// Size: 0x240 +// Size: 0x270 class C_INIT_RandomColor : public CParticleFunctionInitializer { private: - [[maybe_unused]] uint8_t __pad01f0[0x1c]; // 0x1f0 + [[maybe_unused]] uint8_t __pad0220[0x1c]; // 0x220 public: // MPropertyFriendlyName "color1" - Color m_ColorMin; // 0x20c + Color m_ColorMin; // 0x23c // MPropertyFriendlyName "color2" - Color m_ColorMax; // 0x210 + Color m_ColorMax; // 0x240 // MPropertyFriendlyName "tint clamp min" - Color m_TintMin; // 0x214 + Color m_TintMin; // 0x244 // MPropertyFriendlyName "tint clamp max" - Color m_TintMax; // 0x218 + Color m_TintMax; // 0x248 // MPropertyFriendlyName "tint perc" - float m_flTintPerc; // 0x21c + float m_flTintPerc; // 0x24c // MPropertyFriendlyName "tint update movement threshold" - float m_flUpdateThreshold; // 0x220 + float m_flUpdateThreshold; // 0x250 // MPropertyFriendlyName "tint control point" - int32_t m_nTintCP; // 0x224 + int32_t m_nTintCP; // 0x254 // MPropertyFriendlyName "output field" // MPropertyAttributeChoiceName "particlefield_vector" - ParticleAttributeIndex_t m_nFieldOutput; // 0x228 + ParticleAttributeIndex_t m_nFieldOutput; // 0x258 // MPropertyFriendlyName "tint blend mode" - ParticleColorBlendMode_t m_nTintBlendMode; // 0x22c + ParticleColorBlendMode_t m_nTintBlendMode; // 0x25c // MPropertyFriendlyName "light amplification amount" - float m_flLightAmplification; // 0x230 + float m_flLightAmplification; // 0x260 }; // Alignment: 4 -// Size: 0x360 +// Size: 0x380 class C_OP_LerpToOtherAttribute : public CParticleFunctionOperator { public: // MPropertyFriendlyName "Interpolation" - CPerParticleFloatInput m_flInterpolation; // 0x1f0 + CPerParticleFloatInput m_flInterpolation; // 0x210 // MPropertyFriendlyName "input attribute from" // MPropertyAttributeChoiceName "particlefield" - ParticleAttributeIndex_t m_nFieldInputFrom; // 0x328 + ParticleAttributeIndex_t m_nFieldInputFrom; // 0x350 // MPropertyFriendlyName "input attribute to" // MPropertyAttributeChoiceName "particlefield" - ParticleAttributeIndex_t m_nFieldInput; // 0x32c + ParticleAttributeIndex_t m_nFieldInput; // 0x354 // MPropertyFriendlyName "output attribute" // MPropertyAttributeChoiceName "particlefield" - ParticleAttributeIndex_t m_nFieldOutput; // 0x330 + ParticleAttributeIndex_t m_nFieldOutput; // 0x358 }; // Alignment: 5 -// Size: 0x220 +// Size: 0x250 class C_INIT_PointList : public CParticleFunctionInitializer { public: // MPropertyFriendlyName "output field" // MPropertyAttributeChoiceName "particlefield_vector" - ParticleAttributeIndex_t m_nFieldOutput; // 0x1f0 + ParticleAttributeIndex_t m_nFieldOutput; // 0x220 private: - [[maybe_unused]] uint8_t __pad01f4[0x4]; // 0x1f4 + [[maybe_unused]] uint8_t __pad0224[0x4]; // 0x224 public: // MPropertyFriendlyName "point list" - CUtlVector< PointDefinition_t > m_pointList; // 0x1f8 + CUtlVector< PointDefinition_t > m_pointList; // 0x228 // MPropertyFriendlyName "space points along path" - bool m_bPlaceAlongPath; // 0x210 + bool m_bPlaceAlongPath; // 0x240 // MPropertyFriendlyName "Treat path as a loop" - bool m_bClosedLoop; // 0x211 + bool m_bClosedLoop; // 0x241 private: - [[maybe_unused]] uint8_t __pad0212[0x2]; // 0x212 + [[maybe_unused]] uint8_t __pad0242[0x2]; // 0x242 public: // MPropertyFriendlyName "Numer of points along path" - int32_t m_nNumPointsAlongPath; // 0x214 + int32_t m_nNumPointsAlongPath; // 0x244 }; -// Alignment: 60 -// Size: 0x2050 -class CBaseRendererSource2 : public CParticleFunctionRenderer +// Alignment: 7 +// Size: 0xd60 +class C_OP_RenderLightBeam : public CParticleFunctionRenderer { public: - // MPropertyStartGroup "+Renderer Modifiers" - // MPropertyFriendlyName "radius scale" + // MPropertyFriendlyName "Color Blend" + CParticleCollectionVecInput m_vColorBlend; // 0x260 + // MPropertyFriendlyName "Color Blend Type" // MPropertySortPriority "700" - CParticleCollectionFloatInput m_flRadiusScale; // 0x230 - // MPropertyFriendlyName "alpha scale" - // MPropertySortPriority "700" - CParticleCollectionFloatInput m_flAlphaScale; // 0x368 - // MPropertyFriendlyName "rotation roll scale" - // MPropertySortPriority "700" - CParticleCollectionFloatInput m_flRollScale; // 0x4a0 - // MPropertyFriendlyName "per-particle alpha scale attribute" - // MPropertyAttributeChoiceName "particlefield_scalar" - // MPropertySortPriority "700" - ParticleAttributeIndex_t m_nAlpha2Field; // 0x5d8 + ParticleColorBlendType_t m_nColorBlendType; // 0x848 private: - [[maybe_unused]] uint8_t __pad05dc[0x4]; // 0x5dc + [[maybe_unused]] uint8_t __pad084c[0x4]; // 0x84c public: - // MPropertyFriendlyName "color blend" - // MPropertySortPriority "700" - CParticleCollectionVecInput m_vecColorScale; // 0x5e0 - // MPropertyFriendlyName "color blend type" - // MPropertySortPriority "700" - ParticleColorBlendType_t m_nColorBlendType; // 0xba8 - // MPropertyStartGroup "+Material" - // MPropertyFriendlyName "Shader" - // MPropertySortPriority "600" - SpriteCardShaderType_t m_nShaderType; // 0xbac - // MPropertyFriendlyName "Custom Shader" - // MPropertySuppressExpr "m_nShaderType != SPRITECARD_SHADER_CUSTOM" - // MPropertySortPriority "600" - CUtlString m_strShaderOverride; // 0xbb0 - // MPropertyFriendlyName "X offset of center point" - // MPropertySortPriority "600" - CParticleCollectionFloatInput m_flCenterXOffset; // 0xbb8 - // MPropertyFriendlyName "Y offset of center point" - // MPropertySortPriority "600" - CParticleCollectionFloatInput m_flCenterYOffset; // 0xcf0 - // MPropertyFriendlyName "Bump Strength" - // MPropertySortPriority "600" - float m_flBumpStrength; // 0xe28 - // MPropertyFriendlyName "Sheet Crop Behavior" - // MPropertySortPriority "600" - ParticleSequenceCropOverride_t m_nCropTextureOverride; // 0xe2c - // MPropertyFriendlyName "Textures" - // MParticleRequireDefaultArrayEntry - // MPropertyAutoExpandSelf - // MPropertySortPriority "600" - CUtlVector< TextureGroup_t > m_vecTexturesInput; // 0xe30 - // MPropertyStartGroup "Animation" - // MPropertyFriendlyName "animation rate" - // MPropertyAttributeRange "0 5" - // MPropertySortPriority "500" - float m_flAnimationRate; // 0xe48 - // MPropertyFriendlyName "animation type" - // MPropertySortPriority "500" - AnimationType_t m_nAnimationType; // 0xe4c - // MPropertyFriendlyName "set animation value in FPS" - // MPropertySortPriority "500" - bool m_bAnimateInFPS; // 0xe50 + // MPropertyFriendlyName "Lumens Per Meter" + CParticleCollectionFloatInput m_flBrightnessLumensPerMeter; // 0x850 + // MPropertyFriendlyName "Shadows" + // MPropertySuppressExpr "mod == csgo" + bool m_bCastShadows; // 0x990 private: - [[maybe_unused]] uint8_t __pad0e51[0x7]; // 0xe51 + [[maybe_unused]] uint8_t __pad0991[0x7]; // 0x991 public: - // MPropertyStartGroup "Lighting and Shadows" - // MPropertyFriendlyName "self illum amount" - // MPropertyAttributeRange "0 2" - // MPropertySortPriority "400" - CParticleCollectionFloatInput m_flSelfIllumAmount; // 0xe58 - // MPropertyFriendlyName "diffuse lighting amount" - // MPropertyAttributeRange "0 1" - // MPropertySortPriority "400" - CParticleCollectionFloatInput m_flDiffuseAmount; // 0xf90 - // MPropertyFriendlyName "diffuse lighting origin Control Point" - // MPropertySortPriority "400" - int32_t m_nLightingControlPoint; // 0x10c8 - // MPropertyFriendlyName "self illum per-particle" - // MPropertyAttributeChoiceName "particlefield_scalar" - // MPropertySortPriority "400" - ParticleAttributeIndex_t m_nSelfIllumPerParticle; // 0x10cc - // MPropertyStartGroup "+Color and alpha adjustments" - // MPropertyFriendlyName "output blend mode" - // MPropertySortPriority "300" - ParticleOutputBlendMode_t m_nOutputBlendMode; // 0x10d0 - // MPropertyFriendlyName "Gamma-correct vertex colors" - // MPropertySortPriority "300" - bool m_bGammaCorrectVertexColors; // 0x10d4 - // MPropertyFriendlyName "Saturate color pre alphablend" - // MPropertySortPriority "300" - // MPropertySuppressExpr "mod!=dota" - bool m_bSaturateColorPreAlphaBlend; // 0x10d5 -private: - [[maybe_unused]] uint8_t __pad10d6[0x2]; // 0x10d6 -public: - // MPropertyFriendlyName "add self amount over alphablend" - // MPropertySortPriority "300" - CParticleCollectionFloatInput m_flAddSelfAmount; // 0x10d8 - // MPropertyFriendlyName "desaturation amount" - // MPropertyAttributeRange "0 1" - // MPropertySortPriority "300" - CParticleCollectionFloatInput m_flDesaturation; // 0x1210 - // MPropertyFriendlyName "overbright factor" - // MPropertySortPriority "300" - CParticleCollectionFloatInput m_flOverbrightFactor; // 0x1348 - // MPropertyFriendlyName "HSV Shift Control Point" - // MPropertySortPriority "300" - int32_t m_nHSVShiftControlPoint; // 0x1480 - // MPropertyFriendlyName "Apply fog to particle" - // MPropertySortPriority "300" - ParticleFogType_t m_nFogType; // 0x1484 - // MPropertyFriendlyName "Apply fog of war to color" - // MPropertySortPriority "300" - // MPropertySuppressExpr "mod != dota" - bool m_bTintByFOW; // 0x1488 - // MPropertyFriendlyName "Apply global light to color" - // MPropertySortPriority "300" - // MPropertySuppressExpr "mod != dota" - bool m_bTintByGlobalLight; // 0x1489 -private: - [[maybe_unused]] uint8_t __pad148a[0x2]; // 0x148a -public: - // MPropertyStartGroup "Color and alpha adjustments/Alpha Reference" - // MPropertyFriendlyName "alpha reference" - // MPropertySortPriority "300" - SpriteCardPerParticleScale_t m_nPerParticleAlphaReference; // 0x148c - // MPropertyFriendlyName "alpha reference window size" - // MPropertySortPriority "300" - SpriteCardPerParticleScale_t m_nPerParticleAlphaRefWindow; // 0x1490 - // MPropertyFriendlyName "alpha reference type" - // MPropertySortPriority "300" - ParticleAlphaReferenceType_t m_nAlphaReferenceType; // 0x1494 - // MPropertyFriendlyName "alpha reference softness" - // MPropertyAttributeRange "0 1" - // MPropertySortPriority "300" - CParticleCollectionFloatInput m_flAlphaReferenceSoftness; // 0x1498 - // MPropertyFriendlyName "source alpha value to map to alpha of zero" - // MPropertyAttributeRange "0 1" - // MPropertySortPriority "300" - CParticleCollectionFloatInput m_flSourceAlphaValueToMapToZero; // 0x15d0 - // MPropertyFriendlyName "source alpha value to map to alpha of 1" - // MPropertyAttributeRange "0 1" - // MPropertySortPriority "300" - CParticleCollectionFloatInput m_flSourceAlphaValueToMapToOne; // 0x1708 - // MPropertyStartGroup "Refraction" - // MPropertyFriendlyName "refract background" - // MPropertySortPriority "200" - bool m_bRefract; // 0x1840 - // MPropertyFriendlyName "refract draws opaque - alpha scales refraction" - // MPropertySortPriority "200" - // MPropertySuppressExpr "!m_bRefract" - bool m_bRefractSolid; // 0x1841 -private: - [[maybe_unused]] uint8_t __pad1842[0x6]; // 0x1842 -public: - // MPropertyFriendlyName "refract amount" - // MPropertyAttributeRange "-2 2" - // MPropertySortPriority "200" - // MPropertySuppressExpr "!m_bRefract" - CParticleCollectionFloatInput m_flRefractAmount; // 0x1848 - // MPropertyFriendlyName "refract blur radius" - // MPropertySortPriority "200" - // MPropertySuppressExpr "!m_bRefract" - int32_t m_nRefractBlurRadius; // 0x1980 - // MPropertyFriendlyName "refract blur type" - // MPropertySortPriority "200" - // MPropertySuppressExpr "!m_bRefract" - BlurFilterType_t m_nRefractBlurType; // 0x1984 - // MPropertyStartGroup - // MPropertyFriendlyName "Only Render in effects bloom pass" - // MPropertySortPriority "1100" - bool m_bOnlyRenderInEffectsBloomPass; // 0x1988 - // MPropertyFriendlyName "Only Render in effects water pass" - // MPropertySortPriority "1050" - // MPropertySuppressExpr "mod != csgo" - bool m_bOnlyRenderInEffectsWaterPass; // 0x1989 - // MPropertyFriendlyName "Use Mixed Resolution Rendering" - // MPropertySortPriority "1200" - bool m_bUseMixedResolutionRendering; // 0x198a - // MPropertyFriendlyName "Only Render in effects game overlay pass" - // MPropertySortPriority "1210" - // MPropertySuppressExpr "mod != csgo" - bool m_bOnlyRenderInEffecsGameOverlay; // 0x198b - // MPropertyStartGroup "Stencil" - // MPropertyFriendlyName "stencil test ID" - // MPropertySortPriority "0" - char m_stencilTestID[128]; // 0x198c - // MPropertyFriendlyName "only write where stencil is NOT stencil test ID" - // MPropertySortPriority "0" - bool m_bStencilTestExclude; // 0x1a0c - // MPropertyFriendlyName "stencil write ID" - // MPropertySortPriority "0" - char m_stencilWriteID[128]; // 0x1a0d - // MPropertyFriendlyName "write stencil on z-buffer test success" - // MPropertySortPriority "0" - bool m_bWriteStencilOnDepthPass; // 0x1a8d - // MPropertyFriendlyName "write stencil on z-buffer test failure" - // MPropertySortPriority "0" - bool m_bWriteStencilOnDepthFail; // 0x1a8e - // MPropertyStartGroup "Depth buffer control and effects" - // MPropertyFriendlyName "reverse z-buffer test" - // MPropertySortPriority "900" - bool m_bReverseZBuffering; // 0x1a8f - // MPropertyFriendlyName "disable z-buffer test" - // MPropertySortPriority "900" - bool m_bDisableZBuffering; // 0x1a90 -private: - [[maybe_unused]] uint8_t __pad1a91[0x3]; // 0x1a91 -public: - // MPropertyFriendlyName "Depth feathering mode" - // MPropertySortPriority "900" - ParticleDepthFeatheringMode_t m_nFeatheringMode; // 0x1a94 - // MPropertyFriendlyName "particle feathering closest distance to surface" - // MPropertySortPriority "900" - CParticleCollectionFloatInput m_flFeatheringMinDist; // 0x1a98 - // MPropertyFriendlyName "particle feathering farthest distance to surface" - // MPropertySortPriority "900" - CParticleCollectionFloatInput m_flFeatheringMaxDist; // 0x1bd0 - // MPropertyFriendlyName "particle feathering filter" - // MPropertySortPriority "900" - CParticleCollectionFloatInput m_flFeatheringFilter; // 0x1d08 - // MPropertyFriendlyName "depth comparison bias" - // MPropertySortPriority "900" - float m_flDepthBias; // 0x1e40 - // MPropertyFriendlyName "Sort Method" - // MPropertySortPriority "900" - ParticleSortingChoiceList_t m_nSortMethod; // 0x1e44 - // MPropertyStartGroup "Animation" - // MPropertyFriendlyName "blend sequence animation frames" - // MPropertySortPriority "500" - bool m_bBlendFramesSeq0; // 0x1e48 - // MPropertyFriendlyName "use max-luminance blending for sequence" - // MPropertySortPriority "500" - // MPropertySuppressExpr "!m_bBlendFramesSeq0" - bool m_bMaxLuminanceBlendingSequence0; // 0x1e49 + // MPropertyFriendlyName "Skirt" + CParticleCollectionFloatInput m_flSkirt; // 0x998 + // MPropertyFriendlyName "Range" + CParticleCollectionFloatInput m_flRange; // 0xad8 + // MPropertyFriendlyName "Thickness" + CParticleCollectionFloatInput m_flThickness; // 0xc18 }; // Alignment: 8 -// Size: 0x3d0 +// Size: 0x3f0 class C_OP_MoveToHitbox : public CParticleFunctionOperator { public: // MPropertyFriendlyName "control point number" - int32_t m_nControlPointNumber; // 0x1f0 + int32_t m_nControlPointNumber; // 0x210 private: - [[maybe_unused]] uint8_t __pad01f4[0x4]; // 0x1f4 + [[maybe_unused]] uint8_t __pad0214[0x4]; // 0x214 public: // MPropertyFriendlyName "lifetime lerp start" - float m_flLifeTimeLerpStart; // 0x1f8 + float m_flLifeTimeLerpStart; // 0x218 // MPropertyFriendlyName "lifetime lerp end" - float m_flLifeTimeLerpEnd; // 0x1fc + float m_flLifeTimeLerpEnd; // 0x21c // MPropertyFriendlyName "previous position scale" - float m_flPrevPosScale; // 0x200 + float m_flPrevPosScale; // 0x220 // MPropertyFriendlyName "hitbox set" - char m_HitboxSetName[128]; // 0x204 + char m_HitboxSetName[128]; // 0x224 // MPropertyFriendlyName "use bones instead of hitboxes" - bool m_bUseBones; // 0x284 + bool m_bUseBones; // 0x2a4 private: - [[maybe_unused]] uint8_t __pad0285[0x3]; // 0x285 + [[maybe_unused]] uint8_t __pad02a5[0x3]; // 0x2a5 public: // MPropertyFriendlyName "lerp type" - HitboxLerpType_t m_nLerpType; // 0x288 + HitboxLerpType_t m_nLerpType; // 0x2a8 private: - [[maybe_unused]] uint8_t __pad028c[0x4]; // 0x28c + [[maybe_unused]] uint8_t __pad02ac[0x4]; // 0x2ac public: // MPropertyFriendlyName "Constant Interpolation" - CPerParticleFloatInput m_flInterpolation; // 0x290 + CPerParticleFloatInput m_flInterpolation; // 0x2b0 }; // Alignment: 1 -// Size: 0x7c0 +// Size: 0x810 class C_INIT_ScaleVelocity : public CParticleFunctionInitializer { public: // MPropertyFriendlyName "velocity scale" // MVectorIsCoordinate - CParticleCollectionVecInput m_vecScale; // 0x1f0 + CParticleCollectionVecInput m_vecScale; // 0x220 +}; + +// Alignment: 0 +// Size: 0x48 +class CPulseCell_Test_MultiInflow_NoDefault : public CPulseCell_BaseFlow +{ +public: + // No members available }; // Alignment: 7 -// Size: 0x250 +// Size: 0x270 class C_OP_RemapNamedModelElementEndCap : public CParticleFunctionOperator { public: - CStrongHandle< InfoForResourceTypeCModel > m_hModel; // 0x1f0 + CStrongHandle< InfoForResourceTypeCModel > m_hModel; // 0x210 // MPropertyFriendlyName "input names" - CUtlVector< CUtlString > m_inNames; // 0x1f8 + CUtlVector< CUtlString > m_inNames; // 0x218 // MPropertyFriendlyName "output names" - CUtlVector< CUtlString > m_outNames; // 0x210 + CUtlVector< CUtlString > m_outNames; // 0x230 // MPropertyFriendlyName "fallback names when the input doesn't match" - CUtlVector< CUtlString > m_fallbackNames; // 0x228 + CUtlVector< CUtlString > m_fallbackNames; // 0x248 // MPropertyFriendlyName "model from renderer" - bool m_bModelFromRenderer; // 0x240 + bool m_bModelFromRenderer; // 0x260 private: - [[maybe_unused]] uint8_t __pad0241[0x3]; // 0x241 + [[maybe_unused]] uint8_t __pad0261[0x3]; // 0x261 public: // MPropertyFriendlyName "input field" // MPropertyAttributeChoiceName "particlefield_scalar" - ParticleAttributeIndex_t m_nFieldInput; // 0x244 + ParticleAttributeIndex_t m_nFieldInput; // 0x264 // MPropertyFriendlyName "output field" // MPropertyAttributeChoiceName "particlefield_scalar" - ParticleAttributeIndex_t m_nFieldOutput; // 0x248 + ParticleAttributeIndex_t m_nFieldOutput; // 0x268 }; // Alignment: 2 -// Size: 0x330 +// Size: 0x360 class C_OP_CPVelocityForce : public CParticleFunctionForce { public: // MPropertyFriendlyName "control point" - int32_t m_nControlPointNumber; // 0x1f0 + int32_t m_nControlPointNumber; // 0x210 private: - [[maybe_unused]] uint8_t __pad01f4[0x4]; // 0x1f4 + [[maybe_unused]] uint8_t __pad0214[0x4]; // 0x214 public: // MPropertyFriendlyName "velocity scale" - CPerParticleFloatInput m_flScale; // 0x1f8 + CPerParticleFloatInput m_flScale; // 0x218 }; // Alignment: 7 -// Size: 0x210 +// Size: 0x240 class C_INIT_CreateSpiralSphere : public CParticleFunctionInitializer { public: // MPropertyFriendlyName "control point number" - int32_t m_nControlPointNumber; // 0x1f0 + int32_t m_nControlPointNumber; // 0x220 // MPropertyFriendlyName "override CP (X/Y/Z *= radius/density/speed)" - int32_t m_nOverrideCP; // 0x1f4 + int32_t m_nOverrideCP; // 0x224 // MPropertyFriendlyName "density" - int32_t m_nDensity; // 0x1f8 + int32_t m_nDensity; // 0x228 // MPropertyFriendlyName "initial radius" - float m_flInitialRadius; // 0x1fc + float m_flInitialRadius; // 0x22c // MPropertyFriendlyName "min initial speed" - float m_flInitialSpeedMin; // 0x200 + float m_flInitialSpeedMin; // 0x230 // MPropertyFriendlyName "max initial speed" - float m_flInitialSpeedMax; // 0x204 + float m_flInitialSpeedMax; // 0x234 // MPropertyFriendlyName "use particle count as density scale" - bool m_bUseParticleCount; // 0x208 + bool m_bUseParticleCount; // 0x238 +}; + +// Alignment: 9 +// Size: 0xf8 +class CPulseGraphDef +{ +private: + [[maybe_unused]] uint8_t __pad0000[0x8]; // 0x0 +public: + CUtlSymbolLarge m_DomainIdentifier; // 0x8 + CUtlSymbolLarge m_ParentMapName; // 0x10 + CUtlVector< CPulse_Chunk* > m_Chunks; // 0x18 + CUtlVector< CPulseCell_Base* > m_Cells; // 0x30 + CUtlVector< CPulse_Variable > m_Vars; // 0x48 + CUtlVector< CPulse_PublicOutput > m_PublicOutputs; // 0x60 + CUtlVector< CPulse_InvokeBinding* > m_InvokeBindings; // 0x78 + CUtlVector< CPulse_LandingPadInfo* > m_LandingPads; // 0x90 + CUtlVector< CPulse_OutputConnection* > m_OutputConnections; // 0xa8 +}; + +// Alignment: 2 +// Size: 0x78 +class CPulseCell_Outflow_IntSwitch : public CPulseCell_BaseFlow +{ +public: + CPulse_OutflowConnection m_DefaultCaseOutflow; // 0x48 + CUtlVector< CPulse_OutflowConnection > m_CaseOutflows; // 0x60 }; // Alignment: 6 -// Size: 0x210 +// Size: 0x230 class C_OP_LockPoints : public CParticleFunctionOperator { public: // MPropertyFriendlyName "min column/particle index to affect" - int32_t m_nMinCol; // 0x1f0 + int32_t m_nMinCol; // 0x210 // MPropertyFriendlyName "max column/particle index to affect" - int32_t m_nMaxCol; // 0x1f4 + int32_t m_nMaxCol; // 0x214 // MPropertyFriendlyName "min row/particle index to affect" - int32_t m_nMinRow; // 0x1f8 + int32_t m_nMinRow; // 0x218 // MPropertyFriendlyName "max row/particle index to affect" - int32_t m_nMaxRow; // 0x1fc + int32_t m_nMaxRow; // 0x21c // MPropertyFriendlyName "control point to lock to" - int32_t m_nControlPoint; // 0x200 + int32_t m_nControlPoint; // 0x220 // MPropertyFriendlyName "amount of current position to preserve" - float m_flBlendValue; // 0x204 + float m_flBlendValue; // 0x224 }; // Alignment: 4 -// Size: 0x340 +// Size: 0x370 class C_INIT_CreateFromCPs : public CParticleFunctionInitializer { public: // MPropertyFriendlyName "control point increment amount" - int32_t m_nIncrement; // 0x1f0 + int32_t m_nIncrement; // 0x220 // MPropertyFriendlyName "starting control point" - int32_t m_nMinCP; // 0x1f4 + int32_t m_nMinCP; // 0x224 // MPropertyFriendlyName "ending control point" // MParticleMinVersion - int32_t m_nMaxCP; // 0x1f8 + int32_t m_nMaxCP; // 0x228 private: - [[maybe_unused]] uint8_t __pad01fc[0x4]; // 0x1fc + [[maybe_unused]] uint8_t __pad022c[0x4]; // 0x22c public: // MPropertyFriendlyName "dynamic control point count" - CParticleCollectionFloatInput m_nDynamicCPCount; // 0x200 + CParticleCollectionFloatInput m_nDynamicCPCount; // 0x230 }; // Alignment: 7 -// Size: 0x480 +// Size: 0x4b0 class C_OP_PlanarConstraint : public CParticleFunctionConstraint { public: // MPropertyFriendlyName "plane point" // MVectorIsCoordinate - Vector m_PointOnPlane; // 0x1f0 + Vector m_PointOnPlane; // 0x210 // MPropertyFriendlyName "plane normal" - Vector m_PlaneNormal; // 0x1fc + Vector m_PlaneNormal; // 0x21c // MPropertyFriendlyName "control point number" - int32_t m_nControlPointNumber; // 0x208 + int32_t m_nControlPointNumber; // 0x228 // MPropertyFriendlyName "global origin" - bool m_bGlobalOrigin; // 0x20c + bool m_bGlobalOrigin; // 0x22c // MPropertyFriendlyName "global normal" - bool m_bGlobalNormal; // 0x20d + bool m_bGlobalNormal; // 0x22d private: - [[maybe_unused]] uint8_t __pad020e[0x2]; // 0x20e + [[maybe_unused]] uint8_t __pad022e[0x2]; // 0x22e public: // MPropertyFriendlyName "radius scale" - CPerParticleFloatInput m_flRadiusScale; // 0x210 + CPerParticleFloatInput m_flRadiusScale; // 0x230 // MPropertyFriendlyName "falloff distance from control point" - CParticleCollectionFloatInput m_flMaximumDistanceToCP; // 0x348 + CParticleCollectionFloatInput m_flMaximumDistanceToCP; // 0x370 }; // Alignment: 2 @@ -17467,149 +17572,149 @@ public: }; // Alignment: 5 -// Size: 0x5b0 +// Size: 0x5f0 class C_OP_SelectivelyEnableChildren : public CParticleFunctionPreEmission { public: // MPropertyFriendlyName "group ID to affect" - CParticleCollectionFloatInput m_nChildGroupID; // 0x200 + CParticleCollectionFloatInput m_nChildGroupID; // 0x220 // MPropertyFriendlyName "first child to enable" - CParticleCollectionFloatInput m_nFirstChild; // 0x338 + CParticleCollectionFloatInput m_nFirstChild; // 0x360 // MPropertyFriendlyName "# of children to enable" - CParticleCollectionFloatInput m_nNumChildrenToEnable; // 0x470 + CParticleCollectionFloatInput m_nNumChildrenToEnable; // 0x4a0 // MPropertyFriendlyName "play endcap when children are removed" - bool m_bPlayEndcapOnStop; // 0x5a8 + bool m_bPlayEndcapOnStop; // 0x5e0 // MPropertyFriendlyName "destroy particles immediately when child is removed" - bool m_bDestroyImmediately; // 0x5a9 + bool m_bDestroyImmediately; // 0x5e1 }; // Alignment: 4 -// Size: 0x210 +// Size: 0x240 class C_INIT_SequenceFromCP : public CParticleFunctionInitializer { public: // MPropertyFriendlyName "kill unused" - bool m_bKillUnused; // 0x1f0 + bool m_bKillUnused; // 0x220 // MPropertyFriendlyName "offset propotional to radius" - bool m_bRadiusScale; // 0x1f1 + bool m_bRadiusScale; // 0x221 private: - [[maybe_unused]] uint8_t __pad01f2[0x2]; // 0x1f2 + [[maybe_unused]] uint8_t __pad0222[0x2]; // 0x222 public: // MPropertyFriendlyName "control point" - int32_t m_nCP; // 0x1f4 + int32_t m_nCP; // 0x224 // MPropertyFriendlyName "per particle spatial offset" // MVectorIsCoordinate - Vector m_vecOffset; // 0x1f8 + Vector m_vecOffset; // 0x228 }; // Alignment: 15 -// Size: 0x230 +// Size: 0x260 class C_OP_NoiseEmitter : public CParticleFunctionEmitter { public: // MPropertyFriendlyName "emission duration" - float m_flEmissionDuration; // 0x1f0 + float m_flEmissionDuration; // 0x220 // MPropertyFriendlyName "emission start time" - float m_flStartTime; // 0x1f4 + float m_flStartTime; // 0x224 // MPropertyFriendlyName "scale emission to used control points" // MParticleMaxVersion - float m_flEmissionScale; // 0x1f8 + float m_flEmissionScale; // 0x228 // MPropertyFriendlyName "emission count scale control point" - int32_t m_nScaleControlPoint; // 0x1fc + int32_t m_nScaleControlPoint; // 0x22c // MPropertyFriendlyName "emission count scale control point field" // MPropertyAttributeChoiceName "vector_component" - int32_t m_nScaleControlPointField; // 0x200 + int32_t m_nScaleControlPointField; // 0x230 // MPropertyFriendlyName "world noise scale control point" - int32_t m_nWorldNoisePoint; // 0x204 + int32_t m_nWorldNoisePoint; // 0x234 // MPropertyFriendlyName "absolute value" - bool m_bAbsVal; // 0x208 + bool m_bAbsVal; // 0x238 // MPropertyFriendlyName "invert absolute value" - bool m_bAbsValInv; // 0x209 + bool m_bAbsValInv; // 0x239 private: - [[maybe_unused]] uint8_t __pad020a[0x2]; // 0x20a + [[maybe_unused]] uint8_t __pad023a[0x2]; // 0x23a public: // MPropertyFriendlyName "time coordinate offset" - float m_flOffset; // 0x20c + float m_flOffset; // 0x23c // MPropertyFriendlyName "emission minimum" - float m_flOutputMin; // 0x210 + float m_flOutputMin; // 0x240 // MPropertyFriendlyName "emission maximum" - float m_flOutputMax; // 0x214 + float m_flOutputMax; // 0x244 // MPropertyFriendlyName "time noise coordinate scale" - float m_flNoiseScale; // 0x218 + float m_flNoiseScale; // 0x248 // MPropertyFriendlyName "world spatial noise coordinate scale" - float m_flWorldNoiseScale; // 0x21c + float m_flWorldNoiseScale; // 0x24c // MPropertyFriendlyName "spatial coordinate offset" // MVectorIsCoordinate - Vector m_vecOffsetLoc; // 0x220 + Vector m_vecOffsetLoc; // 0x250 // MPropertyFriendlyName "world time noise coordinate scale" - float m_flWorldTimeScale; // 0x22c + float m_flWorldTimeScale; // 0x25c }; // Alignment: 8 -// Size: 0x210 +// Size: 0x240 class C_INIT_InitialSequenceFromModel : public CParticleFunctionInitializer { public: // MPropertyFriendlyName "control point number" - int32_t m_nControlPointNumber; // 0x1f0 + int32_t m_nControlPointNumber; // 0x220 // MPropertyFriendlyName "output field" // MPropertyAttributeChoiceName "particlefield_scalar" - ParticleAttributeIndex_t m_nFieldOutput; // 0x1f4 + ParticleAttributeIndex_t m_nFieldOutput; // 0x224 // MPropertyFriendlyName "current anim time output field" // MPropertyAttributeChoiceName "particlefield_scalar" - ParticleAttributeIndex_t m_nFieldOutputAnim; // 0x1f8 + ParticleAttributeIndex_t m_nFieldOutputAnim; // 0x228 // MPropertyFriendlyName "input minimum" - float m_flInputMin; // 0x1fc + float m_flInputMin; // 0x22c // MPropertyFriendlyName "input maximum" - float m_flInputMax; // 0x200 + float m_flInputMax; // 0x230 // MPropertyFriendlyName "output minimum" - float m_flOutputMin; // 0x204 + float m_flOutputMin; // 0x234 // MPropertyFriendlyName "output maximum" - float m_flOutputMax; // 0x208 + float m_flOutputMax; // 0x238 // MPropertyFriendlyName "set value method" - ParticleSetMethod_t m_nSetMethod; // 0x20c + ParticleSetMethod_t m_nSetMethod; // 0x23c }; // Alignment: 12 -// Size: 0x240 +// Size: 0x270 class C_INIT_RemapScalarToVector : public CParticleFunctionInitializer { public: // MPropertyFriendlyName "input field" // MPropertyAttributeChoiceName "particlefield_scalar" - ParticleAttributeIndex_t m_nFieldInput; // 0x1f0 + ParticleAttributeIndex_t m_nFieldInput; // 0x220 // MPropertyFriendlyName "output field" // MPropertyAttributeChoiceName "particlefield_vector" - ParticleAttributeIndex_t m_nFieldOutput; // 0x1f4 + ParticleAttributeIndex_t m_nFieldOutput; // 0x224 // MPropertyFriendlyName "input minimum" - float m_flInputMin; // 0x1f8 + float m_flInputMin; // 0x228 // MPropertyFriendlyName "input maximum" - float m_flInputMax; // 0x1fc + float m_flInputMax; // 0x22c // MPropertyFriendlyName "output minimum" // MVectorIsSometimesCoordinate - Vector m_vecOutputMin; // 0x200 + Vector m_vecOutputMin; // 0x230 // MPropertyFriendlyName "output maximum" // MVectorIsSometimesCoordinate - Vector m_vecOutputMax; // 0x20c + Vector m_vecOutputMax; // 0x23c // MPropertyFriendlyName "emitter lifetime start time (seconds)" - float m_flStartTime; // 0x218 + float m_flStartTime; // 0x248 // MPropertyFriendlyName "emitter lifetime end time (seconds)" - float m_flEndTime; // 0x21c + float m_flEndTime; // 0x24c // MPropertyFriendlyName "set value method" - ParticleSetMethod_t m_nSetMethod; // 0x220 + ParticleSetMethod_t m_nSetMethod; // 0x250 // MPropertyFriendlyName "control point number" - int32_t m_nControlPointNumber; // 0x224 + int32_t m_nControlPointNumber; // 0x254 // MPropertyFriendlyName "use local system" - bool m_bLocalCoords; // 0x228 + bool m_bLocalCoords; // 0x258 private: - [[maybe_unused]] uint8_t __pad0229[0x3]; // 0x229 + [[maybe_unused]] uint8_t __pad0259[0x3]; // 0x259 public: // MPropertyFriendlyName "remap bias" - float m_flRemapBias; // 0x22c + float m_flRemapBias; // 0x25c }; // Alignment: 0 -// Size: 0x240 +// Size: 0x270 class C_INIT_RemapNamedModelBodyPartToScalar : public C_INIT_RemapNamedModelElementToScalar { public: @@ -17617,375 +17722,391 @@ public: }; // Alignment: 1 -// Size: 0x200 +// Size: 0x220 class C_OP_RadiusDecay : public CParticleFunctionOperator { public: // MPropertyFriendlyName "minimum radius" - float m_flMinRadius; // 0x1f0 + float m_flMinRadius; // 0x210 }; // Alignment: 14 -// Size: 0x18a0 +// Size: 0x1950 class C_INIT_CreateWithinSphereTransform : public CParticleFunctionInitializer { public: // MPropertyFriendlyName "distance min" - CPerParticleFloatInput m_fRadiusMin; // 0x1f0 + CPerParticleFloatInput m_fRadiusMin; // 0x220 // MPropertyFriendlyName "distance max" - CPerParticleFloatInput m_fRadiusMax; // 0x328 + CPerParticleFloatInput m_fRadiusMax; // 0x360 // MPropertyFriendlyName "distance bias" // MVectorIsCoordinate - CPerParticleVecInput m_vecDistanceBias; // 0x460 + CPerParticleVecInput m_vecDistanceBias; // 0x4a0 // MPropertyFriendlyName "distance bias absolute value" // MVectorIsCoordinate - Vector m_vecDistanceBiasAbs; // 0xa28 + Vector m_vecDistanceBiasAbs; // 0xa88 private: - [[maybe_unused]] uint8_t __pad0a34[0x4]; // 0xa34 + [[maybe_unused]] uint8_t __pad0a94[0x4]; // 0xa94 public: // MPropertyFriendlyName "input position transform" - CParticleTransformInput m_TransformInput; // 0xa38 + CParticleTransformInput m_TransformInput; // 0xa98 // MPropertyFriendlyName "speed min" - CPerParticleFloatInput m_fSpeedMin; // 0xa88 + CPerParticleFloatInput m_fSpeedMin; // 0xae8 // MPropertyFriendlyName "speed max" - CPerParticleFloatInput m_fSpeedMax; // 0xbc0 + CPerParticleFloatInput m_fSpeedMax; // 0xc28 // MPropertyFriendlyName "speed random exponent" - float m_fSpeedRandExp; // 0xcf8 + float m_fSpeedRandExp; // 0xd68 // MPropertyFriendlyName "bias in local system" - bool m_bLocalCoords; // 0xcfc + bool m_bLocalCoords; // 0xd6c private: - [[maybe_unused]] uint8_t __pad0cfd[0x3]; // 0xcfd + [[maybe_unused]] uint8_t __pad0d6d[0x3]; // 0xd6d public: // MPropertyFriendlyName "randomly distribution growth time" - float m_flEndCPGrowthTime; // 0xd00 + float m_flEndCPGrowthTime; // 0xd70 private: - [[maybe_unused]] uint8_t __pad0d04[0x4]; // 0xd04 + [[maybe_unused]] uint8_t __pad0d74[0x4]; // 0xd74 public: // MPropertyFriendlyName "speed in local coordinate system min" // MVectorIsCoordinate - CPerParticleVecInput m_LocalCoordinateSystemSpeedMin; // 0xd08 + CPerParticleVecInput m_LocalCoordinateSystemSpeedMin; // 0xd78 // MPropertyFriendlyName "speed in local coordinate system max" // MVectorIsCoordinate - CPerParticleVecInput m_LocalCoordinateSystemSpeedMax; // 0x12d0 + CPerParticleVecInput m_LocalCoordinateSystemSpeedMax; // 0x1360 // MPropertyFriendlyName "Output vector" // MPropertyAttributeChoiceName "particlefield_vector" - ParticleAttributeIndex_t m_nFieldOutput; // 0x1898 + ParticleAttributeIndex_t m_nFieldOutput; // 0x1948 // MPropertyFriendlyName "Velocity vector" // MPropertyAttributeChoiceName "particlefield_vector" - ParticleAttributeIndex_t m_nFieldVelocity; // 0x189c + ParticleAttributeIndex_t m_nFieldVelocity; // 0x194c }; // Alignment: 7 -// Size: 0x210 +// Size: 0x230 class C_OP_SnapshotSkinToBones : public CParticleFunctionOperator { public: // MPropertyFriendlyName "rotate normals" - bool m_bTransformNormals; // 0x1f0 + bool m_bTransformNormals; // 0x210 // MPropertyFriendlyName "scale radii" - bool m_bTransformRadii; // 0x1f1 + bool m_bTransformRadii; // 0x211 private: - [[maybe_unused]] uint8_t __pad01f2[0x2]; // 0x1f2 + [[maybe_unused]] uint8_t __pad0212[0x2]; // 0x212 public: // MPropertyFriendlyName "control point number" - int32_t m_nControlPointNumber; // 0x1f4 + int32_t m_nControlPointNumber; // 0x214 // MPropertyFriendlyName "lifetime fade start" - float m_flLifeTimeFadeStart; // 0x1f8 + float m_flLifeTimeFadeStart; // 0x218 // MPropertyFriendlyName "lifetime fade end" - float m_flLifeTimeFadeEnd; // 0x1fc + float m_flLifeTimeFadeEnd; // 0x21c // MPropertyFriendlyName "instant jump threshold" - float m_flJumpThreshold; // 0x200 + float m_flJumpThreshold; // 0x220 // MPropertyFriendlyName "previous position scale" - float m_flPrevPosScale; // 0x204 + float m_flPrevPosScale; // 0x224 }; // Alignment: 9 -// Size: 0x2a0 +// Size: 0x2c0 class C_OP_SetCPOrientationToGroundNormal : public CParticleFunctionOperator { public: // MPropertyFriendlyName "interpolation rate" - float m_flInterpRate; // 0x1f0 + float m_flInterpRate; // 0x210 // MPropertyFriendlyName "max trace length" - float m_flMaxTraceLength; // 0x1f4 + float m_flMaxTraceLength; // 0x214 // MPropertyFriendlyName "CP movement tolerance" - float m_flTolerance; // 0x1f8 + float m_flTolerance; // 0x218 // MPropertyFriendlyName "trace offset" - float m_flTraceOffset; // 0x1fc + float m_flTraceOffset; // 0x21c // MPropertyFriendlyName "collision group" - char m_CollisionGroupName[128]; // 0x200 + char m_CollisionGroupName[128]; // 0x220 // MPropertyFriendlyName "Trace Set" - ParticleTraceSet_t m_nTraceSet; // 0x280 + ParticleTraceSet_t m_nTraceSet; // 0x2a0 // MPropertyFriendlyName "CP to trace from" - int32_t m_nInputCP; // 0x284 + int32_t m_nInputCP; // 0x2a4 // MPropertyFriendlyName "CP to set" - int32_t m_nOutputCP; // 0x288 + int32_t m_nOutputCP; // 0x2a8 private: - [[maybe_unused]] uint8_t __pad028c[0xc]; // 0x28c + [[maybe_unused]] uint8_t __pad02ac[0xc]; // 0x2ac public: // MPropertyFriendlyName "include water" - bool m_bIncludeWater; // 0x298 + bool m_bIncludeWater; // 0x2b8 }; // Alignment: 4 -// Size: 0x210 +// Size: 0x230 class C_OP_TimeVaryingForce : public CParticleFunctionForce { public: // MPropertyFriendlyName "time to start transition" - float m_flStartLerpTime; // 0x1f0 + float m_flStartLerpTime; // 0x210 // MPropertyFriendlyName "starting force" // MVectorIsCoordinate - Vector m_StartingForce; // 0x1f4 + Vector m_StartingForce; // 0x214 // MPropertyFriendlyName "time to end transition" - float m_flEndLerpTime; // 0x200 + float m_flEndLerpTime; // 0x220 // MPropertyFriendlyName "ending force" // MVectorIsCoordinate - Vector m_EndingForce; // 0x204 + Vector m_EndingForce; // 0x224 }; // Alignment: 16 -// Size: 0x8a8 +// Size: 0x8e0 struct TextureControls_t { public: // MPropertyFriendlyName "horizontal texture scale" - CParticleCollectionFloatInput m_flFinalTextureScaleU; // 0x0 + CParticleCollectionRendererFloatInput m_flFinalTextureScaleU; // 0x0 // MPropertyFriendlyName "vertical texture scale" - CParticleCollectionFloatInput m_flFinalTextureScaleV; // 0x138 + CParticleCollectionRendererFloatInput m_flFinalTextureScaleV; // 0x140 // MPropertyFriendlyName "horizontal texture offset" - CParticleCollectionFloatInput m_flFinalTextureOffsetU; // 0x270 + CParticleCollectionRendererFloatInput m_flFinalTextureOffsetU; // 0x280 // MPropertyFriendlyName "vertical texture offset" - CParticleCollectionFloatInput m_flFinalTextureOffsetV; // 0x3a8 + CParticleCollectionRendererFloatInput m_flFinalTextureOffsetV; // 0x3c0 // MPropertyFriendlyName "texture rotation / animation rate scale" - CParticleCollectionFloatInput m_flFinalTextureUVRotation; // 0x4e0 + CParticleCollectionRendererFloatInput m_flFinalTextureUVRotation; // 0x500 // MPropertyFriendlyName "Infinite Zoom Scale" - CParticleCollectionFloatInput m_flZoomScale; // 0x618 + CParticleCollectionRendererFloatInput m_flZoomScale; // 0x640 // MPropertyFriendlyName "Distortion Amount" - CParticleCollectionFloatInput m_flDistortion; // 0x750 + CParticleCollectionRendererFloatInput m_flDistortion; // 0x780 // MPropertyFriendlyName "Randomize Initial Offset" - bool m_bRandomizeOffsets; // 0x888 + bool m_bRandomizeOffsets; // 0x8c0 // MPropertyFriendlyName "Clamp UVs" - bool m_bClampUVs; // 0x889 + bool m_bClampUVs; // 0x8c1 private: - [[maybe_unused]] uint8_t __pad088a[0x2]; // 0x88a + [[maybe_unused]] uint8_t __pad08c2[0x2]; // 0x8c2 public: // MPropertyFriendlyName "per-particle scalar for blend" - SpriteCardPerParticleScale_t m_nPerParticleBlend; // 0x88c + SpriteCardPerParticleScale_t m_nPerParticleBlend; // 0x8c4 // MPropertyFriendlyName "per-particle scalar for scale" - SpriteCardPerParticleScale_t m_nPerParticleScale; // 0x890 + SpriteCardPerParticleScale_t m_nPerParticleScale; // 0x8c8 // MPropertyFriendlyName "per-particle scalar for horizontal offset" - SpriteCardPerParticleScale_t m_nPerParticleOffsetU; // 0x894 + SpriteCardPerParticleScale_t m_nPerParticleOffsetU; // 0x8cc // MPropertyFriendlyName "per-particle scalar for vertical offset" - SpriteCardPerParticleScale_t m_nPerParticleOffsetV; // 0x898 + SpriteCardPerParticleScale_t m_nPerParticleOffsetV; // 0x8d0 // MPropertyFriendlyName "per-particle scalar for rotation" - SpriteCardPerParticleScale_t m_nPerParticleRotation; // 0x89c + SpriteCardPerParticleScale_t m_nPerParticleRotation; // 0x8d4 // MPropertyFriendlyName "per-particle scalar for zoom" - SpriteCardPerParticleScale_t m_nPerParticleZoom; // 0x8a0 + SpriteCardPerParticleScale_t m_nPerParticleZoom; // 0x8d8 // MPropertyFriendlyName "per-particle scalar for distortion" - SpriteCardPerParticleScale_t m_nPerParticleDistortion; // 0x8a4 + SpriteCardPerParticleScale_t m_nPerParticleDistortion; // 0x8dc }; // Alignment: 3 -// Size: 0x210 +// Size: 0x230 class C_OP_SetControlPointFieldToWater : public CParticleFunctionPreEmission { public: // MPropertyFriendlyName "source CP" - int32_t m_nSourceCP; // 0x200 + int32_t m_nSourceCP; // 0x220 // MPropertyFriendlyName "dest CP" - int32_t m_nDestCP; // 0x204 + int32_t m_nDestCP; // 0x224 // MPropertyFriendlyName "dest control point component" // MPropertyAttributeChoiceName "vector_component" - int32_t m_nCPField; // 0x208 + int32_t m_nCPField; // 0x228 +}; + +// Alignment: 1 +// Size: 0x4 +struct PulseRuntimeCellIndex_t +{ +public: + int32_t m_Value; // 0x0 }; // Alignment: 5 -// Size: 0x210 +// Size: 0x230 class C_OP_LerpVector : public CParticleFunctionOperator { public: // MPropertyFriendlyName "output field" // MPropertyAttributeChoiceName "particlefield_vector" - ParticleAttributeIndex_t m_nFieldOutput; // 0x1f0 + ParticleAttributeIndex_t m_nFieldOutput; // 0x210 // MPropertyFriendlyName "value to lerp to" // MVectorIsSometimesCoordinate - Vector m_vecOutput; // 0x1f4 + Vector m_vecOutput; // 0x214 // MPropertyFriendlyName "start time" - float m_flStartTime; // 0x200 + float m_flStartTime; // 0x220 // MPropertyFriendlyName "end time" - float m_flEndTime; // 0x204 + float m_flEndTime; // 0x224 // MPropertyFriendlyName "set value method" - ParticleSetMethod_t m_nSetMethod; // 0x208 + ParticleSetMethod_t m_nSetMethod; // 0x228 }; // Alignment: 5 -// Size: 0x280 +// Size: 0x2b0 class C_INIT_InitialVelocityFromHitbox : public CParticleFunctionInitializer { public: // MPropertyFriendlyName "velocity minimum" - float m_flVelocityMin; // 0x1f0 + float m_flVelocityMin; // 0x220 // MPropertyFriendlyName "velocity maximum" - float m_flVelocityMax; // 0x1f4 + float m_flVelocityMax; // 0x224 // MPropertyFriendlyName "control point number" - int32_t m_nControlPointNumber; // 0x1f8 + int32_t m_nControlPointNumber; // 0x228 // MPropertyFriendlyName "hitbox set" - char m_HitboxSetName[128]; // 0x1fc + char m_HitboxSetName[128]; // 0x22c // MPropertyFriendlyName "use bones instead of hitboxes" - bool m_bUseBones; // 0x27c + bool m_bUseBones; // 0x2ac }; // Alignment: 1 -// Size: 0x200 +// Size: 0x230 class C_INIT_RadiusFromCPObject : public CParticleFunctionInitializer { public: // MPropertyFriendlyName "control point" - int32_t m_nControlPoint; // 0x1f0 + int32_t m_nControlPoint; // 0x220 }; // Alignment: 6 -// Size: 0x200 +// Size: 0x230 class C_INIT_GlobalScale : public CParticleFunctionInitializer { public: // MPropertyFriendlyName "scale amount" - float m_flScale; // 0x1f0 + float m_flScale; // 0x220 // MPropertyFriendlyName "scale control point number" - int32_t m_nScaleControlPointNumber; // 0x1f4 + int32_t m_nScaleControlPointNumber; // 0x224 // MPropertyFriendlyName "control point number" - int32_t m_nControlPointNumber; // 0x1f8 + int32_t m_nControlPointNumber; // 0x228 // MPropertyFriendlyName "scale radius" - bool m_bScaleRadius; // 0x1fc + bool m_bScaleRadius; // 0x22c // MPropertyFriendlyName "scale position" - bool m_bScalePosition; // 0x1fd + bool m_bScalePosition; // 0x22d // MPropertyFriendlyName "scale velocity" - bool m_bScaleVelocity; // 0x1fe + bool m_bScaleVelocity; // 0x22e }; // Alignment: 4 -// Size: 0x220 +// Size: 0x240 class C_OP_HSVShiftToCP : public CParticleFunctionPreEmission { public: // MPropertyFriendlyName "Target color control point number" - int32_t m_nColorCP; // 0x200 + int32_t m_nColorCP; // 0x220 // MPropertyFriendlyName "Color Gem Enable control point number" - int32_t m_nColorGemEnableCP; // 0x204 + int32_t m_nColorGemEnableCP; // 0x224 // MPropertyFriendlyName "output control point number" - int32_t m_nOutputCP; // 0x208 + int32_t m_nOutputCP; // 0x228 // MPropertyFriendlyName "Default HSV Color" - Color m_DefaultHSVColor; // 0x20c + Color m_DefaultHSVColor; // 0x22c }; // Alignment: 5 -// Size: 0x220 +// Size: 0x240 class C_OP_RemapBoundingVolumetoCP : public CParticleFunctionPreEmission { public: // MPropertyFriendlyName "output control point" - int32_t m_nOutControlPointNumber; // 0x200 + int32_t m_nOutControlPointNumber; // 0x220 // MPropertyFriendlyName "input volume minimum in cubic units" - float m_flInputMin; // 0x204 + float m_flInputMin; // 0x224 // MPropertyFriendlyName "input volume maximum in cubic units" - float m_flInputMax; // 0x208 + float m_flInputMax; // 0x228 // MPropertyFriendlyName "output minimum" - float m_flOutputMin; // 0x20c + float m_flOutputMin; // 0x22c // MPropertyFriendlyName "output maximum" - float m_flOutputMax; // 0x210 + float m_flOutputMax; // 0x230 }; // Alignment: 9 -// Size: 0x260 +// Size: 0x290 class C_OP_RenderScreenShake : public CParticleFunctionRenderer { public: // MPropertyFriendlyName "duration scale" - float m_flDurationScale; // 0x230 + float m_flDurationScale; // 0x260 // MPropertyFriendlyName "radius scale" - float m_flRadiusScale; // 0x234 + float m_flRadiusScale; // 0x264 // MPropertyFriendlyName "frequence scale" - float m_flFrequencyScale; // 0x238 + float m_flFrequencyScale; // 0x268 // MPropertyFriendlyName "amplitude scale" - float m_flAmplitudeScale; // 0x23c + float m_flAmplitudeScale; // 0x26c // MPropertyFriendlyName "radius field" // MPropertyAttributeChoiceName "particlefield_scalar" - ParticleAttributeIndex_t m_nRadiusField; // 0x240 + ParticleAttributeIndex_t m_nRadiusField; // 0x270 // MPropertyFriendlyName "duration field" // MPropertyAttributeChoiceName "particlefield_scalar" - ParticleAttributeIndex_t m_nDurationField; // 0x244 + ParticleAttributeIndex_t m_nDurationField; // 0x274 // MPropertyFriendlyName "frequency field" // MPropertyAttributeChoiceName "particlefield_scalar" - ParticleAttributeIndex_t m_nFrequencyField; // 0x248 + ParticleAttributeIndex_t m_nFrequencyField; // 0x278 // MPropertyFriendlyName "amplitude field" // MPropertyAttributeChoiceName "particlefield_scalar" - ParticleAttributeIndex_t m_nAmplitudeField; // 0x24c + ParticleAttributeIndex_t m_nAmplitudeField; // 0x27c // MPropertyFriendlyName "control point of shake recipient (-1 = global)" - int32_t m_nFilterCP; // 0x250 + int32_t m_nFilterCP; // 0x280 }; // Alignment: 4 -// Size: 0x200 +// Size: 0x220 class C_OP_FadeIn : public CParticleFunctionOperator { public: // MPropertyFriendlyName "fade in time min" - float m_flFadeInTimeMin; // 0x1f0 + float m_flFadeInTimeMin; // 0x210 // MPropertyFriendlyName "fade in time max" - float m_flFadeInTimeMax; // 0x1f4 + float m_flFadeInTimeMax; // 0x214 // MPropertyFriendlyName "fade in time exponent" - float m_flFadeInTimeExp; // 0x1f8 + float m_flFadeInTimeExp; // 0x218 // MPropertyFriendlyName "proportional 0/1" - bool m_bProportional; // 0x1fc + bool m_bProportional; // 0x21c }; // Alignment: 1 -// Size: 0x340 +// Size: 0x360 class C_OP_SetSimulationRate : public CParticleFunctionPreEmission { public: // MPropertyFriendlyName "simulation timescale" - CParticleCollectionFloatInput m_flSimulationScale; // 0x200 + CParticleCollectionFloatInput m_flSimulationScale; // 0x220 }; // Alignment: 3 -// Size: 0x200 +// Size: 0x230 class C_INIT_Orient2DRelToCP : public CParticleFunctionInitializer { public: // MPropertyFriendlyName "control point" - int32_t m_nCP; // 0x1f0 + int32_t m_nCP; // 0x220 // MPropertyFriendlyName "rotation field" // MPropertyAttributeChoiceName "particlefield_rotation" - ParticleAttributeIndex_t m_nFieldOutput; // 0x1f4 + ParticleAttributeIndex_t m_nFieldOutput; // 0x224 // MPropertyFriendlyName "rotation offset" - float m_flRotOffset; // 0x1f8 + float m_flRotOffset; // 0x228 }; // Alignment: 6 -// Size: 0x15c0 +// Size: 0x1650 class C_OP_CurlNoiseForce : public CParticleFunctionForce { public: // MPropertyFriendlyName "noise type" - ParticleDirectionNoiseType_t m_nNoiseType; // 0x1f0 + ParticleDirectionNoiseType_t m_nNoiseType; // 0x210 private: - [[maybe_unused]] uint8_t __pad01f4[0x4]; // 0x1f4 + [[maybe_unused]] uint8_t __pad0214[0x4]; // 0x214 public: // MPropertyFriendlyName "noise frequency" // MVectorIsCoordinate - CPerParticleVecInput m_vecNoiseFreq; // 0x1f8 + CPerParticleVecInput m_vecNoiseFreq; // 0x218 // MPropertyFriendlyName "noise amplitude" // MVectorIsCoordinate - CPerParticleVecInput m_vecNoiseScale; // 0x7c0 + CPerParticleVecInput m_vecNoiseScale; // 0x800 // MPropertyFriendlyName "offset rate" // MVectorIsCoordinate - CPerParticleVecInput m_vecOffsetRate; // 0xd88 + CPerParticleVecInput m_vecOffsetRate; // 0xde8 // MPropertyFriendlyName "worley seed" - CPerParticleFloatInput m_flWorleySeed; // 0x1350 + CPerParticleFloatInput m_flWorleySeed; // 0x13d0 // MPropertyFriendlyName "worley jitter" - CPerParticleFloatInput m_flWorleyJitter; // 0x1488 + CPerParticleFloatInput m_flWorleyJitter; // 0x1510 +}; + +// Alignment: 1 +// Size: 0x2 +struct PulseRuntimeRegisterIndex_t +{ +public: + int16_t m_Value; // 0x0 }; // Alignment: 0 @@ -17999,306 +18120,314 @@ public: }; // Alignment: 4 -// Size: 0x910 +// Size: 0x950 class C_OP_SetControlPointRotation : public CParticleFunctionPreEmission { public: // MPropertyFriendlyName "rotation axis" // MVectorIsCoordinate - CParticleCollectionVecInput m_vecRotAxis; // 0x200 + CParticleCollectionVecInput m_vecRotAxis; // 0x220 // MPropertyFriendlyName "rotation rate" - CParticleCollectionFloatInput m_flRotRate; // 0x7c8 + CParticleCollectionFloatInput m_flRotRate; // 0x808 // MPropertyFriendlyName "control point" - int32_t m_nCP; // 0x900 + int32_t m_nCP; // 0x948 // MPropertyFriendlyName "local space control point" - int32_t m_nLocalCP; // 0x904 + int32_t m_nLocalCP; // 0x94c }; // Alignment: 10 -// Size: 0x230 +// Size: 0x250 class C_OP_RemapCPtoCP : public CParticleFunctionPreEmission { public: // MPropertyFriendlyName "input control point number" - int32_t m_nInputControlPoint; // 0x200 + int32_t m_nInputControlPoint; // 0x220 // MPropertyFriendlyName "output control point number" - int32_t m_nOutputControlPoint; // 0x204 + int32_t m_nOutputControlPoint; // 0x224 // MPropertyFriendlyName "input field" // MPropertyAttributeChoiceName "vector_component" - int32_t m_nInputField; // 0x208 + int32_t m_nInputField; // 0x228 // MPropertyFriendlyName "output field" // MPropertyAttributeChoiceName "vector_component" - int32_t m_nOutputField; // 0x20c + int32_t m_nOutputField; // 0x22c // MPropertyFriendlyName "input minimum" - float m_flInputMin; // 0x210 + float m_flInputMin; // 0x230 // MPropertyFriendlyName "input maximum" - float m_flInputMax; // 0x214 + float m_flInputMax; // 0x234 // MPropertyFriendlyName "output minimum" - float m_flOutputMin; // 0x218 + float m_flOutputMin; // 0x238 // MPropertyFriendlyName "output maximum" - float m_flOutputMax; // 0x21c + float m_flOutputMax; // 0x23c // MPropertyFriendlyName "use the derivative" - bool m_bDerivative; // 0x220 + bool m_bDerivative; // 0x240 private: - [[maybe_unused]] uint8_t __pad0221[0x3]; // 0x221 + [[maybe_unused]] uint8_t __pad0241[0x3]; // 0x241 public: // MPropertyFriendlyName "interpolation" - float m_flInterpRate; // 0x224 + float m_flInterpRate; // 0x244 }; // Alignment: 11 -// Size: 0x220 +// Size: 0x240 class C_OP_RemapDotProductToScalar : public CParticleFunctionOperator { public: // MPropertyFriendlyName "first input control point" - int32_t m_nInputCP1; // 0x1f0 + int32_t m_nInputCP1; // 0x210 // MPropertyFriendlyName "second input control point" - int32_t m_nInputCP2; // 0x1f4 + int32_t m_nInputCP2; // 0x214 // MPropertyFriendlyName "output field" // MPropertyAttributeChoiceName "particlefield_scalar" - ParticleAttributeIndex_t m_nFieldOutput; // 0x1f8 + ParticleAttributeIndex_t m_nFieldOutput; // 0x218 // MPropertyFriendlyName "input minimum (-1 to 1)" - float m_flInputMin; // 0x1fc + float m_flInputMin; // 0x21c // MPropertyFriendlyName "input maximum (-1 to 1)" - float m_flInputMax; // 0x200 + float m_flInputMax; // 0x220 // MPropertyFriendlyName "output minimum" - float m_flOutputMin; // 0x204 + float m_flOutputMin; // 0x224 // MPropertyFriendlyName "output maximum" - float m_flOutputMax; // 0x208 + float m_flOutputMax; // 0x228 // MPropertyFriendlyName "use particle velocity for first input" - bool m_bUseParticleVelocity; // 0x20c + bool m_bUseParticleVelocity; // 0x22c private: - [[maybe_unused]] uint8_t __pad020d[0x3]; // 0x20d + [[maybe_unused]] uint8_t __pad022d[0x3]; // 0x22d public: // MPropertyFriendlyName "set value method" - ParticleSetMethod_t m_nSetMethod; // 0x210 + ParticleSetMethod_t m_nSetMethod; // 0x230 // MPropertyFriendlyName "only active within specified input range" - bool m_bActiveRange; // 0x214 + bool m_bActiveRange; // 0x234 // MPropertyFriendlyName "use particle normal for first input" - bool m_bUseParticleNormal; // 0x215 + bool m_bUseParticleNormal; // 0x235 }; // Alignment: 7 -// Size: 0x220 +// Size: 0x240 class C_OP_RemapAverageScalarValuetoCP : public CParticleFunctionPreEmission { public: // MPropertyFriendlyName "output control point" - int32_t m_nOutControlPointNumber; // 0x200 + int32_t m_nOutControlPointNumber; // 0x220 // MPropertyFriendlyName "output field" // MPropertyAttributeChoiceName "vector_component" - int32_t m_nOutVectorField; // 0x204 + int32_t m_nOutVectorField; // 0x224 // MPropertyFriendlyName "scalar field" // MPropertyAttributeChoiceName "particlefield_scalar" - ParticleAttributeIndex_t m_nField; // 0x208 + ParticleAttributeIndex_t m_nField; // 0x228 // MPropertyFriendlyName "input volume minimum" - float m_flInputMin; // 0x20c + float m_flInputMin; // 0x22c // MPropertyFriendlyName "input volume maximum" - float m_flInputMax; // 0x210 + float m_flInputMax; // 0x230 // MPropertyFriendlyName "output minimum" - float m_flOutputMin; // 0x214 + float m_flOutputMin; // 0x234 // MPropertyFriendlyName "output maximum" - float m_flOutputMax; // 0x218 + float m_flOutputMax; // 0x238 }; // Alignment: 2 -// Size: 0x210 +// Size: 0x230 class C_OP_SetControlPointToCenter : public CParticleFunctionPreEmission { public: // MPropertyFriendlyName "control point number to set" - int32_t m_nCP1; // 0x200 + int32_t m_nCP1; // 0x220 // MPropertyFriendlyName "center offset" // MVectorIsCoordinate - Vector m_vecCP1Pos; // 0x204 + Vector m_vecCP1Pos; // 0x224 }; // Alignment: 4 -// Size: 0x200 +// Size: 0x220 class C_OP_RemapControlPointOrientationToRotation : public CParticleFunctionOperator { public: // MPropertyFriendlyName "control point" - int32_t m_nCP; // 0x1f0 + int32_t m_nCP; // 0x210 // MPropertyFriendlyName "rotation field" // MPropertyAttributeChoiceName "particlefield_rotation" - ParticleAttributeIndex_t m_nFieldOutput; // 0x1f4 + ParticleAttributeIndex_t m_nFieldOutput; // 0x214 // MPropertyFriendlyName "offset rotation" - float m_flOffsetRot; // 0x1f8 + float m_flOffsetRot; // 0x218 // MPropertyFriendlyName "control point axis" // MPropertyAttributeChoiceName "vector_component" // MVectorIsSometimesCoordinate - int32_t m_nComponent; // 0x1fc + int32_t m_nComponent; // 0x21c }; // Alignment: 15 -// Size: 0xd90 +// Size: 0xdf0 class C_OP_DistanceToTransform : public CParticleFunctionOperator { public: // MPropertyFriendlyName "output field" // MPropertyAttributeChoiceName "particlefield_scalar" - ParticleAttributeIndex_t m_nFieldOutput; // 0x1f0 + ParticleAttributeIndex_t m_nFieldOutput; // 0x210 private: - [[maybe_unused]] uint8_t __pad01f4[0x4]; // 0x1f4 + [[maybe_unused]] uint8_t __pad0214[0x4]; // 0x214 public: // MPropertyFriendlyName "distance minimum" - CPerParticleFloatInput m_flInputMin; // 0x1f8 + CPerParticleFloatInput m_flInputMin; // 0x218 // MPropertyFriendlyName "distance maximum" - CPerParticleFloatInput m_flInputMax; // 0x330 + CPerParticleFloatInput m_flInputMax; // 0x358 // MPropertyFriendlyName "output minimum" - CPerParticleFloatInput m_flOutputMin; // 0x468 + CPerParticleFloatInput m_flOutputMin; // 0x498 // MPropertyFriendlyName "output maximum" - CPerParticleFloatInput m_flOutputMax; // 0x5a0 + CPerParticleFloatInput m_flOutputMax; // 0x5d8 // MPropertyFriendlyName "transform input" - CParticleTransformInput m_TransformStart; // 0x6d8 + CParticleTransformInput m_TransformStart; // 0x718 // MPropertyFriendlyName "ensure line of sight" - bool m_bLOS; // 0x728 + bool m_bLOS; // 0x768 // MPropertyFriendlyName "LOS collision group" - char m_CollisionGroupName[128]; // 0x729 + char m_CollisionGroupName[128]; // 0x769 private: - [[maybe_unused]] uint8_t __pad07a9[0x3]; // 0x7a9 + [[maybe_unused]] uint8_t __pad07e9[0x3]; // 0x7e9 public: // MPropertyFriendlyName "Trace Set" - ParticleTraceSet_t m_nTraceSet; // 0x7ac + ParticleTraceSet_t m_nTraceSet; // 0x7ec // MPropertyFriendlyName "maximum trace length" - float m_flMaxTraceLength; // 0x7b0 + float m_flMaxTraceLength; // 0x7f0 // MPropertyFriendlyName "LOS Failure Scalar" - float m_flLOSScale; // 0x7b4 + float m_flLOSScale; // 0x7f4 // MPropertyFriendlyName "set value method" - ParticleSetMethod_t m_nSetMethod; // 0x7b8 + ParticleSetMethod_t m_nSetMethod; // 0x7f8 // MPropertyFriendlyName "only active within specified distance" - bool m_bActiveRange; // 0x7bc + bool m_bActiveRange; // 0x7fc // MPropertyFriendlyName "output is additive" - bool m_bAdditive; // 0x7bd + bool m_bAdditive; // 0x7fd private: - [[maybe_unused]] uint8_t __pad07be[0x2]; // 0x7be + [[maybe_unused]] uint8_t __pad07fe[0x2]; // 0x7fe public: // MPropertyFriendlyName "component scale" - CPerParticleVecInput m_vecComponentScale; // 0x7c0 + CPerParticleVecInput m_vecComponentScale; // 0x800 +}; + +// Alignment: 0 +// Size: 0x48 +class CPulseCell_BaseValue : public CPulseCell_Base +{ +public: + // No members available }; // Alignment: 29 -// Size: 0x1220 +// Size: 0x12b0 class C_OP_RenderStandardLight : public CParticleFunctionRenderer { public: // MPropertyFriendlyName "light type" - ParticleLightTypeChoiceList_t m_nLightType; // 0x230 + ParticleLightTypeChoiceList_t m_nLightType; // 0x260 private: - [[maybe_unused]] uint8_t __pad0234[0x4]; // 0x234 + [[maybe_unused]] uint8_t __pad0264[0x4]; // 0x264 public: // MPropertyFriendlyName "color blend" - CParticleCollectionVecInput m_vecColorScale; // 0x238 + CParticleCollectionVecInput m_vecColorScale; // 0x268 // MPropertyFriendlyName "color blend type" - ParticleColorBlendType_t m_nColorBlendType; // 0x800 + ParticleColorBlendType_t m_nColorBlendType; // 0x850 private: - [[maybe_unused]] uint8_t __pad0804[0x4]; // 0x804 + [[maybe_unused]] uint8_t __pad0854[0x4]; // 0x854 public: // MPropertyFriendlyName "intensity" - CParticleCollectionFloatInput m_flIntensity; // 0x808 + CParticleCollectionFloatInput m_flIntensity; // 0x858 // MPropertyFriendlyName "cast shadows" // MPropertySuppressExpr "m_nLightType == PARTICLE_LIGHT_TYPE_FX" - bool m_bCastShadows; // 0x940 + bool m_bCastShadows; // 0x998 private: - [[maybe_unused]] uint8_t __pad0941[0x7]; // 0x941 + [[maybe_unused]] uint8_t __pad0999[0x7]; // 0x999 public: // MPropertyFriendlyName "inner cone angle" // MPropertySuppressExpr "m_nLightType != PARTICLE_LIGHT_TYPE_SPOT" - CParticleCollectionFloatInput m_flTheta; // 0x948 + CParticleCollectionFloatInput m_flTheta; // 0x9a0 // MPropertyFriendlyName "outer cone angle" // MPropertySuppressExpr "m_nLightType != PARTICLE_LIGHT_TYPE_SPOT" - CParticleCollectionFloatInput m_flPhi; // 0xa80 + CParticleCollectionFloatInput m_flPhi; // 0xae0 // MPropertyFriendlyName "light radius multiplier" - CParticleCollectionFloatInput m_flRadiusMultiplier; // 0xbb8 + CParticleCollectionFloatInput m_flRadiusMultiplier; // 0xc20 // MPropertyFriendlyName "attenuation type" - StandardLightingAttenuationStyle_t m_nAttenuationStyle; // 0xcf0 + StandardLightingAttenuationStyle_t m_nAttenuationStyle; // 0xd60 private: - [[maybe_unused]] uint8_t __pad0cf4[0x4]; // 0xcf4 + [[maybe_unused]] uint8_t __pad0d64[0x4]; // 0xd64 public: // MPropertyFriendlyName "falloff linearity" // MPropertySuppressExpr "m_nAttenuationStyle == LIGHT_STYLE_NEW || ( m_nAttenuationStyle == LIGHT_STYLE_OLD && m_nLightType == PARTICLE_LIGHT_TYPE_FX )" - CParticleCollectionFloatInput m_flFalloffLinearity; // 0xcf8 + CParticleCollectionFloatInput m_flFalloffLinearity; // 0xd68 // MPropertyFriendlyName "falloff fifty percent" // MPropertySuppressExpr "m_nAttenuationStyle == LIGHT_STYLE_OLD" - CParticleCollectionFloatInput m_flFiftyPercentFalloff; // 0xe30 + CParticleCollectionFloatInput m_flFiftyPercentFalloff; // 0xea8 // MPropertyFriendlyName "falloff zero percent" // MPropertySuppressExpr "m_nAttenuationStyle == LIGHT_STYLE_OLD" - CParticleCollectionFloatInput m_flZeroPercentFalloff; // 0xf68 + CParticleCollectionFloatInput m_flZeroPercentFalloff; // 0xfe8 // MPropertyFriendlyName "render diffuse" // MPropertySuppressExpr "m_nLightType == PARTICLE_LIGHT_TYPE_FX" - bool m_bRenderDiffuse; // 0x10a0 + bool m_bRenderDiffuse; // 0x1128 // MPropertyFriendlyName "render specular" // MPropertySuppressExpr "m_nLightType == PARTICLE_LIGHT_TYPE_FX" - bool m_bRenderSpecular; // 0x10a1 + bool m_bRenderSpecular; // 0x1129 private: - [[maybe_unused]] uint8_t __pad10a2[0x6]; // 0x10a2 + [[maybe_unused]] uint8_t __pad112a[0x6]; // 0x112a public: // MPropertyFriendlyName "light cookie string" - CUtlString m_lightCookie; // 0x10a8 + CUtlString m_lightCookie; // 0x1130 // MPropertyFriendlyName "light priority" - int32_t m_nPriority; // 0x10b0 + int32_t m_nPriority; // 0x1138 // MPropertyFriendlyName "fog lighting mode" // MPropertySuppressExpr "m_nLightType == PARTICLE_LIGHT_TYPE_FX" - ParticleLightFogLightingMode_t m_nFogLightingMode; // 0x10b4 + ParticleLightFogLightingMode_t m_nFogLightingMode; // 0x113c // MPropertyFriendlyName "fog contribution" // MPropertySuppressExpr "m_nLightType == PARTICLE_LIGHT_TYPE_FX" - CParticleCollectionFloatInput m_flFogContribution; // 0x10b8 + CParticleCollectionRendererFloatInput m_flFogContribution; // 0x1140 // MPropertyFriendlyName "capsule behavior" - ParticleLightBehaviorChoiceList_t m_nCapsuleLightBehavior; // 0x11f0 + ParticleLightBehaviorChoiceList_t m_nCapsuleLightBehavior; // 0x1280 // MPropertyStartGroup "Capsule Light Controls" // MPropertyFriendlyName "capsule length" // MPropertySuppressExpr "m_nCapsuleLightBehavior == PARTICLE_LIGHT_BEHAVIOR_ROPE || m_nCapsuleLightBehavior == PARTICLE_LIGHT_BEHAVIOR_TRAILS" - float m_flCapsuleLength; // 0x11f4 + float m_flCapsuleLength; // 0x1284 // MPropertyFriendlyName "reverse point order" // MPropertySuppressExpr "m_nCapsuleLightBehavior == PARTICLE_LIGHT_BEHAVIOR_FOLLOW_DIRECTION || m_nCapsuleLightBehavior == PARTICLE_LIGHT_BEHAVIOR_TRAILS" - bool m_bReverseOrder; // 0x11f8 + bool m_bReverseOrder; // 0x1288 // MPropertyFriendlyName "Closed loop" // MPropertySuppressExpr "m_nCapsuleLightBehavior == PARTICLE_LIGHT_BEHAVIOR_FOLLOW_DIRECTION || m_nCapsuleLightBehavior == PARTICLE_LIGHT_BEHAVIOR_TRAILS" - bool m_bClosedLoop; // 0x11f9 + bool m_bClosedLoop; // 0x1289 private: - [[maybe_unused]] uint8_t __pad11fa[0x2]; // 0x11fa + [[maybe_unused]] uint8_t __pad128a[0x2]; // 0x128a public: // MPropertyFriendlyName "Anchor point source" // MPropertyAttributeChoiceName "particlefield_vector" // MPropertySuppressExpr "m_nCapsuleLightBehavior == PARTICLE_LIGHT_BEHAVIOR_FOLLOW_DIRECTION || m_nCapsuleLightBehavior == PARTICLE_LIGHT_BEHAVIOR_ROPE" - ParticleAttributeIndex_t m_nPrevPntSource; // 0x11fc + ParticleAttributeIndex_t m_nPrevPntSource; // 0x128c // MPropertyFriendlyName "max length" // MPropertySuppressExpr "m_nCapsuleLightBehavior == PARTICLE_LIGHT_BEHAVIOR_FOLLOW_DIRECTION || m_nCapsuleLightBehavior == PARTICLE_LIGHT_BEHAVIOR_ROPE" - float m_flMaxLength; // 0x1200 + float m_flMaxLength; // 0x1290 // MPropertyFriendlyName "min length" // MPropertySuppressExpr "m_nCapsuleLightBehavior == PARTICLE_LIGHT_BEHAVIOR_FOLLOW_DIRECTION || m_nCapsuleLightBehavior == PARTICLE_LIGHT_BEHAVIOR_ROPE" - float m_flMinLength; // 0x1204 + float m_flMinLength; // 0x1294 // MPropertyFriendlyName "ignore delta time" // MPropertySuppressExpr "m_nCapsuleLightBehavior == PARTICLE_LIGHT_BEHAVIOR_FOLLOW_DIRECTION || m_nCapsuleLightBehavior == PARTICLE_LIGHT_BEHAVIOR_ROPE" - bool m_bIgnoreDT; // 0x1208 + bool m_bIgnoreDT; // 0x1298 private: - [[maybe_unused]] uint8_t __pad1209[0x3]; // 0x1209 + [[maybe_unused]] uint8_t __pad1299[0x3]; // 0x1299 public: // MPropertyFriendlyName "constrain radius to no more than this times the length" // MPropertySuppressExpr "m_nCapsuleLightBehavior == PARTICLE_LIGHT_BEHAVIOR_FOLLOW_DIRECTION || m_nCapsuleLightBehavior == PARTICLE_LIGHT_BEHAVIOR_ROPE" - float m_flConstrainRadiusToLengthRatio; // 0x120c + float m_flConstrainRadiusToLengthRatio; // 0x129c // MPropertyFriendlyName "amount to scale trail length by" // MPropertySuppressExpr "m_nCapsuleLightBehavior == PARTICLE_LIGHT_BEHAVIOR_FOLLOW_DIRECTION || m_nCapsuleLightBehavior == PARTICLE_LIGHT_BEHAVIOR_ROPE" - float m_flLengthScale; // 0x1210 + float m_flLengthScale; // 0x12a0 // MPropertyFriendlyName "how long before a trail grows to its full length" // MPropertySuppressExpr "m_nCapsuleLightBehavior == PARTICLE_LIGHT_BEHAVIOR_FOLLOW_DIRECTION || m_nCapsuleLightBehavior == PARTICLE_LIGHT_BEHAVIOR_ROPE" - float m_flLengthFadeInTime; // 0x1214 + float m_flLengthFadeInTime; // 0x12a4 }; // Alignment: 1 -// Size: 0x200 +// Size: 0x220 class C_OP_WindForce : public CParticleFunctionForce { public: // MPropertyFriendlyName "force to apply" // MVectorIsCoordinate - Vector m_vForce; // 0x1f0 + Vector m_vForce; // 0x210 }; // Alignment: 2 -// Size: 0x140 +// Size: 0x148 struct FloatInputMaterialVariable_t { public: @@ -18308,6 +18437,14 @@ public: CParticleCollectionFloatInput m_flInput; // 0x8 }; +// Alignment: 0 +// Size: 0x48 +class CPulseCell_Val_TestDomainGetEntityName : public CPulseCell_BaseValue +{ +public: + // No members available +}; + // Alignment: 0 // Size: 0x8 class IParticleSystemDefinition @@ -18318,83 +18455,91 @@ public: // No members available }; +// Alignment: 0 +// Size: 0x48 +class CPulseCell_Step_TestDomainTracepoint : public CPulseCell_BaseFlow +{ +public: + // No members available +}; + // Alignment: 11 -// Size: 0x220 +// Size: 0x250 class C_INIT_RemapCPtoScalar : public CParticleFunctionInitializer { public: // MPropertyFriendlyName "input control point number" - int32_t m_nCPInput; // 0x1f0 + int32_t m_nCPInput; // 0x220 // MPropertyFriendlyName "output field" // MPropertyAttributeChoiceName "particlefield_scalar" - ParticleAttributeIndex_t m_nFieldOutput; // 0x1f4 + ParticleAttributeIndex_t m_nFieldOutput; // 0x224 // MPropertyFriendlyName "input field 0-2 X/Y/Z" // MPropertyAttributeChoiceName "vector_component" - int32_t m_nField; // 0x1f8 + int32_t m_nField; // 0x228 // MPropertyFriendlyName "input minimum" - float m_flInputMin; // 0x1fc + float m_flInputMin; // 0x22c // MPropertyFriendlyName "input maximum" - float m_flInputMax; // 0x200 + float m_flInputMax; // 0x230 // MPropertyFriendlyName "output minimum" - float m_flOutputMin; // 0x204 + float m_flOutputMin; // 0x234 // MPropertyFriendlyName "output maximum" - float m_flOutputMax; // 0x208 + float m_flOutputMax; // 0x238 // MPropertyFriendlyName "emitter lifetime start time (seconds)" - float m_flStartTime; // 0x20c + float m_flStartTime; // 0x23c // MPropertyFriendlyName "emitter lifetime end time (seconds)" - float m_flEndTime; // 0x210 + float m_flEndTime; // 0x240 // MPropertyFriendlyName "set value method" - ParticleSetMethod_t m_nSetMethod; // 0x214 + ParticleSetMethod_t m_nSetMethod; // 0x244 // MPropertyFriendlyName "remap bias" - float m_flRemapBias; // 0x218 + float m_flRemapBias; // 0x248 }; // Alignment: 6 -// Size: 0x260 +// Size: 0x290 class C_OP_RenderStatusEffectCitadel : public CParticleFunctionRenderer { public: // MPropertyFriendlyName "color warp texture (3d)" // MPropertyAttributeEditor "AssetBrowse( vtex, *showassetpreview )" - CStrongHandle< InfoForResourceTypeCTextureBase > m_pTextureColorWarp; // 0x230 + CStrongHandle< InfoForResourceTypeCTextureBase > m_pTextureColorWarp; // 0x260 // MPropertyFriendlyName "normal texture" // MPropertyAttributeEditor "AssetBrowse( vtex, *showassetpreview )" - CStrongHandle< InfoForResourceTypeCTextureBase > m_pTextureNormal; // 0x238 + CStrongHandle< InfoForResourceTypeCTextureBase > m_pTextureNormal; // 0x268 // MPropertyFriendlyName "metalness texture" // MPropertyAttributeEditor "AssetBrowse( vtex, *showassetpreview )" - CStrongHandle< InfoForResourceTypeCTextureBase > m_pTextureMetalness; // 0x240 + CStrongHandle< InfoForResourceTypeCTextureBase > m_pTextureMetalness; // 0x270 // MPropertyFriendlyName "roughness texture" // MPropertyAttributeEditor "AssetBrowse( vtex, *showassetpreview )" - CStrongHandle< InfoForResourceTypeCTextureBase > m_pTextureRoughness; // 0x248 + CStrongHandle< InfoForResourceTypeCTextureBase > m_pTextureRoughness; // 0x278 // MPropertyFriendlyName "self illum texture" // MPropertyAttributeEditor "AssetBrowse( vtex, *showassetpreview )" - CStrongHandle< InfoForResourceTypeCTextureBase > m_pTextureSelfIllum; // 0x250 + CStrongHandle< InfoForResourceTypeCTextureBase > m_pTextureSelfIllum; // 0x280 // MPropertyFriendlyName "detail texture" // MPropertyAttributeEditor "AssetBrowse( vtex, *showassetpreview )" - CStrongHandle< InfoForResourceTypeCTextureBase > m_pTextureDetail; // 0x258 + CStrongHandle< InfoForResourceTypeCTextureBase > m_pTextureDetail; // 0x288 }; // Alignment: 3 -// Size: 0xd90 +// Size: 0xdf0 class C_OP_ClampVector : public CParticleFunctionOperator { public: // MPropertyFriendlyName "output field" // MPropertyAttributeChoiceName "particlefield_vector" - ParticleAttributeIndex_t m_nFieldOutput; // 0x1f0 + ParticleAttributeIndex_t m_nFieldOutput; // 0x210 private: - [[maybe_unused]] uint8_t __pad01f4[0x4]; // 0x1f4 + [[maybe_unused]] uint8_t __pad0214[0x4]; // 0x214 public: // MPropertyFriendlyName "output minimum" // MVectorIsSometimesCoordinate - CPerParticleVecInput m_vecOutputMin; // 0x1f8 + CPerParticleVecInput m_vecOutputMin; // 0x218 // MPropertyFriendlyName "output maximum" // MVectorIsSometimesCoordinate - CPerParticleVecInput m_vecOutputMax; // 0x7c0 + CPerParticleVecInput m_vecOutputMax; // 0x800 }; // Alignment: 0 -// Size: 0x240 +// Size: 0x270 class C_INIT_RemapNamedModelMeshGroupToScalar : public C_INIT_RemapNamedModelElementToScalar { public: @@ -18428,7 +18573,7 @@ public: }; // Alignment: 0 -// Size: 0x210 +// Size: 0x230 class C_OP_SpinYaw : public CGeneralSpin { public: @@ -18436,20 +18581,20 @@ public: }; // Alignment: 3 -// Size: 0x340 +// Size: 0x370 class C_OP_StopAfterCPDuration : public CParticleFunctionPreEmission { public: // MPropertyFriendlyName "duration at which to stop" - CParticleCollectionFloatInput m_flDuration; // 0x200 + CParticleCollectionFloatInput m_flDuration; // 0x220 // MPropertyFriendlyName "destroy all particles immediately" - bool m_bDestroyImmediately; // 0x338 + bool m_bDestroyImmediately; // 0x360 // MPropertyFriendlyName "play end cap effect" - bool m_bPlayEndCap; // 0x339 + bool m_bPlayEndCap; // 0x361 }; // Alignment: 0 -// Size: 0x250 +// Size: 0x270 class C_OP_RemapNamedModelBodyPartEndCap : public C_OP_RemapNamedModelElementEndCap { public: @@ -18457,144 +18602,166 @@ public: }; // Alignment: 7 -// Size: 0x250 +// Size: 0x270 class C_OP_MaintainSequentialPath : public CParticleFunctionOperator { public: // MPropertyFriendlyName "maximum distance" - float m_fMaxDistance; // 0x1f0 + float m_fMaxDistance; // 0x210 // MPropertyFriendlyName "particles to map from start to end" - float m_flNumToAssign; // 0x1f4 + float m_flNumToAssign; // 0x214 // MPropertyFriendlyName "cohesion strength" - float m_flCohesionStrength; // 0x1f8 + float m_flCohesionStrength; // 0x218 // MPropertyFriendlyName "control point movement tolerance" - float m_flTolerance; // 0x1fc + float m_flTolerance; // 0x21c // MPropertyFriendlyName "restart behavior (0 = bounce, 1 = loop )" - bool m_bLoop; // 0x200 + bool m_bLoop; // 0x220 // MPropertyFriendlyName "use existing particle count" - bool m_bUseParticleCount; // 0x201 + bool m_bUseParticleCount; // 0x221 private: - [[maybe_unused]] uint8_t __pad0202[0xe]; // 0x202 + [[maybe_unused]] uint8_t __pad0222[0xe]; // 0x222 public: - CPathParameters m_PathParams; // 0x210 + CPathParameters m_PathParams; // 0x230 }; // Alignment: 2 -// Size: 0x210 +// Size: 0x70 +class CPulseCell_Inflow_BaseEntrypoint : public CPulseCell_BaseFlow +{ +public: + PulseRuntimeChunkIndex_t m_EntryChunk; // 0x48 +private: + [[maybe_unused]] uint8_t __pad004c[0x4]; // 0x4c +public: + PulseRegisterMap_t m_RegisterMap; // 0x50 +}; + +// Alignment: 2 +// Size: 0x230 class C_OP_SetControlPointFromObjectScale : public CParticleFunctionPreEmission { public: // MPropertyFriendlyName "input control point number" - int32_t m_nCPInput; // 0x200 + int32_t m_nCPInput; // 0x220 // MPropertyFriendlyName "output control point number" - int32_t m_nCPOutput; // 0x204 + int32_t m_nCPOutput; // 0x224 +}; + +// Alignment: 0 +// Size: 0xd0 +class CBasePulseGraphInstance +{ +private: + [[maybe_unused]] uint8_t __pad0000[0xd0]; // 0x0 +public: + // No members available }; // Alignment: 5 -// Size: 0x210 +// Size: 0x230 class C_OP_ExternalGenericForce : public CParticleFunctionForce { public: // MPropertyFriendlyName "strength" - float m_flStrength; // 0x1f0 + float m_flStrength; // 0x210 // MPropertyFriendlyName "curl strength" - float m_flCurlStrength; // 0x1f4 + float m_flCurlStrength; // 0x214 // MPropertyFriendlyName "linear strength" - float m_flLinearStrength; // 0x1f8 + float m_flLinearStrength; // 0x218 // MPropertyFriendlyName "radial strength" - float m_flRadialStrength; // 0x1fc + float m_flRadialStrength; // 0x21c // MPropertyFriendlyName "rotation strength" - float m_flRotationStrength; // 0x200 + float m_flRotationStrength; // 0x220 }; // Alignment: 9 -// Size: 0x250 +// Size: 0x270 class C_OP_RemapNamedModelElementOnceTimed : public CParticleFunctionOperator { public: - CStrongHandle< InfoForResourceTypeCModel > m_hModel; // 0x1f0 + CStrongHandle< InfoForResourceTypeCModel > m_hModel; // 0x210 // MPropertyFriendlyName "input names" - CUtlVector< CUtlString > m_inNames; // 0x1f8 + CUtlVector< CUtlString > m_inNames; // 0x218 // MPropertyFriendlyName "output names" - CUtlVector< CUtlString > m_outNames; // 0x210 + CUtlVector< CUtlString > m_outNames; // 0x230 // MPropertyFriendlyName "fallback names when the input doesn't match" - CUtlVector< CUtlString > m_fallbackNames; // 0x228 + CUtlVector< CUtlString > m_fallbackNames; // 0x248 // MPropertyFriendlyName "model from renderer" - bool m_bModelFromRenderer; // 0x240 + bool m_bModelFromRenderer; // 0x260 // MPropertyFriendlyName "remap time proportional" - bool m_bProportional; // 0x241 + bool m_bProportional; // 0x261 private: - [[maybe_unused]] uint8_t __pad0242[0x2]; // 0x242 + [[maybe_unused]] uint8_t __pad0262[0x2]; // 0x262 public: // MPropertyFriendlyName "input field" // MPropertyAttributeChoiceName "particlefield_scalar" - ParticleAttributeIndex_t m_nFieldInput; // 0x244 + ParticleAttributeIndex_t m_nFieldInput; // 0x264 // MPropertyFriendlyName "output field" // MPropertyAttributeChoiceName "particlefield_scalar" - ParticleAttributeIndex_t m_nFieldOutput; // 0x248 + ParticleAttributeIndex_t m_nFieldOutput; // 0x268 // MPropertyFriendlyName "remap time" - float m_flRemapTime; // 0x24c + float m_flRemapTime; // 0x26c }; // Alignment: 1 -// Size: 0x200 +// Size: 0x220 class C_OP_ScreenForceFromPlayerView : public CParticleFunctionForce { public: // MPropertyFriendlyName "Acceleration" - float m_flAccel; // 0x1f0 + float m_flAccel; // 0x210 }; // Alignment: 10 -// Size: 0x240 +// Size: 0x260 class C_OP_RampScalarSpline : public CParticleFunctionOperator { public: // MPropertyFriendlyName "ramp rate min" - float m_RateMin; // 0x1f0 + float m_RateMin; // 0x210 // MPropertyFriendlyName "ramp rate max" - float m_RateMax; // 0x1f4 + float m_RateMax; // 0x214 // MPropertyFriendlyName "start time min" - float m_flStartTime_min; // 0x1f8 + float m_flStartTime_min; // 0x218 // MPropertyFriendlyName "start time max" - float m_flStartTime_max; // 0x1fc + float m_flStartTime_max; // 0x21c // MPropertyFriendlyName "end time min" - float m_flEndTime_min; // 0x200 + float m_flEndTime_min; // 0x220 // MPropertyFriendlyName "end time max" - float m_flEndTime_max; // 0x204 + float m_flEndTime_max; // 0x224 // MPropertyFriendlyName "bias" - float m_flBias; // 0x208 + float m_flBias; // 0x228 private: - [[maybe_unused]] uint8_t __pad020c[0x24]; // 0x20c + [[maybe_unused]] uint8_t __pad022c[0x24]; // 0x22c public: // MPropertyFriendlyName "ramp field" // MPropertyAttributeChoiceName "particlefield_scalar" - ParticleAttributeIndex_t m_nField; // 0x230 + ParticleAttributeIndex_t m_nField; // 0x250 // MPropertyFriendlyName "start/end proportional" - bool m_bProportionalOp; // 0x234 + bool m_bProportionalOp; // 0x254 // MPropertyFriendlyName "ease out" - bool m_bEaseOut; // 0x235 + bool m_bEaseOut; // 0x255 }; // Alignment: 5 -// Size: 0x210 +// Size: 0x230 class C_OP_ColorInterpolate : public CParticleFunctionOperator { public: // MPropertyFriendlyName "color fade" - Color m_ColorFade; // 0x1f0 + Color m_ColorFade; // 0x210 private: - [[maybe_unused]] uint8_t __pad01f4[0xc]; // 0x1f4 + [[maybe_unused]] uint8_t __pad0214[0xc]; // 0x214 public: // MPropertyFriendlyName "fade start time" - float m_flFadeStartTime; // 0x200 + float m_flFadeStartTime; // 0x220 // MPropertyFriendlyName "fade end time" - float m_flFadeEndTime; // 0x204 + float m_flFadeEndTime; // 0x224 // MPropertyFriendlyName "output field" // MPropertyAttributeChoiceName "particlefield_vector" - ParticleAttributeIndex_t m_nFieldOutput; // 0x208 + ParticleAttributeIndex_t m_nFieldOutput; // 0x228 // MPropertyFriendlyName "ease in and out" - bool m_bEaseInOut; // 0x20c + bool m_bEaseInOut; // 0x22c }; // Alignment: 1 @@ -18606,269 +18773,269 @@ public: }; // Alignment: 7 -// Size: 0x210 +// Size: 0x230 class C_OP_FadeAndKill : public CParticleFunctionOperator { public: // MPropertyFriendlyName "start fade in time" - float m_flStartFadeInTime; // 0x1f0 + float m_flStartFadeInTime; // 0x210 // MPropertyFriendlyName "end fade in time" - float m_flEndFadeInTime; // 0x1f4 + float m_flEndFadeInTime; // 0x214 // MPropertyFriendlyName "start fade out time" - float m_flStartFadeOutTime; // 0x1f8 + float m_flStartFadeOutTime; // 0x218 // MPropertyFriendlyName "end fade out time" - float m_flEndFadeOutTime; // 0x1fc + float m_flEndFadeOutTime; // 0x21c // MPropertyFriendlyName "start alpha" - float m_flStartAlpha; // 0x200 + float m_flStartAlpha; // 0x220 // MPropertyFriendlyName "end alpha" - float m_flEndAlpha; // 0x204 + float m_flEndAlpha; // 0x224 // MPropertyFriendlyName "force preserving particle order" - bool m_bForcePreserveParticleOrder; // 0x208 + bool m_bForcePreserveParticleOrder; // 0x228 }; // Alignment: 4 -// Size: 0x250 +// Size: 0x280 class C_INIT_RemapInitialTransformDirectionToRotation : public CParticleFunctionInitializer { public: // MPropertyFriendlyName "transform input" - CParticleTransformInput m_TransformInput; // 0x1f0 + CParticleTransformInput m_TransformInput; // 0x220 // MPropertyFriendlyName "rotation field" // MPropertyAttributeChoiceName "particlefield_rotation" - ParticleAttributeIndex_t m_nFieldOutput; // 0x240 + ParticleAttributeIndex_t m_nFieldOutput; // 0x270 // MPropertyFriendlyName "offset rotation" - float m_flOffsetRot; // 0x244 + float m_flOffsetRot; // 0x274 // MPropertyFriendlyName "control point axis" // MPropertyAttributeChoiceName "vector_component" // MVectorIsSometimesCoordinate - int32_t m_nComponent; // 0x248 + int32_t m_nComponent; // 0x278 }; // Alignment: 3 -// Size: 0x200 +// Size: 0x230 class C_INIT_PositionOffsetToCP : public CParticleFunctionInitializer { public: // MPropertyFriendlyName "creation control point number" - int32_t m_nControlPointNumberStart; // 0x1f0 + int32_t m_nControlPointNumberStart; // 0x220 // MPropertyFriendlyName "offset control point number" - int32_t m_nControlPointNumberEnd; // 0x1f4 + int32_t m_nControlPointNumberEnd; // 0x224 // MPropertyFriendlyName "offset in local space 0/1" - bool m_bLocalCoords; // 0x1f8 + bool m_bLocalCoords; // 0x228 }; // Alignment: 8 -// Size: 0x480 +// Size: 0x4c0 class C_OP_MaintainEmitter : public CParticleFunctionEmitter { public: // MPropertyFriendlyName "count to maintain" - int32_t m_nParticlesToMaintain; // 0x1f0 + int32_t m_nParticlesToMaintain; // 0x220 // MPropertyFriendlyName "emission start time" - float m_flStartTime; // 0x1f4 + float m_flStartTime; // 0x224 // MPropertyFriendlyName "emission duration" - CParticleCollectionFloatInput m_flEmissionDuration; // 0x1f8 + CParticleCollectionFloatInput m_flEmissionDuration; // 0x228 // MPropertyFriendlyName "emission rate" - float m_flEmissionRate; // 0x330 + float m_flEmissionRate; // 0x368 // MPropertyFriendlyName "control point with snapshot data" - int32_t m_nSnapshotControlPoint; // 0x334 + int32_t m_nSnapshotControlPoint; // 0x36c // MPropertyFriendlyName "group emission times for new particles" - bool m_bEmitInstantaneously; // 0x338 + bool m_bEmitInstantaneously; // 0x370 // MPropertyFriendlyName "perform final emit on stop" - bool m_bFinalEmitOnStop; // 0x339 + bool m_bFinalEmitOnStop; // 0x371 private: - [[maybe_unused]] uint8_t __pad033a[0x6]; // 0x33a + [[maybe_unused]] uint8_t __pad0372[0x6]; // 0x372 public: // MPropertyFriendlyName "total count scale" - CParticleCollectionFloatInput m_flScale; // 0x340 + CParticleCollectionFloatInput m_flScale; // 0x378 }; // Alignment: 3 -// Size: 0x200 +// Size: 0x230 class C_INIT_VelocityFromNormal : public CParticleFunctionInitializer { public: // MPropertyFriendlyName "random speed min" - float m_fSpeedMin; // 0x1f0 + float m_fSpeedMin; // 0x220 // MPropertyFriendlyName "random speed max" - float m_fSpeedMax; // 0x1f4 + float m_fSpeedMax; // 0x224 // MPropertyFriendlyName "ignore delta time" - bool m_bIgnoreDt; // 0x1f8 + bool m_bIgnoreDt; // 0x228 }; // Alignment: 3 -// Size: 0x200 +// Size: 0x220 class C_OP_MaxVelocity : public CParticleFunctionOperator { public: // MPropertyFriendlyName "maximum velocity" - float m_flMaxVelocity; // 0x1f0 + float m_flMaxVelocity; // 0x210 // MPropertyFriendlyName "override max velocity from this CP" - int32_t m_nOverrideCP; // 0x1f4 + int32_t m_nOverrideCP; // 0x214 // MPropertyFriendlyName "override CP field" - int32_t m_nOverrideCPField; // 0x1f8 + int32_t m_nOverrideCPField; // 0x218 }; // Alignment: 11 -// Size: 0x280 +// Size: 0x2b0 class C_OP_RenderProjected : public CParticleFunctionRenderer { public: // MPropertyFriendlyName "project on characters" - bool m_bProjectCharacter; // 0x230 + bool m_bProjectCharacter; // 0x260 // MPropertyFriendlyName "project on world" - bool m_bProjectWorld; // 0x231 + bool m_bProjectWorld; // 0x261 // MPropertyFriendlyName "project on water" - bool m_bProjectWater; // 0x232 + bool m_bProjectWater; // 0x262 // MPropertyFriendlyName "flip horizontal" - bool m_bFlipHorizontal; // 0x233 + bool m_bFlipHorizontal; // 0x263 // MPropertyFriendlyName "enable projected depth controls" - bool m_bEnableProjectedDepthControls; // 0x234 + bool m_bEnableProjectedDepthControls; // 0x264 private: - [[maybe_unused]] uint8_t __pad0235[0x3]; // 0x235 + [[maybe_unused]] uint8_t __pad0265[0x3]; // 0x265 public: // MPropertyFriendlyName "min projection depth" // MPropertySuppressExpr "!m_bEnableProjectedDepthControls" - float m_flMinProjectionDepth; // 0x238 + float m_flMinProjectionDepth; // 0x268 // MPropertyFriendlyName "max projection depth" // MPropertySuppressExpr "!m_bEnableProjectedDepthControls" - float m_flMaxProjectionDepth; // 0x23c + float m_flMaxProjectionDepth; // 0x26c // MPropertyFriendlyName "material" - CStrongHandle< InfoForResourceTypeIMaterial2 > m_hProjectedMaterial; // 0x240 + CStrongHandle< InfoForResourceTypeIMaterial2 > m_hProjectedMaterial; // 0x270 // MPropertyFriendlyName "sheet animation time scale" - float m_flAnimationTimeScale; // 0x248 + float m_flAnimationTimeScale; // 0x278 // MPropertyFriendlyName "orient to normal" - bool m_bOrientToNormal; // 0x24c + bool m_bOrientToNormal; // 0x27c private: - [[maybe_unused]] uint8_t __pad024d[0x3]; // 0x24d + [[maybe_unused]] uint8_t __pad027d[0x3]; // 0x27d public: // MPropertyFriendlyName "material variables" // MPropertyAutoExpandSelf - CUtlVector< MaterialVariable_t > m_MaterialVars; // 0x250 + CUtlVector< MaterialVariable_t > m_MaterialVars; // 0x280 }; // Alignment: 6 -// Size: 0x220 +// Size: 0x250 class C_INIT_RandomNamedModelElement : public CParticleFunctionInitializer { public: - CStrongHandle< InfoForResourceTypeCModel > m_hModel; // 0x1f0 + CStrongHandle< InfoForResourceTypeCModel > m_hModel; // 0x220 // MPropertyFriendlyName "names" - CUtlVector< CUtlString > m_names; // 0x1f8 + CUtlVector< CUtlString > m_names; // 0x228 // MPropertyFriendlyName "shuffle" - bool m_bShuffle; // 0x210 + bool m_bShuffle; // 0x240 // MPropertyFriendlyName "linear" - bool m_bLinear; // 0x211 + bool m_bLinear; // 0x241 // MPropertyFriendlyName "model from renderer" - bool m_bModelFromRenderer; // 0x212 + bool m_bModelFromRenderer; // 0x242 private: - [[maybe_unused]] uint8_t __pad0213[0x1]; // 0x213 + [[maybe_unused]] uint8_t __pad0243[0x1]; // 0x243 public: // MPropertyFriendlyName "output field" // MPropertyAttributeChoiceName "particlefield_scalar" - ParticleAttributeIndex_t m_nFieldOutput; // 0x214 + ParticleAttributeIndex_t m_nFieldOutput; // 0x244 }; // Alignment: 3 -// Size: 0x900 +// Size: 0x940 class C_OP_PerParticleForce : public CParticleFunctionForce { public: // MPropertyFriendlyName "force scale" - CPerParticleFloatInput m_flForceScale; // 0x1f0 + CPerParticleFloatInput m_flForceScale; // 0x210 // MPropertyFriendlyName "force to apply" // MVectorIsCoordinate - CPerParticleVecInput m_vForce; // 0x328 + CPerParticleVecInput m_vForce; // 0x350 // MPropertyFriendlyName "local space control point" - int32_t m_nCP; // 0x8f0 + int32_t m_nCP; // 0x938 }; // Alignment: 4 -// Size: 0x200 +// Size: 0x220 class C_OP_InheritFromPeerSystem : public CParticleFunctionOperator { public: // MPropertyFriendlyName "read field" // MPropertyAttributeChoiceName "particlefield" - ParticleAttributeIndex_t m_nFieldOutput; // 0x1f0 + ParticleAttributeIndex_t m_nFieldOutput; // 0x210 // MPropertyFriendlyName "written field" // MPropertyAttributeChoiceName "particlefield" - ParticleAttributeIndex_t m_nFieldInput; // 0x1f4 + ParticleAttributeIndex_t m_nFieldInput; // 0x214 // MPropertyFriendlyName "particle neighbor increment amount" - int32_t m_nIncrement; // 0x1f8 + int32_t m_nIncrement; // 0x218 // MPropertyFriendlyName "group id" - int32_t m_nGroupID; // 0x1fc + int32_t m_nGroupID; // 0x21c }; // Alignment: 12 -// Size: 0xf60 +// Size: 0xfd0 class C_INIT_CreateOnModel : public CParticleFunctionInitializer { public: // MPropertyFriendlyName "control point number" - int32_t m_nControlPointNumber; // 0x1f0 + int32_t m_nControlPointNumber; // 0x220 // MPropertyFriendlyName "force to be inside model" - int32_t m_nForceInModel; // 0x1f4 + int32_t m_nForceInModel; // 0x224 // MPropertyFriendlyName "desired hitbox" - int32_t m_nDesiredHitbox; // 0x1f8 + int32_t m_nDesiredHitbox; // 0x228 // MPropertyFriendlyName "Control Point Providing Hitbox index" - int32_t m_nHitboxValueFromControlPointIndex; // 0x1fc + int32_t m_nHitboxValueFromControlPointIndex; // 0x22c // MPropertyFriendlyName "hitbox scale" - CParticleCollectionVecInput m_vecHitBoxScale; // 0x200 + CParticleCollectionVecInput m_vecHitBoxScale; // 0x230 // MPropertyFriendlyName "inherited velocity scale" - float m_flBoneVelocity; // 0x7c8 + float m_flBoneVelocity; // 0x818 // MPropertyFriendlyName "maximum inherited velocity" - float m_flMaxBoneVelocity; // 0x7cc + float m_flMaxBoneVelocity; // 0x81c // MPropertyFriendlyName "direction bias" // MVectorIsCoordinate - CParticleCollectionVecInput m_vecDirectionBias; // 0x7d0 + CParticleCollectionVecInput m_vecDirectionBias; // 0x820 // MPropertyFriendlyName "hitbox set" - char m_HitboxSetName[128]; // 0xd98 + char m_HitboxSetName[128]; // 0xe08 // MPropertyFriendlyName "bias in local space" - bool m_bLocalCoords; // 0xe18 + bool m_bLocalCoords; // 0xe88 // MPropertyFriendlyName "use bones instead of hitboxes" - bool m_bUseBones; // 0xe19 + bool m_bUseBones; // 0xe89 private: - [[maybe_unused]] uint8_t __pad0e1a[0x6]; // 0xe1a + [[maybe_unused]] uint8_t __pad0e8a[0x6]; // 0xe8a public: // MPropertyFriendlyName "hitbox shell thickness" - CParticleCollectionFloatInput m_flShellSize; // 0xe20 + CParticleCollectionFloatInput m_flShellSize; // 0xe90 }; // Alignment: 4 -// Size: 0x470 +// Size: 0x4b0 class C_INIT_InitFloat : public CParticleFunctionInitializer { public: // MPropertyFriendlyName "value" - CPerParticleFloatInput m_InputValue; // 0x1f0 + CPerParticleFloatInput m_InputValue; // 0x220 // MPropertyFriendlyName "output field" // MPropertyAttributeChoiceName "particlefield_scalar" - ParticleAttributeIndex_t m_nOutputField; // 0x328 + ParticleAttributeIndex_t m_nOutputField; // 0x360 // MPropertyFriendlyName "set value method" - ParticleSetMethod_t m_nSetMethod; // 0x32c + ParticleSetMethod_t m_nSetMethod; // 0x364 // MPropertyFriendlyName "per-particle strength" - CPerParticleFloatInput m_InputStrength; // 0x330 + CPerParticleFloatInput m_InputStrength; // 0x368 }; // Alignment: 4 -// Size: 0x950 +// Size: 0x990 class C_OP_MovementRotateParticleAroundAxis : public CParticleFunctionOperator { public: // MPropertyFriendlyName "rotation axis" // MVectorIsCoordinate - CParticleCollectionVecInput m_vecRotAxis; // 0x1f0 + CParticleCollectionVecInput m_vecRotAxis; // 0x210 // MPropertyFriendlyName "rotation rate" - CParticleCollectionFloatInput m_flRotRate; // 0x7b8 + CParticleCollectionFloatInput m_flRotRate; // 0x7f8 // MPropertyFriendlyName "transform input" - CParticleTransformInput m_TransformInput; // 0x8f0 + CParticleTransformInput m_TransformInput; // 0x938 // MPropertyFriendlyName "use local space" - bool m_bLocalSpace; // 0x940 + bool m_bLocalSpace; // 0x988 }; // Alignment: 0 -// Size: 0x138 +// Size: 0x140 class CParticleRemapFloatInput : public CParticleFloatInput { public: @@ -18876,344 +19043,341 @@ public: }; // Alignment: 12 -// Size: 0x250 +// Size: 0x270 class C_OP_SetControlPointPositions : public CParticleFunctionPreEmission { public: // MPropertyFriendlyName "set positions in world space" - bool m_bUseWorldLocation; // 0x200 + bool m_bUseWorldLocation; // 0x220 // MPropertyFriendlyName "inherit CP orientation" - bool m_bOrient; // 0x201 + bool m_bOrient; // 0x221 // MPropertyFriendlyName "only set position once" - bool m_bSetOnce; // 0x202 + bool m_bSetOnce; // 0x222 private: - [[maybe_unused]] uint8_t __pad0203[0x1]; // 0x203 + [[maybe_unused]] uint8_t __pad0223[0x1]; // 0x223 public: // MPropertyFriendlyName "first control point number" - int32_t m_nCP1; // 0x204 + int32_t m_nCP1; // 0x224 // MPropertyFriendlyName "second control point number" - int32_t m_nCP2; // 0x208 + int32_t m_nCP2; // 0x228 // MPropertyFriendlyName "third control point number" - int32_t m_nCP3; // 0x20c + int32_t m_nCP3; // 0x22c // MPropertyFriendlyName "fourth control point number" - int32_t m_nCP4; // 0x210 + int32_t m_nCP4; // 0x230 // MPropertyFriendlyName "first control point location" // MVectorIsCoordinate - Vector m_vecCP1Pos; // 0x214 + Vector m_vecCP1Pos; // 0x234 // MPropertyFriendlyName "second control point location" // MVectorIsCoordinate - Vector m_vecCP2Pos; // 0x220 + Vector m_vecCP2Pos; // 0x240 // MPropertyFriendlyName "third control point location" // MVectorIsCoordinate - Vector m_vecCP3Pos; // 0x22c + Vector m_vecCP3Pos; // 0x24c // MPropertyFriendlyName "fourth control point location" // MVectorIsCoordinate - Vector m_vecCP4Pos; // 0x238 + Vector m_vecCP4Pos; // 0x258 // MPropertyFriendlyName "control point to offset positions from" - int32_t m_nHeadLocation; // 0x244 + int32_t m_nHeadLocation; // 0x264 }; // Alignment: 5 -// Size: 0x220 +// Size: 0x240 class C_OP_ConstrainDistanceToUserSpecifiedPath : public CParticleFunctionConstraint { public: // MPropertyFriendlyName "minimum distance" - float m_fMinDistance; // 0x1f0 + float m_fMinDistance; // 0x210 // MPropertyFriendlyName "maximum distance" - float m_flMaxDistance; // 0x1f4 + float m_flMaxDistance; // 0x214 // MPropertyFriendlyName "Time scale" - float m_flTimeScale; // 0x1f8 + float m_flTimeScale; // 0x218 // MPropertyFriendlyName "Treat path as a loop" - bool m_bLoopedPath; // 0x1fc + bool m_bLoopedPath; // 0x21c private: - [[maybe_unused]] uint8_t __pad01fd[0x3]; // 0x1fd + [[maybe_unused]] uint8_t __pad021d[0x3]; // 0x21d public: // MPropertyFriendlyName "path points" - CUtlVector< PointDefinitionWithTimeValues_t > m_pointList; // 0x200 + CUtlVector< PointDefinitionWithTimeValues_t > m_pointList; // 0x220 }; // Alignment: 10 -// Size: 0x6f0 +// Size: 0x780 class C_INIT_CreateInEpitrochoid : public CParticleFunctionInitializer { public: // MPropertyFriendlyName "first dimension 0-2 (-1 disables)" // MPropertyAttributeChoiceName "vector_component" - int32_t m_nComponent1; // 0x1f0 + int32_t m_nComponent1; // 0x220 // MPropertyFriendlyName "second dimension 0-2 (-1 disables)" // MPropertyAttributeChoiceName "vector_component" - int32_t m_nComponent2; // 0x1f4 - // MPropertyFriendlyName "control point number" - int32_t m_nControlPointNumber; // 0x1f8 -private: - [[maybe_unused]] uint8_t __pad01fc[0x4]; // 0x1fc -public: + int32_t m_nComponent2; // 0x224 + // MPropertyFriendlyName "input transform" + CParticleTransformInput m_TransformInput; // 0x228 // MPropertyFriendlyName "particle density" - CPerParticleFloatInput m_flParticleDensity; // 0x200 + CPerParticleFloatInput m_flParticleDensity; // 0x278 // MPropertyFriendlyName "point offset" - CPerParticleFloatInput m_flOffset; // 0x338 + CPerParticleFloatInput m_flOffset; // 0x3b8 // MPropertyFriendlyName "radius 1" - CPerParticleFloatInput m_flRadius1; // 0x470 + CPerParticleFloatInput m_flRadius1; // 0x4f8 // MPropertyFriendlyName "radius 2" - CPerParticleFloatInput m_flRadius2; // 0x5a8 + CPerParticleFloatInput m_flRadius2; // 0x638 // MPropertyFriendlyName "use particle count instead of creation time" - bool m_bUseCount; // 0x6e0 + bool m_bUseCount; // 0x778 // MPropertyFriendlyName "local space" - bool m_bUseLocalCoords; // 0x6e1 + bool m_bUseLocalCoords; // 0x779 // MPropertyFriendlyName "offset from existing position" - bool m_bOffsetExistingPos; // 0x6e2 + bool m_bOffsetExistingPos; // 0x77a }; // Alignment: 2 -// Size: 0x200 +// Size: 0x220 class C_OP_DensityForce : public CParticleFunctionForce { public: // MPropertyFriendlyName "Radius scale for particle influence" - float m_flRadiusScale; // 0x1f0 + float m_flRadiusScale; // 0x210 // MPropertyFriendlyName "Scale of force" - float m_flForceScale; // 0x1f4 + float m_flForceScale; // 0x214 }; // Alignment: 5 -// Size: 0x5b0 +// Size: 0x5f0 class C_INIT_CreateParticleImpulse : public CParticleFunctionInitializer { public: // MPropertyFriendlyName "radius" - CPerParticleFloatInput m_InputRadius; // 0x1f0 + CPerParticleFloatInput m_InputRadius; // 0x220 // MPropertyFriendlyName "magnitude" - CPerParticleFloatInput m_InputMagnitude; // 0x328 + CPerParticleFloatInput m_InputMagnitude; // 0x360 // MPropertyFriendlyName "force falloff function" - ParticleFalloffFunction_t m_nFalloffFunction; // 0x460 + ParticleFalloffFunction_t m_nFalloffFunction; // 0x4a0 private: - [[maybe_unused]] uint8_t __pad0464[0x4]; // 0x464 + [[maybe_unused]] uint8_t __pad04a4[0x4]; // 0x4a4 public: // MPropertyFriendlyName "exponential falloff exponent" - CPerParticleFloatInput m_InputFalloffExp; // 0x468 + CPerParticleFloatInput m_InputFalloffExp; // 0x4a8 // MPropertyFriendlyName "impulse type" - ParticleImpulseType_t m_nImpulseType; // 0x5a0 + ParticleImpulseType_t m_nImpulseType; // 0x5e8 }; // Alignment: 13 -// Size: 0x240 +// Size: 0x260 class C_OP_RemapCPtoVector : public CParticleFunctionOperator { public: // MPropertyFriendlyName "input control point number" - int32_t m_nCPInput; // 0x1f0 + int32_t m_nCPInput; // 0x210 // MPropertyFriendlyName "output field" // MPropertyAttributeChoiceName "particlefield_vector" - ParticleAttributeIndex_t m_nFieldOutput; // 0x1f4 + ParticleAttributeIndex_t m_nFieldOutput; // 0x214 // MPropertyFriendlyName "local space CP" - int32_t m_nLocalSpaceCP; // 0x1f8 + int32_t m_nLocalSpaceCP; // 0x218 // MPropertyFriendlyName "input minimum" // MVectorIsSometimesCoordinate - Vector m_vInputMin; // 0x1fc + Vector m_vInputMin; // 0x21c // MPropertyFriendlyName "input maximum" // MVectorIsSometimesCoordinate - Vector m_vInputMax; // 0x208 + Vector m_vInputMax; // 0x228 // MPropertyFriendlyName "output minimum" // MVectorIsSometimesCoordinate - Vector m_vOutputMin; // 0x214 + Vector m_vOutputMin; // 0x234 // MPropertyFriendlyName "output maximum" // MVectorIsSometimesCoordinate - Vector m_vOutputMax; // 0x220 + Vector m_vOutputMax; // 0x240 // MPropertyFriendlyName "emitter lifetime start time (seconds)" - float m_flStartTime; // 0x22c + float m_flStartTime; // 0x24c // MPropertyFriendlyName "emitter lifetime end time (seconds)" - float m_flEndTime; // 0x230 + float m_flEndTime; // 0x250 // MPropertyFriendlyName "interpolation scale" - float m_flInterpRate; // 0x234 + float m_flInterpRate; // 0x254 // MPropertyFriendlyName "set value method" - ParticleSetMethod_t m_nSetMethod; // 0x238 + ParticleSetMethod_t m_nSetMethod; // 0x258 // MPropertyFriendlyName "offset position" - bool m_bOffset; // 0x23c + bool m_bOffset; // 0x25c // MPropertyFriendlyName "accelerate position" - bool m_bAccelerate; // 0x23d + bool m_bAccelerate; // 0x25d }; // Alignment: 12 -// Size: 0xdf0 +// Size: 0xe60 class C_OP_PinParticleToCP : public CParticleFunctionOperator { public: // MPropertyFriendlyName "control point number" - int32_t m_nControlPointNumber; // 0x1f0 + int32_t m_nControlPointNumber; // 0x210 private: - [[maybe_unused]] uint8_t __pad01f4[0x4]; // 0x1f4 + [[maybe_unused]] uint8_t __pad0214[0x4]; // 0x214 public: // MPropertyFriendlyName "offset" - CParticleCollectionVecInput m_vecOffset; // 0x1f8 + CParticleCollectionVecInput m_vecOffset; // 0x218 // MPropertyFriendlyName "offset in local space" - bool m_bOffsetLocal; // 0x7c0 + bool m_bOffsetLocal; // 0x800 private: - [[maybe_unused]] uint8_t __pad07c1[0x3]; // 0x7c1 + [[maybe_unused]] uint8_t __pad0801[0x3]; // 0x801 public: // MPropertyFriendlyName "particle to use" - ParticleSelection_t m_nParticleSelection; // 0x7c4 + ParticleSelection_t m_nParticleSelection; // 0x804 // MPropertyFriendlyName "particle number" - CParticleCollectionFloatInput m_nParticleNumber; // 0x7c8 + CParticleCollectionFloatInput m_nParticleNumber; // 0x808 // MPropertyFriendlyName "pin break type" - ParticlePinDistance_t m_nPinBreakType; // 0x900 + ParticlePinDistance_t m_nPinBreakType; // 0x948 private: - [[maybe_unused]] uint8_t __pad0904[0x4]; // 0x904 + [[maybe_unused]] uint8_t __pad094c[0x4]; // 0x94c public: // MPropertyFriendlyName "break length %" - CParticleCollectionFloatInput m_flBreakDistance; // 0x908 + CParticleCollectionFloatInput m_flBreakDistance; // 0x950 // MPropertyFriendlyName "break speed" - CParticleCollectionFloatInput m_flBreakSpeed; // 0xa40 + CParticleCollectionFloatInput m_flBreakSpeed; // 0xa90 // MPropertyFriendlyName "break age" - CParticleCollectionFloatInput m_flAge; // 0xb78 + CParticleCollectionFloatInput m_flAge; // 0xbd0 // MPropertyFriendlyName "break comparison control point 1" - int32_t m_nBreakControlPointNumber; // 0xcb0 + int32_t m_nBreakControlPointNumber; // 0xd10 // MPropertyFriendlyName "break comparison control point 2" - int32_t m_nBreakControlPointNumber2; // 0xcb4 + int32_t m_nBreakControlPointNumber2; // 0xd14 // MPropertyFriendlyName "Interpolation" - CPerParticleFloatInput m_flInterpolation; // 0xcb8 + CPerParticleFloatInput m_flInterpolation; // 0xd18 }; // Alignment: 7 -// Size: 0x2a0 +// Size: 0x2c0 class C_OP_RtEnvCull : public CParticleFunctionOperator { public: // MPropertyFriendlyName "test direction" // MVectorIsCoordinate - Vector m_vecTestDir; // 0x1f0 + Vector m_vecTestDir; // 0x210 // MPropertyFriendlyName "cull normal" // MVectorIsCoordinate - Vector m_vecTestNormal; // 0x1fc + Vector m_vecTestNormal; // 0x21c // MPropertyFriendlyName "cull on miss" - bool m_bCullOnMiss; // 0x208 + bool m_bCullOnMiss; // 0x228 // MPropertyFriendlyName "stick instead of cull" - bool m_bStickInsteadOfCull; // 0x209 + bool m_bStickInsteadOfCull; // 0x229 // MPropertyFriendlyName "ray trace environment name" - char m_RtEnvName[128]; // 0x20a + char m_RtEnvName[128]; // 0x22a private: - [[maybe_unused]] uint8_t __pad028a[0x2]; // 0x28a + [[maybe_unused]] uint8_t __pad02aa[0x2]; // 0x2aa public: // MPropertyFriendlyName "ray trace environment cp" - int32_t m_nRTEnvCP; // 0x28c + int32_t m_nRTEnvCP; // 0x2ac // MPropertyFriendlyName "rt env control point component" // MPropertyAttributeChoiceName "vector_component" - int32_t m_nComponent; // 0x290 + int32_t m_nComponent; // 0x2b0 }; // Alignment: 9 -// Size: 0x240 +// Size: 0x260 class C_OP_DriveCPFromGlobalSoundFloat : public CParticleFunctionPreEmission { public: // MPropertyFriendlyName "output control point" - int32_t m_nOutputControlPoint; // 0x200 + int32_t m_nOutputControlPoint; // 0x220 // MPropertyFriendlyName "output field" // MPropertyAttributeChoiceName "vector_component" - int32_t m_nOutputField; // 0x204 + int32_t m_nOutputField; // 0x224 // MPropertyFriendlyName "input minimum" - float m_flInputMin; // 0x208 + float m_flInputMin; // 0x228 // MPropertyFriendlyName "input maximum" - float m_flInputMax; // 0x20c + float m_flInputMax; // 0x22c // MPropertyFriendlyName "output minimum" - float m_flOutputMin; // 0x210 + float m_flOutputMin; // 0x230 // MPropertyFriendlyName "output maximum" - float m_flOutputMax; // 0x214 + float m_flOutputMax; // 0x234 // MPropertyFriendlyName "sound stack name" - CUtlString m_StackName; // 0x218 + CUtlString m_StackName; // 0x238 // MPropertyFriendlyName "sound operator name" - CUtlString m_OperatorName; // 0x220 + CUtlString m_OperatorName; // 0x240 // MPropertyFriendlyName "sound field name" - CUtlString m_FieldName; // 0x228 + CUtlString m_FieldName; // 0x248 }; // Alignment: 7 -// Size: 0x220 +// Size: 0x240 class C_OP_RemapDirectionToCPToVector : public CParticleFunctionOperator { public: // MPropertyFriendlyName "control point" - int32_t m_nCP; // 0x1f0 + int32_t m_nCP; // 0x210 // MPropertyFriendlyName "output field" // MPropertyAttributeChoiceName "particlefield_vector" - ParticleAttributeIndex_t m_nFieldOutput; // 0x1f4 + ParticleAttributeIndex_t m_nFieldOutput; // 0x214 // MPropertyFriendlyName "scale factor" - float m_flScale; // 0x1f8 + float m_flScale; // 0x218 // MPropertyFriendlyName "offset rotation" - float m_flOffsetRot; // 0x1fc + float m_flOffsetRot; // 0x21c // MPropertyFriendlyName "offset axis" // MVectorIsCoordinate - Vector m_vecOffsetAxis; // 0x200 + Vector m_vecOffsetAxis; // 0x220 // MPropertyFriendlyName "normalize" - bool m_bNormalize; // 0x20c + bool m_bNormalize; // 0x22c private: - [[maybe_unused]] uint8_t __pad020d[0x3]; // 0x20d + [[maybe_unused]] uint8_t __pad022d[0x3]; // 0x22d public: // MPropertyFriendlyName "strength field" // MPropertyAttributeChoiceName "particlefield_scalar" - ParticleAttributeIndex_t m_nFieldStrength; // 0x210 + ParticleAttributeIndex_t m_nFieldStrength; // 0x230 }; // Alignment: 10 -// Size: 0x1280 +// Size: 0x1300 class C_OP_ChladniWave : public CParticleFunctionOperator { public: // MPropertyFriendlyName "output field" // MPropertyAttributeChoiceName "particlefield_scalar" - ParticleAttributeIndex_t m_nFieldOutput; // 0x1f0 + ParticleAttributeIndex_t m_nFieldOutput; // 0x210 private: - [[maybe_unused]] uint8_t __pad01f4[0x4]; // 0x1f4 + [[maybe_unused]] uint8_t __pad0214[0x4]; // 0x214 public: // MPropertyFriendlyName "wave minimum" - CPerParticleFloatInput m_flInputMin; // 0x1f8 + CPerParticleFloatInput m_flInputMin; // 0x218 // MPropertyFriendlyName "wave maximum" - CPerParticleFloatInput m_flInputMax; // 0x330 + CPerParticleFloatInput m_flInputMax; // 0x358 // MPropertyFriendlyName "output minimum" - CPerParticleFloatInput m_flOutputMin; // 0x468 + CPerParticleFloatInput m_flOutputMin; // 0x498 // MPropertyFriendlyName "output maximum" - CPerParticleFloatInput m_flOutputMax; // 0x5a0 + CPerParticleFloatInput m_flOutputMax; // 0x5d8 // MPropertyFriendlyName "wave length" - CPerParticleVecInput m_vecWaveLength; // 0x6d8 + CPerParticleVecInput m_vecWaveLength; // 0x718 // MPropertyFriendlyName "harmonics" - CPerParticleVecInput m_vecHarmonics; // 0xca0 + CPerParticleVecInput m_vecHarmonics; // 0xd00 // MPropertyFriendlyName "set value method" - ParticleSetMethod_t m_nSetMethod; // 0x1268 + ParticleSetMethod_t m_nSetMethod; // 0x12e8 // MPropertyFriendlyName "local space control point" - int32_t m_nLocalSpaceControlPoint; // 0x126c + int32_t m_nLocalSpaceControlPoint; // 0x12ec // MPropertyFriendlyName "3D" - bool m_b3D; // 0x1270 + bool m_b3D; // 0x12f0 }; // Alignment: 5 -// Size: 0x340 +// Size: 0x370 class C_OP_SetChildControlPoints : public CParticleFunctionOperator { public: // MPropertyFriendlyName "group ID to affect" - int32_t m_nChildGroupID; // 0x1f0 + int32_t m_nChildGroupID; // 0x210 // MPropertyFriendlyName "first control point to set" - int32_t m_nFirstControlPoint; // 0x1f4 + int32_t m_nFirstControlPoint; // 0x214 // MPropertyFriendlyName "# of control points to set" - int32_t m_nNumControlPoints; // 0x1f8 + int32_t m_nNumControlPoints; // 0x218 private: - [[maybe_unused]] uint8_t __pad01fc[0x4]; // 0x1fc + [[maybe_unused]] uint8_t __pad021c[0x4]; // 0x21c public: // MPropertyFriendlyName "first particle to copy" - CParticleCollectionFloatInput m_nFirstSourcePoint; // 0x200 + CParticleCollectionFloatInput m_nFirstSourcePoint; // 0x220 // MPropertyFriendlyName "set orientation" - bool m_bSetOrientation; // 0x338 + bool m_bSetOrientation; // 0x360 }; // Alignment: 2 -// Size: 0x200 +// Size: 0x230 class C_INIT_NormalAlignToCP : public CParticleFunctionInitializer { public: // MPropertyFriendlyName "control point number" - int32_t m_nControlPointNumber; // 0x1f0 + int32_t m_nControlPointNumber; // 0x220 // MPropertyFriendlyName "control point axis" - ParticleControlPointAxis_t m_nControlPointAxis; // 0x1f4 + ParticleControlPointAxis_t m_nControlPointAxis; // 0x224 }; // Alignment: 2 @@ -19229,148 +19393,172 @@ public: }; // Alignment: 7 -// Size: 0x360 +// Size: 0x380 class C_OP_SetControlPointToWaterSurface : public CParticleFunctionPreEmission { public: // MPropertyFriendlyName "source CP" - int32_t m_nSourceCP; // 0x200 + int32_t m_nSourceCP; // 0x220 // MPropertyFriendlyName "CP to set to surface" - int32_t m_nDestCP; // 0x204 + int32_t m_nDestCP; // 0x224 // MPropertyFriendlyName "CP to set to surface current flow velocity" // MPropertySuppressExpr "mod != hlx" - int32_t m_nFlowCP; // 0x208 + int32_t m_nFlowCP; // 0x228 // MPropertyFriendlyName "CP to set component of if water" - int32_t m_nActiveCP; // 0x20c + int32_t m_nActiveCP; // 0x22c // MPropertyFriendlyName "CP component" // MPropertyAttributeChoiceName "vector_component" - int32_t m_nActiveCPField; // 0x210 + int32_t m_nActiveCPField; // 0x230 private: - [[maybe_unused]] uint8_t __pad0214[0x4]; // 0x214 + [[maybe_unused]] uint8_t __pad0234[0x4]; // 0x234 public: // MPropertyFriendlyName "retest rate" - CParticleCollectionFloatInput m_flRetestRate; // 0x218 + CParticleCollectionFloatInput m_flRetestRate; // 0x238 // MPropertyFriendlyName "adaptive retest on moving surface" - bool m_bAdaptiveThreshold; // 0x350 + bool m_bAdaptiveThreshold; // 0x378 }; // Alignment: 2 -// Size: 0x200 +// Size: 0x230 class C_INIT_InheritVelocity : public CParticleFunctionInitializer { public: // MPropertyFriendlyName "control point number" - int32_t m_nControlPointNumber; // 0x1f0 + int32_t m_nControlPointNumber; // 0x220 // MPropertyFriendlyName "velocity scale" - float m_flVelocityScale; // 0x1f4 + float m_flVelocityScale; // 0x224 +}; + +// Alignment: 1 +// Size: 0x50 +class CPulseCell_Step_TestDomainEntFire : public CPulseCell_BaseFlow +{ +public: + CUtlString m_Input; // 0x48 }; // Alignment: 22 -// Size: 0x12a0 +// Size: 0x1330 class C_OP_RenderCables : public CParticleFunctionRenderer { public: // MPropertyStartGroup "Renderer Modifiers" // MPropertyFriendlyName "Radius Scale" // MPropertySortPriority "700" - CParticleCollectionFloatInput m_flRadiusScale; // 0x230 + CParticleCollectionFloatInput m_flRadiusScale; // 0x260 // MPropertyFriendlyName "alpha scale" // MPropertySortPriority "700" - CParticleCollectionFloatInput m_flAlphaScale; // 0x368 + CParticleCollectionFloatInput m_flAlphaScale; // 0x3a0 // MPropertyFriendlyName "color blend" // MPropertySortPriority "700" - CParticleCollectionVecInput m_vecColorScale; // 0x4a0 + CParticleCollectionVecInput m_vecColorScale; // 0x4e0 // MPropertyFriendlyName "color blend type" // MPropertySortPriority "700" - ParticleColorBlendType_t m_nColorBlendType; // 0xa68 + ParticleColorBlendType_t m_nColorBlendType; // 0xac8 private: - [[maybe_unused]] uint8_t __pad0a6c[0x4]; // 0xa6c + [[maybe_unused]] uint8_t __pad0acc[0x4]; // 0xacc public: // MPropertyStartGroup - CStrongHandle< InfoForResourceTypeIMaterial2 > m_hMaterial; // 0xa70 + CStrongHandle< InfoForResourceTypeIMaterial2 > m_hMaterial; // 0xad0 // MPropertyFriendlyName "texture repetition mode" - TextureRepetitionMode_t m_nTextureRepetitionMode; // 0xa78 + TextureRepetitionMode_t m_nTextureRepetitionMode; // 0xad8 private: - [[maybe_unused]] uint8_t __pad0a7c[0x4]; // 0xa7c + [[maybe_unused]] uint8_t __pad0adc[0x4]; // 0xadc public: // MPropertyFriendlyName "texture repetitions" - CParticleCollectionFloatInput m_flTextureRepeatsPerSegment; // 0xa80 + CParticleCollectionFloatInput m_flTextureRepeatsPerSegment; // 0xae0 // MPropertyFriendlyName "texture repetitions around cable" - CParticleCollectionFloatInput m_flTextureRepeatsCircumference; // 0xbb8 + CParticleCollectionFloatInput m_flTextureRepeatsCircumference; // 0xc20 // MPropertyFriendlyName "color map offset along path" - CParticleCollectionFloatInput m_flColorMapOffsetV; // 0xcf0 + CParticleCollectionFloatInput m_flColorMapOffsetV; // 0xd60 // MPropertyFriendlyName "color map offset around cable" - CParticleCollectionFloatInput m_flColorMapOffsetU; // 0xe28 + CParticleCollectionFloatInput m_flColorMapOffsetU; // 0xea0 // MPropertyFriendlyName "normal map offset along path" - CParticleCollectionFloatInput m_flNormalMapOffsetV; // 0xf60 + CParticleCollectionFloatInput m_flNormalMapOffsetV; // 0xfe0 // MPropertyFriendlyName "normal map offset around cable" - CParticleCollectionFloatInput m_flNormalMapOffsetU; // 0x1098 + CParticleCollectionFloatInput m_flNormalMapOffsetU; // 0x1120 // MPropertyFriendlyName "draw caps at each end of the cable" - bool m_bDrawCableCaps; // 0x11d0 + bool m_bDrawCableCaps; // 0x1260 private: - [[maybe_unused]] uint8_t __pad11d1[0x3]; // 0x11d1 + [[maybe_unused]] uint8_t __pad1261[0x3]; // 0x1261 public: // MPropertyFriendlyName "cable end cap shape factor" // MPropertyAttributeRange "0 2" - float m_flCapRoundness; // 0x11d4 + float m_flCapRoundness; // 0x1264 // MPropertyFriendlyName "cable end cap offset amount" // MPropertyAttributeRange "0 2" - float m_flCapOffsetAmount; // 0x11d8 + float m_flCapOffsetAmount; // 0x1268 // MPropertyFriendlyName "tessellation scale factor" - float m_flTessScale; // 0x11dc + float m_flTessScale; // 0x126c // MPropertyFriendlyName "minimum steps between particles" - int32_t m_nMinTesselation; // 0x11e0 + int32_t m_nMinTesselation; // 0x1270 // MPropertyFriendlyName "maximum steps between particles" - int32_t m_nMaxTesselation; // 0x11e4 + int32_t m_nMaxTesselation; // 0x1274 // MPropertyFriendlyName "roundness factor" - int32_t m_nRoundness; // 0x11e8 + int32_t m_nRoundness; // 0x1278 private: - [[maybe_unused]] uint8_t __pad11ec[0x4]; // 0x11ec + [[maybe_unused]] uint8_t __pad127c[0x4]; // 0x127c public: // MPropertyFriendlyName "diffuse lighting origin" // MParticleTransformInputOptional - CParticleTransformInput m_LightingTransform; // 0x11f0 + CParticleTransformInput m_LightingTransform; // 0x1280 // MPropertyFriendlyName "material float variables" - CUtlVector< FloatInputMaterialVariable_t > m_MaterialFloatVars; // 0x1240 + CUtlVector< FloatInputMaterialVariable_t > m_MaterialFloatVars; // 0x12d0 private: - [[maybe_unused]] uint8_t __pad1258[0x18]; // 0x1258 + [[maybe_unused]] uint8_t __pad12e8[0x18]; // 0x12e8 public: // MPropertyFriendlyName "material vector variables" - CUtlVector< VecInputMaterialVariable_t > m_MaterialVecVars; // 0x1270 + CUtlVector< VecInputMaterialVariable_t > m_MaterialVecVars; // 0x1300 +}; + +// Alignment: 0 +// Size: 0x48 +class CPulseCell_Step_TestDomainCreateFakeEntity : public CPulseCell_BaseFlow +{ +public: + // No members available }; // Alignment: 9 -// Size: 0x350 +// Size: 0x380 class C_INIT_InitFromCPSnapshot : public CParticleFunctionInitializer { public: // MPropertyFriendlyName "snapshot control point number" - int32_t m_nControlPointNumber; // 0x1f0 + int32_t m_nControlPointNumber; // 0x220 // MPropertyFriendlyName "field to read" // MPropertyAttributeChoiceName "particlefield" - ParticleAttributeIndex_t m_nAttributeToRead; // 0x1f4 + ParticleAttributeIndex_t m_nAttributeToRead; // 0x224 // MPropertyFriendlyName "field to write" // MPropertyAttributeChoiceName "particlefield" - ParticleAttributeIndex_t m_nAttributeToWrite; // 0x1f8 + ParticleAttributeIndex_t m_nAttributeToWrite; // 0x228 // MPropertyFriendlyName "local space control point number" - int32_t m_nLocalSpaceCP; // 0x1fc + int32_t m_nLocalSpaceCP; // 0x22c // MPropertyFriendlyName "random order" - bool m_bRandom; // 0x200 + bool m_bRandom; // 0x230 // MPropertyFriendlyName "reverse order" - bool m_bReverse; // 0x201 + bool m_bReverse; // 0x231 private: - [[maybe_unused]] uint8_t __pad0202[0x6]; // 0x202 + [[maybe_unused]] uint8_t __pad0232[0x6]; // 0x232 public: // MPropertyFriendlyName "Snapshot increment amount" - CParticleCollectionFloatInput m_nSnapShotIncrement; // 0x208 + CParticleCollectionFloatInput m_nSnapShotIncrement; // 0x238 // MPropertyFriendlyName "random seed" - int32_t m_nRandomSeed; // 0x340 + int32_t m_nRandomSeed; // 0x378 // MPropertyFriendlyName "local space angles" - bool m_bLocalSpaceAngles; // 0x344 + bool m_bLocalSpaceAngles; // 0x37c }; // Alignment: 0 -// Size: 0x250 +// Size: 0x5e8 +class CParticleCollectionRendererVecInput : public CParticleCollectionVecInput +{ +public: + // No members available +}; + +// Alignment: 0 +// Size: 0x270 class C_OP_RemapNamedModelSequenceEndCap : public C_OP_RemapNamedModelElementEndCap { public: @@ -19378,442 +19566,458 @@ public: }; // Alignment: 3 -// Size: 0x340 +// Size: 0x370 class C_INIT_PlaneCull : public CParticleFunctionInitializer { public: // MPropertyFriendlyName "control point of plane" - int32_t m_nControlPoint; // 0x1f0 + int32_t m_nControlPoint; // 0x220 private: - [[maybe_unused]] uint8_t __pad01f4[0x4]; // 0x1f4 + [[maybe_unused]] uint8_t __pad0224[0x4]; // 0x224 public: // MPropertyFriendlyName "cull offset" - CParticleCollectionFloatInput m_flDistance; // 0x1f8 + CParticleCollectionFloatInput m_flDistance; // 0x228 // MPropertyFriendlyName "flip cull normal" - bool m_bCullInside; // 0x330 + bool m_bCullInside; // 0x368 }; // Alignment: 10 -// Size: 0x2b0 +// Size: 0x2d0 class C_OP_PercentageBetweenTransforms : public CParticleFunctionOperator { public: // MPropertyFriendlyName "output field" // MPropertyAttributeChoiceName "particlefield_scalar" - ParticleAttributeIndex_t m_nFieldOutput; // 0x1f0 + ParticleAttributeIndex_t m_nFieldOutput; // 0x210 // MPropertyFriendlyName "percentage minimum" - float m_flInputMin; // 0x1f4 + float m_flInputMin; // 0x214 // MPropertyFriendlyName "percentage maximum" - float m_flInputMax; // 0x1f8 + float m_flInputMax; // 0x218 // MPropertyFriendlyName "output minimum" - float m_flOutputMin; // 0x1fc + float m_flOutputMin; // 0x21c // MPropertyFriendlyName "output maximum" - float m_flOutputMax; // 0x200 + float m_flOutputMax; // 0x220 private: - [[maybe_unused]] uint8_t __pad0204[0x4]; // 0x204 + [[maybe_unused]] uint8_t __pad0224[0x4]; // 0x224 public: // MPropertyFriendlyName "strarting transform" - CParticleTransformInput m_TransformStart; // 0x208 + CParticleTransformInput m_TransformStart; // 0x228 // MPropertyFriendlyName "end transform" - CParticleTransformInput m_TransformEnd; // 0x258 + CParticleTransformInput m_TransformEnd; // 0x278 // MPropertyFriendlyName "set value method" - ParticleSetMethod_t m_nSetMethod; // 0x2a8 + ParticleSetMethod_t m_nSetMethod; // 0x2c8 // MPropertyFriendlyName "only active within input range" - bool m_bActiveRange; // 0x2ac + bool m_bActiveRange; // 0x2cc // MPropertyFriendlyName "treat distance between points as radius" - bool m_bRadialCheck; // 0x2ad + bool m_bRadialCheck; // 0x2cd }; // Alignment: 6 -// Size: 0xee0 +// Size: 0xf40 class C_OP_SetControlPointFieldFromVectorExpression : public CParticleFunctionPreEmission { public: // MPropertyFriendlyName "expression" - VectorFloatExpressionType_t m_nExpression; // 0x200 + VectorFloatExpressionType_t m_nExpression; // 0x220 private: - [[maybe_unused]] uint8_t __pad0204[0x4]; // 0x204 + [[maybe_unused]] uint8_t __pad0224[0x4]; // 0x224 public: // MPropertyFriendlyName "input 1" - CParticleCollectionVecInput m_vecInput1; // 0x208 + CParticleCollectionVecInput m_vecInput1; // 0x228 // MPropertyFriendlyName "input 2" - CParticleCollectionVecInput m_vecInput2; // 0x7d0 + CParticleCollectionVecInput m_vecInput2; // 0x810 // MPropertyFriendlyName "output" - CParticleRemapFloatInput m_flOutputRemap; // 0xd98 + CParticleRemapFloatInput m_flOutputRemap; // 0xdf8 // MPropertyFriendlyName "output control point" - int32_t m_nOutputCP; // 0xed0 + int32_t m_nOutputCP; // 0xf38 // MPropertyFriendlyName "output component" // MPropertyAttributeChoiceName "vector_component" - int32_t m_nOutVectorField; // 0xed4 + int32_t m_nOutVectorField; // 0xf3c }; // Alignment: 9 -// Size: 0x210 +// Size: 0x230 class C_OP_DifferencePreviousParticle : public CParticleFunctionOperator { public: // MPropertyFriendlyName "input field" // MPropertyAttributeChoiceName "particlefield_vector" - ParticleAttributeIndex_t m_nFieldInput; // 0x1f0 + ParticleAttributeIndex_t m_nFieldInput; // 0x210 // MPropertyFriendlyName "output field" // MPropertyAttributeChoiceName "particlefield_scalar" - ParticleAttributeIndex_t m_nFieldOutput; // 0x1f4 + ParticleAttributeIndex_t m_nFieldOutput; // 0x214 // MPropertyFriendlyName "difference minimum" - float m_flInputMin; // 0x1f8 + float m_flInputMin; // 0x218 // MPropertyFriendlyName "difference maximum" - float m_flInputMax; // 0x1fc + float m_flInputMax; // 0x21c // MPropertyFriendlyName "output minimum" - float m_flOutputMin; // 0x200 + float m_flOutputMin; // 0x220 // MPropertyFriendlyName "output maximum" - float m_flOutputMax; // 0x204 + float m_flOutputMax; // 0x224 // MPropertyFriendlyName "set value method" - ParticleSetMethod_t m_nSetMethod; // 0x208 + ParticleSetMethod_t m_nSetMethod; // 0x228 // MPropertyFriendlyName "only active within specified difference" - bool m_bActiveRange; // 0x20c + bool m_bActiveRange; // 0x22c // MPropertyFriendlyName "also set ouput to previous particle" - bool m_bSetPreviousParticle; // 0x20d + bool m_bSetPreviousParticle; // 0x22d }; // Alignment: 3 -// Size: 0x220 +// Size: 0x240 class C_OP_SetControlPointToHMD : public CParticleFunctionPreEmission { public: // MPropertyFriendlyName "control point number" - int32_t m_nCP1; // 0x200 + int32_t m_nCP1; // 0x220 // MPropertyFriendlyName "control point offset" // MVectorIsCoordinate - Vector m_vecCP1Pos; // 0x204 + Vector m_vecCP1Pos; // 0x224 // MPropertyFriendlyName "use hmd orientation" - bool m_bOrientToHMD; // 0x210 + bool m_bOrientToHMD; // 0x230 }; // Alignment: 3 -// Size: 0x470 +// Size: 0x4a0 class C_OP_ClampScalar : public CParticleFunctionOperator { public: // MPropertyFriendlyName "output field" // MPropertyAttributeChoiceName "particlefield_scalar" - ParticleAttributeIndex_t m_nFieldOutput; // 0x1f0 + ParticleAttributeIndex_t m_nFieldOutput; // 0x210 private: - [[maybe_unused]] uint8_t __pad01f4[0x4]; // 0x1f4 + [[maybe_unused]] uint8_t __pad0214[0x4]; // 0x214 public: // MPropertyFriendlyName "output minimum" - CPerParticleFloatInput m_flOutputMin; // 0x1f8 + CPerParticleFloatInput m_flOutputMin; // 0x218 // MPropertyFriendlyName "output maximum" - CPerParticleFloatInput m_flOutputMax; // 0x330 + CPerParticleFloatInput m_flOutputMax; // 0x358 }; // Alignment: 13 -// Size: 0x2b0 +// Size: 0x2e0 class C_INIT_InitialRepulsionVelocity : public CParticleFunctionInitializer { public: // MPropertyFriendlyName "collision group" - char m_CollisionGroupName[128]; // 0x1f0 + char m_CollisionGroupName[128]; // 0x220 // MPropertyFriendlyName "Trace Set" - ParticleTraceSet_t m_nTraceSet; // 0x270 + ParticleTraceSet_t m_nTraceSet; // 0x2a0 // MPropertyFriendlyName "minimum velocity" // MVectorIsCoordinate - Vector m_vecOutputMin; // 0x274 + Vector m_vecOutputMin; // 0x2a4 // MPropertyFriendlyName "maximum velocity" // MVectorIsCoordinate - Vector m_vecOutputMax; // 0x280 + Vector m_vecOutputMax; // 0x2b0 // MPropertyFriendlyName "control point number" - int32_t m_nControlPointNumber; // 0x28c + int32_t m_nControlPointNumber; // 0x2bc // MPropertyFriendlyName "per particle world collision tests" - bool m_bPerParticle; // 0x290 + bool m_bPerParticle; // 0x2c0 // MPropertyFriendlyName "offset instead of accelerate" - bool m_bTranslate; // 0x291 + bool m_bTranslate; // 0x2c1 // MPropertyFriendlyName "offset proportional to radius 0/1" - bool m_bProportional; // 0x292 + bool m_bProportional; // 0x2c2 private: - [[maybe_unused]] uint8_t __pad0293[0x1]; // 0x293 + [[maybe_unused]] uint8_t __pad02c3[0x1]; // 0x2c3 public: // MPropertyFriendlyName "trace length" - float m_flTraceLength; // 0x294 + float m_flTraceLength; // 0x2c4 // MPropertyFriendlyName "use radius for per particle trace length" - bool m_bPerParticleTR; // 0x298 + bool m_bPerParticleTR; // 0x2c8 // MPropertyFriendlyName "inherit from parent" - bool m_bInherit; // 0x299 + bool m_bInherit; // 0x2c9 private: - [[maybe_unused]] uint8_t __pad029a[0x2]; // 0x29a + [[maybe_unused]] uint8_t __pad02ca[0x2]; // 0x2ca public: // MPropertyFriendlyName "control points to broadcast to children (n + 1)" - int32_t m_nChildCP; // 0x29c + int32_t m_nChildCP; // 0x2cc // MPropertyFriendlyName "child group ID to affect" - int32_t m_nChildGroupID; // 0x2a0 + int32_t m_nChildGroupID; // 0x2d0 +}; + +// Alignment: 1 +// Size: 0x4 +struct PulseRuntimeOutputIndex_t +{ +public: + int32_t m_Value; // 0x0 }; // Alignment: 4 -// Size: 0x340 +// Size: 0x360 class C_OP_LerpScalar : public CParticleFunctionOperator { public: // MPropertyFriendlyName "output field" // MPropertyAttributeChoiceName "particlefield_scalar" - ParticleAttributeIndex_t m_nFieldOutput; // 0x1f0 + ParticleAttributeIndex_t m_nFieldOutput; // 0x210 private: - [[maybe_unused]] uint8_t __pad01f4[0x4]; // 0x1f4 + [[maybe_unused]] uint8_t __pad0214[0x4]; // 0x214 public: // MPropertyFriendlyName "value to lerp to" - CPerParticleFloatInput m_flOutput; // 0x1f8 + CPerParticleFloatInput m_flOutput; // 0x218 // MPropertyFriendlyName "start time" - float m_flStartTime; // 0x330 + float m_flStartTime; // 0x358 // MPropertyFriendlyName "end time" - float m_flEndTime; // 0x334 + float m_flEndTime; // 0x35c }; // Alignment: 6 -// Size: 0x470 +// Size: 0x4a0 class C_OP_MovementMoveAlongSkinnedCPSnapshot : public CParticleFunctionOperator { public: // MPropertyFriendlyName "control point number" - int32_t m_nControlPointNumber; // 0x1f0 + int32_t m_nControlPointNumber; // 0x210 // MPropertyFriendlyName "snapshot control point number" - int32_t m_nSnapshotControlPointNumber; // 0x1f4 + int32_t m_nSnapshotControlPointNumber; // 0x214 // MPropertyFriendlyName "set normal" - bool m_bSetNormal; // 0x1f8 + bool m_bSetNormal; // 0x218 // MPropertyFriendlyName "set radius" - bool m_bSetRadius; // 0x1f9 + bool m_bSetRadius; // 0x219 private: - [[maybe_unused]] uint8_t __pad01fa[0x6]; // 0x1fa + [[maybe_unused]] uint8_t __pad021a[0x6]; // 0x21a public: // MPropertyFriendlyName "Interpolation" - CPerParticleFloatInput m_flInterpolation; // 0x200 + CPerParticleFloatInput m_flInterpolation; // 0x220 // MPropertyFriendlyName "Snapshot Index T Value" - CPerParticleFloatInput m_flTValue; // 0x338 + CPerParticleFloatInput m_flTValue; // 0x360 }; // Alignment: 9 -// Size: 0x990 +// Size: 0x9f0 class C_INIT_SetHitboxToModel : public CParticleFunctionInitializer { public: // MPropertyFriendlyName "control point number" - int32_t m_nControlPointNumber; // 0x1f0 + int32_t m_nControlPointNumber; // 0x220 // MPropertyFriendlyName "force to be inside model" - int32_t m_nForceInModel; // 0x1f4 + int32_t m_nForceInModel; // 0x224 // MPropertyFriendlyName "desired hitbox" - int32_t m_nDesiredHitbox; // 0x1f8 + int32_t m_nDesiredHitbox; // 0x228 private: - [[maybe_unused]] uint8_t __pad01fc[0x4]; // 0x1fc + [[maybe_unused]] uint8_t __pad022c[0x4]; // 0x22c public: // MPropertyFriendlyName "model hitbox scale" - CParticleCollectionVecInput m_vecHitBoxScale; // 0x200 + CParticleCollectionVecInput m_vecHitBoxScale; // 0x230 // MPropertyFriendlyName "direction bias" // MVectorIsCoordinate - Vector m_vecDirectionBias; // 0x7c8 + Vector m_vecDirectionBias; // 0x818 // MPropertyFriendlyName "maintain existing hitbox" - bool m_bMaintainHitbox; // 0x7d4 + bool m_bMaintainHitbox; // 0x824 // MPropertyFriendlyName "use bones instead of hitboxes" - bool m_bUseBones; // 0x7d5 + bool m_bUseBones; // 0x825 // MPropertyFriendlyName "hitbox set" - char m_HitboxSetName[128]; // 0x7d6 + char m_HitboxSetName[128]; // 0x826 private: - [[maybe_unused]] uint8_t __pad0856[0x2]; // 0x856 + [[maybe_unused]] uint8_t __pad08a6[0x2]; // 0x8a6 public: // MPropertyFriendlyName "hitbox shell thickness" - CParticleCollectionFloatInput m_flShellSize; // 0x858 + CParticleCollectionFloatInput m_flShellSize; // 0x8a8 }; // Alignment: 5 -// Size: 0x7d0 +// Size: 0x820 class C_INIT_InitVec : public CParticleFunctionInitializer { public: // MPropertyFriendlyName "value" - CPerParticleVecInput m_InputValue; // 0x1f0 + CPerParticleVecInput m_InputValue; // 0x220 // MPropertyFriendlyName "output field" // MPropertyAttributeChoiceName "particlefield_vector" - ParticleAttributeIndex_t m_nOutputField; // 0x7b8 + ParticleAttributeIndex_t m_nOutputField; // 0x808 // MPropertyFriendlyName "set value method" - ParticleSetMethod_t m_nSetMethod; // 0x7bc + ParticleSetMethod_t m_nSetMethod; // 0x80c // MPropertyFriendlyName "normalize result" - bool m_bNormalizedOutput; // 0x7c0 + bool m_bNormalizedOutput; // 0x810 // MPropertyFriendlyName "set previous position" // MPropertySuppressExpr "m_nOutputField != PARTICLE_ATTRIBUTE_XYZ" - bool m_bWritePreviousPosition; // 0x7c1 + bool m_bWritePreviousPosition; // 0x811 }; // Alignment: 2 -// Size: 0x200 +// Size: 0x220 class C_OP_RemapDensityGradientToVectorAttribute : public CParticleFunctionOperator { public: // MPropertyFriendlyName "Radius scale for particle influence" - float m_flRadiusScale; // 0x1f0 + float m_flRadiusScale; // 0x210 // MPropertyFriendlyName "output field" // MPropertyAttributeChoiceName "particlefield_vector" - ParticleAttributeIndex_t m_nFieldOutput; // 0x1f4 + ParticleAttributeIndex_t m_nFieldOutput; // 0x214 }; // Alignment: 1 -// Size: 0x200 +// Size: 0x220 class C_OP_AlphaDecay : public CParticleFunctionOperator { public: // MPropertyFriendlyName "minimum alpha" - float m_flMinAlpha; // 0x1f0 + float m_flMinAlpha; // 0x210 +}; + +// Alignment: 1 +// Size: 0x60 +class CPulseCell_Outflow_CycleShuffled : public CPulseCell_BaseFlow +{ +public: + CUtlVector< CPulse_OutflowConnection > m_Outputs; // 0x48 }; // Alignment: 8 -// Size: 0x210 +// Size: 0x230 class C_OP_SequenceFromModel : public CParticleFunctionOperator { public: // MPropertyFriendlyName "control point number" - int32_t m_nControlPointNumber; // 0x1f0 + int32_t m_nControlPointNumber; // 0x210 // MPropertyFriendlyName "output field" // MPropertyAttributeChoiceName "particlefield_scalar" - ParticleAttributeIndex_t m_nFieldOutput; // 0x1f4 + ParticleAttributeIndex_t m_nFieldOutput; // 0x214 // MPropertyFriendlyName "current anim time output field" // MPropertyAttributeChoiceName "particlefield_scalar" - ParticleAttributeIndex_t m_nFieldOutputAnim; // 0x1f8 + ParticleAttributeIndex_t m_nFieldOutputAnim; // 0x218 // MPropertyFriendlyName "input minimum" - float m_flInputMin; // 0x1fc + float m_flInputMin; // 0x21c // MPropertyFriendlyName "input maximum" - float m_flInputMax; // 0x200 + float m_flInputMax; // 0x220 // MPropertyFriendlyName "output minimum" - float m_flOutputMin; // 0x204 + float m_flOutputMin; // 0x224 // MPropertyFriendlyName "output maximum" - float m_flOutputMax; // 0x208 + float m_flOutputMax; // 0x228 // MPropertyFriendlyName "set value method" - ParticleSetMethod_t m_nSetMethod; // 0x20c + ParticleSetMethod_t m_nSetMethod; // 0x22c }; // Alignment: 3 -// Size: 0x5a0 +// Size: 0x5d0 class C_OP_ColorAdjustHSL : public CParticleFunctionOperator { public: // MPropertyFriendlyName "hue adjust" - CPerParticleFloatInput m_flHueAdjust; // 0x1f0 + CPerParticleFloatInput m_flHueAdjust; // 0x210 // MPropertyFriendlyName "saturation adjust" - CPerParticleFloatInput m_flSaturationAdjust; // 0x328 + CPerParticleFloatInput m_flSaturationAdjust; // 0x350 // MPropertyFriendlyName "lightness adjust" - CPerParticleFloatInput m_flLightnessAdjust; // 0x460 + CPerParticleFloatInput m_flLightnessAdjust; // 0x490 }; // Alignment: 6 -// Size: 0x210 +// Size: 0x230 class C_OP_FadeAndKillForTracers : public CParticleFunctionOperator { public: // MPropertyFriendlyName "start fade in time" - float m_flStartFadeInTime; // 0x1f0 + float m_flStartFadeInTime; // 0x210 // MPropertyFriendlyName "end fade in time" - float m_flEndFadeInTime; // 0x1f4 + float m_flEndFadeInTime; // 0x214 // MPropertyFriendlyName "start fade out time" - float m_flStartFadeOutTime; // 0x1f8 + float m_flStartFadeOutTime; // 0x218 // MPropertyFriendlyName "end fade out time" - float m_flEndFadeOutTime; // 0x1fc + float m_flEndFadeOutTime; // 0x21c // MPropertyFriendlyName "start alpha" - float m_flStartAlpha; // 0x200 + float m_flStartAlpha; // 0x220 // MPropertyFriendlyName "end alpha" - float m_flEndAlpha; // 0x204 + float m_flEndAlpha; // 0x224 }; // Alignment: 6 -// Size: 0x210 +// Size: 0x230 class C_OP_Noise : public CParticleFunctionOperator { public: // MPropertyFriendlyName "output field" // MPropertyAttributeChoiceName "particlefield_scalar" - ParticleAttributeIndex_t m_nFieldOutput; // 0x1f0 + ParticleAttributeIndex_t m_nFieldOutput; // 0x210 // MPropertyFriendlyName "output minimum" - float m_flOutputMin; // 0x1f4 + float m_flOutputMin; // 0x214 // MPropertyFriendlyName "output maximum" - float m_flOutputMax; // 0x1f8 + float m_flOutputMax; // 0x218 // MPropertyFriendlyName "noise coordinate scale" - float m_fl4NoiseScale; // 0x1fc + float m_fl4NoiseScale; // 0x21c // MPropertyFriendlyName "additive" - bool m_bAdditive; // 0x200 + bool m_bAdditive; // 0x220 private: - [[maybe_unused]] uint8_t __pad0201[0x3]; // 0x201 + [[maybe_unused]] uint8_t __pad0221[0x3]; // 0x221 public: // MPropertyFriendlyName "Noise animation time scale" - float m_flNoiseAnimationTimeScale; // 0x204 + float m_flNoiseAnimationTimeScale; // 0x224 }; // Alignment: 2 -// Size: 0x460 +// Size: 0x490 class C_OP_CollideWithSelf : public CParticleFunctionConstraint { public: // MPropertyFriendlyName "particle radius scale" - CPerParticleFloatInput m_flRadiusScale; // 0x1f0 + CPerParticleFloatInput m_flRadiusScale; // 0x210 // MPropertyFriendlyName "minimum speed for check" - CPerParticleFloatInput m_flMinimumSpeed; // 0x328 + CPerParticleFloatInput m_flMinimumSpeed; // 0x350 }; // Alignment: 4 -// Size: 0x200 +// Size: 0x220 class C_OP_LagCompensation : public CParticleFunctionOperator { public: // MPropertyFriendlyName "desired velocity CP" - int32_t m_nDesiredVelocityCP; // 0x1f0 + int32_t m_nDesiredVelocityCP; // 0x210 // MPropertyFriendlyName "latency CP" - int32_t m_nLatencyCP; // 0x1f4 + int32_t m_nLatencyCP; // 0x214 // MPropertyFriendlyName "latency CP field" - int32_t m_nLatencyCPField; // 0x1f8 + int32_t m_nLatencyCPField; // 0x218 // MPropertyFriendlyName "desired velocity CP field override(for speed only)" - int32_t m_nDesiredVelocityCPField; // 0x1fc + int32_t m_nDesiredVelocityCPField; // 0x21c }; // Alignment: 17 -// Size: 0x230 +// Size: 0x260 class C_INIT_InitSkinnedPositionFromCPSnapshot : public CParticleFunctionInitializer { public: // MPropertyFriendlyName "snapshot control point number" - int32_t m_nSnapshotControlPointNumber; // 0x1f0 + int32_t m_nSnapshotControlPointNumber; // 0x220 // MPropertyFriendlyName "control point number" - int32_t m_nControlPointNumber; // 0x1f4 + int32_t m_nControlPointNumber; // 0x224 // MPropertyFriendlyName "random order" - bool m_bRandom; // 0x1f8 + bool m_bRandom; // 0x228 private: - [[maybe_unused]] uint8_t __pad01f9[0x3]; // 0x1f9 + [[maybe_unused]] uint8_t __pad0229[0x3]; // 0x229 public: // MPropertyFriendlyName "random seed" - int32_t m_nRandomSeed; // 0x1fc + int32_t m_nRandomSeed; // 0x22c // MPropertyFriendlyName "prepare for rigid lock" - bool m_bRigid; // 0x200 + bool m_bRigid; // 0x230 // MPropertyFriendlyName "set normal" - bool m_bSetNormal; // 0x201 + bool m_bSetNormal; // 0x231 // MPropertyFriendlyName "normal velocity ignore delta time" - bool m_bIgnoreDt; // 0x202 + bool m_bIgnoreDt; // 0x232 private: - [[maybe_unused]] uint8_t __pad0203[0x1]; // 0x203 + [[maybe_unused]] uint8_t __pad0233[0x1]; // 0x233 public: // MPropertyFriendlyName "normal velocity min" - float m_flMinNormalVelocity; // 0x204 + float m_flMinNormalVelocity; // 0x234 // MPropertyFriendlyName "normal velocity max" - float m_flMaxNormalVelocity; // 0x208 + float m_flMaxNormalVelocity; // 0x238 // MPropertyFriendlyName "particle increment amount" - float m_flIncrement; // 0x20c + float m_flIncrement; // 0x23c // MPropertyFriendlyName "Full Loop Increment Amount" - int32_t m_nFullLoopIncrement; // 0x210 + int32_t m_nFullLoopIncrement; // 0x240 // MPropertyFriendlyName "Snapshot start point" - int32_t m_nSnapShotStartPoint; // 0x214 + int32_t m_nSnapShotStartPoint; // 0x244 // MPropertyFriendlyName "inherited bone velocity" - float m_flBoneVelocity; // 0x218 + float m_flBoneVelocity; // 0x248 // MPropertyFriendlyName "max inherited bone velocity" - float m_flBoneVelocityMax; // 0x21c + float m_flBoneVelocityMax; // 0x24c // MPropertyFriendlyName "Set Color" - bool m_bCopyColor; // 0x220 + bool m_bCopyColor; // 0x250 // MPropertyFriendlyName "Set Alpha" - bool m_bCopyAlpha; // 0x221 + bool m_bCopyAlpha; // 0x251 // MPropertyFriendlyName "Set Radius" - bool m_bSetRadius; // 0x222 + bool m_bSetRadius; // 0x252 }; // Alignment: 0 -// Size: 0x240 +// Size: 0x270 class C_INIT_RemapParticleCountToNamedModelBodyPartScalar : public C_INIT_RemapParticleCountToNamedModelElementScalar { public: @@ -19821,84 +20025,101 @@ public: }; // Alignment: 7 -// Size: 0x350 +// Size: 0x380 class C_OP_RotateVector : public CParticleFunctionOperator { public: // MPropertyFriendlyName "output field" // MPropertyAttributeChoiceName "particlefield_vector" - ParticleAttributeIndex_t m_nFieldOutput; // 0x1f0 + ParticleAttributeIndex_t m_nFieldOutput; // 0x210 // MPropertyFriendlyName "rotation axis min" // MVectorIsCoordinate - Vector m_vecRotAxisMin; // 0x1f4 + Vector m_vecRotAxisMin; // 0x214 // MPropertyFriendlyName "rotation axis max" // MVectorIsCoordinate - Vector m_vecRotAxisMax; // 0x200 + Vector m_vecRotAxisMax; // 0x220 // MPropertyFriendlyName "rotation rate min" - float m_flRotRateMin; // 0x20c + float m_flRotRateMin; // 0x22c // MPropertyFriendlyName "rotation rate max" - float m_flRotRateMax; // 0x210 + float m_flRotRateMax; // 0x230 // MPropertyFriendlyName "normalize output" - bool m_bNormalize; // 0x214 + bool m_bNormalize; // 0x234 private: - [[maybe_unused]] uint8_t __pad0215[0x3]; // 0x215 + [[maybe_unused]] uint8_t __pad0235[0x3]; // 0x235 public: // MPropertyFriendlyName "per particle scale" - CPerParticleFloatInput m_flScale; // 0x218 + CPerParticleFloatInput m_flScale; // 0x238 +}; + +// Alignment: 5 +// Size: 0x108 +class CPulseGraphInstance_TestDomain : public CBasePulseGraphInstance +{ +public: + bool m_bIsRunningUnitTests; // 0xd0 + bool m_bExplicitTimeStepping; // 0xd1 + bool m_bExpectingToDestroyWithYieldedCursors; // 0xd2 +private: + [[maybe_unused]] uint8_t __pad00d3[0x1]; // 0xd3 +public: + int32_t m_nNextValidateIndex; // 0xd4 + CUtlVector< CUtlString > m_Tracepoints; // 0xd8 + + // Static fields: + static double &Get_s_flExplicitCurTime(){return *reinterpret_cast(interfaces::g_schema->FindTypeScopeForModule("!GlobalTypes")->FindDeclaredClass("CPulseGraphInstance_TestDomain")->m_static_fields[0]->m_instance);}; }; // Alignment: 2 -// Size: 0x200 +// Size: 0x220 class C_OP_ConnectParentParticleToNearest : public CParticleFunctionOperator { public: // MPropertyFriendlyName "control point to set" - int32_t m_nFirstControlPoint; // 0x1f0 + int32_t m_nFirstControlPoint; // 0x210 // MPropertyFriendlyName "Second Control point to set" - int32_t m_nSecondControlPoint; // 0x1f4 + int32_t m_nSecondControlPoint; // 0x214 }; // Alignment: 13 -// Size: 0x10b0 +// Size: 0x1130 class C_OP_RenderOmni2Light : public CParticleFunctionRenderer { public: // MPropertyFriendlyName "Type" - ParticleOmni2LightTypeChoiceList_t m_nLightType; // 0x230 + ParticleOmni2LightTypeChoiceList_t m_nLightType; // 0x260 private: - [[maybe_unused]] uint8_t __pad0234[0x4]; // 0x234 + [[maybe_unused]] uint8_t __pad0264[0x4]; // 0x264 public: // MPropertyFriendlyName "Color Blend" - CParticleCollectionVecInput m_vColorBlend; // 0x238 + CParticleCollectionVecInput m_vColorBlend; // 0x268 // MPropertyFriendlyName "Color Blend Type" // MPropertySortPriority "700" - ParticleColorBlendType_t m_nColorBlendType; // 0x800 - ParticleLightUnitChoiceList_t m_nBrightnessUnit; // 0x804 + ParticleColorBlendType_t m_nColorBlendType; // 0x850 + ParticleLightUnitChoiceList_t m_nBrightnessUnit; // 0x854 // MPropertyFriendlyName "Lumens" // MPropertySuppressExpr "m_nBrightnessUnit != PARTICLE_LIGHT_UNIT_LUMENS" - CPerParticleFloatInput m_flBrightnessLumens; // 0x808 + CPerParticleFloatInput m_flBrightnessLumens; // 0x858 // MPropertyFriendlyName "Candelas" // MPropertySuppressExpr "m_nBrightnessUnit != PARTICLE_LIGHT_UNIT_CANDELAS" - CPerParticleFloatInput m_flBrightnessCandelas; // 0x940 + CPerParticleFloatInput m_flBrightnessCandelas; // 0x998 // MPropertyFriendlyName "Shadows" // MPropertySuppressExpr "mod == csgo" - bool m_bCastShadows; // 0xa78 + bool m_bCastShadows; // 0xad8 private: - [[maybe_unused]] uint8_t __pad0a79[0x7]; // 0xa79 + [[maybe_unused]] uint8_t __pad0ad9[0x7]; // 0xad9 public: // MPropertyFriendlyName "Light Radius" - // MPropertySuppressExpr "!m_bAreaLight" - CPerParticleFloatInput m_flLuminaireRadius; // 0xa80 + CPerParticleFloatInput m_flLuminaireRadius; // 0xae0 // MPropertyFriendlyName "Skirt" - CPerParticleFloatInput m_flSkirt; // 0xbb8 + CPerParticleFloatInput m_flSkirt; // 0xc20 // MPropertyFriendlyName "Range" - CPerParticleFloatInput m_flRange; // 0xcf0 + CPerParticleFloatInput m_flRange; // 0xd60 // MPropertyFriendlyName "Inner Cone Angle" - CPerParticleFloatInput m_flInnerConeAngle; // 0xe28 + CPerParticleFloatInput m_flInnerConeAngle; // 0xea0 // MPropertyFriendlyName "Outer Cone Angle" - CPerParticleFloatInput m_flOuterConeAngle; // 0xf60 + CPerParticleFloatInput m_flOuterConeAngle; // 0xfe0 // MPropertyFriendlyName "Cookie" - CStrongHandle< InfoForResourceTypeCTextureBase > m_hLightCookie; // 0x1098 + CStrongHandle< InfoForResourceTypeCTextureBase > m_hLightCookie; // 0x1120 }; // Alignment: 1 @@ -19909,14 +20130,62 @@ public: int32_t unused; // 0x0 }; +// Alignment: 10 +// Size: 0x138 +class CPulseCell_Inflow_Method : public CPulseCell_Inflow_BaseEntrypoint +{ +public: + CUtlSymbolLarge m_MethodName; // 0x70 + CUtlString m_Description; // 0x78 + bool m_bIsPublic; // 0x80 +private: + [[maybe_unused]] uint8_t __pad0081[0x7]; // 0x81 +public: + // MFgdFromSchemaCompletelySkipField + CPulseValueFullType m_ReturnType; // 0x88 + CKV3MemberNameWithStorage m_Arg0Name; // 0x98 + CUtlString m_Arg0Description; // 0xd0 + // MFgdFromSchemaCompletelySkipField + CPulseValueFullType m_Arg0Type; // 0xd8 + CKV3MemberNameWithStorage m_Arg1Name; // 0xe8 + CUtlString m_Arg1Description; // 0x120 + // MFgdFromSchemaCompletelySkipField + CPulseValueFullType m_Arg1Type; // 0x128 +}; + +// Alignment: 5 +// Size: 0x38 +class CPulse_Variable +{ +public: + CUtlSymbolLarge m_Name; // 0x0 + CUtlString m_Description; // 0x8 + CPulseValueFullType m_Type; // 0x10 + KeyValues3 m_DefaultValue; // 0x20 +private: + [[maybe_unused]] uint8_t __pad0030[0x2]; // 0x30 +public: + bool m_bIsPublic; // 0x32 +}; + // Alignment: 0 -// Size: 0x220 +// Size: 0x250 class C_INIT_RandomNamedModelBodyPart : public C_INIT_RandomNamedModelElement { public: // No members available }; +// Alignment: 3 +// Size: 0x30 +class CPulse_InvokeBinding +{ +public: + PulseRegisterMap_t m_RegisterMap; // 0x0 + CUtlSymbolLarge m_FuncName; // 0x20 + PulseRuntimeCellIndex_t m_nCellIndex; // 0x28 +}; + // Alignment: 0 // Size: 0x8 class IParticleEffect @@ -19928,59 +20197,67 @@ public: }; // Alignment: 5 -// Size: 0x210 +// Size: 0x240 class C_INIT_CreateFromParentParticles : public CParticleFunctionInitializer { public: // MPropertyFriendlyName "inherited velocity scale" - float m_flVelocityScale; // 0x1f0 + float m_flVelocityScale; // 0x220 // MPropertyFriendlyName "particle increment amount" - float m_flIncrement; // 0x1f4 + float m_flIncrement; // 0x224 // MPropertyFriendlyName "random parent particle distribution" - bool m_bRandomDistribution; // 0x1f8 + bool m_bRandomDistribution; // 0x228 private: - [[maybe_unused]] uint8_t __pad01f9[0x3]; // 0x1f9 + [[maybe_unused]] uint8_t __pad0229[0x3]; // 0x229 public: // MPropertyFriendlyName "random seed" - int32_t m_nRandomSeed; // 0x1fc + int32_t m_nRandomSeed; // 0x22c // MPropertyFriendlyName "sub frame interpolation" - bool m_bSubFrame; // 0x200 + bool m_bSubFrame; // 0x230 }; // Alignment: 5 -// Size: 0x900 +// Size: 0x950 class C_OP_SetVec : public CParticleFunctionOperator { public: // MPropertyFriendlyName "value" - CPerParticleVecInput m_InputValue; // 0x1f0 + CPerParticleVecInput m_InputValue; // 0x210 // MPropertyFriendlyName "output field" // MPropertyAttributeChoiceName "particlefield_vector" - ParticleAttributeIndex_t m_nOutputField; // 0x7b8 + ParticleAttributeIndex_t m_nOutputField; // 0x7f8 // MPropertyFriendlyName "set value method" - ParticleSetMethod_t m_nSetMethod; // 0x7bc + ParticleSetMethod_t m_nSetMethod; // 0x7fc // MPropertyFriendlyName "interpolation" - CPerParticleFloatInput m_Lerp; // 0x7c0 + CPerParticleFloatInput m_Lerp; // 0x800 // MPropertyFriendlyName "normalize result" - bool m_bNormalizedOutput; // 0x8f8 + bool m_bNormalizedOutput; // 0x940 }; // Alignment: 3 -// Size: 0x210 +// Size: 0x230 class C_OP_MovementMaintainOffset : public CParticleFunctionOperator { public: // MPropertyFriendlyName "desired offset" // MVectorIsCoordinate - Vector m_vecOffset; // 0x1f0 + Vector m_vecOffset; // 0x210 // MPropertyFriendlyName "local space CP" - int32_t m_nCP; // 0x1fc + int32_t m_nCP; // 0x21c // MPropertyFriendlyName "scale by radius" - bool m_bRadiusScale; // 0x200 + bool m_bRadiusScale; // 0x220 +}; + +// Alignment: 1 +// Size: 0x4 +struct PulseRuntimeInvokeIndex_t +{ +public: + int32_t m_Value; // 0x0 }; // Alignment: 0 -// Size: 0x250 +// Size: 0x270 class C_OP_RemapNamedModelBodyPartOnceTimed : public C_OP_RemapNamedModelElementOnceTimed { public: @@ -19988,82 +20265,82 @@ public: }; // Alignment: 14 -// Size: 0x9a0 +// Size: 0x9e0 class C_OP_LockToBone : public CParticleFunctionOperator { public: // MPropertyFriendlyName "control_point_number" - int32_t m_nControlPointNumber; // 0x1f0 + int32_t m_nControlPointNumber; // 0x210 // MPropertyFriendlyName "lifetime fade start" - float m_flLifeTimeFadeStart; // 0x1f4 + float m_flLifeTimeFadeStart; // 0x214 // MPropertyFriendlyName "lifetime fade end" - float m_flLifeTimeFadeEnd; // 0x1f8 + float m_flLifeTimeFadeEnd; // 0x218 // MPropertyFriendlyName "instant jump threshold" - float m_flJumpThreshold; // 0x1fc + float m_flJumpThreshold; // 0x21c // MPropertyFriendlyName "previous position scale" - float m_flPrevPosScale; // 0x200 + float m_flPrevPosScale; // 0x220 // MPropertyFriendlyName "hitbox set" - char m_HitboxSetName[128]; // 0x204 + char m_HitboxSetName[128]; // 0x224 // MPropertyFriendlyName "rigid lock" - bool m_bRigid; // 0x284 + bool m_bRigid; // 0x2a4 // MPropertyFriendlyName "use bones instead of hitboxes" - bool m_bUseBones; // 0x285 + bool m_bUseBones; // 0x2a5 private: - [[maybe_unused]] uint8_t __pad0286[0x2]; // 0x286 + [[maybe_unused]] uint8_t __pad02a6[0x2]; // 0x2a6 public: // MPropertyFriendlyName "output field" // MPropertyAttributeChoiceName "particlefield_vector" - ParticleAttributeIndex_t m_nFieldOutput; // 0x288 + ParticleAttributeIndex_t m_nFieldOutput; // 0x2a8 // MPropertyFriendlyName "output field prev" // MPropertyAttributeChoiceName "particlefield_vector" - ParticleAttributeIndex_t m_nFieldOutputPrev; // 0x28c + ParticleAttributeIndex_t m_nFieldOutputPrev; // 0x2ac // MPropertyStartGroup "Set Rotations to Bones" // MPropertyFriendlyName "lock rotations to bone orientation" - ParticleRotationLockType_t m_nRotationSetType; // 0x290 + ParticleRotationLockType_t m_nRotationSetType; // 0x2b0 // MPropertyFriendlyName "rigid set rotation from bones" - bool m_bRigidRotationLock; // 0x294 + bool m_bRigidRotationLock; // 0x2b4 private: - [[maybe_unused]] uint8_t __pad0295[0x3]; // 0x295 + [[maybe_unused]] uint8_t __pad02b5[0x3]; // 0x2b5 public: // MPropertyFriendlyName "rigid rotation offset pitch/yaw/roll" - CPerParticleVecInput m_vecRotation; // 0x298 + CPerParticleVecInput m_vecRotation; // 0x2b8 // MPropertyFriendlyName "rigid rotation interpolation" - CPerParticleFloatInput m_flRotLerp; // 0x860 + CPerParticleFloatInput m_flRotLerp; // 0x8a0 }; // Alignment: 12 -// Size: 0x2c0 +// Size: 0x2e0 class C_OP_PercentageBetweenTransformLerpCPs : public CParticleFunctionOperator { public: // MPropertyFriendlyName "output field" // MPropertyAttributeChoiceName "particlefield_scalar" - ParticleAttributeIndex_t m_nFieldOutput; // 0x1f0 + ParticleAttributeIndex_t m_nFieldOutput; // 0x210 // MPropertyFriendlyName "percentage minimum" - float m_flInputMin; // 0x1f4 + float m_flInputMin; // 0x214 // MPropertyFriendlyName "percentage maximum" - float m_flInputMax; // 0x1f8 + float m_flInputMax; // 0x218 private: - [[maybe_unused]] uint8_t __pad01fc[0x4]; // 0x1fc + [[maybe_unused]] uint8_t __pad021c[0x4]; // 0x21c public: // MPropertyFriendlyName "strarting transform" - CParticleTransformInput m_TransformStart; // 0x200 + CParticleTransformInput m_TransformStart; // 0x220 // MPropertyFriendlyName "end transform" - CParticleTransformInput m_TransformEnd; // 0x250 + CParticleTransformInput m_TransformEnd; // 0x270 // MPropertyFriendlyName "output starting control point number" - int32_t m_nOutputStartCP; // 0x2a0 + int32_t m_nOutputStartCP; // 0x2c0 // MPropertyFriendlyName "output starting control point field 0-2 X/Y/Z" - int32_t m_nOutputStartField; // 0x2a4 + int32_t m_nOutputStartField; // 0x2c4 // MPropertyFriendlyName "output ending control point number" - int32_t m_nOutputEndCP; // 0x2a8 + int32_t m_nOutputEndCP; // 0x2c8 // MPropertyFriendlyName "output ending control point field 0-2 X/Y/Z" - int32_t m_nOutputEndField; // 0x2ac + int32_t m_nOutputEndField; // 0x2cc // MPropertyFriendlyName "set value method" - ParticleSetMethod_t m_nSetMethod; // 0x2b0 + ParticleSetMethod_t m_nSetMethod; // 0x2d0 // MPropertyFriendlyName "only active within input range" - bool m_bActiveRange; // 0x2b4 + bool m_bActiveRange; // 0x2d4 // MPropertyFriendlyName "treat distance between points as radius" - bool m_bRadialCheck; // 0x2b5 + bool m_bRadialCheck; // 0x2d5 }; // Alignment: 3 @@ -20079,127 +20356,145 @@ public: bool m_bOffsetInLocalSpace; // 0x10 }; +// Alignment: 0 +// Size: 0x48 +class CPulseCell_BaseYieldingInflow : public CPulseCell_BaseFlow +{ +public: + // No members available +}; + // Alignment: 3 -// Size: 0x200 +// Size: 0x220 class C_OP_DampenToCP : public CParticleFunctionOperator { public: // MPropertyFriendlyName "control point number" - int32_t m_nControlPointNumber; // 0x1f0 + int32_t m_nControlPointNumber; // 0x210 // MPropertyFriendlyName "falloff range" - float m_flRange; // 0x1f4 + float m_flRange; // 0x214 // MPropertyFriendlyName "dampen scale" - float m_flScale; // 0x1f8 + float m_flScale; // 0x218 }; // Alignment: 9 -// Size: 0x1270 +// Size: 0x12f0 class C_OP_DistanceBetweenVecs : public CParticleFunctionOperator { public: // MPropertyFriendlyName "output field" // MPropertyAttributeChoiceName "particlefield_scalar" - ParticleAttributeIndex_t m_nFieldOutput; // 0x1f0 + ParticleAttributeIndex_t m_nFieldOutput; // 0x210 private: - [[maybe_unused]] uint8_t __pad01f4[0x4]; // 0x1f4 + [[maybe_unused]] uint8_t __pad0214[0x4]; // 0x214 public: // MPropertyFriendlyName "first vector" - CPerParticleVecInput m_vecPoint1; // 0x1f8 + CPerParticleVecInput m_vecPoint1; // 0x218 // MPropertyFriendlyName "second vector" - CPerParticleVecInput m_vecPoint2; // 0x7c0 + CPerParticleVecInput m_vecPoint2; // 0x800 // MPropertyFriendlyName "distance minimum" - CPerParticleFloatInput m_flInputMin; // 0xd88 + CPerParticleFloatInput m_flInputMin; // 0xde8 // MPropertyFriendlyName "distance maximum" - CPerParticleFloatInput m_flInputMax; // 0xec0 + CPerParticleFloatInput m_flInputMax; // 0xf28 // MPropertyFriendlyName "output minimum" - CPerParticleFloatInput m_flOutputMin; // 0xff8 + CPerParticleFloatInput m_flOutputMin; // 0x1068 // MPropertyFriendlyName "output maximum" - CPerParticleFloatInput m_flOutputMax; // 0x1130 + CPerParticleFloatInput m_flOutputMax; // 0x11a8 // MPropertyFriendlyName "set value method" - ParticleSetMethod_t m_nSetMethod; // 0x1268 + ParticleSetMethod_t m_nSetMethod; // 0x12e8 // MPropertyFriendlyName "divide by deltatime (for comparing motion since last simulation)" - bool m_bDeltaTime; // 0x126c + bool m_bDeltaTime; // 0x12ec }; // Alignment: 6 -// Size: 0x210 +// Size: 0x240 class CGeneralRandomRotation : public CParticleFunctionInitializer { public: // MPropertyFriendlyName "rotation field" // MPropertyAttributeChoiceName "particlefield_rotation" - ParticleAttributeIndex_t m_nFieldOutput; // 0x1f0 + ParticleAttributeIndex_t m_nFieldOutput; // 0x220 // MPropertyFriendlyName "rotation initial" - float m_flDegrees; // 0x1f4 + float m_flDegrees; // 0x224 // MPropertyFriendlyName "rotation offset from initial min" - float m_flDegreesMin; // 0x1f8 + float m_flDegreesMin; // 0x228 // MPropertyFriendlyName "rotation offset from initial max" - float m_flDegreesMax; // 0x1fc + float m_flDegreesMax; // 0x22c // MPropertyFriendlyName "rotation offset exponent" - float m_flRotationRandExponent; // 0x200 + float m_flRotationRandExponent; // 0x230 // MPropertyFriendlyName "randomly flip direction" - bool m_bRandomlyFlipDirection; // 0x204 + bool m_bRandomlyFlipDirection; // 0x234 }; // Alignment: 3 -// Size: 0x200 +// Size: 0x220 class C_OP_RemapVectorComponentToScalar : public CParticleFunctionOperator { public: // MPropertyFriendlyName "Input Vector" // MPropertyAttributeChoiceName "particlefield_vector" - ParticleAttributeIndex_t m_nFieldInput; // 0x1f0 + ParticleAttributeIndex_t m_nFieldInput; // 0x210 // MPropertyFriendlyName "Output Scalar" // MPropertyAttributeChoiceName "particlefield_scalar" - ParticleAttributeIndex_t m_nFieldOutput; // 0x1f4 + ParticleAttributeIndex_t m_nFieldOutput; // 0x214 // MPropertyFriendlyName "Vector Component" // MPropertyAttributeChoiceName "vector_component" - int32_t m_nComponent; // 0x1f8 + int32_t m_nComponent; // 0x218 }; // Alignment: 8 -// Size: 0x220 +// Size: 0x250 class C_INIT_AgeNoise : public CParticleFunctionInitializer { public: // MPropertyFriendlyName "absolute value" - bool m_bAbsVal; // 0x1f0 + bool m_bAbsVal; // 0x220 // MPropertyFriendlyName "invert absolute value" - bool m_bAbsValInv; // 0x1f1 + bool m_bAbsValInv; // 0x221 private: - [[maybe_unused]] uint8_t __pad01f2[0x2]; // 0x1f2 + [[maybe_unused]] uint8_t __pad0222[0x2]; // 0x222 public: // MPropertyFriendlyName "time coordinate offset" - float m_flOffset; // 0x1f4 + float m_flOffset; // 0x224 // MPropertyFriendlyName "start age minimum" - float m_flAgeMin; // 0x1f8 + float m_flAgeMin; // 0x228 // MPropertyFriendlyName "start age maximum" - float m_flAgeMax; // 0x1fc + float m_flAgeMax; // 0x22c // MPropertyFriendlyName "time noise coordinate scale" - float m_flNoiseScale; // 0x200 + float m_flNoiseScale; // 0x230 // MPropertyFriendlyName "spatial noise coordinate scale" - float m_flNoiseScaleLoc; // 0x204 + float m_flNoiseScaleLoc; // 0x234 // MPropertyFriendlyName "spatial coordinate offset" // MVectorIsCoordinate - Vector m_vecOffsetLoc; // 0x208 + Vector m_vecOffsetLoc; // 0x238 +}; + +// Alignment: 0 +// Size: 0x1 +class CPulseTurtleGraphicsLib +{ +private: + [[maybe_unused]] uint8_t __pad0000[0x1]; // 0x0 +public: + // No members available }; // Alignment: 4 -// Size: 0x350 +// Size: 0x370 class C_OP_SetControlPointPositionToRandomActiveCP : public CParticleFunctionPreEmission { public: // MPropertyFriendlyName "control point number" - int32_t m_nCP1; // 0x200 + int32_t m_nCP1; // 0x220 // MPropertyFriendlyName "min active CP" - int32_t m_nHeadLocationMin; // 0x204 + int32_t m_nHeadLocationMin; // 0x224 // MPropertyFriendlyName "max active CP" - int32_t m_nHeadLocationMax; // 0x208 + int32_t m_nHeadLocationMax; // 0x228 private: - [[maybe_unused]] uint8_t __pad020c[0x4]; // 0x20c + [[maybe_unused]] uint8_t __pad022c[0x4]; // 0x22c public: // MPropertyFriendlyName "reset rate" - CParticleCollectionFloatInput m_flResetRate; // 0x210 + CParticleCollectionFloatInput m_flResetRate; // 0x230 }; // Alignment: 1 @@ -20212,57 +20507,57 @@ public: }; // Alignment: 4 -// Size: 0x490 +// Size: 0x4c0 class C_OP_SetFloatCollection : public CParticleFunctionOperator { public: // MPropertyFriendlyName "value" - CParticleCollectionFloatInput m_InputValue; // 0x1f0 + CParticleCollectionFloatInput m_InputValue; // 0x210 // MPropertyFriendlyName "output field" // MPropertyAttributeChoiceName "particlefield_scalar" - ParticleAttributeIndex_t m_nOutputField; // 0x328 + ParticleAttributeIndex_t m_nOutputField; // 0x350 // MPropertyFriendlyName "set value method" - ParticleSetMethod_t m_nSetMethod; // 0x32c + ParticleSetMethod_t m_nSetMethod; // 0x354 // MPropertyFriendlyName "interpolation" - CParticleCollectionFloatInput m_Lerp; // 0x330 + CParticleCollectionFloatInput m_Lerp; // 0x358 }; // Alignment: 2 -// Size: 0x200 +// Size: 0x230 class C_INIT_RandomSecondSequence : public CParticleFunctionInitializer { public: // MPropertyFriendlyName "sequence min" // MPropertyAttributeEditor "SequencePicker( 2 )" - int32_t m_nSequenceMin; // 0x1f0 + int32_t m_nSequenceMin; // 0x220 // MPropertyFriendlyName "sequence max" // MPropertyAttributeEditor "SequencePicker( 2 )" - int32_t m_nSequenceMax; // 0x1f4 + int32_t m_nSequenceMax; // 0x224 }; // Alignment: 5 -// Size: 0x210 +// Size: 0x230 class C_OP_InheritFromParentParticlesV2 : public CParticleFunctionOperator { public: // MPropertyFriendlyName "scale" - float m_flScale; // 0x1f0 + float m_flScale; // 0x210 // MPropertyFriendlyName "inherited field" // MPropertyAttributeChoiceName "particlefield" - ParticleAttributeIndex_t m_nFieldOutput; // 0x1f4 + ParticleAttributeIndex_t m_nFieldOutput; // 0x214 // MPropertyFriendlyName "particle increment amount" - int32_t m_nIncrement; // 0x1f8 + int32_t m_nIncrement; // 0x218 // MPropertyFriendlyName "random parent particle distribution" - bool m_bRandomDistribution; // 0x1fc + bool m_bRandomDistribution; // 0x21c private: - [[maybe_unused]] uint8_t __pad01fd[0x3]; // 0x1fd + [[maybe_unused]] uint8_t __pad021d[0x3]; // 0x21d public: // MPropertyFriendlyName "behavior if parent particle dies" - MissingParentInheritBehavior_t m_nMissingParentBehavior; // 0x200 + MissingParentInheritBehavior_t m_nMissingParentBehavior; // 0x220 }; // Alignment: 0 -// Size: 0x210 +// Size: 0x240 class C_INIT_RandomRotationSpeed : public CGeneralRandomRotation { public: @@ -20270,166 +20565,166 @@ public: }; // Alignment: 4 -// Size: 0x250 +// Size: 0x270 class C_OP_RemapTransformOrientationToRotations : public CParticleFunctionOperator { public: // MPropertyFriendlyName "transform input" - CParticleTransformInput m_TransformInput; // 0x1f0 + CParticleTransformInput m_TransformInput; // 0x210 // MPropertyFriendlyName "offset pitch/yaw/roll" - Vector m_vecRotation; // 0x240 + Vector m_vecRotation; // 0x260 // MPropertyFriendlyName "Use Quaternians Internally" - bool m_bUseQuat; // 0x24c + bool m_bUseQuat; // 0x26c // MPropertyFriendlyName "Write normal instead of rotation" - bool m_bWriteNormal; // 0x24d + bool m_bWriteNormal; // 0x26d }; // Alignment: 4 -// Size: 0xd90 +// Size: 0xdf0 class C_OP_RemapCrossProductOfTwoVectorsToVector : public CParticleFunctionOperator { public: // MPropertyFriendlyName "input vector 1" - CPerParticleVecInput m_InputVec1; // 0x1f0 + CPerParticleVecInput m_InputVec1; // 0x210 // MPropertyFriendlyName "input vector 2" - CPerParticleVecInput m_InputVec2; // 0x7b8 + CPerParticleVecInput m_InputVec2; // 0x7f8 // MPropertyFriendlyName "output field" // MPropertyAttributeChoiceName "particlefield_vector" - ParticleAttributeIndex_t m_nFieldOutput; // 0xd80 + ParticleAttributeIndex_t m_nFieldOutput; // 0xde0 // MPropertyFriendlyName "normalize output" - bool m_bNormalize; // 0xd84 + bool m_bNormalize; // 0xde4 }; // Alignment: 2 -// Size: 0x200 +// Size: 0x220 class C_OP_SetCPOrientationToDirection : public CParticleFunctionOperator { public: // MPropertyFriendlyName "input control point" - int32_t m_nInputControlPoint; // 0x1f0 + int32_t m_nInputControlPoint; // 0x210 // MPropertyFriendlyName "output control point" - int32_t m_nOutputControlPoint; // 0x1f4 + int32_t m_nOutputControlPoint; // 0x214 }; // Alignment: 17 -// Size: 0x3f0 +// Size: 0x410 class C_OP_MovementPlaceOnGround : public CParticleFunctionOperator { public: // MPropertyFriendlyName "offset" - CPerParticleFloatInput m_flOffset; // 0x1f0 + CPerParticleFloatInput m_flOffset; // 0x210 // MPropertyFriendlyName "max trace length" - float m_flMaxTraceLength; // 0x328 + float m_flMaxTraceLength; // 0x350 // MPropertyFriendlyName "CP movement tolerance" - float m_flTolerance; // 0x32c + float m_flTolerance; // 0x354 // MPropertyFriendlyName "trace offset" - float m_flTraceOffset; // 0x330 + float m_flTraceOffset; // 0x358 // MPropertyFriendlyName "interpolation rate" - float m_flLerpRate; // 0x334 + float m_flLerpRate; // 0x35c // MPropertyFriendlyName "collision group" - char m_CollisionGroupName[128]; // 0x338 + char m_CollisionGroupName[128]; // 0x360 // MPropertyFriendlyName "Trace Set" - ParticleTraceSet_t m_nTraceSet; // 0x3b8 + ParticleTraceSet_t m_nTraceSet; // 0x3e0 // MPropertyFriendlyName "reference CP 1" - int32_t m_nRefCP1; // 0x3bc + int32_t m_nRefCP1; // 0x3e4 // MPropertyFriendlyName "reference CP 2" - int32_t m_nRefCP2; // 0x3c0 + int32_t m_nRefCP2; // 0x3e8 // MPropertyFriendlyName "interploation distance tolerance cp" - int32_t m_nLerpCP; // 0x3c4 + int32_t m_nLerpCP; // 0x3ec private: - [[maybe_unused]] uint8_t __pad03c8[0x8]; // 0x3c8 + [[maybe_unused]] uint8_t __pad03f0[0x8]; // 0x3f0 public: // MPropertyFriendlyName "No Collision Behavior" - ParticleTraceMissBehavior_t m_nTraceMissBehavior; // 0x3d0 + ParticleTraceMissBehavior_t m_nTraceMissBehavior; // 0x3f8 // MPropertyFriendlyName "include default contents trace hulls" - bool m_bIncludeShotHull; // 0x3d4 + bool m_bIncludeShotHull; // 0x3fc // MPropertyFriendlyName "include water" - bool m_bIncludeWater; // 0x3d5 + bool m_bIncludeWater; // 0x3fd private: - [[maybe_unused]] uint8_t __pad03d6[0x2]; // 0x3d6 + [[maybe_unused]] uint8_t __pad03fe[0x2]; // 0x3fe public: // MPropertyFriendlyName "set normal" - bool m_bSetNormal; // 0x3d8 + bool m_bSetNormal; // 0x400 // MPropertyFriendlyName "treat offset as scalar of particle radius" - bool m_bScaleOffset; // 0x3d9 + bool m_bScaleOffset; // 0x401 private: - [[maybe_unused]] uint8_t __pad03da[0x2]; // 0x3da + [[maybe_unused]] uint8_t __pad0402[0x2]; // 0x402 public: // MPropertyFriendlyName "preserve initial Z-offset relative to cp" - int32_t m_nPreserveOffsetCP; // 0x3dc + int32_t m_nPreserveOffsetCP; // 0x404 // MPropertyFriendlyName "CP Entity to Ignore for Collisions" - int32_t m_nIgnoreCP; // 0x3e0 + int32_t m_nIgnoreCP; // 0x408 }; // Alignment: 5 -// Size: 0x220 +// Size: 0x240 class C_OP_LockToPointList : public CParticleFunctionOperator { public: // MPropertyFriendlyName "output field" // MPropertyAttributeChoiceName "particlefield_vector" - ParticleAttributeIndex_t m_nFieldOutput; // 0x1f0 + ParticleAttributeIndex_t m_nFieldOutput; // 0x210 private: - [[maybe_unused]] uint8_t __pad01f4[0x4]; // 0x1f4 + [[maybe_unused]] uint8_t __pad0214[0x4]; // 0x214 public: // MPropertyFriendlyName "point list" - CUtlVector< PointDefinition_t > m_pointList; // 0x1f8 + CUtlVector< PointDefinition_t > m_pointList; // 0x218 // MPropertyFriendlyName "space points along path" - bool m_bPlaceAlongPath; // 0x210 + bool m_bPlaceAlongPath; // 0x230 // MPropertyFriendlyName "Treat path as a loop" - bool m_bClosedLoop; // 0x211 + bool m_bClosedLoop; // 0x231 private: - [[maybe_unused]] uint8_t __pad0212[0x2]; // 0x212 + [[maybe_unused]] uint8_t __pad0232[0x2]; // 0x232 public: // MPropertyFriendlyName "Numer of points along path" - int32_t m_nNumPointsAlongPath; // 0x214 + int32_t m_nNumPointsAlongPath; // 0x234 }; // Alignment: 6 -// Size: 0x350 +// Size: 0x370 class C_OP_SetCPOrientationToPointAtCP : public CParticleFunctionPreEmission { public: // MPropertyFriendlyName "CP to point towards" - int32_t m_nInputCP; // 0x200 + int32_t m_nInputCP; // 0x220 // MPropertyFriendlyName "CP to set" - int32_t m_nOutputCP; // 0x204 + int32_t m_nOutputCP; // 0x224 // MPropertyFriendlyName "Interpolation" - CParticleCollectionFloatInput m_flInterpolation; // 0x208 + CParticleCollectionFloatInput m_flInterpolation; // 0x228 // MPropertyFriendlyName "2D Orient" - bool m_b2DOrientation; // 0x340 + bool m_b2DOrientation; // 0x368 // MPropertyFriendlyName "Avoid Vertical Axis Singularity" - bool m_bAvoidSingularity; // 0x341 + bool m_bAvoidSingularity; // 0x369 // MPropertyFriendlyName "Point Away" - bool m_bPointAway; // 0x342 + bool m_bPointAway; // 0x36a }; // Alignment: 1 -// Size: 0x200 +// Size: 0x220 class C_OP_VelocityDecay : public CParticleFunctionOperator { public: // MPropertyFriendlyName "minimum velocity" - float m_flMinVelocity; // 0x1f0 + float m_flMinVelocity; // 0x210 }; // Alignment: 3 -// Size: 0x210 +// Size: 0x230 class C_OP_LerpEndCapVector : public CParticleFunctionOperator { public: // MPropertyFriendlyName "output field" // MPropertyAttributeChoiceName "particlefield_vector" - ParticleAttributeIndex_t m_nFieldOutput; // 0x1f0 + ParticleAttributeIndex_t m_nFieldOutput; // 0x210 // MPropertyFriendlyName "value to lerp to" // MVectorIsSometimesCoordinate - Vector m_vecOutput; // 0x1f4 + Vector m_vecOutput; // 0x214 // MPropertyFriendlyName "lerp time" - float m_flLerpTime; // 0x200 + float m_flLerpTime; // 0x220 }; // Alignment: 0 -// Size: 0x210 +// Size: 0x240 class C_INIT_RandomRotation : public CGeneralRandomRotation { public: @@ -20437,63 +20732,63 @@ public: }; // Alignment: 5 -// Size: 0xa40 +// Size: 0xa90 class C_OP_LerpToInitialPosition : public CParticleFunctionOperator { public: // MPropertyFriendlyName "control point number" - int32_t m_nControlPointNumber; // 0x1f0 + int32_t m_nControlPointNumber; // 0x210 private: - [[maybe_unused]] uint8_t __pad01f4[0x4]; // 0x1f4 + [[maybe_unused]] uint8_t __pad0214[0x4]; // 0x214 public: // MPropertyFriendlyName "Interpolation" - CPerParticleFloatInput m_flInterpolation; // 0x1f8 + CPerParticleFloatInput m_flInterpolation; // 0x218 // MPropertyFriendlyName "position cache attribute" // MPropertyAttributeChoiceName "particlefield_vector" - ParticleAttributeIndex_t m_nCacheField; // 0x330 + ParticleAttributeIndex_t m_nCacheField; // 0x358 private: - [[maybe_unused]] uint8_t __pad0334[0x4]; // 0x334 + [[maybe_unused]] uint8_t __pad035c[0x4]; // 0x35c public: // MPropertyFriendlyName "scale" - CParticleCollectionFloatInput m_flScale; // 0x338 + CParticleCollectionFloatInput m_flScale; // 0x360 // MPropertyFriendlyName "component scale" - CParticleCollectionVecInput m_vecScale; // 0x470 + CParticleCollectionVecInput m_vecScale; // 0x4a0 }; // Alignment: 2 -// Size: 0x240 +// Size: 0x270 class C_OP_RenderText : public CParticleFunctionRenderer { public: // MPropertyFriendlyName "outline color" - Color m_OutlineColor; // 0x230 + Color m_OutlineColor; // 0x260 private: - [[maybe_unused]] uint8_t __pad0234[0x4]; // 0x234 + [[maybe_unused]] uint8_t __pad0264[0x4]; // 0x264 public: // MPropertyFriendlyName "default text" - CUtlString m_DefaultText; // 0x238 + CUtlString m_DefaultText; // 0x268 }; // Alignment: 5 -// Size: 0x470 +// Size: 0x4a0 class C_OP_ReadFromNeighboringParticle : public CParticleFunctionOperator { public: // MPropertyFriendlyName "read field" // MPropertyAttributeChoiceName "particlefield" - ParticleAttributeIndex_t m_nFieldInput; // 0x1f0 + ParticleAttributeIndex_t m_nFieldInput; // 0x210 // MPropertyFriendlyName "written field" // MPropertyAttributeChoiceName "particlefield" - ParticleAttributeIndex_t m_nFieldOutput; // 0x1f4 + ParticleAttributeIndex_t m_nFieldOutput; // 0x214 // MPropertyFriendlyName "particle increment amount" - int32_t m_nIncrement; // 0x1f8 + int32_t m_nIncrement; // 0x218 private: - [[maybe_unused]] uint8_t __pad01fc[0x4]; // 0x1fc + [[maybe_unused]] uint8_t __pad021c[0x4]; // 0x21c public: // MPropertyFriendlyName "maximum distance" - CPerParticleFloatInput m_DistanceCheck; // 0x200 + CPerParticleFloatInput m_DistanceCheck; // 0x220 // MPropertyFriendlyName "Interpolation" - CPerParticleFloatInput m_flInterpolation; // 0x338 + CPerParticleFloatInput m_flInterpolation; // 0x360 }; // Alignment: 2 @@ -20509,93 +20804,93 @@ public: }; // Alignment: 1 -// Size: 0x200 +// Size: 0x230 class C_INIT_RandomYawFlip : public CParticleFunctionInitializer { public: // MPropertyFriendlyName "flip percentage" - float m_flPercent; // 0x1f0 + float m_flPercent; // 0x220 }; // Alignment: 4 -// Size: 0x200 +// Size: 0x220 class C_OP_Cull : public CParticleFunctionOperator { public: // MPropertyFriendlyName "cull percentage" - float m_flCullPerc; // 0x1f0 + float m_flCullPerc; // 0x210 // MPropertyFriendlyName "cull start time" - float m_flCullStart; // 0x1f4 + float m_flCullStart; // 0x214 // MPropertyFriendlyName "cull end time" - float m_flCullEnd; // 0x1f8 + float m_flCullEnd; // 0x218 // MPropertyFriendlyName "cull time exponent" - float m_flCullExp; // 0x1fc + float m_flCullExp; // 0x21c }; // Alignment: 4 -// Size: 0x250 +// Size: 0x280 class C_INIT_RemapTransformOrientationToRotations : public CParticleFunctionInitializer { public: // MPropertyFriendlyName "transform input" - CParticleTransformInput m_TransformInput; // 0x1f0 + CParticleTransformInput m_TransformInput; // 0x220 // MPropertyFriendlyName "offset pitch/yaw/roll" - Vector m_vecRotation; // 0x240 + Vector m_vecRotation; // 0x270 // MPropertyFriendlyName "Use Quaternians Internally" - bool m_bUseQuat; // 0x24c + bool m_bUseQuat; // 0x27c // MPropertyFriendlyName "Write normal instead of rotation" - bool m_bWriteNormal; // 0x24d + bool m_bWriteNormal; // 0x27d }; // Alignment: 1 -// Size: 0x200 +// Size: 0x220 class C_OP_NormalLock : public CParticleFunctionOperator { public: // MPropertyFriendlyName "control point number" - int32_t m_nControlPointNumber; // 0x1f0 + int32_t m_nControlPointNumber; // 0x210 }; // Alignment: 4 -// Size: 0x240 +// Size: 0x260 class C_OP_LockToSavedSequentialPathV2 : public CParticleFunctionOperator { public: // MPropertyFriendlyName "start fade time" - float m_flFadeStart; // 0x1f0 + float m_flFadeStart; // 0x210 // MPropertyFriendlyName "end fade time" - float m_flFadeEnd; // 0x1f4 + float m_flFadeEnd; // 0x214 // MPropertyFriendlyName "Use sequential CP pairs between start and end point" - bool m_bCPPairs; // 0x1f8 + bool m_bCPPairs; // 0x218 private: - [[maybe_unused]] uint8_t __pad01f9[0x7]; // 0x1f9 + [[maybe_unused]] uint8_t __pad0219[0x7]; // 0x219 public: - CPathParameters m_PathParams; // 0x200 + CPathParameters m_PathParams; // 0x220 }; // Alignment: 6 -// Size: 0x260 +// Size: 0x290 class C_INIT_RemapInitialDirectionToTransformToVector : public CParticleFunctionInitializer { public: // MPropertyFriendlyName "transform input" - CParticleTransformInput m_TransformInput; // 0x1f0 + CParticleTransformInput m_TransformInput; // 0x220 // MPropertyFriendlyName "output field" // MPropertyAttributeChoiceName "particlefield_vector" - ParticleAttributeIndex_t m_nFieldOutput; // 0x240 + ParticleAttributeIndex_t m_nFieldOutput; // 0x270 // MPropertyFriendlyName "scale factor" - float m_flScale; // 0x244 + float m_flScale; // 0x274 // MPropertyFriendlyName "offset rotation" - float m_flOffsetRot; // 0x248 + float m_flOffsetRot; // 0x278 // MPropertyFriendlyName "offset axis" // MVectorIsCoordinate - Vector m_vecOffsetAxis; // 0x24c + Vector m_vecOffsetAxis; // 0x27c // MPropertyFriendlyName "normalize" - bool m_bNormalize; // 0x258 + bool m_bNormalize; // 0x288 }; // Alignment: 2 -// Size: 0x5d0 +// Size: 0x5f0 struct VecInputMaterialVariable_t { public: @@ -20606,278 +20901,312 @@ public: }; // Alignment: 6 -// Size: 0x4c0 +// Size: 0x500 class C_INIT_CreateSequentialPathV2 : public CParticleFunctionInitializer { public: // MPropertyFriendlyName "maximum distance" - CPerParticleFloatInput m_fMaxDistance; // 0x1f0 + CPerParticleFloatInput m_fMaxDistance; // 0x220 // MPropertyFriendlyName "particles to map from start to end" - CParticleCollectionFloatInput m_flNumToAssign; // 0x328 + CParticleCollectionFloatInput m_flNumToAssign; // 0x360 // MPropertyFriendlyName "restart behavior (0 = bounce, 1 = loop )" - bool m_bLoop; // 0x460 + bool m_bLoop; // 0x4a0 // MPropertyFriendlyName "use sequential CP pairs between start and end point" - bool m_bCPPairs; // 0x461 + bool m_bCPPairs; // 0x4a1 // MPropertyFriendlyName "save offset" - bool m_bSaveOffset; // 0x462 + bool m_bSaveOffset; // 0x4a2 private: - [[maybe_unused]] uint8_t __pad0463[0xd]; // 0x463 + [[maybe_unused]] uint8_t __pad04a3[0xd]; // 0x4a3 public: - CPathParameters m_PathParams; // 0x470 + CPathParameters m_PathParams; // 0x4b0 }; // Alignment: 7 -// Size: 0x210 +// Size: 0x230 class C_OP_RemapVisibilityScalar : public CParticleFunctionOperator { public: // MPropertyFriendlyName "input field" // MPropertyAttributeChoiceName "particlefield_scalar" - ParticleAttributeIndex_t m_nFieldInput; // 0x1f0 + ParticleAttributeIndex_t m_nFieldInput; // 0x210 // MPropertyFriendlyName "output field" // MPropertyAttributeChoiceName "particlefield_scalar" - ParticleAttributeIndex_t m_nFieldOutput; // 0x1f4 + ParticleAttributeIndex_t m_nFieldOutput; // 0x214 // MPropertyFriendlyName "visibility minimum" - float m_flInputMin; // 0x1f8 + float m_flInputMin; // 0x218 // MPropertyFriendlyName "visibility maximum" - float m_flInputMax; // 0x1fc + float m_flInputMax; // 0x21c // MPropertyFriendlyName "output minimum" - float m_flOutputMin; // 0x200 + float m_flOutputMin; // 0x220 // MPropertyFriendlyName "output maximum" - float m_flOutputMax; // 0x204 + float m_flOutputMax; // 0x224 // MPropertyFriendlyName "radius scale" - float m_flRadiusScale; // 0x208 + float m_flRadiusScale; // 0x228 }; // Alignment: 0 -// Size: 0x230 +// Size: 0x260 class C_OP_RenderClothForce : public CParticleFunctionRenderer { public: // No members available }; +// Alignment: 1 +// Size: 0x60 +class CPulseCell_Outflow_SimultaneousParallel : public CPulseCell_BaseFlow +{ +public: + CUtlVector< CPulse_OutflowConnection > m_Outputs; // 0x48 +}; + // Alignment: 6 -// Size: 0x210 +// Size: 0x230 class C_OP_RestartAfterDuration : public CParticleFunctionOperator { public: // MPropertyFriendlyName "minimum restart time" - float m_flDurationMin; // 0x1f0 + float m_flDurationMin; // 0x210 // MPropertyFriendlyName "maximum restart time" - float m_flDurationMax; // 0x1f4 + float m_flDurationMax; // 0x214 // MPropertyFriendlyName "control point to scale duration" - int32_t m_nCP; // 0x1f8 + int32_t m_nCP; // 0x218 // MPropertyFriendlyName "control point field X/Y/Z" // MPropertyAttributeChoiceName "vector_component" - int32_t m_nCPField; // 0x1fc + int32_t m_nCPField; // 0x21c // MPropertyFriendlyName "child group ID" - int32_t m_nChildGroupID; // 0x200 + int32_t m_nChildGroupID; // 0x220 // MPropertyFriendlyName "only restart children" - bool m_bOnlyChildren; // 0x204 + bool m_bOnlyChildren; // 0x224 +}; + +// Alignment: 0 +// Size: 0xf0 +class CPulseGraphInstance_TurtleGraphics : public CBasePulseGraphInstance +{ +public: + // No members available }; // Alignment: 14 -// Size: 0x11c0 +// Size: 0x1250 class C_INIT_CreateOnModelAtHeight : public CParticleFunctionInitializer { public: // MPropertyFriendlyName "use bones instead of hitboxes" - bool m_bUseBones; // 0x1f0 + bool m_bUseBones; // 0x220 // MPropertyFriendlyName "force creation height to desired height" - bool m_bForceZ; // 0x1f1 + bool m_bForceZ; // 0x221 private: - [[maybe_unused]] uint8_t __pad01f2[0x2]; // 0x1f2 + [[maybe_unused]] uint8_t __pad0222[0x2]; // 0x222 public: // MPropertyFriendlyName "control point number" - int32_t m_nControlPointNumber; // 0x1f4 + int32_t m_nControlPointNumber; // 0x224 // MPropertyFriendlyName "height override control point number" - int32_t m_nHeightCP; // 0x1f8 + int32_t m_nHeightCP; // 0x228 // MPropertyFriendlyName "desired height is relative to water" - bool m_bUseWaterHeight; // 0x1fc + bool m_bUseWaterHeight; // 0x22c private: - [[maybe_unused]] uint8_t __pad01fd[0x3]; // 0x1fd + [[maybe_unused]] uint8_t __pad022d[0x3]; // 0x22d public: // MPropertyFriendlyName "relative desired height" - CParticleCollectionFloatInput m_flDesiredHeight; // 0x200 + CParticleCollectionFloatInput m_flDesiredHeight; // 0x230 // MPropertyFriendlyName "model hitbox scale" - CParticleCollectionVecInput m_vecHitBoxScale; // 0x338 + CParticleCollectionVecInput m_vecHitBoxScale; // 0x370 // MPropertyFriendlyName "direction bias" // MVectorIsCoordinate - CParticleCollectionVecInput m_vecDirectionBias; // 0x900 + CParticleCollectionVecInput m_vecDirectionBias; // 0x958 // MPropertyFriendlyName "bias type" - ParticleHitboxBiasType_t m_nBiasType; // 0xec8 + ParticleHitboxBiasType_t m_nBiasType; // 0xf40 // MPropertyFriendlyName "bias in local space" - bool m_bLocalCoords; // 0xecc + bool m_bLocalCoords; // 0xf44 // MPropertyFriendlyName "bias prefers moving hitboxes" - bool m_bPreferMovingBoxes; // 0xecd + bool m_bPreferMovingBoxes; // 0xf45 // MPropertyFriendlyName "hitbox set" - char m_HitboxSetName[128]; // 0xece + char m_HitboxSetName[128]; // 0xf46 private: - [[maybe_unused]] uint8_t __pad0f4e[0x2]; // 0xf4e + [[maybe_unused]] uint8_t __pad0fc6[0x2]; // 0xfc6 public: // MPropertyFriendlyName "hitbox velocity inherited scale" - CParticleCollectionFloatInput m_flHitboxVelocityScale; // 0xf50 + CParticleCollectionFloatInput m_flHitboxVelocityScale; // 0xfc8 // MPropertyFriendlyName "max hitbox velocity" - CParticleCollectionFloatInput m_flMaxBoneVelocity; // 0x1088 + CParticleCollectionFloatInput m_flMaxBoneVelocity; // 0x1108 }; // Alignment: 3 -// Size: 0x200 +// Size: 0xc0 +class CPulseCell_Step_BaseCallMethod : public CPulseCell_BaseFlow +{ +public: + CUtlSymbolLarge m_MethodName; // 0x48 + CKV3MemberNameWithStorage m_Arg0Name; // 0x50 + CKV3MemberNameWithStorage m_Arg1Name; // 0x88 +}; + +// Alignment: 3 +// Size: 0x230 class C_INIT_RandomAlphaWindowThreshold : public CParticleFunctionInitializer { public: // MPropertyFriendlyName "min" - float m_flMin; // 0x1f0 + float m_flMin; // 0x220 // MPropertyFriendlyName "max" - float m_flMax; // 0x1f4 + float m_flMax; // 0x224 // MPropertyFriendlyName "exponent" - float m_flExponent; // 0x1f8 + float m_flExponent; // 0x228 }; -// Alignment: 3 -// Size: 0x200 -class C_OP_VelocityMatchingForce : public CParticleFunctionOperator +// Alignment: 0 +// Size: 0xc0 +class CPulseCell_Step_CallExternalMethod : public CPulseCell_Step_BaseCallMethod { public: - // MPropertyFriendlyName "direction matching strength" - float m_flDirScale; // 0x1f0 - // MPropertyFriendlyName "speed matching strength" - float m_flSpdScale; // 0x1f4 - // MPropertyFriendlyName "control point to broadcast speed and direction to" - int32_t m_nCPBroadcast; // 0x1f8 + // No members available }; // Alignment: 3 // Size: 0x220 +class C_OP_VelocityMatchingForce : public CParticleFunctionOperator +{ +public: + // MPropertyFriendlyName "direction matching strength" + float m_flDirScale; // 0x210 + // MPropertyFriendlyName "speed matching strength" + float m_flSpdScale; // 0x214 + // MPropertyFriendlyName "control point to broadcast speed and direction to" + int32_t m_nCPBroadcast; // 0x218 +}; + +// Alignment: 3 +// Size: 0x240 class C_OP_RampCPLinearRandom : public CParticleFunctionPreEmission { public: // MPropertyFriendlyName "output control point" - int32_t m_nOutControlPointNumber; // 0x200 + int32_t m_nOutControlPointNumber; // 0x220 // MPropertyFriendlyName "ramp rate min" - Vector m_vecRateMin; // 0x204 + Vector m_vecRateMin; // 0x224 // MPropertyFriendlyName "ramp rate max" - Vector m_vecRateMax; // 0x210 + Vector m_vecRateMax; // 0x230 }; // Alignment: 10 -// Size: 0x950 +// Size: 0x9b0 class C_INIT_CreateOnGrid : public CParticleFunctionInitializer { public: // MPropertyFriendlyName "X Dimension Count" - CParticleCollectionFloatInput m_nXCount; // 0x1f0 + CParticleCollectionFloatInput m_nXCount; // 0x220 // MPropertyFriendlyName "Y Dimension Count" - CParticleCollectionFloatInput m_nYCount; // 0x328 + CParticleCollectionFloatInput m_nYCount; // 0x360 // MPropertyFriendlyName "Z Dimension Count" - CParticleCollectionFloatInput m_nZCount; // 0x460 + CParticleCollectionFloatInput m_nZCount; // 0x4a0 // MPropertyFriendlyName "X Dimension Spacing" - CParticleCollectionFloatInput m_nXSpacing; // 0x598 + CParticleCollectionFloatInput m_nXSpacing; // 0x5e0 // MPropertyFriendlyName "Y Dimension Spacing" - CParticleCollectionFloatInput m_nYSpacing; // 0x6d0 + CParticleCollectionFloatInput m_nYSpacing; // 0x720 // MPropertyFriendlyName "Z Dimension Spacing" - CParticleCollectionFloatInput m_nZSpacing; // 0x808 + CParticleCollectionFloatInput m_nZSpacing; // 0x860 // MPropertyFriendlyName "control point number" - int32_t m_nControlPointNumber; // 0x940 + int32_t m_nControlPointNumber; // 0x9a0 // MPropertyFriendlyName "use local space" - bool m_bLocalSpace; // 0x944 + bool m_bLocalSpace; // 0x9a4 // MPropertyFriendlyName "center around control point" - bool m_bCenter; // 0x945 + bool m_bCenter; // 0x9a5 // MPropertyFriendlyName "hollow" - bool m_bHollow; // 0x946 + bool m_bHollow; // 0x9a6 }; // Alignment: 1 -// Size: 0x240 +// Size: 0x270 class C_OP_RenderPoints : public CParticleFunctionRenderer { public: - CStrongHandle< InfoForResourceTypeIMaterial2 > m_hMaterial; // 0x230 + CStrongHandle< InfoForResourceTypeIMaterial2 > m_hMaterial; // 0x260 }; // Alignment: 7 -// Size: 0x230 +// Size: 0x260 class C_INIT_ColorLitPerParticle : public CParticleFunctionInitializer { private: - [[maybe_unused]] uint8_t __pad01f0[0x18]; // 0x1f0 + [[maybe_unused]] uint8_t __pad0220[0x18]; // 0x220 public: // MPropertyFriendlyName "color1" - Color m_ColorMin; // 0x208 + Color m_ColorMin; // 0x238 // MPropertyFriendlyName "color2" - Color m_ColorMax; // 0x20c + Color m_ColorMax; // 0x23c // MPropertyFriendlyName "tint clamp min" - Color m_TintMin; // 0x210 + Color m_TintMin; // 0x240 // MPropertyFriendlyName "tint clamp max" - Color m_TintMax; // 0x214 + Color m_TintMax; // 0x244 // MPropertyFriendlyName "light bias" - float m_flTintPerc; // 0x218 + float m_flTintPerc; // 0x248 // MPropertyFriendlyName "tint blend mode" - ParticleColorBlendMode_t m_nTintBlendMode; // 0x21c + ParticleColorBlendMode_t m_nTintBlendMode; // 0x24c // MPropertyFriendlyName "light amplification amount" - float m_flLightAmplification; // 0x220 + float m_flLightAmplification; // 0x250 }; // Alignment: 6 -// Size: 0xde0 +// Size: 0xe50 class C_INIT_PositionOffset : public CParticleFunctionInitializer { public: // MPropertyFriendlyName "offset min" // MVectorIsCoordinate - CPerParticleVecInput m_OffsetMin; // 0x1f0 + CPerParticleVecInput m_OffsetMin; // 0x220 // MPropertyFriendlyName "offset max" // MVectorIsCoordinate - CPerParticleVecInput m_OffsetMax; // 0x7b8 + CPerParticleVecInput m_OffsetMax; // 0x808 // MPropertyFriendlyName "transform input" - CParticleTransformInput m_TransformInput; // 0xd80 + CParticleTransformInput m_TransformInput; // 0xdf0 // MPropertyFriendlyName "offset in local space 0/1" - bool m_bLocalCoords; // 0xdd0 + bool m_bLocalCoords; // 0xe40 // MPropertyFriendlyName "offset proportional to radius 0/1" - bool m_bProportional; // 0xdd1 + bool m_bProportional; // 0xe41 private: - [[maybe_unused]] uint8_t __pad0dd2[0x2]; // 0xdd2 + [[maybe_unused]] uint8_t __pad0e42[0x2]; // 0xe42 public: // MPropertyFriendlyName "Random number generator controls" - CRandomNumberGeneratorParameters m_randomnessParameters; // 0xdd4 + CRandomNumberGeneratorParameters m_randomnessParameters; // 0xe44 }; // Alignment: 1 -// Size: 0x330 +// Size: 0x350 class C_OP_DecayClampCount : public CParticleFunctionOperator { public: // MPropertyFriendlyName "Maximum Count" - CParticleCollectionFloatInput m_nCount; // 0x1f0 + CParticleCollectionFloatInput m_nCount; // 0x210 }; // Alignment: 7 -// Size: 0x260 +// Size: 0x290 class C_OP_RenderLights : public C_OP_RenderPoints { public: // MPropertyFriendlyName "animation rate" - float m_flAnimationRate; // 0x240 + float m_flAnimationRate; // 0x270 // MPropertyFriendlyName "animation type" - AnimationType_t m_nAnimationType; // 0x244 + AnimationType_t m_nAnimationType; // 0x274 // MPropertyFriendlyName "set animation value in FPS" - bool m_bAnimateInFPS; // 0x248 + bool m_bAnimateInFPS; // 0x278 private: - [[maybe_unused]] uint8_t __pad0249[0x3]; // 0x249 + [[maybe_unused]] uint8_t __pad0279[0x3]; // 0x279 public: // MPropertyFriendlyName "minimum visual size" - float m_flMinSize; // 0x24c + float m_flMinSize; // 0x27c // MPropertyFriendlyName "maximum visual size" - float m_flMaxSize; // 0x250 + float m_flMaxSize; // 0x280 // MPropertyFriendlyName "size at which to start fading" - float m_flStartFadeSize; // 0x254 + float m_flStartFadeSize; // 0x284 // MPropertyFriendlyName "size at which to fade away" - float m_flEndFadeSize; // 0x258 + float m_flEndFadeSize; // 0x288 }; // Alignment: 0 -// Size: 0x240 +// Size: 0x270 class C_INIT_RemapNamedModelSequenceToScalar : public C_INIT_RemapNamedModelElementToScalar { public: @@ -20885,351 +21214,362 @@ public: }; // Alignment: 6 -// Size: 0x230 +// Size: 0x250 class C_OP_ColorInterpolateRandom : public CParticleFunctionOperator { public: // MPropertyFriendlyName "color fade min" - Color m_ColorFadeMin; // 0x1f0 + Color m_ColorFadeMin; // 0x210 private: - [[maybe_unused]] uint8_t __pad01f4[0x18]; // 0x1f4 + [[maybe_unused]] uint8_t __pad0214[0x18]; // 0x214 public: // MPropertyFriendlyName "color fade max" - Color m_ColorFadeMax; // 0x20c + Color m_ColorFadeMax; // 0x22c private: - [[maybe_unused]] uint8_t __pad0210[0xc]; // 0x210 + [[maybe_unused]] uint8_t __pad0230[0xc]; // 0x230 public: // MPropertyFriendlyName "fade start time" - float m_flFadeStartTime; // 0x21c + float m_flFadeStartTime; // 0x23c // MPropertyFriendlyName "fade end time" - float m_flFadeEndTime; // 0x220 + float m_flFadeEndTime; // 0x240 // MPropertyFriendlyName "output field" // MPropertyAttributeChoiceName "particlefield_vector" - ParticleAttributeIndex_t m_nFieldOutput; // 0x224 + ParticleAttributeIndex_t m_nFieldOutput; // 0x244 // MPropertyFriendlyName "ease in and out" - bool m_bEaseInOut; // 0x228 + bool m_bEaseInOut; // 0x248 }; // Alignment: 7 -// Size: 0x300 +// Size: 0x320 class C_OP_SetControlPointsToModelParticles : public CParticleFunctionOperator { public: // MPropertyFriendlyName "hitbox set" - char m_HitboxSetName[128]; // 0x1f0 + char m_HitboxSetName[128]; // 0x210 // MPropertyFriendlyName "attachment to follow" - char m_AttachmentName[128]; // 0x270 + char m_AttachmentName[128]; // 0x290 // MPropertyFriendlyName "First control point to set" - int32_t m_nFirstControlPoint; // 0x2f0 + int32_t m_nFirstControlPoint; // 0x310 // MPropertyFriendlyName "# of control points to set" - int32_t m_nNumControlPoints; // 0x2f4 + int32_t m_nNumControlPoints; // 0x314 // MPropertyFriendlyName "first particle to copy" - int32_t m_nFirstSourcePoint; // 0x2f8 + int32_t m_nFirstSourcePoint; // 0x318 // MPropertyFriendlyName "use skinning instead of hitboxes" - bool m_bSkin; // 0x2fc + bool m_bSkin; // 0x31c // MPropertyFriendlyName "follow attachment" - bool m_bAttachment; // 0x2fd + bool m_bAttachment; // 0x31d }; // Alignment: 5 -// Size: 0x260 +// Size: 0x290 class C_INIT_CreateAlongPath : public CParticleFunctionInitializer { public: // MPropertyFriendlyName "maximum distance" - float m_fMaxDistance; // 0x1f0 + float m_fMaxDistance; // 0x220 private: - [[maybe_unused]] uint8_t __pad01f4[0xc]; // 0x1f4 + [[maybe_unused]] uint8_t __pad0224[0xc]; // 0x224 public: - CPathParameters m_PathParams; // 0x200 + CPathParameters m_PathParams; // 0x230 // MPropertyFriendlyName "randomly select sequential CP pairs between start and end points" - bool m_bUseRandomCPs; // 0x240 + bool m_bUseRandomCPs; // 0x270 private: - [[maybe_unused]] uint8_t __pad0241[0x3]; // 0x241 + [[maybe_unused]] uint8_t __pad0271[0x3]; // 0x271 public: // MPropertyFriendlyName "Offset from control point for path end" // MVectorIsCoordinate - Vector m_vEndOffset; // 0x244 + Vector m_vEndOffset; // 0x274 // MPropertyFriendlyName "save offset" - bool m_bSaveOffset; // 0x250 + bool m_bSaveOffset; // 0x280 }; // Alignment: 4 -// Size: 0x210 +// Size: 0x230 class C_OP_DistanceCull : public CParticleFunctionOperator { public: // MPropertyFriendlyName "control point" - int32_t m_nControlPoint; // 0x1f0 + int32_t m_nControlPoint; // 0x210 // MPropertyFriendlyName "control point offset" // MVectorIsCoordinate - Vector m_vecPointOffset; // 0x1f4 + Vector m_vecPointOffset; // 0x214 // MPropertyFriendlyName "cull distance" - float m_flDistance; // 0x200 + float m_flDistance; // 0x220 // MPropertyFriendlyName "cull inside instead of outside" - bool m_bCullInside; // 0x204 + bool m_bCullInside; // 0x224 }; // Alignment: 8 -// Size: 0x250 +// Size: 0x270 class C_OP_ConstrainDistanceToPath : public CParticleFunctionConstraint { public: // MPropertyFriendlyName "minimum distance" - float m_fMinDistance; // 0x1f0 + float m_fMinDistance; // 0x210 // MPropertyFriendlyName "maximum distance" - float m_flMaxDistance0; // 0x1f4 + float m_flMaxDistance0; // 0x214 // MPropertyFriendlyName "maximum distance middle" - float m_flMaxDistanceMid; // 0x1f8 + float m_flMaxDistanceMid; // 0x218 // MPropertyFriendlyName "maximum distance end" - float m_flMaxDistance1; // 0x1fc - CPathParameters m_PathParameters; // 0x200 + float m_flMaxDistance1; // 0x21c + CPathParameters m_PathParameters; // 0x220 // MPropertyFriendlyName "travel time" - float m_flTravelTime; // 0x240 + float m_flTravelTime; // 0x260 // MPropertyFriendlyName "travel time scale field" // MPropertyAttributeChoiceName "particlefield_scalar" - ParticleAttributeIndex_t m_nFieldScale; // 0x244 + ParticleAttributeIndex_t m_nFieldScale; // 0x264 // MPropertyFriendlyName "manual time placement field" // MPropertyAttributeChoiceName "particlefield_scalar" - ParticleAttributeIndex_t m_nManualTField; // 0x248 + ParticleAttributeIndex_t m_nManualTField; // 0x268 }; // Alignment: 4 -// Size: 0x220 +// Size: 0x240 class C_OP_SetControlPointToHand : public CParticleFunctionPreEmission { public: // MPropertyFriendlyName "control point number" - int32_t m_nCP1; // 0x200 + int32_t m_nCP1; // 0x220 // MPropertyFriendlyName "hand" - int32_t m_nHand; // 0x204 + int32_t m_nHand; // 0x224 // MPropertyFriendlyName "control point offset" // MVectorIsCoordinate - Vector m_vecCP1Pos; // 0x208 + Vector m_vecCP1Pos; // 0x228 // MPropertyFriendlyName "use hand orientation" - bool m_bOrientToHand; // 0x214 + bool m_bOrientToHand; // 0x234 }; // Alignment: 15 -// Size: 0x2c0 +// Size: 0x2e0 class C_OP_DistanceBetweenCPsToCP : public CParticleFunctionPreEmission { public: // MPropertyFriendlyName "starting control point" - int32_t m_nStartCP; // 0x200 + int32_t m_nStartCP; // 0x220 // MPropertyFriendlyName "ending control point" - int32_t m_nEndCP; // 0x204 + int32_t m_nEndCP; // 0x224 // MPropertyFriendlyName "output control point" - int32_t m_nOutputCP; // 0x208 + int32_t m_nOutputCP; // 0x228 // MPropertyFriendlyName "output control point field" - int32_t m_nOutputCPField; // 0x20c + int32_t m_nOutputCPField; // 0x22c // MPropertyFriendlyName "only set distance once" - bool m_bSetOnce; // 0x210 + bool m_bSetOnce; // 0x230 private: - [[maybe_unused]] uint8_t __pad0211[0x3]; // 0x211 + [[maybe_unused]] uint8_t __pad0231[0x3]; // 0x231 public: // MPropertyFriendlyName "distance minimum" - float m_flInputMin; // 0x214 + float m_flInputMin; // 0x234 // MPropertyFriendlyName "distance maximum" - float m_flInputMax; // 0x218 + float m_flInputMax; // 0x238 // MPropertyFriendlyName "output minimum" - float m_flOutputMin; // 0x21c + float m_flOutputMin; // 0x23c // MPropertyFriendlyName "output maximum" - float m_flOutputMax; // 0x220 + float m_flOutputMax; // 0x240 // MPropertyFriendlyName "maximum trace length" - float m_flMaxTraceLength; // 0x224 + float m_flMaxTraceLength; // 0x244 // MPropertyFriendlyName "LOS Failure Scale" - float m_flLOSScale; // 0x228 + float m_flLOSScale; // 0x248 // MPropertyFriendlyName "ensure line of sight" - bool m_bLOS; // 0x22c + bool m_bLOS; // 0x24c // MPropertyFriendlyName "LOS collision group" - char m_CollisionGroupName[128]; // 0x22d + char m_CollisionGroupName[128]; // 0x24d private: - [[maybe_unused]] uint8_t __pad02ad[0x3]; // 0x2ad + [[maybe_unused]] uint8_t __pad02cd[0x3]; // 0x2cd public: // MPropertyFriendlyName "Trace Set" - ParticleTraceSet_t m_nTraceSet; // 0x2b0 + ParticleTraceSet_t m_nTraceSet; // 0x2d0 // MPropertyFriendlyName "set parent" - ParticleParentSetMode_t m_nSetParent; // 0x2b4 + ParticleParentSetMode_t m_nSetParent; // 0x2d4 }; // Alignment: 11 -// Size: 0x5c0 +// Size: 0x5f0 class C_OP_SetFromCPSnapshot : public CParticleFunctionOperator { public: // MPropertyFriendlyName "snapshot control point number" - int32_t m_nControlPointNumber; // 0x1f0 + int32_t m_nControlPointNumber; // 0x210 // MPropertyFriendlyName "field to read" // MPropertyAttributeChoiceName "particlefield" - ParticleAttributeIndex_t m_nAttributeToRead; // 0x1f4 + ParticleAttributeIndex_t m_nAttributeToRead; // 0x214 // MPropertyFriendlyName "field to write" // MPropertyAttributeChoiceName "particlefield" - ParticleAttributeIndex_t m_nAttributeToWrite; // 0x1f8 + ParticleAttributeIndex_t m_nAttributeToWrite; // 0x218 // MPropertyFriendlyName "local space control point number" - int32_t m_nLocalSpaceCP; // 0x1fc + int32_t m_nLocalSpaceCP; // 0x21c // MPropertyFriendlyName "random order" - bool m_bRandom; // 0x200 + bool m_bRandom; // 0x220 // MPropertyFriendlyName "reverse order" - bool m_bReverse; // 0x201 + bool m_bReverse; // 0x221 private: - [[maybe_unused]] uint8_t __pad0202[0x2]; // 0x202 + [[maybe_unused]] uint8_t __pad0222[0x2]; // 0x222 public: // MPropertyFriendlyName "random seed" - int32_t m_nRandomSeed; // 0x204 + int32_t m_nRandomSeed; // 0x224 // MPropertyFriendlyName "Snapshot start point" - CParticleCollectionFloatInput m_nSnapShotStartPoint; // 0x208 + CParticleCollectionFloatInput m_nSnapShotStartPoint; // 0x228 // MPropertyFriendlyName "Snapshot increment amount" - CParticleCollectionFloatInput m_nSnapShotIncrement; // 0x340 + CParticleCollectionFloatInput m_nSnapShotIncrement; // 0x368 // MPropertyFriendlyName "Interpolation" - CPerParticleFloatInput m_flInterpolation; // 0x478 + CPerParticleFloatInput m_flInterpolation; // 0x4a8 // MPropertyFriendlyName "Sub-Sample Between Input Points" - bool m_bSubSample; // 0x5b0 + bool m_bSubSample; // 0x5e8 }; // Alignment: 3 -// Size: 0x200 +// Size: 0x220 class C_OP_RemapVectortoCP : public CParticleFunctionOperator { public: // MPropertyFriendlyName "output control point" - int32_t m_nOutControlPointNumber; // 0x1f0 + int32_t m_nOutControlPointNumber; // 0x210 // MPropertyFriendlyName "input field" // MPropertyAttributeChoiceName "particlefield_vector" - ParticleAttributeIndex_t m_nFieldInput; // 0x1f4 + ParticleAttributeIndex_t m_nFieldInput; // 0x214 // MPropertyFriendlyName "particle number to read" - int32_t m_nParticleNumber; // 0x1f8 + int32_t m_nParticleNumber; // 0x218 }; // Alignment: 6 -// Size: 0xed0 +// Size: 0xf30 class C_OP_SetFloatAttributeToVectorExpression : public CParticleFunctionOperator { public: // MPropertyFriendlyName "expression" - VectorFloatExpressionType_t m_nExpression; // 0x1f0 + VectorFloatExpressionType_t m_nExpression; // 0x210 private: - [[maybe_unused]] uint8_t __pad01f4[0x4]; // 0x1f4 + [[maybe_unused]] uint8_t __pad0214[0x4]; // 0x214 public: // MPropertyFriendlyName "input 1" - CPerParticleVecInput m_vInput1; // 0x1f8 + CPerParticleVecInput m_vInput1; // 0x218 // MPropertyFriendlyName "input 2" - CPerParticleVecInput m_vInput2; // 0x7c0 + CPerParticleVecInput m_vInput2; // 0x800 // MPropertyFriendlyName "output" - CParticleRemapFloatInput m_flOutputRemap; // 0xd88 + CParticleRemapFloatInput m_flOutputRemap; // 0xde8 // MPropertyFriendlyName "output field" // MPropertyAttributeChoiceName "particlefield_scalar" - ParticleAttributeIndex_t m_nOutputField; // 0xec0 + ParticleAttributeIndex_t m_nOutputField; // 0xf28 // MPropertyFriendlyName "set value method" - ParticleSetMethod_t m_nSetMethod; // 0xec4 + ParticleSetMethod_t m_nSetMethod; // 0xf2c }; // Alignment: 5 -// Size: 0x210 +// Size: 0x230 class C_OP_RemapDistanceToLineSegmentBase : public CParticleFunctionOperator { public: // MPropertyFriendlyName "control point 0" - int32_t m_nCP0; // 0x1f0 + int32_t m_nCP0; // 0x210 // MPropertyFriendlyName "control point 1" - int32_t m_nCP1; // 0x1f4 + int32_t m_nCP1; // 0x214 // MPropertyFriendlyName "min distance value" - float m_flMinInputValue; // 0x1f8 + float m_flMinInputValue; // 0x218 // MPropertyFriendlyName "max distance value" - float m_flMaxInputValue; // 0x1fc + float m_flMaxInputValue; // 0x21c // MPropertyFriendlyName "use distance to an infinite line instead of a finite line segment" - bool m_bInfiniteLine; // 0x200 + bool m_bInfiniteLine; // 0x220 }; // Alignment: 13 -// Size: 0x2e0 +// Size: 0x310 class C_INIT_RemapTransformToVector : public CParticleFunctionInitializer { public: // MPropertyFriendlyName "output field" // MPropertyAttributeChoiceName "particlefield_vector" - ParticleAttributeIndex_t m_nFieldOutput; // 0x1f0 + ParticleAttributeIndex_t m_nFieldOutput; // 0x220 // MPropertyFriendlyName "input minimum" // MVectorIsSometimesCoordinate - Vector m_vInputMin; // 0x1f4 + Vector m_vInputMin; // 0x224 // MPropertyFriendlyName "input maximum" // MVectorIsSometimesCoordinate - Vector m_vInputMax; // 0x200 + Vector m_vInputMax; // 0x230 // MPropertyFriendlyName "output minimum" // MVectorIsSometimesCoordinate - Vector m_vOutputMin; // 0x20c + Vector m_vOutputMin; // 0x23c // MPropertyFriendlyName "output maximum" // MVectorIsSometimesCoordinate - Vector m_vOutputMax; // 0x218 + Vector m_vOutputMax; // 0x248 private: - [[maybe_unused]] uint8_t __pad0224[0x4]; // 0x224 + [[maybe_unused]] uint8_t __pad0254[0x4]; // 0x254 public: // MPropertyFriendlyName "transform input" - CParticleTransformInput m_TransformInput; // 0x228 + CParticleTransformInput m_TransformInput; // 0x258 // MPropertyFriendlyName "local space transform" // MParticleTransformInputOptional - CParticleTransformInput m_LocalSpaceTransform; // 0x278 + CParticleTransformInput m_LocalSpaceTransform; // 0x2a8 // MPropertyFriendlyName "emitter lifetime start time (seconds)" - float m_flStartTime; // 0x2c8 + float m_flStartTime; // 0x2f8 // MPropertyFriendlyName "emitter lifetime end time (seconds)" - float m_flEndTime; // 0x2cc + float m_flEndTime; // 0x2fc // MPropertyFriendlyName "set value method" - ParticleSetMethod_t m_nSetMethod; // 0x2d0 + ParticleSetMethod_t m_nSetMethod; // 0x300 // MPropertyFriendlyName "offset position" - bool m_bOffset; // 0x2d4 + bool m_bOffset; // 0x304 // MPropertyFriendlyName "accelerate position" - bool m_bAccelerate; // 0x2d5 + bool m_bAccelerate; // 0x305 private: - [[maybe_unused]] uint8_t __pad02d6[0x2]; // 0x2d6 + [[maybe_unused]] uint8_t __pad0306[0x2]; // 0x306 public: // MPropertyFriendlyName "remap bias" - float m_flRemapBias; // 0x2d8 + float m_flRemapBias; // 0x308 }; // Alignment: 4 -// Size: 0x490 +// Size: 0x4c0 class C_OP_SetFloat : public CParticleFunctionOperator { public: // MPropertyFriendlyName "value" - CPerParticleFloatInput m_InputValue; // 0x1f0 + CPerParticleFloatInput m_InputValue; // 0x210 // MPropertyFriendlyName "output field" // MPropertyAttributeChoiceName "particlefield_scalar" - ParticleAttributeIndex_t m_nOutputField; // 0x328 + ParticleAttributeIndex_t m_nOutputField; // 0x350 // MPropertyFriendlyName "set value method" - ParticleSetMethod_t m_nSetMethod; // 0x32c + ParticleSetMethod_t m_nSetMethod; // 0x354 // MPropertyFriendlyName "interpolation" - CPerParticleFloatInput m_Lerp; // 0x330 + CPerParticleFloatInput m_Lerp; // 0x358 +}; + +// Alignment: 4 +// Size: 0x20 +class CPulse_OutputConnection +{ +public: + CUtlSymbolLarge m_SourceOutput; // 0x0 + CUtlSymbolLarge m_TargetEntity; // 0x8 + CUtlSymbolLarge m_TargetInput; // 0x10 + CUtlSymbolLarge m_Param; // 0x18 }; // Alignment: 5 -// Size: 0x280 +// Size: 0x2a0 class C_OP_ModelCull : public CParticleFunctionOperator { public: // MPropertyFriendlyName "control point number" - int32_t m_nControlPointNumber; // 0x1f0 + int32_t m_nControlPointNumber; // 0x210 // MPropertyFriendlyName "use only bounding box" - bool m_bBoundBox; // 0x1f4 + bool m_bBoundBox; // 0x214 // MPropertyFriendlyName "cull outside instead of inside" - bool m_bCullOutside; // 0x1f5 + bool m_bCullOutside; // 0x215 // MPropertyFriendlyName "use bones instead of hitboxes" - bool m_bUseBones; // 0x1f6 + bool m_bUseBones; // 0x216 // MPropertyFriendlyName "hitbox set" - char m_HitboxSetName[128]; // 0x1f7 + char m_HitboxSetName[128]; // 0x217 }; // Alignment: 3 -// Size: 0x7c0 +// Size: 0x800 class C_OP_LocalAccelerationForce : public CParticleFunctionForce { public: // MPropertyFriendlyName "local space control point" - int32_t m_nCP; // 0x1f0 + int32_t m_nCP; // 0x210 // MPropertyFriendlyName "scale control point" - int32_t m_nScaleCP; // 0x1f4 + int32_t m_nScaleCP; // 0x214 // MPropertyFriendlyName "local space acceleration" - CParticleCollectionVecInput m_vecAccel; // 0x1f8 + CParticleCollectionVecInput m_vecAccel; // 0x218 }; // Alignment: 3 @@ -21243,731 +21583,805 @@ public: }; // Alignment: 7 -// Size: 0x210 +// Size: 0x230 class C_OP_RemapParticleCountOnScalarEndCap : public CParticleFunctionOperator { public: // MPropertyFriendlyName "output field" // MPropertyAttributeChoiceName "particlefield_scalar" - ParticleAttributeIndex_t m_nFieldOutput; // 0x1f0 + ParticleAttributeIndex_t m_nFieldOutput; // 0x210 // MPropertyFriendlyName "input minimum" - int32_t m_nInputMin; // 0x1f4 + int32_t m_nInputMin; // 0x214 // MPropertyFriendlyName "input maximum" - int32_t m_nInputMax; // 0x1f8 + int32_t m_nInputMax; // 0x218 // MPropertyFriendlyName "output minimum" - float m_flOutputMin; // 0x1fc + float m_flOutputMin; // 0x21c // MPropertyFriendlyName "output maximum" - float m_flOutputMax; // 0x200 + float m_flOutputMax; // 0x220 // MPropertyFriendlyName "count back from last particle" - bool m_bBackwards; // 0x204 + bool m_bBackwards; // 0x224 private: - [[maybe_unused]] uint8_t __pad0205[0x3]; // 0x205 + [[maybe_unused]] uint8_t __pad0225[0x3]; // 0x225 public: // MPropertyFriendlyName "set value method" - ParticleSetMethod_t m_nSetMethod; // 0x208 + ParticleSetMethod_t m_nSetMethod; // 0x228 }; // Alignment: 2 -// Size: 0x210 +// Size: 0x230 class C_OP_RandomForce : public CParticleFunctionForce { public: // MPropertyFriendlyName "min force" // MVectorIsCoordinate - Vector m_MinForce; // 0x1f0 + Vector m_MinForce; // 0x210 // MPropertyFriendlyName "max force" // MVectorIsCoordinate - Vector m_MaxForce; // 0x1fc + Vector m_MaxForce; // 0x21c }; // Alignment: 7 -// Size: 0x270 +// Size: 0x2a0 class C_OP_RenderStatusEffect : public CParticleFunctionRenderer { public: // MPropertyFriendlyName "color warp texture (3d)" // MPropertyAttributeEditor "AssetBrowse( vtex, *showassetpreview )" - CStrongHandle< InfoForResourceTypeCTextureBase > m_pTextureColorWarp; // 0x230 + CStrongHandle< InfoForResourceTypeCTextureBase > m_pTextureColorWarp; // 0x260 // MPropertyFriendlyName "detail 2 texture" // MPropertyAttributeEditor "AssetBrowse( vtex, *showassetpreview )" - CStrongHandle< InfoForResourceTypeCTextureBase > m_pTextureDetail2; // 0x238 + CStrongHandle< InfoForResourceTypeCTextureBase > m_pTextureDetail2; // 0x268 // MPropertyFriendlyName "diffuse warp texture (3d)" // MPropertyAttributeEditor "AssetBrowse( vtex, *showassetpreview )" - CStrongHandle< InfoForResourceTypeCTextureBase > m_pTextureDiffuseWarp; // 0x240 + CStrongHandle< InfoForResourceTypeCTextureBase > m_pTextureDiffuseWarp; // 0x270 // MPropertyFriendlyName "fresnel color warp texture (3d)" // MPropertyAttributeEditor "AssetBrowse( vtex, *showassetpreview )" - CStrongHandle< InfoForResourceTypeCTextureBase > m_pTextureFresnelColorWarp; // 0x248 + CStrongHandle< InfoForResourceTypeCTextureBase > m_pTextureFresnelColorWarp; // 0x278 // MPropertyFriendlyName "fresnel warp texture" // MPropertyAttributeEditor "AssetBrowse( vtex, *showassetpreview )" - CStrongHandle< InfoForResourceTypeCTextureBase > m_pTextureFresnelWarp; // 0x250 + CStrongHandle< InfoForResourceTypeCTextureBase > m_pTextureFresnelWarp; // 0x280 // MPropertyFriendlyName "specular warp texture" // MPropertyAttributeEditor "AssetBrowse( vtex, *showassetpreview )" - CStrongHandle< InfoForResourceTypeCTextureBase > m_pTextureSpecularWarp; // 0x258 + CStrongHandle< InfoForResourceTypeCTextureBase > m_pTextureSpecularWarp; // 0x288 // MPropertyFriendlyName "environment map texture" // MPropertyAttributeEditor "AssetBrowse( vtex, *showassetpreview )" - CStrongHandle< InfoForResourceTypeCTextureBase > m_pTextureEnvMap; // 0x260 + CStrongHandle< InfoForResourceTypeCTextureBase > m_pTextureEnvMap; // 0x290 }; // Alignment: 4 -// Size: 0x250 +// Size: 0x270 class C_OP_RemapTransformOrientationToYaw : public CParticleFunctionOperator { public: // MPropertyFriendlyName "transform input" - CParticleTransformInput m_TransformInput; // 0x1f0 + CParticleTransformInput m_TransformInput; // 0x210 // MPropertyFriendlyName "rotation field" // MPropertyAttributeChoiceName "particlefield_rotation" - ParticleAttributeIndex_t m_nFieldOutput; // 0x240 + ParticleAttributeIndex_t m_nFieldOutput; // 0x260 // MPropertyFriendlyName "rotation offset" - float m_flRotOffset; // 0x244 + float m_flRotOffset; // 0x264 // MPropertyFriendlyName "spin strength" - float m_flSpinStrength; // 0x248 + float m_flSpinStrength; // 0x268 +}; + +// Alignment: 2 +// Size: 0x10 +class CPulse_PublicOutput +{ +public: + CUtlSymbolLarge m_Name; // 0x0 + CUtlString m_Description; // 0x8 }; // Alignment: 5 -// Size: 0x210 +// Size: 0x240 class C_INIT_RemapInitialVisibilityScalar : public CParticleFunctionInitializer { private: - [[maybe_unused]] uint8_t __pad01f0[0x4]; // 0x1f0 + [[maybe_unused]] uint8_t __pad0220[0x4]; // 0x220 public: // MPropertyFriendlyName "output field" // MPropertyAttributeChoiceName "particlefield_scalar" - ParticleAttributeIndex_t m_nFieldOutput; // 0x1f4 + ParticleAttributeIndex_t m_nFieldOutput; // 0x224 // MPropertyFriendlyName "visibility minimum" - float m_flInputMin; // 0x1f8 + float m_flInputMin; // 0x228 // MPropertyFriendlyName "visibility maximum" - float m_flInputMax; // 0x1fc + float m_flInputMax; // 0x22c // MPropertyFriendlyName "output minimum" - float m_flOutputMin; // 0x200 + float m_flOutputMin; // 0x230 // MPropertyFriendlyName "output maximum" - float m_flOutputMax; // 0x204 + float m_flOutputMax; // 0x234 }; // Alignment: 6 -// Size: 0x230 +// Size: 0x260 class C_INIT_AddVectorToVector : public CParticleFunctionInitializer { public: // MPropertyFriendlyName "component scale factor" - Vector m_vecScale; // 0x1f0 + Vector m_vecScale; // 0x220 // MPropertyFriendlyName "output field" // MPropertyAttributeChoiceName "particlefield_vector" - ParticleAttributeIndex_t m_nFieldOutput; // 0x1fc + ParticleAttributeIndex_t m_nFieldOutput; // 0x22c // MPropertyFriendlyName "input field" // MPropertyAttributeChoiceName "particlefield_vector" - ParticleAttributeIndex_t m_nFieldInput; // 0x200 + ParticleAttributeIndex_t m_nFieldInput; // 0x230 // MPropertyFriendlyName "random offset min" - Vector m_vOffsetMin; // 0x204 + Vector m_vOffsetMin; // 0x234 // MPropertyFriendlyName "random offset max" - Vector m_vOffsetMax; // 0x210 + Vector m_vOffsetMax; // 0x240 // MPropertyFriendlyName "Random number generator controls" - CRandomNumberGeneratorParameters m_randomnessParameters; // 0x21c + CRandomNumberGeneratorParameters m_randomnessParameters; // 0x24c +}; + +// Alignment: 1 +// Size: 0x78 +class CPulseCell_Inflow_EventHandler : public CPulseCell_Inflow_BaseEntrypoint +{ +public: + CUtlSymbolLarge m_EventName; // 0x70 }; // Alignment: 6 -// Size: 0xe00 +// Size: 0xe60 class C_OP_SetVectorAttributeToVectorExpression : public CParticleFunctionOperator { public: // MPropertyFriendlyName "expression" - VectorExpressionType_t m_nExpression; // 0x1f0 + VectorExpressionType_t m_nExpression; // 0x210 private: - [[maybe_unused]] uint8_t __pad01f4[0x4]; // 0x1f4 + [[maybe_unused]] uint8_t __pad0214[0x4]; // 0x214 public: // MPropertyFriendlyName "input 1" - CPerParticleVecInput m_vInput1; // 0x1f8 + CPerParticleVecInput m_vInput1; // 0x218 // MPropertyFriendlyName "input 2" - CPerParticleVecInput m_vInput2; // 0x7c0 + CPerParticleVecInput m_vInput2; // 0x800 // MPropertyFriendlyName "output field" // MPropertyAttributeChoiceName "particlefield_vector" - ParticleAttributeIndex_t m_nOutputField; // 0xd88 + ParticleAttributeIndex_t m_nOutputField; // 0xde8 // MPropertyFriendlyName "set value method" - ParticleSetMethod_t m_nSetMethod; // 0xd8c + ParticleSetMethod_t m_nSetMethod; // 0xdec // MPropertyFriendlyName "normalize result" - bool m_bNormalizedOutput; // 0xd90 + bool m_bNormalizedOutput; // 0xdf0 }; // Alignment: 5 -// Size: 0x7d0 +// Size: 0x820 class C_INIT_InitFromVectorFieldSnapshot : public CParticleFunctionInitializer { public: // MPropertyFriendlyName "snapshot control point number" - int32_t m_nControlPointNumber; // 0x1f0 + int32_t m_nControlPointNumber; // 0x220 // MPropertyFriendlyName "local space control point number" - int32_t m_nLocalSpaceCP; // 0x1f4 + int32_t m_nLocalSpaceCP; // 0x224 // MPropertyFriendlyName "weight update control point" - int32_t m_nWeightUpdateCP; // 0x1f8 + int32_t m_nWeightUpdateCP; // 0x228 // MPropertyFriendlyName "use vertical velocity for weighting" - bool m_bUseVerticalVelocity; // 0x1fc + bool m_bUseVerticalVelocity; // 0x22c private: - [[maybe_unused]] uint8_t __pad01fd[0x3]; // 0x1fd + [[maybe_unused]] uint8_t __pad022d[0x3]; // 0x22d public: // MPropertyFriendlyName "Component Scale" - CPerParticleVecInput m_vecScale; // 0x200 + CPerParticleVecInput m_vecScale; // 0x230 +}; + +// Alignment: 1 +// Size: 0x60 +class CPulseCell_Outflow_CycleRandom : public CPulseCell_BaseFlow +{ +public: + CUtlVector< CPulse_OutflowConnection > m_Outputs; // 0x48 }; // Alignment: 2 -// Size: 0x460 +// Size: 0x490 class C_OP_CollideWithParentParticles : public CParticleFunctionConstraint { public: // MPropertyFriendlyName "parent particle radius scale" - CPerParticleFloatInput m_flParentRadiusScale; // 0x1f0 + CPerParticleFloatInput m_flParentRadiusScale; // 0x210 // MPropertyFriendlyName "particle radius scale" - CPerParticleFloatInput m_flRadiusScale; // 0x328 + CPerParticleFloatInput m_flRadiusScale; // 0x350 +}; + +// Alignment: 0 +// Size: 0x18 +class CPulse_ResumePoint : public CPulse_OutflowConnection +{ +public: + // No members available }; // Alignment: 3 -// Size: 0x340 +// Size: 0x370 class C_INIT_DistanceCull : public CParticleFunctionInitializer { public: // MPropertyFriendlyName "control point" - int32_t m_nControlPoint; // 0x1f0 + int32_t m_nControlPoint; // 0x220 private: - [[maybe_unused]] uint8_t __pad01f4[0x4]; // 0x1f4 + [[maybe_unused]] uint8_t __pad0224[0x4]; // 0x224 public: // MPropertyFriendlyName "cull distance" - CParticleCollectionFloatInput m_flDistance; // 0x1f8 + CParticleCollectionFloatInput m_flDistance; // 0x228 // MPropertyFriendlyName "cull inside instead of outside" - bool m_bCullInside; // 0x330 + bool m_bCullInside; // 0x368 }; // Alignment: 5 -// Size: 0x230 +// Size: 0x250 class C_OP_RampScalarSplineSimple : public CParticleFunctionOperator { public: // MPropertyFriendlyName "ramp rate" - float m_Rate; // 0x1f0 + float m_Rate; // 0x210 // MPropertyFriendlyName "start time" - float m_flStartTime; // 0x1f4 + float m_flStartTime; // 0x214 // MPropertyFriendlyName "end time" - float m_flEndTime; // 0x1f8 + float m_flEndTime; // 0x218 private: - [[maybe_unused]] uint8_t __pad01fc[0x24]; // 0x1fc + [[maybe_unused]] uint8_t __pad021c[0x24]; // 0x21c public: // MPropertyFriendlyName "ramp field" // MPropertyAttributeChoiceName "particlefield_scalar" - ParticleAttributeIndex_t m_nField; // 0x220 + ParticleAttributeIndex_t m_nField; // 0x240 // MPropertyFriendlyName "ease out" - bool m_bEaseOut; // 0x224 + bool m_bEaseOut; // 0x244 +}; + +// Alignment: 0 +// Size: 0x48 +class CPulseCell_Value_RandomInt : public CPulseCell_BaseValue +{ +public: + // No members available +}; + +// Alignment: 2 +// Size: 0x28 +struct CPulseCell_Outflow_CycleShuffled__InstanceState_t +{ +public: + CUtlVectorFixedGrowable< uint8 > m_Shuffle; // 0x0 + int32_t m_nNextShuffle; // 0x20 }; // Alignment: 5 -// Size: 0x220 +// Size: 0x250 class C_INIT_RandomSequence : public CParticleFunctionInitializer { public: // MPropertyFriendlyName "sequence min" // MPropertyAttributeEditor "SequencePicker( 1 )" - int32_t m_nSequenceMin; // 0x1f0 + int32_t m_nSequenceMin; // 0x220 // MPropertyFriendlyName "sequence max" // MPropertyAttributeEditor "SequencePicker( 1 )" - int32_t m_nSequenceMax; // 0x1f4 + int32_t m_nSequenceMax; // 0x224 // MPropertyFriendlyName "shuffle" - bool m_bShuffle; // 0x1f8 + bool m_bShuffle; // 0x228 // MPropertyFriendlyName "linear" - bool m_bLinear; // 0x1f9 + bool m_bLinear; // 0x229 private: - [[maybe_unused]] uint8_t __pad01fa[0x6]; // 0x1fa + [[maybe_unused]] uint8_t __pad022a[0x6]; // 0x22a public: // MPropertyFriendlyName "weighted list" - CUtlVector< SequenceWeightedList_t > m_WeightedList; // 0x200 + CUtlVector< SequenceWeightedList_t > m_WeightedList; // 0x230 +}; + +// Alignment: 1 +// Size: 0x4 +struct PulseTestEHandle_t +{ +public: + int32_t m_Value; // 0x0 }; // Alignment: 6 -// Size: 0x240 +// Size: 0x260 class C_OP_FadeOut : public CParticleFunctionOperator { public: // MPropertyFriendlyName "fade out time min" - float m_flFadeOutTimeMin; // 0x1f0 + float m_flFadeOutTimeMin; // 0x210 // MPropertyFriendlyName "fade out time max" - float m_flFadeOutTimeMax; // 0x1f4 + float m_flFadeOutTimeMax; // 0x214 // MPropertyFriendlyName "fade out time exponent" - float m_flFadeOutTimeExp; // 0x1f8 + float m_flFadeOutTimeExp; // 0x218 // MPropertyFriendlyName "fade bias" - float m_flFadeBias; // 0x1fc + float m_flFadeBias; // 0x21c private: - [[maybe_unused]] uint8_t __pad0200[0x30]; // 0x200 + [[maybe_unused]] uint8_t __pad0220[0x30]; // 0x220 public: // MPropertyFriendlyName "proportional 0/1" - bool m_bProportional; // 0x230 + bool m_bProportional; // 0x250 // MPropertyFriendlyName "ease in and out" - bool m_bEaseInAndOut; // 0x231 + bool m_bEaseInAndOut; // 0x251 }; // Alignment: 13 -// Size: 0x220 +// Size: 0x240 class C_OP_OscillateScalar : public CParticleFunctionOperator { public: // MPropertyFriendlyName "oscillation rate min" - float m_RateMin; // 0x1f0 + float m_RateMin; // 0x210 // MPropertyFriendlyName "oscillation rate max" - float m_RateMax; // 0x1f4 + float m_RateMax; // 0x214 // MPropertyFriendlyName "oscillation frequency min" - float m_FrequencyMin; // 0x1f8 + float m_FrequencyMin; // 0x218 // MPropertyFriendlyName "oscillation frequency max" - float m_FrequencyMax; // 0x1fc + float m_FrequencyMax; // 0x21c // MPropertyFriendlyName "oscillation field" // MPropertyAttributeChoiceName "particlefield_scalar" - ParticleAttributeIndex_t m_nField; // 0x200 + ParticleAttributeIndex_t m_nField; // 0x220 // MPropertyFriendlyName "proportional 0/1" - bool m_bProportional; // 0x204 + bool m_bProportional; // 0x224 // MPropertyFriendlyName "start/end proportional" - bool m_bProportionalOp; // 0x205 + bool m_bProportionalOp; // 0x225 private: - [[maybe_unused]] uint8_t __pad0206[0x2]; // 0x206 + [[maybe_unused]] uint8_t __pad0226[0x2]; // 0x226 public: // MPropertyFriendlyName "start time min" - float m_flStartTime_min; // 0x208 + float m_flStartTime_min; // 0x228 // MPropertyFriendlyName "start time max" - float m_flStartTime_max; // 0x20c + float m_flStartTime_max; // 0x22c // MPropertyFriendlyName "end time min" - float m_flEndTime_min; // 0x210 + float m_flEndTime_min; // 0x230 // MPropertyFriendlyName "end time max" - float m_flEndTime_max; // 0x214 + float m_flEndTime_max; // 0x234 // MPropertyFriendlyName "oscillation multiplier" - float m_flOscMult; // 0x218 + float m_flOscMult; // 0x238 // MPropertyFriendlyName "oscillation start phase" - float m_flOscAdd; // 0x21c + float m_flOscAdd; // 0x23c }; // Alignment: 5 -// Size: 0x5f0 +// Size: 0x630 class C_OP_RenderBlobs : public CParticleFunctionRenderer { public: // MPropertyFriendlyName "cube width" - CParticleCollectionFloatInput m_cubeWidth; // 0x230 + CParticleCollectionRendererFloatInput m_cubeWidth; // 0x260 // MPropertyFriendlyName "cutoff radius" - CParticleCollectionFloatInput m_cutoffRadius; // 0x368 + CParticleCollectionRendererFloatInput m_cutoffRadius; // 0x3a0 // MPropertyFriendlyName "render radius" - CParticleCollectionFloatInput m_renderRadius; // 0x4a0 + CParticleCollectionRendererFloatInput m_renderRadius; // 0x4e0 // MPropertyFriendlyName "scale CP (cube width/cutoff/render = x/y/z)" - int32_t m_nScaleCP; // 0x5d8 + int32_t m_nScaleCP; // 0x620 private: - [[maybe_unused]] uint8_t __pad05dc[0x4]; // 0x5dc + [[maybe_unused]] uint8_t __pad0624[0x4]; // 0x624 public: - CStrongHandle< InfoForResourceTypeIMaterial2 > m_hMaterial; // 0x5e0 + CStrongHandle< InfoForResourceTypeIMaterial2 > m_hMaterial; // 0x628 }; // Alignment: 2 -// Size: 0x7c0 +// Size: 0x810 class C_INIT_InitVecCollection : public CParticleFunctionInitializer { public: // MPropertyFriendlyName "value" - CParticleCollectionVecInput m_InputValue; // 0x1f0 + CParticleCollectionVecInput m_InputValue; // 0x220 // MPropertyFriendlyName "output field" // MPropertyAttributeChoiceName "particlefield_vector" - ParticleAttributeIndex_t m_nOutputField; // 0x7b8 + ParticleAttributeIndex_t m_nOutputField; // 0x808 +}; + +// Alignment: 0 +// Size: 0x48 +class CPulseCell_Test_NoInflow : public CPulseCell_BaseFlow +{ +public: + // No members available +}; + +// Alignment: 0 +// Size: 0xc0 +class CPulseCell_Step_CallMethod : public CPulseCell_Step_BaseCallMethod +{ +public: + // No members available }; // Alignment: 26 -// Size: 0x8e0 +// Size: 0x920 class C_OP_WorldTraceConstraint : public CParticleFunctionConstraint { public: // MPropertyFriendlyName "control point for fast collision tests" - int32_t m_nCP; // 0x1f0 + int32_t m_nCP; // 0x210 // MPropertyFriendlyName "control point offset for fast collisions" // MVectorIsCoordinate - Vector m_vecCpOffset; // 0x1f4 + Vector m_vecCpOffset; // 0x214 // MPropertyFriendlyName "collision mode" - ParticleCollisionMode_t m_nCollisionMode; // 0x200 + ParticleCollisionMode_t m_nCollisionMode; // 0x220 // MPropertyFriendlyName "minimum detail collision mode" - ParticleCollisionMode_t m_nCollisionModeMin; // 0x204 + ParticleCollisionMode_t m_nCollisionModeMin; // 0x224 // MPropertyStartGroup "Collision Options" // MPropertyFriendlyName "Trace Set" - ParticleTraceSet_t m_nTraceSet; // 0x208 + ParticleTraceSet_t m_nTraceSet; // 0x228 // MPropertyFriendlyName "collision group" - char m_CollisionGroupName[128]; // 0x20c + char m_CollisionGroupName[128]; // 0x22c // MPropertyFriendlyName "World Only" - bool m_bWorldOnly; // 0x28c + bool m_bWorldOnly; // 0x2ac // MPropertyFriendlyName "brush only" - bool m_bBrushOnly; // 0x28d + bool m_bBrushOnly; // 0x2ad // MPropertyFriendlyName "include water" - bool m_bIncludeWater; // 0x28e + bool m_bIncludeWater; // 0x2ae private: - [[maybe_unused]] uint8_t __pad028f[0x1]; // 0x28f + [[maybe_unused]] uint8_t __pad02af[0x1]; // 0x2af public: // MPropertyFriendlyName "CP Entity to Ignore for Collisions" - int32_t m_nIgnoreCP; // 0x290 + int32_t m_nIgnoreCP; // 0x2b0 // MPropertyFriendlyName "control point movement distance tolerance" // MPropertySuppressExpr "m_nCollisionMode == COLLISION_MODE_PER_PARTICLE_TRACE" - float m_flCpMovementTolerance; // 0x294 + float m_flCpMovementTolerance; // 0x2b4 // MPropertyFriendlyName "plane cache retest rate" // MPropertySuppressExpr "m_nCollisionMode != COLLISION_MODE_PER_FRAME_PLANESET" - float m_flRetestRate; // 0x298 + float m_flRetestRate; // 0x2b8 // MPropertyFriendlyName "trace accuracy tolerance" // MPropertySuppressExpr "m_nCollisionMode != COLLISION_MODE_USE_NEAREST_TRACE" - float m_flTraceTolerance; // 0x29c + float m_flTraceTolerance; // 0x2bc // MPropertyFriendlyName "Confirm Collision Speed Threshold" // MPropertySuppressExpr "m_nCollisionMode == COLLISION_MODE_PER_PARTICLE_TRACE" - float m_flCollisionConfirmationSpeed; // 0x2a0 + float m_flCollisionConfirmationSpeed; // 0x2c0 // MPropertyFriendlyName "Max Confirmation Traces Per Fame" // MPropertySuppressExpr "m_nCollisionMode == COLLISION_MODE_PER_PARTICLE_TRACE" - float m_nMaxTracesPerFrame; // 0x2a4 + float m_nMaxTracesPerFrame; // 0x2c4 // MPropertyStartGroup "Impact Options" // MPropertyFriendlyName "radius scale" - CPerParticleFloatInput m_flRadiusScale; // 0x2a8 + CPerParticleFloatInput m_flRadiusScale; // 0x2c8 // MPropertyFriendlyName "amount of bounce" - CPerParticleFloatInput m_flBounceAmount; // 0x3e0 + CPerParticleFloatInput m_flBounceAmount; // 0x408 // MPropertyFriendlyName "amount of slide" - CPerParticleFloatInput m_flSlideAmount; // 0x518 + CPerParticleFloatInput m_flSlideAmount; // 0x548 // MPropertyFriendlyName "Random Direction scale" - CPerParticleFloatInput m_flRandomDirScale; // 0x650 + CPerParticleFloatInput m_flRandomDirScale; // 0x688 // MPropertyFriendlyName "Add Decay to Bounce" - bool m_bDecayBounce; // 0x788 + bool m_bDecayBounce; // 0x7c8 // MPropertyFriendlyName "kill particle on collision" - bool m_bKillonContact; // 0x789 + bool m_bKillonContact; // 0x7c9 private: - [[maybe_unused]] uint8_t __pad078a[0x2]; // 0x78a + [[maybe_unused]] uint8_t __pad07ca[0x2]; // 0x7ca public: // MPropertyFriendlyName "minimum speed to kill on collision" - float m_flMinSpeed; // 0x78c + float m_flMinSpeed; // 0x7cc // MPropertyFriendlyName "Set Normal" - bool m_bSetNormal; // 0x790 + bool m_bSetNormal; // 0x7d0 private: - [[maybe_unused]] uint8_t __pad0791[0x3]; // 0x791 + [[maybe_unused]] uint8_t __pad07d1[0x3]; // 0x7d1 public: // MPropertyFriendlyName "Stick On Collision Cache Field" // MPropertyAttributeChoiceName "particlefield_vector" - ParticleAttributeIndex_t m_nStickOnCollisionField; // 0x794 + ParticleAttributeIndex_t m_nStickOnCollisionField; // 0x7d4 // MPropertyFriendlyName "Speed to stop when sticking" - CPerParticleFloatInput m_flStopSpeed; // 0x798 + CPerParticleFloatInput m_flStopSpeed; // 0x7d8 // MPropertyFriendlyName "Entity Hitbox Cache Field (Requires Stick on Collision)" // MPropertyAttributeChoiceName "particlefield_vector" - ParticleAttributeIndex_t m_nEntityStickDataField; // 0x8d0 + ParticleAttributeIndex_t m_nEntityStickDataField; // 0x918 }; // Alignment: 3 -// Size: 0x380 +// Size: 0x3b0 class C_OP_RenderPostProcessing : public CParticleFunctionRenderer { public: // MPropertyFriendlyName "Post Processing Strength" - CPerParticleFloatInput m_flPostProcessStrength; // 0x230 + CPerParticleFloatInput m_flPostProcessStrength; // 0x260 // MPropertyFriendlyName "Post Processing File" // MPropertyAttributeEditor "AssetBrowse( vpost, *showassetpreview )" - CStrongHandle< InfoForResourceTypeCPostProcessingResource > m_hPostTexture; // 0x368 + CStrongHandle< InfoForResourceTypeCPostProcessingResource > m_hPostTexture; // 0x3a0 // MPropertyFriendlyName "Post Processing Priority Group" - ParticlePostProcessPriorityGroup_t m_nPriority; // 0x370 + ParticlePostProcessPriorityGroup_t m_nPriority; // 0x3a8 }; // Alignment: 4 -// Size: 0x200 +// Size: 0x230 class C_INIT_RandomScalar : public CParticleFunctionInitializer { public: // MPropertyFriendlyName "min" - float m_flMin; // 0x1f0 + float m_flMin; // 0x220 // MPropertyFriendlyName "max" - float m_flMax; // 0x1f4 + float m_flMax; // 0x224 // MPropertyFriendlyName "exponent" - float m_flExponent; // 0x1f8 + float m_flExponent; // 0x228 // MPropertyFriendlyName "output field" // MPropertyAttributeChoiceName "particlefield_scalar" - ParticleAttributeIndex_t m_nFieldOutput; // 0x1fc + ParticleAttributeIndex_t m_nFieldOutput; // 0x22c }; // Alignment: 13 -// Size: 0x510 +// Size: 0x550 class C_INIT_PositionPlaceOnGround : public CParticleFunctionInitializer { public: // MPropertyFriendlyName "offset" - CPerParticleFloatInput m_flOffset; // 0x1f0 + CPerParticleFloatInput m_flOffset; // 0x220 // MPropertyFriendlyName "max trace length" - CPerParticleFloatInput m_flMaxTraceLength; // 0x328 + CPerParticleFloatInput m_flMaxTraceLength; // 0x360 // MPropertyFriendlyName "collision group" - char m_CollisionGroupName[128]; // 0x460 + char m_CollisionGroupName[128]; // 0x4a0 // MPropertyFriendlyName "Trace Set" - ParticleTraceSet_t m_nTraceSet; // 0x4e0 + ParticleTraceSet_t m_nTraceSet; // 0x520 private: - [[maybe_unused]] uint8_t __pad04e4[0xc]; // 0x4e4 + [[maybe_unused]] uint8_t __pad0524[0xc]; // 0x524 public: // MPropertyFriendlyName "No Collision Behavior" - ParticleTraceMissBehavior_t m_nTraceMissBehavior; // 0x4f0 + ParticleTraceMissBehavior_t m_nTraceMissBehavior; // 0x530 // MPropertyFriendlyName "include water" - bool m_bIncludeWater; // 0x4f4 + bool m_bIncludeWater; // 0x534 // MPropertyFriendlyName "set normal" - bool m_bSetNormal; // 0x4f5 + bool m_bSetNormal; // 0x535 // MPropertyFriendlyName "set Previous XYZ only" - bool m_bSetPXYZOnly; // 0x4f6 + bool m_bSetPXYZOnly; // 0x536 // MPropertyFriendlyName "Trace along particle normal" - bool m_bTraceAlongNormal; // 0x4f7 + bool m_bTraceAlongNormal; // 0x537 // MPropertyFriendlyName "Offset only if trace hit" - bool m_bOffsetonColOnly; // 0x4f8 + bool m_bOffsetonColOnly; // 0x538 private: - [[maybe_unused]] uint8_t __pad04f9[0x3]; // 0x4f9 + [[maybe_unused]] uint8_t __pad0539[0x3]; // 0x539 public: // MPropertyFriendlyName "offset final position by this fraction of the particle radius" - float m_flOffsetByRadiusFactor; // 0x4fc + float m_flOffsetByRadiusFactor; // 0x53c // MPropertyFriendlyName "preserve initial Z-offset relative to cp" - int32_t m_nPreserveOffsetCP; // 0x500 + int32_t m_nPreserveOffsetCP; // 0x540 // MPropertyFriendlyName "CP Entity to Ignore for Collisions" - int32_t m_nIgnoreCP; // 0x504 + int32_t m_nIgnoreCP; // 0x544 }; // Alignment: 11 -// Size: 0x780 +// Size: 0x7c0 class C_OP_CylindricalDistanceToTransform : public CParticleFunctionOperator { public: // MPropertyFriendlyName "output field" // MPropertyAttributeChoiceName "particlefield_scalar" - ParticleAttributeIndex_t m_nFieldOutput; // 0x1f0 + ParticleAttributeIndex_t m_nFieldOutput; // 0x210 private: - [[maybe_unused]] uint8_t __pad01f4[0x4]; // 0x1f4 + [[maybe_unused]] uint8_t __pad0214[0x4]; // 0x214 public: // MPropertyFriendlyName "cylinder inner radius" - CPerParticleFloatInput m_flInputMin; // 0x1f8 + CPerParticleFloatInput m_flInputMin; // 0x218 // MPropertyFriendlyName "cylinder outer radius" - CPerParticleFloatInput m_flInputMax; // 0x330 + CPerParticleFloatInput m_flInputMax; // 0x358 // MPropertyFriendlyName "cylinder inner output" - CPerParticleFloatInput m_flOutputMin; // 0x468 + CPerParticleFloatInput m_flOutputMin; // 0x498 // MPropertyFriendlyName "cylinder outer output" - CPerParticleFloatInput m_flOutputMax; // 0x5a0 + CPerParticleFloatInput m_flOutputMax; // 0x5d8 // MPropertyFriendlyName "cylindrical top transform" - CParticleTransformInput m_TransformStart; // 0x6d8 + CParticleTransformInput m_TransformStart; // 0x718 // MPropertyFriendlyName "cylindrical bottom transform" - CParticleTransformInput m_TransformEnd; // 0x728 + CParticleTransformInput m_TransformEnd; // 0x768 // MPropertyFriendlyName "set value method" - ParticleSetMethod_t m_nSetMethod; // 0x778 + ParticleSetMethod_t m_nSetMethod; // 0x7b8 // MPropertyFriendlyName "only active within specified distance" - bool m_bActiveRange; // 0x77c + bool m_bActiveRange; // 0x7bc // MPropertyFriendlyName "output is additive" - bool m_bAdditive; // 0x77d + bool m_bAdditive; // 0x7bd // MPropertyFriendlyName "apply radius to ends (capsule)" - bool m_bCapsule; // 0x77e + bool m_bCapsule; // 0x7be }; // Alignment: 9 -// Size: 0x910 +// Size: 0x960 class C_OP_VectorFieldSnapshot : public CParticleFunctionOperator { public: // MPropertyFriendlyName "snapshot control point number" - int32_t m_nControlPointNumber; // 0x1f0 + int32_t m_nControlPointNumber; // 0x210 // MPropertyFriendlyName "extra velocity field to write" // MPropertyAttributeChoiceName "particlefield" - ParticleAttributeIndex_t m_nAttributeToWrite; // 0x1f4 + ParticleAttributeIndex_t m_nAttributeToWrite; // 0x214 // MPropertyFriendlyName "local space control point number" - int32_t m_nLocalSpaceCP; // 0x1f8 + int32_t m_nLocalSpaceCP; // 0x218 private: - [[maybe_unused]] uint8_t __pad01fc[0x4]; // 0x1fc + [[maybe_unused]] uint8_t __pad021c[0x4]; // 0x21c public: // MPropertyFriendlyName "Interpolation" - CPerParticleFloatInput m_flInterpolation; // 0x200 + CPerParticleFloatInput m_flInterpolation; // 0x220 // MPropertyFriendlyName "Component Scale" - CPerParticleVecInput m_vecScale; // 0x338 + CPerParticleVecInput m_vecScale; // 0x360 // MPropertyFriendlyName "Boundary Dampening" - float m_flBoundaryDampening; // 0x900 + float m_flBoundaryDampening; // 0x948 // MPropertyFriendlyName "Set Velocity" - bool m_bSetVelocity; // 0x904 + bool m_bSetVelocity; // 0x94c // MPropertyFriendlyName "Lock to Surface" - bool m_bLockToSurface; // 0x905 + bool m_bLockToSurface; // 0x94d private: - [[maybe_unused]] uint8_t __pad0906[0x2]; // 0x906 + [[maybe_unused]] uint8_t __pad094e[0x2]; // 0x94e public: // MPropertyFriendlyName "Vector Field Grid Spacing Override" - float m_flGridSpacing; // 0x908 + float m_flGridSpacing; // 0x950 }; // Alignment: 33 -// Size: 0x740 +// Size: 0x760 class C_OP_ControlpointLight : public CParticleFunctionOperator { public: // MPropertyFriendlyName "initial color bias" - float m_flScale; // 0x1f0 + float m_flScale; // 0x210 private: - [[maybe_unused]] uint8_t __pad01f4[0x4cc]; // 0x1f4 + [[maybe_unused]] uint8_t __pad0214[0x4cc]; // 0x214 public: // MPropertyFriendlyName "light 1 control point" - int32_t m_nControlPoint1; // 0x6c0 + int32_t m_nControlPoint1; // 0x6e0 // MPropertyFriendlyName "light 2 control point" - int32_t m_nControlPoint2; // 0x6c4 + int32_t m_nControlPoint2; // 0x6e4 // MPropertyFriendlyName "light 3 control point" - int32_t m_nControlPoint3; // 0x6c8 + int32_t m_nControlPoint3; // 0x6e8 // MPropertyFriendlyName "light 4 control point" - int32_t m_nControlPoint4; // 0x6cc + int32_t m_nControlPoint4; // 0x6ec // MPropertyFriendlyName "light 1 control point offset" - Vector m_vecCPOffset1; // 0x6d0 + Vector m_vecCPOffset1; // 0x6f0 // MPropertyFriendlyName "light 2 control point offset" - Vector m_vecCPOffset2; // 0x6dc + Vector m_vecCPOffset2; // 0x6fc // MPropertyFriendlyName "light 3 control point offset" - Vector m_vecCPOffset3; // 0x6e8 + Vector m_vecCPOffset3; // 0x708 // MPropertyFriendlyName "light 4 control point offset" - Vector m_vecCPOffset4; // 0x6f4 + Vector m_vecCPOffset4; // 0x714 // MPropertyFriendlyName "light 1 50% distance" - float m_LightFiftyDist1; // 0x700 + float m_LightFiftyDist1; // 0x720 // MPropertyFriendlyName "light 1 0% distance" - float m_LightZeroDist1; // 0x704 + float m_LightZeroDist1; // 0x724 // MPropertyFriendlyName "light 2 50% distance" - float m_LightFiftyDist2; // 0x708 + float m_LightFiftyDist2; // 0x728 // MPropertyFriendlyName "light 2 0% distance" - float m_LightZeroDist2; // 0x70c + float m_LightZeroDist2; // 0x72c // MPropertyFriendlyName "light 3 50% distance" - float m_LightFiftyDist3; // 0x710 + float m_LightFiftyDist3; // 0x730 // MPropertyFriendlyName "light 3 0% distance" - float m_LightZeroDist3; // 0x714 + float m_LightZeroDist3; // 0x734 // MPropertyFriendlyName "light 4 50% distance" - float m_LightFiftyDist4; // 0x718 + float m_LightFiftyDist4; // 0x738 // MPropertyFriendlyName "light 4 0% distance" - float m_LightZeroDist4; // 0x71c + float m_LightZeroDist4; // 0x73c // MPropertyFriendlyName "light 1 color" - Color m_LightColor1; // 0x720 + Color m_LightColor1; // 0x740 // MPropertyFriendlyName "light 2 color" - Color m_LightColor2; // 0x724 + Color m_LightColor2; // 0x744 // MPropertyFriendlyName "light 3 color" - Color m_LightColor3; // 0x728 + Color m_LightColor3; // 0x748 // MPropertyFriendlyName "light 4 color" - Color m_LightColor4; // 0x72c + Color m_LightColor4; // 0x74c // MPropertyFriendlyName "light 1 type 0=point 1=spot" - bool m_bLightType1; // 0x730 + bool m_bLightType1; // 0x750 // MPropertyFriendlyName "light 2 type 0=point 1=spot" - bool m_bLightType2; // 0x731 + bool m_bLightType2; // 0x751 // MPropertyFriendlyName "light 3 type 0=point 1=spot" - bool m_bLightType3; // 0x732 + bool m_bLightType3; // 0x752 // MPropertyFriendlyName "light 4 type 0=point 1=spot" - bool m_bLightType4; // 0x733 + bool m_bLightType4; // 0x753 // MPropertyFriendlyName "light 1 dynamic light" - bool m_bLightDynamic1; // 0x734 + bool m_bLightDynamic1; // 0x754 // MPropertyFriendlyName "light 2 dynamic light" - bool m_bLightDynamic2; // 0x735 + bool m_bLightDynamic2; // 0x755 // MPropertyFriendlyName "light 3 dynamic light" - bool m_bLightDynamic3; // 0x736 + bool m_bLightDynamic3; // 0x756 // MPropertyFriendlyName "light 4 dynamic light" - bool m_bLightDynamic4; // 0x737 + bool m_bLightDynamic4; // 0x757 // MPropertyFriendlyName "compute normals from control points" - bool m_bUseNormal; // 0x738 + bool m_bUseNormal; // 0x758 // MPropertyFriendlyName "half-lambert normals" - bool m_bUseHLambert; // 0x739 + bool m_bUseHLambert; // 0x759 private: - [[maybe_unused]] uint8_t __pad073a[0x4]; // 0x73a + [[maybe_unused]] uint8_t __pad075a[0x4]; // 0x75a public: // MPropertyFriendlyName "clamp minimum light value to initial color" - bool m_bClampLowerRange; // 0x73e + bool m_bClampLowerRange; // 0x75e // MPropertyFriendlyName "clamp maximum light value to initial color" - bool m_bClampUpperRange; // 0x73f + bool m_bClampUpperRange; // 0x75f }; // Alignment: 2 -// Size: 0x340 +// Size: 0x370 class C_OP_ChooseRandomChildrenInGroup : public CParticleFunctionPreEmission { public: // MPropertyFriendlyName "group ID to affect" - int32_t m_nChildGroupID; // 0x200 + int32_t m_nChildGroupID; // 0x220 private: - [[maybe_unused]] uint8_t __pad0204[0x4]; // 0x204 + [[maybe_unused]] uint8_t __pad0224[0x4]; // 0x224 public: // MPropertyFriendlyName "Number of Children to Use" - CParticleCollectionFloatInput m_flNumberOfChildren; // 0x208 + CParticleCollectionFloatInput m_flNumberOfChildren; // 0x228 }; // Alignment: 5 -// Size: 0xd90 +// Size: 0xe00 class C_INIT_CreateWithinBox : public CParticleFunctionInitializer { public: // MPropertyFriendlyName "min" // MVectorIsCoordinate - CPerParticleVecInput m_vecMin; // 0x1f0 + CPerParticleVecInput m_vecMin; // 0x220 // MPropertyFriendlyName "max" // MVectorIsCoordinate - CPerParticleVecInput m_vecMax; // 0x7b8 + CPerParticleVecInput m_vecMax; // 0x808 // MPropertyFriendlyName "control point number" - int32_t m_nControlPointNumber; // 0xd80 + int32_t m_nControlPointNumber; // 0xdf0 // MPropertyFriendlyName "use local space" - bool m_bLocalSpace; // 0xd84 + bool m_bLocalSpace; // 0xdf4 private: - [[maybe_unused]] uint8_t __pad0d85[0x3]; // 0xd85 + [[maybe_unused]] uint8_t __pad0df5[0x3]; // 0xdf5 public: // MPropertyFriendlyName "Random number generator controls" - CRandomNumberGeneratorParameters m_randomnessParameters; // 0xd88 + CRandomNumberGeneratorParameters m_randomnessParameters; // 0xdf8 }; // Alignment: 6 -// Size: 0x210 +// Size: 0x230 class C_OP_UpdateLightSource : public CParticleFunctionOperator { public: // MPropertyFriendlyName "color tint" - Color m_vColorTint; // 0x1f0 + Color m_vColorTint; // 0x210 // MPropertyFriendlyName "amount to multiply light brightness by" - float m_flBrightnessScale; // 0x1f4 + float m_flBrightnessScale; // 0x214 // MPropertyFriendlyName "amount to multiply particle system radius by to get light radius" - float m_flRadiusScale; // 0x1f8 + float m_flRadiusScale; // 0x218 // MPropertyFriendlyName "minimum radius for created lights" - float m_flMinimumLightingRadius; // 0x1fc + float m_flMinimumLightingRadius; // 0x21c // MPropertyFriendlyName "maximum radius for created lights" - float m_flMaximumLightingRadius; // 0x200 + float m_flMaximumLightingRadius; // 0x220 // MPropertyFriendlyName "amount of damping of changes" - float m_flPositionDampingConstant; // 0x204 + float m_flPositionDampingConstant; // 0x224 }; // Alignment: 2 -// Size: 0x240 +// Size: 0x270 class C_OP_RenderScreenVelocityRotate : public CParticleFunctionRenderer { public: // MPropertyFriendlyName "rotate rate(dps)" - float m_flRotateRateDegrees; // 0x230 + float m_flRotateRateDegrees; // 0x260 // MPropertyFriendlyName "forward angle" - float m_flForwardDegrees; // 0x234 + float m_flForwardDegrees; // 0x264 }; // Alignment: 10 -// Size: 0x2c0 +// Size: 0x2e0 class C_OP_PercentageBetweenTransformsVector : public CParticleFunctionOperator { public: // MPropertyFriendlyName "output field" // MPropertyAttributeChoiceName "particlefield_vector" - ParticleAttributeIndex_t m_nFieldOutput; // 0x1f0 + ParticleAttributeIndex_t m_nFieldOutput; // 0x210 // MPropertyFriendlyName "percentage minimum" - float m_flInputMin; // 0x1f4 + float m_flInputMin; // 0x214 // MPropertyFriendlyName "percentage maximum" - float m_flInputMax; // 0x1f8 + float m_flInputMax; // 0x218 // MPropertyFriendlyName "output minimum" // MVectorIsSometimesCoordinate - Vector m_vecOutputMin; // 0x1fc + Vector m_vecOutputMin; // 0x21c // MPropertyFriendlyName "output maximum" // MVectorIsSometimesCoordinate - Vector m_vecOutputMax; // 0x208 + Vector m_vecOutputMax; // 0x228 private: - [[maybe_unused]] uint8_t __pad0214[0x4]; // 0x214 + [[maybe_unused]] uint8_t __pad0234[0x4]; // 0x234 public: // MPropertyFriendlyName "strarting transform" - CParticleTransformInput m_TransformStart; // 0x218 + CParticleTransformInput m_TransformStart; // 0x238 // MPropertyFriendlyName "end transform" - CParticleTransformInput m_TransformEnd; // 0x268 + CParticleTransformInput m_TransformEnd; // 0x288 // MPropertyFriendlyName "set value method" - ParticleSetMethod_t m_nSetMethod; // 0x2b8 + ParticleSetMethod_t m_nSetMethod; // 0x2d8 // MPropertyFriendlyName "only active within input range" - bool m_bActiveRange; // 0x2bc + bool m_bActiveRange; // 0x2dc // MPropertyFriendlyName "treat distance between points as radius" - bool m_bRadialCheck; // 0x2bd + bool m_bRadialCheck; // 0x2dd }; // Alignment: 0 -// Size: 0x250 +// Size: 0x270 class C_OP_RemapNamedModelMeshGroupEndCap : public C_OP_RemapNamedModelElementEndCap { public: // No members available }; -// Alignment: 60 -// Size: 0x3a0 +// Alignment: 63 +// Size: 0x3e0 class CParticleSystemDefinition : public IParticleSystemDefinition { public: @@ -21999,349 +22413,380 @@ public: // MPropertySuppressField int32_t m_nFirstMultipleOverride_BackwardCompat; // 0x178 private: - [[maybe_unused]] uint8_t __pad017c[0x74]; // 0x17c + [[maybe_unused]] uint8_t __pad017c[0x94]; // 0x17c public: // MPropertyStartGroup "+Collection Options" // MPropertyFriendlyName "initial particles" - int32_t m_nInitialParticles; // 0x1f0 + int32_t m_nInitialParticles; // 0x210 // MPropertyFriendlyName "max particles" - int32_t m_nMaxParticles; // 0x1f4 + int32_t m_nMaxParticles; // 0x214 // MPropertyFriendlyName "group id" - int32_t m_nGroupID; // 0x1f8 + int32_t m_nGroupID; // 0x218 // MPropertyStartGroup "Bounding Box" // MPropertyFriendlyName "bounding box bloat min" // MVectorIsCoordinate - Vector m_BoundingBoxMin; // 0x1fc + Vector m_BoundingBoxMin; // 0x21c // MPropertyFriendlyName "bounding box bloat max" // MVectorIsCoordinate - Vector m_BoundingBoxMax; // 0x208 + Vector m_BoundingBoxMax; // 0x228 // MPropertyFriendlyName "bounding box depth sort bias" - float m_flDepthSortBias; // 0x214 + float m_flDepthSortBias; // 0x234 // MPropertyFriendlyName "sort override position CP" - int32_t m_nSortOverridePositionCP; // 0x218 + int32_t m_nSortOverridePositionCP; // 0x238 // MPropertyFriendlyName "infinite bounds - don't cull" - bool m_bInfiniteBounds; // 0x21c + bool m_bInfiniteBounds; // 0x23c + // MPropertyStartGroup "Named Values" + // MPropertyFriendlyName "Enable Named Values (EXPERIMENTAL)" + bool m_bEnableNamedValues; // 0x23d +private: + [[maybe_unused]] uint8_t __pad023e[0x2]; // 0x23e +public: + // MPropertyFriendlyName "Domain Class" + // MPropertyAttributeChoiceName "particlefield_domain" + // MPropertyAutoRebuildOnChange + // MPropertySuppressExpr "!m_bEnableNamedValues" + CUtlString m_NamedValueDomain; // 0x240 + // MPropertyFriendlyName "Variables" + // MPropertySuppressExpr "!m_bEnableNamedValues" + CUtlVector< ParticleNamedValueSource_t > m_NamedValueLocals; // 0x248 // MPropertyStartGroup "+Base Properties" // MPropertyFriendlyName "color" // MPropertyColorPlusAlpha - Color m_ConstantColor; // 0x21d -private: - [[maybe_unused]] uint8_t __pad0221[0x3]; // 0x221 -public: + Color m_ConstantColor; // 0x260 // MPropertyFriendlyName "normal" // MVectorIsCoordinate - Vector m_ConstantNormal; // 0x224 + Vector m_ConstantNormal; // 0x264 // MPropertyFriendlyName "radius" // MPropertyAttributeRange "biased 0 500" - float m_flConstantRadius; // 0x230 + float m_flConstantRadius; // 0x270 // MPropertyFriendlyName "rotation" - float m_flConstantRotation; // 0x234 + float m_flConstantRotation; // 0x274 // MPropertyFriendlyName "rotation speed" - float m_flConstantRotationSpeed; // 0x238 + float m_flConstantRotationSpeed; // 0x278 // MPropertyFriendlyName "lifetime" - float m_flConstantLifespan; // 0x23c + float m_flConstantLifespan; // 0x27c // MPropertyFriendlyName "sequence number" // MPropertyAttributeEditor "SequencePicker( 1 )" - int32_t m_nConstantSequenceNumber; // 0x240 + int32_t m_nConstantSequenceNumber; // 0x280 // MPropertyFriendlyName "sequence number 1" // MPropertyAttributeEditor "SequencePicker( 2 )" - int32_t m_nConstantSequenceNumber1; // 0x244 + int32_t m_nConstantSequenceNumber1; // 0x284 // MPropertyStartGroup "Snapshot Options" - int32_t m_nSnapshotControlPoint; // 0x248 + int32_t m_nSnapshotControlPoint; // 0x288 private: - [[maybe_unused]] uint8_t __pad024c[0x4]; // 0x24c + [[maybe_unused]] uint8_t __pad028c[0x4]; // 0x28c public: - CStrongHandle< InfoForResourceTypeIParticleSnapshot > m_hSnapshot; // 0x250 + CStrongHandle< InfoForResourceTypeIParticleSnapshot > m_hSnapshot; // 0x290 // MPropertyStartGroup "Replacement Options" // MPropertyFriendlyName "cull replacement definition" - CStrongHandle< InfoForResourceTypeIParticleSystemDefinition > m_pszCullReplacementName; // 0x258 + CStrongHandle< InfoForResourceTypeIParticleSystemDefinition > m_pszCullReplacementName; // 0x298 // MPropertyFriendlyName "cull radius" - float m_flCullRadius; // 0x260 + float m_flCullRadius; // 0x2a0 // MPropertyFriendlyName "cull cost" - float m_flCullFillCost; // 0x264 + float m_flCullFillCost; // 0x2a4 // MPropertyFriendlyName "cull control point" - int32_t m_nCullControlPoint; // 0x268 + int32_t m_nCullControlPoint; // 0x2a8 private: - [[maybe_unused]] uint8_t __pad026c[0x4]; // 0x26c + [[maybe_unused]] uint8_t __pad02ac[0x4]; // 0x2ac public: // MPropertyFriendlyName "fallback replacement definition" - CStrongHandle< InfoForResourceTypeIParticleSystemDefinition > m_hFallback; // 0x270 + CStrongHandle< InfoForResourceTypeIParticleSystemDefinition > m_hFallback; // 0x2b0 // MPropertyFriendlyName "fallback max count" - int32_t m_nFallbackMaxCount; // 0x278 + int32_t m_nFallbackMaxCount; // 0x2b8 private: - [[maybe_unused]] uint8_t __pad027c[0x4]; // 0x27c + [[maybe_unused]] uint8_t __pad02bc[0x4]; // 0x2bc public: // MPropertyFriendlyName "low violence definition" - CStrongHandle< InfoForResourceTypeIParticleSystemDefinition > m_hLowViolenceDef; // 0x280 + CStrongHandle< InfoForResourceTypeIParticleSystemDefinition > m_hLowViolenceDef; // 0x2c0 // MPropertyFriendlyName "reference replacement definition" - CStrongHandle< InfoForResourceTypeIParticleSystemDefinition > m_hReferenceReplacement; // 0x288 + CStrongHandle< InfoForResourceTypeIParticleSystemDefinition > m_hReferenceReplacement; // 0x2c8 // MPropertyStartGroup "Simulation Options" // MPropertyFriendlyName "pre-simulation time" - float m_flPreSimulationTime; // 0x290 + float m_flPreSimulationTime; // 0x2d0 // MPropertyFriendlyName "freeze simulation after time" - float m_flStopSimulationAfterTime; // 0x294 + float m_flStopSimulationAfterTime; // 0x2d4 // MPropertyFriendlyName "maximum time step" - float m_flMaximumTimeStep; // 0x298 + float m_flMaximumTimeStep; // 0x2d8 // MPropertyFriendlyName "maximum sim tick rate" - float m_flMaximumSimTime; // 0x29c + float m_flMaximumSimTime; // 0x2dc // MPropertyFriendlyName "minimum sim tick rate" - float m_flMinimumSimTime; // 0x2a0 + float m_flMinimumSimTime; // 0x2e0 // MPropertyFriendlyName "minimum simulation time step" - float m_flMinimumTimeStep; // 0x2a4 + float m_flMinimumTimeStep; // 0x2e4 // MPropertyFriendlyName "minimum required rendered frames" - int32_t m_nMinimumFrames; // 0x2a8 + int32_t m_nMinimumFrames; // 0x2e8 // MPropertyStartGroup "Performance Options" // MPropertyFriendlyName "minimum CPU level" - int32_t m_nMinCPULevel; // 0x2ac + int32_t m_nMinCPULevel; // 0x2ec // MPropertyFriendlyName "minimum GPU level" - int32_t m_nMinGPULevel; // 0x2b0 + int32_t m_nMinGPULevel; // 0x2f0 // MPropertyFriendlyName "time to sleep when not drawn" - float m_flNoDrawTimeToGoToSleep; // 0x2b4 + float m_flNoDrawTimeToGoToSleep; // 0x2f4 // MPropertyFriendlyName "maximum draw distance" - float m_flMaxDrawDistance; // 0x2b8 + float m_flMaxDrawDistance; // 0x2f8 // MPropertyFriendlyName "start fade distance" - float m_flStartFadeDistance; // 0x2bc + float m_flStartFadeDistance; // 0x2fc // MPropertyFriendlyName "maximum creation distance" - float m_flMaxCreationDistance; // 0x2c0 + float m_flMaxCreationDistance; // 0x300 // MPropertyFriendlyName "minimum free particles to aggregate" - int32_t m_nAggregationMinAvailableParticles; // 0x2c4 + int32_t m_nAggregationMinAvailableParticles; // 0x304 // MPropertyFriendlyName "aggregation radius" - float m_flAggregateRadius; // 0x2c8 + float m_flAggregateRadius; // 0x308 // MPropertyFriendlyName "batch particle systems" - bool m_bShouldBatch; // 0x2cc + bool m_bShouldBatch; // 0x30c // MPropertyFriendlyName "Hitboxes fall back to render bounds" - bool m_bShouldHitboxesFallbackToRenderBounds; // 0x2cd + bool m_bShouldHitboxesFallbackToRenderBounds; // 0x30d private: - [[maybe_unused]] uint8_t __pad02ce[0x2]; // 0x2ce + [[maybe_unused]] uint8_t __pad030e[0x2]; // 0x30e public: // MPropertyStartGroup "Rendering Options" // MPropertyFriendlyName "view model effect" // MPropertySuppressExpr "m_bScreenSpaceEffect" - InheritableBoolType_t m_nViewModelEffect; // 0x2d0 + InheritableBoolType_t m_nViewModelEffect; // 0x310 // MPropertyFriendlyName "screen space effect" // MPropertySuppressExpr "m_nViewModelEffect == INHERITABLE_BOOL_TRUE" - bool m_bScreenSpaceEffect; // 0x2d4 + bool m_bScreenSpaceEffect; // 0x314 private: - [[maybe_unused]] uint8_t __pad02d5[0x3]; // 0x2d5 + [[maybe_unused]] uint8_t __pad0315[0x3]; // 0x315 public: // MPropertyFriendlyName "target layer ID for rendering" - CUtlSymbolLarge m_pszTargetLayerID; // 0x2d8 + CUtlSymbolLarge m_pszTargetLayerID; // 0x318 // MPropertyFriendlyName "control point to disable rendering if it is the camera" - int32_t m_nSkipRenderControlPoint; // 0x2e0 + int32_t m_nSkipRenderControlPoint; // 0x320 // MPropertyFriendlyName "control point to only enable rendering if it is the camera" - int32_t m_nAllowRenderControlPoint; // 0x2e4 + int32_t m_nAllowRenderControlPoint; // 0x324 // MPropertyFriendlyName "sort particles (DEPRECATED - USE RENDERER OPTION)" // MParticleAdvancedField - bool m_bShouldSort; // 0x2e8 + bool m_bShouldSort; // 0x328 private: - [[maybe_unused]] uint8_t __pad02e9[0x3f]; // 0x2e9 + [[maybe_unused]] uint8_t __pad0329[0x3f]; // 0x329 public: // MPropertySuppressField - CUtlVector< ParticleControlPointConfiguration_t > m_controlPointConfigurations; // 0x328 + CUtlVector< ParticleControlPointConfiguration_t > m_controlPointConfigurations; // 0x368 }; // Alignment: 8 -// Size: 0xab0 +// Size: 0xb10 class C_OP_RenderMaterialProxy : public CParticleFunctionRenderer { public: // MPropertyFriendlyName "Control Point for Model" - int32_t m_nMaterialControlPoint; // 0x230 + int32_t m_nMaterialControlPoint; // 0x260 // MPropertyFriendlyName "proxy type" - MaterialProxyType_t m_nProxyType; // 0x234 + MaterialProxyType_t m_nProxyType; // 0x264 // MPropertyFriendlyName "material variables" // MPropertyAutoExpandSelf - CUtlVector< MaterialVariable_t > m_MaterialVars; // 0x238 + CUtlVector< MaterialVariable_t > m_MaterialVars; // 0x268 // MPropertyFriendlyName "material override" - CStrongHandle< InfoForResourceTypeIMaterial2 > m_hOverrideMaterial; // 0x250 + CStrongHandle< InfoForResourceTypeIMaterial2 > m_hOverrideMaterial; // 0x280 // MPropertyFriendlyName "material override enable" - CParticleCollectionFloatInput m_flMaterialOverrideEnabled; // 0x258 + CParticleCollectionFloatInput m_flMaterialOverrideEnabled; // 0x288 // MPropertyFriendlyName "model tint" - CParticleCollectionVecInput m_vecColorScale; // 0x390 + CParticleCollectionVecInput m_vecColorScale; // 0x3c8 // MPropertyFriendlyName "model alpha" - CPerParticleFloatInput m_flAlpha; // 0x958 + CPerParticleFloatInput m_flAlpha; // 0x9b0 // MPropertyFriendlyName "model tint blend type" - ParticleColorBlendType_t m_nColorBlendType; // 0xa90 + ParticleColorBlendType_t m_nColorBlendType; // 0xaf0 }; // Alignment: 11 -// Size: 0x220 +// Size: 0x240 class C_OP_RemapCPtoScalar : public CParticleFunctionOperator { public: // MPropertyFriendlyName "input control point number" - int32_t m_nCPInput; // 0x1f0 + int32_t m_nCPInput; // 0x210 // MPropertyFriendlyName "output field" // MPropertyAttributeChoiceName "particlefield_scalar" - ParticleAttributeIndex_t m_nFieldOutput; // 0x1f4 + ParticleAttributeIndex_t m_nFieldOutput; // 0x214 // MPropertyFriendlyName "input field 0-2 X/Y/Z" // MPropertyAttributeChoiceName "vector_component" - int32_t m_nField; // 0x1f8 + int32_t m_nField; // 0x218 // MPropertyFriendlyName "input minimum" - float m_flInputMin; // 0x1fc + float m_flInputMin; // 0x21c // MPropertyFriendlyName "input maximum" - float m_flInputMax; // 0x200 + float m_flInputMax; // 0x220 // MPropertyFriendlyName "output minimum" - float m_flOutputMin; // 0x204 + float m_flOutputMin; // 0x224 // MPropertyFriendlyName "output maximum" - float m_flOutputMax; // 0x208 + float m_flOutputMax; // 0x228 // MPropertyFriendlyName "emitter lifetime start time (seconds)" - float m_flStartTime; // 0x20c + float m_flStartTime; // 0x22c // MPropertyFriendlyName "emitter lifetime end time (seconds)" - float m_flEndTime; // 0x210 + float m_flEndTime; // 0x230 // MPropertyFriendlyName "interpolation scale" - float m_flInterpRate; // 0x214 + float m_flInterpRate; // 0x234 // MPropertyFriendlyName "set value method" - ParticleSetMethod_t m_nSetMethod; // 0x218 + ParticleSetMethod_t m_nSetMethod; // 0x238 }; // Alignment: 1 -// Size: 0x330 +// Size: 0x360 class C_INIT_DistanceToNeighborCull : public CParticleFunctionInitializer { public: // MPropertyFriendlyName "cull distance" - CPerParticleFloatInput m_flDistance; // 0x1f0 + CPerParticleFloatInput m_flDistance; // 0x220 }; // Alignment: 5 -// Size: 0x7e0 +// Size: 0x820 class C_OP_SetSingleControlPointPosition : public CParticleFunctionPreEmission { public: // MPropertyFriendlyName "set positions in world space" - bool m_bUseWorldLocation; // 0x200 + bool m_bUseWorldLocation; // 0x220 // MPropertyFriendlyName "only set position once" - bool m_bSetOnce; // 0x201 + bool m_bSetOnce; // 0x221 private: - [[maybe_unused]] uint8_t __pad0202[0x2]; // 0x202 + [[maybe_unused]] uint8_t __pad0222[0x2]; // 0x222 public: // MPropertyFriendlyName "control point number" - int32_t m_nCP1; // 0x204 + int32_t m_nCP1; // 0x224 // MPropertyFriendlyName "control point location" - CParticleCollectionVecInput m_vecCP1Pos; // 0x208 + CParticleCollectionVecInput m_vecCP1Pos; // 0x228 // MPropertyFriendlyName "control point to offset positions from" - int32_t m_nHeadLocation; // 0x7d0 + int32_t m_nHeadLocation; // 0x810 }; // Alignment: 3 -// Size: 0x200 +// Size: 0x220 class C_OP_SnapshotRigidSkinToBones : public CParticleFunctionOperator { public: // MPropertyFriendlyName "rotate normals" - bool m_bTransformNormals; // 0x1f0 + bool m_bTransformNormals; // 0x210 // MPropertyFriendlyName "scale radii" - bool m_bTransformRadii; // 0x1f1 + bool m_bTransformRadii; // 0x211 private: - [[maybe_unused]] uint8_t __pad01f2[0x2]; // 0x1f2 + [[maybe_unused]] uint8_t __pad0212[0x2]; // 0x212 public: // MPropertyFriendlyName "control point number" - int32_t m_nControlPointNumber; // 0x1f4 + int32_t m_nControlPointNumber; // 0x214 }; // Alignment: 0 -// Size: 0x210 +// Size: 0x240 class C_INIT_RandomYaw : public CGeneralRandomRotation { public: // No members available }; +// Alignment: 3 +// Size: 0x10 +struct ParticleNamedValueSource_t +{ +public: + CUtlString m_Name; // 0x0 + // MPropertyAttributeChoiceName "particlefield_namedvaluetype" + PulseValueType_t m_Type; // 0x8 + bool m_IsPublic; // 0xc +}; + // Alignment: 2 -// Size: 0x200 +// Size: 0x220 class C_OP_SetCPtoVector : public CParticleFunctionOperator { public: // MPropertyFriendlyName "input control point number" - int32_t m_nCPInput; // 0x1f0 + int32_t m_nCPInput; // 0x210 // MPropertyFriendlyName "output field" // MPropertyAttributeChoiceName "particlefield_vector" - ParticleAttributeIndex_t m_nFieldOutput; // 0x1f4 + ParticleAttributeIndex_t m_nFieldOutput; // 0x214 +}; + +// Alignment: 2 +// Size: 0x78 +class CPulseCell_Outflow_StringSwitch : public CPulseCell_BaseFlow +{ +public: + CPulse_OutflowConnection m_DefaultCaseOutflow; // 0x48 + CUtlVector< CPulse_OutflowConnection > m_CaseOutflows; // 0x60 }; // Alignment: 3 -// Size: 0x200 +// Size: 0x220 class C_OP_LerpEndCapScalar : public CParticleFunctionOperator { public: // MPropertyFriendlyName "output field" // MPropertyAttributeChoiceName "particlefield_scalar" - ParticleAttributeIndex_t m_nFieldOutput; // 0x1f0 + ParticleAttributeIndex_t m_nFieldOutput; // 0x210 // MPropertyFriendlyName "value to lerp to" - float m_flOutput; // 0x1f4 + float m_flOutput; // 0x214 // MPropertyFriendlyName "lerp time" - float m_flLerpTime; // 0x1f8 + float m_flLerpTime; // 0x218 }; // Alignment: 3 -// Size: 0x200 +// Size: 0x220 class C_OP_RemapControlPointDirectionToVector : public CParticleFunctionOperator { public: // MPropertyFriendlyName "output field" // MPropertyAttributeChoiceName "particlefield_vector" - ParticleAttributeIndex_t m_nFieldOutput; // 0x1f0 + ParticleAttributeIndex_t m_nFieldOutput; // 0x210 // MPropertyFriendlyName "scale factor" - float m_flScale; // 0x1f4 + float m_flScale; // 0x214 // MPropertyFriendlyName "control point number" - int32_t m_nControlPointNumber; // 0x1f8 + int32_t m_nControlPointNumber; // 0x218 }; // Alignment: 8 -// Size: 0x260 +// Size: 0x280 class C_OP_RemapTransformVisibilityToScalar : public CParticleFunctionOperator { public: // MPropertyFriendlyName "set value method" - ParticleSetMethod_t m_nSetMethod; // 0x1f0 + ParticleSetMethod_t m_nSetMethod; // 0x210 private: - [[maybe_unused]] uint8_t __pad01f4[0x4]; // 0x1f4 + [[maybe_unused]] uint8_t __pad0214[0x4]; // 0x214 public: // MPropertyFriendlyName "transform input" - CParticleTransformInput m_TransformInput; // 0x1f8 + CParticleTransformInput m_TransformInput; // 0x218 // MPropertyFriendlyName "output field" // MPropertyAttributeChoiceName "particlefield_scalar" - ParticleAttributeIndex_t m_nFieldOutput; // 0x248 + ParticleAttributeIndex_t m_nFieldOutput; // 0x268 // MPropertyFriendlyName "CP visibility minimum" - float m_flInputMin; // 0x24c + float m_flInputMin; // 0x26c // MPropertyFriendlyName "CP visibility maximum" - float m_flInputMax; // 0x250 + float m_flInputMax; // 0x270 // MPropertyFriendlyName "output minimum" - float m_flOutputMin; // 0x254 + float m_flOutputMin; // 0x274 // MPropertyFriendlyName "output maximum" - float m_flOutputMax; // 0x258 + float m_flOutputMax; // 0x278 // MPropertyFriendlyName "visibility radius" - float m_flRadius; // 0x25c + float m_flRadius; // 0x27c }; // Alignment: 8 -// Size: 0x4a0 +// Size: 0x4d0 class C_OP_SetRandomControlPointPosition : public CParticleFunctionPreEmission { public: // MPropertyFriendlyName "set positions in world space" - bool m_bUseWorldLocation; // 0x200 + bool m_bUseWorldLocation; // 0x220 // MPropertyFriendlyName "inherit CP orientation" - bool m_bOrient; // 0x201 + bool m_bOrient; // 0x221 private: - [[maybe_unused]] uint8_t __pad0202[0x2]; // 0x202 + [[maybe_unused]] uint8_t __pad0222[0x2]; // 0x222 public: // MPropertyFriendlyName "control point number" - int32_t m_nCP1; // 0x204 + int32_t m_nCP1; // 0x224 // MPropertyFriendlyName "control point to offset positions from" - int32_t m_nHeadLocation; // 0x208 + int32_t m_nHeadLocation; // 0x228 private: - [[maybe_unused]] uint8_t __pad020c[0x4]; // 0x20c + [[maybe_unused]] uint8_t __pad022c[0x4]; // 0x22c public: // MPropertyFriendlyName "re-randomize rate (-1 for once only)" - CParticleCollectionFloatInput m_flReRandomRate; // 0x210 + CParticleCollectionFloatInput m_flReRandomRate; // 0x230 // MPropertyFriendlyName "control point min" - Vector m_vecCPMinPos; // 0x348 + Vector m_vecCPMinPos; // 0x370 // MPropertyFriendlyName "control point max" - Vector m_vecCPMaxPos; // 0x354 + Vector m_vecCPMaxPos; // 0x37c // MPropertyFriendlyName "Interpolation" - CParticleCollectionFloatInput m_flInterpolation; // 0x360 + CParticleCollectionFloatInput m_flInterpolation; // 0x388 }; // Alignment: 32 @@ -22399,30 +22844,30 @@ public: }; // Alignment: 1 -// Size: 0x330 +// Size: 0x350 class C_OP_EndCapTimedFreeze : public CParticleFunctionOperator { public: // MPropertyFriendlyName "freeze time" - CParticleCollectionFloatInput m_flFreezeTime; // 0x1f0 + CParticleCollectionFloatInput m_flFreezeTime; // 0x210 }; // Alignment: 3 -// Size: 0x220 +// Size: 0x240 class C_OP_SetControlPointToPlayer : public CParticleFunctionPreEmission { public: // MPropertyFriendlyName "control point number" - int32_t m_nCP1; // 0x200 + int32_t m_nCP1; // 0x220 // MPropertyFriendlyName "control point offset" // MVectorIsCoordinate - Vector m_vecCP1Pos; // 0x204 + Vector m_vecCP1Pos; // 0x224 // MPropertyFriendlyName "use eye orientation" - bool m_bOrientToEyes; // 0x210 + bool m_bOrientToEyes; // 0x230 }; // Alignment: 0 -// Size: 0x250 +// Size: 0x270 class C_OP_RemapNamedModelSequenceOnceTimed : public C_OP_RemapNamedModelElementOnceTimed { public: @@ -22430,435 +22875,668 @@ public: }; // Alignment: 8 -// Size: 0x230 +// Size: 0x250 class C_OP_TurbulenceForce : public CParticleFunctionForce { public: // MPropertyFriendlyName "noise scale 0" - float m_flNoiseCoordScale0; // 0x1f0 + float m_flNoiseCoordScale0; // 0x210 // MPropertyFriendlyName "noise scale 1" - float m_flNoiseCoordScale1; // 0x1f4 + float m_flNoiseCoordScale1; // 0x214 // MPropertyFriendlyName "noise scale 2" - float m_flNoiseCoordScale2; // 0x1f8 + float m_flNoiseCoordScale2; // 0x218 // MPropertyFriendlyName "noise scale 3" - float m_flNoiseCoordScale3; // 0x1fc + float m_flNoiseCoordScale3; // 0x21c // MPropertyFriendlyName "noise amount 0" // MVectorIsCoordinate - Vector m_vecNoiseAmount0; // 0x200 + Vector m_vecNoiseAmount0; // 0x220 // MPropertyFriendlyName "noise amount 1" // MVectorIsCoordinate - Vector m_vecNoiseAmount1; // 0x20c + Vector m_vecNoiseAmount1; // 0x22c // MPropertyFriendlyName "noise amount 2" // MVectorIsCoordinate - Vector m_vecNoiseAmount2; // 0x218 + Vector m_vecNoiseAmount2; // 0x238 // MPropertyFriendlyName "noise amount 3" // MVectorIsCoordinate - Vector m_vecNoiseAmount3; // 0x224 + Vector m_vecNoiseAmount3; // 0x244 }; // Alignment: 3 -// Size: 0x200 +// Size: 0x220 class C_OP_ReinitializeScalarEndCap : public CParticleFunctionOperator { public: // MPropertyFriendlyName "output field" // MPropertyAttributeChoiceName "particlefield_scalar" - ParticleAttributeIndex_t m_nFieldOutput; // 0x1f0 + ParticleAttributeIndex_t m_nFieldOutput; // 0x210 // MPropertyFriendlyName "minimum" - float m_flOutputMin; // 0x1f4 + float m_flOutputMin; // 0x214 // MPropertyFriendlyName "maximum" - float m_flOutputMax; // 0x1f8 + float m_flOutputMax; // 0x218 }; // Alignment: 8 -// Size: 0x240 +// Size: 0x260 class C_OP_RampScalarLinear : public CParticleFunctionOperator { public: // MPropertyFriendlyName "ramp rate min" - float m_RateMin; // 0x1f0 + float m_RateMin; // 0x210 // MPropertyFriendlyName "ramp rate max" - float m_RateMax; // 0x1f4 + float m_RateMax; // 0x214 // MPropertyFriendlyName "start time min" - float m_flStartTime_min; // 0x1f8 + float m_flStartTime_min; // 0x218 // MPropertyFriendlyName "start time max" - float m_flStartTime_max; // 0x1fc + float m_flStartTime_max; // 0x21c // MPropertyFriendlyName "end time min" - float m_flEndTime_min; // 0x200 + float m_flEndTime_min; // 0x220 // MPropertyFriendlyName "end time max" - float m_flEndTime_max; // 0x204 + float m_flEndTime_max; // 0x224 private: - [[maybe_unused]] uint8_t __pad0208[0x28]; // 0x208 + [[maybe_unused]] uint8_t __pad0228[0x28]; // 0x228 public: // MPropertyFriendlyName "ramp field" // MPropertyAttributeChoiceName "particlefield_scalar" - ParticleAttributeIndex_t m_nField; // 0x230 + ParticleAttributeIndex_t m_nField; // 0x250 // MPropertyFriendlyName "start/end proportional" - bool m_bProportionalOp; // 0x234 + bool m_bProportionalOp; // 0x254 }; // Alignment: 6 -// Size: 0x240 +// Size: 0x260 class C_OP_InterpolateRadius : public CParticleFunctionOperator { public: // MPropertyFriendlyName "start time" - float m_flStartTime; // 0x1f0 + float m_flStartTime; // 0x210 // MPropertyFriendlyName "end time" - float m_flEndTime; // 0x1f4 + float m_flEndTime; // 0x214 // MPropertyFriendlyName "radius start scale" - float m_flStartScale; // 0x1f8 + float m_flStartScale; // 0x218 // MPropertyFriendlyName "radius end scale" - float m_flEndScale; // 0x1fc + float m_flEndScale; // 0x21c // MPropertyFriendlyName "ease in and out" - bool m_bEaseInAndOut; // 0x200 + bool m_bEaseInAndOut; // 0x220 private: - [[maybe_unused]] uint8_t __pad0201[0x3]; // 0x201 + [[maybe_unused]] uint8_t __pad0221[0x3]; // 0x221 public: // MPropertyFriendlyName "scale bias" - float m_flBias; // 0x204 + float m_flBias; // 0x224 }; // Alignment: 11 -// Size: 0x3f0 +// Size: 0x410 class C_OP_SetControlPointToImpactPoint : public CParticleFunctionPreEmission { public: // MPropertyFriendlyName "control point to set" - int32_t m_nCPOut; // 0x200 + int32_t m_nCPOut; // 0x220 // MPropertyFriendlyName "control point to trace from" - int32_t m_nCPIn; // 0x204 + int32_t m_nCPIn; // 0x224 // MPropertyFriendlyName "trace update rate" - float m_flUpdateRate; // 0x208 + float m_flUpdateRate; // 0x228 private: - [[maybe_unused]] uint8_t __pad020c[0x4]; // 0x20c + [[maybe_unused]] uint8_t __pad022c[0x4]; // 0x22c public: // MPropertyFriendlyName "max trace length" - CParticleCollectionFloatInput m_flTraceLength; // 0x210 + CParticleCollectionFloatInput m_flTraceLength; // 0x230 // MPropertyFriendlyName "offset start point amount" - float m_flStartOffset; // 0x348 + float m_flStartOffset; // 0x370 // MPropertyFriendlyName "offset end point amount" - float m_flOffset; // 0x34c + float m_flOffset; // 0x374 // MPropertyFriendlyName "trace direction override" // MVectorIsCoordinate - Vector m_vecTraceDir; // 0x350 + Vector m_vecTraceDir; // 0x378 // MPropertyFriendlyName "trace collision group" - char m_CollisionGroupName[128]; // 0x35c + char m_CollisionGroupName[128]; // 0x384 // MPropertyFriendlyName "Trace Set" - ParticleTraceSet_t m_nTraceSet; // 0x3dc + ParticleTraceSet_t m_nTraceSet; // 0x404 // MPropertyFriendlyName "set to trace endpoint if no collision" - bool m_bSetToEndpoint; // 0x3e0 + bool m_bSetToEndpoint; // 0x408 // MPropertyFriendlyName "trace to closest surface along all cardinal directions" - bool m_bTraceToClosestSurface; // 0x3e1 + bool m_bTraceToClosestSurface; // 0x409 }; // Alignment: 4 -// Size: 0x380 +// Size: 0x3b0 class C_OP_RenderVRHapticEvent : public CParticleFunctionRenderer { public: // MPropertyFriendlyName "haptic hand" - ParticleVRHandChoiceList_t m_nHand; // 0x230 + ParticleVRHandChoiceList_t m_nHand; // 0x260 // MPropertyFriendlyName "hand control point number" - int32_t m_nOutputHandCP; // 0x234 + int32_t m_nOutputHandCP; // 0x264 // MPropertyFriendlyName "cp field" // MPropertyAttributeChoiceName "vector_component" - int32_t m_nOutputField; // 0x238 + int32_t m_nOutputField; // 0x268 private: - [[maybe_unused]] uint8_t __pad023c[0x4]; // 0x23c + [[maybe_unused]] uint8_t __pad026c[0x4]; // 0x26c public: // MPropertyFriendlyName "amplitude" - CPerParticleFloatInput m_flAmplitude; // 0x240 + CPerParticleFloatInput m_flAmplitude; // 0x270 }; // Alignment: 15 -// Size: 0x980 +// Size: 0x9c0 class C_OP_PositionLock : public CParticleFunctionOperator { public: // MPropertyFriendlyName "transform input" - CParticleTransformInput m_TransformInput; // 0x1f0 + CParticleTransformInput m_TransformInput; // 0x210 // MPropertyFriendlyName "start fadeout min" - float m_flStartTime_min; // 0x240 + float m_flStartTime_min; // 0x260 // MPropertyFriendlyName "start fadeout max" - float m_flStartTime_max; // 0x244 + float m_flStartTime_max; // 0x264 // MPropertyFriendlyName "start fadeout exponent" - float m_flStartTime_exp; // 0x248 + float m_flStartTime_exp; // 0x268 // MPropertyFriendlyName "end fadeout min" - float m_flEndTime_min; // 0x24c + float m_flEndTime_min; // 0x26c // MPropertyFriendlyName "end fadeout max" - float m_flEndTime_max; // 0x250 + float m_flEndTime_max; // 0x270 // MPropertyFriendlyName "end fadeout exponent" - float m_flEndTime_exp; // 0x254 + float m_flEndTime_exp; // 0x274 // MPropertyFriendlyName "distance fade range" - float m_flRange; // 0x258 + float m_flRange; // 0x278 private: - [[maybe_unused]] uint8_t __pad025c[0x4]; // 0x25c + [[maybe_unused]] uint8_t __pad027c[0x4]; // 0x27c public: // MPropertyFriendlyName "distance fade bias" - CParticleCollectionFloatInput m_flRangeBias; // 0x260 + CParticleCollectionFloatInput m_flRangeBias; // 0x280 // MPropertyFriendlyName "instant jump threshold" - float m_flJumpThreshold; // 0x398 + float m_flJumpThreshold; // 0x3c0 // MPropertyFriendlyName "previous position scale" - float m_flPrevPosScale; // 0x39c + float m_flPrevPosScale; // 0x3c4 // MPropertyFriendlyName "lock rotation" - bool m_bLockRot; // 0x3a0 + bool m_bLockRot; // 0x3c8 private: - [[maybe_unused]] uint8_t __pad03a1[0x7]; // 0x3a1 + [[maybe_unused]] uint8_t __pad03c9[0x7]; // 0x3c9 public: // MPropertyFriendlyName "component scale" - CParticleCollectionVecInput m_vecScale; // 0x3a8 + CParticleCollectionVecInput m_vecScale; // 0x3d0 // MPropertyFriendlyName "output field" // MPropertyAttributeChoiceName "particlefield_vector" - ParticleAttributeIndex_t m_nFieldOutput; // 0x970 + ParticleAttributeIndex_t m_nFieldOutput; // 0x9b8 // MPropertyFriendlyName "output field prev" // MPropertyAttributeChoiceName "particlefield_vector" - ParticleAttributeIndex_t m_nFieldOutputPrev; // 0x974 + ParticleAttributeIndex_t m_nFieldOutputPrev; // 0x9bc }; // Alignment: 15 -// Size: 0x5e0 +// Size: 0x620 class C_OP_OscillateVector : public CParticleFunctionOperator { public: // MPropertyFriendlyName "oscillation rate min" // MVectorIsSometimesCoordinate - Vector m_RateMin; // 0x1f0 + Vector m_RateMin; // 0x210 // MPropertyFriendlyName "oscillation rate max" // MVectorIsSometimesCoordinate - Vector m_RateMax; // 0x1fc + Vector m_RateMax; // 0x21c // MPropertyFriendlyName "oscillation frequency min" // MVectorIsSometimesCoordinate - Vector m_FrequencyMin; // 0x208 + Vector m_FrequencyMin; // 0x228 // MPropertyFriendlyName "oscillation frequency max" // MVectorIsSometimesCoordinate - Vector m_FrequencyMax; // 0x214 + Vector m_FrequencyMax; // 0x234 // MPropertyFriendlyName "oscillation field" // MPropertyAttributeChoiceName "particlefield_vector" - ParticleAttributeIndex_t m_nField; // 0x220 + ParticleAttributeIndex_t m_nField; // 0x240 // MPropertyFriendlyName "proportional 0/1" - bool m_bProportional; // 0x224 + bool m_bProportional; // 0x244 // MPropertyFriendlyName "start/end proportional" - bool m_bProportionalOp; // 0x225 + bool m_bProportionalOp; // 0x245 // MPropertyFriendlyName "offset instead of accelerate position" - bool m_bOffset; // 0x226 + bool m_bOffset; // 0x246 private: - [[maybe_unused]] uint8_t __pad0227[0x1]; // 0x227 + [[maybe_unused]] uint8_t __pad0247[0x1]; // 0x247 public: // MPropertyFriendlyName "start time min" - float m_flStartTime_min; // 0x228 + float m_flStartTime_min; // 0x248 // MPropertyFriendlyName "start time max" - float m_flStartTime_max; // 0x22c + float m_flStartTime_max; // 0x24c // MPropertyFriendlyName "end time min" - float m_flEndTime_min; // 0x230 + float m_flEndTime_min; // 0x250 // MPropertyFriendlyName "end time max" - float m_flEndTime_max; // 0x234 + float m_flEndTime_max; // 0x254 // MPropertyFriendlyName "oscillation multiplier" - CPerParticleFloatInput m_flOscMult; // 0x238 + CPerParticleFloatInput m_flOscMult; // 0x258 // MPropertyFriendlyName "oscillation start phase" - CPerParticleFloatInput m_flOscAdd; // 0x370 + CPerParticleFloatInput m_flOscAdd; // 0x398 // MPropertyFriendlyName "rate scale" - CPerParticleFloatInput m_flRateScale; // 0x4a8 + CPerParticleFloatInput m_flRateScale; // 0x4d8 }; // Alignment: 10 -// Size: 0x6f0 +// Size: 0x730 class C_OP_MovementSkinnedPositionFromCPSnapshot : public CParticleFunctionOperator { public: // MPropertyFriendlyName "snapshot control point number" - int32_t m_nSnapshotControlPointNumber; // 0x1f0 + int32_t m_nSnapshotControlPointNumber; // 0x210 // MPropertyFriendlyName "control point number" - int32_t m_nControlPointNumber; // 0x1f4 + int32_t m_nControlPointNumber; // 0x214 // MPropertyFriendlyName "random order" - bool m_bRandom; // 0x1f8 + bool m_bRandom; // 0x218 private: - [[maybe_unused]] uint8_t __pad01f9[0x3]; // 0x1f9 + [[maybe_unused]] uint8_t __pad0219[0x3]; // 0x219 public: // MPropertyFriendlyName "random seed" - int32_t m_nRandomSeed; // 0x1fc + int32_t m_nRandomSeed; // 0x21c // MPropertyFriendlyName "set normal" - bool m_bSetNormal; // 0x200 + bool m_bSetNormal; // 0x220 // MPropertyFriendlyName "set radius" - bool m_bSetRadius; // 0x201 + bool m_bSetRadius; // 0x221 private: - [[maybe_unused]] uint8_t __pad0202[0x6]; // 0x202 + [[maybe_unused]] uint8_t __pad0222[0x6]; // 0x222 public: // MPropertyFriendlyName "particle increment amount" - CParticleCollectionFloatInput m_flIncrement; // 0x208 + CParticleCollectionFloatInput m_flIncrement; // 0x228 // MPropertyFriendlyName "Full Loop Increment Amount" - CParticleCollectionFloatInput m_nFullLoopIncrement; // 0x340 + CParticleCollectionFloatInput m_nFullLoopIncrement; // 0x368 // MPropertyFriendlyName "Snapshot start point" - CParticleCollectionFloatInput m_nSnapShotStartPoint; // 0x478 + CParticleCollectionFloatInput m_nSnapShotStartPoint; // 0x4a8 // MPropertyFriendlyName "Interpolation" - CPerParticleFloatInput m_flInterpolation; // 0x5b0 + CPerParticleFloatInput m_flInterpolation; // 0x5e8 }; // Alignment: 8 -// Size: 0x360 +// Size: 0x390 class C_OP_SetControlPointOrientation : public CParticleFunctionPreEmission { public: // MPropertyFriendlyName "set orientation in world space" - bool m_bUseWorldLocation; // 0x200 + bool m_bUseWorldLocation; // 0x220 private: - [[maybe_unused]] uint8_t __pad0201[0x1]; // 0x201 + [[maybe_unused]] uint8_t __pad0221[0x1]; // 0x221 public: // MPropertyFriendlyName "randomize" - bool m_bRandomize; // 0x202 + bool m_bRandomize; // 0x222 // MPropertyFriendlyName "only set orientation once" - bool m_bSetOnce; // 0x203 + bool m_bSetOnce; // 0x223 // MPropertyFriendlyName "control point number" - int32_t m_nCP; // 0x204 + int32_t m_nCP; // 0x224 // MPropertyFriendlyName "control point to offset orientation from" - int32_t m_nHeadLocation; // 0x208 + int32_t m_nHeadLocation; // 0x228 // MPropertyFriendlyName "pitch yaw roll" - QAngle m_vecRotation; // 0x20c + QAngle m_vecRotation; // 0x22c // MPropertyFriendlyName "pitch yaw roll max" - QAngle m_vecRotationB; // 0x218 + QAngle m_vecRotationB; // 0x238 private: - [[maybe_unused]] uint8_t __pad0224[0x4]; // 0x224 + [[maybe_unused]] uint8_t __pad0244[0x4]; // 0x244 public: // MPropertyFriendlyName "interpolation" - CParticleCollectionFloatInput m_flInterpolation; // 0x228 + CParticleCollectionFloatInput m_flInterpolation; // 0x248 }; // Alignment: 5 -// Size: 0x210 +// Size: 0x240 class C_INIT_VelocityFromCP : public CParticleFunctionInitializer { public: // MPropertyFriendlyName "control point number" - int32_t m_nControlPoint; // 0x1f0 + int32_t m_nControlPoint; // 0x220 // MPropertyFriendlyName "comparison control point number" - int32_t m_nControlPointCompare; // 0x1f4 + int32_t m_nControlPointCompare; // 0x224 // MPropertyFriendlyName "local space control point number" - int32_t m_nControlPointLocal; // 0x1f8 + int32_t m_nControlPointLocal; // 0x228 // MPropertyFriendlyName "velocity scale" - float m_flVelocityScale; // 0x1fc + float m_flVelocityScale; // 0x22c // MPropertyFriendlyName "direction only" - bool m_bDirectionOnly; // 0x200 + bool m_bDirectionOnly; // 0x230 +}; + +// Alignment: 0 +// Size: 0x48 +class CPulseCell_Test_MultiInflow_WithDefault : public CPulseCell_BaseFlow +{ +public: + // No members available +}; + +// Alignment: 61 +// Size: 0x2270 +class CBaseRendererSource2 : public CParticleFunctionRenderer +{ +public: + // MPropertyStartGroup "+Renderer Modifiers" + // MPropertyFriendlyName "radius scale" + // MPropertySortPriority "700" + CParticleCollectionRendererFloatInput m_flRadiusScale; // 0x260 + // MPropertyFriendlyName "alpha scale" + // MPropertySortPriority "700" + CParticleCollectionRendererFloatInput m_flAlphaScale; // 0x3a0 + // MPropertyFriendlyName "rotation roll scale" + // MPropertySortPriority "700" + CParticleCollectionRendererFloatInput m_flRollScale; // 0x4e0 + // MPropertyFriendlyName "per-particle alpha scale attribute" + // MPropertyAttributeChoiceName "particlefield_scalar" + // MPropertySortPriority "700" + ParticleAttributeIndex_t m_nAlpha2Field; // 0x620 +private: + [[maybe_unused]] uint8_t __pad0624[0x4]; // 0x624 +public: + // MPropertyFriendlyName "color blend" + // MPropertySortPriority "700" + CParticleCollectionRendererVecInput m_vecColorScale; // 0x628 + // MPropertyFriendlyName "color blend type" + // MPropertySortPriority "700" + ParticleColorBlendType_t m_nColorBlendType; // 0xc10 + // MPropertyStartGroup "+Material" + // MPropertyFriendlyName "Shader" + // MPropertySortPriority "600" + SpriteCardShaderType_t m_nShaderType; // 0xc14 + // MPropertyFriendlyName "Custom Shader" + // MPropertySuppressExpr "m_nShaderType != SPRITECARD_SHADER_CUSTOM" + // MPropertySortPriority "600" + CUtlString m_strShaderOverride; // 0xc18 + // MPropertyFriendlyName "X offset of center point" + // MPropertySortPriority "600" + CParticleCollectionRendererFloatInput m_flCenterXOffset; // 0xc20 + // MPropertyFriendlyName "Y offset of center point" + // MPropertySortPriority "600" + CParticleCollectionRendererFloatInput m_flCenterYOffset; // 0xd60 + // MPropertyFriendlyName "Bump Strength" + // MPropertySortPriority "600" + float m_flBumpStrength; // 0xea0 + // MPropertyFriendlyName "Sheet Crop Behavior" + // MPropertySortPriority "600" + ParticleSequenceCropOverride_t m_nCropTextureOverride; // 0xea4 + // MPropertyFriendlyName "Textures" + // MParticleRequireDefaultArrayEntry + // MPropertyAutoExpandSelf + // MPropertySortPriority "600" + CUtlVector< TextureGroup_t > m_vecTexturesInput; // 0xea8 + // MPropertyStartGroup "Animation" + // MPropertyFriendlyName "animation rate" + // MPropertyAttributeRange "0 5" + // MPropertySortPriority "500" + float m_flAnimationRate; // 0xec0 + // MPropertyFriendlyName "animation type" + // MPropertySortPriority "500" + AnimationType_t m_nAnimationType; // 0xec4 + // MPropertyFriendlyName "set animation value in FPS" + // MPropertySortPriority "500" + bool m_bAnimateInFPS; // 0xec8 +private: + [[maybe_unused]] uint8_t __pad0ec9[0x7]; // 0xec9 +public: + // MPropertyStartGroup "Lighting and Shadows" + // MPropertyFriendlyName "self illum amount" + // MPropertyAttributeRange "0 2" + // MPropertySortPriority "400" + CParticleCollectionRendererFloatInput m_flSelfIllumAmount; // 0xed0 + // MPropertyFriendlyName "diffuse lighting amount" + // MPropertyAttributeRange "0 1" + // MPropertySortPriority "400" + CParticleCollectionRendererFloatInput m_flDiffuseAmount; // 0x1010 + // MPropertyFriendlyName "diffuse lighting origin Control Point" + // MPropertySortPriority "400" + int32_t m_nLightingControlPoint; // 0x1150 + // MPropertyFriendlyName "self illum per-particle" + // MPropertyAttributeChoiceName "particlefield_scalar" + // MPropertySortPriority "400" + ParticleAttributeIndex_t m_nSelfIllumPerParticle; // 0x1154 + // MPropertyStartGroup "+Color and alpha adjustments" + // MPropertyFriendlyName "output blend mode" + // MPropertySortPriority "300" + ParticleOutputBlendMode_t m_nOutputBlendMode; // 0x1158 + // MPropertyFriendlyName "Gamma-correct vertex colors" + // MPropertySortPriority "300" + bool m_bGammaCorrectVertexColors; // 0x115c + // MPropertyFriendlyName "Saturate color pre alphablend" + // MPropertySortPriority "300" + // MPropertySuppressExpr "mod!=dota" + bool m_bSaturateColorPreAlphaBlend; // 0x115d +private: + [[maybe_unused]] uint8_t __pad115e[0x2]; // 0x115e +public: + // MPropertyFriendlyName "add self amount over alphablend" + // MPropertySortPriority "300" + CParticleCollectionRendererFloatInput m_flAddSelfAmount; // 0x1160 + // MPropertyFriendlyName "desaturation amount" + // MPropertyAttributeRange "0 1" + // MPropertySortPriority "300" + CParticleCollectionRendererFloatInput m_flDesaturation; // 0x12a0 + // MPropertyFriendlyName "overbright factor" + // MPropertySortPriority "300" + CParticleCollectionRendererFloatInput m_flOverbrightFactor; // 0x13e0 + // MPropertyFriendlyName "HSV Shift Control Point" + // MPropertySortPriority "300" + int32_t m_nHSVShiftControlPoint; // 0x1520 + // MPropertyFriendlyName "Apply fog to particle" + // MPropertySortPriority "300" + ParticleFogType_t m_nFogType; // 0x1524 + // MPropertyFriendlyName "Fog Scale" + // MPropertySortPriority "300" + // MPropertySuppressExpr "mod != hlx" + CParticleCollectionRendererFloatInput m_flFogAmount; // 0x1528 + // MPropertyFriendlyName "Apply fog of war to color" + // MPropertySortPriority "300" + // MPropertySuppressExpr "mod != dota" + bool m_bTintByFOW; // 0x1668 + // MPropertyFriendlyName "Apply global light to color" + // MPropertySortPriority "300" + // MPropertySuppressExpr "mod != dota" + bool m_bTintByGlobalLight; // 0x1669 +private: + [[maybe_unused]] uint8_t __pad166a[0x2]; // 0x166a +public: + // MPropertyStartGroup "Color and alpha adjustments/Alpha Reference" + // MPropertyFriendlyName "alpha reference" + // MPropertySortPriority "300" + SpriteCardPerParticleScale_t m_nPerParticleAlphaReference; // 0x166c + // MPropertyFriendlyName "alpha reference window size" + // MPropertySortPriority "300" + SpriteCardPerParticleScale_t m_nPerParticleAlphaRefWindow; // 0x1670 + // MPropertyFriendlyName "alpha reference type" + // MPropertySortPriority "300" + ParticleAlphaReferenceType_t m_nAlphaReferenceType; // 0x1674 + // MPropertyFriendlyName "alpha reference softness" + // MPropertyAttributeRange "0 1" + // MPropertySortPriority "300" + CParticleCollectionRendererFloatInput m_flAlphaReferenceSoftness; // 0x1678 + // MPropertyFriendlyName "source alpha value to map to alpha of zero" + // MPropertyAttributeRange "0 1" + // MPropertySortPriority "300" + CParticleCollectionRendererFloatInput m_flSourceAlphaValueToMapToZero; // 0x17b8 + // MPropertyFriendlyName "source alpha value to map to alpha of 1" + // MPropertyAttributeRange "0 1" + // MPropertySortPriority "300" + CParticleCollectionRendererFloatInput m_flSourceAlphaValueToMapToOne; // 0x18f8 + // MPropertyStartGroup "Refraction" + // MPropertyFriendlyName "refract background" + // MPropertySortPriority "200" + bool m_bRefract; // 0x1a38 + // MPropertyFriendlyName "refract draws opaque - alpha scales refraction" + // MPropertySortPriority "200" + // MPropertySuppressExpr "!m_bRefract" + bool m_bRefractSolid; // 0x1a39 +private: + [[maybe_unused]] uint8_t __pad1a3a[0x6]; // 0x1a3a +public: + // MPropertyFriendlyName "refract amount" + // MPropertyAttributeRange "-2 2" + // MPropertySortPriority "200" + // MPropertySuppressExpr "!m_bRefract" + CParticleCollectionRendererFloatInput m_flRefractAmount; // 0x1a40 + // MPropertyFriendlyName "refract blur radius" + // MPropertySortPriority "200" + // MPropertySuppressExpr "!m_bRefract" + int32_t m_nRefractBlurRadius; // 0x1b80 + // MPropertyFriendlyName "refract blur type" + // MPropertySortPriority "200" + // MPropertySuppressExpr "!m_bRefract" + BlurFilterType_t m_nRefractBlurType; // 0x1b84 + // MPropertyStartGroup + // MPropertyFriendlyName "Only Render in effects bloom pass" + // MPropertySortPriority "1100" + bool m_bOnlyRenderInEffectsBloomPass; // 0x1b88 + // MPropertyFriendlyName "Only Render in effects water pass" + // MPropertySortPriority "1050" + // MPropertySuppressExpr "mod != csgo" + bool m_bOnlyRenderInEffectsWaterPass; // 0x1b89 + // MPropertyFriendlyName "Use Mixed Resolution Rendering" + // MPropertySortPriority "1200" + bool m_bUseMixedResolutionRendering; // 0x1b8a + // MPropertyFriendlyName "Only Render in effects game overlay pass" + // MPropertySortPriority "1210" + // MPropertySuppressExpr "mod != csgo" + bool m_bOnlyRenderInEffecsGameOverlay; // 0x1b8b + // MPropertyStartGroup "Stencil" + // MPropertyFriendlyName "stencil test ID" + // MPropertySortPriority "0" + char m_stencilTestID[128]; // 0x1b8c + // MPropertyFriendlyName "only write where stencil is NOT stencil test ID" + // MPropertySortPriority "0" + bool m_bStencilTestExclude; // 0x1c0c + // MPropertyFriendlyName "stencil write ID" + // MPropertySortPriority "0" + char m_stencilWriteID[128]; // 0x1c0d + // MPropertyFriendlyName "write stencil on z-buffer test success" + // MPropertySortPriority "0" + bool m_bWriteStencilOnDepthPass; // 0x1c8d + // MPropertyFriendlyName "write stencil on z-buffer test failure" + // MPropertySortPriority "0" + bool m_bWriteStencilOnDepthFail; // 0x1c8e + // MPropertyStartGroup "Depth buffer control and effects" + // MPropertyFriendlyName "reverse z-buffer test" + // MPropertySortPriority "900" + bool m_bReverseZBuffering; // 0x1c8f + // MPropertyFriendlyName "disable z-buffer test" + // MPropertySortPriority "900" + bool m_bDisableZBuffering; // 0x1c90 +private: + [[maybe_unused]] uint8_t __pad1c91[0x3]; // 0x1c91 +public: + // MPropertyFriendlyName "Depth feathering mode" + // MPropertySortPriority "900" + ParticleDepthFeatheringMode_t m_nFeatheringMode; // 0x1c94 + // MPropertyFriendlyName "particle feathering closest distance to surface" + // MPropertySortPriority "900" + CParticleCollectionRendererFloatInput m_flFeatheringMinDist; // 0x1c98 + // MPropertyFriendlyName "particle feathering farthest distance to surface" + // MPropertySortPriority "900" + CParticleCollectionRendererFloatInput m_flFeatheringMaxDist; // 0x1dd8 + // MPropertyFriendlyName "particle feathering filter" + // MPropertySortPriority "900" + CParticleCollectionRendererFloatInput m_flFeatheringFilter; // 0x1f18 + // MPropertyFriendlyName "depth comparison bias" + // MPropertySortPriority "900" + float m_flDepthBias; // 0x2058 + // MPropertyFriendlyName "Sort Method" + // MPropertySortPriority "900" + ParticleSortingChoiceList_t m_nSortMethod; // 0x205c + // MPropertyStartGroup "Animation" + // MPropertyFriendlyName "blend sequence animation frames" + // MPropertySortPriority "500" + bool m_bBlendFramesSeq0; // 0x2060 + // MPropertyFriendlyName "use max-luminance blending for sequence" + // MPropertySortPriority "500" + // MPropertySuppressExpr "!m_bBlendFramesSeq0" + bool m_bMaxLuminanceBlendingSequence0; // 0x2061 +}; + +// Alignment: 8 +// Size: 0x2e0 +class C_INIT_LifespanFromVelocity : public CParticleFunctionInitializer +{ +public: + // MPropertyFriendlyName "bias distance" + // MVectorIsCoordinate + Vector m_vecComponentScale; // 0x220 + // MPropertyFriendlyName "trace offset" + float m_flTraceOffset; // 0x22c + // MPropertyFriendlyName "maximum trace length" + float m_flMaxTraceLength; // 0x230 + // MPropertyFriendlyName "trace recycle tolerance" + float m_flTraceTolerance; // 0x234 + // MPropertyFriendlyName "maximum points to cache" + int32_t m_nMaxPlanes; // 0x238 +private: + [[maybe_unused]] uint8_t __pad023c[0x4]; // 0x23c +public: + // MPropertyFriendlyName "trace collision group" + char m_CollisionGroupName[128]; // 0x240 + // MPropertyFriendlyName "Trace Set" + ParticleTraceSet_t m_nTraceSet; // 0x2c0 +private: + [[maybe_unused]] uint8_t __pad02c4[0xc]; // 0x2c4 +public: + // MPropertyFriendlyName "collide with water" + bool m_bIncludeWater; // 0x2d0 +}; + +// Alignment: 0 +// Size: 0x48 +class CPulseCell_Value_TestValue50 : public CPulseCell_BaseValue +{ +public: + // No members available +}; + +// Alignment: 2 +// Size: 0x220 +class C_OP_ConstrainLineLength : public CParticleFunctionConstraint +{ +public: + // MPropertyFriendlyName "minimum length" + float m_flMinDistance; // 0x210 + // MPropertyFriendlyName "maximum length" + float m_flMaxDistance; // 0x214 +}; + +// Alignment: 5 +// Size: 0x4b0 +class C_OP_InstantaneousEmitter : public CParticleFunctionEmitter +{ +public: + // MPropertyFriendlyName "num to emit" + // MPropertyAttributeRange "1 1000" + CParticleCollectionFloatInput m_nParticlesToEmit; // 0x220 + // MPropertyFriendlyName "emission start time" + CParticleCollectionFloatInput m_flStartTime; // 0x360 + // MPropertyFriendlyName "emission scale from killed parent particles" + float m_flInitFromKilledParentParticles; // 0x4a0 + // MPropertyFriendlyName "maximum emission per frame" + int32_t m_nMaxEmittedPerFrame; // 0x4a4 + // MPropertyFriendlyName "control point with snapshot data" + int32_t m_nSnapshotControlPoint; // 0x4a8 }; // Alignment: 7 -// Size: 0x22e0 +// Size: 0x2510 class CBaseTrailRenderer : public CBaseRendererSource2 { public: // MPropertyStartGroup "Orientation" // MPropertyFriendlyName "orientation type" // MPropertySortPriority "750" - ParticleOrientationChoiceList_t m_nOrientationType; // 0x2050 + ParticleOrientationChoiceList_t m_nOrientationType; // 0x2270 // MPropertyFriendlyName "orientation control point" // MPropertySortPriority "750" // MPropertySuppressExpr "m_nOrientationType != PARTICLE_ORIENTATION_ALIGN_TO_PARTICLE_NORMAL && m_nOrientationType != PARTICLE_ORIENTATION_SCREENALIGN_TO_PARTICLE_NORMAL" - int32_t m_nOrientationControlPoint; // 0x2054 + int32_t m_nOrientationControlPoint; // 0x2274 // MPropertyStartGroup "Screenspace Fading and culling" // MPropertyFriendlyName "minimum visual screen-size" // MPropertySortPriority "900" - float m_flMinSize; // 0x2058 + float m_flMinSize; // 0x2278 // MPropertyFriendlyName "maximum visual screen-size" // MPropertySortPriority "900" - float m_flMaxSize; // 0x205c + float m_flMaxSize; // 0x227c // MPropertyFriendlyName "start fade screen-size" // MPropertySortPriority "900" - CParticleCollectionFloatInput m_flStartFadeSize; // 0x2060 + CParticleCollectionRendererFloatInput m_flStartFadeSize; // 0x2280 // MPropertyFriendlyName "end fade and cull screen-size" // MPropertySortPriority "900" - CParticleCollectionFloatInput m_flEndFadeSize; // 0x2198 + CParticleCollectionRendererFloatInput m_flEndFadeSize; // 0x23c0 // MPropertyStartGroup "Trail UV Controls" // MPropertyFriendlyName "Clamp Non-Sheet texture V coords" // MPropertySortPriority "800" - bool m_bClampV; // 0x22d0 -}; - -// Alignment: 8 -// Size: 0x2b0 -class C_INIT_LifespanFromVelocity : public CParticleFunctionInitializer -{ -public: - // MPropertyFriendlyName "bias distance" - // MVectorIsCoordinate - Vector m_vecComponentScale; // 0x1f0 - // MPropertyFriendlyName "trace offset" - float m_flTraceOffset; // 0x1fc - // MPropertyFriendlyName "maximum trace length" - float m_flMaxTraceLength; // 0x200 - // MPropertyFriendlyName "trace recycle tolerance" - float m_flTraceTolerance; // 0x204 - // MPropertyFriendlyName "maximum points to cache" - int32_t m_nMaxPlanes; // 0x208 -private: - [[maybe_unused]] uint8_t __pad020c[0x4]; // 0x20c -public: - // MPropertyFriendlyName "trace collision group" - char m_CollisionGroupName[128]; // 0x210 - // MPropertyFriendlyName "Trace Set" - ParticleTraceSet_t m_nTraceSet; // 0x290 -private: - [[maybe_unused]] uint8_t __pad0294[0xc]; // 0x294 -public: - // MPropertyFriendlyName "collide with water" - bool m_bIncludeWater; // 0x2a0 -}; - -// Alignment: 2 -// Size: 0x200 -class C_OP_ConstrainLineLength : public CParticleFunctionConstraint -{ -public: - // MPropertyFriendlyName "minimum length" - float m_flMinDistance; // 0x1f0 - // MPropertyFriendlyName "maximum length" - float m_flMaxDistance; // 0x1f4 -}; - -// Alignment: 5 -// Size: 0x470 -class C_OP_InstantaneousEmitter : public CParticleFunctionEmitter -{ -public: - // MPropertyFriendlyName "num to emit" - // MPropertyAttributeRange "1 1000" - CParticleCollectionFloatInput m_nParticlesToEmit; // 0x1f0 - // MPropertyFriendlyName "emission start time" - CParticleCollectionFloatInput m_flStartTime; // 0x328 - // MPropertyFriendlyName "emission scale from killed parent particles" - float m_flInitFromKilledParentParticles; // 0x460 - // MPropertyFriendlyName "maximum emission per frame" - int32_t m_nMaxEmittedPerFrame; // 0x464 - // MPropertyFriendlyName "control point with snapshot data" - int32_t m_nSnapshotControlPoint; // 0x468 -}; - -// Alignment: 6 -// Size: 0x7e0 -class C_OP_SetControlPointToCPVelocity : public CParticleFunctionPreEmission -{ -public: - // MPropertyFriendlyName "control point input" - int32_t m_nCPInput; // 0x200 - // MPropertyFriendlyName "control point number to set velocity" - int32_t m_nCPOutputVel; // 0x204 - // MPropertyFriendlyName "normalize output" - bool m_bNormalize; // 0x208 -private: - [[maybe_unused]] uint8_t __pad0209[0x3]; // 0x209 -public: - // MPropertyFriendlyName "control point number to set magnitude" - int32_t m_nCPOutputMag; // 0x20c - // MPropertyFriendlyName "control point field for magnitude" - // MPropertyAttributeChoiceName "vector_component" - int32_t m_nCPField; // 0x210 -private: - [[maybe_unused]] uint8_t __pad0214[0x4]; // 0x214 -public: - // MPropertyFriendlyName "comparison velocity" - CParticleCollectionVecInput m_vecComparisonVelocity; // 0x218 + bool m_bClampV; // 0x2500 }; // Alignment: 0 -// Size: 0x210 +// Size: 0x230 class C_OP_Spin : public CGeneralSpin { public: @@ -22866,106 +23544,106 @@ public: }; // Alignment: 10 -// Size: 0x220 +// Size: 0x250 class C_INIT_CreationNoise : public CParticleFunctionInitializer { public: // MPropertyFriendlyName "output field" // MPropertyAttributeChoiceName "particlefield_scalar" - ParticleAttributeIndex_t m_nFieldOutput; // 0x1f0 + ParticleAttributeIndex_t m_nFieldOutput; // 0x220 // MPropertyFriendlyName "absolute value" - bool m_bAbsVal; // 0x1f4 + bool m_bAbsVal; // 0x224 // MPropertyFriendlyName "invert absolute value" - bool m_bAbsValInv; // 0x1f5 + bool m_bAbsValInv; // 0x225 private: - [[maybe_unused]] uint8_t __pad01f6[0x2]; // 0x1f6 + [[maybe_unused]] uint8_t __pad0226[0x2]; // 0x226 public: // MPropertyFriendlyName "time coordinate offset" - float m_flOffset; // 0x1f8 + float m_flOffset; // 0x228 // MPropertyFriendlyName "output minimum" - float m_flOutputMin; // 0x1fc + float m_flOutputMin; // 0x22c // MPropertyFriendlyName "output maximum" - float m_flOutputMax; // 0x200 + float m_flOutputMax; // 0x230 // MPropertyFriendlyName "time noise coordinate scale" - float m_flNoiseScale; // 0x204 + float m_flNoiseScale; // 0x234 // MPropertyFriendlyName "spatial noise coordinate scale" - float m_flNoiseScaleLoc; // 0x208 + float m_flNoiseScaleLoc; // 0x238 // MPropertyFriendlyName "spatial coordinate offset" // MVectorIsCoordinate - Vector m_vecOffsetLoc; // 0x20c + Vector m_vecOffsetLoc; // 0x23c // MPropertyFriendlyName "world time noise coordinate scale" - float m_flWorldTimeScale; // 0x218 + float m_flWorldTimeScale; // 0x248 }; // Alignment: 8 -// Size: 0x270 +// Size: 0x2a0 class C_OP_RenderAsModels : public CParticleFunctionRenderer { public: // MPropertyFriendlyName "models" // MParticleRequireDefaultArrayEntry - CUtlVector< ModelReference_t > m_ModelList; // 0x230 + CUtlVector< ModelReference_t > m_ModelList; // 0x260 private: - [[maybe_unused]] uint8_t __pad0248[0x4]; // 0x248 + [[maybe_unused]] uint8_t __pad0278[0x4]; // 0x278 public: // MPropertyFriendlyName "scale factor for radius" - float m_flModelScale; // 0x24c + float m_flModelScale; // 0x27c // MPropertyFriendlyName "scale model to match particle size" - bool m_bFitToModelSize; // 0x250 + bool m_bFitToModelSize; // 0x280 // MPropertyFriendlyName "non-uniform scaling" - bool m_bNonUniformScaling; // 0x251 + bool m_bNonUniformScaling; // 0x281 private: - [[maybe_unused]] uint8_t __pad0252[0x2]; // 0x252 + [[maybe_unused]] uint8_t __pad0282[0x2]; // 0x282 public: // MPropertyFriendlyName "X axis scaling scalar field" // MPropertyAttributeChoiceName "particlefield_scalar" - ParticleAttributeIndex_t m_nXAxisScalingAttribute; // 0x254 + ParticleAttributeIndex_t m_nXAxisScalingAttribute; // 0x284 // MPropertyFriendlyName "Y axis scaling scalar field" // MPropertyAttributeChoiceName "particlefield_scalar" - ParticleAttributeIndex_t m_nYAxisScalingAttribute; // 0x258 + ParticleAttributeIndex_t m_nYAxisScalingAttribute; // 0x288 // MPropertyFriendlyName "Z axis scaling scalar field" // MPropertyAttributeChoiceName "particlefield_scalar" - ParticleAttributeIndex_t m_nZAxisScalingAttribute; // 0x25c + ParticleAttributeIndex_t m_nZAxisScalingAttribute; // 0x28c // MPropertyFriendlyName "model size cull bloat" // MPropertyAttributeChoiceName "particlefield_size_cull_bloat" - int32_t m_nSizeCullBloat; // 0x260 + int32_t m_nSizeCullBloat; // 0x290 }; // Alignment: 3 -// Size: 0x230 +// Size: 0x250 class C_OP_RemapDistanceToLineSegmentToVector : public C_OP_RemapDistanceToLineSegmentBase { public: // MPropertyFriendlyName "output field" // MPropertyAttributeChoiceName "particlefield_vector" - ParticleAttributeIndex_t m_nFieldOutput; // 0x210 + ParticleAttributeIndex_t m_nFieldOutput; // 0x230 // MPropertyFriendlyName "output value at min distance" - Vector m_vMinOutputValue; // 0x214 + Vector m_vMinOutputValue; // 0x234 // MPropertyFriendlyName "output value at max distance" - Vector m_vMaxOutputValue; // 0x220 + Vector m_vMaxOutputValue; // 0x240 }; // Alignment: 5 -// Size: 0x210 +// Size: 0x240 class C_INIT_NormalOffset : public CParticleFunctionInitializer { public: // MPropertyFriendlyName "offset min" // MVectorIsCoordinate - Vector m_OffsetMin; // 0x1f0 + Vector m_OffsetMin; // 0x220 // MPropertyFriendlyName "offset max" // MVectorIsCoordinate - Vector m_OffsetMax; // 0x1fc + Vector m_OffsetMax; // 0x22c // MPropertyFriendlyName "control point number" - int32_t m_nControlPointNumber; // 0x208 + int32_t m_nControlPointNumber; // 0x238 // MPropertyFriendlyName "offset in local space 0/1" - bool m_bLocalCoords; // 0x20c + bool m_bLocalCoords; // 0x23c // MPropertyFriendlyName "normalize output 0/1" - bool m_bNormalize; // 0x20d + bool m_bNormalize; // 0x23d }; // Alignment: 0 -// Size: 0x1f0 +// Size: 0x210 class CSpinUpdateBase : public CParticleFunctionOperator { public: @@ -22973,348 +23651,371 @@ public: }; // Alignment: 5 -// Size: 0x220 +// Size: 0x240 class C_OP_ControlPointToRadialScreenSpace : public CParticleFunctionPreEmission { public: // MPropertyFriendlyName "source Control Point in World" - int32_t m_nCPIn; // 0x200 + int32_t m_nCPIn; // 0x220 // MPropertyFriendlyName "Source Control Point offset" // MVectorIsCoordinate - Vector m_vecCP1Pos; // 0x204 + Vector m_vecCP1Pos; // 0x224 // MPropertyFriendlyName "Set control point number" - int32_t m_nCPOut; // 0x210 + int32_t m_nCPOut; // 0x230 // MPropertyFriendlyName "Output field 0-2 X/Y/Z" // MPropertyAttributeChoiceName "vector_component" - int32_t m_nCPOutField; // 0x214 + int32_t m_nCPOutField; // 0x234 // MPropertyFriendlyName "Ss Pos and Dot OUT CP" - int32_t m_nCPSSPosOut; // 0x218 + int32_t m_nCPSSPosOut; // 0x238 }; // Alignment: 3 -// Size: 0x210 +// Size: 0x240 class C_INIT_CreateFromPlaneCache : public CParticleFunctionInitializer { public: // MPropertyFriendlyName "local offset min" // MVectorIsCoordinate - Vector m_vecOffsetMin; // 0x1f0 + Vector m_vecOffsetMin; // 0x220 // MPropertyFriendlyName "local offset max" // MVectorIsCoordinate - Vector m_vecOffsetMax; // 0x1fc + Vector m_vecOffsetMax; // 0x22c private: - [[maybe_unused]] uint8_t __pad0208[0x1]; // 0x208 + [[maybe_unused]] uint8_t __pad0238[0x1]; // 0x238 public: // MPropertyFriendlyName "set normal" - bool m_bUseNormal; // 0x209 + bool m_bUseNormal; // 0x239 }; // Alignment: 6 -// Size: 0x210 +// Size: 0x230 class C_OP_RemapScalarEndCap : public CParticleFunctionOperator { public: // MPropertyFriendlyName "input field" // MPropertyAttributeChoiceName "particlefield_scalar" - ParticleAttributeIndex_t m_nFieldInput; // 0x1f0 + ParticleAttributeIndex_t m_nFieldInput; // 0x210 // MPropertyFriendlyName "output field" // MPropertyAttributeChoiceName "particlefield_scalar" - ParticleAttributeIndex_t m_nFieldOutput; // 0x1f4 + ParticleAttributeIndex_t m_nFieldOutput; // 0x214 // MPropertyFriendlyName "input minimum" - float m_flInputMin; // 0x1f8 + float m_flInputMin; // 0x218 // MPropertyFriendlyName "input maximum" - float m_flInputMax; // 0x1fc + float m_flInputMax; // 0x21c // MPropertyFriendlyName "output minimum" - float m_flOutputMin; // 0x200 + float m_flOutputMin; // 0x220 // MPropertyFriendlyName "output maximum" - float m_flOutputMax; // 0x204 + float m_flOutputMax; // 0x224 }; // Alignment: 4 -// Size: 0x240 +// Size: 0x260 class C_OP_LockToSavedSequentialPath : public CParticleFunctionOperator { private: - [[maybe_unused]] uint8_t __pad01f0[0x4]; // 0x1f0 + [[maybe_unused]] uint8_t __pad0210[0x4]; // 0x210 public: // MPropertyFriendlyName "start fade time" - float m_flFadeStart; // 0x1f4 + float m_flFadeStart; // 0x214 // MPropertyFriendlyName "end fade time" - float m_flFadeEnd; // 0x1f8 + float m_flFadeEnd; // 0x218 // MPropertyFriendlyName "Use sequential CP pairs between start and end point" - bool m_bCPPairs; // 0x1fc + bool m_bCPPairs; // 0x21c private: - [[maybe_unused]] uint8_t __pad01fd[0x3]; // 0x1fd + [[maybe_unused]] uint8_t __pad021d[0x3]; // 0x21d public: - CPathParameters m_PathParams; // 0x200 + CPathParameters m_PathParams; // 0x220 }; // Alignment: 2 -// Size: 0x330 +// Size: 0x370 class C_INIT_InitFloatCollection : public CParticleFunctionInitializer { public: // MPropertyFriendlyName "value" - CParticleCollectionFloatInput m_InputValue; // 0x1f0 + CParticleCollectionFloatInput m_InputValue; // 0x220 // MPropertyFriendlyName "output field" // MPropertyAttributeChoiceName "particlefield_scalar" - ParticleAttributeIndex_t m_nOutputField; // 0x328 + ParticleAttributeIndex_t m_nOutputField; // 0x360 }; // Alignment: 2 -// Size: 0x210 +// Size: 0x230 class C_OP_PlayEndCapWhenFinished : public CParticleFunctionPreEmission { public: // MPropertyFriendlyName "play when emission ends" - bool m_bFireOnEmissionEnd; // 0x200 + bool m_bFireOnEmissionEnd; // 0x220 // MPropertyFriendlyName "wait for children to finish" - bool m_bIncludeChildren; // 0x201 + bool m_bIncludeChildren; // 0x221 }; // Alignment: 4 -// Size: 0x480 +// Size: 0x98 +class CPulseCell_Inflow_EntOutputHandler : public CPulseCell_Inflow_BaseEntrypoint +{ +public: + // MFgdFromSchemaCompletelySkipField + CUtlSymbolLarge m_SourceEntity; // 0x70 + // MFgdFromSchemaCompletelySkipField + CUtlSymbolLarge m_SourceOutput; // 0x78 + // MFgdFromSchemaCompletelySkipField + CUtlSymbolLarge m_TargetInput; // 0x80 + // MFgdFromSchemaCompletelySkipField + CPulseValueFullType m_ExpectedParamType; // 0x88 +}; + +// Alignment: 4 +// Size: 0x4b0 class C_OP_QuantizeCPComponent : public CParticleFunctionPreEmission { public: // MPropertyFriendlyName "input" - CParticleCollectionFloatInput m_flInputValue; // 0x200 + CParticleCollectionFloatInput m_flInputValue; // 0x220 // MPropertyFriendlyName "output control point" - int32_t m_nCPOutput; // 0x338 + int32_t m_nCPOutput; // 0x360 // MPropertyFriendlyName "output component" // MPropertyAttributeChoiceName "vector_component" - int32_t m_nOutVectorField; // 0x33c + int32_t m_nOutVectorField; // 0x364 // MPropertyFriendlyName "interval to snap to" - CParticleCollectionFloatInput m_flQuantizeValue; // 0x340 + CParticleCollectionFloatInput m_flQuantizeValue; // 0x368 }; // Alignment: 4 -// Size: 0x900 +// Size: 0x950 class C_OP_MovementLoopInsideSphere : public CParticleFunctionOperator { public: // MPropertyFriendlyName "control point" - int32_t m_nCP; // 0x1f0 + int32_t m_nCP; // 0x210 private: - [[maybe_unused]] uint8_t __pad01f4[0x4]; // 0x1f4 + [[maybe_unused]] uint8_t __pad0214[0x4]; // 0x214 public: // MPropertyFriendlyName "distance maximum" - CParticleCollectionFloatInput m_flDistance; // 0x1f8 + CParticleCollectionFloatInput m_flDistance; // 0x218 // MPropertyFriendlyName "component scale" - CParticleCollectionVecInput m_vecScale; // 0x330 + CParticleCollectionVecInput m_vecScale; // 0x358 // MPropertyFriendlyName "distance squared output attribute" // MPropertyAttributeChoiceName "particlefield_scalar" - ParticleAttributeIndex_t m_nDistSqrAttr; // 0x8f8 + ParticleAttributeIndex_t m_nDistSqrAttr; // 0x940 }; // Alignment: 3 -// Size: 0xd90 +// Size: 0xdf0 class C_OP_DirectionBetweenVecsToVec : public CParticleFunctionOperator { public: // MPropertyFriendlyName "output field" // MPropertyAttributeChoiceName "particlefield_vector" - ParticleAttributeIndex_t m_nFieldOutput; // 0x1f0 + ParticleAttributeIndex_t m_nFieldOutput; // 0x210 private: - [[maybe_unused]] uint8_t __pad01f4[0x4]; // 0x1f4 + [[maybe_unused]] uint8_t __pad0214[0x4]; // 0x214 public: // MPropertyFriendlyName "first vector" - CPerParticleVecInput m_vecPoint1; // 0x1f8 + CPerParticleVecInput m_vecPoint1; // 0x218 // MPropertyFriendlyName "second vector" - CPerParticleVecInput m_vecPoint2; // 0x7c0 + CPerParticleVecInput m_vecPoint2; // 0x800 }; // Alignment: 8 -// Size: 0x270 +// Size: 0x290 class C_OP_RemapTransformVisibilityToVector : public CParticleFunctionOperator { public: // MPropertyFriendlyName "set value method" - ParticleSetMethod_t m_nSetMethod; // 0x1f0 + ParticleSetMethod_t m_nSetMethod; // 0x210 private: - [[maybe_unused]] uint8_t __pad01f4[0x4]; // 0x1f4 + [[maybe_unused]] uint8_t __pad0214[0x4]; // 0x214 public: // MPropertyFriendlyName "transform input" - CParticleTransformInput m_TransformInput; // 0x1f8 + CParticleTransformInput m_TransformInput; // 0x218 // MPropertyFriendlyName "output field" // MPropertyAttributeChoiceName "particlefield_vector" - ParticleAttributeIndex_t m_nFieldOutput; // 0x248 + ParticleAttributeIndex_t m_nFieldOutput; // 0x268 // MPropertyFriendlyName "CP visibility minimum" - float m_flInputMin; // 0x24c + float m_flInputMin; // 0x26c // MPropertyFriendlyName "CP visibility maximum" - float m_flInputMax; // 0x250 + float m_flInputMax; // 0x270 // MPropertyFriendlyName "output minimum" - Vector m_vecOutputMin; // 0x254 + Vector m_vecOutputMin; // 0x274 // MPropertyFriendlyName "output maximum" - Vector m_vecOutputMax; // 0x260 + Vector m_vecOutputMax; // 0x280 // MPropertyFriendlyName "visibility radius" - float m_flRadius; // 0x26c + float m_flRadius; // 0x28c }; // Alignment: 6 -// Size: 0xe00 +// Size: 0xe70 class C_INIT_SetVectorAttributeToVectorExpression : public CParticleFunctionInitializer { public: // MPropertyFriendlyName "expression" - VectorExpressionType_t m_nExpression; // 0x1f0 + VectorExpressionType_t m_nExpression; // 0x220 private: - [[maybe_unused]] uint8_t __pad01f4[0x4]; // 0x1f4 + [[maybe_unused]] uint8_t __pad0224[0x4]; // 0x224 public: // MPropertyFriendlyName "input 1" - CPerParticleVecInput m_vInput1; // 0x1f8 + CPerParticleVecInput m_vInput1; // 0x228 // MPropertyFriendlyName "input 2" - CPerParticleVecInput m_vInput2; // 0x7c0 + CPerParticleVecInput m_vInput2; // 0x810 // MPropertyFriendlyName "output field" // MPropertyAttributeChoiceName "particlefield_vector" - ParticleAttributeIndex_t m_nOutputField; // 0xd88 + ParticleAttributeIndex_t m_nOutputField; // 0xdf8 // MPropertyFriendlyName "set value method" - ParticleSetMethod_t m_nSetMethod; // 0xd8c + ParticleSetMethod_t m_nSetMethod; // 0xdfc // MPropertyFriendlyName "normalize result" - bool m_bNormalizedOutput; // 0xd90 + bool m_bNormalizedOutput; // 0xe00 }; // Alignment: 4 -// Size: 0x200 +// Size: 0x220 class C_OP_InheritFromParentParticles : public CParticleFunctionOperator { public: // MPropertyFriendlyName "scale" - float m_flScale; // 0x1f0 + float m_flScale; // 0x210 // MPropertyFriendlyName "inherited field" // MPropertyAttributeChoiceName "particlefield" - ParticleAttributeIndex_t m_nFieldOutput; // 0x1f4 + ParticleAttributeIndex_t m_nFieldOutput; // 0x214 // MPropertyFriendlyName "particle increment amount" - int32_t m_nIncrement; // 0x1f8 + int32_t m_nIncrement; // 0x218 // MPropertyFriendlyName "random parent particle distribution" - bool m_bRandomDistribution; // 0x1fc + bool m_bRandomDistribution; // 0x21c }; // Alignment: 4 -// Size: 0x200 +// Size: 0x230 class C_INIT_RandomVectorComponent : public CParticleFunctionInitializer { public: // MPropertyFriendlyName "min" - float m_flMin; // 0x1f0 + float m_flMin; // 0x220 // MPropertyFriendlyName "max" - float m_flMax; // 0x1f4 + float m_flMax; // 0x224 // MPropertyFriendlyName "output field" // MPropertyAttributeChoiceName "particlefield_vector" - ParticleAttributeIndex_t m_nFieldOutput; // 0x1f8 + ParticleAttributeIndex_t m_nFieldOutput; // 0x228 // MPropertyFriendlyName "component 0/1/2 X/Y/Z" // MPropertyAttributeChoiceName "vector_component" // MVectorIsSometimesCoordinate - int32_t m_nComponent; // 0x1fc + int32_t m_nComponent; // 0x22c }; // Alignment: 4 -// Size: 0xd90 +// Size: 0xdf0 class C_OP_ExternalWindForce : public CParticleFunctionForce { public: // MPropertyFriendlyName "sample position" - CPerParticleVecInput m_vecSamplePosition; // 0x1f0 + CPerParticleVecInput m_vecSamplePosition; // 0x210 // MPropertyFriendlyName "force scale" - CPerParticleVecInput m_vecScale; // 0x7b8 + CPerParticleVecInput m_vecScale; // 0x7f8 // MPropertyFriendlyName "sample wind" - bool m_bSampleWind; // 0xd80 + bool m_bSampleWind; // 0xde0 // MPropertyFriendlyName "sample water current" - bool m_bSampleWater; // 0xd81 + bool m_bSampleWater; // 0xde1 }; // Alignment: 6 -// Size: 0x5c0 +// Size: 0x5f0 class C_OP_SetControlPointFieldToScalarExpression : public CParticleFunctionPreEmission { public: // MPropertyFriendlyName "expression" - ScalarExpressionType_t m_nExpression; // 0x200 + ScalarExpressionType_t m_nExpression; // 0x220 private: - [[maybe_unused]] uint8_t __pad0204[0x4]; // 0x204 + [[maybe_unused]] uint8_t __pad0224[0x4]; // 0x224 public: // MPropertyFriendlyName "input 1" - CParticleCollectionFloatInput m_flInput1; // 0x208 + CParticleCollectionFloatInput m_flInput1; // 0x228 // MPropertyFriendlyName "input 2" - CParticleCollectionFloatInput m_flInput2; // 0x340 + CParticleCollectionFloatInput m_flInput2; // 0x368 // MPropertyFriendlyName "output" - CParticleRemapFloatInput m_flOutputRemap; // 0x478 + CParticleRemapFloatInput m_flOutputRemap; // 0x4a8 // MPropertyFriendlyName "output control point" - int32_t m_nOutputCP; // 0x5b0 + int32_t m_nOutputCP; // 0x5e8 // MPropertyFriendlyName "output component" // MPropertyAttributeChoiceName "vector_component" - int32_t m_nOutVectorField; // 0x5b4 + int32_t m_nOutVectorField; // 0x5ec }; // Alignment: 10 -// Size: 0xda0 +// Size: 0xe10 class C_INIT_PositionWarp : public CParticleFunctionInitializer { public: // MPropertyFriendlyName "warp min" // MVectorIsCoordinate - CParticleCollectionVecInput m_vecWarpMin; // 0x1f0 + CParticleCollectionVecInput m_vecWarpMin; // 0x220 // MPropertyFriendlyName "warp max" // MVectorIsCoordinate - CParticleCollectionVecInput m_vecWarpMax; // 0x7b8 + CParticleCollectionVecInput m_vecWarpMax; // 0x808 // MPropertyFriendlyName "warp scale control point number" - int32_t m_nScaleControlPointNumber; // 0xd80 + int32_t m_nScaleControlPointNumber; // 0xdf0 // MPropertyFriendlyName "control point number" - int32_t m_nControlPointNumber; // 0xd84 + int32_t m_nControlPointNumber; // 0xdf4 // MPropertyFriendlyName "radius scale component" // MPropertyAttributeChoiceName "vector_component" - int32_t m_nRadiusComponent; // 0xd88 + int32_t m_nRadiusComponent; // 0xdf8 // MPropertyFriendlyName "warp transition time (treats min/max as start/end sizes)" - float m_flWarpTime; // 0xd8c + float m_flWarpTime; // 0xdfc // MPropertyFriendlyName "warp transition start time" - float m_flWarpStartTime; // 0xd90 + float m_flWarpStartTime; // 0xe00 // MPropertyFriendlyName "previous position sacale" - float m_flPrevPosScale; // 0xd94 + float m_flPrevPosScale; // 0xe04 // MPropertyFriendlyName "reverse warp (0/1)" - bool m_bInvertWarp; // 0xd98 + bool m_bInvertWarp; // 0xe08 // MPropertyFriendlyName "use particle count instead of time" - bool m_bUseCount; // 0xd99 + bool m_bUseCount; // 0xe09 }; // Alignment: 1 -// Size: 0x240 +// Size: 0x270 class C_INIT_RemapQAnglesToRotation : public CParticleFunctionInitializer { public: // MPropertyFriendlyName "transform input" - CParticleTransformInput m_TransformInput; // 0x1f0 + CParticleTransformInput m_TransformInput; // 0x220 }; // Alignment: 10 -// Size: 0x220 +// Size: 0x250 class C_INIT_RemapSpeedToScalar : public CParticleFunctionInitializer { public: // MPropertyFriendlyName "output field" // MPropertyAttributeChoiceName "particlefield_scalar" - ParticleAttributeIndex_t m_nFieldOutput; // 0x1f0 + ParticleAttributeIndex_t m_nFieldOutput; // 0x220 // MPropertyFriendlyName "control point number (ignored if per particle)" - int32_t m_nControlPointNumber; // 0x1f4 + int32_t m_nControlPointNumber; // 0x224 // MPropertyFriendlyName "emitter lifetime start time (seconds)" - float m_flStartTime; // 0x1f8 + float m_flStartTime; // 0x228 // MPropertyFriendlyName "emitter lifetime end time (seconds)" - float m_flEndTime; // 0x1fc + float m_flEndTime; // 0x22c // MPropertyFriendlyName "input minimum" - float m_flInputMin; // 0x200 + float m_flInputMin; // 0x230 // MPropertyFriendlyName "input maximum" - float m_flInputMax; // 0x204 + float m_flInputMax; // 0x234 // MPropertyFriendlyName "output minimum" - float m_flOutputMin; // 0x208 + float m_flOutputMin; // 0x238 // MPropertyFriendlyName "output maximum" - float m_flOutputMax; // 0x20c + float m_flOutputMax; // 0x23c // MPropertyFriendlyName "set value method" - ParticleSetMethod_t m_nSetMethod; // 0x210 + ParticleSetMethod_t m_nSetMethod; // 0x240 // MPropertyFriendlyName "per particle" - bool m_bPerParticle; // 0x214 + bool m_bPerParticle; // 0x244 +}; + +// Alignment: 1 +// Size: 0x60 +class CPulseCell_Inflow_Wait : public CPulseCell_BaseYieldingInflow +{ +public: + CPulse_ResumePoint m_WakeResume; // 0x48 }; // Alignment: 0 -// Size: 0x250 +// Size: 0x270 class C_OP_RemapNamedModelMeshGroupOnceTimed : public C_OP_RemapNamedModelElementOnceTimed { public: @@ -23322,99 +24023,107 @@ public: }; // Alignment: 15 -// Size: 0xf80 +// Size: 0x1000 class C_OP_LightningSnapshotGenerator : public CParticleFunctionPreEmission { public: // MPropertyFriendlyName "snapshot control point number" - int32_t m_nCPSnapshot; // 0x200 + int32_t m_nCPSnapshot; // 0x220 // MPropertyFriendlyName "start control point number" - int32_t m_nCPStartPnt; // 0x204 + int32_t m_nCPStartPnt; // 0x224 // MPropertyFriendlyName "end control point number" - int32_t m_nCPEndPnt; // 0x208 + int32_t m_nCPEndPnt; // 0x228 private: - [[maybe_unused]] uint8_t __pad020c[0x4]; // 0x20c + [[maybe_unused]] uint8_t __pad022c[0x4]; // 0x22c public: // MPropertyFriendlyName "Recursion Depth" - CParticleCollectionFloatInput m_flSegments; // 0x210 + CParticleCollectionFloatInput m_flSegments; // 0x230 // MPropertyFriendlyName "Offset" - CParticleCollectionFloatInput m_flOffset; // 0x348 + CParticleCollectionFloatInput m_flOffset; // 0x370 // MPropertyFriendlyName "Offset Decay" - CParticleCollectionFloatInput m_flOffsetDecay; // 0x480 + CParticleCollectionFloatInput m_flOffsetDecay; // 0x4b0 // MPropertyFriendlyName "Recalculation Rate" - CParticleCollectionFloatInput m_flRecalcRate; // 0x5b8 + CParticleCollectionFloatInput m_flRecalcRate; // 0x5f0 // MPropertyFriendlyName "UV Scale" - CParticleCollectionFloatInput m_flUVScale; // 0x6f0 + CParticleCollectionFloatInput m_flUVScale; // 0x730 // MPropertyFriendlyName "UV Offset" - CParticleCollectionFloatInput m_flUVOffset; // 0x828 + CParticleCollectionFloatInput m_flUVOffset; // 0x870 // MPropertyFriendlyName "Branch Split Rate" - CParticleCollectionFloatInput m_flSplitRate; // 0x960 + CParticleCollectionFloatInput m_flSplitRate; // 0x9b0 // MPropertyFriendlyName "Branch Twist" - CParticleCollectionFloatInput m_flBranchTwist; // 0xa98 + CParticleCollectionFloatInput m_flBranchTwist; // 0xaf0 // MPropertyFriendlyName "Branch Behavior" - ParticleLightnintBranchBehavior_t m_nBranchBehavior; // 0xbd0 + ParticleLightnintBranchBehavior_t m_nBranchBehavior; // 0xc30 private: - [[maybe_unused]] uint8_t __pad0bd4[0x4]; // 0xbd4 + [[maybe_unused]] uint8_t __pad0c34[0x4]; // 0xc34 public: // MPropertyFriendlyName "Start Radius" - CParticleCollectionFloatInput m_flRadiusStart; // 0xbd8 + CParticleCollectionFloatInput m_flRadiusStart; // 0xc38 // MPropertyFriendlyName "End Radius" - CParticleCollectionFloatInput m_flRadiusEnd; // 0xd10 + CParticleCollectionFloatInput m_flRadiusEnd; // 0xd78 // MPropertyFriendlyName "Dedicated Particle Pool Count" - CParticleCollectionFloatInput m_flDedicatedPool; // 0xe48 + CParticleCollectionFloatInput m_flDedicatedPool; // 0xeb8 }; // Alignment: 5 -// Size: 0xda0 +// Size: 0xe00 class C_OP_SetControlPointToVectorExpression : public CParticleFunctionPreEmission { public: // MPropertyFriendlyName "expression" - VectorExpressionType_t m_nExpression; // 0x200 + VectorExpressionType_t m_nExpression; // 0x220 // MPropertyFriendlyName "output control point" - int32_t m_nOutputCP; // 0x204 + int32_t m_nOutputCP; // 0x224 // MPropertyFriendlyName "input 1" - CParticleCollectionVecInput m_vInput1; // 0x208 + CParticleCollectionVecInput m_vInput1; // 0x228 // MPropertyFriendlyName "input 2" - CParticleCollectionVecInput m_vInput2; // 0x7d0 + CParticleCollectionVecInput m_vInput2; // 0x810 // MPropertyFriendlyName "normalize result" - bool m_bNormalizedOutput; // 0xd98 + bool m_bNormalizedOutput; // 0xdf8 }; // Alignment: 11 -// Size: 0x250 +// Size: 0x270 class C_OP_CalculateVectorAttribute : public CParticleFunctionOperator { public: // MPropertyFriendlyName "start value" - Vector m_vStartValue; // 0x1f0 + Vector m_vStartValue; // 0x210 // MPropertyFriendlyName "input field 1" // MPropertyAttributeChoiceName "particlefield_vector" - ParticleAttributeIndex_t m_nFieldInput1; // 0x1fc + ParticleAttributeIndex_t m_nFieldInput1; // 0x21c // MPropertyFriendlyName "input scale 1" - float m_flInputScale1; // 0x200 + float m_flInputScale1; // 0x220 // MPropertyFriendlyName "input field 2" // MPropertyAttributeChoiceName "particlefield_vector" - ParticleAttributeIndex_t m_nFieldInput2; // 0x204 + ParticleAttributeIndex_t m_nFieldInput2; // 0x224 // MPropertyFriendlyName "input scale 2" - float m_flInputScale2; // 0x208 + float m_flInputScale2; // 0x228 // MPropertyFriendlyName "control point input 1" - ControlPointReference_t m_nControlPointInput1; // 0x20c + ControlPointReference_t m_nControlPointInput1; // 0x22c // MPropertyFriendlyName "control point scale 1" - float m_flControlPointScale1; // 0x220 + float m_flControlPointScale1; // 0x240 // MPropertyFriendlyName "control point input 2" - ControlPointReference_t m_nControlPointInput2; // 0x224 + ControlPointReference_t m_nControlPointInput2; // 0x244 // MPropertyFriendlyName "control point scale 2" - float m_flControlPointScale2; // 0x238 + float m_flControlPointScale2; // 0x258 // MPropertyFriendlyName "output field" // MPropertyAttributeChoiceName "particlefield_vector" - ParticleAttributeIndex_t m_nFieldOutput; // 0x23c + ParticleAttributeIndex_t m_nFieldOutput; // 0x25c // MPropertyFriendlyName "final per component scale" - Vector m_vFinalOutputScale; // 0x240 + Vector m_vFinalOutputScale; // 0x260 +}; + +// Alignment: 1 +// Size: 0x78 +class CPulseCell_Inflow_GraphHook : public CPulseCell_Inflow_BaseEntrypoint +{ +public: + CUtlSymbolLarge m_HookName; // 0x70 }; // Alignment: 9 -// Size: 0xa18 +// Size: 0xa58 struct TextureGroup_t { public: @@ -23446,278 +24155,315 @@ private: 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 + CParticleCollectionRendererFloatInput m_flTextureBlend; // 0x38 // MPropertyFriendlyName "Texture Controls" // MPropertySuppressExpr "( m_nTextureType == SPRITECARD_TEXTURE_NORMALMAP || m_nTextureType == SPRITECARD_TEXTURE_ANIMMOTIONVEC || m_nTextureType == SPRITECARD_TEXTURE_6POINT_XYZ_A || m_nTextureType == SPRITECARD_TEXTURE_6POINT_NEGXYZ_E )" - TextureControls_t m_TextureControls; // 0x170 + TextureControls_t m_TextureControls; // 0x178 +}; + +// Alignment: 1 +// Size: 0x60 +class CPulseCell_Inflow_Yield : public CPulseCell_BaseYieldingInflow +{ +public: + CPulse_ResumePoint m_UnyieldResume; // 0x48 }; // Alignment: 4 -// Size: 0x200 +// Size: 0x220 class C_OP_Orient2DRelToCP : public CParticleFunctionOperator { public: // MPropertyFriendlyName "rotation offset" - float m_flRotOffset; // 0x1f0 + float m_flRotOffset; // 0x210 // MPropertyFriendlyName "spin strength" - float m_flSpinStrength; // 0x1f4 + float m_flSpinStrength; // 0x214 // MPropertyFriendlyName "control point" - int32_t m_nCP; // 0x1f8 + int32_t m_nCP; // 0x218 // MPropertyFriendlyName "rotation field" // MPropertyAttributeChoiceName "particlefield_rotation" - ParticleAttributeIndex_t m_nFieldOutput; // 0x1fc + ParticleAttributeIndex_t m_nFieldOutput; // 0x21c +}; + +// Alignment: 0 +// Size: 0x1 +class CPulseTestFuncs_DerivedDomain +{ +private: + [[maybe_unused]] uint8_t __pad0000[0x1]; // 0x0 +public: + // No members available }; // Alignment: 3 -// Size: 0x200 +// Size: 0x230 class C_INIT_RandomRadius : public CParticleFunctionInitializer { public: // MPropertyFriendlyName "radius min" // MPropertyAttributeRange "biased 0 500" - float m_flRadiusMin; // 0x1f0 + float m_flRadiusMin; // 0x220 // MPropertyFriendlyName "radius max" // MPropertyAttributeRange "biased 0 500" - float m_flRadiusMax; // 0x1f4 + float m_flRadiusMax; // 0x224 // MPropertyFriendlyName "radius random exponent" // MPropertyAttributeRange "-2 2" - float m_flRadiusRandExponent; // 0x1f8 + float m_flRadiusRandExponent; // 0x228 }; // Alignment: 5 -// Size: 0x210 +// Size: 0x240 class C_INIT_VelocityRadialRandom : public CParticleFunctionInitializer { public: // MPropertyFriendlyName "control point number" - int32_t m_nControlPointNumber; // 0x1f0 + int32_t m_nControlPointNumber; // 0x220 // MPropertyFriendlyName "random speed min" - float m_fSpeedMin; // 0x1f4 + float m_fSpeedMin; // 0x224 // MPropertyFriendlyName "random speed max" - float m_fSpeedMax; // 0x1f8 + float m_fSpeedMax; // 0x228 // MPropertyFriendlyName "local space scale" - Vector m_vecLocalCoordinateSystemSpeedScale; // 0x1fc + Vector m_vecLocalCoordinateSystemSpeedScale; // 0x22c private: - [[maybe_unused]] uint8_t __pad0208[0x1]; // 0x208 + [[maybe_unused]] uint8_t __pad0238[0x1]; // 0x238 public: // MPropertyFriendlyName "ignore delta time" - bool m_bIgnoreDelta; // 0x209 + bool m_bIgnoreDelta; // 0x239 }; // Alignment: 0 -// Size: 0x240 +// Size: 0x270 class C_INIT_RemapParticleCountToNamedModelSequenceScalar : public C_INIT_RemapParticleCountToNamedModelElementScalar { public: // No members available }; +// Alignment: 1 +// Size: 0x60 +class CPulseCell_Outflow_CycleOrdered : public CPulseCell_BaseFlow +{ +public: + CUtlVector< CPulse_OutflowConnection > m_Outputs; // 0x48 +}; + // Alignment: 3 -// Size: 0x200 +// Size: 0x230 class C_INIT_RandomLifeTime : public CParticleFunctionInitializer { public: // MPropertyFriendlyName "lifetime min" // MPropertyAttributeRange "0 20" - float m_fLifetimeMin; // 0x1f0 + float m_fLifetimeMin; // 0x220 // MPropertyFriendlyName "lifetime max" // MPropertyAttributeRange "0 20" - float m_fLifetimeMax; // 0x1f4 + float m_fLifetimeMax; // 0x224 // MPropertyFriendlyName "lifetime random exponent" - float m_fLifetimeRandExponent; // 0x1f8 + float m_fLifetimeRandExponent; // 0x228 }; // Alignment: 6 -// Size: 0x4d0 +// Size: 0x500 class C_OP_AttractToControlPoint : public CParticleFunctionForce { public: // MPropertyFriendlyName "component scale" // MVectorIsCoordinate - Vector m_vecComponentScale; // 0x1f0 + Vector m_vecComponentScale; // 0x210 private: - [[maybe_unused]] uint8_t __pad01fc[0x4]; // 0x1fc + [[maybe_unused]] uint8_t __pad021c[0x4]; // 0x21c public: // MPropertyFriendlyName "amount of force (or Max Force)" - CPerParticleFloatInput m_fForceAmount; // 0x200 + CPerParticleFloatInput m_fForceAmount; // 0x220 // MPropertyFriendlyName "falloff power" - float m_fFalloffPower; // 0x338 + float m_fFalloffPower; // 0x360 private: - [[maybe_unused]] uint8_t __pad033c[0x4]; // 0x33c + [[maybe_unused]] uint8_t __pad0364[0x4]; // 0x364 public: // MPropertyFriendlyName "input position transform" - CParticleTransformInput m_TransformInput; // 0x340 + CParticleTransformInput m_TransformInput; // 0x368 // MPropertyFriendlyName "Min Pullforce" - CPerParticleFloatInput m_fForceAmountMin; // 0x390 + CPerParticleFloatInput m_fForceAmountMin; // 0x3b8 // MPropertyFriendlyName "Apply Min Pullforce" - bool m_bApplyMinForce; // 0x4c8 + bool m_bApplyMinForce; // 0x4f8 }; // Alignment: 14 -// Size: 0x220 +// Size: 0x250 class C_INIT_CreatePhyllotaxis : public CParticleFunctionInitializer { public: // MPropertyFriendlyName "control point number" - int32_t m_nControlPointNumber; // 0x1f0 + int32_t m_nControlPointNumber; // 0x220 // MPropertyFriendlyName "scale size multiplier from CP" - int32_t m_nScaleCP; // 0x1f4 + int32_t m_nScaleCP; // 0x224 // MPropertyFriendlyName "scale CP component 0/1/2 X/Y/Z" // MPropertyAttributeChoiceName "vector_component" - int32_t m_nComponent; // 0x1f8 + int32_t m_nComponent; // 0x228 // MPropertyFriendlyName "center core radius" - float m_fRadCentCore; // 0x1fc + float m_fRadCentCore; // 0x22c // MPropertyFriendlyName "radius multiplier" - float m_fRadPerPoint; // 0x200 + float m_fRadPerPoint; // 0x230 // MPropertyFriendlyName "radius max (-1 procedural growth)" - float m_fRadPerPointTo; // 0x204 + float m_fRadPerPointTo; // 0x234 // MPropertyFriendlyName "golden angle (is 137.508)" - float m_fpointAngle; // 0x208 + float m_fpointAngle; // 0x238 // MPropertyFriendlyName "overall size multiplier (-1 count based distribution)" - float m_fsizeOverall; // 0x20c + float m_fsizeOverall; // 0x23c // MPropertyFriendlyName "radius bias" - float m_fRadBias; // 0x210 + float m_fRadBias; // 0x240 // MPropertyFriendlyName "radius min " - float m_fMinRad; // 0x214 + float m_fMinRad; // 0x244 // MPropertyFriendlyName "distribution bias" - float m_fDistBias; // 0x218 + float m_fDistBias; // 0x248 // MPropertyFriendlyName "local space" - bool m_bUseLocalCoords; // 0x21c + bool m_bUseLocalCoords; // 0x24c // MPropertyFriendlyName "use continuous emission" - bool m_bUseWithContEmit; // 0x21d + bool m_bUseWithContEmit; // 0x24d // MPropertyFriendlyName "scale radius from initial value" - bool m_bUseOrigRadius; // 0x21e + bool m_bUseOrigRadius; // 0x24e }; // Alignment: 4 -// Size: 0x210 +// Size: 0x230 class C_OP_BoxConstraint : public CParticleFunctionConstraint { public: // MPropertyFriendlyName "min coords" - Vector m_vecMin; // 0x1f0 + Vector m_vecMin; // 0x210 // MPropertyFriendlyName "max coords" - Vector m_vecMax; // 0x1fc + Vector m_vecMax; // 0x21c // MPropertyFriendlyName "control point" - int32_t m_nCP; // 0x208 + int32_t m_nCP; // 0x228 // MPropertyFriendlyName "use local space" - bool m_bLocalSpace; // 0x20c + bool m_bLocalSpace; // 0x22c }; // Alignment: 5 -// Size: 0x220 +// Size: 0x240 class C_OP_SetParentControlPointsToChildCP : public CParticleFunctionPreEmission { public: // MPropertyFriendlyName "group ID to affect" - int32_t m_nChildGroupID; // 0x200 + int32_t m_nChildGroupID; // 0x220 // MPropertyFriendlyName "control point to set" - int32_t m_nChildControlPoint; // 0x204 + int32_t m_nChildControlPoint; // 0x224 // MPropertyFriendlyName "# of children to set" - int32_t m_nNumControlPoints; // 0x208 + int32_t m_nNumControlPoints; // 0x228 // MPropertyFriendlyName "first parent control point to set from" - int32_t m_nFirstSourcePoint; // 0x20c + int32_t m_nFirstSourcePoint; // 0x22c // MPropertyFriendlyName "set orientation" - bool m_bSetOrientation; // 0x210 + bool m_bSetOrientation; // 0x230 }; // Alignment: 8 -// Size: 0x210 +// Size: 0x230 class C_OP_SetPerChildControlPointFromAttribute : public CParticleFunctionOperator { public: // MPropertyFriendlyName "group ID to affect" - int32_t m_nChildGroupID; // 0x1f0 + int32_t m_nChildGroupID; // 0x210 // MPropertyFriendlyName "control point to set" - int32_t m_nFirstControlPoint; // 0x1f4 + int32_t m_nFirstControlPoint; // 0x214 // MPropertyFriendlyName "# of children to set" - int32_t m_nNumControlPoints; // 0x1f8 + int32_t m_nNumControlPoints; // 0x218 // MPropertyFriendlyName "particle increment amount" - int32_t m_nParticleIncrement; // 0x1fc + int32_t m_nParticleIncrement; // 0x21c // MPropertyFriendlyName "first particle to copy" - int32_t m_nFirstSourcePoint; // 0x200 + int32_t m_nFirstSourcePoint; // 0x220 // MPropertyFriendlyName "set number of children based on particle count" - bool m_bNumBasedOnParticleCount; // 0x204 + bool m_bNumBasedOnParticleCount; // 0x224 private: - [[maybe_unused]] uint8_t __pad0205[0x3]; // 0x205 + [[maybe_unused]] uint8_t __pad0225[0x3]; // 0x225 public: // MPropertyFriendlyName "field to read" // MPropertyAttributeChoiceName "particlefield" - ParticleAttributeIndex_t m_nAttributeToRead; // 0x208 + ParticleAttributeIndex_t m_nAttributeToRead; // 0x228 // MPropertyFriendlyName "control point field for scalars" // MPropertyAttributeChoiceName "vector_component" - int32_t m_nCPField; // 0x20c + int32_t m_nCPField; // 0x22c }; // Alignment: 5 -// Size: 0x220 +// Size: 0x250 class C_INIT_OffsetVectorToVector : public CParticleFunctionInitializer { public: // MPropertyFriendlyName "input field" // MPropertyAttributeChoiceName "particlefield_vector" - ParticleAttributeIndex_t m_nFieldInput; // 0x1f0 + ParticleAttributeIndex_t m_nFieldInput; // 0x220 // MPropertyFriendlyName "output field" // MPropertyAttributeChoiceName "particlefield_vector" - ParticleAttributeIndex_t m_nFieldOutput; // 0x1f4 + ParticleAttributeIndex_t m_nFieldOutput; // 0x224 // MPropertyFriendlyName "output offset minimum" // MVectorIsSometimesCoordinate - Vector m_vecOutputMin; // 0x1f8 + Vector m_vecOutputMin; // 0x228 // MPropertyFriendlyName "output offset maximum" // MVectorIsSometimesCoordinate - Vector m_vecOutputMax; // 0x204 + Vector m_vecOutputMax; // 0x234 // MPropertyFriendlyName "Random number generator controls" - CRandomNumberGeneratorParameters m_randomnessParameters; // 0x210 + CRandomNumberGeneratorParameters m_randomnessParameters; // 0x240 +}; + +// Alignment: 4 +// Size: 0x18 +class CPulse_LandingPadInfo +{ +public: + CUtlSymbolLarge m_PortName; // 0x0 + PulseDocNodeID_t m_nEditorNodeID; // 0x8 + PulseRuntimeChunkIndex_t m_nAssociatedChunk; // 0xc + int32_t m_nAssociatedInstruction; // 0x10 }; // Alignment: 3 -// Size: 0x200 +// Size: 0x220 class C_OP_GlobalLight : public CParticleFunctionOperator { public: // MPropertyFriendlyName "initial color bias" - float m_flScale; // 0x1f0 + float m_flScale; // 0x210 // MPropertyFriendlyName "clamp minimum light value to initial color" - bool m_bClampLowerRange; // 0x1f4 + bool m_bClampLowerRange; // 0x214 // MPropertyFriendlyName "clamp maximum light value to initial color" - bool m_bClampUpperRange; // 0x1f5 + bool m_bClampUpperRange; // 0x215 }; // Alignment: 11 -// Size: 0x220 +// Size: 0x240 class C_OP_CPOffsetToPercentageBetweenCPs : public CParticleFunctionOperator { public: // MPropertyFriendlyName "percentage minimum" - float m_flInputMin; // 0x1f0 + float m_flInputMin; // 0x210 // MPropertyFriendlyName "percentage maximum" - float m_flInputMax; // 0x1f4 + float m_flInputMax; // 0x214 // MPropertyFriendlyName "percentage bias" - float m_flInputBias; // 0x1f8 + float m_flInputBias; // 0x218 // MPropertyFriendlyName "starting control point" - int32_t m_nStartCP; // 0x1fc + int32_t m_nStartCP; // 0x21c // MPropertyFriendlyName "ending control point" - int32_t m_nEndCP; // 0x200 + int32_t m_nEndCP; // 0x220 // MPropertyFriendlyName "offset control point" - int32_t m_nOffsetCP; // 0x204 + int32_t m_nOffsetCP; // 0x224 // MPropertyFriendlyName "output control point" - int32_t m_nOuputCP; // 0x208 + int32_t m_nOuputCP; // 0x228 // MPropertyFriendlyName "input control point" - int32_t m_nInputCP; // 0x20c + int32_t m_nInputCP; // 0x22c // MPropertyFriendlyName "treat distance between points as radius" - bool m_bRadialCheck; // 0x210 + bool m_bRadialCheck; // 0x230 // MPropertyFriendlyName "treat offset as scale of total distance" - bool m_bScaleOffset; // 0x211 + bool m_bScaleOffset; // 0x231 private: - [[maybe_unused]] uint8_t __pad0212[0x2]; // 0x212 + [[maybe_unused]] uint8_t __pad0232[0x2]; // 0x232 public: // MPropertyFriendlyName "offset amount" // MVectorIsCoordinate - Vector m_vecOffset; // 0x214 + Vector m_vecOffset; // 0x234 }; // Alignment: 0 -// Size: 0x230 +// Size: 0x260 class C_OP_Callback : public CParticleFunctionRenderer { public: @@ -23725,860 +24471,752 @@ public: }; // Alignment: 1 -// Size: 0x280 +// Size: 0x2b0 class C_INIT_InitFromParentKilled : public CParticleFunctionInitializer { public: // MPropertyFriendlyName "field to init" // MPropertyAttributeChoiceName "particlefield" - ParticleAttributeIndex_t m_nAttributeToCopy; // 0x1f0 + ParticleAttributeIndex_t m_nAttributeToCopy; // 0x220 }; // Alignment: 0 -// Size: 0x220 +// Size: 0x250 class C_INIT_RandomNamedModelMeshGroup : public C_INIT_RandomNamedModelElement { public: // No members available }; +// Alignment: 0 +// Size: 0x108 +class CPulseGraphInstance_TestDomain_Derived : public CPulseGraphInstance_TestDomain +{ +public: + // No members available +}; + // Alignment: 3 -// Size: 0x210 +// Size: 0x230 class C_OP_BasicMovement : public CParticleFunctionOperator { public: // MPropertyFriendlyName "gravity" // MVectorIsCoordinate - Vector m_Gravity; // 0x1f0 + Vector m_Gravity; // 0x210 // MPropertyFriendlyName "drag" // MPropertyAttributeRange "-1 1" - float m_fDrag; // 0x1fc + float m_fDrag; // 0x21c // MPropertyFriendlyName "max constraint passes" - int32_t m_nMaxConstraintPasses; // 0x200 + int32_t m_nMaxConstraintPasses; // 0x220 +}; + +// Alignment: 0 +// Size: 0x108 +class CParticleCollectionBindingInstance : public CBasePulseGraphInstance +{ +public: + // No members available }; // Alignment: 2 -// Size: 0x350 +// Size: 0x380 class C_OP_QuantizeFloat : public CParticleFunctionOperator { public: // MPropertyFriendlyName "value" - CPerParticleFloatInput m_InputValue; // 0x1f0 + CPerParticleFloatInput m_InputValue; // 0x210 // MPropertyFriendlyName "output field" // MPropertyAttributeChoiceName "particlefield_scalar" - ParticleAttributeIndex_t m_nOutputField; // 0x328 + ParticleAttributeIndex_t m_nOutputField; // 0x350 +}; + +// Alignment: 2 +// Size: 0x78 +class CPulseCell_Outflow_TestRandomYesNo : public CPulseCell_BaseFlow +{ +public: + // MPropertyFriendlyName "Yes" + // MPropertyDescription "Randomly taken half of the time" + CPulse_OutflowConnection m_Yes; // 0x48 + // MPropertyFriendlyName "No" + // MPropertyDescription "Randomly taken half of the time" + CPulse_OutflowConnection m_No; // 0x60 }; // Alignment: 11 -// Size: 0x220 +// Size: 0x250 class C_INIT_RemapScalar : public CParticleFunctionInitializer { public: // MPropertyFriendlyName "input field" // MPropertyAttributeChoiceName "particlefield_scalar" - ParticleAttributeIndex_t m_nFieldInput; // 0x1f0 + ParticleAttributeIndex_t m_nFieldInput; // 0x220 // MPropertyFriendlyName "output field" // MPropertyAttributeChoiceName "particlefield_scalar" - ParticleAttributeIndex_t m_nFieldOutput; // 0x1f4 + ParticleAttributeIndex_t m_nFieldOutput; // 0x224 // MPropertyFriendlyName "input minimum" - float m_flInputMin; // 0x1f8 + float m_flInputMin; // 0x228 // MPropertyFriendlyName "input maximum" - float m_flInputMax; // 0x1fc + float m_flInputMax; // 0x22c // MPropertyFriendlyName "output minimum" - float m_flOutputMin; // 0x200 + float m_flOutputMin; // 0x230 // MPropertyFriendlyName "output maximum" - float m_flOutputMax; // 0x204 + float m_flOutputMax; // 0x234 // MPropertyFriendlyName "emitter lifetime start time (seconds)" - float m_flStartTime; // 0x208 + float m_flStartTime; // 0x238 // MPropertyFriendlyName "emitter lifetime end time (seconds)" - float m_flEndTime; // 0x20c + float m_flEndTime; // 0x23c // MPropertyFriendlyName "set value method" - ParticleSetMethod_t m_nSetMethod; // 0x210 + ParticleSetMethod_t m_nSetMethod; // 0x240 // MPropertyFriendlyName "only active within specified input range" - bool m_bActiveRange; // 0x214 + bool m_bActiveRange; // 0x244 private: - [[maybe_unused]] uint8_t __pad0215[0x3]; // 0x215 + [[maybe_unused]] uint8_t __pad0245[0x3]; // 0x245 public: // MPropertyFriendlyName "remap bias" - float m_flRemapBias; // 0x218 + float m_flRemapBias; // 0x248 }; // Alignment: 7 -// Size: 0x810 +// Size: 0x870 class C_INIT_MoveBetweenPoints : public CParticleFunctionInitializer { public: // MPropertyFriendlyName "minimum speed" - CPerParticleFloatInput m_flSpeedMin; // 0x1f0 + CPerParticleFloatInput m_flSpeedMin; // 0x220 // MPropertyFriendlyName "maximum speed" - CPerParticleFloatInput m_flSpeedMax; // 0x328 + CPerParticleFloatInput m_flSpeedMax; // 0x360 // MPropertyFriendlyName "end spread" - CPerParticleFloatInput m_flEndSpread; // 0x460 + CPerParticleFloatInput m_flEndSpread; // 0x4a0 // MPropertyFriendlyName "start offset" - CPerParticleFloatInput m_flStartOffset; // 0x598 + CPerParticleFloatInput m_flStartOffset; // 0x5e0 // MPropertyFriendlyName "end offset" - CPerParticleFloatInput m_flEndOffset; // 0x6d0 + CPerParticleFloatInput m_flEndOffset; // 0x720 // MPropertyFriendlyName "end control point" - int32_t m_nEndControlPointNumber; // 0x808 + int32_t m_nEndControlPointNumber; // 0x860 // MPropertyFriendlyName "bias lifetime by trail length" - bool m_bTrailBias; // 0x80c + bool m_bTrailBias; // 0x864 }; // Alignment: 1 -// Size: 0x200 +// Size: 0x230 class C_INIT_SequenceLifeTime : public CParticleFunctionInitializer { public: // MPropertyFriendlyName "frames per second" - float m_flFramerate; // 0x1f0 + float m_flFramerate; // 0x220 }; // Alignment: 6 -// Size: 0x220 +// Size: 0x240 class C_OP_OscillateVectorSimple : public CParticleFunctionOperator { public: // MPropertyFriendlyName "oscillation rate" // MVectorIsSometimesCoordinate - Vector m_Rate; // 0x1f0 + Vector m_Rate; // 0x210 // MPropertyFriendlyName "oscillation frequency" - Vector m_Frequency; // 0x1fc + Vector m_Frequency; // 0x21c // MPropertyFriendlyName "oscillation field" // MPropertyAttributeChoiceName "particlefield_vector" - ParticleAttributeIndex_t m_nField; // 0x208 + ParticleAttributeIndex_t m_nField; // 0x228 // MPropertyFriendlyName "oscillation multiplier" - float m_flOscMult; // 0x20c + float m_flOscMult; // 0x22c // MPropertyFriendlyName "oscillation start phase" - float m_flOscAdd; // 0x210 + float m_flOscAdd; // 0x230 // MPropertyFriendlyName "offset instead of accelerate position" - bool m_bOffset; // 0x214 + bool m_bOffset; // 0x234 }; -// Alignment: 9 -// Size: 0x5b0 +// Alignment: 5 +// Size: 0x58 +class CPulse_RegisterInfo +{ +public: + PulseRuntimeRegisterIndex_t m_nReg; // 0x0 + CPulseValueFullType m_Type; // 0x8 + CKV3MemberNameWithStorage m_OriginName; // 0x18 + int32_t m_nWrittenByInstruction; // 0x50 + int32_t m_nLastReadByInstruction; // 0x54 +}; + +// Alignment: 10 +// Size: 0x600 class C_OP_ContinuousEmitter : public CParticleFunctionEmitter { public: // MPropertyFriendlyName "emission duration" - CParticleCollectionFloatInput m_flEmissionDuration; // 0x1f0 + CParticleCollectionFloatInput m_flEmissionDuration; // 0x220 // MPropertyFriendlyName "emission start time" - CParticleCollectionFloatInput m_flStartTime; // 0x328 + CParticleCollectionFloatInput m_flStartTime; // 0x360 // MPropertyFriendlyName "emission rate" - CParticleCollectionFloatInput m_flEmitRate; // 0x460 + CParticleCollectionFloatInput m_flEmitRate; // 0x4a0 // MPropertyFriendlyName "scale emission to used control points" // MParticleMaxVersion - float m_flEmissionScale; // 0x598 + float m_flEmissionScale; // 0x5e0 // MPropertyFriendlyName "scale emission by parent particle count" - float m_flScalePerParentParticle; // 0x59c + float m_flScalePerParentParticle; // 0x5e4 // MPropertyFriendlyName "emit particles for killed parent particles" - bool m_bInitFromKilledParentParticles; // 0x5a0 + bool m_bInitFromKilledParentParticles; // 0x5e8 private: - [[maybe_unused]] uint8_t __pad05a1[0x3]; // 0x5a1 + [[maybe_unused]] uint8_t __pad05e9[0x3]; // 0x5e9 public: + // MPropertyFriendlyName "control point with snapshot data" + int32_t m_nSnapshotControlPoint; // 0x5ec // MPropertyFriendlyName "limit per update" - int32_t m_nLimitPerUpdate; // 0x5a4 + int32_t m_nLimitPerUpdate; // 0x5f0 // MPropertyFriendlyName "force emit on first update" - bool m_bForceEmitOnFirstUpdate; // 0x5a8 + bool m_bForceEmitOnFirstUpdate; // 0x5f4 // MPropertyFriendlyName "force emit on last update" - bool m_bForceEmitOnLastUpdate; // 0x5a9 + bool m_bForceEmitOnLastUpdate; // 0x5f5 }; // Alignment: 3 -// Size: 0x220 +// Size: 0x240 class C_OP_RemapDistanceToLineSegmentToScalar : public C_OP_RemapDistanceToLineSegmentBase { public: // MPropertyFriendlyName "output field" // MPropertyAttributeChoiceName "particlefield_scalar" - ParticleAttributeIndex_t m_nFieldOutput; // 0x210 + ParticleAttributeIndex_t m_nFieldOutput; // 0x230 // MPropertyFriendlyName "output value at min distance" - float m_flMinOutputValue; // 0x214 + float m_flMinOutputValue; // 0x234 // MPropertyFriendlyName "output value at max distance" - float m_flMaxOutputValue; // 0x218 + float m_flMaxOutputValue; // 0x238 }; // Alignment: 1 -// Size: 0x200 +// Size: 0x220 class C_OP_EndCapTimedDecay : public CParticleFunctionOperator { public: // MPropertyFriendlyName "decay time" - float m_flDecayTime; // 0x1f0 + float m_flDecayTime; // 0x210 }; // Alignment: 6 -// Size: 0x240 +// Size: 0x270 class C_INIT_CreateSequentialPath : public CParticleFunctionInitializer { public: // MPropertyFriendlyName "maximum distance" - float m_fMaxDistance; // 0x1f0 + float m_fMaxDistance; // 0x220 // MPropertyFriendlyName "particles to map from start to end" - float m_flNumToAssign; // 0x1f4 + float m_flNumToAssign; // 0x224 // MPropertyFriendlyName "restart behavior (0 = bounce, 1 = loop )" - bool m_bLoop; // 0x1f8 + bool m_bLoop; // 0x228 // MPropertyFriendlyName "use sequential CP pairs between start and end point" - bool m_bCPPairs; // 0x1f9 + bool m_bCPPairs; // 0x229 // MPropertyFriendlyName "save offset" - bool m_bSaveOffset; // 0x1fa + bool m_bSaveOffset; // 0x22a private: - [[maybe_unused]] uint8_t __pad01fb[0x5]; // 0x1fb + [[maybe_unused]] uint8_t __pad022b[0x5]; // 0x22b public: - CPathParameters m_PathParams; // 0x200 + CPathParameters m_PathParams; // 0x230 }; // Alignment: 1 -// Size: 0x330 +// Size: 0x350 class C_OP_DecayOffscreen : public CParticleFunctionOperator { public: // MPropertyFriendlyName "Offscreen Time Before Decay" - CParticleCollectionFloatInput m_flOffscreenTime; // 0x1f0 + CParticleCollectionFloatInput m_flOffscreenTime; // 0x210 }; // Alignment: 13 -// Size: 0x810 +// Size: 0x850 class C_OP_DistanceBetweenTransforms : public CParticleFunctionOperator { public: // MPropertyFriendlyName "output field" // MPropertyAttributeChoiceName "particlefield_scalar" - ParticleAttributeIndex_t m_nFieldOutput; // 0x1f0 + ParticleAttributeIndex_t m_nFieldOutput; // 0x210 private: - [[maybe_unused]] uint8_t __pad01f4[0x4]; // 0x1f4 + [[maybe_unused]] uint8_t __pad0214[0x4]; // 0x214 public: // MPropertyFriendlyName "strarting transform" - CParticleTransformInput m_TransformStart; // 0x1f8 + CParticleTransformInput m_TransformStart; // 0x218 // MPropertyFriendlyName "end transform" - CParticleTransformInput m_TransformEnd; // 0x248 + CParticleTransformInput m_TransformEnd; // 0x268 // MPropertyFriendlyName "distance minimum" - CPerParticleFloatInput m_flInputMin; // 0x298 + CPerParticleFloatInput m_flInputMin; // 0x2b8 // MPropertyFriendlyName "distance maximum" - CPerParticleFloatInput m_flInputMax; // 0x3d0 + CPerParticleFloatInput m_flInputMax; // 0x3f8 // MPropertyFriendlyName "output minimum" - CPerParticleFloatInput m_flOutputMin; // 0x508 + CPerParticleFloatInput m_flOutputMin; // 0x538 // MPropertyFriendlyName "output maximum" - CPerParticleFloatInput m_flOutputMax; // 0x640 + CPerParticleFloatInput m_flOutputMax; // 0x678 // MPropertyFriendlyName "maximum trace length" - float m_flMaxTraceLength; // 0x778 + float m_flMaxTraceLength; // 0x7b8 // MPropertyFriendlyName "LOS Failure Scalar" - float m_flLOSScale; // 0x77c + float m_flLOSScale; // 0x7bc // MPropertyFriendlyName "LOS collision group" - char m_CollisionGroupName[128]; // 0x780 + char m_CollisionGroupName[128]; // 0x7c0 // MPropertyFriendlyName "Trace Set" - ParticleTraceSet_t m_nTraceSet; // 0x800 + ParticleTraceSet_t m_nTraceSet; // 0x840 // MPropertyFriendlyName "ensure line of sight" - bool m_bLOS; // 0x804 + bool m_bLOS; // 0x844 private: - [[maybe_unused]] uint8_t __pad0805[0x3]; // 0x805 + [[maybe_unused]] uint8_t __pad0845[0x3]; // 0x845 public: // MPropertyFriendlyName "set value method" - ParticleSetMethod_t m_nSetMethod; // 0x808 + ParticleSetMethod_t m_nSetMethod; // 0x848 }; // Alignment: 6 -// Size: 0x210 +// Size: 0x230 class C_OP_RemapScalar : public CParticleFunctionOperator { public: // MPropertyFriendlyName "input field" // MPropertyAttributeChoiceName "particlefield_scalar" - ParticleAttributeIndex_t m_nFieldInput; // 0x1f0 + ParticleAttributeIndex_t m_nFieldInput; // 0x210 // MPropertyFriendlyName "output field" // MPropertyAttributeChoiceName "particlefield_scalar" - ParticleAttributeIndex_t m_nFieldOutput; // 0x1f4 + ParticleAttributeIndex_t m_nFieldOutput; // 0x214 // MPropertyFriendlyName "input minimum" - float m_flInputMin; // 0x1f8 + float m_flInputMin; // 0x218 // MPropertyFriendlyName "input maximum" - float m_flInputMax; // 0x1fc + float m_flInputMax; // 0x21c // MPropertyFriendlyName "output minimum" - float m_flOutputMin; // 0x200 + float m_flOutputMin; // 0x220 // MPropertyFriendlyName "output maximum" - float m_flOutputMax; // 0x204 + float m_flOutputMax; // 0x224 }; // Alignment: 3 -// Size: 0x200 +// Size: 0x230 class C_INIT_RandomTrailLength : public CParticleFunctionInitializer { public: // MPropertyFriendlyName "length min" - float m_flMinLength; // 0x1f0 + float m_flMinLength; // 0x220 // MPropertyFriendlyName "length max" - float m_flMaxLength; // 0x1f4 + float m_flMaxLength; // 0x224 // MPropertyFriendlyName "length random exponent" - float m_flLengthRandExponent; // 0x1f8 + float m_flLengthRandExponent; // 0x228 }; // Alignment: 11 -// Size: 0xc10 +// Size: 0xc80 class C_INIT_RingWave : public CParticleFunctionInitializer { public: // MPropertyFriendlyName "input transform" - CParticleTransformInput m_TransformInput; // 0x1f0 + CParticleTransformInput m_TransformInput; // 0x220 // MPropertyFriendlyName "even distribution count" - CParticleCollectionFloatInput m_flParticlesPerOrbit; // 0x240 + CParticleCollectionFloatInput m_flParticlesPerOrbit; // 0x270 // MPropertyFriendlyName "initial radius" - CPerParticleFloatInput m_flInitialRadius; // 0x378 + CPerParticleFloatInput m_flInitialRadius; // 0x3b0 // MPropertyFriendlyName "thickness" - CPerParticleFloatInput m_flThickness; // 0x4b0 + CPerParticleFloatInput m_flThickness; // 0x4f0 // MPropertyFriendlyName "min initial speed" - CPerParticleFloatInput m_flInitialSpeedMin; // 0x5e8 + CPerParticleFloatInput m_flInitialSpeedMin; // 0x630 // MPropertyFriendlyName "max initial speed" - CPerParticleFloatInput m_flInitialSpeedMax; // 0x720 + CPerParticleFloatInput m_flInitialSpeedMax; // 0x770 // MPropertyFriendlyName "roll" - CPerParticleFloatInput m_flRoll; // 0x858 + CPerParticleFloatInput m_flRoll; // 0x8b0 // MPropertyFriendlyName "pitch" - CPerParticleFloatInput m_flPitch; // 0x990 + CPerParticleFloatInput m_flPitch; // 0x9f0 // MPropertyFriendlyName "yaw" - CPerParticleFloatInput m_flYaw; // 0xac8 + CPerParticleFloatInput m_flYaw; // 0xb30 // MPropertyFriendlyName "even distribution" - bool m_bEvenDistribution; // 0xc00 + bool m_bEvenDistribution; // 0xc70 // MPropertyFriendlyName "XY velocity only" - bool m_bXYVelocityOnly; // 0xc01 + bool m_bXYVelocityOnly; // 0xc71 }; // Alignment: 9 -// Size: 0x990 +// Size: 0x9e0 class C_INIT_SetHitboxToClosest : public CParticleFunctionInitializer { public: // MPropertyFriendlyName "control point number" - int32_t m_nControlPointNumber; // 0x1f0 + int32_t m_nControlPointNumber; // 0x220 // MPropertyFriendlyName "desired hitbox" - int32_t m_nDesiredHitbox; // 0x1f4 + int32_t m_nDesiredHitbox; // 0x224 // MPropertyFriendlyName "model hitbox scale" - CParticleCollectionVecInput m_vecHitBoxScale; // 0x1f8 + CParticleCollectionVecInput m_vecHitBoxScale; // 0x228 // MPropertyFriendlyName "hitbox set" - char m_HitboxSetName[128]; // 0x7c0 + char m_HitboxSetName[128]; // 0x810 // MPropertyFriendlyName "use bones instead of hitboxes" - bool m_bUseBones; // 0x840 + bool m_bUseBones; // 0x890 // MPropertyFriendlyName "get closest point on closest hitbox" - bool m_bUseClosestPointOnHitbox; // 0x841 + bool m_bUseClosestPointOnHitbox; // 0x891 private: - [[maybe_unused]] uint8_t __pad0842[0x2]; // 0x842 + [[maybe_unused]] uint8_t __pad0892[0x2]; // 0x892 public: // MPropertyFriendlyName "closest point test type" - ClosestPointTestType_t m_nTestType; // 0x844 + ClosestPointTestType_t m_nTestType; // 0x894 // MPropertyFriendlyName "hybrid ratio" - CParticleCollectionFloatInput m_flHybridRatio; // 0x848 + CParticleCollectionFloatInput m_flHybridRatio; // 0x898 // MPropertyFriendlyName "set initial position" - bool m_bUpdatePosition; // 0x980 + bool m_bUpdatePosition; // 0x9d8 }; // Alignment: 3 -// Size: 0x200 +// Size: 0x220 class C_OP_RemapVelocityToVector : public CParticleFunctionOperator { public: // MPropertyFriendlyName "output field" // MPropertyAttributeChoiceName "particlefield_vector" - ParticleAttributeIndex_t m_nFieldOutput; // 0x1f0 + ParticleAttributeIndex_t m_nFieldOutput; // 0x210 // MPropertyFriendlyName "scale factor" - float m_flScale; // 0x1f4 + float m_flScale; // 0x214 // MPropertyFriendlyName "normalize" - bool m_bNormalize; // 0x1f8 + bool m_bNormalize; // 0x218 }; // Alignment: 4 -// Size: 0x240 +// Size: 0x270 class C_OP_RenderTonemapController : public CParticleFunctionRenderer { public: // MPropertyFriendlyName "tonemap level scale" - float m_flTonemapLevel; // 0x230 + float m_flTonemapLevel; // 0x260 // MPropertyFriendlyName "tonemap weight scale" - float m_flTonemapWeight; // 0x234 + float m_flTonemapWeight; // 0x264 // MPropertyFriendlyName "tonemap level" // MPropertyAttributeChoiceName "particlefield_scalar" - ParticleAttributeIndex_t m_nTonemapLevelField; // 0x238 + ParticleAttributeIndex_t m_nTonemapLevelField; // 0x268 // MPropertyFriendlyName "tonemap weight" // MPropertyAttributeChoiceName "particlefield_scalar" - ParticleAttributeIndex_t m_nTonemapWeightField; // 0x23c + ParticleAttributeIndex_t m_nTonemapWeightField; // 0x26c }; // Alignment: 5 -// Size: 0x5c0 +// Size: 0x5f0 class C_OP_RepeatedTriggerChildGroup : public CParticleFunctionPreEmission { public: // MPropertyFriendlyName "group ID to affect" - int32_t m_nChildGroupID; // 0x200 + int32_t m_nChildGroupID; // 0x220 private: - [[maybe_unused]] uint8_t __pad0204[0x4]; // 0x204 + [[maybe_unused]] uint8_t __pad0224[0x4]; // 0x224 public: // MPropertyFriendlyName "Within-Cluster Refire Time" - CParticleCollectionFloatInput m_flClusterRefireTime; // 0x208 + CParticleCollectionFloatInput m_flClusterRefireTime; // 0x228 // MPropertyFriendlyName "Within-Cluster Fire Count Before Cooldown" - CParticleCollectionFloatInput m_flClusterSize; // 0x340 + CParticleCollectionFloatInput m_flClusterSize; // 0x368 // MPropertyFriendlyName "Cluster Cooldown Time" - CParticleCollectionFloatInput m_flClusterCooldown; // 0x478 + CParticleCollectionFloatInput m_flClusterCooldown; // 0x4a8 // MPropertyFriendlyName "limit active children to parent particle count" - bool m_bLimitChildCount; // 0x5b0 + bool m_bLimitChildCount; // 0x5e8 }; // Alignment: 2 -// Size: 0x200 +// Size: 0x220 class C_OP_FadeInSimple : public CParticleFunctionOperator { public: // MPropertyFriendlyName "proportional fade in time" - float m_flFadeInTime; // 0x1f0 + float m_flFadeInTime; // 0x210 // MPropertyFriendlyName "alpha field" // MPropertyAttributeChoiceName "particlefield_alpha" - ParticleAttributeIndex_t m_nFieldOutput; // 0x1f4 + ParticleAttributeIndex_t m_nFieldOutput; // 0x214 }; // Alignment: 2 -// Size: 0x200 +// Size: 0x220 class C_OP_NormalizeVector : public CParticleFunctionOperator { public: // MPropertyFriendlyName "output field" // MPropertyAttributeChoiceName "particlefield_vector" - ParticleAttributeIndex_t m_nFieldOutput; // 0x1f0 + ParticleAttributeIndex_t m_nFieldOutput; // 0x210 // MPropertyFriendlyName "scale factor" - float m_flScale; // 0x1f4 + float m_flScale; // 0x214 }; // Alignment: 4 -// Size: 0x210 +// Size: 0x240 class C_INIT_RandomAlpha : public CParticleFunctionInitializer { public: // MPropertyFriendlyName "alpha field" // MPropertyAttributeChoiceName "particlefield_alpha" - ParticleAttributeIndex_t m_nFieldOutput; // 0x1f0 + ParticleAttributeIndex_t m_nFieldOutput; // 0x220 // MPropertyFriendlyName "alpha min" // MPropertyAttributeRange "0 255" - int32_t m_nAlphaMin; // 0x1f4 + int32_t m_nAlphaMin; // 0x224 // MPropertyFriendlyName "alpha max" // MPropertyAttributeRange "0 255" - int32_t m_nAlphaMax; // 0x1f8 + int32_t m_nAlphaMax; // 0x228 private: - [[maybe_unused]] uint8_t __pad01fc[0x8]; // 0x1fc + [[maybe_unused]] uint8_t __pad022c[0x8]; // 0x22c public: // MPropertyFriendlyName "alpha random exponent" - float m_flAlphaRandExponent; // 0x204 + float m_flAlphaRandExponent; // 0x234 }; // Alignment: 10 -// Size: 0xd40 +// Size: 0xda0 class C_OP_RemapAverageHitboxSpeedtoCP : public CParticleFunctionPreEmission { public: // MPropertyFriendlyName "input control point" - int32_t m_nInControlPointNumber; // 0x200 + int32_t m_nInControlPointNumber; // 0x220 // MPropertyFriendlyName "output control point" - int32_t m_nOutControlPointNumber; // 0x204 + int32_t m_nOutControlPointNumber; // 0x224 // MPropertyFriendlyName "Output component" // MPropertyAttributeChoiceName "vector_component" - int32_t m_nField; // 0x208 + int32_t m_nField; // 0x228 private: - [[maybe_unused]] uint8_t __pad020c[0x4]; // 0x20c + [[maybe_unused]] uint8_t __pad022c[0x4]; // 0x22c public: // MPropertyFriendlyName "input minimum" - CParticleCollectionFloatInput m_flInputMin; // 0x210 + CParticleCollectionFloatInput m_flInputMin; // 0x230 // MPropertyFriendlyName "input maximum" - CParticleCollectionFloatInput m_flInputMax; // 0x348 + CParticleCollectionFloatInput m_flInputMax; // 0x370 // MPropertyFriendlyName "output minimum" - CParticleCollectionFloatInput m_flOutputMin; // 0x480 + CParticleCollectionFloatInput m_flOutputMin; // 0x4b0 // MPropertyFriendlyName "output maximum" - CParticleCollectionFloatInput m_flOutputMax; // 0x5b8 + CParticleCollectionFloatInput m_flOutputMax; // 0x5f0 // MPropertyFriendlyName "intersection height CP" - int32_t m_nHeightControlPointNumber; // 0x6f0 + int32_t m_nHeightControlPointNumber; // 0x730 private: - [[maybe_unused]] uint8_t __pad06f4[0x4]; // 0x6f4 + [[maybe_unused]] uint8_t __pad0734[0x4]; // 0x734 public: // MPropertyFriendlyName "comparison velocity" - CParticleCollectionVecInput m_vecComparisonVelocity; // 0x6f8 + CParticleCollectionVecInput m_vecComparisonVelocity; // 0x738 // MPropertyFriendlyName "hitbox set" - char m_HitboxSetName[128]; // 0xcc0 + char m_HitboxSetName[128]; // 0xd20 }; // Alignment: 5 -// Size: 0x330 +// Size: 0x360 class C_OP_ExternalGameImpulseForce : public CParticleFunctionForce { public: // MPropertyFriendlyName "force scale" - CPerParticleFloatInput m_flForceScale; // 0x1f0 + CPerParticleFloatInput m_flForceScale; // 0x210 // MPropertyFriendlyName "rope shake" - bool m_bRopes; // 0x328 + bool m_bRopes; // 0x350 // MPropertyFriendlyName "limit rope impulses to Z" - bool m_bRopesZOnly; // 0x329 + bool m_bRopesZOnly; // 0x351 // MPropertyFriendlyName "explosions" - bool m_bExplosions; // 0x32a + bool m_bExplosions; // 0x352 // MPropertyFriendlyName "particle systems" - bool m_bParticles; // 0x32b -}; - -// Alignment: 48 -// Size: 0x21d0 -class C_OP_RenderModels : public CParticleFunctionRenderer -{ -public: - // MPropertyFriendlyName "Only Render in effects bloom pass" - // MPropertySortPriority "1100" - bool m_bOnlyRenderInEffectsBloomPass; // 0x230 - // MPropertyFriendlyName "Only Render in effects water pass" - // MPropertySortPriority "1050" - // MPropertySuppressExpr "mod != csgo" - bool m_bOnlyRenderInEffectsWaterPass; // 0x231 - // MPropertyFriendlyName "Use Mixed Resolution Rendering" - // MPropertySortPriority "1200" - bool m_bUseMixedResolutionRendering; // 0x232 - // MPropertyFriendlyName "Only Render in effects game overlay pass" - // MPropertySortPriority "1210" - // MPropertySuppressExpr "mod != csgo" - bool m_bOnlyRenderInEffecsGameOverlay; // 0x233 -private: - [[maybe_unused]] uint8_t __pad0234[0x4]; // 0x234 -public: - // MPropertyFriendlyName "models" - // MParticleRequireDefaultArrayEntry - // MPropertyAutoExpandSelf - // MPropertySortPriority "775" - CUtlVector< ModelReference_t > m_ModelList; // 0x238 -private: - [[maybe_unused]] uint8_t __pad0250[0x4]; // 0x250 -public: - // MPropertyFriendlyName "bodygroup field" - // MPropertyAttributeChoiceName "particlefield_scalar" - ParticleAttributeIndex_t m_nBodyGroupField; // 0x254 - // MPropertyFriendlyName "submodel field" - // MPropertyAttributeChoiceName "particlefield_scalar" - ParticleAttributeIndex_t m_nSubModelField; // 0x258 - // MPropertyStartGroup "Orientation" - // MPropertyFriendlyName "ignore normal" - // MPropertySortPriority "750" - bool m_bIgnoreNormal; // 0x25c - // MPropertyFriendlyName "orient model z to normal" - // MPropertySortPriority "750" - // MPropertySuppressExpr "m_bIgnoreNormal" - bool m_bOrientZ; // 0x25d - // MPropertyFriendlyName "center mesh" - // MPropertySortPriority "750" - bool m_bCenterOffset; // 0x25e -private: - [[maybe_unused]] uint8_t __pad025f[0x1]; // 0x25f -public: - // MPropertyFriendlyName "model local offset" - // MPropertySortPriority "750" - CPerParticleVecInput m_vecLocalOffset; // 0x260 - // MPropertyFriendlyName "model local rotation (pitch/yaw/roll)" - // MPropertySortPriority "750" - CPerParticleVecInput m_vecLocalRotation; // 0x828 - // MPropertyStartGroup "Model Scale" - // MPropertyFriendlyName "ignore radius" - // MPropertySortPriority "700" - bool m_bIgnoreRadius; // 0xdf0 -private: - [[maybe_unused]] uint8_t __pad0df1[0x3]; // 0xdf1 -public: - // MPropertyFriendlyName "model scale CP" - // MPropertySortPriority "700" - int32_t m_nModelScaleCP; // 0xdf4 - // MPropertyFriendlyName "model component scale" - // MPropertySortPriority "700" - CPerParticleVecInput m_vecComponentScale; // 0xdf8 - // MPropertyFriendlyName "apply scales in local model space" - // MPropertySortPriority "700" - bool m_bLocalScale; // 0x13c0 - // MPropertyStartGroup "Animation" - // MPropertyFriendlyName "animated" - // MPropertySortPriority "500" - bool m_bAnimated; // 0x13c1 -private: - [[maybe_unused]] uint8_t __pad13c2[0x2]; // 0x13c2 -public: - // MPropertyFriendlyName "animation rate" - // MPropertySortPriority "500" - // MPropertySuppressExpr "!m_bAnimated" - float m_flAnimationRate; // 0x13c4 - // MPropertyFriendlyName "scale animation rate" - // MPropertySortPriority "500" - // MPropertySuppressExpr "!m_bAnimated" - bool m_bScaleAnimationRate; // 0x13c8 - // MPropertyFriendlyName "force looping animations" - // MPropertySortPriority "500" - // MPropertySuppressExpr "!m_bAnimated" - bool m_bForceLoopingAnimation; // 0x13c9 - // MPropertyFriendlyName "reset animation frame on stop" - // MPropertySortPriority "500" - // MPropertySuppressExpr "!m_bAnimated" - bool m_bResetAnimOnStop; // 0x13ca - // MPropertyFriendlyName "set animation frame manually" - // MPropertySortPriority "500" - // MPropertySuppressExpr "!m_bAnimated" - bool m_bManualAnimFrame; // 0x13cb - // MPropertyFriendlyName "animation rate scale field" - // MPropertyAttributeChoiceName "particlefield_scalar" - // MPropertySortPriority "500" - // MPropertySuppressExpr "!m_bAnimated" - ParticleAttributeIndex_t m_nAnimationScaleField; // 0x13cc - // MPropertyStartGroup "Animation" - // MPropertyFriendlyName "animation sequence field" - // MPropertyAttributeChoiceName "particlefield_scalar" - // MPropertySortPriority "500" - ParticleAttributeIndex_t m_nAnimationField; // 0x13d0 - // MPropertyFriendlyName "manual animation frame field" - // MPropertyAttributeChoiceName "particlefield_scalar" - // MPropertySortPriority "500" - // MPropertySuppressExpr "!(m_bAnimated && m_bManualAnimFrame)" - ParticleAttributeIndex_t m_nManualFrameField; // 0x13d4 - // MPropertyFriendlyName "activity override" - // MPropertySuppressExpr "mod != dota" - // MPropertySortPriority "500" - char m_ActivityName[256]; // 0x13d8 - // MPropertyFriendlyName "sequence override" - // MPropertySuppressExpr "mod == dota" - // MPropertySortPriority "500" - char m_SequenceName[256]; // 0x14d8 - // MPropertyFriendlyName "Enable Cloth Simulation" - bool m_bEnableClothSimulation; // 0x15d8 -private: - [[maybe_unused]] uint8_t __pad15d9[0x7]; // 0x15d9 -public: - // MPropertyStartGroup "Material" - // MPropertyFriendlyName "material override" - // MPropertySortPriority "600" - CStrongHandle< InfoForResourceTypeIMaterial2 > m_hOverrideMaterial; // 0x15e0 - // MPropertyFriendlyName "override translucent materials" - // MPropertySortPriority "600" - bool m_bOverrideTranslucentMaterials; // 0x15e8 -private: - [[maybe_unused]] uint8_t __pad15e9[0x3]; // 0x15e9 -public: - // MPropertyFriendlyName "skin number" - // MPropertySortPriority "600" - int32_t m_nSkin; // 0x15ec - // MPropertyFriendlyName "skin override CP" - // MPropertySortPriority "600" - int32_t m_nSkinCP; // 0x15f0 -private: - [[maybe_unused]] uint8_t __pad15f4[0x4]; // 0x15f4 -public: - // MPropertyFriendlyName "material variables" - // MPropertyAutoExpandSelf - // MPropertySortPriority "600" - CUtlVector< MaterialVariable_t > m_MaterialVars; // 0x15f8 - // MPropertyStartGroup "Model Overrides" - // MPropertyFriendlyName "model LOD" - int32_t m_nLOD; // 0x1610 - // MPropertyFriendlyName "model override CP" - int32_t m_nModelCP; // 0x1614 - // MPropertyFriendlyName "model override economy loadout slot type" - char m_EconSlotName[256]; // 0x1618 - // MPropertyFriendlyName "model override original model only (ignore shapeshift/hex/etc)" - bool m_bOriginalModel; // 0x1718 - // MPropertyFriendlyName "suppress tinting of the model" - bool m_bSuppressTint; // 0x1719 - // MPropertyFriendlyName "use raw mesh group (ignore bodygroup field and use submodel field as raw meshgroup)" - bool m_bUseRawMeshGroup; // 0x171a - // MPropertyFriendlyName "disable shadows" - bool m_bDisableShadows; // 0x171b - // MPropertyFriendlyName "forcedrawinterlevedwithsiblings" - bool m_bForceDrawInterlevedWithSiblings; // 0x171c - // MPropertyFriendlyName "render attribute" - char m_szRenderAttribute[260]; // 0x171d -private: - [[maybe_unused]] uint8_t __pad1821[0x7]; // 0x1821 -public: - // MPropertyStartGroup "+Renderer Modifiers" - // MPropertyFriendlyName "Radius Scale" - // MPropertySortPriority "700" - CParticleCollectionFloatInput m_flRadiusScale; // 0x1828 - // MPropertyFriendlyName "alpha scale" - // MPropertySortPriority "700" - CParticleCollectionFloatInput m_flAlphaScale; // 0x1960 - // MPropertyFriendlyName "rotation roll scale" - // MPropertySortPriority "700" - CParticleCollectionFloatInput m_flRollScale; // 0x1a98 - // MPropertyFriendlyName "per-particle alpha scale attribute" - // MPropertyAttributeChoiceName "particlefield_scalar" - // MPropertySortPriority "700" - ParticleAttributeIndex_t m_nAlpha2Field; // 0x1bd0 -private: - [[maybe_unused]] uint8_t __pad1bd4[0x4]; // 0x1bd4 -public: - // MPropertyFriendlyName "color blend" - // MPropertySortPriority "700" - CParticleCollectionVecInput m_vecColorScale; // 0x1bd8 - // MPropertyFriendlyName "color blend type" - // MPropertySortPriority "700" - ParticleColorBlendType_t m_nColorBlendType; // 0x21a0 + bool m_bParticles; // 0x353 }; // Alignment: 3 -// Size: 0x400 +// Size: 0x48 +class CParticleModelInput +{ +private: + [[maybe_unused]] uint8_t __pad0000[0x4]; // 0x0 +public: + ParticleModelType_t m_nType; // 0x4 + CKV3MemberNameWithStorage m_NamedValue; // 0x8 + int32_t m_nControlPoint; // 0x40 +}; + +// Alignment: 3 +// Size: 0x430 class C_INIT_RandomModelSequence : public CParticleFunctionInitializer { public: // MPropertyFriendlyName "activity" // MPropertySuppressExpr "mod != dota" - char m_ActivityName[256]; // 0x1f0 + char m_ActivityName[256]; // 0x220 // MPropertyFriendlyName "sequence" // MPropertySuppressExpr "mod == dota" - char m_SequenceName[256]; // 0x2f0 + char m_SequenceName[256]; // 0x320 // MPropertyFriendlyName "model" - CStrongHandle< InfoForResourceTypeCModel > m_hModel; // 0x3f0 + CStrongHandle< InfoForResourceTypeCModel > m_hModel; // 0x420 }; // Alignment: 6 -// Size: 0x340 +// Size: 0x370 class C_OP_DecayMaintainCount : public CParticleFunctionOperator { public: // MPropertyFriendlyName "count to maintain" - int32_t m_nParticlesToMaintain; // 0x1f0 + int32_t m_nParticlesToMaintain; // 0x210 // MPropertyFriendlyName "decay delay" - float m_flDecayDelay; // 0x1f4 + float m_flDecayDelay; // 0x214 // MPropertyFriendlyName "snapshot control point for count" - int32_t m_nSnapshotControlPoint; // 0x1f8 + int32_t m_nSnapshotControlPoint; // 0x218 // MPropertyFriendlyName "decay on lifespan" - bool m_bLifespanDecay; // 0x1fc + bool m_bLifespanDecay; // 0x21c private: - [[maybe_unused]] uint8_t __pad01fd[0x3]; // 0x1fd + [[maybe_unused]] uint8_t __pad021d[0x3]; // 0x21d public: // MPropertyFriendlyName "total count scale" - CParticleCollectionFloatInput m_flScale; // 0x200 + CParticleCollectionFloatInput m_flScale; // 0x220 // MPropertyFriendlyName "kill newest instead of oldest" - bool m_bKillNewest; // 0x338 + bool m_bKillNewest; // 0x360 }; // Alignment: 3 -// Size: 0x2a0 +// Size: 0x2c0 class C_OP_SetControlPointPositionToTimeOfDayValue : public CParticleFunctionPreEmission { public: // MPropertyFriendlyName "control point number" - int32_t m_nControlPointNumber; // 0x200 + int32_t m_nControlPointNumber; // 0x220 // MPropertyFriendlyName "time-of-day parameter" - char m_pszTimeOfDayParameter[128]; // 0x204 + char m_pszTimeOfDayParameter[128]; // 0x224 // MPropertyFriendlyName "default value" - Vector m_vecDefaultValue; // 0x284 + Vector m_vecDefaultValue; // 0x2a4 +}; + +// Alignment: 1 +// Size: 0x4 +struct CPulseCell_Outflow_CycleOrdered__InstanceState_t +{ +public: + int32_t m_nNextIndex; // 0x0 }; // Alignment: 20 -// Size: 0x3390 +// Size: 0x3620 class C_OP_RenderTrails : public CBaseTrailRenderer { public: // MPropertyStartGroup "Screenspace Fading and culling" // MPropertyFriendlyName "enable fading and clamping" // MPropertySortPriority "1000" - bool m_bEnableFadingAndClamping; // 0x22e0 + bool m_bEnableFadingAndClamping; // 0x2510 private: - [[maybe_unused]] uint8_t __pad22e1[0x3]; // 0x22e1 + [[maybe_unused]] uint8_t __pad2511[0x3]; // 0x2511 public: // MPropertyFriendlyName "start fade dot product of normal vs view" // MPropertySortPriority "1000" - float m_flStartFadeDot; // 0x22e4 + float m_flStartFadeDot; // 0x2514 // MPropertyFriendlyName "end fade dot product of normal vs view" // MPropertySortPriority "1000" - float m_flEndFadeDot; // 0x22e8 + float m_flEndFadeDot; // 0x2518 // MPropertyStartGroup "+Trail Length" // MPropertyFriendlyName "Anchor point source" // MPropertyAttributeChoiceName "particlefield_vector" // MPropertySortPriority "800" - ParticleAttributeIndex_t m_nPrevPntSource; // 0x22ec + ParticleAttributeIndex_t m_nPrevPntSource; // 0x251c // MPropertyFriendlyName "max length" // MPropertySortPriority "800" - float m_flMaxLength; // 0x22f0 + float m_flMaxLength; // 0x2520 // MPropertyFriendlyName "min length" // MPropertySortPriority "800" - float m_flMinLength; // 0x22f4 + float m_flMinLength; // 0x2524 // MPropertyFriendlyName "ignore delta time" // MPropertySortPriority "800" - bool m_bIgnoreDT; // 0x22f8 + bool m_bIgnoreDT; // 0x2528 private: - [[maybe_unused]] uint8_t __pad22f9[0x3]; // 0x22f9 + [[maybe_unused]] uint8_t __pad2529[0x3]; // 0x2529 public: // MPropertyFriendlyName "constrain radius to no more than this times the length" // MPropertySortPriority "800" - float m_flConstrainRadiusToLengthRatio; // 0x22fc + float m_flConstrainRadiusToLengthRatio; // 0x252c // MPropertyFriendlyName "amount to scale trail length by" - float m_flLengthScale; // 0x2300 + float m_flLengthScale; // 0x2530 // MPropertyFriendlyName "how long before a trail grows to its full length" - float m_flLengthFadeInTime; // 0x2304 + float m_flLengthFadeInTime; // 0x2534 // MPropertyStartGroup "Trail Head & Tail" // MPropertyFriendlyName "head taper scale" // MPropertySortPriority "800" - CPerParticleFloatInput m_flRadiusHeadTaper; // 0x2308 + CPerParticleFloatInput m_flRadiusHeadTaper; // 0x2538 // MPropertyFriendlyName "head color scale" - CParticleCollectionVecInput m_vecHeadColorScale; // 0x2440 + CParticleCollectionVecInput m_vecHeadColorScale; // 0x2678 // MPropertyFriendlyName "head alpha scale" - CPerParticleFloatInput m_flHeadAlphaScale; // 0x2a08 + CPerParticleFloatInput m_flHeadAlphaScale; // 0x2c60 // MPropertyFriendlyName "tail taper scale" - CPerParticleFloatInput m_flRadiusTaper; // 0x2b40 + CPerParticleFloatInput m_flRadiusTaper; // 0x2da0 // MPropertyFriendlyName "tail color scale" - CParticleCollectionVecInput m_vecTailColorScale; // 0x2c78 + CParticleCollectionVecInput m_vecTailColorScale; // 0x2ee0 // MPropertyFriendlyName "tail alpha scale" - CPerParticleFloatInput m_flTailAlphaScale; // 0x3240 + CPerParticleFloatInput m_flTailAlphaScale; // 0x34c8 // MPropertyStartGroup "Trail UV Controls" // MPropertyFriendlyName "texture UV horizontal Scale field" // MPropertyAttributeChoiceName "particlefield_scalar" // MPropertySortPriority "800" - ParticleAttributeIndex_t m_nHorizCropField; // 0x3378 + ParticleAttributeIndex_t m_nHorizCropField; // 0x3608 // MPropertyFriendlyName "texture UV vertical Scale field" // MPropertyAttributeChoiceName "particlefield_scalar" - ParticleAttributeIndex_t m_nVertCropField; // 0x337c + ParticleAttributeIndex_t m_nVertCropField; // 0x360c // MPropertyFriendlyName "Trail forward shift (fraction)" - float m_flForwardShift; // 0x3380 + float m_flForwardShift; // 0x3610 // MPropertyFriendlyName "Flip U or V texcoords if pitch or yaw go over PI" - bool m_bFlipUVBasedOnPitchYaw; // 0x3384 + bool m_bFlipUVBasedOnPitchYaw; // 0x3614 }; // Alignment: 0 -// Size: 0x240 +// Size: 0x270 class C_INIT_RemapParticleCountToNamedModelMeshGroupScalar : public C_INIT_RemapParticleCountToNamedModelElementScalar { public: // No members available }; +// Alignment: 1 +// Size: 0x4 +struct PulseRuntimeVarIndex_t +{ +public: + int32_t m_Value; // 0x0 +}; + +// Alignment: 0 +// Size: 0x68 +class CPulseCell_Value_Expression : public CPulseCell_BaseValue +{ +public: + // No members available +}; + // Alignment: 8 -// Size: 0x6f0 +// Size: 0x730 class C_OP_RemapDotProductToCP : public CParticleFunctionPreEmission { public: // MPropertyFriendlyName "first input control point" - int32_t m_nInputCP1; // 0x200 + int32_t m_nInputCP1; // 0x220 // MPropertyFriendlyName "second input control point" - int32_t m_nInputCP2; // 0x204 + int32_t m_nInputCP2; // 0x224 // MPropertyFriendlyName "output control point" - int32_t m_nOutputCP; // 0x208 + int32_t m_nOutputCP; // 0x228 // MPropertyFriendlyName "output component" // MPropertyAttributeChoiceName "vector_component" - int32_t m_nOutVectorField; // 0x20c + int32_t m_nOutVectorField; // 0x22c // MPropertyFriendlyName "input minimum (-1 to 1)" - CParticleCollectionFloatInput m_flInputMin; // 0x210 + CParticleCollectionFloatInput m_flInputMin; // 0x230 // MPropertyFriendlyName "input maximum (-1 to 1)" - CParticleCollectionFloatInput m_flInputMax; // 0x348 + CParticleCollectionFloatInput m_flInputMax; // 0x370 // MPropertyFriendlyName "output minimum" - CParticleCollectionFloatInput m_flOutputMin; // 0x480 + CParticleCollectionFloatInput m_flOutputMin; // 0x4b0 // MPropertyFriendlyName "output maximum" - CParticleCollectionFloatInput m_flOutputMax; // 0x5b8 + CParticleCollectionFloatInput m_flOutputMax; // 0x5f0 }; // Alignment: 3 -// Size: 0x200 +// Size: 0x220 class C_OP_OrientTo2dDirection : public CParticleFunctionOperator { public: // MPropertyFriendlyName "rotation offset" - float m_flRotOffset; // 0x1f0 + float m_flRotOffset; // 0x210 // MPropertyFriendlyName "spin strength" - float m_flSpinStrength; // 0x1f4 + float m_flSpinStrength; // 0x214 // MPropertyFriendlyName "rotation field" // MPropertyAttributeChoiceName "particlefield_rotation" - ParticleAttributeIndex_t m_nFieldOutput; // 0x1f8 + ParticleAttributeIndex_t m_nFieldOutput; // 0x218 +}; + +// Alignment: 3 +// Size: 0x60 +class CPulse_Chunk +{ +public: + CUtlLeanVector< PGDInstruction_t > m_Instructions; // 0x0 + CUtlLeanVector< CPulse_RegisterInfo > m_Registers; // 0x10 + CUtlLeanVector< PulseDocNodeID_t > m_InstructionEditorIDs; // 0x20 }; // Alignment: 0 -// Size: 0x1f0 +// Size: 0x210 class C_OP_SpinUpdate : public CSpinUpdateBase { public: @@ -24586,277 +25224,285 @@ public: }; // Alignment: 27 -// Size: 0x26c0 +// Size: 0x2910 class C_OP_RenderSprites : public CBaseRendererSource2 { public: // MPropertyStartGroup "Animation" // MPropertyFriendlyName "sequence id override" // MPropertySortPriority "500" - CParticleCollectionFloatInput m_nSequenceOverride; // 0x2050 + CParticleCollectionRendererFloatInput m_nSequenceOverride; // 0x2270 // MPropertyStartGroup "Orientation" // MPropertyFriendlyName "orientation type" // MPropertySortPriority "750" - ParticleOrientationChoiceList_t m_nOrientationType; // 0x2188 + ParticleOrientationChoiceList_t m_nOrientationType; // 0x23b0 // MPropertyFriendlyName "orientation control point" // MPropertySortPriority "750" // MPropertySuppressExpr "m_nOrientationType != PARTICLE_ORIENTATION_ALIGN_TO_PARTICLE_NORMAL && m_nOrientationType != PARTICLE_ORIENTATION_SCREENALIGN_TO_PARTICLE_NORMAL" - int32_t m_nOrientationControlPoint; // 0x218c + int32_t m_nOrientationControlPoint; // 0x23b4 // MPropertyFriendlyName "enable yaw for particles aligned to normals" // MPropertySortPriority "750" // MPropertySuppressExpr "m_nOrientationType != PARTICLE_ORIENTATION_ALIGN_TO_PARTICLE_NORMAL && m_nOrientationType != PARTICLE_ORIENTATION_SCREENALIGN_TO_PARTICLE_NORMAL" - bool m_bUseYawWithNormalAligned; // 0x2190 + bool m_bUseYawWithNormalAligned; // 0x23b8 private: - [[maybe_unused]] uint8_t __pad2191[0x3]; // 0x2191 + [[maybe_unused]] uint8_t __pad23b9[0x3]; // 0x23b9 public: // MPropertyStartGroup "Fading and culling" // MPropertyFriendlyName "minimum visual screen size" // MPropertySortPriority "1000" - float m_flMinSize; // 0x2194 + float m_flMinSize; // 0x23bc // MPropertyFriendlyName "maximum visual screen size" // MPropertySortPriority "1000" - float m_flMaxSize; // 0x2198 + float m_flMaxSize; // 0x23c0 // MPropertyFriendlyName "Factor to map size adjustment to alpha" // MPropertySortPriority "1000" - float m_flAlphaAdjustWithSizeAdjust; // 0x219c + float m_flAlphaAdjustWithSizeAdjust; // 0x23c4 // MPropertyFriendlyName "screen size to start fading" // MPropertySortPriority "1000" - CParticleCollectionFloatInput m_flStartFadeSize; // 0x21a0 + CParticleCollectionRendererFloatInput m_flStartFadeSize; // 0x23c8 // MPropertyFriendlyName "screen size to fade away" // MPropertySortPriority "1000" - CParticleCollectionFloatInput m_flEndFadeSize; // 0x22d8 + CParticleCollectionRendererFloatInput m_flEndFadeSize; // 0x2508 // MPropertyFriendlyName "start fade dot product of normal vs view" // MPropertySortPriority "1000" - float m_flStartFadeDot; // 0x2410 + float m_flStartFadeDot; // 0x2648 // MPropertyFriendlyName "end fade dot product of normal vs view" // MPropertySortPriority "1000" - float m_flEndFadeDot; // 0x2414 + float m_flEndFadeDot; // 0x264c // MPropertyStartGroup "Distance to alpha coding" // MPropertyFriendlyName "distance alpha" // MPropertySortPriority "0" - bool m_bDistanceAlpha; // 0x2418 + bool m_bDistanceAlpha; // 0x2650 // MPropertyFriendlyName "use soft edges for distance alpha" // MPropertySortPriority "0" // MPropertySuppressExpr "!m_bDistanceAlpha" - bool m_bSoftEdges; // 0x2419 + bool m_bSoftEdges; // 0x2651 private: - [[maybe_unused]] uint8_t __pad241a[0x2]; // 0x241a + [[maybe_unused]] uint8_t __pad2652[0x2]; // 0x2652 public: // MPropertyFriendlyName "start value for soft edges for distance alpha" // MPropertySortPriority "0" // MPropertySuppressExpr "!m_bDistanceAlpha" - float m_flEdgeSoftnessStart; // 0x241c + float m_flEdgeSoftnessStart; // 0x2654 // MPropertyFriendlyName "end value for soft edges for distance alpha" // MPropertySortPriority "0" // MPropertySuppressExpr "!m_bDistanceAlpha" - float m_flEdgeSoftnessEnd; // 0x2420 + float m_flEdgeSoftnessEnd; // 0x2658 // MPropertyStartGroup "Outlining" // MPropertyFriendlyName "enable particle outlining" // MPropertySortPriority "0" - bool m_bOutline; // 0x2424 + bool m_bOutline; // 0x265c // MPropertyFriendlyName "outline color" // MPropertySortPriority "0" // MPropertySuppressExpr "!m_bOutline" - Color m_OutlineColor; // 0x2425 + Color m_OutlineColor; // 0x265d private: - [[maybe_unused]] uint8_t __pad2429[0x3]; // 0x2429 + [[maybe_unused]] uint8_t __pad2661[0x3]; // 0x2661 public: // MPropertyFriendlyName "outline alpha" // MPropertyAttributeRange "0 255" // MPropertySortPriority "0" // MPropertySuppressExpr "!m_bOutline" - int32_t m_nOutlineAlpha; // 0x242c + int32_t m_nOutlineAlpha; // 0x2664 // MPropertyFriendlyName "outline start 0" // MPropertySortPriority "0" // MPropertySuppressExpr "!m_bOutline" - float m_flOutlineStart0; // 0x2430 + float m_flOutlineStart0; // 0x2668 // MPropertyFriendlyName "outline start 1" // MPropertySortPriority "0" // MPropertySuppressExpr "!m_bOutline" - float m_flOutlineStart1; // 0x2434 + float m_flOutlineStart1; // 0x266c // MPropertyFriendlyName "outline end 0" // MPropertySortPriority "0" // MPropertySuppressExpr "!m_bOutline" - float m_flOutlineEnd0; // 0x2438 + float m_flOutlineEnd0; // 0x2670 // MPropertyFriendlyName "outline end 1" // MPropertySortPriority "0" // MPropertySuppressExpr "!m_bOutline" - float m_flOutlineEnd1; // 0x243c + float m_flOutlineEnd1; // 0x2674 // MPropertyStartGroup "Lighting and Shadows" // MPropertyFriendlyName "lighting mode" // MPropertySortPriority "400" // MPropertySuppressExpr "mod != hlx" - ParticleLightingQuality_t m_nLightingMode; // 0x2440 + ParticleLightingQuality_t m_nLightingMode; // 0x2678 private: - [[maybe_unused]] uint8_t __pad2444[0x4]; // 0x2444 + [[maybe_unused]] uint8_t __pad267c[0x4]; // 0x267c public: // MPropertyFriendlyName "vertex lighting tessellation (0-5)" // MPropertyAttributeRange "0 5" // MPropertySortPriority "400" // MPropertySuppressExpr "mod != hlx || m_nLightingMode != PARTICLE_LIGHTING_PER_VERTEX" - CParticleCollectionFloatInput m_flLightingTessellation; // 0x2448 + CParticleCollectionRendererFloatInput m_flLightingTessellation; // 0x2680 // MPropertyFriendlyName "lighting directionality" // MPropertySortPriority "400" // MPropertySuppressExpr "mod != hlx" - CParticleCollectionFloatInput m_flLightingDirectionality; // 0x2580 + CParticleCollectionRendererFloatInput m_flLightingDirectionality; // 0x27c0 // MPropertyFriendlyName "Particle Shadows" // MPropertySortPriority "400" - bool m_bParticleShadows; // 0x26b8 + bool m_bParticleShadows; // 0x2900 private: - [[maybe_unused]] uint8_t __pad26b9[0x3]; // 0x26b9 + [[maybe_unused]] uint8_t __pad2901[0x3]; // 0x2901 public: // MPropertyFriendlyName "Shadow Density" // MPropertySortPriority "400" // MPropertySuppressExpr "!m_bParticleShadows" - float m_flShadowDensity; // 0x26bc + float m_flShadowDensity; // 0x2904 }; // Alignment: 5 -// Size: 0x7e0 +// Size: 0x820 class C_OP_RemapExternalWindToCP : public CParticleFunctionPreEmission { public: // MPropertyFriendlyName "control point to sample wind" - int32_t m_nCP; // 0x200 + int32_t m_nCP; // 0x220 // MPropertyFriendlyName "output control point" - int32_t m_nCPOutput; // 0x204 + int32_t m_nCPOutput; // 0x224 // MPropertyFriendlyName "wind scale" - CParticleCollectionVecInput m_vecScale; // 0x208 + CParticleCollectionVecInput m_vecScale; // 0x228 // MPropertyFriendlyName "set magnitude instead of vector" - bool m_bSetMagnitude; // 0x7d0 + bool m_bSetMagnitude; // 0x810 private: - [[maybe_unused]] uint8_t __pad07d1[0x3]; // 0x7d1 + [[maybe_unused]] uint8_t __pad0811[0x3]; // 0x811 public: // MPropertyFriendlyName "magnitude output component" // MPropertyAttributeChoiceName "vector_component" // MPropertySuppressExpr "!m_bSetMagnitude" - int32_t m_nOutVectorField; // 0x7d4 + int32_t m_nOutVectorField; // 0x814 }; // Alignment: 11 -// Size: 0x230 +// Size: 0x250 class C_OP_TeleportBeam : public CParticleFunctionOperator { public: // MPropertyFriendlyName "Position Control Point" - int32_t m_nCPPosition; // 0x1f0 + int32_t m_nCPPosition; // 0x210 // MPropertyFriendlyName "Velocity Control Point" - int32_t m_nCPVelocity; // 0x1f4 + int32_t m_nCPVelocity; // 0x214 // MPropertyFriendlyName "Misc Control Point" - int32_t m_nCPMisc; // 0x1f8 + int32_t m_nCPMisc; // 0x218 // MPropertyFriendlyName "Color Control Point" - int32_t m_nCPColor; // 0x1fc + int32_t m_nCPColor; // 0x21c // MPropertyFriendlyName "Invalid Color Control Point" - int32_t m_nCPInvalidColor; // 0x200 + int32_t m_nCPInvalidColor; // 0x220 // MPropertyFriendlyName "Extra Arc Data Point" - int32_t m_nCPExtraArcData; // 0x204 + int32_t m_nCPExtraArcData; // 0x224 // MPropertyFriendlyName "Gravity" - Vector m_vGravity; // 0x208 + Vector m_vGravity; // 0x228 // MPropertyFriendlyName "Arc Duration Maximum" - float m_flArcMaxDuration; // 0x214 + float m_flArcMaxDuration; // 0x234 // MPropertyFriendlyName "Segment Break" - float m_flSegmentBreak; // 0x218 + float m_flSegmentBreak; // 0x238 // MPropertyFriendlyName "Arc Speed" - float m_flArcSpeed; // 0x21c + float m_flArcSpeed; // 0x23c // MPropertyFriendlyName "Alpha" - float m_flAlpha; // 0x220 + float m_flAlpha; // 0x240 }; // Alignment: 4 -// Size: 0x210 +// Size: 0x230 class C_OP_TwistAroundAxis : public CParticleFunctionForce { public: // MPropertyFriendlyName "amount of force" - float m_fForceAmount; // 0x1f0 + float m_fForceAmount; // 0x210 // MPropertyFriendlyName "twist axis" // MVectorIsCoordinate - Vector m_TwistAxis; // 0x1f4 + Vector m_TwistAxis; // 0x214 // MPropertyFriendlyName "object local space axis 0/1" - bool m_bLocalSpace; // 0x200 + bool m_bLocalSpace; // 0x220 private: - [[maybe_unused]] uint8_t __pad0201[0x3]; // 0x201 + [[maybe_unused]] uint8_t __pad0221[0x3]; // 0x221 public: // MPropertyFriendlyName "control point" - int32_t m_nControlPointNumber; // 0x204 + int32_t m_nControlPointNumber; // 0x224 }; // Alignment: 7 -// Size: 0x850 +// Size: 0x890 class C_OP_ModelDampenMovement : public CParticleFunctionOperator { public: // MPropertyFriendlyName "control point number" - int32_t m_nControlPointNumber; // 0x1f0 + int32_t m_nControlPointNumber; // 0x210 // MPropertyFriendlyName "use only bounding box" - bool m_bBoundBox; // 0x1f4 + bool m_bBoundBox; // 0x214 // MPropertyFriendlyName "dampen outside instead of inside" - bool m_bOutside; // 0x1f5 + bool m_bOutside; // 0x215 // MPropertyFriendlyName "use bones instead of hitboxes" - bool m_bUseBones; // 0x1f6 + bool m_bUseBones; // 0x216 // MPropertyFriendlyName "hitbox set" - char m_HitboxSetName[128]; // 0x1f7 + char m_HitboxSetName[128]; // 0x217 private: - [[maybe_unused]] uint8_t __pad0277[0x1]; // 0x277 + [[maybe_unused]] uint8_t __pad0297[0x1]; // 0x297 public: // MPropertyFriendlyName "test position offset" // MVectorIsCoordinate - CPerParticleVecInput m_vecPosOffset; // 0x278 + CPerParticleVecInput m_vecPosOffset; // 0x298 // MPropertyFriendlyName "drag" // MPropertyAttributeRange "-1 1" - float m_fDrag; // 0x840 + float m_fDrag; // 0x880 }; // Alignment: 7 -// Size: 0x1010 +// Size: 0x1090 class C_INIT_VelocityRandom : public CParticleFunctionInitializer { public: // MPropertyFriendlyName "control point number" - int32_t m_nControlPointNumber; // 0x1f0 + int32_t m_nControlPointNumber; // 0x220 private: - [[maybe_unused]] uint8_t __pad01f4[0x4]; // 0x1f4 + [[maybe_unused]] uint8_t __pad0224[0x4]; // 0x224 public: // MPropertyFriendlyName "random speed min" - CPerParticleFloatInput m_fSpeedMin; // 0x1f8 + CPerParticleFloatInput m_fSpeedMin; // 0x228 // MPropertyFriendlyName "random speed max" - CPerParticleFloatInput m_fSpeedMax; // 0x330 + CPerParticleFloatInput m_fSpeedMax; // 0x368 // MPropertyFriendlyName "speed in local coordinate system min" // MVectorIsCoordinate - CPerParticleVecInput m_LocalCoordinateSystemSpeedMin; // 0x468 + CPerParticleVecInput m_LocalCoordinateSystemSpeedMin; // 0x4a8 // MPropertyFriendlyName "speed in local coordinate system max" // MVectorIsCoordinate - CPerParticleVecInput m_LocalCoordinateSystemSpeedMax; // 0xa30 + CPerParticleVecInput m_LocalCoordinateSystemSpeedMax; // 0xa90 // MPropertyFriendlyName "Ignore delta time (RenderTrails)" - bool m_bIgnoreDT; // 0xff8 + bool m_bIgnoreDT; // 0x1078 private: - [[maybe_unused]] uint8_t __pad0ff9[0x3]; // 0xff9 + [[maybe_unused]] uint8_t __pad1079[0x3]; // 0x1079 public: // MPropertyFriendlyName "Random number generator controls" - CRandomNumberGeneratorParameters m_randomnessParameters; // 0xffc + CRandomNumberGeneratorParameters m_randomnessParameters; // 0x107c }; // Alignment: 4 -// Size: 0x210 +// Size: 0x230 class C_OP_PlaneCull : public CParticleFunctionOperator { public: // MPropertyFriendlyName "control point for point on plane" - int32_t m_nPlaneControlPoint; // 0x1f0 + int32_t m_nPlaneControlPoint; // 0x210 // MPropertyFriendlyName "plane normal" // MVectorIsCoordinate - Vector m_vecPlaneDirection; // 0x1f4 + Vector m_vecPlaneDirection; // 0x214 // MPropertyFriendlyName "use local space" - bool m_bLocalSpace; // 0x200 + bool m_bLocalSpace; // 0x220 private: - [[maybe_unused]] uint8_t __pad0201[0x3]; // 0x201 + [[maybe_unused]] uint8_t __pad0221[0x3]; // 0x221 public: // MPropertyFriendlyName "cull plane offset" - float m_flPlaneOffset; // 0x204 + float m_flPlaneOffset; // 0x224 +}; + +// Alignment: 1 +// Size: 0x4 +struct PulseRuntimeEntrypointIndex_t +{ +public: + int32_t m_Value; // 0x0 }; // Alignment: 0 -// Size: 0x220 +// Size: 0x250 class C_INIT_RandomNamedModelSequence : public C_INIT_RandomNamedModelElement { public: @@ -24864,31 +25510,63 @@ public: }; // Alignment: 8 -// Size: 0x210 +// Size: 0x230 class C_OP_RemapScalarOnceTimed : public CParticleFunctionOperator { public: // MPropertyFriendlyName "remap time proportional" - bool m_bProportional; // 0x1f0 + bool m_bProportional; // 0x210 private: - [[maybe_unused]] uint8_t __pad01f1[0x3]; // 0x1f1 + [[maybe_unused]] uint8_t __pad0211[0x3]; // 0x211 public: // MPropertyFriendlyName "input field" // MPropertyAttributeChoiceName "particlefield_scalar" - ParticleAttributeIndex_t m_nFieldInput; // 0x1f4 + ParticleAttributeIndex_t m_nFieldInput; // 0x214 // MPropertyFriendlyName "output field" // MPropertyAttributeChoiceName "particlefield_scalar" - ParticleAttributeIndex_t m_nFieldOutput; // 0x1f8 + ParticleAttributeIndex_t m_nFieldOutput; // 0x218 // MPropertyFriendlyName "input minimum" - float m_flInputMin; // 0x1fc + float m_flInputMin; // 0x21c // MPropertyFriendlyName "input maximum" - float m_flInputMax; // 0x200 + float m_flInputMax; // 0x220 // MPropertyFriendlyName "output minimum" - float m_flOutputMin; // 0x204 + float m_flOutputMin; // 0x224 // MPropertyFriendlyName "output maximum" - float m_flOutputMax; // 0x208 + float m_flOutputMax; // 0x228 // MPropertyFriendlyName "remap time" - float m_flRemapTime; // 0x20c + float m_flRemapTime; // 0x22c +}; + +// Alignment: 16 +// Size: 0x68 +struct PGDInstruction_t +{ +public: + PulseInstructionCode_t m_nCode; // 0x0 + PulseRuntimeVarIndex_t m_nVar; // 0x4 + PulseRuntimeRegisterIndex_t m_nReg0; // 0x8 + PulseRuntimeRegisterIndex_t m_nReg1; // 0xa + PulseRuntimeRegisterIndex_t m_nReg2; // 0xc +private: + [[maybe_unused]] uint8_t __pad000e[0x2]; // 0xe +public: + PulseRuntimeInvokeIndex_t m_nInvokeBindingIndex; // 0x10 + PulseRuntimeChunkIndex_t m_nChunk; // 0x14 + int32_t m_nDestInstruction; // 0x18 + PulseRuntimeLandingPadIndex_t m_nLandingPadIndex; // 0x1c + CUtlSymbolLarge m_Arg0Name; // 0x20 + CUtlSymbolLarge m_Arg1Name; // 0x28 + bool m_bLiteralBool; // 0x30 +private: + [[maybe_unused]] uint8_t __pad0031[0x3]; // 0x31 +public: + int32_t m_nLiteralInt; // 0x34 + float m_flLiteralFloat; // 0x38 +private: + [[maybe_unused]] uint8_t __pad003c[0x4]; // 0x3c +public: + CBufferString m_LiteralString; // 0x40 + Vector m_vLiteralVec3; // 0x50 }; // Alignment: 5 @@ -24912,160 +25590,160 @@ public: }; // Alignment: 10 -// Size: 0x1760 +// Size: 0x1810 class C_INIT_InitialVelocityNoise : public CParticleFunctionInitializer { public: // MPropertyFriendlyName "absolute value" // MVectorIsCoordinate - Vector m_vecAbsVal; // 0x1f0 + Vector m_vecAbsVal; // 0x220 // MPropertyFriendlyName "invert abs value" // MVectorIsCoordinate - Vector m_vecAbsValInv; // 0x1fc + Vector m_vecAbsValInv; // 0x22c // MPropertyFriendlyName "spatial coordinate offset" // MVectorIsCoordinate - CPerParticleVecInput m_vecOffsetLoc; // 0x208 + CPerParticleVecInput m_vecOffsetLoc; // 0x238 // MPropertyFriendlyName "time coordinate offset" - CPerParticleFloatInput m_flOffset; // 0x7d0 + CPerParticleFloatInput m_flOffset; // 0x820 // MPropertyFriendlyName "output minimum" - CPerParticleVecInput m_vecOutputMin; // 0x908 + CPerParticleVecInput m_vecOutputMin; // 0x960 // MPropertyFriendlyName "output maximum" - CPerParticleVecInput m_vecOutputMax; // 0xed0 + CPerParticleVecInput m_vecOutputMax; // 0xf48 // MPropertyFriendlyName "time noise coordinate scale" - CPerParticleFloatInput m_flNoiseScale; // 0x1498 + CPerParticleFloatInput m_flNoiseScale; // 0x1530 // MPropertyFriendlyName "spatial noise coordinate scale" - CPerParticleFloatInput m_flNoiseScaleLoc; // 0x15d0 + CPerParticleFloatInput m_flNoiseScaleLoc; // 0x1670 // MPropertyFriendlyName "input local space velocity (optional)" // MParticleTransformInputOptional - CParticleTransformInput m_TransformInput; // 0x1708 + CParticleTransformInput m_TransformInput; // 0x17b0 // MPropertyFriendlyName "ignore delta time" - bool m_bIgnoreDt; // 0x1758 + bool m_bIgnoreDt; // 0x1800 }; // Alignment: 4 -// Size: 0x220 +// Size: 0x250 class C_INIT_RandomVector : public CParticleFunctionInitializer { public: // MPropertyFriendlyName "min" // MVectorIsSometimesCoordinate - Vector m_vecMin; // 0x1f0 + Vector m_vecMin; // 0x220 // MPropertyFriendlyName "max" // MVectorIsSometimesCoordinate - Vector m_vecMax; // 0x1fc + Vector m_vecMax; // 0x22c // MPropertyFriendlyName "output field" // MPropertyAttributeChoiceName "particlefield_vector" - ParticleAttributeIndex_t m_nFieldOutput; // 0x208 + ParticleAttributeIndex_t m_nFieldOutput; // 0x238 // MPropertyFriendlyName "Random number generator controls" - CRandomNumberGeneratorParameters m_randomnessParameters; // 0x20c + CRandomNumberGeneratorParameters m_randomnessParameters; // 0x23c }; // Alignment: 5 -// Size: 0x480 +// Size: 0x4b0 class C_OP_ConstrainDistance : public CParticleFunctionConstraint { public: // MPropertyFriendlyName "minimum distance" - CParticleCollectionFloatInput m_fMinDistance; // 0x1f0 + CParticleCollectionFloatInput m_fMinDistance; // 0x210 // MPropertyFriendlyName "maximum distance" - CParticleCollectionFloatInput m_fMaxDistance; // 0x328 + CParticleCollectionFloatInput m_fMaxDistance; // 0x350 // MPropertyFriendlyName "control point number" - int32_t m_nControlPointNumber; // 0x460 + int32_t m_nControlPointNumber; // 0x490 // MPropertyFriendlyName "offset of center" // MVectorIsCoordinate - Vector m_CenterOffset; // 0x464 + Vector m_CenterOffset; // 0x494 // MPropertyFriendlyName "global center point" - bool m_bGlobalCenter; // 0x470 + bool m_bGlobalCenter; // 0x4a0 }; // Alignment: 8 -// Size: 0x2a0 +// Size: 0x2d0 class C_INIT_RtEnvCull : public CParticleFunctionInitializer { public: // MPropertyFriendlyName "test direction" // MVectorIsCoordinate - Vector m_vecTestDir; // 0x1f0 + Vector m_vecTestDir; // 0x220 // MPropertyFriendlyName "cull normal" // MVectorIsCoordinate - Vector m_vecTestNormal; // 0x1fc + Vector m_vecTestNormal; // 0x22c // MPropertyFriendlyName "use velocity for test direction" - bool m_bUseVelocity; // 0x208 + bool m_bUseVelocity; // 0x238 // MPropertyFriendlyName "cull on miss" - bool m_bCullOnMiss; // 0x209 + bool m_bCullOnMiss; // 0x239 // MPropertyFriendlyName "velocity test adjust lifespan" - bool m_bLifeAdjust; // 0x20a + bool m_bLifeAdjust; // 0x23a // MPropertyFriendlyName "ray trace environment name" - char m_RtEnvName[128]; // 0x20b + char m_RtEnvName[128]; // 0x23b private: - [[maybe_unused]] uint8_t __pad028b[0x1]; // 0x28b + [[maybe_unused]] uint8_t __pad02bb[0x1]; // 0x2bb public: // MPropertyFriendlyName "ray trace environment cp" - int32_t m_nRTEnvCP; // 0x28c + int32_t m_nRTEnvCP; // 0x2bc // MPropertyFriendlyName "rt env control point component" // MPropertyAttributeChoiceName "vector_component" - int32_t m_nComponent; // 0x290 + int32_t m_nComponent; // 0x2c0 }; // Alignment: 18 -// Size: 0x250 +// Size: 0x280 class C_INIT_StatusEffect : public CParticleFunctionInitializer { public: // MPropertyFriendlyName "D_DETAIL_2" - Detail2Combo_t m_nDetail2Combo; // 0x1f0 + Detail2Combo_t m_nDetail2Combo; // 0x220 // MPropertyFriendlyName "$DETAIL2ROTATION" - float m_flDetail2Rotation; // 0x1f4 + float m_flDetail2Rotation; // 0x224 // MPropertyFriendlyName "$DETAIL2SCALE" - float m_flDetail2Scale; // 0x1f8 + float m_flDetail2Scale; // 0x228 // MPropertyFriendlyName "$DETAIL2BLENDFACTOR" - float m_flDetail2BlendFactor; // 0x1fc + float m_flDetail2BlendFactor; // 0x22c // MPropertyFriendlyName "$COLORWARPINTENSITY" - float m_flColorWarpIntensity; // 0x200 + float m_flColorWarpIntensity; // 0x230 // MPropertyFriendlyName "$DIFFUSEWARPBLENDTOFULL" - float m_flDiffuseWarpBlendToFull; // 0x204 + float m_flDiffuseWarpBlendToFull; // 0x234 // MPropertyFriendlyName "$ENVMAPINTENSITY" - float m_flEnvMapIntensity; // 0x208 + float m_flEnvMapIntensity; // 0x238 // MPropertyFriendlyName "$AMBIENTSCALE" - float m_flAmbientScale; // 0x20c + float m_flAmbientScale; // 0x23c // MPropertyFriendlyName "$SPECULARCOLOR" - Color m_specularColor; // 0x210 + Color m_specularColor; // 0x240 // MPropertyFriendlyName "$SPECULARSCALE" - float m_flSpecularScale; // 0x214 + float m_flSpecularScale; // 0x244 // MPropertyFriendlyName "$SPECULAREXPONENT" - float m_flSpecularExponent; // 0x218 + float m_flSpecularExponent; // 0x248 // MPropertyFriendlyName "$SPECULAREXPONENTBLENDTOFULL" - float m_flSpecularExponentBlendToFull; // 0x21c + float m_flSpecularExponentBlendToFull; // 0x24c // MPropertyFriendlyName "$SPECULARBLENDTOFULL" - float m_flSpecularBlendToFull; // 0x220 + float m_flSpecularBlendToFull; // 0x250 // MPropertyFriendlyName "$RIMLIGHTCOLOR" - Color m_rimLightColor; // 0x224 + Color m_rimLightColor; // 0x254 // MPropertyFriendlyName "$RIMLIGHTSCALE" - float m_flRimLightScale; // 0x228 + float m_flRimLightScale; // 0x258 // MPropertyFriendlyName "$REFLECTIONSTINTBYBASEBLENDTONONE" - float m_flReflectionsTintByBaseBlendToNone; // 0x22c + float m_flReflectionsTintByBaseBlendToNone; // 0x25c // MPropertyFriendlyName "$METALNESSBLENDTOFULL" - float m_flMetalnessBlendToFull; // 0x230 + float m_flMetalnessBlendToFull; // 0x260 // MPropertyFriendlyName "$SELFILLUMBLENDTOFULL" - float m_flSelfIllumBlendToFull; // 0x234 + float m_flSelfIllumBlendToFull; // 0x264 }; // Alignment: 5 -// Size: 0x230 +// Size: 0x250 class C_OP_OscillateScalarSimple : public CParticleFunctionOperator { public: // MPropertyFriendlyName "oscillation rate" - float m_Rate; // 0x1f0 + float m_Rate; // 0x210 // MPropertyFriendlyName "oscillation frequency" - float m_Frequency; // 0x1f4 + float m_Frequency; // 0x214 // MPropertyFriendlyName "oscillation field" // MPropertyAttributeChoiceName "particlefield_scalar" - ParticleAttributeIndex_t m_nField; // 0x1f8 + ParticleAttributeIndex_t m_nField; // 0x218 // MPropertyFriendlyName "oscillation multiplier" - float m_flOscMult; // 0x1fc + float m_flOscMult; // 0x21c // MPropertyFriendlyName "oscillation start phase" - float m_flOscAdd; // 0x200 + float m_flOscAdd; // 0x220 }; // Alignment: 2 @@ -25078,331 +25756,556 @@ public: }; // Alignment: 2 -// Size: 0x330 +// Size: 0x360 class C_OP_PointVectorAtNextParticle : public CParticleFunctionOperator { public: // MPropertyFriendlyName "output field" // MPropertyAttributeChoiceName "particlefield_vector" - ParticleAttributeIndex_t m_nFieldOutput; // 0x1f0 + ParticleAttributeIndex_t m_nFieldOutput; // 0x210 private: - [[maybe_unused]] uint8_t __pad01f4[0x4]; // 0x1f4 + [[maybe_unused]] uint8_t __pad0214[0x4]; // 0x214 public: // MPropertyFriendlyName "Interpolation" - CPerParticleFloatInput m_flInterpolation; // 0x1f8 + CPerParticleFloatInput m_flInterpolation; // 0x218 }; // Alignment: 4 -// Size: 0x200 +// Size: 0x220 class C_OP_RemapCPVelocityToVector : public CParticleFunctionOperator { public: // MPropertyFriendlyName "control point" - int32_t m_nControlPoint; // 0x1f0 + int32_t m_nControlPoint; // 0x210 // MPropertyFriendlyName "output field" // MPropertyAttributeChoiceName "particlefield_vector" - ParticleAttributeIndex_t m_nFieldOutput; // 0x1f4 + ParticleAttributeIndex_t m_nFieldOutput; // 0x214 // MPropertyFriendlyName "scale factor" - float m_flScale; // 0x1f8 + float m_flScale; // 0x218 // MPropertyFriendlyName "normalize" - bool m_bNormalize; // 0x1fc + bool m_bNormalize; // 0x21c +}; + +// Alignment: 0 +// Size: 0x48 +class CPulseCell_Step_TestDomainDestroyFakeEntity : public CPulseCell_BaseFlow +{ +public: + // No members available }; // Alignment: 7 -// Size: 0x210 +// Size: 0x230 class C_OP_SetControlPointsToParticle : public CParticleFunctionOperator { public: // MPropertyFriendlyName "group ID to affect" - int32_t m_nChildGroupID; // 0x1f0 + int32_t m_nChildGroupID; // 0x210 // MPropertyFriendlyName "first control point to set" - int32_t m_nFirstControlPoint; // 0x1f4 + int32_t m_nFirstControlPoint; // 0x214 // MPropertyFriendlyName "# of control points to set" - int32_t m_nNumControlPoints; // 0x1f8 + int32_t m_nNumControlPoints; // 0x218 // MPropertyFriendlyName "first particle to copy" - int32_t m_nFirstSourcePoint; // 0x1fc + int32_t m_nFirstSourcePoint; // 0x21c // MPropertyFriendlyName "set orientation" - bool m_bSetOrientation; // 0x200 + bool m_bSetOrientation; // 0x220 private: - [[maybe_unused]] uint8_t __pad0201[0x3]; // 0x201 + [[maybe_unused]] uint8_t __pad0221[0x3]; // 0x221 public: // MPropertyFriendlyName "orientation style" - ParticleOrientationSetMode_t m_nOrientationMode; // 0x204 + ParticleOrientationSetMode_t m_nOrientationMode; // 0x224 // MPropertyFriendlyName "set parent" - ParticleParentSetMode_t m_nSetParent; // 0x208 + ParticleParentSetMode_t m_nSetParent; // 0x228 }; // Alignment: 10 -// Size: 0x260 +// Size: 0x290 class C_OP_RenderTreeShake : public CParticleFunctionRenderer { public: // MPropertyFriendlyName "peak strength" - float m_flPeakStrength; // 0x230 + float m_flPeakStrength; // 0x260 // MPropertyFriendlyName "peak strength field override" // MPropertyAttributeChoiceName "particlefield_scalar" - ParticleAttributeIndex_t m_nPeakStrengthFieldOverride; // 0x234 + ParticleAttributeIndex_t m_nPeakStrengthFieldOverride; // 0x264 // MPropertyFriendlyName "radius" - float m_flRadius; // 0x238 + float m_flRadius; // 0x268 // MPropertyFriendlyName "strength field override" // MPropertyAttributeChoiceName "particlefield_scalar" - ParticleAttributeIndex_t m_nRadiusFieldOverride; // 0x23c + ParticleAttributeIndex_t m_nRadiusFieldOverride; // 0x26c // MPropertyFriendlyName "shake duration after end" - float m_flShakeDuration; // 0x240 + float m_flShakeDuration; // 0x270 // MPropertyFriendlyName "amount of time taken to smooth between different shake parameters" - float m_flTransitionTime; // 0x244 + float m_flTransitionTime; // 0x274 // MPropertyFriendlyName "Twist amount (-1..1)" - float m_flTwistAmount; // 0x248 + float m_flTwistAmount; // 0x278 // MPropertyFriendlyName "Radial Amount (-1..1)" - float m_flRadialAmount; // 0x24c + float m_flRadialAmount; // 0x27c // MPropertyFriendlyName "Control Point Orientation Amount (-1..1)" - float m_flControlPointOrientationAmount; // 0x250 + float m_flControlPointOrientationAmount; // 0x280 // MPropertyFriendlyName "Control Point for Orientation Amount" - int32_t m_nControlPointForLinearDirection; // 0x254 + int32_t m_nControlPointForLinearDirection; // 0x284 }; // Alignment: 12 -// Size: 0x360 +// Size: 0x390 class C_OP_RenderSound : public CParticleFunctionRenderer { public: // MPropertyFriendlyName "duration scale" - float m_flDurationScale; // 0x230 + float m_flDurationScale; // 0x260 // MPropertyFriendlyName "decibel level scale" - float m_flSndLvlScale; // 0x234 + float m_flSndLvlScale; // 0x264 // MPropertyFriendlyName "pitch scale" - float m_flPitchScale; // 0x238 + float m_flPitchScale; // 0x268 // MPropertyFriendlyName "volume scale" - float m_flVolumeScale; // 0x23c + float m_flVolumeScale; // 0x26c // MPropertyFriendlyName "decibel level field" // MPropertyAttributeChoiceName "particlefield_scalar" - ParticleAttributeIndex_t m_nSndLvlField; // 0x240 + ParticleAttributeIndex_t m_nSndLvlField; // 0x270 // MPropertyFriendlyName "duration field" // MPropertyAttributeChoiceName "particlefield_scalar" - ParticleAttributeIndex_t m_nDurationField; // 0x244 + ParticleAttributeIndex_t m_nDurationField; // 0x274 // MPropertyFriendlyName "pitch field" // MPropertyAttributeChoiceName "particlefield_scalar" - ParticleAttributeIndex_t m_nPitchField; // 0x248 + ParticleAttributeIndex_t m_nPitchField; // 0x278 // MPropertyFriendlyName "volume field" // MPropertyAttributeChoiceName "particlefield_scalar" - ParticleAttributeIndex_t m_nVolumeField; // 0x24c + ParticleAttributeIndex_t m_nVolumeField; // 0x27c // MPropertyFriendlyName "sound channel" // MPropertyAttributeChoiceName "sound_channel" - int32_t m_nChannel; // 0x250 + int32_t m_nChannel; // 0x280 // MPropertyFriendlyName "sound control point number" - int32_t m_nCPReference; // 0x254 + int32_t m_nCPReference; // 0x284 // MPropertyFriendlyName "sound" // MPropertyAttributeEditor "SoundPicker()" - char m_pszSoundName[256]; // 0x258 + char m_pszSoundName[256]; // 0x288 // MPropertyFriendlyName "suppress stop event" - bool m_bSuppressStopSoundEvent; // 0x358 + bool m_bSuppressStopSoundEvent; // 0x388 }; // Alignment: 19 -// Size: 0x240 +// Size: 0x270 class C_INIT_StatusEffectCitadel : public CParticleFunctionInitializer { public: // MPropertyFriendlyName "$SFXColorWarpAmount" - float m_flSFXColorWarpAmount; // 0x1f0 + float m_flSFXColorWarpAmount; // 0x220 // MPropertyFriendlyName "$SFXNormalAmount" - float m_flSFXNormalAmount; // 0x1f4 + float m_flSFXNormalAmount; // 0x224 // MPropertyFriendlyName "$SFXMetalnessAmount" - float m_flSFXMetalnessAmount; // 0x1f8 + float m_flSFXMetalnessAmount; // 0x228 // MPropertyFriendlyName "$SFXRoughnessAmount" - float m_flSFXRoughnessAmount; // 0x1fc + float m_flSFXRoughnessAmount; // 0x22c // MPropertyFriendlyName "$SFXSelfIllumAmount" - float m_flSFXSelfIllumAmount; // 0x200 + float m_flSFXSelfIllumAmount; // 0x230 // MPropertyFriendlyName "$SFXTextureScale" - float m_flSFXSScale; // 0x204 + float m_flSFXSScale; // 0x234 // MPropertyFriendlyName "$SFXTextureScrollX" - float m_flSFXSScrollX; // 0x208 + float m_flSFXSScrollX; // 0x238 // MPropertyFriendlyName "$SFXTextureScrollY" - float m_flSFXSScrollY; // 0x20c + float m_flSFXSScrollY; // 0x23c // MPropertyFriendlyName "$SFXTextureScrollZ" - float m_flSFXSScrollZ; // 0x210 + float m_flSFXSScrollZ; // 0x240 // MPropertyFriendlyName "$SFXTextureOffsetX" - float m_flSFXSOffsetX; // 0x214 + float m_flSFXSOffsetX; // 0x244 // MPropertyFriendlyName "$SFXTextureOffsetY" - float m_flSFXSOffsetY; // 0x218 + float m_flSFXSOffsetY; // 0x248 // MPropertyFriendlyName "$SFXTextureOffsetZ" - float m_flSFXSOffsetZ; // 0x21c + float m_flSFXSOffsetZ; // 0x24c // MPropertyFriendlyName "D_DETAIL" - DetailCombo_t m_nDetailCombo; // 0x220 + DetailCombo_t m_nDetailCombo; // 0x250 // MPropertyFriendlyName "$SFXDetailAmount" - float m_flSFXSDetailAmount; // 0x224 + float m_flSFXSDetailAmount; // 0x254 // MPropertyFriendlyName "$SFXDetailTextureScale" - float m_flSFXSDetailScale; // 0x228 + float m_flSFXSDetailScale; // 0x258 // MPropertyFriendlyName "$SFXDetailTextureScrollX" - float m_flSFXSDetailScrollX; // 0x22c + float m_flSFXSDetailScrollX; // 0x25c // MPropertyFriendlyName "$SFXDetailTextureScrollY" - float m_flSFXSDetailScrollY; // 0x230 + float m_flSFXSDetailScrollY; // 0x260 // MPropertyFriendlyName "$SFXDetailTextureScrollZ" - float m_flSFXSDetailScrollZ; // 0x234 + float m_flSFXSDetailScrollZ; // 0x264 // MPropertyFriendlyName "$SFXUseModelUVs" - float m_flSFXSUseModelUVs; // 0x238 + float m_flSFXSUseModelUVs; // 0x268 +}; + +// Alignment: 0 +// Size: 0x48 +class CPulseCell_Val_TestDomainFindEntityByName : public CPulseCell_BaseValue +{ +public: + // No members available }; // Alignment: 30 -// Size: 0x2460 +// Size: 0x26a0 class C_OP_RenderRopes : public CBaseRendererSource2 { public: // MPropertyStartGroup "Screenspace Fading and culling" // MPropertyFriendlyName "enable fading and clamping" // MPropertySortPriority "1000" - bool m_bEnableFadingAndClamping; // 0x2050 + bool m_bEnableFadingAndClamping; // 0x2270 private: - [[maybe_unused]] uint8_t __pad2051[0x3]; // 0x2051 + [[maybe_unused]] uint8_t __pad2271[0x3]; // 0x2271 public: // MPropertyFriendlyName "minimum visual screen-size" // MPropertySuppressExpr "!m_bEnableFadingAndClamping" - float m_flMinSize; // 0x2054 + float m_flMinSize; // 0x2274 // MPropertyFriendlyName "maximum visual screen-size" // MPropertySuppressExpr "!m_bEnableFadingAndClamping" - float m_flMaxSize; // 0x2058 + float m_flMaxSize; // 0x2278 // MPropertyFriendlyName "start fade screen-size" // MPropertySuppressExpr "!m_bEnableFadingAndClamping" - float m_flStartFadeSize; // 0x205c + float m_flStartFadeSize; // 0x227c // MPropertyFriendlyName "end fade and cull screen-size" // MPropertySuppressExpr "!m_bEnableFadingAndClamping" - float m_flEndFadeSize; // 0x2060 + float m_flEndFadeSize; // 0x2280 // MPropertyFriendlyName "start fade dot product of normal vs view" // MPropertySortPriority "1000" - float m_flStartFadeDot; // 0x2064 + float m_flStartFadeDot; // 0x2284 // MPropertyFriendlyName "end fade dot product of normal vs view" // MPropertySortPriority "1000" - float m_flEndFadeDot; // 0x2068 + float m_flEndFadeDot; // 0x2288 // MPropertyStartGroup "Rope Tesselation" // MPropertyFriendlyName "amount to taper the width of the trail end by" - float m_flRadiusTaper; // 0x206c + float m_flRadiusTaper; // 0x228c // MPropertyFriendlyName "minium number of quads per render segment" // MPropertySortPriority "850" - int32_t m_nMinTesselation; // 0x2070 + int32_t m_nMinTesselation; // 0x2290 // MPropertyFriendlyName "maximum number of quads per render segment" - int32_t m_nMaxTesselation; // 0x2074 + int32_t m_nMaxTesselation; // 0x2294 // MPropertyFriendlyName "tesselation resolution scale factor" - float m_flTessScale; // 0x2078 + float m_flTessScale; // 0x2298 private: - [[maybe_unused]] uint8_t __pad207c[0x4]; // 0x207c + [[maybe_unused]] uint8_t __pad229c[0x4]; // 0x229c public: // MPropertyStartGroup "+Rope Global UV Controls" // MPropertyFriendlyName "global texture V World Size" // MPropertySortPriority "800" - CParticleCollectionFloatInput m_flTextureVWorldSize; // 0x2080 + CParticleCollectionRendererFloatInput m_flTextureVWorldSize; // 0x22a0 // MPropertyFriendlyName "global texture V Scroll Rate" - CParticleCollectionFloatInput m_flTextureVScrollRate; // 0x21b8 + CParticleCollectionRendererFloatInput m_flTextureVScrollRate; // 0x23e0 // MPropertyFriendlyName "global texture V Offset" - CParticleCollectionFloatInput m_flTextureVOffset; // 0x22f0 + CParticleCollectionRendererFloatInput m_flTextureVOffset; // 0x2520 // MPropertyFriendlyName "global texture V Params CP" - int32_t m_nTextureVParamsCP; // 0x2428 + int32_t m_nTextureVParamsCP; // 0x2660 // MPropertyFriendlyName "Clamp Non-Sheet texture V coords" - bool m_bClampV; // 0x242c + bool m_bClampV; // 0x2664 private: - [[maybe_unused]] uint8_t __pad242d[0x3]; // 0x242d + [[maybe_unused]] uint8_t __pad2665[0x3]; // 0x2665 public: // MPropertyStartGroup "Rope Global UV Controls/CP Scaling" // MPropertyFriendlyName "scale CP start" - int32_t m_nScaleCP1; // 0x2430 + int32_t m_nScaleCP1; // 0x2668 // MPropertyFriendlyName "scale CP end" - int32_t m_nScaleCP2; // 0x2434 + int32_t m_nScaleCP2; // 0x266c // MPropertyFriendlyName "scale V world size by CP distance" - float m_flScaleVSizeByControlPointDistance; // 0x2438 + float m_flScaleVSizeByControlPointDistance; // 0x2670 // MPropertyFriendlyName "scale V scroll rate by CP distance" - float m_flScaleVScrollByControlPointDistance; // 0x243c + float m_flScaleVScrollByControlPointDistance; // 0x2674 // MPropertyFriendlyName "scale V offset by CP distance" - float m_flScaleVOffsetByControlPointDistance; // 0x2440 + float m_flScaleVOffsetByControlPointDistance; // 0x2678 private: - [[maybe_unused]] uint8_t __pad2444[0x1]; // 0x2444 + [[maybe_unused]] uint8_t __pad267c[0x1]; // 0x267c public: // MPropertyStartGroup "Rope Global UV Controls" // MPropertyFriendlyName "Use scalar attribute for texture coordinate" - bool m_bUseScalarForTextureCoordinate; // 0x2445 + bool m_bUseScalarForTextureCoordinate; // 0x267d private: - [[maybe_unused]] uint8_t __pad2446[0x2]; // 0x2446 + [[maybe_unused]] uint8_t __pad267e[0x2]; // 0x267e public: // MPropertyFriendlyName "scalar to use for texture coordinate" // MPropertyAttributeChoiceName "particlefield_scalar" // MPropertySuppressExpr "!m_bUseScalarForTextureCoordinate" - ParticleAttributeIndex_t m_nScalarFieldForTextureCoordinate; // 0x2448 + ParticleAttributeIndex_t m_nScalarFieldForTextureCoordinate; // 0x2680 // MPropertyFriendlyName "scale value to map attribute to texture coordinate" // MPropertySuppressExpr "!m_bUseScalarForTextureCoordinate" - float m_flScalarAttributeTextureCoordScale; // 0x244c + float m_flScalarAttributeTextureCoordScale; // 0x2684 // MPropertyStartGroup "Rope Order Controls" // MPropertyFriendlyName "reverse point order" // MPropertySortPriority "800" - bool m_bReverseOrder; // 0x2450 + bool m_bReverseOrder; // 0x2688 // MPropertyFriendlyName "Closed loop" - bool m_bClosedLoop; // 0x2451 + bool m_bClosedLoop; // 0x2689 private: - [[maybe_unused]] uint8_t __pad2452[0x2]; // 0x2452 + [[maybe_unused]] uint8_t __pad268a[0x2]; // 0x268a public: // MPropertyStartGroup "Orientation" // MPropertyFriendlyName "orientation_type" // MPropertySortPriority "750" - ParticleOrientationChoiceList_t m_nOrientationType; // 0x2454 + ParticleOrientationChoiceList_t m_nOrientationType; // 0x268c // MPropertyFriendlyName "attribute to use for normal" // MPropertyAttributeChoiceName "particlefield_vector" // MPropertySortPriority "750" // MPropertySuppressExpr "m_nOrientationType != PARTICLE_ORIENTATION_ALIGN_TO_PARTICLE_NORMAL && m_nOrientationType != PARTICLE_ORIENTATION_SCREENALIGN_TO_PARTICLE_NORMAL" - ParticleAttributeIndex_t m_nVectorFieldForOrientation; // 0x2458 + ParticleAttributeIndex_t m_nVectorFieldForOrientation; // 0x2690 // MPropertyStartGroup "Material" // MPropertyFriendlyName "draw as opaque" - bool m_bDrawAsOpaque; // 0x245c + bool m_bDrawAsOpaque; // 0x2694 // MPropertyStartGroup "Orientation" // MPropertyFriendlyName "generate normals for cylinder" - bool m_bGenerateNormals; // 0x245d + bool m_bGenerateNormals; // 0x2695 }; // Alignment: 5 -// Size: 0xca0 +// Size: 0xd00 class C_OP_SpringToVectorConstraint : public CParticleFunctionConstraint { public: // MPropertyFriendlyName "slack" - CPerParticleFloatInput m_flRestLength; // 0x1f0 + CPerParticleFloatInput m_flRestLength; // 0x210 // MPropertyFriendlyName "minimum segment length %" - CPerParticleFloatInput m_flMinDistance; // 0x328 + CPerParticleFloatInput m_flMinDistance; // 0x350 // MPropertyFriendlyName "maximum segment length %" - CPerParticleFloatInput m_flMaxDistance; // 0x460 + CPerParticleFloatInput m_flMaxDistance; // 0x490 // MPropertyFriendlyName "resting spacing" - CPerParticleFloatInput m_flRestingLength; // 0x598 + CPerParticleFloatInput m_flRestingLength; // 0x5d0 // MPropertyFriendlyName "anchor vector" - CPerParticleVecInput m_vecAnchorVector; // 0x6d0 + CPerParticleVecInput m_vecAnchorVector; // 0x710 }; // Alignment: 2 -// Size: 0x200 +// Size: 0x220 class C_OP_FadeOutSimple : public CParticleFunctionOperator { public: // MPropertyFriendlyName "proportional fade out time" - float m_flFadeOutTime; // 0x1f0 + float m_flFadeOutTime; // 0x210 // MPropertyFriendlyName "alpha field" // MPropertyAttributeChoiceName "particlefield_alpha" - ParticleAttributeIndex_t m_nFieldOutput; // 0x1f4 + ParticleAttributeIndex_t m_nFieldOutput; // 0x214 }; -// Alignment: 7 -// Size: 0x220 -class C_OP_RemapModelVolumetoCP : public CParticleFunctionPreEmission +// Alignment: 1 +// Size: 0x50 +class CPulseCell_Step_PublicOutput : public CPulseCell_BaseFlow { public: - // MPropertyFriendlyName "input control point" - int32_t m_nInControlPointNumber; // 0x200 - // MPropertyFriendlyName "output control point" - int32_t m_nOutControlPointNumber; // 0x204 - // MPropertyFriendlyName "output CP component" + PulseRuntimeOutputIndex_t m_OutputIndex; // 0x48 +}; + +// Alignment: 6 +// Size: 0x820 +class C_OP_SetControlPointToCPVelocity : public CParticleFunctionPreEmission +{ +public: + // MPropertyFriendlyName "control point input" + int32_t m_nCPInput; // 0x220 + // MPropertyFriendlyName "control point number to set velocity" + int32_t m_nCPOutputVel; // 0x224 + // MPropertyFriendlyName "normalize output" + bool m_bNormalize; // 0x228 +private: + [[maybe_unused]] uint8_t __pad0229[0x3]; // 0x229 +public: + // MPropertyFriendlyName "control point number to set magnitude" + int32_t m_nCPOutputMag; // 0x22c + // MPropertyFriendlyName "control point field for magnitude" // MPropertyAttributeChoiceName "vector_component" - int32_t m_nField; // 0x208 - // MPropertyFriendlyName "input volume minimum in cubic units" - float m_flInputMin; // 0x20c - // MPropertyFriendlyName "input volume maximum in cubic units" - float m_flInputMax; // 0x210 - // MPropertyFriendlyName "output minimum" - float m_flOutputMin; // 0x214 - // MPropertyFriendlyName "output maximum" - float m_flOutputMax; // 0x218 + int32_t m_nCPField; // 0x230 +private: + [[maybe_unused]] uint8_t __pad0234[0x4]; // 0x234 +public: + // MPropertyFriendlyName "comparison velocity" + CParticleCollectionVecInput m_vecComparisonVelocity; // 0x238 +}; + +// Alignment: 48 +// Size: 0x22e0 +class C_OP_RenderModels : public CParticleFunctionRenderer +{ +public: + // MPropertyFriendlyName "Only Render in effects bloom pass" + // MPropertySortPriority "1100" + bool m_bOnlyRenderInEffectsBloomPass; // 0x260 + // MPropertyFriendlyName "Only Render in effects water pass" + // MPropertySortPriority "1050" + // MPropertySuppressExpr "mod != csgo" + bool m_bOnlyRenderInEffectsWaterPass; // 0x261 + // MPropertyFriendlyName "Use Mixed Resolution Rendering" + // MPropertySortPriority "1200" + bool m_bUseMixedResolutionRendering; // 0x262 + // MPropertyFriendlyName "Only Render in effects game overlay pass" + // MPropertySortPriority "1210" + // MPropertySuppressExpr "mod != csgo" + bool m_bOnlyRenderInEffecsGameOverlay; // 0x263 +private: + [[maybe_unused]] uint8_t __pad0264[0x4]; // 0x264 +public: + // MPropertyFriendlyName "models" + // MParticleRequireDefaultArrayEntry + // MPropertyAutoExpandSelf + // MPropertySortPriority "775" + CUtlVector< ModelReference_t > m_ModelList; // 0x268 +private: + [[maybe_unused]] uint8_t __pad0280[0x4]; // 0x280 +public: + // MPropertyFriendlyName "bodygroup field" + // MPropertyAttributeChoiceName "particlefield_scalar" + ParticleAttributeIndex_t m_nBodyGroupField; // 0x284 + // MPropertyFriendlyName "submodel field" + // MPropertyAttributeChoiceName "particlefield_scalar" + ParticleAttributeIndex_t m_nSubModelField; // 0x288 + // MPropertyStartGroup "Orientation" + // MPropertyFriendlyName "ignore normal" + // MPropertySortPriority "750" + bool m_bIgnoreNormal; // 0x28c + // MPropertyFriendlyName "orient model z to normal" + // MPropertySortPriority "750" + // MPropertySuppressExpr "m_bIgnoreNormal" + bool m_bOrientZ; // 0x28d + // MPropertyFriendlyName "center mesh" + // MPropertySortPriority "750" + bool m_bCenterOffset; // 0x28e +private: + [[maybe_unused]] uint8_t __pad028f[0x1]; // 0x28f +public: + // MPropertyFriendlyName "model local offset" + // MPropertySortPriority "750" + CPerParticleVecInput m_vecLocalOffset; // 0x290 + // MPropertyFriendlyName "model local rotation (pitch/yaw/roll)" + // MPropertySortPriority "750" + CPerParticleVecInput m_vecLocalRotation; // 0x878 + // MPropertyStartGroup "Model Scale" + // MPropertyFriendlyName "ignore radius" + // MPropertySortPriority "700" + bool m_bIgnoreRadius; // 0xe60 +private: + [[maybe_unused]] uint8_t __pad0e61[0x3]; // 0xe61 +public: + // MPropertyFriendlyName "model scale CP" + // MPropertySortPriority "700" + int32_t m_nModelScaleCP; // 0xe64 + // MPropertyFriendlyName "model component scale" + // MPropertySortPriority "700" + CPerParticleVecInput m_vecComponentScale; // 0xe68 + // MPropertyFriendlyName "apply scales in local model space" + // MPropertySortPriority "700" + bool m_bLocalScale; // 0x1450 + // MPropertyStartGroup "Animation" + // MPropertyFriendlyName "animated" + // MPropertySortPriority "500" + bool m_bAnimated; // 0x1451 +private: + [[maybe_unused]] uint8_t __pad1452[0x2]; // 0x1452 +public: + // MPropertyFriendlyName "animation rate" + // MPropertySortPriority "500" + // MPropertySuppressExpr "!m_bAnimated" + float m_flAnimationRate; // 0x1454 + // MPropertyFriendlyName "scale animation rate" + // MPropertySortPriority "500" + // MPropertySuppressExpr "!m_bAnimated" + bool m_bScaleAnimationRate; // 0x1458 + // MPropertyFriendlyName "force looping animations" + // MPropertySortPriority "500" + // MPropertySuppressExpr "!m_bAnimated" + bool m_bForceLoopingAnimation; // 0x1459 + // MPropertyFriendlyName "reset animation frame on stop" + // MPropertySortPriority "500" + // MPropertySuppressExpr "!m_bAnimated" + bool m_bResetAnimOnStop; // 0x145a + // MPropertyFriendlyName "set animation frame manually" + // MPropertySortPriority "500" + // MPropertySuppressExpr "!m_bAnimated" + bool m_bManualAnimFrame; // 0x145b + // MPropertyFriendlyName "animation rate scale field" + // MPropertyAttributeChoiceName "particlefield_scalar" + // MPropertySortPriority "500" + // MPropertySuppressExpr "!m_bAnimated" + ParticleAttributeIndex_t m_nAnimationScaleField; // 0x145c + // MPropertyStartGroup "Animation" + // MPropertyFriendlyName "animation sequence field" + // MPropertyAttributeChoiceName "particlefield_scalar" + // MPropertySortPriority "500" + ParticleAttributeIndex_t m_nAnimationField; // 0x1460 + // MPropertyFriendlyName "manual animation frame field" + // MPropertyAttributeChoiceName "particlefield_scalar" + // MPropertySortPriority "500" + // MPropertySuppressExpr "!(m_bAnimated && m_bManualAnimFrame)" + ParticleAttributeIndex_t m_nManualFrameField; // 0x1464 + // MPropertyFriendlyName "activity override" + // MPropertySuppressExpr "mod != dota" + // MPropertySortPriority "500" + char m_ActivityName[256]; // 0x1468 + // MPropertyFriendlyName "sequence override" + // MPropertySuppressExpr "mod == dota" + // MPropertySortPriority "500" + char m_SequenceName[256]; // 0x1568 + // MPropertyFriendlyName "Enable Cloth Simulation" + bool m_bEnableClothSimulation; // 0x1668 +private: + [[maybe_unused]] uint8_t __pad1669[0x7]; // 0x1669 +public: + // MPropertyStartGroup "Material" + // MPropertyFriendlyName "material override" + // MPropertySortPriority "600" + CStrongHandle< InfoForResourceTypeIMaterial2 > m_hOverrideMaterial; // 0x1670 + // MPropertyFriendlyName "override translucent materials" + // MPropertySortPriority "600" + bool m_bOverrideTranslucentMaterials; // 0x1678 +private: + [[maybe_unused]] uint8_t __pad1679[0x3]; // 0x1679 +public: + // MPropertyFriendlyName "skin number" + // MPropertySortPriority "600" + int32_t m_nSkin; // 0x167c + // MPropertyFriendlyName "skin override CP" + // MPropertySortPriority "600" + int32_t m_nSkinCP; // 0x1680 +private: + [[maybe_unused]] uint8_t __pad1684[0x4]; // 0x1684 +public: + // MPropertyFriendlyName "material variables" + // MPropertyAutoExpandSelf + // MPropertySortPriority "600" + CUtlVector< MaterialVariable_t > m_MaterialVars; // 0x1688 + // MPropertyStartGroup "Model Overrides" + // MPropertyFriendlyName "input model" + CParticleModelInput m_modelInput; // 0x16a0 + // MPropertyFriendlyName "model LOD" + int32_t m_nLOD; // 0x16e8 + // MPropertyFriendlyName "model override economy loadout slot type" + char m_EconSlotName[256]; // 0x16ec + // MPropertyFriendlyName "model override original model only (ignore shapeshift/hex/etc)" + bool m_bOriginalModel; // 0x17ec + // MPropertyFriendlyName "suppress tinting of the model" + bool m_bSuppressTint; // 0x17ed + // MPropertyFriendlyName "use raw mesh group (ignore bodygroup field and use submodel field as raw meshgroup)" + bool m_bUseRawMeshGroup; // 0x17ee + // MPropertyFriendlyName "disable shadows" + bool m_bDisableShadows; // 0x17ef + // MPropertyFriendlyName "forcedrawinterlevedwithsiblings" + bool m_bForceDrawInterlevedWithSiblings; // 0x17f0 + // MPropertyFriendlyName "render attribute" + char m_szRenderAttribute[260]; // 0x17f1 +private: + [[maybe_unused]] uint8_t __pad18f5[0x3]; // 0x18f5 +public: + // MPropertyStartGroup "+Renderer Modifiers" + // MPropertyFriendlyName "Radius Scale" + // MPropertySortPriority "700" + CParticleCollectionFloatInput m_flRadiusScale; // 0x18f8 + // MPropertyFriendlyName "alpha scale" + // MPropertySortPriority "700" + CParticleCollectionFloatInput m_flAlphaScale; // 0x1a38 + // MPropertyFriendlyName "rotation roll scale" + // MPropertySortPriority "700" + CParticleCollectionFloatInput m_flRollScale; // 0x1b78 + // MPropertyFriendlyName "per-particle alpha scale attribute" + // MPropertyAttributeChoiceName "particlefield_scalar" + // MPropertySortPriority "700" + ParticleAttributeIndex_t m_nAlpha2Field; // 0x1cb8 +private: + [[maybe_unused]] uint8_t __pad1cbc[0x4]; // 0x1cbc +public: + // MPropertyFriendlyName "color blend" + // MPropertySortPriority "700" + CParticleCollectionVecInput m_vecColorScale; // 0x1cc0 + // MPropertyFriendlyName "color blend type" + // MPropertySortPriority "700" + ParticleColorBlendType_t m_nColorBlendType; // 0x22a8 }; // Alignment: 1 @@ -25414,105 +26317,105 @@ public: }; // Alignment: 1 -// Size: 0x240 +// Size: 0x260 class C_OP_RemapTransformToVelocity : public CParticleFunctionOperator { public: // MPropertyFriendlyName "transform input" - CParticleTransformInput m_TransformInput; // 0x1f0 + CParticleTransformInput m_TransformInput; // 0x210 }; // Alignment: 8 -// Size: 0x220 +// Size: 0x240 class C_OP_RemapSpeedtoCP : public CParticleFunctionPreEmission { public: // MPropertyFriendlyName "input control point" - int32_t m_nInControlPointNumber; // 0x200 + int32_t m_nInControlPointNumber; // 0x220 // MPropertyFriendlyName "output control point" - int32_t m_nOutControlPointNumber; // 0x204 + int32_t m_nOutControlPointNumber; // 0x224 // MPropertyFriendlyName "Output field 0-2 X/Y/Z" // MPropertyAttributeChoiceName "vector_component" - int32_t m_nField; // 0x208 + int32_t m_nField; // 0x228 // MPropertyFriendlyName "input minimum" - float m_flInputMin; // 0x20c + float m_flInputMin; // 0x22c // MPropertyFriendlyName "input maximum" - float m_flInputMax; // 0x210 + float m_flInputMax; // 0x230 // MPropertyFriendlyName "output minimum" - float m_flOutputMin; // 0x214 + float m_flOutputMin; // 0x234 // MPropertyFriendlyName "output maximum" - float m_flOutputMax; // 0x218 + float m_flOutputMax; // 0x238 // MPropertyFriendlyName "use delta of velocity instead of constant speed" - bool m_bUseDeltaV; // 0x21c + bool m_bUseDeltaV; // 0x23c }; // Alignment: 16 -// Size: 0x840 +// Size: 0x890 class C_OP_RenderDeferredLight : public CParticleFunctionRenderer { public: // MPropertyFriendlyName "projected texture use alpha test window" // MPropertySuppressExpr "!m_bUseTexture" - bool m_bUseAlphaTestWindow; // 0x230 + bool m_bUseAlphaTestWindow; // 0x260 // MPropertyFriendlyName "projected texture light" - bool m_bUseTexture; // 0x231 + bool m_bUseTexture; // 0x261 private: - [[maybe_unused]] uint8_t __pad0232[0x2]; // 0x232 + [[maybe_unused]] uint8_t __pad0262[0x2]; // 0x262 public: // MPropertyStartGroup "+Renderer Modifiers" // MPropertyFriendlyName "radius scale" // MPropertySortPriority "700" - float m_flRadiusScale; // 0x234 + float m_flRadiusScale; // 0x264 // MPropertyFriendlyName "alpha scale" // MPropertySortPriority "700" - float m_flAlphaScale; // 0x238 + float m_flAlphaScale; // 0x268 // MPropertyFriendlyName "per-particle alpha scale attribute" // MPropertyAttributeChoiceName "particlefield_scalar" // MPropertySortPriority "700" - ParticleAttributeIndex_t m_nAlpha2Field; // 0x23c + ParticleAttributeIndex_t m_nAlpha2Field; // 0x26c // MPropertyFriendlyName "color blend" // MPropertySortPriority "700" - CParticleCollectionVecInput m_vecColorScale; // 0x240 + CParticleCollectionVecInput m_vecColorScale; // 0x270 // MPropertyFriendlyName "color blend type" // MPropertySortPriority "700" - ParticleColorBlendType_t m_nColorBlendType; // 0x808 + ParticleColorBlendType_t m_nColorBlendType; // 0x858 // MPropertyStartGroup // MPropertyFriendlyName "spotlight distance" - float m_flLightDistance; // 0x80c + float m_flLightDistance; // 0x85c // MPropertyFriendlyName "light start falloff" - float m_flStartFalloff; // 0x810 + float m_flStartFalloff; // 0x860 // MPropertyFriendlyName "spotlight distance falloff" - float m_flDistanceFalloff; // 0x814 + float m_flDistanceFalloff; // 0x864 // MPropertyFriendlyName "spotlight FoV" - float m_flSpotFoV; // 0x818 + float m_flSpotFoV; // 0x868 // MPropertyFriendlyName "projected texture alpha test point scale field" // MPropertyAttributeChoiceName "particlefield_scalar" // MPropertySuppressExpr "!m_bUseTexture" - ParticleAttributeIndex_t m_nAlphaTestPointField; // 0x81c + ParticleAttributeIndex_t m_nAlphaTestPointField; // 0x86c // MPropertyFriendlyName "projected texture alpha test range scale field" // MPropertyAttributeChoiceName "particlefield_scalar" // MPropertySuppressExpr "!m_bUseTexture" - ParticleAttributeIndex_t m_nAlphaTestRangeField; // 0x820 + ParticleAttributeIndex_t m_nAlphaTestRangeField; // 0x870 // MPropertyFriendlyName "projected texture alpha test sharpness scale field" // MPropertyAttributeChoiceName "particlefield_scalar" // MPropertySuppressExpr "!m_bUseTexture" - ParticleAttributeIndex_t m_nAlphaTestSharpnessField; // 0x824 + ParticleAttributeIndex_t m_nAlphaTestSharpnessField; // 0x874 // MPropertyFriendlyName "texture" // MPropertySuppressExpr "!m_bUseTexture" - CStrongHandle< InfoForResourceTypeCTextureBase > m_hTexture; // 0x828 + CStrongHandle< InfoForResourceTypeCTextureBase > m_hTexture; // 0x878 // MPropertyFriendlyName "HSV Shift Control Point" - int32_t m_nHSVShiftControlPoint; // 0x830 + int32_t m_nHSVShiftControlPoint; // 0x880 }; // Alignment: 2 -// Size: 0x200 +// Size: 0x220 class C_OP_Decay : public CParticleFunctionOperator { public: // MPropertyFriendlyName "Reduce rope popping on decay" - bool m_bRopeDecay; // 0x1f0 + bool m_bRopeDecay; // 0x210 // MPropertyFriendlyName "force preserving particle order" - bool m_bForcePreserveParticleOrder; // 0x1f1 + bool m_bForcePreserveParticleOrder; // 0x211 }; // Alignment: 2 @@ -25980,8 +26883,8 @@ public: int32_t m_pValue[2]; // 0x0 }; -// Alignment: 9 -// Size: 0x9 +// Alignment: 10 +// Size: 0xa struct HullFlags_t { public: @@ -25994,6 +26897,7 @@ public: bool m_bHull_Large; // 0x6 bool m_bHull_LargeCentered; // 0x7 bool m_bHull_MediumTall; // 0x8 + bool m_bHull_Small; // 0x9 }; // Alignment: 4 diff --git a/sdk/animationsystem.hpp b/sdk/animationsystem.hpp index ac797055..e29f88cc 100644 --- a/sdk/animationsystem.hpp +++ b/sdk/animationsystem.hpp @@ -4,7 +4,7 @@ // ///////////////////////////////////////////////////////////// // Binary: animationsystem.dll -// Classes count: 474 +// Classes count: 476 // Enums count: 77 // Created using source2gen - github.com/neverlosecc/source2gen // ///////////////////////////////////////////////////////////// @@ -290,7 +290,7 @@ enum class IKTargetCoordinateSystem : uint32_t }; // Alignment: 4 -// Size: 0x24 +// Size: 0x25 enum class AnimValueSource : uint32_t { MoveHeading = 0x0, @@ -301,34 +301,35 @@ enum class AnimValueSource : uint32_t ManualFacingHeading = 0x5, LookHeading = 0x6, LookPitch = 0x7, - Parameter = 0x8, - WayPointHeading = 0x9, - WayPointDistance = 0xa, - BoundaryRadius = 0xb, - TargetMoveHeading = 0xc, - TargetMoveSpeed = 0xd, - AccelerationHeading = 0xe, - AccelerationSpeed = 0xf, - SlopeHeading = 0x10, - SlopeAngle = 0x11, - SlopePitch = 0x12, - SlopeYaw = 0x13, - GoalDistance = 0x14, - AccelerationLeftRight = 0x15, - AccelerationFrontBack = 0x16, - RootMotionSpeed = 0x17, - RootMotionTurnSpeed = 0x18, - MoveHeadingRelativeToLookHeading = 0x19, - MaxMoveSpeed = 0x1a, - FingerCurl_Thumb = 0x1b, - FingerCurl_Index = 0x1c, - FingerCurl_Middle = 0x1d, - FingerCurl_Ring = 0x1e, - FingerCurl_Pinky = 0x1f, - FingerSplay_Thumb_Index = 0x20, - FingerSplay_Index_Middle = 0x21, - FingerSplay_Middle_Ring = 0x22, - FingerSplay_Ring_Pinky = 0x23, + LookDistance = 0x8, + Parameter = 0x9, + WayPointHeading = 0xa, + WayPointDistance = 0xb, + BoundaryRadius = 0xc, + TargetMoveHeading = 0xd, + TargetMoveSpeed = 0xe, + AccelerationHeading = 0xf, + AccelerationSpeed = 0x10, + SlopeHeading = 0x11, + SlopeAngle = 0x12, + SlopePitch = 0x13, + SlopeYaw = 0x14, + GoalDistance = 0x15, + AccelerationLeftRight = 0x16, + AccelerationFrontBack = 0x17, + RootMotionSpeed = 0x18, + RootMotionTurnSpeed = 0x19, + MoveHeadingRelativeToLookHeading = 0x1a, + MaxMoveSpeed = 0x1b, + FingerCurl_Thumb = 0x1c, + FingerCurl_Index = 0x1d, + FingerCurl_Middle = 0x1e, + FingerCurl_Ring = 0x1f, + FingerCurl_Pinky = 0x20, + FingerSplay_Thumb_Index = 0x21, + FingerSplay_Index_Middle = 0x22, + FingerSplay_Middle_Ring = 0x23, + FingerSplay_Ring_Pinky = 0x24, }; // Alignment: 4 @@ -368,7 +369,7 @@ enum class EAnimValueSource : uint32_t }; // Alignment: 4 -// Size: 0x28 +// Size: 0x29 enum class ControlValue : uint32_t { ControlValue_MoveHeading = 0x0, @@ -376,40 +377,41 @@ enum class ControlValue : uint32_t ControlValue_FacingHeading = 0x2, ControlValue_LookHeading = 0x3, ControlValue_LookPitch = 0x4, - ControlValue_WayPointHeading = 0x5, - ControlValue_WayPointDistance = 0x6, - ControlValue_BoundaryRadius = 0x7, - ControlValue_TotalTranslation_SourceState = 0x8, - ControlValue_TotalTranslation_TargetState = 0x9, - ControlValue_RemainingTranslation_SourceState = 0xa, - ControlValue_RemainingTranslation_TargetState = 0xb, - ControlValue_MoveVsFacingDelta = 0xc, - ControlValue_SourceStateBlendWeight = 0xd, - ControlValue_TargetStateBlendWeight = 0xe, - ControlValue_TargetMoveHeading = 0xf, - ControlValue_TargetMoveSpeed = 0x10, - ControlValue_AccelerationHeading = 0x11, - ControlValue_AccelerationSpeed = 0x12, - ControlValue_SlopeHeading = 0x13, - ControlValue_SlopeAngle = 0x14, - ControlValue_SlopeYaw = 0x15, - ControlValue_SlopePitch = 0x16, - ControlValue_GoalDistance = 0x17, - ControlValue_AccelerationLeftRight = 0x18, - ControlValue_AccelerationFrontBack = 0x19, - ControlValue_RootMotionSpeed = 0x1a, - ControlValue_RootMotionTurnSpeed = 0x1b, - ControlValue_MoveHeadingRelativeToLookHeading = 0x1c, - ControlValue_FingerCurl_Thumb = 0x1d, - ControlValue_FingerCurl_Index = 0x1e, - ControlValue_FingerCurl_Middle = 0x1f, - ControlValue_FingerCurl_Ring = 0x20, - ControlValue_FingerCurl_Pinky = 0x21, - ControlValue_FingerSplay_Thumb_Index = 0x22, - ControlValue_FingerSplay_Index_Middle = 0x23, - ControlValue_FingerSplay_Middle_Ring = 0x24, - ControlValue_FingerSplay_Ring_Pinky = 0x25, - ControlValue_Count = 0x26, + ControlValue_LookDistance = 0x5, + ControlValue_WayPointHeading = 0x6, + ControlValue_WayPointDistance = 0x7, + ControlValue_BoundaryRadius = 0x8, + ControlValue_TotalTranslation_SourceState = 0x9, + ControlValue_TotalTranslation_TargetState = 0xa, + ControlValue_RemainingTranslation_SourceState = 0xb, + ControlValue_RemainingTranslation_TargetState = 0xc, + ControlValue_MoveVsFacingDelta = 0xd, + ControlValue_SourceStateBlendWeight = 0xe, + ControlValue_TargetStateBlendWeight = 0xf, + ControlValue_TargetMoveHeading = 0x10, + ControlValue_TargetMoveSpeed = 0x11, + ControlValue_AccelerationHeading = 0x12, + ControlValue_AccelerationSpeed = 0x13, + ControlValue_SlopeHeading = 0x14, + ControlValue_SlopeAngle = 0x15, + ControlValue_SlopeYaw = 0x16, + ControlValue_SlopePitch = 0x17, + ControlValue_GoalDistance = 0x18, + ControlValue_AccelerationLeftRight = 0x19, + ControlValue_AccelerationFrontBack = 0x1a, + ControlValue_RootMotionSpeed = 0x1b, + ControlValue_RootMotionTurnSpeed = 0x1c, + ControlValue_MoveHeadingRelativeToLookHeading = 0x1d, + ControlValue_FingerCurl_Thumb = 0x1e, + ControlValue_FingerCurl_Index = 0x1f, + ControlValue_FingerCurl_Middle = 0x20, + ControlValue_FingerCurl_Ring = 0x21, + ControlValue_FingerCurl_Pinky = 0x22, + ControlValue_FingerSplay_Thumb_Index = 0x23, + ControlValue_FingerSplay_Index_Middle = 0x24, + ControlValue_FingerSplay_Middle_Ring = 0x25, + ControlValue_FingerSplay_Ring_Pinky = 0x26, + ControlValue_Count = 0x27, ControlValue_Invalid = 0xff, }; @@ -1461,14 +1463,18 @@ public: CUtlVector< CUtlPair< CBufferString, float32 > > m_morphCtrlWeightArray; // 0x48 }; -// Alignment: 3 -// Size: 0x40 +// Alignment: 4 +// Size: 0x48 class CSeqScaleSet { public: CBufferString m_sName; // 0x0 - CUtlVector< int16 > m_nLocalBoneArray; // 0x10 - CUtlVector< float32 > m_flBoneScaleArray; // 0x28 + float m_flRootOffsetScale; // 0x10 +private: + [[maybe_unused]] uint8_t __pad0014[0x4]; // 0x14 +public: + CUtlVector< int16 > m_nLocalBoneArray; // 0x18 + CUtlVector< float32 > m_flBoneScaleArray; // 0x30 }; // Alignment: 6 @@ -1699,67 +1705,69 @@ public: int32_t m_Value; // 0x0 }; -// Alignment: 1 -// Size: 0x10 +// Alignment: 3 +// Size: 0x40 class CAnimationGraphVisualizerPrimitiveBase { private: [[maybe_unused]] uint8_t __pad0000[0x8]; // 0x0 public: CAnimationGraphVisualizerPrimitiveType m_Type; // 0x8 + AnimNodeID m_OwningAnimNodePaths[11]; // 0xc + int32_t m_nOwningAnimNodePathCount; // 0x38 }; // Alignment: 3 -// Size: 0x30 +// Size: 0x60 class CAnimationGraphVisualizerText : public CAnimationGraphVisualizerPrimitiveBase { public: - VectorAligned m_vWsPosition; // 0x10 - Color m_Color; // 0x20 + VectorAligned m_vWsPosition; // 0x40 + Color m_Color; // 0x50 private: - [[maybe_unused]] uint8_t __pad0024[0x4]; // 0x24 + [[maybe_unused]] uint8_t __pad0054[0x4]; // 0x54 public: - CUtlString m_Text; // 0x28 + CUtlString m_Text; // 0x58 }; // Alignment: 3 -// Size: 0x30 +// Size: 0x60 class CAnimationGraphVisualizerSphere : public CAnimationGraphVisualizerPrimitiveBase { public: - VectorAligned m_vWsPosition; // 0x10 - float m_flRadius; // 0x20 - Color m_Color; // 0x24 + VectorAligned m_vWsPosition; // 0x40 + float m_flRadius; // 0x50 + Color m_Color; // 0x54 }; // Alignment: 3 -// Size: 0x40 +// Size: 0x70 class CAnimationGraphVisualizerLine : public CAnimationGraphVisualizerPrimitiveBase { public: - VectorAligned m_vWsPositionStart; // 0x10 - VectorAligned m_vWsPositionEnd; // 0x20 - Color m_Color; // 0x30 + VectorAligned m_vWsPositionStart; // 0x40 + VectorAligned m_vWsPositionEnd; // 0x50 + Color m_Color; // 0x60 }; // Alignment: 4 -// Size: 0x50 +// Size: 0x80 class CAnimationGraphVisualizerPie : public CAnimationGraphVisualizerPrimitiveBase { public: - VectorAligned m_vWsCenter; // 0x10 - VectorAligned m_vWsStart; // 0x20 - VectorAligned m_vWsEnd; // 0x30 - Color m_Color; // 0x40 + VectorAligned m_vWsCenter; // 0x40 + VectorAligned m_vWsStart; // 0x50 + VectorAligned m_vWsEnd; // 0x60 + Color m_Color; // 0x70 }; // Alignment: 2 -// Size: 0x40 +// Size: 0x70 class CAnimationGraphVisualizerAxis : public CAnimationGraphVisualizerPrimitiveBase { public: - CTransform m_xWsTransform; // 0x10 - float m_flAxisSize; // 0x30 + CTransform m_xWsTransform; // 0x40 + float m_flAxisSize; // 0x60 }; // Alignment: 1 @@ -2251,6 +2259,17 @@ public: CUtlString m_sName; // 0x50 }; +// Alignment: 1 +// Size: 0x58 +class CCPPScriptComponent : public CAnimComponentBase +{ +private: + [[maybe_unused]] uint8_t __pad0038[0x8]; // 0x38 +public: + // MPropertyFriendlyName "Scripts" + CUtlVector< CUtlString > m_scriptsToRun; // 0x40 +}; + // Alignment: 6 // Size: 0x28 class CDampedValueItem @@ -2344,7 +2363,7 @@ public: int32_t m_nServerLOD; // 0x38 }; -// Alignment: 7 +// Alignment: 8 // Size: 0x60 class CLookComponent : public CAnimComponentBase { @@ -2363,11 +2382,13 @@ public: // MPropertyHideField AnimParamID m_lookPitchID; // 0x4c // MPropertyHideField - AnimParamID m_lookDirectionID; // 0x50 + AnimParamID m_lookDistanceID; // 0x50 // MPropertyHideField - AnimParamID m_lookTargetID; // 0x54 + AnimParamID m_lookDirectionID; // 0x54 // MPropertyHideField - AnimParamID m_lookTargetWorldSpaceID; // 0x58 + AnimParamID m_lookTargetID; // 0x58 + // MPropertyHideField + AnimParamID m_lookTargetWorldSpaceID; // 0x5c }; // Alignment: 2 @@ -5516,7 +5537,7 @@ public: CAnimParamHandle m_paramHandles[30]; // 0x83 }; -// Alignment: 7 +// Alignment: 8 // Size: 0x48 class CLookComponentUpdater : public CAnimComponentUpdater { @@ -5526,10 +5547,11 @@ public: CAnimParamHandle m_hLookHeading; // 0x34 CAnimParamHandle m_hLookHeadingVelocity; // 0x36 CAnimParamHandle m_hLookPitch; // 0x38 - CAnimParamHandle m_hLookDirection; // 0x3a - CAnimParamHandle m_hLookTarget; // 0x3c - CAnimParamHandle m_hLookTargetWorldSpace; // 0x3e - bool m_bNetworkLookTarget; // 0x40 + CAnimParamHandle m_hLookDistance; // 0x3a + CAnimParamHandle m_hLookDirection; // 0x3c + CAnimParamHandle m_hLookTarget; // 0x3e + CAnimParamHandle m_hLookTargetWorldSpace; // 0x40 + bool m_bNetworkLookTarget; // 0x42 }; // Alignment: 7 @@ -5699,7 +5721,7 @@ public: private: [[maybe_unused]] uint8_t __pad0129[0x7]; // 0x129 public: - VectorAligned m_vFallbackHingeAxis; // 0x130 + VectorAligned m_vLsFallbackHingeAxis; // 0x130 int32_t m_nFixedBoneIndex; // 0x140 int32_t m_nMiddleBoneIndex; // 0x144 int32_t m_nEndBoneIndex; // 0x148 @@ -7802,6 +7824,15 @@ public: CUtlVector< CSmartPtr< CAnimActionUpdater > > m_actions; // 0x30 }; +// Alignment: 1 +// Size: 0xb8 +class CCPPScriptComponentUpdater : public CAnimComponentUpdater +{ +public: + // MPropertyFriendlyName "Scripts" + CUtlVector< CUtlString > m_scriptsToRun; // 0x30 +}; + // Alignment: 1 // Size: 0x48 class CDampedValueComponentUpdater : public CAnimComponentUpdater diff --git a/sdk/client.hpp b/sdk/client.hpp index df3501d2..a94e3507 100644 --- a/sdk/client.hpp +++ b/sdk/client.hpp @@ -669,14 +669,15 @@ public: static int32_t &Get_entity_component_error_class_decl_says_contained_but_impl_is_referenced(){return *reinterpret_cast(interfaces::g_schema->FindTypeScopeForModule("client.dll")->FindDeclaredClass("CRenderComponent")->m_static_fields[1]->m_instance);}; }; -// Alignment: 1 -// Size: 0x20 +// Alignment: 2 +// Size: 0x48 class CBuoyancyHelper { private: [[maybe_unused]] uint8_t __pad0000[0x18]; // 0x0 public: float m_flFluidDensity; // 0x18 + float m_flDisplacementFromObjects; // 0x1c }; // Alignment: 2 @@ -6176,13 +6177,13 @@ public: }; // Alignment: 2 -// Size: 0x868 +// Size: 0x890 class C_TriggerBuoyancy : public C_BaseTrigger { public: CBuoyancyHelper m_BuoyancyHelper; // 0x840 // MNetworkEnable - float m_flFluidDensity; // 0x860 + float m_flFluidDensity; // 0x888 }; // Alignment: 13 @@ -8993,8 +8994,8 @@ public: float m_flFieldOfView; // 0xb54 }; -// Alignment: 23 -// Size: 0xce8 +// Alignment: 26 +// Size: 0xd00 class C_BasePlayerPawn : public C_BaseCombatCharacter { public: @@ -9020,27 +9021,43 @@ public: private: [[maybe_unused]] uint8_t __pad0c00[0x8]; // 0xc00 public: - QAngle v_angle; // 0xc08 // MNetworkEnable // MNetworkUserGroup "LocalPlayerExclusive" - uint32_t m_iHideHUD; // 0xc14 + FixAngleSet_t m_fixAngleChangeType; // 0xc08 +private: + [[maybe_unused]] uint8_t __pad0c09[0x3]; // 0xc09 +public: // MNetworkEnable // MNetworkUserGroup "LocalPlayerExclusive" - sky3dparams_t m_skybox3d; // 0xc18 + QAngle m_fixAngleChangeAngle; // 0xc0c // MNetworkEnable - GameTime_t m_flDeathTime; // 0xca8 - Vector m_vecPredictionError; // 0xcac - GameTime_t m_flPredictionErrorTime; // 0xcb8 - float m_flFOVSensitivityAdjust; // 0xcbc - float m_flMouseSensitivity; // 0xcc0 - Vector m_vOldOrigin; // 0xcc4 - float m_flOldSimulationTime; // 0xcd0 - int32_t m_nLastExecutedCommandNumber; // 0xcd4 - int32_t m_nLastExecutedCommandTick; // 0xcd8 + // MNetworkUserGroup "LocalPlayerExclusive" + // MNetworkChangeCallback "OnServerAngleChange" + int32_t m_fixAngleChangeTick; // 0xc18 + QAngle v_angle; // 0xc1c + // MNetworkEnable + // MNetworkUserGroup "LocalPlayerExclusive" + uint32_t m_iHideHUD; // 0xc28 +private: + [[maybe_unused]] uint8_t __pad0c2c[0x4]; // 0xc2c +public: + // MNetworkEnable + // MNetworkUserGroup "LocalPlayerExclusive" + sky3dparams_t m_skybox3d; // 0xc30 + // MNetworkEnable + GameTime_t m_flDeathTime; // 0xcc0 + Vector m_vecPredictionError; // 0xcc4 + GameTime_t m_flPredictionErrorTime; // 0xcd0 + float m_flFOVSensitivityAdjust; // 0xcd4 + float m_flMouseSensitivity; // 0xcd8 + Vector m_vOldOrigin; // 0xcdc + float m_flOldSimulationTime; // 0xce8 + int32_t m_nLastExecutedCommandNumber; // 0xcec + int32_t m_nLastExecutedCommandTick; // 0xcf0 // MNetworkEnable // MNetworkChangeCallback "OnControllerChanged" - CHandle< CBasePlayerController > m_hController; // 0xcdc - bool m_bIsSwappingToPredictableController; // 0xce0 + CHandle< CBasePlayerController > m_hController; // 0xcf4 + bool m_bIsSwappingToPredictableController; // 0xcf8 }; // Alignment: 0 @@ -9576,512 +9593,516 @@ public: // No members available }; -// Alignment: 187 -// Size: 0x12a0 +// Alignment: 189 +// Size: 0x12b8 class C_CSPlayerPawnBase : public C_BasePlayerPawn { private: - [[maybe_unused]] uint8_t __pad0ce8[0x18]; // 0xce8 + [[maybe_unused]] uint8_t __pad0d00[0x18]; // 0xd00 public: // MNetworkEnable - CCSPlayer_ActionTrackingServices* m_pActionTrackingServices; // 0xd00 + CCSPlayer_ActionTrackingServices* m_pActionTrackingServices; // 0xd18 // MNetworkEnable - CCSPlayer_PingServices* m_pPingServices; // 0xd08 + CCSPlayer_PingServices* m_pPingServices; // 0xd20 // MNetworkEnable - CCSPlayer_ViewModelServices* m_pViewModelServices; // 0xd10 - float m_fRenderingClipPlane[4]; // 0xd18 - int32_t m_nLastClipPlaneSetupFrame; // 0xd28 - Vector m_vecLastClipCameraPos; // 0xd2c - Vector m_vecLastClipCameraForward; // 0xd38 - bool m_bClipHitStaticWorld; // 0xd44 - bool m_bCachedPlaneIsValid; // 0xd45 + CCSPlayer_ViewModelServices* m_pViewModelServices; // 0xd28 + float m_fRenderingClipPlane[4]; // 0xd30 + int32_t m_nLastClipPlaneSetupFrame; // 0xd40 + Vector m_vecLastClipCameraPos; // 0xd44 + Vector m_vecLastClipCameraForward; // 0xd50 + bool m_bClipHitStaticWorld; // 0xd5c + bool m_bCachedPlaneIsValid; // 0xd5d private: - [[maybe_unused]] uint8_t __pad0d46[0x2]; // 0xd46 + [[maybe_unused]] uint8_t __pad0d5e[0x2]; // 0xd5e public: - C_WeaponCSBase* m_pClippingWeapon; // 0xd48 - CSPlayerState m_previousPlayerState; // 0xd50 - float m_flLastCollisionCeiling; // 0xd54 - float m_flLastCollisionCeilingChangeTime; // 0xd58 + C_WeaponCSBase* m_pClippingWeapon; // 0xd60 + // MNetworkEnable + bool m_bHasFemaleVoice; // 0xd68 private: - [[maybe_unused]] uint8_t __pad0d5c[0x5c]; // 0xd5c + [[maybe_unused]] uint8_t __pad0d69[0x3]; // 0xd69 public: - bool m_bInLanding; // 0xdb8 + CSPlayerState m_previousPlayerState; // 0xd6c + float m_flLastCollisionCeiling; // 0xd70 + float m_flLastCollisionCeilingChangeTime; // 0xd74 private: - [[maybe_unused]] uint8_t __pad0db9[0x3]; // 0xdb9 + [[maybe_unused]] uint8_t __pad0d78[0x58]; // 0xd78 public: - float m_flLandingTime; // 0xdbc - GameTime_t m_grenadeParameterStashTime; // 0xdc0 - bool m_bGrenadeParametersStashed; // 0xdc4 + bool m_bInLanding; // 0xdd0 private: - [[maybe_unused]] uint8_t __pad0dc5[0x3]; // 0xdc5 + [[maybe_unused]] uint8_t __pad0dd1[0x3]; // 0xdd1 public: - QAngle m_angStashedShootAngles; // 0xdc8 - Vector m_vecStashedGrenadeThrowPosition; // 0xdd4 - Vector m_vecStashedVelocity; // 0xde0 - QAngle m_angShootAngleHistory[2]; // 0xdec - Vector m_vecThrowPositionHistory[2]; // 0xe04 - Vector m_vecVelocityHistory[2]; // 0xe1c + float m_flLandingTime; // 0xdd4 + GameTime_t m_grenadeParameterStashTime; // 0xdd8 + bool m_bGrenadeParametersStashed; // 0xddc private: - [[maybe_unused]] uint8_t __pad0e34[0x4]; // 0xe34 + [[maybe_unused]] uint8_t __pad0ddd[0x3]; // 0xddd +public: + QAngle m_angStashedShootAngles; // 0xde0 + Vector m_vecStashedGrenadeThrowPosition; // 0xdec + Vector m_vecStashedVelocity; // 0xdf8 + QAngle m_angShootAngleHistory[2]; // 0xe04 + Vector m_vecThrowPositionHistory[2]; // 0xe1c + Vector m_vecVelocityHistory[2]; // 0xe34 +private: + [[maybe_unused]] uint8_t __pad0e4c[0x4]; // 0xe4c public: // MNetworkEnable // MNetworkBitCount "32" // MNetworkEncoder // MNetworkChangeCallback "OnThirdPersonHeadingChanged" // MNetworkPriority "32" - QAngle m_thirdPersonHeading; // 0xe38 + QAngle m_thirdPersonHeading; // 0xe50 private: - [[maybe_unused]] uint8_t __pad0e44[0xc]; // 0xe44 + [[maybe_unused]] uint8_t __pad0e5c[0xc]; // 0xe5c public: // MNetworkEnable // MNetworkChangeCallback "OnSlopeDropOffsetChanged" // MNetworkPriority "32" - float m_flSlopeDropOffset; // 0xe50 + float m_flSlopeDropOffset; // 0xe68 private: - [[maybe_unused]] uint8_t __pad0e54[0xc]; // 0xe54 + [[maybe_unused]] uint8_t __pad0e6c[0xc]; // 0xe6c public: // MNetworkEnable // MNetworkChangeCallback "OnSlopeDropHeightChanged" // MNetworkPriority "32" - float m_flSlopeDropHeight; // 0xe60 + float m_flSlopeDropHeight; // 0xe78 private: - [[maybe_unused]] uint8_t __pad0e64[0xc]; // 0xe64 + [[maybe_unused]] uint8_t __pad0e7c[0xc]; // 0xe7c public: // MNetworkEnable // MNetworkChangeCallback "OnHeadConstraintChanged" // MNetworkPriority "32" - Vector m_vHeadConstraintOffset; // 0xe70 + Vector m_vHeadConstraintOffset; // 0xe88 private: - [[maybe_unused]] uint8_t __pad0e7c[0xc]; // 0xe7c + [[maybe_unused]] uint8_t __pad0e94[0xc]; // 0xe94 public: - bool m_bClientTransparentImmunityAlphaEffectEnabled; // 0xe88 - bool m_bClientDeferDrawToImmunityAlphaPass; // 0xe89 + bool m_bClientTransparentImmunityAlphaEffectEnabled; // 0xea0 + bool m_bClientDeferDrawToImmunityAlphaPass; // 0xea1 // MNetworkEnable - bool m_bIsScoped; // 0xe8a + bool m_bIsScoped; // 0xea2 // MNetworkEnable - bool m_bIsWalking; // 0xe8b + bool m_bIsWalking; // 0xea3 // MNetworkEnable - bool m_bResumeZoom; // 0xe8c + bool m_bResumeZoom; // 0xea4 private: - [[maybe_unused]] uint8_t __pad0e8d[0x3]; // 0xe8d + [[maybe_unused]] uint8_t __pad0ea5[0x3]; // 0xea5 public: // MNetworkEnable - CSPlayerState m_iPlayerState; // 0xe90 + CSPlayerState m_iPlayerState; // 0xea8 // MNetworkEnable - bool m_bIsDefusing; // 0xe94 + bool m_bIsDefusing; // 0xeac // MNetworkEnable - bool m_bIsGrabbingHostage; // 0xe95 + bool m_bIsGrabbingHostage; // 0xead private: - [[maybe_unused]] uint8_t __pad0e96[0x2]; // 0xe96 + [[maybe_unused]] uint8_t __pad0eae[0x2]; // 0xeae public: // MNetworkEnable - CSPlayerBlockingUseAction_t m_iBlockingUseActionInProgress; // 0xe98 + CSPlayerBlockingUseAction_t m_iBlockingUseActionInProgress; // 0xeb0 // MNetworkEnable - bool m_bIsRescuing; // 0xe9c + bool m_bIsRescuing; // 0xeb4 private: - [[maybe_unused]] uint8_t __pad0e9d[0x3]; // 0xe9d + [[maybe_unused]] uint8_t __pad0eb5[0x3]; // 0xeb5 public: // MNetworkEnable - GameTime_t m_fImmuneToGunGameDamageTime; // 0xea0 - GameTime_t m_fImmuneToGunGameDamageTimeLast; // 0xea4 + GameTime_t m_fImmuneToGunGameDamageTime; // 0xeb8 + GameTime_t m_fImmuneToGunGameDamageTimeLast; // 0xebc // MNetworkEnable - bool m_bGunGameImmunity; // 0xea8 + bool m_bGunGameImmunity; // 0xec0 // MNetworkEnable - bool m_bHasMovedSinceSpawn; // 0xea9 + bool m_bHasMovedSinceSpawn; // 0xec1 // MNetworkEnable - bool m_bMadeFinalGunGameProgressiveKill; // 0xeaa + bool m_bMadeFinalGunGameProgressiveKill; // 0xec2 private: - [[maybe_unused]] uint8_t __pad0eab[0x1]; // 0xeab + [[maybe_unused]] uint8_t __pad0ec3[0x1]; // 0xec3 public: // MNetworkEnable - int32_t m_iGunGameProgressiveWeaponIndex; // 0xeac + int32_t m_iGunGameProgressiveWeaponIndex; // 0xec4 // MNetworkEnable - int32_t m_iNumGunGameTRKillPoints; // 0xeb0 + int32_t m_iNumGunGameTRKillPoints; // 0xec8 // MNetworkEnable - int32_t m_iNumGunGameKillsWithCurrentWeapon; // 0xeb4 + int32_t m_iNumGunGameKillsWithCurrentWeapon; // 0xecc // MNetworkEnable - uint32_t m_unTotalRoundDamageDealt; // 0xeb8 + uint32_t m_unTotalRoundDamageDealt; // 0xed0 // MNetworkEnable - float m_fMolotovUseTime; // 0xebc + float m_fMolotovUseTime; // 0xed4 // MNetworkEnable - float m_fMolotovDamageTime; // 0xec0 + float m_fMolotovDamageTime; // 0xed8 // MNetworkEnable - bool m_bInBombZone; // 0xec4 + bool m_bInBombZone; // 0xedc private: - [[maybe_unused]] uint8_t __pad0ec5[0x3]; // 0xec5 + [[maybe_unused]] uint8_t __pad0edd[0x3]; // 0xedd public: // MNetworkEnable - int32_t m_nWhichBombZone; // 0xec8 + int32_t m_nWhichBombZone; // 0xee0 // MNetworkEnable - bool m_bInBuyZone; // 0xecc + bool m_bInBuyZone; // 0xee4 // MNetworkEnable - bool m_bInNoDefuseArea; // 0xecd -private: - [[maybe_unused]] uint8_t __pad0ece[0x2]; // 0xece -public: - // MNetworkEnable - int32_t m_iThrowGrenadeCounter; // 0xed0 - // MNetworkEnable - bool m_bWaitForNoAttack; // 0xed4 - // MNetworkEnable - bool m_bIsRespawningForDMBonus; // 0xed5 -private: - [[maybe_unused]] uint8_t __pad0ed6[0x2]; // 0xed6 -public: - // MNetworkEnable - float m_flGuardianTooFarDistFrac; // 0xed8 - // MNetworkEnable - GameTime_t m_flDetectedByEnemySensorTime; // 0xedc - float m_flNextGuardianTooFarWarning; // 0xee0 - bool m_bSuppressGuardianTooFarWarningAudio; // 0xee4 - // MNetworkEnable - bool m_bKilledByTaser; // 0xee5 + bool m_bInNoDefuseArea; // 0xee5 private: [[maybe_unused]] uint8_t __pad0ee6[0x2]; // 0xee6 public: // MNetworkEnable - int32_t m_iMoveState; // 0xee8 + int32_t m_iThrowGrenadeCounter; // 0xee8 // MNetworkEnable - bool m_bCanMoveDuringFreezePeriod; // 0xeec + bool m_bWaitForNoAttack; // 0xeec // MNetworkEnable - bool m_isCurrentGunGameLeader; // 0xeed - // MNetworkEnable - bool m_isCurrentGunGameTeamLeader; // 0xeee + bool m_bIsRespawningForDMBonus; // 0xeed private: - [[maybe_unused]] uint8_t __pad0eef[0x1]; // 0xeef + [[maybe_unused]] uint8_t __pad0eee[0x2]; // 0xeee public: // MNetworkEnable - float m_flLowerBodyYawTarget; // 0xef0 + float m_flGuardianTooFarDistFrac; // 0xef0 // MNetworkEnable - bool m_bStrafing; // 0xef4 + GameTime_t m_flDetectedByEnemySensorTime; // 0xef4 + float m_flNextGuardianTooFarWarning; // 0xef8 + bool m_bSuppressGuardianTooFarWarningAudio; // 0xefc // MNetworkEnable - char m_szLastPlaceName[18]; // 0xef5 + bool m_bKilledByTaser; // 0xefd +private: + [[maybe_unused]] uint8_t __pad0efe[0x2]; // 0xefe +public: + // MNetworkEnable + int32_t m_iMoveState; // 0xf00 + // MNetworkEnable + bool m_bCanMoveDuringFreezePeriod; // 0xf04 + // MNetworkEnable + bool m_isCurrentGunGameLeader; // 0xf05 + // MNetworkEnable + bool m_isCurrentGunGameTeamLeader; // 0xf06 private: [[maybe_unused]] uint8_t __pad0f07[0x1]; // 0xf07 public: // MNetworkEnable - float m_flLastExoJumpTime; // 0xf08 + float m_flLowerBodyYawTarget; // 0xf08 + // MNetworkEnable + bool m_bStrafing; // 0xf0c + // MNetworkEnable + char m_szLastPlaceName[18]; // 0xf0d private: - [[maybe_unused]] uint8_t __pad0f0c[0xc]; // 0xf0c + [[maybe_unused]] uint8_t __pad0f1f[0x1]; // 0xf1f public: - GameTime_t m_flLastSpawnTimeIndex; // 0xf18 // MNetworkEnable - int32_t m_iAddonBits; // 0xf1c + float m_flLastExoJumpTime; // 0xf20 +private: + [[maybe_unused]] uint8_t __pad0f24[0xc]; // 0xf24 +public: + GameTime_t m_flLastSpawnTimeIndex; // 0xf30 // MNetworkEnable - int32_t m_iPrimaryAddon; // 0xf20 + GameTime_t m_flEmitSoundTime; // 0xf34 // MNetworkEnable - int32_t m_iSecondaryAddon; // 0xf24 + int32_t m_iAddonBits; // 0xf38 // MNetworkEnable - int32_t m_iProgressBarDuration; // 0xf28 + int32_t m_iPrimaryAddon; // 0xf3c // MNetworkEnable - float m_flProgressBarStartTime; // 0xf2c + int32_t m_iSecondaryAddon; // 0xf40 // MNetworkEnable - float m_flStamina; // 0xf30 + int32_t m_iProgressBarDuration; // 0xf44 // MNetworkEnable - int32_t m_iDirection; // 0xf34 + float m_flProgressBarStartTime; // 0xf48 // MNetworkEnable - int32_t m_iShotsFired; // 0xf38 + float m_flStamina; // 0xf4c + // MNetworkEnable + int32_t m_iDirection; // 0xf50 + // MNetworkEnable + int32_t m_iShotsFired; // 0xf54 // MNetworkEnable // MNetworkChangeCallback "OnNightVisionChanged" - bool m_bNightVisionOn; // 0xf3c + bool m_bNightVisionOn; // 0xf58 // MNetworkEnable - bool m_bHasNightVision; // 0xf3d + bool m_bHasNightVision; // 0xf59 private: - [[maybe_unused]] uint8_t __pad0f3e[0x2]; // 0xf3e + [[maybe_unused]] uint8_t __pad0f5a[0x2]; // 0xf5a public: // MNetworkEnable - float m_flVelocityModifier; // 0xf40 + float m_flVelocityModifier; // 0xf5c // MNetworkEnable - float m_flGroundAccelLinearFracLastTime; // 0xf44 + float m_flGroundAccelLinearFracLastTime; // 0xf60 // MNetworkEnable - int32_t m_iStartAccount; // 0xf48 + int32_t m_iStartAccount; // 0xf64 // MNetworkEnable - bool m_bIsSpawnRappelling; // 0xf4c + bool m_bIsSpawnRappelling; // 0xf68 private: - [[maybe_unused]] uint8_t __pad0f4d[0x3]; // 0xf4d + [[maybe_unused]] uint8_t __pad0f69[0x3]; // 0xf69 public: // MNetworkEnable - Vector m_vecSpawnRappellingRopeOrigin; // 0xf50 - float m_flSpawnRappellingFadeOutForClientViewOffset; // 0xf5c + Vector m_vecSpawnRappellingRopeOrigin; // 0xf6c + float m_flSpawnRappellingFadeOutForClientViewOffset; // 0xf78 // MNetworkEnable - int32_t m_nSurvivalTeam; // 0xf60 + int32_t m_nSurvivalTeam; // 0xf7c // MNetworkEnable - CHandle< C_CSPlayerPawnBase > m_hSurvivalAssassinationTarget; // 0xf64 + CHandle< C_CSPlayerPawnBase > m_hSurvivalAssassinationTarget; // 0xf80 // MNetworkEnable - float m_flHealthShotBoostExpirationTime; // 0xf68 - float m_flLastKnownParachuteScreenEffectAmount; // 0xf6c - Vector m_vecIntroStartEyePosition; // 0xf70 - Vector m_vecIntroStartPlayerForward; // 0xf7c - float m_flClientDeathTime; // 0xf88 + float m_flHealthShotBoostExpirationTime; // 0xf84 + float m_flLastKnownParachuteScreenEffectAmount; // 0xf88 + Vector m_vecIntroStartEyePosition; // 0xf8c + Vector m_vecIntroStartPlayerForward; // 0xf98 + float m_flClientDeathTime; // 0xfa4 private: - [[maybe_unused]] uint8_t __pad0f8c[0x8]; // 0xf8c + [[maybe_unused]] uint8_t __pad0fa8[0x8]; // 0xfa8 public: - float m_flNightVisionAlpha; // 0xf94 - bool m_bScreenTearFrameCaptured; // 0xf98 + float m_flNightVisionAlpha; // 0xfb0 + bool m_bScreenTearFrameCaptured; // 0xfb4 private: - [[maybe_unused]] uint8_t __pad0f99[0x3]; // 0xf99 + [[maybe_unused]] uint8_t __pad0fb5[0x3]; // 0xfb5 public: - float m_flFlashBangTime; // 0xf9c - float m_flFlashScreenshotAlpha; // 0xfa0 - float m_flFlashOverlayAlpha; // 0xfa4 - bool m_bFlashBuildUp; // 0xfa8 - bool m_bFlashDspHasBeenCleared; // 0xfa9 - bool m_bFlashScreenshotHasBeenGrabbed; // 0xfaa + float m_flFlashBangTime; // 0xfb8 + float m_flFlashScreenshotAlpha; // 0xfbc + float m_flFlashOverlayAlpha; // 0xfc0 + bool m_bFlashBuildUp; // 0xfc4 + bool m_bFlashDspHasBeenCleared; // 0xfc5 + bool m_bFlashScreenshotHasBeenGrabbed; // 0xfc6 private: - [[maybe_unused]] uint8_t __pad0fab[0x1]; // 0xfab + [[maybe_unused]] uint8_t __pad0fc7[0x1]; // 0xfc7 public: // MNetworkEnable // MNetworkChangeCallback "OnFlashMaxAlphaChanged" - float m_flFlashMaxAlpha; // 0xfac + float m_flFlashMaxAlpha; // 0xfc8 // MNetworkEnable // MNetworkChangeCallback "OnFlashDurationChanged" - float m_flFlashDuration; // 0xfb0 - float m_flLastFiredWeaponTime; // 0xfb4 - Vector m_lastStandingPos; // 0xfb8 - Vector m_vecLastMuzzleFlashPos; // 0xfc4 - QAngle m_angLastMuzzleFlashAngle; // 0xfd0 - CHandle< C_BaseEntity > m_hMuzzleFlashShape; // 0xfdc - int32_t m_iHealthBarRenderMaskIndex; // 0xfe0 - float m_flHealthFadeValue; // 0xfe4 - float m_flHealthFadeAlpha; // 0xfe8 - int32_t m_nMyCollisionGroup; // 0xfec - float m_ignoreLadderJumpTime; // 0xff0 + float m_flFlashDuration; // 0xfcc + float m_flLastFiredWeaponTime; // 0xfd0 + Vector m_lastStandingPos; // 0xfd4 + Vector m_vecLastMuzzleFlashPos; // 0xfe0 + QAngle m_angLastMuzzleFlashAngle; // 0xfec + CHandle< C_BaseEntity > m_hMuzzleFlashShape; // 0xff8 + int32_t m_iHealthBarRenderMaskIndex; // 0xffc + float m_flHealthFadeValue; // 0x1000 + float m_flHealthFadeAlpha; // 0x1004 + int32_t m_nMyCollisionGroup; // 0x1008 + float m_ignoreLadderJumpTime; // 0x100c + CountdownTimer m_ladderSurpressionTimer; // 0x1010 + Vector m_lastLadderNormal; // 0x1028 + Vector m_lastLadderPos; // 0x1034 private: - [[maybe_unused]] uint8_t __pad0ff4[0x4]; // 0xff4 + [[maybe_unused]] uint8_t __pad1040[0x8]; // 0x1040 public: - CountdownTimer m_ladderSurpressionTimer; // 0xff8 - Vector m_lastLadderNormal; // 0x1010 - Vector m_lastLadderPos; // 0x101c + float m_flDeathCCWeight; // 0x1048 + bool m_bOldIsScoped; // 0x104c private: - [[maybe_unused]] uint8_t __pad1028[0x8]; // 0x1028 + [[maybe_unused]] uint8_t __pad104d[0x3]; // 0x104d public: - float m_flDeathCCWeight; // 0x1030 - bool m_bOldIsScoped; // 0x1034 + float m_flPrevRoundEndTime; // 0x1050 + float m_flPrevMatchEndTime; // 0x1054 + // MNetworkEnable + uint16_t m_unCurrentEquipmentValue; // 0x1058 + // MNetworkEnable + uint16_t m_unRoundStartEquipmentValue; // 0x105a + // MNetworkEnable + uint16_t m_unFreezetimeEndEquipmentValue; // 0x105c + // MNetworkEnable + bool m_passiveItems[4]; // 0x105e private: - [[maybe_unused]] uint8_t __pad1035[0x3]; // 0x1035 + [[maybe_unused]] uint8_t __pad1062[0x2]; // 0x1062 public: - float m_flPrevRoundEndTime; // 0x1038 - float m_flPrevMatchEndTime; // 0x103c + Vector m_vecThirdPersonViewPositionOverride; // 0x1064 // MNetworkEnable - uint16_t m_unCurrentEquipmentValue; // 0x1040 + int32_t m_nHeavyAssaultSuitCooldownRemaining; // 0x1070 // MNetworkEnable - uint16_t m_unRoundStartEquipmentValue; // 0x1042 - // MNetworkEnable - uint16_t m_unFreezetimeEndEquipmentValue; // 0x1044 - // MNetworkEnable - bool m_passiveItems[4]; // 0x1046 -private: - [[maybe_unused]] uint8_t __pad104a[0x2]; // 0x104a -public: - Vector m_vecThirdPersonViewPositionOverride; // 0x104c - // MNetworkEnable - int32_t m_nHeavyAssaultSuitCooldownRemaining; // 0x1058 - // MNetworkEnable - int32_t m_ArmorValue; // 0x105c + int32_t m_ArmorValue; // 0x1074 // MNetworkEnable // MNetworkEncoder // MNetworkBitCount "32" // MNetworkChangeCallback "playerEyeAnglesChanged" // MNetworkPriority "32" - QAngle m_angEyeAngles; // 0x1060 + QAngle m_angEyeAngles; // 0x1078 private: - [[maybe_unused]] uint8_t __pad106c[0xc]; // 0x106c + [[maybe_unused]] uint8_t __pad1084[0xc]; // 0x1084 public: // MNetworkEnable - bool m_bInHostageRescueZone; // 0x1078 + bool m_bInHostageRescueZone; // 0x1090 private: - [[maybe_unused]] uint8_t __pad1079[0x3]; // 0x1079 + [[maybe_unused]] uint8_t __pad1091[0x3]; // 0x1091 public: - float m_fNextThinkPushAway; // 0x107c - bool m_bShouldAutobuyDMWeapons; // 0x1080 - bool m_bShouldAutobuyNow; // 0x1081 + float m_fNextThinkPushAway; // 0x1094 + bool m_bShouldAutobuyDMWeapons; // 0x1098 + bool m_bShouldAutobuyNow; // 0x1099 // MNetworkEnable - bool m_bHud_MiniScoreHidden; // 0x1082 + bool m_bHud_MiniScoreHidden; // 0x109a // MNetworkEnable - bool m_bHud_RadarHidden; // 0x1083 + bool m_bHud_RadarHidden; // 0x109b // MNetworkEnable - CEntityIndex m_nLastKillerIndex; // 0x1084 + CEntityIndex m_nLastKillerIndex; // 0x109c // MNetworkEnable - int32_t m_nLastConcurrentKilled; // 0x1088 + int32_t m_nLastConcurrentKilled; // 0x10a0 // MNetworkEnable - int32_t m_nDeathCamMusic; // 0x108c - CEntityIndex m_iIDEntIndex; // 0x1090 + int32_t m_nDeathCamMusic; // 0x10a4 + CEntityIndex m_iIDEntIndex; // 0x10a8 private: - [[maybe_unused]] uint8_t __pad1094[0x4]; // 0x1094 + [[maybe_unused]] uint8_t __pad10ac[0x4]; // 0x10ac public: - CountdownTimer m_delayTargetIDTimer; // 0x1098 - CEntityIndex m_iTargetedWeaponEntIndex; // 0x10b0 - CEntityIndex m_iOldIDEntIndex; // 0x10b4 - CountdownTimer m_holdTargetIDTimer; // 0x10b8 + CountdownTimer m_delayTargetIDTimer; // 0x10b0 + CEntityIndex m_iTargetedWeaponEntIndex; // 0x10c8 + CEntityIndex m_iOldIDEntIndex; // 0x10cc + CountdownTimer m_holdTargetIDTimer; // 0x10d0 private: - [[maybe_unused]] uint8_t __pad10d0[0x4c]; // 0x10d0 + [[maybe_unused]] uint8_t __pad10e8[0x4c]; // 0x10e8 public: - float m_flCurrentMusicStartTime; // 0x111c - float m_flMusicRoundStartTime; // 0x1120 + float m_flCurrentMusicStartTime; // 0x1134 + float m_flMusicRoundStartTime; // 0x1138 // MNetworkEnable - int32_t m_cycleLatch; // 0x1124 - float m_serverIntendedCycle; // 0x1128 + int32_t m_cycleLatch; // 0x113c + float m_serverIntendedCycle; // 0x1140 // MNetworkEnable // MNetworkChangeCallback "RecvProxy_PatchEconIndices" - uint32_t m_vecPlayerPatchEconIndices[5]; // 0x112c - bool m_bClientEconPatchesNeedUpdate; // 0x1140 + uint32_t m_vecPlayerPatchEconIndices[5]; // 0x1144 + bool m_bClientEconPatchesNeedUpdate; // 0x1158 // MNetworkEnable - bool m_bHideTargetID; // 0x1141 + bool m_bHideTargetID; // 0x1159 private: - [[maybe_unused]] uint8_t __pad1142[0x2]; // 0x1142 + [[maybe_unused]] uint8_t __pad115a[0x2]; // 0x115a public: - float m_nextTaserShakeTime; // 0x1144 - float m_firstTaserShakeTime; // 0x1148 - float m_flLastSmokeOverlayAlpha; // 0x114c - Vector m_vLastSmokeOverlayColor; // 0x1150 - ParticleIndex_t m_nPlayerSmokedFx; // 0x115c - float m_flLastKnownAccumulatedWeaponEncumbrance; // 0x1160 - float m_flLastTimeComputedAccumulatedWeaponEncumbrance; // 0x1164 - float m_flNextMagDropTime; // 0x1168 - int32_t m_nLastMagDropAttachmentIndex; // 0x116c - CUtlVector< C_BulletHitModel* > m_vecBulletHitModels; // 0x1170 - CUtlVector< C_PickUpModelSlerper* > m_vecPickupModelSlerpers; // 0x1188 - Vector m_vecLastAliveLocalVelocity; // 0x11a0 - float m_flLastNearbyItemHighlightCheck; // 0x11ac - bool m_bInSurvivalDangerZone; // 0x11b0 - bool m_bNearDangerZone; // 0x11b1 + float m_nextTaserShakeTime; // 0x115c + float m_firstTaserShakeTime; // 0x1160 + float m_flLastSmokeOverlayAlpha; // 0x1164 + Vector m_vLastSmokeOverlayColor; // 0x1168 + ParticleIndex_t m_nPlayerSmokedFx; // 0x1174 + float m_flLastKnownAccumulatedWeaponEncumbrance; // 0x1178 + float m_flLastTimeComputedAccumulatedWeaponEncumbrance; // 0x117c + float m_flNextMagDropTime; // 0x1180 + int32_t m_nLastMagDropAttachmentIndex; // 0x1184 + CUtlVector< C_BulletHitModel* > m_vecBulletHitModels; // 0x1188 + CUtlVector< C_PickUpModelSlerper* > m_vecPickupModelSlerpers; // 0x11a0 + Vector m_vecLastAliveLocalVelocity; // 0x11b8 + float m_flLastNearbyItemHighlightCheck; // 0x11c4 + bool m_bInSurvivalDangerZone; // 0x11c8 + bool m_bNearDangerZone; // 0x11c9 private: - [[maybe_unused]] uint8_t __pad11b2[0x36]; // 0x11b2 + [[maybe_unused]] uint8_t __pad11ca[0x36]; // 0x11ca public: // MNetworkEnable - EntitySpottedState_t m_entitySpottedState; // 0x11e8 + EntitySpottedState_t m_entitySpottedState; // 0x1200 // MNetworkEnable - float m_flTimeOfLastInjury; // 0x1200 + float m_flTimeOfLastInjury; // 0x1218 // MNetworkEnable - RelativeDamagedDirection_t m_nRelativeDirectionOfLastInjury; // 0x1204 + RelativeDamagedDirection_t m_nRelativeDirectionOfLastInjury; // 0x121c // MNetworkEnable - int32_t m_nSurvivalTeamNumber; // 0x1208 + int32_t m_nSurvivalTeamNumber; // 0x1220 // MNetworkEnable // MNetworkUserGroup "LocalPlayerExclusive" - float m_flNextSprayDecalTime; // 0x120c - bool m_bPreviouslyInBuyZone; // 0x1210 + float m_flNextSprayDecalTime; // 0x1224 + bool m_bPreviouslyInBuyZone; // 0x1228 private: - [[maybe_unused]] uint8_t __pad1211[0x3]; // 0x1211 + [[maybe_unused]] uint8_t __pad1229[0x3]; // 0x1229 public: - uint32_t m_unPreviousWeaponHash; // 0x1214 - uint32_t m_unWeaponHash; // 0x1218 - bool m_bPrevDefuser; // 0x121c - bool m_bPrevHelmet; // 0x121d + uint32_t m_unPreviousWeaponHash; // 0x122c + uint32_t m_unWeaponHash; // 0x1230 + bool m_bPrevDefuser; // 0x1234 + bool m_bPrevHelmet; // 0x1235 private: - [[maybe_unused]] uint8_t __pad121e[0x2]; // 0x121e + [[maybe_unused]] uint8_t __pad1236[0x2]; // 0x1236 public: - int32_t m_nPrevArmorVal; // 0x1220 - bool m_bGuardianShouldSprayCustomXMark; // 0x1224 + int32_t m_nPrevArmorVal; // 0x1238 + bool m_bGuardianShouldSprayCustomXMark; // 0x123c private: - [[maybe_unused]] uint8_t __pad1225[0x3]; // 0x1225 + [[maybe_unused]] uint8_t __pad123d[0x3]; // 0x123d public: // MNetworkEnable // MNetworkBitCount "32" - QAngle m_aimPunchAngle; // 0x1228 + QAngle m_aimPunchAngle; // 0x1240 // MNetworkEnable // MNetworkBitCount "32" - QAngle m_aimPunchAngleVel; // 0x1234 + QAngle m_aimPunchAngleVel; // 0x124c // MNetworkEnable - int32_t m_aimPunchTickBase; // 0x1240 + int32_t m_aimPunchTickBase; // 0x1258 // MNetworkEnable - float m_aimPunchTickFraction; // 0x1244 - CUtlVector< QAngle > m_aimPunchCache; // 0x1248 + float m_aimPunchTickFraction; // 0x125c + CUtlVector< QAngle > m_aimPunchCache; // 0x1260 private: - [[maybe_unused]] uint8_t __pad1260[0x8]; // 0x1260 + [[maybe_unused]] uint8_t __pad1278[0x8]; // 0x1278 public: - float m_flOldFallVelocity; // 0x1268 - bool m_bHasDeathInfo; // 0x126c + float m_flOldFallVelocity; // 0x1280 + bool m_bHasDeathInfo; // 0x1284 private: - [[maybe_unused]] uint8_t __pad126d[0x3]; // 0x126d + [[maybe_unused]] uint8_t __pad1285[0x3]; // 0x1285 public: - float m_flDeathInfoTime; // 0x1270 - Vector m_vecDeathInfoOrigin; // 0x1274 + float m_flDeathInfoTime; // 0x1288 + Vector m_vecDeathInfoOrigin; // 0x128c // MNetworkEnable - bool m_bKilledByHeadshot; // 0x1280 + bool m_bKilledByHeadshot; // 0x1298 private: - [[maybe_unused]] uint8_t __pad1281[0x3]; // 0x1281 + [[maybe_unused]] uint8_t __pad1299[0x3]; // 0x1299 public: // MNetworkEnable - CHandle< CCSPlayerController > m_hOriginalController; // 0x1284 + CHandle< CCSPlayerController > m_hOriginalController; // 0x129c private: - [[maybe_unused]] uint8_t __pad1288[0x10]; // 0x1288 + [[maybe_unused]] uint8_t __pad12a0[0x10]; // 0x12a0 public: - float m_flLandseconds; // 0x1298 + float m_flLandseconds; // 0x12b0 }; // Alignment: 1 -// Size: 0x12a8 +// Size: 0x12c0 class C_CSObserverPawn : public C_CSPlayerPawnBase { public: - CEntityHandle m_hDetectParentChange; // 0x12a0 + CEntityHandle m_hDetectParentChange; // 0x12b8 }; // Alignment: 20 -// Size: 0x19a8 +// Size: 0x19c0 class C_CSPlayerPawn : public C_CSPlayerPawnBase { public: // MNetworkEnable - CCSPlayer_BulletServices* m_pBulletServices; // 0x12a0 + CCSPlayer_BulletServices* m_pBulletServices; // 0x12b8 // MNetworkEnable - CCSPlayer_HostageServices* m_pHostageServices; // 0x12a8 + CCSPlayer_HostageServices* m_pHostageServices; // 0x12c0 // MNetworkEnable - CCSPlayer_GlowServices* m_pGlowServices; // 0x12b0 + CCSPlayer_GlowServices* m_pGlowServices; // 0x12c8 // MNetworkEnable - bool m_bIsBuyMenuOpen; // 0x12b8 + bool m_bIsBuyMenuOpen; // 0x12d0 private: - [[maybe_unused]] uint8_t __pad12b9[0xcf]; // 0x12b9 + [[maybe_unused]] uint8_t __pad12d1[0xcf]; // 0x12d1 public: // MNetworkEnable // MNetworkChangeCallback "OnRetakesOfferingChanged" - int32_t m_iRetakesOffering; // 0x1388 + int32_t m_iRetakesOffering; // 0x13a0 // MNetworkEnable // MNetworkChangeCallback "OnRetakesOfferingCardChanged" - int32_t m_iRetakesOfferingCard; // 0x138c + int32_t m_iRetakesOfferingCard; // 0x13a4 // MNetworkEnable - bool m_bRetakesHasDefuseKit; // 0x1390 + bool m_bRetakesHasDefuseKit; // 0x13a8 // MNetworkEnable - bool m_bRetakesMVPLastRound; // 0x1391 + bool m_bRetakesMVPLastRound; // 0x13a9 private: - [[maybe_unused]] uint8_t __pad1392[0x2]; // 0x1392 + [[maybe_unused]] uint8_t __pad13aa[0x2]; // 0x13aa public: // MNetworkEnable - int32_t m_iRetakesMVPBoostItem; // 0x1394 + int32_t m_iRetakesMVPBoostItem; // 0x13ac // MNetworkEnable - loadout_positions_t m_RetakesMVPBoostExtraUtility; // 0x1398 + loadout_positions_t m_RetakesMVPBoostExtraUtility; // 0x13b0 private: - [[maybe_unused]] uint8_t __pad139c[0x10]; // 0x139c + [[maybe_unused]] uint8_t __pad13b4[0x10]; // 0x13b4 public: - bool m_bNeedToReApplyGloves; // 0x13ac + bool m_bNeedToReApplyGloves; // 0x13c4 private: - [[maybe_unused]] uint8_t __pad13ad[0x3]; // 0x13ad + [[maybe_unused]] uint8_t __pad13c5[0x3]; // 0x13c5 public: // MNetworkEnable - C_EconItemView m_EconGloves; // 0x13b0 - bool m_bMustSyncRagdollState; // 0x17f8 + C_EconItemView m_EconGloves; // 0x13c8 + bool m_bMustSyncRagdollState; // 0x1810 private: - [[maybe_unused]] uint8_t __pad17f9[0x3]; // 0x17f9 + [[maybe_unused]] uint8_t __pad1811[0x3]; // 0x1811 public: // MNetworkEnable - int32_t m_nRagdollDamageBone; // 0x17fc + int32_t m_nRagdollDamageBone; // 0x1814 // MNetworkEnable - Vector m_vRagdollDamageForce; // 0x1800 + Vector m_vRagdollDamageForce; // 0x1818 // MNetworkEnable - Vector m_vRagdollDamagePosition; // 0x180c + Vector m_vRagdollDamagePosition; // 0x1824 // MNetworkEnable - char m_szRagdollDamageWeaponName[64]; // 0x1818 + char m_szRagdollDamageWeaponName[64]; // 0x1830 // MNetworkEnable - bool m_bRagdollDamageHeadshot; // 0x1858 + bool m_bRagdollDamageHeadshot; // 0x1870 private: - [[maybe_unused]] uint8_t __pad1859[0x127]; // 0x1859 + [[maybe_unused]] uint8_t __pad1871[0x127]; // 0x1871 public: - bool m_bLastHeadBoneTransformIsValid; // 0x1980 + bool m_bLastHeadBoneTransformIsValid; // 0x1998 private: - [[maybe_unused]] uint8_t __pad1981[0x1b]; // 0x1981 + [[maybe_unused]] uint8_t __pad1999[0x1b]; // 0x1999 public: // MNetworkEnable - QAngle m_qDeathEyeAngles; // 0x199c + QAngle m_qDeathEyeAngles; // 0x19b4 }; // Alignment: 16 @@ -10373,17 +10394,17 @@ public: }; // Alignment: 3 -// Size: 0x1a30 +// Size: 0x1a48 class C_CSGO_PreviewPlayer : public C_CSPlayerPawn { public: - CUtlString m_animgraph; // 0x19a8 - CUtlString m_animgraphCharacterModeString; // 0x19b0 - float m_flInitialModelScale; // 0x19b8 + CUtlString m_animgraph; // 0x19c0 + CUtlString m_animgraphCharacterModeString; // 0x19c8 + float m_flInitialModelScale; // 0x19d0 }; // Alignment: 0 -// Size: 0x1a30 +// Size: 0x1a48 class C_CSGO_PreviewPlayerAlias_csgo_player_previewmodel : public C_CSGO_PreviewPlayer { public: @@ -10391,7 +10412,7 @@ public: }; // Alignment: 0 -// Size: 0x1a30 +// Size: 0x1a48 class C_CSGO_TeamPreviewModel : public C_CSGO_PreviewPlayer { public: diff --git a/sdk/engine2.hpp b/sdk/engine2.hpp index 149ace25..f91e9d85 100644 --- a/sdk/engine2.hpp +++ b/sdk/engine2.hpp @@ -446,22 +446,21 @@ public: // No members available }; -// Alignment: 8 -// Size: 0x78 +// Alignment: 7 +// Size: 0x68 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 + char* m_pName; // 0x0 + char* m_pCPPClassname; // 0x8 + char* m_pNetworkDataReferencedDescription; // 0x10 + char* m_pNetworkDataReferencedPtrPropDescription; // 0x18 + int32_t m_nRuntimeIndex; // 0x20 + uint32_t m_nFlags; // 0x24 private: - [[maybe_unused]] uint8_t __pad0038[0x38]; // 0x38 + [[maybe_unused]] uint8_t __pad0028[0x38]; // 0x28 public: - CEntityComponentHelper* m_pBaseClassComponentHelper; // 0x70 + CEntityComponentHelper* m_pBaseClassComponentHelper; // 0x60 }; // Alignment: 0 diff --git a/sdk/particles.hpp b/sdk/particles.hpp index 61bcd112..a9fb7d70 100644 --- a/sdk/particles.hpp +++ b/sdk/particles.hpp @@ -4,8 +4,8 @@ // ///////////////////////////////////////////////////////////// // Binary: particles.dll -// Classes count: 418 -// Enums count: 66 +// Classes count: 490 +// Enums count: 70 // Created using source2gen - github.com/neverlosecc/source2gen // ///////////////////////////////////////////////////////////// @@ -608,8 +608,78 @@ enum class TextureRepetitionMode_t : uint32_t TEXTURE_REPETITION_PATH = 0x1, }; +// Alignment: 2 +// Size: 0x24 +enum class PulseInstructionCode_t : uint16_t +{ + INVALID = 0x0, + IMMEDIATE_HALT = 0x1, + RETURN_VOID = 0x2, + RETURN_VALUE = 0x3, + NOP = 0x4, + JUMP = 0x5, + LEAP = 0x6, + COND_JUMP = 0x7, + COND_LEAP = 0x8, + PULSE_CALL = 0x9, + LANDING_PAD = 0xa, + CELL_INVOKE = 0xb, + LIBRARY_INVOKE = 0xc, + SET_VAR_REG_BOOL = 0xd, + SET_VAR_REG_INT = 0xe, + SET_VAR_REG_FLOAT = 0xf, + SET_VAR_REG_STR = 0x10, + SET_VAR_REG_EHANDLE = 0x11, + SET_VAR_REG_SNDEVT_GUID = 0x12, + SET_VAR_REG_VEC3 = 0x13, + GET_VAR_REG_BOOL = 0x14, + GET_VAR_REG_INT = 0x15, + GET_VAR_REG_FLOAT = 0x16, + GET_VAR_REG_STR = 0x17, + GET_VAR_REG_EHANDLE = 0x18, + GET_VAR_REG_SNDEVT_GUID = 0x19, + GET_VAR_REG_VEC3 = 0x1a, + SET_REGISTER_LIT_BOOL = 0x1b, + SET_REGISTER_LIT_INT = 0x1c, + SET_REGISTER_LIT_FLOAT = 0x1d, + SET_REGISTER_LIT_STR = 0x1e, + SET_REGISTER_LIT_INVAL_EHANDLE = 0x1f, + SET_REGISTER_LIT_INVAL_SNDEVT_GUID = 0x20, + SET_REGISTER_LIT_VEC3 = 0x21, + SET_REGISTER_DOMAIN_VALUE = 0x22, + COUNT = 0x23, +}; + // Alignment: 4 -// Size: 0x14 +// Size: 0xd +enum class PulseValueType_t : uint32_t +{ + PVAL_INVALID = 0xffffffffffffffff, + PVAL_BOOL = 0x0, + PVAL_INT = 0x1, + PVAL_FLOAT = 0x2, + PVAL_STRING = 0x3, + PVAL_VEC3 = 0x4, + PVAL_TRANSFORM = 0x5, + PVAL_EHANDLE = 0x6, + PVAL_RESOURCE = 0x7, + PVAL_SNDEVT_GUID = 0x8, + PVAL_CURSOR_FLOW = 0x9, + PVAL_ANY = 0xa, + PVAL_COUNT = 0xb, +}; + +// Alignment: 4 +// Size: 0x3 +enum class PulseCursorFlow_t : uint32_t +{ + INVALID = 0xffffffffffffffff, + TERMINATE = 0x0, + JUMP_OR_LEAP = 0x1, +}; + +// Alignment: 4 +// Size: 0x16 enum class ParticleFloatType_t : uint32_t { PF_TYPE_INVALID = 0xffffffffffffffff, @@ -623,15 +693,17 @@ enum class ParticleFloatType_t : uint32_t PF_TYPE_CONTROL_POINT_CHANGE_AGE = 0x7, PF_TYPE_CONTROL_POINT_SPEED = 0x8, PF_TYPE_PARTICLE_DETAIL_LEVEL = 0x9, - PF_TYPE_PARTICLE_NOISE = 0xa, - PF_TYPE_PARTICLE_AGE = 0xb, - PF_TYPE_PARTICLE_AGE_NORMALIZED = 0xc, - PF_TYPE_PARTICLE_FLOAT = 0xd, - PF_TYPE_PARTICLE_VECTOR_COMPONENT = 0xe, - PF_TYPE_PARTICLE_SPEED = 0xf, - PF_TYPE_PARTICLE_NUMBER = 0x10, - PF_TYPE_PARTICLE_NUMBER_NORMALIZED = 0x11, - PF_TYPE_COUNT = 0x12, + PF_TYPE_RENDERER_CAMERA_DISTANCE = 0xa, + PF_TYPE_RENDERER_CAMERA_DOT_PRODUCT = 0xb, + PF_TYPE_PARTICLE_NOISE = 0xc, + PF_TYPE_PARTICLE_AGE = 0xd, + PF_TYPE_PARTICLE_AGE_NORMALIZED = 0xe, + PF_TYPE_PARTICLE_FLOAT = 0xf, + PF_TYPE_PARTICLE_VECTOR_COMPONENT = 0x10, + PF_TYPE_PARTICLE_SPEED = 0x11, + PF_TYPE_PARTICLE_NUMBER = 0x12, + PF_TYPE_PARTICLE_NUMBER_NORMALIZED = 0x13, + PF_TYPE_COUNT = 0x14, }; // Alignment: 4 @@ -722,6 +794,17 @@ enum class ParticleTransformType_t : uint32_t PT_TYPE_COUNT = 0x4, }; +// Alignment: 4 +// Size: 0x5 +enum class ParticleModelType_t : uint32_t +{ + PM_TYPE_INVALID = 0x0, + PM_TYPE_NAMED_VALUE_MODEL = 0x1, + PM_TYPE_NAMED_VALUE_EHANDLE = 0x2, + PM_TYPE_CONTROL_POINT = 0x3, + PM_TYPE_COUNT = 0x4, +}; + // Alignment: 4 // Size: 0x11 enum class ParticleVecType_t : uint32_t @@ -749,9 +832,22 @@ struct ParticleAttributeIndex_t; struct ParticlePreviewState_t; struct CParticleCollectionFloatInput; struct CParticleVisibilityInputs; +struct CParticleCollectionRendererFloatInput; struct TextureControls_t; +struct CParticleCollectionRendererVecInput; struct CParticleCollectionVecInput; struct CParticleTransformInput; +struct PulseRuntimeRegisterIndex_t; +struct PulseRegisterMap_t; +struct PulseRuntimeCellIndex_t; +struct PulseDocNodeID_t; +struct PulseRuntimeChunkIndex_t; +struct PulseRuntimeVarIndex_t; +struct PulseRuntimeInvokeIndex_t; +struct PulseRuntimeLandingPadIndex_t; +struct PulseRuntimeOutputIndex_t; +struct CPulse_ResumePoint; +struct CPulse_OutflowConnection; struct CParticleFloatInput; struct CNewParticleEffect; struct IParticleCollection; @@ -763,6 +859,7 @@ struct CPerParticleVecInput; struct CRandomNumberGeneratorParameters; struct CParticleRemapFloatInput; struct ControlPointReference_t; +struct CParticleModelInput; // Alignment: 2 // Size: 0x8 @@ -1062,8 +1159,19 @@ public: float m_flTimeDuration; // 0x14 }; -// Alignment: 60 -// Size: 0x3a0 +// Alignment: 3 +// Size: 0x10 +struct ParticleNamedValueSource_t +{ +public: + CUtlString m_Name; // 0x0 + // MPropertyAttributeChoiceName "particlefield_namedvaluetype" + PulseValueType_t m_Type; // 0x8 + bool m_IsPublic; // 0xc +}; + +// Alignment: 63 +// Size: 0x3e0 class CParticleSystemDefinition : public IParticleSystemDefinition { public: @@ -1095,149 +1203,160 @@ public: // MPropertySuppressField int32_t m_nFirstMultipleOverride_BackwardCompat; // 0x178 private: - [[maybe_unused]] uint8_t __pad017c[0x74]; // 0x17c + [[maybe_unused]] uint8_t __pad017c[0x94]; // 0x17c public: // MPropertyStartGroup "+Collection Options" // MPropertyFriendlyName "initial particles" - int32_t m_nInitialParticles; // 0x1f0 + int32_t m_nInitialParticles; // 0x210 // MPropertyFriendlyName "max particles" - int32_t m_nMaxParticles; // 0x1f4 + int32_t m_nMaxParticles; // 0x214 // MPropertyFriendlyName "group id" - int32_t m_nGroupID; // 0x1f8 + int32_t m_nGroupID; // 0x218 // MPropertyStartGroup "Bounding Box" // MPropertyFriendlyName "bounding box bloat min" // MVectorIsCoordinate - Vector m_BoundingBoxMin; // 0x1fc + Vector m_BoundingBoxMin; // 0x21c // MPropertyFriendlyName "bounding box bloat max" // MVectorIsCoordinate - Vector m_BoundingBoxMax; // 0x208 + Vector m_BoundingBoxMax; // 0x228 // MPropertyFriendlyName "bounding box depth sort bias" - float m_flDepthSortBias; // 0x214 + float m_flDepthSortBias; // 0x234 // MPropertyFriendlyName "sort override position CP" - int32_t m_nSortOverridePositionCP; // 0x218 + int32_t m_nSortOverridePositionCP; // 0x238 // MPropertyFriendlyName "infinite bounds - don't cull" - bool m_bInfiniteBounds; // 0x21c + bool m_bInfiniteBounds; // 0x23c + // MPropertyStartGroup "Named Values" + // MPropertyFriendlyName "Enable Named Values (EXPERIMENTAL)" + bool m_bEnableNamedValues; // 0x23d +private: + [[maybe_unused]] uint8_t __pad023e[0x2]; // 0x23e +public: + // MPropertyFriendlyName "Domain Class" + // MPropertyAttributeChoiceName "particlefield_domain" + // MPropertyAutoRebuildOnChange + // MPropertySuppressExpr "!m_bEnableNamedValues" + CUtlString m_NamedValueDomain; // 0x240 + // MPropertyFriendlyName "Variables" + // MPropertySuppressExpr "!m_bEnableNamedValues" + CUtlVector< ParticleNamedValueSource_t > m_NamedValueLocals; // 0x248 // MPropertyStartGroup "+Base Properties" // MPropertyFriendlyName "color" // MPropertyColorPlusAlpha - Color m_ConstantColor; // 0x21d -private: - [[maybe_unused]] uint8_t __pad0221[0x3]; // 0x221 -public: + Color m_ConstantColor; // 0x260 // MPropertyFriendlyName "normal" // MVectorIsCoordinate - Vector m_ConstantNormal; // 0x224 + Vector m_ConstantNormal; // 0x264 // MPropertyFriendlyName "radius" // MPropertyAttributeRange "biased 0 500" - float m_flConstantRadius; // 0x230 + float m_flConstantRadius; // 0x270 // MPropertyFriendlyName "rotation" - float m_flConstantRotation; // 0x234 + float m_flConstantRotation; // 0x274 // MPropertyFriendlyName "rotation speed" - float m_flConstantRotationSpeed; // 0x238 + float m_flConstantRotationSpeed; // 0x278 // MPropertyFriendlyName "lifetime" - float m_flConstantLifespan; // 0x23c + float m_flConstantLifespan; // 0x27c // MPropertyFriendlyName "sequence number" // MPropertyAttributeEditor "SequencePicker( 1 )" - int32_t m_nConstantSequenceNumber; // 0x240 + int32_t m_nConstantSequenceNumber; // 0x280 // MPropertyFriendlyName "sequence number 1" // MPropertyAttributeEditor "SequencePicker( 2 )" - int32_t m_nConstantSequenceNumber1; // 0x244 + int32_t m_nConstantSequenceNumber1; // 0x284 // MPropertyStartGroup "Snapshot Options" - int32_t m_nSnapshotControlPoint; // 0x248 + int32_t m_nSnapshotControlPoint; // 0x288 private: - [[maybe_unused]] uint8_t __pad024c[0x4]; // 0x24c + [[maybe_unused]] uint8_t __pad028c[0x4]; // 0x28c public: - CStrongHandle< InfoForResourceTypeIParticleSnapshot > m_hSnapshot; // 0x250 + CStrongHandle< InfoForResourceTypeIParticleSnapshot > m_hSnapshot; // 0x290 // MPropertyStartGroup "Replacement Options" // MPropertyFriendlyName "cull replacement definition" - CStrongHandle< InfoForResourceTypeIParticleSystemDefinition > m_pszCullReplacementName; // 0x258 + CStrongHandle< InfoForResourceTypeIParticleSystemDefinition > m_pszCullReplacementName; // 0x298 // MPropertyFriendlyName "cull radius" - float m_flCullRadius; // 0x260 + float m_flCullRadius; // 0x2a0 // MPropertyFriendlyName "cull cost" - float m_flCullFillCost; // 0x264 + float m_flCullFillCost; // 0x2a4 // MPropertyFriendlyName "cull control point" - int32_t m_nCullControlPoint; // 0x268 + int32_t m_nCullControlPoint; // 0x2a8 private: - [[maybe_unused]] uint8_t __pad026c[0x4]; // 0x26c + [[maybe_unused]] uint8_t __pad02ac[0x4]; // 0x2ac public: // MPropertyFriendlyName "fallback replacement definition" - CStrongHandle< InfoForResourceTypeIParticleSystemDefinition > m_hFallback; // 0x270 + CStrongHandle< InfoForResourceTypeIParticleSystemDefinition > m_hFallback; // 0x2b0 // MPropertyFriendlyName "fallback max count" - int32_t m_nFallbackMaxCount; // 0x278 + int32_t m_nFallbackMaxCount; // 0x2b8 private: - [[maybe_unused]] uint8_t __pad027c[0x4]; // 0x27c + [[maybe_unused]] uint8_t __pad02bc[0x4]; // 0x2bc public: // MPropertyFriendlyName "low violence definition" - CStrongHandle< InfoForResourceTypeIParticleSystemDefinition > m_hLowViolenceDef; // 0x280 + CStrongHandle< InfoForResourceTypeIParticleSystemDefinition > m_hLowViolenceDef; // 0x2c0 // MPropertyFriendlyName "reference replacement definition" - CStrongHandle< InfoForResourceTypeIParticleSystemDefinition > m_hReferenceReplacement; // 0x288 + CStrongHandle< InfoForResourceTypeIParticleSystemDefinition > m_hReferenceReplacement; // 0x2c8 // MPropertyStartGroup "Simulation Options" // MPropertyFriendlyName "pre-simulation time" - float m_flPreSimulationTime; // 0x290 + float m_flPreSimulationTime; // 0x2d0 // MPropertyFriendlyName "freeze simulation after time" - float m_flStopSimulationAfterTime; // 0x294 + float m_flStopSimulationAfterTime; // 0x2d4 // MPropertyFriendlyName "maximum time step" - float m_flMaximumTimeStep; // 0x298 + float m_flMaximumTimeStep; // 0x2d8 // MPropertyFriendlyName "maximum sim tick rate" - float m_flMaximumSimTime; // 0x29c + float m_flMaximumSimTime; // 0x2dc // MPropertyFriendlyName "minimum sim tick rate" - float m_flMinimumSimTime; // 0x2a0 + float m_flMinimumSimTime; // 0x2e0 // MPropertyFriendlyName "minimum simulation time step" - float m_flMinimumTimeStep; // 0x2a4 + float m_flMinimumTimeStep; // 0x2e4 // MPropertyFriendlyName "minimum required rendered frames" - int32_t m_nMinimumFrames; // 0x2a8 + int32_t m_nMinimumFrames; // 0x2e8 // MPropertyStartGroup "Performance Options" // MPropertyFriendlyName "minimum CPU level" - int32_t m_nMinCPULevel; // 0x2ac + int32_t m_nMinCPULevel; // 0x2ec // MPropertyFriendlyName "minimum GPU level" - int32_t m_nMinGPULevel; // 0x2b0 + int32_t m_nMinGPULevel; // 0x2f0 // MPropertyFriendlyName "time to sleep when not drawn" - float m_flNoDrawTimeToGoToSleep; // 0x2b4 + float m_flNoDrawTimeToGoToSleep; // 0x2f4 // MPropertyFriendlyName "maximum draw distance" - float m_flMaxDrawDistance; // 0x2b8 + float m_flMaxDrawDistance; // 0x2f8 // MPropertyFriendlyName "start fade distance" - float m_flStartFadeDistance; // 0x2bc + float m_flStartFadeDistance; // 0x2fc // MPropertyFriendlyName "maximum creation distance" - float m_flMaxCreationDistance; // 0x2c0 + float m_flMaxCreationDistance; // 0x300 // MPropertyFriendlyName "minimum free particles to aggregate" - int32_t m_nAggregationMinAvailableParticles; // 0x2c4 + int32_t m_nAggregationMinAvailableParticles; // 0x304 // MPropertyFriendlyName "aggregation radius" - float m_flAggregateRadius; // 0x2c8 + float m_flAggregateRadius; // 0x308 // MPropertyFriendlyName "batch particle systems" - bool m_bShouldBatch; // 0x2cc + bool m_bShouldBatch; // 0x30c // MPropertyFriendlyName "Hitboxes fall back to render bounds" - bool m_bShouldHitboxesFallbackToRenderBounds; // 0x2cd + bool m_bShouldHitboxesFallbackToRenderBounds; // 0x30d private: - [[maybe_unused]] uint8_t __pad02ce[0x2]; // 0x2ce + [[maybe_unused]] uint8_t __pad030e[0x2]; // 0x30e public: // MPropertyStartGroup "Rendering Options" // MPropertyFriendlyName "view model effect" // MPropertySuppressExpr "m_bScreenSpaceEffect" - InheritableBoolType_t m_nViewModelEffect; // 0x2d0 + InheritableBoolType_t m_nViewModelEffect; // 0x310 // MPropertyFriendlyName "screen space effect" // MPropertySuppressExpr "m_nViewModelEffect == INHERITABLE_BOOL_TRUE" - bool m_bScreenSpaceEffect; // 0x2d4 + bool m_bScreenSpaceEffect; // 0x314 private: - [[maybe_unused]] uint8_t __pad02d5[0x3]; // 0x2d5 + [[maybe_unused]] uint8_t __pad0315[0x3]; // 0x315 public: // MPropertyFriendlyName "target layer ID for rendering" - CUtlSymbolLarge m_pszTargetLayerID; // 0x2d8 + CUtlSymbolLarge m_pszTargetLayerID; // 0x318 // MPropertyFriendlyName "control point to disable rendering if it is the camera" - int32_t m_nSkipRenderControlPoint; // 0x2e0 + int32_t m_nSkipRenderControlPoint; // 0x320 // MPropertyFriendlyName "control point to only enable rendering if it is the camera" - int32_t m_nAllowRenderControlPoint; // 0x2e4 + int32_t m_nAllowRenderControlPoint; // 0x324 // MPropertyFriendlyName "sort particles (DEPRECATED - USE RENDERER OPTION)" // MParticleAdvancedField - bool m_bShouldSort; // 0x2e8 + bool m_bShouldSort; // 0x328 private: - [[maybe_unused]] uint8_t __pad02e9[0x3f]; // 0x2e9 + [[maybe_unused]] uint8_t __pad0329[0x3f]; // 0x329 public: // MPropertySuppressField - CUtlVector< ParticleControlPointConfiguration_t > m_controlPointConfigurations; // 0x328 + CUtlVector< ParticleControlPointConfiguration_t > m_controlPointConfigurations; // 0x368 }; -// Alignment: 43 -// Size: 0x138 +// Alignment: 44 +// Size: 0x140 class CParticleFloatInput { public: @@ -1281,25 +1400,32 @@ public: float m_flNoiseImgPreviewScale; // 0xb4 bool m_bNoiseImgPreviewLive; // 0xb8 private: - [[maybe_unused]] uint8_t __pad00b9[0x7]; // 0xb9 + [[maybe_unused]] uint8_t __pad00b9[0x8]; // 0xb9 public: - ParticleFloatInputMode_t m_nInputMode; // 0xc0 - float m_flMultFactor; // 0xc4 - float m_flInput0; // 0xc8 - float m_flInput1; // 0xcc - float m_flOutput0; // 0xd0 - float m_flOutput1; // 0xd4 - float m_flNotchedRangeMin; // 0xd8 - float m_flNotchedRangeMax; // 0xdc - float m_flNotchedOutputOutside; // 0xe0 - float m_flNotchedOutputInside; // 0xe4 - ParticleFloatBiasType_t m_nBiasType; // 0xe8 - float m_flBiasParameter; // 0xec - CPiecewiseCurve m_Curve; // 0xf0 + bool m_bUseBoundsCenter; // 0xc1 +private: + [[maybe_unused]] uint8_t __pad00c2[0x2]; // 0xc2 +public: + ParticleFloatInputMode_t m_nInputMode; // 0xc4 + float m_flMultFactor; // 0xc8 + float m_flInput0; // 0xcc + float m_flInput1; // 0xd0 + float m_flOutput0; // 0xd4 + float m_flOutput1; // 0xd8 + float m_flNotchedRangeMin; // 0xdc + float m_flNotchedRangeMax; // 0xe0 + float m_flNotchedOutputOutside; // 0xe4 + float m_flNotchedOutputInside; // 0xe8 + ParticleFloatBiasType_t m_nBiasType; // 0xec + float m_flBiasParameter; // 0xf0 +private: + [[maybe_unused]] uint8_t __pad00f4[0x4]; // 0xf4 +public: + CPiecewiseCurve m_Curve; // 0xf8 }; // Alignment: 0 -// Size: 0x138 +// Size: 0x140 class CParticleCollectionFloatInput : public CParticleFloatInput { public: @@ -1307,7 +1433,7 @@ public: }; // Alignment: 16 -// Size: 0x1f0 +// Size: 0x210 class CParticleFunction { private: @@ -1318,79 +1444,79 @@ public: CParticleCollectionFloatInput m_flOpStrength; // 0x8 // MPropertyFriendlyName "operator end cap state" // MPropertySortPriority "-100" - ParticleEndcapMode_t m_nOpEndCapState; // 0x140 + ParticleEndcapMode_t m_nOpEndCapState; // 0x148 // MPropertyStartGroup "Operator Fade" // MPropertyFriendlyName "operator start fadein" // MParticleAdvancedField // MPropertySortPriority "-100" - float m_flOpStartFadeInTime; // 0x144 + float m_flOpStartFadeInTime; // 0x14c // MPropertyFriendlyName "operator end fadein" // MParticleAdvancedField // MPropertySortPriority "-100" - float m_flOpEndFadeInTime; // 0x148 + float m_flOpEndFadeInTime; // 0x150 // MPropertyFriendlyName "operator start fadeout" // MParticleAdvancedField // MPropertySortPriority "-100" - float m_flOpStartFadeOutTime; // 0x14c + float m_flOpStartFadeOutTime; // 0x154 // MPropertyFriendlyName "operator end fadeout" // MParticleAdvancedField // MPropertySortPriority "-100" - float m_flOpEndFadeOutTime; // 0x150 + float m_flOpEndFadeOutTime; // 0x158 // MPropertyFriendlyName "operator fade oscillate" // MParticleAdvancedField // MPropertySortPriority "-100" - float m_flOpFadeOscillatePeriod; // 0x154 + float m_flOpFadeOscillatePeriod; // 0x15c // MPropertyFriendlyName "normalize fade times to endcap" // MParticleAdvancedField // MPropertySortPriority "-100" - bool m_bNormalizeToStopTime; // 0x158 + bool m_bNormalizeToStopTime; // 0x160 private: - [[maybe_unused]] uint8_t __pad0159[0x3]; // 0x159 + [[maybe_unused]] uint8_t __pad0161[0x3]; // 0x161 public: // MPropertyStartGroup "Operator Fade Time Offset" // MPropertyFriendlyName "operator fade time offset min" // MParticleAdvancedField // MPropertySortPriority "-100" - float m_flOpTimeOffsetMin; // 0x15c + float m_flOpTimeOffsetMin; // 0x164 // MPropertyFriendlyName "operator fade time offset max" // MParticleAdvancedField // MPropertySortPriority "-100" - float m_flOpTimeOffsetMax; // 0x160 + float m_flOpTimeOffsetMax; // 0x168 // MPropertyFriendlyName "operator fade time offset seed" // MParticleAdvancedField // MPropertySortPriority "-100" - int32_t m_nOpTimeOffsetSeed; // 0x164 + int32_t m_nOpTimeOffsetSeed; // 0x16c // MPropertyStartGroup "Operator Fade Timescale Modifiers" // MPropertyFriendlyName "operator fade time scale seed" // MParticleAdvancedField // MPropertySortPriority "-100" - int32_t m_nOpTimeScaleSeed; // 0x168 + int32_t m_nOpTimeScaleSeed; // 0x170 // MPropertyFriendlyName "operator fade time scale min" // MParticleAdvancedField // MPropertySortPriority "-100" - float m_flOpTimeScaleMin; // 0x16c + float m_flOpTimeScaleMin; // 0x174 // MPropertyFriendlyName "operator fade time scale max" // MParticleAdvancedField // MPropertySortPriority "-100" - float m_flOpTimeScaleMax; // 0x170 + float m_flOpTimeScaleMax; // 0x178 private: - [[maybe_unused]] uint8_t __pad0174[0x1]; // 0x174 + [[maybe_unused]] uint8_t __pad017c[0x1]; // 0x17c public: // MPropertyStartGroup // MPropertySuppressField - bool m_bDisableOperator; // 0x175 + bool m_bDisableOperator; // 0x17d private: - [[maybe_unused]] uint8_t __pad0176[0x2]; // 0x176 + [[maybe_unused]] uint8_t __pad017e[0x2]; // 0x17e public: // MPropertyFriendlyName "operator help and notes" // MParticleHelpField // MParticleAdvancedField // MPropertySortPriority "-100" - CUtlString m_Notes; // 0x178 + CUtlString m_Notes; // 0x180 }; // Alignment: 0 -// Size: 0x1f0 +// Size: 0x210 class CParticleFunctionConstraint : public CParticleFunction { public: @@ -1398,7 +1524,7 @@ public: }; // Alignment: 0 -// Size: 0x1f0 +// Size: 0x210 class CParticleFunctionForce : public CParticleFunction { public: @@ -1406,7 +1532,7 @@ public: }; // Alignment: 0 -// Size: 0x1f0 +// Size: 0x210 class CParticleFunctionOperator : public CParticleFunction { public: @@ -1414,74 +1540,836 @@ public: }; // Alignment: 1 -// Size: 0x200 +// Size: 0x220 class CParticleFunctionPreEmission : public CParticleFunctionOperator { public: // MPropertyFriendlyName "Run Only Once" - bool m_bRunOnce; // 0x1f0 + bool m_bRunOnce; // 0x210 }; // Alignment: 3 -// Size: 0x230 +// Size: 0x260 class CParticleFunctionRenderer : public CParticleFunction { - // Collision detected(0x1e8->0x1f0), output may be wrong. public: - // Skipped field "VisibilityInputs" @ 0x1e8 because of the struct collision + // MPropertySortPriority "-1" + CParticleVisibilityInputs VisibilityInputs; // 0x210 // MPropertyStartGroup "Rendering filter" // MPropertyFriendlyName "I cannot be refracted through refracting objects like water" // MPropertySortPriority "-1" - bool m_bCannotBeRefracted; // 0x22c + bool m_bCannotBeRefracted; // 0x254 // MPropertyFriendlyName "Skip rendering on mobile" // MPropertySortPriority "-1" - bool m_bSkipRenderingOnMobile; // 0x22d + bool m_bSkipRenderingOnMobile; // 0x255 +}; + +// Alignment: 0 +// Size: 0x140 +class CParticleCollectionRendererFloatInput : public CParticleCollectionFloatInput +{ +public: + // No members available }; // Alignment: 16 -// Size: 0x8a8 +// Size: 0x8e0 struct TextureControls_t { public: // MPropertyFriendlyName "horizontal texture scale" - CParticleCollectionFloatInput m_flFinalTextureScaleU; // 0x0 + CParticleCollectionRendererFloatInput m_flFinalTextureScaleU; // 0x0 // MPropertyFriendlyName "vertical texture scale" - CParticleCollectionFloatInput m_flFinalTextureScaleV; // 0x138 + CParticleCollectionRendererFloatInput m_flFinalTextureScaleV; // 0x140 // MPropertyFriendlyName "horizontal texture offset" - CParticleCollectionFloatInput m_flFinalTextureOffsetU; // 0x270 + CParticleCollectionRendererFloatInput m_flFinalTextureOffsetU; // 0x280 // MPropertyFriendlyName "vertical texture offset" - CParticleCollectionFloatInput m_flFinalTextureOffsetV; // 0x3a8 + CParticleCollectionRendererFloatInput m_flFinalTextureOffsetV; // 0x3c0 // MPropertyFriendlyName "texture rotation / animation rate scale" - CParticleCollectionFloatInput m_flFinalTextureUVRotation; // 0x4e0 + CParticleCollectionRendererFloatInput m_flFinalTextureUVRotation; // 0x500 // MPropertyFriendlyName "Infinite Zoom Scale" - CParticleCollectionFloatInput m_flZoomScale; // 0x618 + CParticleCollectionRendererFloatInput m_flZoomScale; // 0x640 // MPropertyFriendlyName "Distortion Amount" - CParticleCollectionFloatInput m_flDistortion; // 0x750 + CParticleCollectionRendererFloatInput m_flDistortion; // 0x780 // MPropertyFriendlyName "Randomize Initial Offset" - bool m_bRandomizeOffsets; // 0x888 + bool m_bRandomizeOffsets; // 0x8c0 // MPropertyFriendlyName "Clamp UVs" - bool m_bClampUVs; // 0x889 + bool m_bClampUVs; // 0x8c1 private: - [[maybe_unused]] uint8_t __pad088a[0x2]; // 0x88a + [[maybe_unused]] uint8_t __pad08c2[0x2]; // 0x8c2 public: // MPropertyFriendlyName "per-particle scalar for blend" - SpriteCardPerParticleScale_t m_nPerParticleBlend; // 0x88c + SpriteCardPerParticleScale_t m_nPerParticleBlend; // 0x8c4 // MPropertyFriendlyName "per-particle scalar for scale" - SpriteCardPerParticleScale_t m_nPerParticleScale; // 0x890 + SpriteCardPerParticleScale_t m_nPerParticleScale; // 0x8c8 // MPropertyFriendlyName "per-particle scalar for horizontal offset" - SpriteCardPerParticleScale_t m_nPerParticleOffsetU; // 0x894 + SpriteCardPerParticleScale_t m_nPerParticleOffsetU; // 0x8cc // MPropertyFriendlyName "per-particle scalar for vertical offset" - SpriteCardPerParticleScale_t m_nPerParticleOffsetV; // 0x898 + SpriteCardPerParticleScale_t m_nPerParticleOffsetV; // 0x8d0 // MPropertyFriendlyName "per-particle scalar for rotation" - SpriteCardPerParticleScale_t m_nPerParticleRotation; // 0x89c + SpriteCardPerParticleScale_t m_nPerParticleRotation; // 0x8d4 // MPropertyFriendlyName "per-particle scalar for zoom" - SpriteCardPerParticleScale_t m_nPerParticleZoom; // 0x8a0 + SpriteCardPerParticleScale_t m_nPerParticleZoom; // 0x8d8 // MPropertyFriendlyName "per-particle scalar for distortion" - SpriteCardPerParticleScale_t m_nPerParticleDistortion; // 0x8a4 + SpriteCardPerParticleScale_t m_nPerParticleDistortion; // 0x8dc +}; + +// Alignment: 22 +// Size: 0x5e8 +class CParticleVecInput +{ +public: + ParticleVecType_t m_nType; // 0x0 + Vector m_vLiteralValue; // 0x4 + Color m_LiteralColor; // 0x10 +private: + [[maybe_unused]] uint8_t __pad0014[0x4]; // 0x14 +public: + CKV3MemberNameWithStorage m_NamedValue; // 0x18 + bool m_bFollowNamedValue; // 0x50 +private: + [[maybe_unused]] uint8_t __pad0051[0x3]; // 0x51 +public: + ParticleAttributeIndex_t m_nVectorAttribute; // 0x54 + Vector m_vVectorAttributeScale; // 0x58 + int32_t m_nControlPoint; // 0x64 + Vector m_vCPValueScale; // 0x68 + Vector m_vCPRelativePosition; // 0x74 + Vector m_vCPRelativeDir; // 0x80 +private: + [[maybe_unused]] uint8_t __pad008c[0x4]; // 0x8c +public: + CParticleFloatInput m_FloatComponentX; // 0x90 + CParticleFloatInput m_FloatComponentY; // 0x1d0 + CParticleFloatInput m_FloatComponentZ; // 0x310 + CParticleFloatInput m_FloatInterp; // 0x450 + float m_flInterpInput0; // 0x590 + float m_flInterpInput1; // 0x594 + Vector m_vInterpOutput0; // 0x598 + Vector m_vInterpOutput1; // 0x5a4 + CColorGradient m_Gradient; // 0x5b0 + Vector m_vRandomMin; // 0x5c8 + Vector m_vRandomMax; // 0x5d4 +}; + +// Alignment: 0 +// Size: 0x5e8 +class CParticleCollectionVecInput : public CParticleVecInput +{ +public: + // No members available +}; + +// Alignment: 2 +// Size: 0x148 +struct FloatInputMaterialVariable_t +{ +public: + // MPropertyFriendlyName "material variable" + CUtlString m_strVariable; // 0x0 + // MPropertyFriendlyName "input" + CParticleCollectionFloatInput m_flInput; // 0x8 +}; + +// Alignment: 0 +// Size: 0x5e8 +class CParticleCollectionRendererVecInput : public CParticleCollectionVecInput +{ +public: + // No members available +}; + +// Alignment: 8 +// Size: 0x50 +class CParticleTransformInput +{ +private: + [[maybe_unused]] uint8_t __pad0000[0x4]; // 0x0 +public: + ParticleTransformType_t m_nType; // 0x4 + CKV3MemberNameWithStorage m_NamedValue; // 0x8 + bool m_bFollowNamedValue; // 0x40 + bool m_bSupportsDisabled; // 0x41 + bool m_bUseOrientation; // 0x42 +private: + [[maybe_unused]] uint8_t __pad0043[0x1]; // 0x43 +public: + int32_t m_nControlPoint; // 0x44 + int32_t m_nControlPointRangeMax; // 0x48 + float m_flEndCPGrowthTime; // 0x4c +}; + +// Alignment: 1 +// Size: 0x2 +struct PulseRuntimeRegisterIndex_t +{ +public: + int16_t m_Value; // 0x0 +}; + +// Alignment: 3 +// Size: 0x60 +class CPulse_Chunk +{ +public: + CUtlLeanVector< PGDInstruction_t > m_Instructions; // 0x0 + CUtlLeanVector< CPulse_RegisterInfo > m_Registers; // 0x10 + CUtlLeanVector< PulseDocNodeID_t > m_InstructionEditorIDs; // 0x20 +}; + +// Alignment: 5 +// Size: 0x38 +class CPulse_Variable +{ +public: + CUtlSymbolLarge m_Name; // 0x0 + CUtlString m_Description; // 0x8 + CPulseValueFullType m_Type; // 0x10 + KeyValues3 m_DefaultValue; // 0x20 +private: + [[maybe_unused]] uint8_t __pad0030[0x2]; // 0x30 +public: + bool m_bIsPublic; // 0x32 +}; + +// Alignment: 2 +// Size: 0x10 +class CPulse_PublicOutput +{ +public: + CUtlSymbolLarge m_Name; // 0x0 + CUtlString m_Description; // 0x8 +}; + +// Alignment: 4 +// Size: 0x20 +class CPulse_OutputConnection +{ +public: + CUtlSymbolLarge m_SourceOutput; // 0x0 + CUtlSymbolLarge m_TargetEntity; // 0x8 + CUtlSymbolLarge m_TargetInput; // 0x10 + CUtlSymbolLarge m_Param; // 0x18 +}; + +// Alignment: 1 +// Size: 0x4 +struct PulseRuntimeCellIndex_t +{ +public: + int32_t m_Value; // 0x0 +}; + +// Alignment: 1 +// Size: 0x4 +struct PulseRuntimeChunkIndex_t +{ +public: + int32_t m_Value; // 0x0 }; // Alignment: 9 -// Size: 0xa18 +// Size: 0xf8 +class CPulseGraphDef +{ +private: + [[maybe_unused]] uint8_t __pad0000[0x8]; // 0x0 +public: + CUtlSymbolLarge m_DomainIdentifier; // 0x8 + CUtlSymbolLarge m_ParentMapName; // 0x10 + CUtlVector< CPulse_Chunk* > m_Chunks; // 0x18 + CUtlVector< CPulseCell_Base* > m_Cells; // 0x30 + CUtlVector< CPulse_Variable > m_Vars; // 0x48 + CUtlVector< CPulse_PublicOutput > m_PublicOutputs; // 0x60 + CUtlVector< CPulse_InvokeBinding* > m_InvokeBindings; // 0x78 + CUtlVector< CPulse_LandingPadInfo* > m_LandingPads; // 0x90 + CUtlVector< CPulse_OutputConnection* > m_OutputConnections; // 0xa8 +}; + +// Alignment: 0 +// Size: 0xd0 +class CBasePulseGraphInstance +{ +private: + [[maybe_unused]] uint8_t __pad0000[0xd0]; // 0x0 +public: + // No members available +}; + +// Alignment: 1 +// Size: 0x4 +struct PulseDocNodeID_t +{ +public: + int32_t m_Value; // 0x0 +}; + +// Alignment: 1 +// Size: 0x4 +struct PulseRuntimeLandingPadIndex_t +{ +public: + int32_t m_Value; // 0x0 +}; + +// Alignment: 1 +// Size: 0x4 +struct PulseRuntimeVarIndex_t +{ +public: + int32_t m_Value; // 0x0 +}; + +// Alignment: 1 +// Size: 0x4 +struct PulseRuntimeOutputIndex_t +{ +public: + int32_t m_Value; // 0x0 +}; + +// Alignment: 1 +// Size: 0x2 +struct PulseRuntimeStateOffset_t +{ +public: + uint16_t m_Value; // 0x0 +}; + +// Alignment: 5 +// Size: 0x58 +class CPulse_RegisterInfo +{ +public: + PulseRuntimeRegisterIndex_t m_nReg; // 0x0 + CPulseValueFullType m_Type; // 0x8 + CKV3MemberNameWithStorage m_OriginName; // 0x18 + int32_t m_nWrittenByInstruction; // 0x50 + int32_t m_nLastReadByInstruction; // 0x54 +}; + +// Alignment: 2 +// Size: 0x20 +struct PulseRegisterMap_t +{ +public: + KeyValues3 m_Inparams; // 0x0 + KeyValues3 m_Outparams; // 0x10 +}; + +// Alignment: 1 +// Size: 0x4 +struct PulseRuntimeInvokeIndex_t +{ +public: + int32_t m_Value; // 0x0 +}; + +// Alignment: 4 +// Size: 0x18 +class CPulse_LandingPadInfo +{ +public: + CUtlSymbolLarge m_PortName; // 0x0 + PulseDocNodeID_t m_nEditorNodeID; // 0x8 + PulseRuntimeChunkIndex_t m_nAssociatedChunk; // 0xc + int32_t m_nAssociatedInstruction; // 0x10 +}; + +// Alignment: 1 +// Size: 0x4 +struct PulseRuntimeEntrypointIndex_t +{ +public: + int32_t m_Value; // 0x0 +}; + +// Alignment: 3 +// Size: 0x30 +class CPulse_InvokeBinding +{ +public: + PulseRegisterMap_t m_RegisterMap; // 0x0 + CUtlSymbolLarge m_FuncName; // 0x20 + PulseRuntimeCellIndex_t m_nCellIndex; // 0x28 +}; + +// Alignment: 16 +// Size: 0x68 +struct PGDInstruction_t +{ +public: + PulseInstructionCode_t m_nCode; // 0x0 + PulseRuntimeVarIndex_t m_nVar; // 0x4 + PulseRuntimeRegisterIndex_t m_nReg0; // 0x8 + PulseRuntimeRegisterIndex_t m_nReg1; // 0xa + PulseRuntimeRegisterIndex_t m_nReg2; // 0xc +private: + [[maybe_unused]] uint8_t __pad000e[0x2]; // 0xe +public: + PulseRuntimeInvokeIndex_t m_nInvokeBindingIndex; // 0x10 + PulseRuntimeChunkIndex_t m_nChunk; // 0x14 + int32_t m_nDestInstruction; // 0x18 + PulseRuntimeLandingPadIndex_t m_nLandingPadIndex; // 0x1c + CUtlSymbolLarge m_Arg0Name; // 0x20 + CUtlSymbolLarge m_Arg1Name; // 0x28 + bool m_bLiteralBool; // 0x30 +private: + [[maybe_unused]] uint8_t __pad0031[0x3]; // 0x31 +public: + int32_t m_nLiteralInt; // 0x34 + float m_flLiteralFloat; // 0x38 +private: + [[maybe_unused]] uint8_t __pad003c[0x4]; // 0x3c +public: + CBufferString m_LiteralString; // 0x40 + Vector m_vLiteralVec3; // 0x50 +}; + +// Alignment: 4 +// Size: 0x18 +class CPulse_OutflowConnection +{ +public: + CUtlSymbolLarge m_SourceOutflowName; // 0x0 + PulseRuntimeChunkIndex_t m_nDestChunk; // 0x8 + PulseCursorFlow_t m_nJumpType; // 0xc + int32_t m_nInstruction; // 0x10 +}; + +// Alignment: 0 +// Size: 0x18 +class CPulse_ResumePoint : public CPulse_OutflowConnection +{ +public: + // No members available +}; + +// Alignment: 1 +// Size: 0x48 +class CPulseCell_Base +{ +private: + [[maybe_unused]] uint8_t __pad0000[0x8]; // 0x0 +public: + // MFgdFromSchemaCompletelySkipField + PulseDocNodeID_t m_nEditorNodeID; // 0x8 +}; + +// Alignment: 0 +// Size: 0x48 +class CPulseCell_BaseFlow : public CPulseCell_Base +{ +public: + // No members available +}; + +// Alignment: 2 +// Size: 0x70 +class CPulseCell_Inflow_BaseEntrypoint : public CPulseCell_BaseFlow +{ +public: + PulseRuntimeChunkIndex_t m_EntryChunk; // 0x48 +private: + [[maybe_unused]] uint8_t __pad004c[0x4]; // 0x4c +public: + PulseRegisterMap_t m_RegisterMap; // 0x50 +}; + +// Alignment: 10 +// Size: 0x138 +class CPulseCell_Inflow_Method : public CPulseCell_Inflow_BaseEntrypoint +{ +public: + CUtlSymbolLarge m_MethodName; // 0x70 + CUtlString m_Description; // 0x78 + bool m_bIsPublic; // 0x80 +private: + [[maybe_unused]] uint8_t __pad0081[0x7]; // 0x81 +public: + // MFgdFromSchemaCompletelySkipField + CPulseValueFullType m_ReturnType; // 0x88 + CKV3MemberNameWithStorage m_Arg0Name; // 0x98 + CUtlString m_Arg0Description; // 0xd0 + // MFgdFromSchemaCompletelySkipField + CPulseValueFullType m_Arg0Type; // 0xd8 + CKV3MemberNameWithStorage m_Arg1Name; // 0xe8 + CUtlString m_Arg1Description; // 0x120 + // MFgdFromSchemaCompletelySkipField + CPulseValueFullType m_Arg1Type; // 0x128 +}; + +// Alignment: 1 +// Size: 0x78 +class CPulseCell_Inflow_EventHandler : public CPulseCell_Inflow_BaseEntrypoint +{ +public: + CUtlSymbolLarge m_EventName; // 0x70 +}; + +// Alignment: 1 +// Size: 0x78 +class CPulseCell_Inflow_GraphHook : public CPulseCell_Inflow_BaseEntrypoint +{ +public: + CUtlSymbolLarge m_HookName; // 0x70 +}; + +// Alignment: 4 +// Size: 0x98 +class CPulseCell_Inflow_EntOutputHandler : public CPulseCell_Inflow_BaseEntrypoint +{ +public: + // MFgdFromSchemaCompletelySkipField + CUtlSymbolLarge m_SourceEntity; // 0x70 + // MFgdFromSchemaCompletelySkipField + CUtlSymbolLarge m_SourceOutput; // 0x78 + // MFgdFromSchemaCompletelySkipField + CUtlSymbolLarge m_TargetInput; // 0x80 + // MFgdFromSchemaCompletelySkipField + CPulseValueFullType m_ExpectedParamType; // 0x88 +}; + +// Alignment: 0 +// Size: 0x48 +class CPulseCell_BaseYieldingInflow : public CPulseCell_BaseFlow +{ +public: + // No members available +}; + +// Alignment: 0 +// Size: 0x48 +class CPulseCell_BaseValue : public CPulseCell_Base +{ +public: + // No members available +}; + +// Alignment: 0 +// Size: 0x68 +class CPulseCell_Value_Expression : public CPulseCell_BaseValue +{ +public: + // No members available +}; + +// Alignment: 1 +// Size: 0x50 +class CPulseCell_Step_PublicOutput : public CPulseCell_BaseFlow +{ +public: + PulseRuntimeOutputIndex_t m_OutputIndex; // 0x48 +}; + +// Alignment: 1 +// Size: 0x60 +class CPulseCell_Inflow_Yield : public CPulseCell_BaseYieldingInflow +{ +public: + CPulse_ResumePoint m_UnyieldResume; // 0x48 +}; + +// Alignment: 1 +// Size: 0x60 +class CPulseCell_Inflow_Wait : public CPulseCell_BaseYieldingInflow +{ +public: + CPulse_ResumePoint m_WakeResume; // 0x48 +}; + +// Alignment: 2 +// Size: 0x78 +class CPulseCell_Outflow_StringSwitch : public CPulseCell_BaseFlow +{ +public: + CPulse_OutflowConnection m_DefaultCaseOutflow; // 0x48 + CUtlVector< CPulse_OutflowConnection > m_CaseOutflows; // 0x60 +}; + +// Alignment: 2 +// Size: 0x78 +class CPulseCell_Outflow_IntSwitch : public CPulseCell_BaseFlow +{ +public: + CPulse_OutflowConnection m_DefaultCaseOutflow; // 0x48 + CUtlVector< CPulse_OutflowConnection > m_CaseOutflows; // 0x60 +}; + +// Alignment: 1 +// Size: 0x60 +class CPulseCell_Outflow_CycleOrdered : public CPulseCell_BaseFlow +{ +public: + CUtlVector< CPulse_OutflowConnection > m_Outputs; // 0x48 +}; + +// Alignment: 1 +// Size: 0x4 +struct CPulseCell_Outflow_CycleOrdered__InstanceState_t +{ +public: + int32_t m_nNextIndex; // 0x0 +}; + +// Alignment: 1 +// Size: 0x60 +class CPulseCell_Outflow_CycleRandom : public CPulseCell_BaseFlow +{ +public: + CUtlVector< CPulse_OutflowConnection > m_Outputs; // 0x48 +}; + +// Alignment: 1 +// Size: 0x60 +class CPulseCell_Outflow_CycleShuffled : public CPulseCell_BaseFlow +{ +public: + CUtlVector< CPulse_OutflowConnection > m_Outputs; // 0x48 +}; + +// Alignment: 2 +// Size: 0x28 +struct CPulseCell_Outflow_CycleShuffled__InstanceState_t +{ +public: + CUtlVectorFixedGrowable< uint8 > m_Shuffle; // 0x0 + int32_t m_nNextShuffle; // 0x20 +}; + +// Alignment: 1 +// Size: 0x60 +class CPulseCell_Outflow_SimultaneousParallel : public CPulseCell_BaseFlow +{ +public: + CUtlVector< CPulse_OutflowConnection > m_Outputs; // 0x48 +}; + +// Alignment: 2 +// Size: 0x78 +class CPulseCell_Outflow_TestRandomYesNo : public CPulseCell_BaseFlow +{ +public: + // MPropertyFriendlyName "Yes" + // MPropertyDescription "Randomly taken half of the time" + CPulse_OutflowConnection m_Yes; // 0x48 + // MPropertyFriendlyName "No" + // MPropertyDescription "Randomly taken half of the time" + CPulse_OutflowConnection m_No; // 0x60 +}; + +// Alignment: 0 +// Size: 0x48 +class CPulseCell_Value_TestValue50 : public CPulseCell_BaseValue +{ +public: + // No members available +}; + +// Alignment: 0 +// Size: 0x48 +class CPulseCell_Value_RandomInt : public CPulseCell_BaseValue +{ +public: + // No members available +}; + +// Alignment: 0 +// Size: 0x48 +class CPulseCell_Step_DebugLog : public CPulseCell_BaseFlow +{ +public: + // No members available +}; + +// Alignment: 3 +// Size: 0xc0 +class CPulseCell_Step_BaseCallMethod : public CPulseCell_BaseFlow +{ +public: + CUtlSymbolLarge m_MethodName; // 0x48 + CKV3MemberNameWithStorage m_Arg0Name; // 0x50 + CKV3MemberNameWithStorage m_Arg1Name; // 0x88 +}; + +// Alignment: 0 +// Size: 0xc0 +class CPulseCell_Step_CallMethod : public CPulseCell_Step_BaseCallMethod +{ +public: + // No members available +}; + +// Alignment: 0 +// Size: 0xc0 +class CPulseCell_Step_CallExternalMethod : public CPulseCell_Step_BaseCallMethod +{ +public: + // No members available +}; + +// Alignment: 1 +// Size: 0x4 +struct PulseTestEHandle_t +{ +public: + int32_t m_Value; // 0x0 +}; + +// Alignment: 5 +// Size: 0x108 +class CPulseGraphInstance_TestDomain : public CBasePulseGraphInstance +{ +public: + bool m_bIsRunningUnitTests; // 0xd0 + bool m_bExplicitTimeStepping; // 0xd1 + bool m_bExpectingToDestroyWithYieldedCursors; // 0xd2 +private: + [[maybe_unused]] uint8_t __pad00d3[0x1]; // 0xd3 +public: + int32_t m_nNextValidateIndex; // 0xd4 + CUtlVector< CUtlString > m_Tracepoints; // 0xd8 + + // Static fields: + static double &Get_s_flExplicitCurTime(){return *reinterpret_cast(interfaces::g_schema->FindTypeScopeForModule("particles.dll")->FindDeclaredClass("CPulseGraphInstance_TestDomain")->m_static_fields[0]->m_instance);}; +}; + +// Alignment: 0 +// Size: 0x48 +class CPulseCell_Step_TestDomainTracepoint : public CPulseCell_BaseFlow +{ +public: + // No members available +}; + +// Alignment: 0 +// Size: 0x48 +class CPulseCell_Step_TestDomainCreateFakeEntity : public CPulseCell_BaseFlow +{ +public: + // No members available +}; + +// Alignment: 0 +// Size: 0x48 +class CPulseCell_Step_TestDomainDestroyFakeEntity : public CPulseCell_BaseFlow +{ +public: + // No members available +}; + +// Alignment: 1 +// Size: 0x50 +class CPulseCell_Step_TestDomainEntFire : public CPulseCell_BaseFlow +{ +public: + CUtlString m_Input; // 0x48 +}; + +// Alignment: 0 +// Size: 0x48 +class CPulseCell_Val_TestDomainGetEntityName : public CPulseCell_BaseValue +{ +public: + // No members available +}; + +// Alignment: 0 +// Size: 0x48 +class CPulseCell_Val_TestDomainFindEntityByName : public CPulseCell_BaseValue +{ +public: + // No members available +}; + +// Alignment: 0 +// Size: 0x108 +class CPulseGraphInstance_TestDomain_Derived : public CPulseGraphInstance_TestDomain +{ +public: + // No members available +}; + +// Alignment: 0 +// Size: 0x1 +class CPulseTestFuncs_DerivedDomain +{ +private: + [[maybe_unused]] uint8_t __pad0000[0x1]; // 0x0 +public: + // No members available +}; + +// Alignment: 0 +// Size: 0x48 +class CPulseCell_Test_NoInflow : public CPulseCell_BaseFlow +{ +public: + // No members available +}; + +// Alignment: 0 +// Size: 0x48 +class CPulseCell_Test_MultiInflow_WithDefault : public CPulseCell_BaseFlow +{ +public: + // No members available +}; + +// Alignment: 0 +// Size: 0x48 +class CPulseCell_Test_MultiInflow_NoDefault : public CPulseCell_BaseFlow +{ +public: + // No members available +}; + +// Alignment: 0 +// Size: 0xf0 +class CPulseGraphInstance_TurtleGraphics : public CBasePulseGraphInstance +{ +public: + // No members available +}; + +// Alignment: 0 +// Size: 0x1 +class CPulseTurtleGraphicsLib +{ +private: + [[maybe_unused]] uint8_t __pad0000[0x1]; // 0x0 +public: + // No members available +}; + +// Alignment: 1 +// Size: 0x220 +class CParticleFunctionEmitter : public CParticleFunction +{ +public: + // MPropertyFriendlyName "Emitter Index" + int32_t m_nEmitterIndex; // 0x210 +}; + +// Alignment: 0 +// Size: 0x140 +class CPerParticleFloatInput : public CParticleFloatInput +{ +public: + // No members available +}; + +// Alignment: 1 +// Size: 0x220 +class CParticleFunctionInitializer : public CParticleFunction +{ +public: + // MPropertyFriendlyName "Associated emitter Index" + int32_t m_nAssociatedEmitterIndex; // 0x210 +}; + +// Alignment: 9 +// Size: 0xa58 struct TextureGroup_t { public: @@ -1513,71 +2401,359 @@ private: 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 + CParticleCollectionRendererFloatInput m_flTextureBlend; // 0x38 // MPropertyFriendlyName "Texture Controls" // MPropertySuppressExpr "( m_nTextureType == SPRITECARD_TEXTURE_NORMALMAP || m_nTextureType == SPRITECARD_TEXTURE_ANIMMOTIONVEC || m_nTextureType == SPRITECARD_TEXTURE_6POINT_XYZ_A || m_nTextureType == SPRITECARD_TEXTURE_6POINT_NEGXYZ_E )" - TextureControls_t m_TextureControls; // 0x170 -}; - -// Alignment: 22 -// Size: 0x5c8 -class CParticleVecInput -{ -public: - ParticleVecType_t m_nType; // 0x0 - Vector m_vLiteralValue; // 0x4 - Color m_LiteralColor; // 0x10 -private: - [[maybe_unused]] uint8_t __pad0014[0x4]; // 0x14 -public: - CKV3MemberNameWithStorage m_NamedValue; // 0x18 - bool m_bFollowNamedValue; // 0x50 -private: - [[maybe_unused]] uint8_t __pad0051[0x3]; // 0x51 -public: - ParticleAttributeIndex_t m_nVectorAttribute; // 0x54 - Vector m_vVectorAttributeScale; // 0x58 - int32_t m_nControlPoint; // 0x64 - Vector m_vCPValueScale; // 0x68 - Vector m_vCPRelativePosition; // 0x74 - Vector m_vCPRelativeDir; // 0x80 -private: - [[maybe_unused]] uint8_t __pad008c[0x4]; // 0x8c -public: - CParticleFloatInput m_FloatComponentX; // 0x90 - CParticleFloatInput m_FloatComponentY; // 0x1c8 - CParticleFloatInput m_FloatComponentZ; // 0x300 - CParticleFloatInput m_FloatInterp; // 0x438 - float m_flInterpInput0; // 0x570 - float m_flInterpInput1; // 0x574 - Vector m_vInterpOutput0; // 0x578 - Vector m_vInterpOutput1; // 0x584 - CColorGradient m_Gradient; // 0x590 - Vector m_vRandomMin; // 0x5a8 - Vector m_vRandomMax; // 0x5b4 + TextureControls_t m_TextureControls; // 0x178 }; // Alignment: 0 -// Size: 0x5c8 -class CParticleCollectionVecInput : public CParticleVecInput +// Size: 0x140 +class CParticleRemapFloatInput : public CParticleFloatInput +{ +public: + // No members available +}; + +// Alignment: 61 +// Size: 0x2270 +class CBaseRendererSource2 : public CParticleFunctionRenderer +{ +public: + // MPropertyStartGroup "+Renderer Modifiers" + // MPropertyFriendlyName "radius scale" + // MPropertySortPriority "700" + CParticleCollectionRendererFloatInput m_flRadiusScale; // 0x260 + // MPropertyFriendlyName "alpha scale" + // MPropertySortPriority "700" + CParticleCollectionRendererFloatInput m_flAlphaScale; // 0x3a0 + // MPropertyFriendlyName "rotation roll scale" + // MPropertySortPriority "700" + CParticleCollectionRendererFloatInput m_flRollScale; // 0x4e0 + // MPropertyFriendlyName "per-particle alpha scale attribute" + // MPropertyAttributeChoiceName "particlefield_scalar" + // MPropertySortPriority "700" + ParticleAttributeIndex_t m_nAlpha2Field; // 0x620 +private: + [[maybe_unused]] uint8_t __pad0624[0x4]; // 0x624 +public: + // MPropertyFriendlyName "color blend" + // MPropertySortPriority "700" + CParticleCollectionRendererVecInput m_vecColorScale; // 0x628 + // MPropertyFriendlyName "color blend type" + // MPropertySortPriority "700" + ParticleColorBlendType_t m_nColorBlendType; // 0xc10 + // MPropertyStartGroup "+Material" + // MPropertyFriendlyName "Shader" + // MPropertySortPriority "600" + SpriteCardShaderType_t m_nShaderType; // 0xc14 + // MPropertyFriendlyName "Custom Shader" + // MPropertySuppressExpr "m_nShaderType != SPRITECARD_SHADER_CUSTOM" + // MPropertySortPriority "600" + CUtlString m_strShaderOverride; // 0xc18 + // MPropertyFriendlyName "X offset of center point" + // MPropertySortPriority "600" + CParticleCollectionRendererFloatInput m_flCenterXOffset; // 0xc20 + // MPropertyFriendlyName "Y offset of center point" + // MPropertySortPriority "600" + CParticleCollectionRendererFloatInput m_flCenterYOffset; // 0xd60 + // MPropertyFriendlyName "Bump Strength" + // MPropertySortPriority "600" + float m_flBumpStrength; // 0xea0 + // MPropertyFriendlyName "Sheet Crop Behavior" + // MPropertySortPriority "600" + ParticleSequenceCropOverride_t m_nCropTextureOverride; // 0xea4 + // MPropertyFriendlyName "Textures" + // MParticleRequireDefaultArrayEntry + // MPropertyAutoExpandSelf + // MPropertySortPriority "600" + CUtlVector< TextureGroup_t > m_vecTexturesInput; // 0xea8 + // MPropertyStartGroup "Animation" + // MPropertyFriendlyName "animation rate" + // MPropertyAttributeRange "0 5" + // MPropertySortPriority "500" + float m_flAnimationRate; // 0xec0 + // MPropertyFriendlyName "animation type" + // MPropertySortPriority "500" + AnimationType_t m_nAnimationType; // 0xec4 + // MPropertyFriendlyName "set animation value in FPS" + // MPropertySortPriority "500" + bool m_bAnimateInFPS; // 0xec8 +private: + [[maybe_unused]] uint8_t __pad0ec9[0x7]; // 0xec9 +public: + // MPropertyStartGroup "Lighting and Shadows" + // MPropertyFriendlyName "self illum amount" + // MPropertyAttributeRange "0 2" + // MPropertySortPriority "400" + CParticleCollectionRendererFloatInput m_flSelfIllumAmount; // 0xed0 + // MPropertyFriendlyName "diffuse lighting amount" + // MPropertyAttributeRange "0 1" + // MPropertySortPriority "400" + CParticleCollectionRendererFloatInput m_flDiffuseAmount; // 0x1010 + // MPropertyFriendlyName "diffuse lighting origin Control Point" + // MPropertySortPriority "400" + int32_t m_nLightingControlPoint; // 0x1150 + // MPropertyFriendlyName "self illum per-particle" + // MPropertyAttributeChoiceName "particlefield_scalar" + // MPropertySortPriority "400" + ParticleAttributeIndex_t m_nSelfIllumPerParticle; // 0x1154 + // MPropertyStartGroup "+Color and alpha adjustments" + // MPropertyFriendlyName "output blend mode" + // MPropertySortPriority "300" + ParticleOutputBlendMode_t m_nOutputBlendMode; // 0x1158 + // MPropertyFriendlyName "Gamma-correct vertex colors" + // MPropertySortPriority "300" + bool m_bGammaCorrectVertexColors; // 0x115c + // MPropertyFriendlyName "Saturate color pre alphablend" + // MPropertySortPriority "300" + // MPropertySuppressExpr "mod!=dota" + bool m_bSaturateColorPreAlphaBlend; // 0x115d +private: + [[maybe_unused]] uint8_t __pad115e[0x2]; // 0x115e +public: + // MPropertyFriendlyName "add self amount over alphablend" + // MPropertySortPriority "300" + CParticleCollectionRendererFloatInput m_flAddSelfAmount; // 0x1160 + // MPropertyFriendlyName "desaturation amount" + // MPropertyAttributeRange "0 1" + // MPropertySortPriority "300" + CParticleCollectionRendererFloatInput m_flDesaturation; // 0x12a0 + // MPropertyFriendlyName "overbright factor" + // MPropertySortPriority "300" + CParticleCollectionRendererFloatInput m_flOverbrightFactor; // 0x13e0 + // MPropertyFriendlyName "HSV Shift Control Point" + // MPropertySortPriority "300" + int32_t m_nHSVShiftControlPoint; // 0x1520 + // MPropertyFriendlyName "Apply fog to particle" + // MPropertySortPriority "300" + ParticleFogType_t m_nFogType; // 0x1524 + // MPropertyFriendlyName "Fog Scale" + // MPropertySortPriority "300" + // MPropertySuppressExpr "mod != hlx" + CParticleCollectionRendererFloatInput m_flFogAmount; // 0x1528 + // MPropertyFriendlyName "Apply fog of war to color" + // MPropertySortPriority "300" + // MPropertySuppressExpr "mod != dota" + bool m_bTintByFOW; // 0x1668 + // MPropertyFriendlyName "Apply global light to color" + // MPropertySortPriority "300" + // MPropertySuppressExpr "mod != dota" + bool m_bTintByGlobalLight; // 0x1669 +private: + [[maybe_unused]] uint8_t __pad166a[0x2]; // 0x166a +public: + // MPropertyStartGroup "Color and alpha adjustments/Alpha Reference" + // MPropertyFriendlyName "alpha reference" + // MPropertySortPriority "300" + SpriteCardPerParticleScale_t m_nPerParticleAlphaReference; // 0x166c + // MPropertyFriendlyName "alpha reference window size" + // MPropertySortPriority "300" + SpriteCardPerParticleScale_t m_nPerParticleAlphaRefWindow; // 0x1670 + // MPropertyFriendlyName "alpha reference type" + // MPropertySortPriority "300" + ParticleAlphaReferenceType_t m_nAlphaReferenceType; // 0x1674 + // MPropertyFriendlyName "alpha reference softness" + // MPropertyAttributeRange "0 1" + // MPropertySortPriority "300" + CParticleCollectionRendererFloatInput m_flAlphaReferenceSoftness; // 0x1678 + // MPropertyFriendlyName "source alpha value to map to alpha of zero" + // MPropertyAttributeRange "0 1" + // MPropertySortPriority "300" + CParticleCollectionRendererFloatInput m_flSourceAlphaValueToMapToZero; // 0x17b8 + // MPropertyFriendlyName "source alpha value to map to alpha of 1" + // MPropertyAttributeRange "0 1" + // MPropertySortPriority "300" + CParticleCollectionRendererFloatInput m_flSourceAlphaValueToMapToOne; // 0x18f8 + // MPropertyStartGroup "Refraction" + // MPropertyFriendlyName "refract background" + // MPropertySortPriority "200" + bool m_bRefract; // 0x1a38 + // MPropertyFriendlyName "refract draws opaque - alpha scales refraction" + // MPropertySortPriority "200" + // MPropertySuppressExpr "!m_bRefract" + bool m_bRefractSolid; // 0x1a39 +private: + [[maybe_unused]] uint8_t __pad1a3a[0x6]; // 0x1a3a +public: + // MPropertyFriendlyName "refract amount" + // MPropertyAttributeRange "-2 2" + // MPropertySortPriority "200" + // MPropertySuppressExpr "!m_bRefract" + CParticleCollectionRendererFloatInput m_flRefractAmount; // 0x1a40 + // MPropertyFriendlyName "refract blur radius" + // MPropertySortPriority "200" + // MPropertySuppressExpr "!m_bRefract" + int32_t m_nRefractBlurRadius; // 0x1b80 + // MPropertyFriendlyName "refract blur type" + // MPropertySortPriority "200" + // MPropertySuppressExpr "!m_bRefract" + BlurFilterType_t m_nRefractBlurType; // 0x1b84 + // MPropertyStartGroup + // MPropertyFriendlyName "Only Render in effects bloom pass" + // MPropertySortPriority "1100" + bool m_bOnlyRenderInEffectsBloomPass; // 0x1b88 + // MPropertyFriendlyName "Only Render in effects water pass" + // MPropertySortPriority "1050" + // MPropertySuppressExpr "mod != csgo" + bool m_bOnlyRenderInEffectsWaterPass; // 0x1b89 + // MPropertyFriendlyName "Use Mixed Resolution Rendering" + // MPropertySortPriority "1200" + bool m_bUseMixedResolutionRendering; // 0x1b8a + // MPropertyFriendlyName "Only Render in effects game overlay pass" + // MPropertySortPriority "1210" + // MPropertySuppressExpr "mod != csgo" + bool m_bOnlyRenderInEffecsGameOverlay; // 0x1b8b + // MPropertyStartGroup "Stencil" + // MPropertyFriendlyName "stencil test ID" + // MPropertySortPriority "0" + char m_stencilTestID[128]; // 0x1b8c + // MPropertyFriendlyName "only write where stencil is NOT stencil test ID" + // MPropertySortPriority "0" + bool m_bStencilTestExclude; // 0x1c0c + // MPropertyFriendlyName "stencil write ID" + // MPropertySortPriority "0" + char m_stencilWriteID[128]; // 0x1c0d + // MPropertyFriendlyName "write stencil on z-buffer test success" + // MPropertySortPriority "0" + bool m_bWriteStencilOnDepthPass; // 0x1c8d + // MPropertyFriendlyName "write stencil on z-buffer test failure" + // MPropertySortPriority "0" + bool m_bWriteStencilOnDepthFail; // 0x1c8e + // MPropertyStartGroup "Depth buffer control and effects" + // MPropertyFriendlyName "reverse z-buffer test" + // MPropertySortPriority "900" + bool m_bReverseZBuffering; // 0x1c8f + // MPropertyFriendlyName "disable z-buffer test" + // MPropertySortPriority "900" + bool m_bDisableZBuffering; // 0x1c90 +private: + [[maybe_unused]] uint8_t __pad1c91[0x3]; // 0x1c91 +public: + // MPropertyFriendlyName "Depth feathering mode" + // MPropertySortPriority "900" + ParticleDepthFeatheringMode_t m_nFeatheringMode; // 0x1c94 + // MPropertyFriendlyName "particle feathering closest distance to surface" + // MPropertySortPriority "900" + CParticleCollectionRendererFloatInput m_flFeatheringMinDist; // 0x1c98 + // MPropertyFriendlyName "particle feathering farthest distance to surface" + // MPropertySortPriority "900" + CParticleCollectionRendererFloatInput m_flFeatheringMaxDist; // 0x1dd8 + // MPropertyFriendlyName "particle feathering filter" + // MPropertySortPriority "900" + CParticleCollectionRendererFloatInput m_flFeatheringFilter; // 0x1f18 + // MPropertyFriendlyName "depth comparison bias" + // MPropertySortPriority "900" + float m_flDepthBias; // 0x2058 + // MPropertyFriendlyName "Sort Method" + // MPropertySortPriority "900" + ParticleSortingChoiceList_t m_nSortMethod; // 0x205c + // MPropertyStartGroup "Animation" + // MPropertyFriendlyName "blend sequence animation frames" + // MPropertySortPriority "500" + bool m_bBlendFramesSeq0; // 0x2060 + // MPropertyFriendlyName "use max-luminance blending for sequence" + // MPropertySortPriority "500" + // MPropertySuppressExpr "!m_bBlendFramesSeq0" + bool m_bMaxLuminanceBlendingSequence0; // 0x2061 +}; + +// Alignment: 3 +// Size: 0x48 +class CParticleModelInput +{ +private: + [[maybe_unused]] uint8_t __pad0000[0x4]; // 0x0 +public: + ParticleModelType_t m_nType; // 0x4 + CKV3MemberNameWithStorage m_NamedValue; // 0x8 + int32_t m_nControlPoint; // 0x40 +}; + +// Alignment: 22 +// Size: 0x1330 +class C_OP_RenderCables : public CParticleFunctionRenderer +{ +public: + // MPropertyStartGroup "Renderer Modifiers" + // MPropertyFriendlyName "Radius Scale" + // MPropertySortPriority "700" + CParticleCollectionFloatInput m_flRadiusScale; // 0x260 + // MPropertyFriendlyName "alpha scale" + // MPropertySortPriority "700" + CParticleCollectionFloatInput m_flAlphaScale; // 0x3a0 + // MPropertyFriendlyName "color blend" + // MPropertySortPriority "700" + CParticleCollectionVecInput m_vecColorScale; // 0x4e0 + // MPropertyFriendlyName "color blend type" + // MPropertySortPriority "700" + ParticleColorBlendType_t m_nColorBlendType; // 0xac8 +private: + [[maybe_unused]] uint8_t __pad0acc[0x4]; // 0xacc +public: + // MPropertyStartGroup + CStrongHandle< InfoForResourceTypeIMaterial2 > m_hMaterial; // 0xad0 + // MPropertyFriendlyName "texture repetition mode" + TextureRepetitionMode_t m_nTextureRepetitionMode; // 0xad8 +private: + [[maybe_unused]] uint8_t __pad0adc[0x4]; // 0xadc +public: + // MPropertyFriendlyName "texture repetitions" + CParticleCollectionFloatInput m_flTextureRepeatsPerSegment; // 0xae0 + // MPropertyFriendlyName "texture repetitions around cable" + CParticleCollectionFloatInput m_flTextureRepeatsCircumference; // 0xc20 + // MPropertyFriendlyName "color map offset along path" + CParticleCollectionFloatInput m_flColorMapOffsetV; // 0xd60 + // MPropertyFriendlyName "color map offset around cable" + CParticleCollectionFloatInput m_flColorMapOffsetU; // 0xea0 + // MPropertyFriendlyName "normal map offset along path" + CParticleCollectionFloatInput m_flNormalMapOffsetV; // 0xfe0 + // MPropertyFriendlyName "normal map offset around cable" + CParticleCollectionFloatInput m_flNormalMapOffsetU; // 0x1120 + // MPropertyFriendlyName "draw caps at each end of the cable" + bool m_bDrawCableCaps; // 0x1260 +private: + [[maybe_unused]] uint8_t __pad1261[0x3]; // 0x1261 +public: + // MPropertyFriendlyName "cable end cap shape factor" + // MPropertyAttributeRange "0 2" + float m_flCapRoundness; // 0x1264 + // MPropertyFriendlyName "cable end cap offset amount" + // MPropertyAttributeRange "0 2" + float m_flCapOffsetAmount; // 0x1268 + // MPropertyFriendlyName "tessellation scale factor" + float m_flTessScale; // 0x126c + // MPropertyFriendlyName "minimum steps between particles" + int32_t m_nMinTesselation; // 0x1270 + // MPropertyFriendlyName "maximum steps between particles" + int32_t m_nMaxTesselation; // 0x1274 + // MPropertyFriendlyName "roundness factor" + int32_t m_nRoundness; // 0x1278 +private: + [[maybe_unused]] uint8_t __pad127c[0x4]; // 0x127c +public: + // MPropertyFriendlyName "diffuse lighting origin" + // MParticleTransformInputOptional + CParticleTransformInput m_LightingTransform; // 0x1280 + // MPropertyFriendlyName "material float variables" + CUtlVector< FloatInputMaterialVariable_t > m_MaterialFloatVars; // 0x12d0 +private: + [[maybe_unused]] uint8_t __pad12e8[0x18]; // 0x12e8 +public: + // MPropertyFriendlyName "material vector variables" + CUtlVector< VecInputMaterialVariable_t > m_MaterialVecVars; // 0x1300 +}; + +// Alignment: 0 +// Size: 0x5e8 +class CPerParticleVecInput : public CParticleVecInput { public: // No members available }; // Alignment: 2 -// Size: 0x140 -struct FloatInputMaterialVariable_t -{ -public: - // MPropertyFriendlyName "material variable" - CUtlString m_strVariable; // 0x0 - // MPropertyFriendlyName "input" - CParticleCollectionFloatInput m_flInput; // 0x8 -}; - -// Alignment: 2 -// Size: 0x5d0 +// Size: 0x5f0 struct VecInputMaterialVariable_t { public: @@ -1587,505 +2763,130 @@ public: CParticleCollectionVecInput m_vecInput; // 0x8 }; -// Alignment: 8 -// Size: 0x50 -class CParticleTransformInput -{ -private: - [[maybe_unused]] uint8_t __pad0000[0x4]; // 0x0 -public: - ParticleTransformType_t m_nType; // 0x4 - CKV3MemberNameWithStorage m_NamedValue; // 0x8 - bool m_bFollowNamedValue; // 0x40 - bool m_bSupportsDisabled; // 0x41 - bool m_bUseOrientation; // 0x42 -private: - [[maybe_unused]] uint8_t __pad0043[0x1]; // 0x43 -public: - int32_t m_nControlPoint; // 0x44 - int32_t m_nControlPointRangeMax; // 0x48 - float m_flEndCPGrowthTime; // 0x4c -}; - -// Alignment: 1 -// Size: 0x1f0 -class CParticleFunctionEmitter : public CParticleFunction -{ - // Collision detected(0x1e8->0x1f0), output may be wrong. -public: - // Skipped field "m_nEmitterIndex" @ 0x1e8 because of the struct collision -}; - -// Alignment: 0 -// Size: 0x138 -class CPerParticleFloatInput : public CParticleFloatInput -{ -public: - // No members available -}; - -// Alignment: 1 -// Size: 0x1f0 -class CParticleFunctionInitializer : public CParticleFunction -{ - // Collision detected(0x1e8->0x1f0), output may be wrong. -public: - // Skipped field "m_nAssociatedEmitterIndex" @ 0x1e8 because of the struct collision -}; - -// Alignment: 0 -// Size: 0x138 -class CParticleRemapFloatInput : public CParticleFloatInput -{ -public: - // No members available -}; - -// Alignment: 22 -// Size: 0x12a0 -class C_OP_RenderCables : public CParticleFunctionRenderer -{ -public: - // MPropertyStartGroup "Renderer Modifiers" - // MPropertyFriendlyName "Radius Scale" - // MPropertySortPriority "700" - CParticleCollectionFloatInput m_flRadiusScale; // 0x230 - // MPropertyFriendlyName "alpha scale" - // MPropertySortPriority "700" - CParticleCollectionFloatInput m_flAlphaScale; // 0x368 - // MPropertyFriendlyName "color blend" - // MPropertySortPriority "700" - CParticleCollectionVecInput m_vecColorScale; // 0x4a0 - // MPropertyFriendlyName "color blend type" - // MPropertySortPriority "700" - ParticleColorBlendType_t m_nColorBlendType; // 0xa68 -private: - [[maybe_unused]] uint8_t __pad0a6c[0x4]; // 0xa6c -public: - // MPropertyStartGroup - CStrongHandle< InfoForResourceTypeIMaterial2 > m_hMaterial; // 0xa70 - // MPropertyFriendlyName "texture repetition mode" - TextureRepetitionMode_t m_nTextureRepetitionMode; // 0xa78 -private: - [[maybe_unused]] uint8_t __pad0a7c[0x4]; // 0xa7c -public: - // MPropertyFriendlyName "texture repetitions" - CParticleCollectionFloatInput m_flTextureRepeatsPerSegment; // 0xa80 - // MPropertyFriendlyName "texture repetitions around cable" - CParticleCollectionFloatInput m_flTextureRepeatsCircumference; // 0xbb8 - // MPropertyFriendlyName "color map offset along path" - CParticleCollectionFloatInput m_flColorMapOffsetV; // 0xcf0 - // MPropertyFriendlyName "color map offset around cable" - CParticleCollectionFloatInput m_flColorMapOffsetU; // 0xe28 - // MPropertyFriendlyName "normal map offset along path" - CParticleCollectionFloatInput m_flNormalMapOffsetV; // 0xf60 - // MPropertyFriendlyName "normal map offset around cable" - CParticleCollectionFloatInput m_flNormalMapOffsetU; // 0x1098 - // MPropertyFriendlyName "draw caps at each end of the cable" - bool m_bDrawCableCaps; // 0x11d0 -private: - [[maybe_unused]] uint8_t __pad11d1[0x3]; // 0x11d1 -public: - // MPropertyFriendlyName "cable end cap shape factor" - // MPropertyAttributeRange "0 2" - float m_flCapRoundness; // 0x11d4 - // MPropertyFriendlyName "cable end cap offset amount" - // MPropertyAttributeRange "0 2" - float m_flCapOffsetAmount; // 0x11d8 - // MPropertyFriendlyName "tessellation scale factor" - float m_flTessScale; // 0x11dc - // MPropertyFriendlyName "minimum steps between particles" - int32_t m_nMinTesselation; // 0x11e0 - // MPropertyFriendlyName "maximum steps between particles" - int32_t m_nMaxTesselation; // 0x11e4 - // MPropertyFriendlyName "roundness factor" - int32_t m_nRoundness; // 0x11e8 -private: - [[maybe_unused]] uint8_t __pad11ec[0x4]; // 0x11ec -public: - // MPropertyFriendlyName "diffuse lighting origin" - // MParticleTransformInputOptional - CParticleTransformInput m_LightingTransform; // 0x11f0 - // MPropertyFriendlyName "material float variables" - CUtlVector< FloatInputMaterialVariable_t > m_MaterialFloatVars; // 0x1240 -private: - [[maybe_unused]] uint8_t __pad1258[0x18]; // 0x1258 -public: - // MPropertyFriendlyName "material vector variables" - CUtlVector< VecInputMaterialVariable_t > m_MaterialVecVars; // 0x1270 -}; - -// Alignment: 60 -// Size: 0x2050 -class CBaseRendererSource2 : public CParticleFunctionRenderer -{ -public: - // MPropertyStartGroup "+Renderer Modifiers" - // MPropertyFriendlyName "radius scale" - // MPropertySortPriority "700" - CParticleCollectionFloatInput m_flRadiusScale; // 0x230 - // MPropertyFriendlyName "alpha scale" - // MPropertySortPriority "700" - CParticleCollectionFloatInput m_flAlphaScale; // 0x368 - // MPropertyFriendlyName "rotation roll scale" - // MPropertySortPriority "700" - CParticleCollectionFloatInput m_flRollScale; // 0x4a0 - // MPropertyFriendlyName "per-particle alpha scale attribute" - // MPropertyAttributeChoiceName "particlefield_scalar" - // MPropertySortPriority "700" - ParticleAttributeIndex_t m_nAlpha2Field; // 0x5d8 -private: - [[maybe_unused]] uint8_t __pad05dc[0x4]; // 0x5dc -public: - // MPropertyFriendlyName "color blend" - // MPropertySortPriority "700" - CParticleCollectionVecInput m_vecColorScale; // 0x5e0 - // MPropertyFriendlyName "color blend type" - // MPropertySortPriority "700" - ParticleColorBlendType_t m_nColorBlendType; // 0xba8 - // MPropertyStartGroup "+Material" - // MPropertyFriendlyName "Shader" - // MPropertySortPriority "600" - SpriteCardShaderType_t m_nShaderType; // 0xbac - // MPropertyFriendlyName "Custom Shader" - // MPropertySuppressExpr "m_nShaderType != SPRITECARD_SHADER_CUSTOM" - // MPropertySortPriority "600" - CUtlString m_strShaderOverride; // 0xbb0 - // MPropertyFriendlyName "X offset of center point" - // MPropertySortPriority "600" - CParticleCollectionFloatInput m_flCenterXOffset; // 0xbb8 - // MPropertyFriendlyName "Y offset of center point" - // MPropertySortPriority "600" - CParticleCollectionFloatInput m_flCenterYOffset; // 0xcf0 - // MPropertyFriendlyName "Bump Strength" - // MPropertySortPriority "600" - float m_flBumpStrength; // 0xe28 - // MPropertyFriendlyName "Sheet Crop Behavior" - // MPropertySortPriority "600" - ParticleSequenceCropOverride_t m_nCropTextureOverride; // 0xe2c - // MPropertyFriendlyName "Textures" - // MParticleRequireDefaultArrayEntry - // MPropertyAutoExpandSelf - // MPropertySortPriority "600" - CUtlVector< TextureGroup_t > m_vecTexturesInput; // 0xe30 - // MPropertyStartGroup "Animation" - // MPropertyFriendlyName "animation rate" - // MPropertyAttributeRange "0 5" - // MPropertySortPriority "500" - float m_flAnimationRate; // 0xe48 - // MPropertyFriendlyName "animation type" - // MPropertySortPriority "500" - AnimationType_t m_nAnimationType; // 0xe4c - // MPropertyFriendlyName "set animation value in FPS" - // MPropertySortPriority "500" - bool m_bAnimateInFPS; // 0xe50 -private: - [[maybe_unused]] uint8_t __pad0e51[0x7]; // 0xe51 -public: - // MPropertyStartGroup "Lighting and Shadows" - // MPropertyFriendlyName "self illum amount" - // MPropertyAttributeRange "0 2" - // MPropertySortPriority "400" - CParticleCollectionFloatInput m_flSelfIllumAmount; // 0xe58 - // MPropertyFriendlyName "diffuse lighting amount" - // MPropertyAttributeRange "0 1" - // MPropertySortPriority "400" - CParticleCollectionFloatInput m_flDiffuseAmount; // 0xf90 - // MPropertyFriendlyName "diffuse lighting origin Control Point" - // MPropertySortPriority "400" - int32_t m_nLightingControlPoint; // 0x10c8 - // MPropertyFriendlyName "self illum per-particle" - // MPropertyAttributeChoiceName "particlefield_scalar" - // MPropertySortPriority "400" - ParticleAttributeIndex_t m_nSelfIllumPerParticle; // 0x10cc - // MPropertyStartGroup "+Color and alpha adjustments" - // MPropertyFriendlyName "output blend mode" - // MPropertySortPriority "300" - ParticleOutputBlendMode_t m_nOutputBlendMode; // 0x10d0 - // MPropertyFriendlyName "Gamma-correct vertex colors" - // MPropertySortPriority "300" - bool m_bGammaCorrectVertexColors; // 0x10d4 - // MPropertyFriendlyName "Saturate color pre alphablend" - // MPropertySortPriority "300" - // MPropertySuppressExpr "mod!=dota" - bool m_bSaturateColorPreAlphaBlend; // 0x10d5 -private: - [[maybe_unused]] uint8_t __pad10d6[0x2]; // 0x10d6 -public: - // MPropertyFriendlyName "add self amount over alphablend" - // MPropertySortPriority "300" - CParticleCollectionFloatInput m_flAddSelfAmount; // 0x10d8 - // MPropertyFriendlyName "desaturation amount" - // MPropertyAttributeRange "0 1" - // MPropertySortPriority "300" - CParticleCollectionFloatInput m_flDesaturation; // 0x1210 - // MPropertyFriendlyName "overbright factor" - // MPropertySortPriority "300" - CParticleCollectionFloatInput m_flOverbrightFactor; // 0x1348 - // MPropertyFriendlyName "HSV Shift Control Point" - // MPropertySortPriority "300" - int32_t m_nHSVShiftControlPoint; // 0x1480 - // MPropertyFriendlyName "Apply fog to particle" - // MPropertySortPriority "300" - ParticleFogType_t m_nFogType; // 0x1484 - // MPropertyFriendlyName "Apply fog of war to color" - // MPropertySortPriority "300" - // MPropertySuppressExpr "mod != dota" - bool m_bTintByFOW; // 0x1488 - // MPropertyFriendlyName "Apply global light to color" - // MPropertySortPriority "300" - // MPropertySuppressExpr "mod != dota" - bool m_bTintByGlobalLight; // 0x1489 -private: - [[maybe_unused]] uint8_t __pad148a[0x2]; // 0x148a -public: - // MPropertyStartGroup "Color and alpha adjustments/Alpha Reference" - // MPropertyFriendlyName "alpha reference" - // MPropertySortPriority "300" - SpriteCardPerParticleScale_t m_nPerParticleAlphaReference; // 0x148c - // MPropertyFriendlyName "alpha reference window size" - // MPropertySortPriority "300" - SpriteCardPerParticleScale_t m_nPerParticleAlphaRefWindow; // 0x1490 - // MPropertyFriendlyName "alpha reference type" - // MPropertySortPriority "300" - ParticleAlphaReferenceType_t m_nAlphaReferenceType; // 0x1494 - // MPropertyFriendlyName "alpha reference softness" - // MPropertyAttributeRange "0 1" - // MPropertySortPriority "300" - CParticleCollectionFloatInput m_flAlphaReferenceSoftness; // 0x1498 - // MPropertyFriendlyName "source alpha value to map to alpha of zero" - // MPropertyAttributeRange "0 1" - // MPropertySortPriority "300" - CParticleCollectionFloatInput m_flSourceAlphaValueToMapToZero; // 0x15d0 - // MPropertyFriendlyName "source alpha value to map to alpha of 1" - // MPropertyAttributeRange "0 1" - // MPropertySortPriority "300" - CParticleCollectionFloatInput m_flSourceAlphaValueToMapToOne; // 0x1708 - // MPropertyStartGroup "Refraction" - // MPropertyFriendlyName "refract background" - // MPropertySortPriority "200" - bool m_bRefract; // 0x1840 - // MPropertyFriendlyName "refract draws opaque - alpha scales refraction" - // MPropertySortPriority "200" - // MPropertySuppressExpr "!m_bRefract" - bool m_bRefractSolid; // 0x1841 -private: - [[maybe_unused]] uint8_t __pad1842[0x6]; // 0x1842 -public: - // MPropertyFriendlyName "refract amount" - // MPropertyAttributeRange "-2 2" - // MPropertySortPriority "200" - // MPropertySuppressExpr "!m_bRefract" - CParticleCollectionFloatInput m_flRefractAmount; // 0x1848 - // MPropertyFriendlyName "refract blur radius" - // MPropertySortPriority "200" - // MPropertySuppressExpr "!m_bRefract" - int32_t m_nRefractBlurRadius; // 0x1980 - // MPropertyFriendlyName "refract blur type" - // MPropertySortPriority "200" - // MPropertySuppressExpr "!m_bRefract" - BlurFilterType_t m_nRefractBlurType; // 0x1984 - // MPropertyStartGroup - // MPropertyFriendlyName "Only Render in effects bloom pass" - // MPropertySortPriority "1100" - bool m_bOnlyRenderInEffectsBloomPass; // 0x1988 - // MPropertyFriendlyName "Only Render in effects water pass" - // MPropertySortPriority "1050" - // MPropertySuppressExpr "mod != csgo" - bool m_bOnlyRenderInEffectsWaterPass; // 0x1989 - // MPropertyFriendlyName "Use Mixed Resolution Rendering" - // MPropertySortPriority "1200" - bool m_bUseMixedResolutionRendering; // 0x198a - // MPropertyFriendlyName "Only Render in effects game overlay pass" - // MPropertySortPriority "1210" - // MPropertySuppressExpr "mod != csgo" - bool m_bOnlyRenderInEffecsGameOverlay; // 0x198b - // MPropertyStartGroup "Stencil" - // MPropertyFriendlyName "stencil test ID" - // MPropertySortPriority "0" - char m_stencilTestID[128]; // 0x198c - // MPropertyFriendlyName "only write where stencil is NOT stencil test ID" - // MPropertySortPriority "0" - bool m_bStencilTestExclude; // 0x1a0c - // MPropertyFriendlyName "stencil write ID" - // MPropertySortPriority "0" - char m_stencilWriteID[128]; // 0x1a0d - // MPropertyFriendlyName "write stencil on z-buffer test success" - // MPropertySortPriority "0" - bool m_bWriteStencilOnDepthPass; // 0x1a8d - // MPropertyFriendlyName "write stencil on z-buffer test failure" - // MPropertySortPriority "0" - bool m_bWriteStencilOnDepthFail; // 0x1a8e - // MPropertyStartGroup "Depth buffer control and effects" - // MPropertyFriendlyName "reverse z-buffer test" - // MPropertySortPriority "900" - bool m_bReverseZBuffering; // 0x1a8f - // MPropertyFriendlyName "disable z-buffer test" - // MPropertySortPriority "900" - bool m_bDisableZBuffering; // 0x1a90 -private: - [[maybe_unused]] uint8_t __pad1a91[0x3]; // 0x1a91 -public: - // MPropertyFriendlyName "Depth feathering mode" - // MPropertySortPriority "900" - ParticleDepthFeatheringMode_t m_nFeatheringMode; // 0x1a94 - // MPropertyFriendlyName "particle feathering closest distance to surface" - // MPropertySortPriority "900" - CParticleCollectionFloatInput m_flFeatheringMinDist; // 0x1a98 - // MPropertyFriendlyName "particle feathering farthest distance to surface" - // MPropertySortPriority "900" - CParticleCollectionFloatInput m_flFeatheringMaxDist; // 0x1bd0 - // MPropertyFriendlyName "particle feathering filter" - // MPropertySortPriority "900" - CParticleCollectionFloatInput m_flFeatheringFilter; // 0x1d08 - // MPropertyFriendlyName "depth comparison bias" - // MPropertySortPriority "900" - float m_flDepthBias; // 0x1e40 - // MPropertyFriendlyName "Sort Method" - // MPropertySortPriority "900" - ParticleSortingChoiceList_t m_nSortMethod; // 0x1e44 - // MPropertyStartGroup "Animation" - // MPropertyFriendlyName "blend sequence animation frames" - // MPropertySortPriority "500" - bool m_bBlendFramesSeq0; // 0x1e48 - // MPropertyFriendlyName "use max-luminance blending for sequence" - // MPropertySortPriority "500" - // MPropertySuppressExpr "!m_bBlendFramesSeq0" - bool m_bMaxLuminanceBlendingSequence0; // 0x1e49 -}; - -// Alignment: 0 -// Size: 0x5c8 -class CPerParticleVecInput : public CParticleVecInput -{ -public: - // No members available -}; - // Alignment: 27 -// Size: 0x26c0 +// Size: 0x2910 class C_OP_RenderSprites : public CBaseRendererSource2 { public: // MPropertyStartGroup "Animation" // MPropertyFriendlyName "sequence id override" // MPropertySortPriority "500" - CParticleCollectionFloatInput m_nSequenceOverride; // 0x2050 + CParticleCollectionRendererFloatInput m_nSequenceOverride; // 0x2270 // MPropertyStartGroup "Orientation" // MPropertyFriendlyName "orientation type" // MPropertySortPriority "750" - ParticleOrientationChoiceList_t m_nOrientationType; // 0x2188 + ParticleOrientationChoiceList_t m_nOrientationType; // 0x23b0 // MPropertyFriendlyName "orientation control point" // MPropertySortPriority "750" // MPropertySuppressExpr "m_nOrientationType != PARTICLE_ORIENTATION_ALIGN_TO_PARTICLE_NORMAL && m_nOrientationType != PARTICLE_ORIENTATION_SCREENALIGN_TO_PARTICLE_NORMAL" - int32_t m_nOrientationControlPoint; // 0x218c + int32_t m_nOrientationControlPoint; // 0x23b4 // MPropertyFriendlyName "enable yaw for particles aligned to normals" // MPropertySortPriority "750" // MPropertySuppressExpr "m_nOrientationType != PARTICLE_ORIENTATION_ALIGN_TO_PARTICLE_NORMAL && m_nOrientationType != PARTICLE_ORIENTATION_SCREENALIGN_TO_PARTICLE_NORMAL" - bool m_bUseYawWithNormalAligned; // 0x2190 + bool m_bUseYawWithNormalAligned; // 0x23b8 private: - [[maybe_unused]] uint8_t __pad2191[0x3]; // 0x2191 + [[maybe_unused]] uint8_t __pad23b9[0x3]; // 0x23b9 public: // MPropertyStartGroup "Fading and culling" // MPropertyFriendlyName "minimum visual screen size" // MPropertySortPriority "1000" - float m_flMinSize; // 0x2194 + float m_flMinSize; // 0x23bc // MPropertyFriendlyName "maximum visual screen size" // MPropertySortPriority "1000" - float m_flMaxSize; // 0x2198 + float m_flMaxSize; // 0x23c0 // MPropertyFriendlyName "Factor to map size adjustment to alpha" // MPropertySortPriority "1000" - float m_flAlphaAdjustWithSizeAdjust; // 0x219c + float m_flAlphaAdjustWithSizeAdjust; // 0x23c4 // MPropertyFriendlyName "screen size to start fading" // MPropertySortPriority "1000" - CParticleCollectionFloatInput m_flStartFadeSize; // 0x21a0 + CParticleCollectionRendererFloatInput m_flStartFadeSize; // 0x23c8 // MPropertyFriendlyName "screen size to fade away" // MPropertySortPriority "1000" - CParticleCollectionFloatInput m_flEndFadeSize; // 0x22d8 + CParticleCollectionRendererFloatInput m_flEndFadeSize; // 0x2508 // MPropertyFriendlyName "start fade dot product of normal vs view" // MPropertySortPriority "1000" - float m_flStartFadeDot; // 0x2410 + float m_flStartFadeDot; // 0x2648 // MPropertyFriendlyName "end fade dot product of normal vs view" // MPropertySortPriority "1000" - float m_flEndFadeDot; // 0x2414 + float m_flEndFadeDot; // 0x264c // MPropertyStartGroup "Distance to alpha coding" // MPropertyFriendlyName "distance alpha" // MPropertySortPriority "0" - bool m_bDistanceAlpha; // 0x2418 + bool m_bDistanceAlpha; // 0x2650 // MPropertyFriendlyName "use soft edges for distance alpha" // MPropertySortPriority "0" // MPropertySuppressExpr "!m_bDistanceAlpha" - bool m_bSoftEdges; // 0x2419 + bool m_bSoftEdges; // 0x2651 private: - [[maybe_unused]] uint8_t __pad241a[0x2]; // 0x241a + [[maybe_unused]] uint8_t __pad2652[0x2]; // 0x2652 public: // MPropertyFriendlyName "start value for soft edges for distance alpha" // MPropertySortPriority "0" // MPropertySuppressExpr "!m_bDistanceAlpha" - float m_flEdgeSoftnessStart; // 0x241c + float m_flEdgeSoftnessStart; // 0x2654 // MPropertyFriendlyName "end value for soft edges for distance alpha" // MPropertySortPriority "0" // MPropertySuppressExpr "!m_bDistanceAlpha" - float m_flEdgeSoftnessEnd; // 0x2420 + float m_flEdgeSoftnessEnd; // 0x2658 // MPropertyStartGroup "Outlining" // MPropertyFriendlyName "enable particle outlining" // MPropertySortPriority "0" - bool m_bOutline; // 0x2424 + bool m_bOutline; // 0x265c // MPropertyFriendlyName "outline color" // MPropertySortPriority "0" // MPropertySuppressExpr "!m_bOutline" - Color m_OutlineColor; // 0x2425 + Color m_OutlineColor; // 0x265d private: - [[maybe_unused]] uint8_t __pad2429[0x3]; // 0x2429 + [[maybe_unused]] uint8_t __pad2661[0x3]; // 0x2661 public: // MPropertyFriendlyName "outline alpha" // MPropertyAttributeRange "0 255" // MPropertySortPriority "0" // MPropertySuppressExpr "!m_bOutline" - int32_t m_nOutlineAlpha; // 0x242c + int32_t m_nOutlineAlpha; // 0x2664 // MPropertyFriendlyName "outline start 0" // MPropertySortPriority "0" // MPropertySuppressExpr "!m_bOutline" - float m_flOutlineStart0; // 0x2430 + float m_flOutlineStart0; // 0x2668 // MPropertyFriendlyName "outline start 1" // MPropertySortPriority "0" // MPropertySuppressExpr "!m_bOutline" - float m_flOutlineStart1; // 0x2434 + float m_flOutlineStart1; // 0x266c // MPropertyFriendlyName "outline end 0" // MPropertySortPriority "0" // MPropertySuppressExpr "!m_bOutline" - float m_flOutlineEnd0; // 0x2438 + float m_flOutlineEnd0; // 0x2670 // MPropertyFriendlyName "outline end 1" // MPropertySortPriority "0" // MPropertySuppressExpr "!m_bOutline" - float m_flOutlineEnd1; // 0x243c + float m_flOutlineEnd1; // 0x2674 // MPropertyStartGroup "Lighting and Shadows" // MPropertyFriendlyName "lighting mode" // MPropertySortPriority "400" // MPropertySuppressExpr "mod != hlx" - ParticleLightingQuality_t m_nLightingMode; // 0x2440 + ParticleLightingQuality_t m_nLightingMode; // 0x2678 private: - [[maybe_unused]] uint8_t __pad2444[0x4]; // 0x2444 + [[maybe_unused]] uint8_t __pad267c[0x4]; // 0x267c public: // MPropertyFriendlyName "vertex lighting tessellation (0-5)" // MPropertyAttributeRange "0 5" // MPropertySortPriority "400" // MPropertySuppressExpr "mod != hlx || m_nLightingMode != PARTICLE_LIGHTING_PER_VERTEX" - CParticleCollectionFloatInput m_flLightingTessellation; // 0x2448 + CParticleCollectionRendererFloatInput m_flLightingTessellation; // 0x2680 // MPropertyFriendlyName "lighting directionality" // MPropertySortPriority "400" // MPropertySuppressExpr "mod != hlx" - CParticleCollectionFloatInput m_flLightingDirectionality; // 0x2580 + CParticleCollectionRendererFloatInput m_flLightingDirectionality; // 0x27c0 // MPropertyFriendlyName "Particle Shadows" // MPropertySortPriority "400" - bool m_bParticleShadows; // 0x26b8 + bool m_bParticleShadows; // 0x2900 private: - [[maybe_unused]] uint8_t __pad26b9[0x3]; // 0x26b9 + [[maybe_unused]] uint8_t __pad2901[0x3]; // 0x2901 public: // MPropertyFriendlyName "Shadow Density" // MPropertySortPriority "400" // MPropertySuppressExpr "!m_bParticleShadows" - float m_flShadowDensity; // 0x26bc + float m_flShadowDensity; // 0x2904 }; // Alignment: 1 @@ -2114,6 +2915,14 @@ public: // No members available }; +// Alignment: 0 +// Size: 0x108 +class CParticleCollectionBindingInstance : public CBasePulseGraphInstance +{ +public: + // No members available +}; + // Alignment: 0 // Size: 0x28 class CParticleProperty @@ -2179,116 +2988,116 @@ public: }; // Alignment: 5 -// Size: 0x480 +// Size: 0x4b0 class C_OP_ConstrainDistance : public CParticleFunctionConstraint { public: // MPropertyFriendlyName "minimum distance" - CParticleCollectionFloatInput m_fMinDistance; // 0x1f0 + CParticleCollectionFloatInput m_fMinDistance; // 0x210 // MPropertyFriendlyName "maximum distance" - CParticleCollectionFloatInput m_fMaxDistance; // 0x328 + CParticleCollectionFloatInput m_fMaxDistance; // 0x350 // MPropertyFriendlyName "control point number" - int32_t m_nControlPointNumber; // 0x460 + int32_t m_nControlPointNumber; // 0x490 // MPropertyFriendlyName "offset of center" // MVectorIsCoordinate - Vector m_CenterOffset; // 0x464 + Vector m_CenterOffset; // 0x494 // MPropertyFriendlyName "global center point" - bool m_bGlobalCenter; // 0x470 + bool m_bGlobalCenter; // 0x4a0 }; // Alignment: 2 -// Size: 0x460 +// Size: 0x490 class C_OP_CollideWithSelf : public CParticleFunctionConstraint { public: // MPropertyFriendlyName "particle radius scale" - CPerParticleFloatInput m_flRadiusScale; // 0x1f0 + CPerParticleFloatInput m_flRadiusScale; // 0x210 // MPropertyFriendlyName "minimum speed for check" - CPerParticleFloatInput m_flMinimumSpeed; // 0x328 + CPerParticleFloatInput m_flMinimumSpeed; // 0x350 }; // Alignment: 2 -// Size: 0x460 +// Size: 0x490 class C_OP_CollideWithParentParticles : public CParticleFunctionConstraint { public: // MPropertyFriendlyName "parent particle radius scale" - CPerParticleFloatInput m_flParentRadiusScale; // 0x1f0 + CPerParticleFloatInput m_flParentRadiusScale; // 0x210 // MPropertyFriendlyName "particle radius scale" - CPerParticleFloatInput m_flRadiusScale; // 0x328 + CPerParticleFloatInput m_flRadiusScale; // 0x350 }; // Alignment: 8 -// Size: 0x250 +// Size: 0x270 class C_OP_ConstrainDistanceToPath : public CParticleFunctionConstraint { public: // MPropertyFriendlyName "minimum distance" - float m_fMinDistance; // 0x1f0 + float m_fMinDistance; // 0x210 // MPropertyFriendlyName "maximum distance" - float m_flMaxDistance0; // 0x1f4 + float m_flMaxDistance0; // 0x214 // MPropertyFriendlyName "maximum distance middle" - float m_flMaxDistanceMid; // 0x1f8 + float m_flMaxDistanceMid; // 0x218 // MPropertyFriendlyName "maximum distance end" - float m_flMaxDistance1; // 0x1fc - CPathParameters m_PathParameters; // 0x200 + float m_flMaxDistance1; // 0x21c + CPathParameters m_PathParameters; // 0x220 // MPropertyFriendlyName "travel time" - float m_flTravelTime; // 0x240 + float m_flTravelTime; // 0x260 // MPropertyFriendlyName "travel time scale field" // MPropertyAttributeChoiceName "particlefield_scalar" - ParticleAttributeIndex_t m_nFieldScale; // 0x244 + ParticleAttributeIndex_t m_nFieldScale; // 0x264 // MPropertyFriendlyName "manual time placement field" // MPropertyAttributeChoiceName "particlefield_scalar" - ParticleAttributeIndex_t m_nManualTField; // 0x248 + ParticleAttributeIndex_t m_nManualTField; // 0x268 }; // Alignment: 5 -// Size: 0x220 +// Size: 0x240 class C_OP_ConstrainDistanceToUserSpecifiedPath : public CParticleFunctionConstraint { public: // MPropertyFriendlyName "minimum distance" - float m_fMinDistance; // 0x1f0 + float m_fMinDistance; // 0x210 // MPropertyFriendlyName "maximum distance" - float m_flMaxDistance; // 0x1f4 + float m_flMaxDistance; // 0x214 // MPropertyFriendlyName "Time scale" - float m_flTimeScale; // 0x1f8 + float m_flTimeScale; // 0x218 // MPropertyFriendlyName "Treat path as a loop" - bool m_bLoopedPath; // 0x1fc + bool m_bLoopedPath; // 0x21c private: - [[maybe_unused]] uint8_t __pad01fd[0x3]; // 0x1fd + [[maybe_unused]] uint8_t __pad021d[0x3]; // 0x21d public: // MPropertyFriendlyName "path points" - CUtlVector< PointDefinitionWithTimeValues_t > m_pointList; // 0x200 + CUtlVector< PointDefinitionWithTimeValues_t > m_pointList; // 0x220 }; // Alignment: 7 -// Size: 0x480 +// Size: 0x4b0 class C_OP_PlanarConstraint : public CParticleFunctionConstraint { public: // MPropertyFriendlyName "plane point" // MVectorIsCoordinate - Vector m_PointOnPlane; // 0x1f0 + Vector m_PointOnPlane; // 0x210 // MPropertyFriendlyName "plane normal" - Vector m_PlaneNormal; // 0x1fc + Vector m_PlaneNormal; // 0x21c // MPropertyFriendlyName "control point number" - int32_t m_nControlPointNumber; // 0x208 + int32_t m_nControlPointNumber; // 0x228 // MPropertyFriendlyName "global origin" - bool m_bGlobalOrigin; // 0x20c + bool m_bGlobalOrigin; // 0x22c // MPropertyFriendlyName "global normal" - bool m_bGlobalNormal; // 0x20d + bool m_bGlobalNormal; // 0x22d private: - [[maybe_unused]] uint8_t __pad020e[0x2]; // 0x20e + [[maybe_unused]] uint8_t __pad022e[0x2]; // 0x22e public: // MPropertyFriendlyName "radius scale" - CPerParticleFloatInput m_flRadiusScale; // 0x210 + CPerParticleFloatInput m_flRadiusScale; // 0x230 // MPropertyFriendlyName "falloff distance from control point" - CParticleCollectionFloatInput m_flMaximumDistanceToCP; // 0x348 + CParticleCollectionFloatInput m_flMaximumDistanceToCP; // 0x370 }; // Alignment: 0 -// Size: 0x1f0 +// Size: 0x210 class C_OP_WorldCollideConstraint : public CParticleFunctionConstraint { public: @@ -2296,849 +3105,846 @@ public: }; // Alignment: 26 -// Size: 0x8e0 +// Size: 0x920 class C_OP_WorldTraceConstraint : public CParticleFunctionConstraint { public: // MPropertyFriendlyName "control point for fast collision tests" - int32_t m_nCP; // 0x1f0 + int32_t m_nCP; // 0x210 // MPropertyFriendlyName "control point offset for fast collisions" // MVectorIsCoordinate - Vector m_vecCpOffset; // 0x1f4 + Vector m_vecCpOffset; // 0x214 // MPropertyFriendlyName "collision mode" - ParticleCollisionMode_t m_nCollisionMode; // 0x200 + ParticleCollisionMode_t m_nCollisionMode; // 0x220 // MPropertyFriendlyName "minimum detail collision mode" - ParticleCollisionMode_t m_nCollisionModeMin; // 0x204 + ParticleCollisionMode_t m_nCollisionModeMin; // 0x224 // MPropertyStartGroup "Collision Options" // MPropertyFriendlyName "Trace Set" - ParticleTraceSet_t m_nTraceSet; // 0x208 + ParticleTraceSet_t m_nTraceSet; // 0x228 // MPropertyFriendlyName "collision group" - char m_CollisionGroupName[128]; // 0x20c + char m_CollisionGroupName[128]; // 0x22c // MPropertyFriendlyName "World Only" - bool m_bWorldOnly; // 0x28c + bool m_bWorldOnly; // 0x2ac // MPropertyFriendlyName "brush only" - bool m_bBrushOnly; // 0x28d + bool m_bBrushOnly; // 0x2ad // MPropertyFriendlyName "include water" - bool m_bIncludeWater; // 0x28e + bool m_bIncludeWater; // 0x2ae private: - [[maybe_unused]] uint8_t __pad028f[0x1]; // 0x28f + [[maybe_unused]] uint8_t __pad02af[0x1]; // 0x2af public: // MPropertyFriendlyName "CP Entity to Ignore for Collisions" - int32_t m_nIgnoreCP; // 0x290 + int32_t m_nIgnoreCP; // 0x2b0 // MPropertyFriendlyName "control point movement distance tolerance" // MPropertySuppressExpr "m_nCollisionMode == COLLISION_MODE_PER_PARTICLE_TRACE" - float m_flCpMovementTolerance; // 0x294 + float m_flCpMovementTolerance; // 0x2b4 // MPropertyFriendlyName "plane cache retest rate" // MPropertySuppressExpr "m_nCollisionMode != COLLISION_MODE_PER_FRAME_PLANESET" - float m_flRetestRate; // 0x298 + float m_flRetestRate; // 0x2b8 // MPropertyFriendlyName "trace accuracy tolerance" // MPropertySuppressExpr "m_nCollisionMode != COLLISION_MODE_USE_NEAREST_TRACE" - float m_flTraceTolerance; // 0x29c + float m_flTraceTolerance; // 0x2bc // MPropertyFriendlyName "Confirm Collision Speed Threshold" // MPropertySuppressExpr "m_nCollisionMode == COLLISION_MODE_PER_PARTICLE_TRACE" - float m_flCollisionConfirmationSpeed; // 0x2a0 + float m_flCollisionConfirmationSpeed; // 0x2c0 // MPropertyFriendlyName "Max Confirmation Traces Per Fame" // MPropertySuppressExpr "m_nCollisionMode == COLLISION_MODE_PER_PARTICLE_TRACE" - float m_nMaxTracesPerFrame; // 0x2a4 + float m_nMaxTracesPerFrame; // 0x2c4 // MPropertyStartGroup "Impact Options" // MPropertyFriendlyName "radius scale" - CPerParticleFloatInput m_flRadiusScale; // 0x2a8 + CPerParticleFloatInput m_flRadiusScale; // 0x2c8 // MPropertyFriendlyName "amount of bounce" - CPerParticleFloatInput m_flBounceAmount; // 0x3e0 + CPerParticleFloatInput m_flBounceAmount; // 0x408 // MPropertyFriendlyName "amount of slide" - CPerParticleFloatInput m_flSlideAmount; // 0x518 + CPerParticleFloatInput m_flSlideAmount; // 0x548 // MPropertyFriendlyName "Random Direction scale" - CPerParticleFloatInput m_flRandomDirScale; // 0x650 + CPerParticleFloatInput m_flRandomDirScale; // 0x688 // MPropertyFriendlyName "Add Decay to Bounce" - bool m_bDecayBounce; // 0x788 + bool m_bDecayBounce; // 0x7c8 // MPropertyFriendlyName "kill particle on collision" - bool m_bKillonContact; // 0x789 + bool m_bKillonContact; // 0x7c9 private: - [[maybe_unused]] uint8_t __pad078a[0x2]; // 0x78a + [[maybe_unused]] uint8_t __pad07ca[0x2]; // 0x7ca public: // MPropertyFriendlyName "minimum speed to kill on collision" - float m_flMinSpeed; // 0x78c + float m_flMinSpeed; // 0x7cc // MPropertyFriendlyName "Set Normal" - bool m_bSetNormal; // 0x790 + bool m_bSetNormal; // 0x7d0 private: - [[maybe_unused]] uint8_t __pad0791[0x3]; // 0x791 + [[maybe_unused]] uint8_t __pad07d1[0x3]; // 0x7d1 public: // MPropertyFriendlyName "Stick On Collision Cache Field" // MPropertyAttributeChoiceName "particlefield_vector" - ParticleAttributeIndex_t m_nStickOnCollisionField; // 0x794 + ParticleAttributeIndex_t m_nStickOnCollisionField; // 0x7d4 // MPropertyFriendlyName "Speed to stop when sticking" - CPerParticleFloatInput m_flStopSpeed; // 0x798 + CPerParticleFloatInput m_flStopSpeed; // 0x7d8 // MPropertyFriendlyName "Entity Hitbox Cache Field (Requires Stick on Collision)" // MPropertyAttributeChoiceName "particlefield_vector" - ParticleAttributeIndex_t m_nEntityStickDataField; // 0x8d0 + ParticleAttributeIndex_t m_nEntityStickDataField; // 0x918 }; // Alignment: 4 -// Size: 0x210 +// Size: 0x230 class C_OP_BoxConstraint : public CParticleFunctionConstraint { public: // MPropertyFriendlyName "min coords" - Vector m_vecMin; // 0x1f0 + Vector m_vecMin; // 0x210 // MPropertyFriendlyName "max coords" - Vector m_vecMax; // 0x1fc + Vector m_vecMax; // 0x21c // MPropertyFriendlyName "control point" - int32_t m_nCP; // 0x208 + int32_t m_nCP; // 0x228 // MPropertyFriendlyName "use local space" - bool m_bLocalSpace; // 0x20c + bool m_bLocalSpace; // 0x22c }; // Alignment: 5 -// Size: 0x6e0 +// Size: 0x720 class C_OP_RopeSpringConstraint : public CParticleFunctionConstraint { public: // MPropertyFriendlyName "slack" - CParticleCollectionFloatInput m_flRestLength; // 0x1f0 + CParticleCollectionFloatInput m_flRestLength; // 0x210 // MPropertyFriendlyName "minimum segment length %" - CParticleCollectionFloatInput m_flMinDistance; // 0x328 + CParticleCollectionFloatInput m_flMinDistance; // 0x350 // MPropertyFriendlyName "maximum segment length %" - CParticleCollectionFloatInput m_flMaxDistance; // 0x460 + CParticleCollectionFloatInput m_flMaxDistance; // 0x490 // MPropertyFriendlyName "scale factor for spring correction" - float m_flAdjustmentScale; // 0x598 + float m_flAdjustmentScale; // 0x5d0 private: - [[maybe_unused]] uint8_t __pad059c[0x4]; // 0x59c + [[maybe_unused]] uint8_t __pad05d4[0x4]; // 0x5d4 public: // MPropertyFriendlyName "manual resting spacing" - CParticleCollectionFloatInput m_flInitialRestingLength; // 0x5a0 + CParticleCollectionFloatInput m_flInitialRestingLength; // 0x5d8 }; // Alignment: 5 -// Size: 0xca0 +// Size: 0xd00 class C_OP_SpringToVectorConstraint : public CParticleFunctionConstraint { public: // MPropertyFriendlyName "slack" - CPerParticleFloatInput m_flRestLength; // 0x1f0 + CPerParticleFloatInput m_flRestLength; // 0x210 // MPropertyFriendlyName "minimum segment length %" - CPerParticleFloatInput m_flMinDistance; // 0x328 + CPerParticleFloatInput m_flMinDistance; // 0x350 // MPropertyFriendlyName "maximum segment length %" - CPerParticleFloatInput m_flMaxDistance; // 0x460 + CPerParticleFloatInput m_flMaxDistance; // 0x490 // MPropertyFriendlyName "resting spacing" - CPerParticleFloatInput m_flRestingLength; // 0x598 + CPerParticleFloatInput m_flRestingLength; // 0x5d0 // MPropertyFriendlyName "anchor vector" - CPerParticleVecInput m_vecAnchorVector; // 0x6d0 + CPerParticleVecInput m_vecAnchorVector; // 0x710 }; // Alignment: 2 -// Size: 0x200 +// Size: 0x220 class C_OP_ConstrainLineLength : public CParticleFunctionConstraint { public: // MPropertyFriendlyName "minimum length" - float m_flMinDistance; // 0x1f0 + float m_flMinDistance; // 0x210 // MPropertyFriendlyName "maximum length" - float m_flMaxDistance; // 0x1f4 + float m_flMaxDistance; // 0x214 }; // Alignment: 11 -// Size: 0xc10 +// Size: 0xc80 class C_INIT_RingWave : public CParticleFunctionInitializer { public: // MPropertyFriendlyName "input transform" - CParticleTransformInput m_TransformInput; // 0x1f0 + CParticleTransformInput m_TransformInput; // 0x220 // MPropertyFriendlyName "even distribution count" - CParticleCollectionFloatInput m_flParticlesPerOrbit; // 0x240 + CParticleCollectionFloatInput m_flParticlesPerOrbit; // 0x270 // MPropertyFriendlyName "initial radius" - CPerParticleFloatInput m_flInitialRadius; // 0x378 + CPerParticleFloatInput m_flInitialRadius; // 0x3b0 // MPropertyFriendlyName "thickness" - CPerParticleFloatInput m_flThickness; // 0x4b0 + CPerParticleFloatInput m_flThickness; // 0x4f0 // MPropertyFriendlyName "min initial speed" - CPerParticleFloatInput m_flInitialSpeedMin; // 0x5e8 + CPerParticleFloatInput m_flInitialSpeedMin; // 0x630 // MPropertyFriendlyName "max initial speed" - CPerParticleFloatInput m_flInitialSpeedMax; // 0x720 + CPerParticleFloatInput m_flInitialSpeedMax; // 0x770 // MPropertyFriendlyName "roll" - CPerParticleFloatInput m_flRoll; // 0x858 + CPerParticleFloatInput m_flRoll; // 0x8b0 // MPropertyFriendlyName "pitch" - CPerParticleFloatInput m_flPitch; // 0x990 + CPerParticleFloatInput m_flPitch; // 0x9f0 // MPropertyFriendlyName "yaw" - CPerParticleFloatInput m_flYaw; // 0xac8 + CPerParticleFloatInput m_flYaw; // 0xb30 // MPropertyFriendlyName "even distribution" - bool m_bEvenDistribution; // 0xc00 + bool m_bEvenDistribution; // 0xc70 // MPropertyFriendlyName "XY velocity only" - bool m_bXYVelocityOnly; // 0xc01 + bool m_bXYVelocityOnly; // 0xc71 }; // Alignment: 7 -// Size: 0x210 +// Size: 0x240 class C_INIT_CreateSpiralSphere : public CParticleFunctionInitializer { public: // MPropertyFriendlyName "control point number" - int32_t m_nControlPointNumber; // 0x1f0 + int32_t m_nControlPointNumber; // 0x220 // MPropertyFriendlyName "override CP (X/Y/Z *= radius/density/speed)" - int32_t m_nOverrideCP; // 0x1f4 + int32_t m_nOverrideCP; // 0x224 // MPropertyFriendlyName "density" - int32_t m_nDensity; // 0x1f8 + int32_t m_nDensity; // 0x228 // MPropertyFriendlyName "initial radius" - float m_flInitialRadius; // 0x1fc + float m_flInitialRadius; // 0x22c // MPropertyFriendlyName "min initial speed" - float m_flInitialSpeedMin; // 0x200 + float m_flInitialSpeedMin; // 0x230 // MPropertyFriendlyName "max initial speed" - float m_flInitialSpeedMax; // 0x204 + float m_flInitialSpeedMax; // 0x234 // MPropertyFriendlyName "use particle count as density scale" - bool m_bUseParticleCount; // 0x208 + bool m_bUseParticleCount; // 0x238 }; // Alignment: 10 -// Size: 0x6f0 +// Size: 0x780 class C_INIT_CreateInEpitrochoid : public CParticleFunctionInitializer { public: // MPropertyFriendlyName "first dimension 0-2 (-1 disables)" // MPropertyAttributeChoiceName "vector_component" - int32_t m_nComponent1; // 0x1f0 + int32_t m_nComponent1; // 0x220 // MPropertyFriendlyName "second dimension 0-2 (-1 disables)" // MPropertyAttributeChoiceName "vector_component" - int32_t m_nComponent2; // 0x1f4 - // MPropertyFriendlyName "control point number" - int32_t m_nControlPointNumber; // 0x1f8 -private: - [[maybe_unused]] uint8_t __pad01fc[0x4]; // 0x1fc -public: + int32_t m_nComponent2; // 0x224 + // MPropertyFriendlyName "input transform" + CParticleTransformInput m_TransformInput; // 0x228 // MPropertyFriendlyName "particle density" - CPerParticleFloatInput m_flParticleDensity; // 0x200 + CPerParticleFloatInput m_flParticleDensity; // 0x278 // MPropertyFriendlyName "point offset" - CPerParticleFloatInput m_flOffset; // 0x338 + CPerParticleFloatInput m_flOffset; // 0x3b8 // MPropertyFriendlyName "radius 1" - CPerParticleFloatInput m_flRadius1; // 0x470 + CPerParticleFloatInput m_flRadius1; // 0x4f8 // MPropertyFriendlyName "radius 2" - CPerParticleFloatInput m_flRadius2; // 0x5a8 + CPerParticleFloatInput m_flRadius2; // 0x638 // MPropertyFriendlyName "use particle count instead of creation time" - bool m_bUseCount; // 0x6e0 + bool m_bUseCount; // 0x778 // MPropertyFriendlyName "local space" - bool m_bUseLocalCoords; // 0x6e1 + bool m_bUseLocalCoords; // 0x779 // MPropertyFriendlyName "offset from existing position" - bool m_bOffsetExistingPos; // 0x6e2 + bool m_bOffsetExistingPos; // 0x77a }; // Alignment: 14 -// Size: 0x220 +// Size: 0x250 class C_INIT_CreatePhyllotaxis : public CParticleFunctionInitializer { public: // MPropertyFriendlyName "control point number" - int32_t m_nControlPointNumber; // 0x1f0 + int32_t m_nControlPointNumber; // 0x220 // MPropertyFriendlyName "scale size multiplier from CP" - int32_t m_nScaleCP; // 0x1f4 + int32_t m_nScaleCP; // 0x224 // MPropertyFriendlyName "scale CP component 0/1/2 X/Y/Z" // MPropertyAttributeChoiceName "vector_component" - int32_t m_nComponent; // 0x1f8 + int32_t m_nComponent; // 0x228 // MPropertyFriendlyName "center core radius" - float m_fRadCentCore; // 0x1fc + float m_fRadCentCore; // 0x22c // MPropertyFriendlyName "radius multiplier" - float m_fRadPerPoint; // 0x200 + float m_fRadPerPoint; // 0x230 // MPropertyFriendlyName "radius max (-1 procedural growth)" - float m_fRadPerPointTo; // 0x204 + float m_fRadPerPointTo; // 0x234 // MPropertyFriendlyName "golden angle (is 137.508)" - float m_fpointAngle; // 0x208 + float m_fpointAngle; // 0x238 // MPropertyFriendlyName "overall size multiplier (-1 count based distribution)" - float m_fsizeOverall; // 0x20c + float m_fsizeOverall; // 0x23c // MPropertyFriendlyName "radius bias" - float m_fRadBias; // 0x210 + float m_fRadBias; // 0x240 // MPropertyFriendlyName "radius min " - float m_fMinRad; // 0x214 + float m_fMinRad; // 0x244 // MPropertyFriendlyName "distribution bias" - float m_fDistBias; // 0x218 + float m_fDistBias; // 0x248 // MPropertyFriendlyName "local space" - bool m_bUseLocalCoords; // 0x21c + bool m_bUseLocalCoords; // 0x24c // MPropertyFriendlyName "use continuous emission" - bool m_bUseWithContEmit; // 0x21d + bool m_bUseWithContEmit; // 0x24d // MPropertyFriendlyName "scale radius from initial value" - bool m_bUseOrigRadius; // 0x21e + bool m_bUseOrigRadius; // 0x24e }; // Alignment: 12 -// Size: 0xf60 +// Size: 0xfd0 class C_INIT_CreateOnModel : public CParticleFunctionInitializer { public: // MPropertyFriendlyName "control point number" - int32_t m_nControlPointNumber; // 0x1f0 + int32_t m_nControlPointNumber; // 0x220 // MPropertyFriendlyName "force to be inside model" - int32_t m_nForceInModel; // 0x1f4 + int32_t m_nForceInModel; // 0x224 // MPropertyFriendlyName "desired hitbox" - int32_t m_nDesiredHitbox; // 0x1f8 + int32_t m_nDesiredHitbox; // 0x228 // MPropertyFriendlyName "Control Point Providing Hitbox index" - int32_t m_nHitboxValueFromControlPointIndex; // 0x1fc + int32_t m_nHitboxValueFromControlPointIndex; // 0x22c // MPropertyFriendlyName "hitbox scale" - CParticleCollectionVecInput m_vecHitBoxScale; // 0x200 + CParticleCollectionVecInput m_vecHitBoxScale; // 0x230 // MPropertyFriendlyName "inherited velocity scale" - float m_flBoneVelocity; // 0x7c8 + float m_flBoneVelocity; // 0x818 // MPropertyFriendlyName "maximum inherited velocity" - float m_flMaxBoneVelocity; // 0x7cc + float m_flMaxBoneVelocity; // 0x81c // MPropertyFriendlyName "direction bias" // MVectorIsCoordinate - CParticleCollectionVecInput m_vecDirectionBias; // 0x7d0 + CParticleCollectionVecInput m_vecDirectionBias; // 0x820 // MPropertyFriendlyName "hitbox set" - char m_HitboxSetName[128]; // 0xd98 + char m_HitboxSetName[128]; // 0xe08 // MPropertyFriendlyName "bias in local space" - bool m_bLocalCoords; // 0xe18 + bool m_bLocalCoords; // 0xe88 // MPropertyFriendlyName "use bones instead of hitboxes" - bool m_bUseBones; // 0xe19 + bool m_bUseBones; // 0xe89 private: - [[maybe_unused]] uint8_t __pad0e1a[0x6]; // 0xe1a + [[maybe_unused]] uint8_t __pad0e8a[0x6]; // 0xe8a public: // MPropertyFriendlyName "hitbox shell thickness" - CParticleCollectionFloatInput m_flShellSize; // 0xe20 + CParticleCollectionFloatInput m_flShellSize; // 0xe90 }; // Alignment: 14 -// Size: 0x11c0 +// Size: 0x1250 class C_INIT_CreateOnModelAtHeight : public CParticleFunctionInitializer { public: // MPropertyFriendlyName "use bones instead of hitboxes" - bool m_bUseBones; // 0x1f0 + bool m_bUseBones; // 0x220 // MPropertyFriendlyName "force creation height to desired height" - bool m_bForceZ; // 0x1f1 + bool m_bForceZ; // 0x221 private: - [[maybe_unused]] uint8_t __pad01f2[0x2]; // 0x1f2 + [[maybe_unused]] uint8_t __pad0222[0x2]; // 0x222 public: // MPropertyFriendlyName "control point number" - int32_t m_nControlPointNumber; // 0x1f4 + int32_t m_nControlPointNumber; // 0x224 // MPropertyFriendlyName "height override control point number" - int32_t m_nHeightCP; // 0x1f8 + int32_t m_nHeightCP; // 0x228 // MPropertyFriendlyName "desired height is relative to water" - bool m_bUseWaterHeight; // 0x1fc + bool m_bUseWaterHeight; // 0x22c private: - [[maybe_unused]] uint8_t __pad01fd[0x3]; // 0x1fd + [[maybe_unused]] uint8_t __pad022d[0x3]; // 0x22d public: // MPropertyFriendlyName "relative desired height" - CParticleCollectionFloatInput m_flDesiredHeight; // 0x200 + CParticleCollectionFloatInput m_flDesiredHeight; // 0x230 // MPropertyFriendlyName "model hitbox scale" - CParticleCollectionVecInput m_vecHitBoxScale; // 0x338 + CParticleCollectionVecInput m_vecHitBoxScale; // 0x370 // MPropertyFriendlyName "direction bias" // MVectorIsCoordinate - CParticleCollectionVecInput m_vecDirectionBias; // 0x900 + CParticleCollectionVecInput m_vecDirectionBias; // 0x958 // MPropertyFriendlyName "bias type" - ParticleHitboxBiasType_t m_nBiasType; // 0xec8 + ParticleHitboxBiasType_t m_nBiasType; // 0xf40 // MPropertyFriendlyName "bias in local space" - bool m_bLocalCoords; // 0xecc + bool m_bLocalCoords; // 0xf44 // MPropertyFriendlyName "bias prefers moving hitboxes" - bool m_bPreferMovingBoxes; // 0xecd + bool m_bPreferMovingBoxes; // 0xf45 // MPropertyFriendlyName "hitbox set" - char m_HitboxSetName[128]; // 0xece + char m_HitboxSetName[128]; // 0xf46 private: - [[maybe_unused]] uint8_t __pad0f4e[0x2]; // 0xf4e + [[maybe_unused]] uint8_t __pad0fc6[0x2]; // 0xfc6 public: // MPropertyFriendlyName "hitbox velocity inherited scale" - CParticleCollectionFloatInput m_flHitboxVelocityScale; // 0xf50 + CParticleCollectionFloatInput m_flHitboxVelocityScale; // 0xfc8 // MPropertyFriendlyName "max hitbox velocity" - CParticleCollectionFloatInput m_flMaxBoneVelocity; // 0x1088 + CParticleCollectionFloatInput m_flMaxBoneVelocity; // 0x1108 }; // Alignment: 9 -// Size: 0x990 +// Size: 0x9e0 class C_INIT_SetHitboxToClosest : public CParticleFunctionInitializer { public: // MPropertyFriendlyName "control point number" - int32_t m_nControlPointNumber; // 0x1f0 + int32_t m_nControlPointNumber; // 0x220 // MPropertyFriendlyName "desired hitbox" - int32_t m_nDesiredHitbox; // 0x1f4 + int32_t m_nDesiredHitbox; // 0x224 // MPropertyFriendlyName "model hitbox scale" - CParticleCollectionVecInput m_vecHitBoxScale; // 0x1f8 + CParticleCollectionVecInput m_vecHitBoxScale; // 0x228 // MPropertyFriendlyName "hitbox set" - char m_HitboxSetName[128]; // 0x7c0 + char m_HitboxSetName[128]; // 0x810 // MPropertyFriendlyName "use bones instead of hitboxes" - bool m_bUseBones; // 0x840 + bool m_bUseBones; // 0x890 // MPropertyFriendlyName "get closest point on closest hitbox" - bool m_bUseClosestPointOnHitbox; // 0x841 + bool m_bUseClosestPointOnHitbox; // 0x891 private: - [[maybe_unused]] uint8_t __pad0842[0x2]; // 0x842 + [[maybe_unused]] uint8_t __pad0892[0x2]; // 0x892 public: // MPropertyFriendlyName "closest point test type" - ClosestPointTestType_t m_nTestType; // 0x844 + ClosestPointTestType_t m_nTestType; // 0x894 // MPropertyFriendlyName "hybrid ratio" - CParticleCollectionFloatInput m_flHybridRatio; // 0x848 + CParticleCollectionFloatInput m_flHybridRatio; // 0x898 // MPropertyFriendlyName "set initial position" - bool m_bUpdatePosition; // 0x980 + bool m_bUpdatePosition; // 0x9d8 }; // Alignment: 9 -// Size: 0x990 +// Size: 0x9f0 class C_INIT_SetHitboxToModel : public CParticleFunctionInitializer { public: // MPropertyFriendlyName "control point number" - int32_t m_nControlPointNumber; // 0x1f0 + int32_t m_nControlPointNumber; // 0x220 // MPropertyFriendlyName "force to be inside model" - int32_t m_nForceInModel; // 0x1f4 + int32_t m_nForceInModel; // 0x224 // MPropertyFriendlyName "desired hitbox" - int32_t m_nDesiredHitbox; // 0x1f8 + int32_t m_nDesiredHitbox; // 0x228 private: - [[maybe_unused]] uint8_t __pad01fc[0x4]; // 0x1fc + [[maybe_unused]] uint8_t __pad022c[0x4]; // 0x22c public: // MPropertyFriendlyName "model hitbox scale" - CParticleCollectionVecInput m_vecHitBoxScale; // 0x200 + CParticleCollectionVecInput m_vecHitBoxScale; // 0x230 // MPropertyFriendlyName "direction bias" // MVectorIsCoordinate - Vector m_vecDirectionBias; // 0x7c8 + Vector m_vecDirectionBias; // 0x818 // MPropertyFriendlyName "maintain existing hitbox" - bool m_bMaintainHitbox; // 0x7d4 + bool m_bMaintainHitbox; // 0x824 // MPropertyFriendlyName "use bones instead of hitboxes" - bool m_bUseBones; // 0x7d5 + bool m_bUseBones; // 0x825 // MPropertyFriendlyName "hitbox set" - char m_HitboxSetName[128]; // 0x7d6 + char m_HitboxSetName[128]; // 0x826 private: - [[maybe_unused]] uint8_t __pad0856[0x2]; // 0x856 + [[maybe_unused]] uint8_t __pad08a6[0x2]; // 0x8a6 public: // MPropertyFriendlyName "hitbox shell thickness" - CParticleCollectionFloatInput m_flShellSize; // 0x858 + CParticleCollectionFloatInput m_flShellSize; // 0x8a8 }; // Alignment: 14 -// Size: 0x18a0 +// Size: 0x1950 class C_INIT_CreateWithinSphereTransform : public CParticleFunctionInitializer { public: // MPropertyFriendlyName "distance min" - CPerParticleFloatInput m_fRadiusMin; // 0x1f0 + CPerParticleFloatInput m_fRadiusMin; // 0x220 // MPropertyFriendlyName "distance max" - CPerParticleFloatInput m_fRadiusMax; // 0x328 + CPerParticleFloatInput m_fRadiusMax; // 0x360 // MPropertyFriendlyName "distance bias" // MVectorIsCoordinate - CPerParticleVecInput m_vecDistanceBias; // 0x460 + CPerParticleVecInput m_vecDistanceBias; // 0x4a0 // MPropertyFriendlyName "distance bias absolute value" // MVectorIsCoordinate - Vector m_vecDistanceBiasAbs; // 0xa28 + Vector m_vecDistanceBiasAbs; // 0xa88 private: - [[maybe_unused]] uint8_t __pad0a34[0x4]; // 0xa34 + [[maybe_unused]] uint8_t __pad0a94[0x4]; // 0xa94 public: // MPropertyFriendlyName "input position transform" - CParticleTransformInput m_TransformInput; // 0xa38 + CParticleTransformInput m_TransformInput; // 0xa98 // MPropertyFriendlyName "speed min" - CPerParticleFloatInput m_fSpeedMin; // 0xa88 + CPerParticleFloatInput m_fSpeedMin; // 0xae8 // MPropertyFriendlyName "speed max" - CPerParticleFloatInput m_fSpeedMax; // 0xbc0 + CPerParticleFloatInput m_fSpeedMax; // 0xc28 // MPropertyFriendlyName "speed random exponent" - float m_fSpeedRandExp; // 0xcf8 + float m_fSpeedRandExp; // 0xd68 // MPropertyFriendlyName "bias in local system" - bool m_bLocalCoords; // 0xcfc + bool m_bLocalCoords; // 0xd6c private: - [[maybe_unused]] uint8_t __pad0cfd[0x3]; // 0xcfd + [[maybe_unused]] uint8_t __pad0d6d[0x3]; // 0xd6d public: // MPropertyFriendlyName "randomly distribution growth time" - float m_flEndCPGrowthTime; // 0xd00 + float m_flEndCPGrowthTime; // 0xd70 private: - [[maybe_unused]] uint8_t __pad0d04[0x4]; // 0xd04 + [[maybe_unused]] uint8_t __pad0d74[0x4]; // 0xd74 public: // MPropertyFriendlyName "speed in local coordinate system min" // MVectorIsCoordinate - CPerParticleVecInput m_LocalCoordinateSystemSpeedMin; // 0xd08 + CPerParticleVecInput m_LocalCoordinateSystemSpeedMin; // 0xd78 // MPropertyFriendlyName "speed in local coordinate system max" // MVectorIsCoordinate - CPerParticleVecInput m_LocalCoordinateSystemSpeedMax; // 0x12d0 + CPerParticleVecInput m_LocalCoordinateSystemSpeedMax; // 0x1360 // MPropertyFriendlyName "Output vector" // MPropertyAttributeChoiceName "particlefield_vector" - ParticleAttributeIndex_t m_nFieldOutput; // 0x1898 + ParticleAttributeIndex_t m_nFieldOutput; // 0x1948 // MPropertyFriendlyName "Velocity vector" // MPropertyAttributeChoiceName "particlefield_vector" - ParticleAttributeIndex_t m_nFieldVelocity; // 0x189c + ParticleAttributeIndex_t m_nFieldVelocity; // 0x194c }; // Alignment: 5 -// Size: 0xd90 +// Size: 0xe00 class C_INIT_CreateWithinBox : public CParticleFunctionInitializer { public: // MPropertyFriendlyName "min" // MVectorIsCoordinate - CPerParticleVecInput m_vecMin; // 0x1f0 + CPerParticleVecInput m_vecMin; // 0x220 // MPropertyFriendlyName "max" // MVectorIsCoordinate - CPerParticleVecInput m_vecMax; // 0x7b8 + CPerParticleVecInput m_vecMax; // 0x808 // MPropertyFriendlyName "control point number" - int32_t m_nControlPointNumber; // 0xd80 + int32_t m_nControlPointNumber; // 0xdf0 // MPropertyFriendlyName "use local space" - bool m_bLocalSpace; // 0xd84 + bool m_bLocalSpace; // 0xdf4 private: - [[maybe_unused]] uint8_t __pad0d85[0x3]; // 0xd85 + [[maybe_unused]] uint8_t __pad0df5[0x3]; // 0xdf5 public: // MPropertyFriendlyName "Random number generator controls" - CRandomNumberGeneratorParameters m_randomnessParameters; // 0xd88 + CRandomNumberGeneratorParameters m_randomnessParameters; // 0xdf8 }; // Alignment: 10 -// Size: 0x950 +// Size: 0x9b0 class C_INIT_CreateOnGrid : public CParticleFunctionInitializer { public: // MPropertyFriendlyName "X Dimension Count" - CParticleCollectionFloatInput m_nXCount; // 0x1f0 + CParticleCollectionFloatInput m_nXCount; // 0x220 // MPropertyFriendlyName "Y Dimension Count" - CParticleCollectionFloatInput m_nYCount; // 0x328 + CParticleCollectionFloatInput m_nYCount; // 0x360 // MPropertyFriendlyName "Z Dimension Count" - CParticleCollectionFloatInput m_nZCount; // 0x460 + CParticleCollectionFloatInput m_nZCount; // 0x4a0 // MPropertyFriendlyName "X Dimension Spacing" - CParticleCollectionFloatInput m_nXSpacing; // 0x598 + CParticleCollectionFloatInput m_nXSpacing; // 0x5e0 // MPropertyFriendlyName "Y Dimension Spacing" - CParticleCollectionFloatInput m_nYSpacing; // 0x6d0 + CParticleCollectionFloatInput m_nYSpacing; // 0x720 // MPropertyFriendlyName "Z Dimension Spacing" - CParticleCollectionFloatInput m_nZSpacing; // 0x808 + CParticleCollectionFloatInput m_nZSpacing; // 0x860 // MPropertyFriendlyName "control point number" - int32_t m_nControlPointNumber; // 0x940 + int32_t m_nControlPointNumber; // 0x9a0 // MPropertyFriendlyName "use local space" - bool m_bLocalSpace; // 0x944 + bool m_bLocalSpace; // 0x9a4 // MPropertyFriendlyName "center around control point" - bool m_bCenter; // 0x945 + bool m_bCenter; // 0x9a5 // MPropertyFriendlyName "hollow" - bool m_bHollow; // 0x946 + bool m_bHollow; // 0x9a6 }; // Alignment: 6 -// Size: 0xde0 +// Size: 0xe50 class C_INIT_PositionOffset : public CParticleFunctionInitializer { public: // MPropertyFriendlyName "offset min" // MVectorIsCoordinate - CPerParticleVecInput m_OffsetMin; // 0x1f0 + CPerParticleVecInput m_OffsetMin; // 0x220 // MPropertyFriendlyName "offset max" // MVectorIsCoordinate - CPerParticleVecInput m_OffsetMax; // 0x7b8 + CPerParticleVecInput m_OffsetMax; // 0x808 // MPropertyFriendlyName "transform input" - CParticleTransformInput m_TransformInput; // 0xd80 + CParticleTransformInput m_TransformInput; // 0xdf0 // MPropertyFriendlyName "offset in local space 0/1" - bool m_bLocalCoords; // 0xdd0 + bool m_bLocalCoords; // 0xe40 // MPropertyFriendlyName "offset proportional to radius 0/1" - bool m_bProportional; // 0xdd1 + bool m_bProportional; // 0xe41 private: - [[maybe_unused]] uint8_t __pad0dd2[0x2]; // 0xdd2 + [[maybe_unused]] uint8_t __pad0e42[0x2]; // 0xe42 public: // MPropertyFriendlyName "Random number generator controls" - CRandomNumberGeneratorParameters m_randomnessParameters; // 0xdd4 + CRandomNumberGeneratorParameters m_randomnessParameters; // 0xe44 }; // Alignment: 3 -// Size: 0x200 +// Size: 0x230 class C_INIT_PositionOffsetToCP : public CParticleFunctionInitializer { public: // MPropertyFriendlyName "creation control point number" - int32_t m_nControlPointNumberStart; // 0x1f0 + int32_t m_nControlPointNumberStart; // 0x220 // MPropertyFriendlyName "offset control point number" - int32_t m_nControlPointNumberEnd; // 0x1f4 + int32_t m_nControlPointNumberEnd; // 0x224 // MPropertyFriendlyName "offset in local space 0/1" - bool m_bLocalCoords; // 0x1f8 + bool m_bLocalCoords; // 0x228 }; // Alignment: 13 -// Size: 0x510 +// Size: 0x550 class C_INIT_PositionPlaceOnGround : public CParticleFunctionInitializer { public: // MPropertyFriendlyName "offset" - CPerParticleFloatInput m_flOffset; // 0x1f0 + CPerParticleFloatInput m_flOffset; // 0x220 // MPropertyFriendlyName "max trace length" - CPerParticleFloatInput m_flMaxTraceLength; // 0x328 + CPerParticleFloatInput m_flMaxTraceLength; // 0x360 // MPropertyFriendlyName "collision group" - char m_CollisionGroupName[128]; // 0x460 + char m_CollisionGroupName[128]; // 0x4a0 // MPropertyFriendlyName "Trace Set" - ParticleTraceSet_t m_nTraceSet; // 0x4e0 + ParticleTraceSet_t m_nTraceSet; // 0x520 private: - [[maybe_unused]] uint8_t __pad04e4[0xc]; // 0x4e4 + [[maybe_unused]] uint8_t __pad0524[0xc]; // 0x524 public: // MPropertyFriendlyName "No Collision Behavior" - ParticleTraceMissBehavior_t m_nTraceMissBehavior; // 0x4f0 + ParticleTraceMissBehavior_t m_nTraceMissBehavior; // 0x530 // MPropertyFriendlyName "include water" - bool m_bIncludeWater; // 0x4f4 + bool m_bIncludeWater; // 0x534 // MPropertyFriendlyName "set normal" - bool m_bSetNormal; // 0x4f5 + bool m_bSetNormal; // 0x535 // MPropertyFriendlyName "set Previous XYZ only" - bool m_bSetPXYZOnly; // 0x4f6 + bool m_bSetPXYZOnly; // 0x536 // MPropertyFriendlyName "Trace along particle normal" - bool m_bTraceAlongNormal; // 0x4f7 + bool m_bTraceAlongNormal; // 0x537 // MPropertyFriendlyName "Offset only if trace hit" - bool m_bOffsetonColOnly; // 0x4f8 + bool m_bOffsetonColOnly; // 0x538 private: - [[maybe_unused]] uint8_t __pad04f9[0x3]; // 0x4f9 + [[maybe_unused]] uint8_t __pad0539[0x3]; // 0x539 public: // MPropertyFriendlyName "offset final position by this fraction of the particle radius" - float m_flOffsetByRadiusFactor; // 0x4fc + float m_flOffsetByRadiusFactor; // 0x53c // MPropertyFriendlyName "preserve initial Z-offset relative to cp" - int32_t m_nPreserveOffsetCP; // 0x500 + int32_t m_nPreserveOffsetCP; // 0x540 // MPropertyFriendlyName "CP Entity to Ignore for Collisions" - int32_t m_nIgnoreCP; // 0x504 + int32_t m_nIgnoreCP; // 0x544 }; // Alignment: 3 -// Size: 0x200 +// Size: 0x230 class C_INIT_VelocityFromNormal : public CParticleFunctionInitializer { public: // MPropertyFriendlyName "random speed min" - float m_fSpeedMin; // 0x1f0 + float m_fSpeedMin; // 0x220 // MPropertyFriendlyName "random speed max" - float m_fSpeedMax; // 0x1f4 + float m_fSpeedMax; // 0x224 // MPropertyFriendlyName "ignore delta time" - bool m_bIgnoreDt; // 0x1f8 + bool m_bIgnoreDt; // 0x228 }; // Alignment: 7 -// Size: 0x1010 +// Size: 0x1090 class C_INIT_VelocityRandom : public CParticleFunctionInitializer { public: // MPropertyFriendlyName "control point number" - int32_t m_nControlPointNumber; // 0x1f0 + int32_t m_nControlPointNumber; // 0x220 private: - [[maybe_unused]] uint8_t __pad01f4[0x4]; // 0x1f4 + [[maybe_unused]] uint8_t __pad0224[0x4]; // 0x224 public: // MPropertyFriendlyName "random speed min" - CPerParticleFloatInput m_fSpeedMin; // 0x1f8 + CPerParticleFloatInput m_fSpeedMin; // 0x228 // MPropertyFriendlyName "random speed max" - CPerParticleFloatInput m_fSpeedMax; // 0x330 + CPerParticleFloatInput m_fSpeedMax; // 0x368 // MPropertyFriendlyName "speed in local coordinate system min" // MVectorIsCoordinate - CPerParticleVecInput m_LocalCoordinateSystemSpeedMin; // 0x468 + CPerParticleVecInput m_LocalCoordinateSystemSpeedMin; // 0x4a8 // MPropertyFriendlyName "speed in local coordinate system max" // MVectorIsCoordinate - CPerParticleVecInput m_LocalCoordinateSystemSpeedMax; // 0xa30 + CPerParticleVecInput m_LocalCoordinateSystemSpeedMax; // 0xa90 // MPropertyFriendlyName "Ignore delta time (RenderTrails)" - bool m_bIgnoreDT; // 0xff8 + bool m_bIgnoreDT; // 0x1078 private: - [[maybe_unused]] uint8_t __pad0ff9[0x3]; // 0xff9 + [[maybe_unused]] uint8_t __pad1079[0x3]; // 0x1079 public: // MPropertyFriendlyName "Random number generator controls" - CRandomNumberGeneratorParameters m_randomnessParameters; // 0xffc + CRandomNumberGeneratorParameters m_randomnessParameters; // 0x107c }; // Alignment: 10 -// Size: 0x1760 +// Size: 0x1810 class C_INIT_InitialVelocityNoise : public CParticleFunctionInitializer { public: // MPropertyFriendlyName "absolute value" // MVectorIsCoordinate - Vector m_vecAbsVal; // 0x1f0 + Vector m_vecAbsVal; // 0x220 // MPropertyFriendlyName "invert abs value" // MVectorIsCoordinate - Vector m_vecAbsValInv; // 0x1fc + Vector m_vecAbsValInv; // 0x22c // MPropertyFriendlyName "spatial coordinate offset" // MVectorIsCoordinate - CPerParticleVecInput m_vecOffsetLoc; // 0x208 + CPerParticleVecInput m_vecOffsetLoc; // 0x238 // MPropertyFriendlyName "time coordinate offset" - CPerParticleFloatInput m_flOffset; // 0x7d0 + CPerParticleFloatInput m_flOffset; // 0x820 // MPropertyFriendlyName "output minimum" - CPerParticleVecInput m_vecOutputMin; // 0x908 + CPerParticleVecInput m_vecOutputMin; // 0x960 // MPropertyFriendlyName "output maximum" - CPerParticleVecInput m_vecOutputMax; // 0xed0 + CPerParticleVecInput m_vecOutputMax; // 0xf48 // MPropertyFriendlyName "time noise coordinate scale" - CPerParticleFloatInput m_flNoiseScale; // 0x1498 + CPerParticleFloatInput m_flNoiseScale; // 0x1530 // MPropertyFriendlyName "spatial noise coordinate scale" - CPerParticleFloatInput m_flNoiseScaleLoc; // 0x15d0 + CPerParticleFloatInput m_flNoiseScaleLoc; // 0x1670 // MPropertyFriendlyName "input local space velocity (optional)" // MParticleTransformInputOptional - CParticleTransformInput m_TransformInput; // 0x1708 + CParticleTransformInput m_TransformInput; // 0x17b0 // MPropertyFriendlyName "ignore delta time" - bool m_bIgnoreDt; // 0x1758 + bool m_bIgnoreDt; // 0x1800 }; // Alignment: 5 -// Size: 0x280 +// Size: 0x2b0 class C_INIT_InitialVelocityFromHitbox : public CParticleFunctionInitializer { public: // MPropertyFriendlyName "velocity minimum" - float m_flVelocityMin; // 0x1f0 + float m_flVelocityMin; // 0x220 // MPropertyFriendlyName "velocity maximum" - float m_flVelocityMax; // 0x1f4 + float m_flVelocityMax; // 0x224 // MPropertyFriendlyName "control point number" - int32_t m_nControlPointNumber; // 0x1f8 + int32_t m_nControlPointNumber; // 0x228 // MPropertyFriendlyName "hitbox set" - char m_HitboxSetName[128]; // 0x1fc + char m_HitboxSetName[128]; // 0x22c // MPropertyFriendlyName "use bones instead of hitboxes" - bool m_bUseBones; // 0x27c + bool m_bUseBones; // 0x2ac }; // Alignment: 5 -// Size: 0x210 +// Size: 0x240 class C_INIT_VelocityRadialRandom : public CParticleFunctionInitializer { public: // MPropertyFriendlyName "control point number" - int32_t m_nControlPointNumber; // 0x1f0 + int32_t m_nControlPointNumber; // 0x220 // MPropertyFriendlyName "random speed min" - float m_fSpeedMin; // 0x1f4 + float m_fSpeedMin; // 0x224 // MPropertyFriendlyName "random speed max" - float m_fSpeedMax; // 0x1f8 + float m_fSpeedMax; // 0x228 // MPropertyFriendlyName "local space scale" - Vector m_vecLocalCoordinateSystemSpeedScale; // 0x1fc + Vector m_vecLocalCoordinateSystemSpeedScale; // 0x22c private: - [[maybe_unused]] uint8_t __pad0208[0x1]; // 0x208 + [[maybe_unused]] uint8_t __pad0238[0x1]; // 0x238 public: // MPropertyFriendlyName "ignore delta time" - bool m_bIgnoreDelta; // 0x209 + bool m_bIgnoreDelta; // 0x239 }; // Alignment: 3 -// Size: 0x200 +// Size: 0x230 class C_INIT_RandomLifeTime : public CParticleFunctionInitializer { public: // MPropertyFriendlyName "lifetime min" // MPropertyAttributeRange "0 20" - float m_fLifetimeMin; // 0x1f0 + float m_fLifetimeMin; // 0x220 // MPropertyFriendlyName "lifetime max" // MPropertyAttributeRange "0 20" - float m_fLifetimeMax; // 0x1f4 + float m_fLifetimeMax; // 0x224 // MPropertyFriendlyName "lifetime random exponent" - float m_fLifetimeRandExponent; // 0x1f8 + float m_fLifetimeRandExponent; // 0x228 }; // Alignment: 4 -// Size: 0x200 +// Size: 0x230 class C_INIT_RandomScalar : public CParticleFunctionInitializer { public: // MPropertyFriendlyName "min" - float m_flMin; // 0x1f0 + float m_flMin; // 0x220 // MPropertyFriendlyName "max" - float m_flMax; // 0x1f4 + float m_flMax; // 0x224 // MPropertyFriendlyName "exponent" - float m_flExponent; // 0x1f8 + float m_flExponent; // 0x228 // MPropertyFriendlyName "output field" // MPropertyAttributeChoiceName "particlefield_scalar" - ParticleAttributeIndex_t m_nFieldOutput; // 0x1fc + ParticleAttributeIndex_t m_nFieldOutput; // 0x22c }; // Alignment: 4 -// Size: 0x220 +// Size: 0x250 class C_INIT_RandomVector : public CParticleFunctionInitializer { public: // MPropertyFriendlyName "min" // MVectorIsSometimesCoordinate - Vector m_vecMin; // 0x1f0 + Vector m_vecMin; // 0x220 // MPropertyFriendlyName "max" // MVectorIsSometimesCoordinate - Vector m_vecMax; // 0x1fc + Vector m_vecMax; // 0x22c // MPropertyFriendlyName "output field" // MPropertyAttributeChoiceName "particlefield_vector" - ParticleAttributeIndex_t m_nFieldOutput; // 0x208 + ParticleAttributeIndex_t m_nFieldOutput; // 0x238 // MPropertyFriendlyName "Random number generator controls" - CRandomNumberGeneratorParameters m_randomnessParameters; // 0x20c + CRandomNumberGeneratorParameters m_randomnessParameters; // 0x23c }; // Alignment: 4 -// Size: 0x200 +// Size: 0x230 class C_INIT_RandomVectorComponent : public CParticleFunctionInitializer { public: // MPropertyFriendlyName "min" - float m_flMin; // 0x1f0 + float m_flMin; // 0x220 // MPropertyFriendlyName "max" - float m_flMax; // 0x1f4 + float m_flMax; // 0x224 // MPropertyFriendlyName "output field" // MPropertyAttributeChoiceName "particlefield_vector" - ParticleAttributeIndex_t m_nFieldOutput; // 0x1f8 + ParticleAttributeIndex_t m_nFieldOutput; // 0x228 // MPropertyFriendlyName "component 0/1/2 X/Y/Z" // MPropertyAttributeChoiceName "vector_component" // MVectorIsSometimesCoordinate - int32_t m_nComponent; // 0x1fc + int32_t m_nComponent; // 0x22c }; // Alignment: 6 -// Size: 0x230 +// Size: 0x260 class C_INIT_AddVectorToVector : public CParticleFunctionInitializer { public: // MPropertyFriendlyName "component scale factor" - Vector m_vecScale; // 0x1f0 + Vector m_vecScale; // 0x220 // MPropertyFriendlyName "output field" // MPropertyAttributeChoiceName "particlefield_vector" - ParticleAttributeIndex_t m_nFieldOutput; // 0x1fc + ParticleAttributeIndex_t m_nFieldOutput; // 0x22c // MPropertyFriendlyName "input field" // MPropertyAttributeChoiceName "particlefield_vector" - ParticleAttributeIndex_t m_nFieldInput; // 0x200 + ParticleAttributeIndex_t m_nFieldInput; // 0x230 // MPropertyFriendlyName "random offset min" - Vector m_vOffsetMin; // 0x204 + Vector m_vOffsetMin; // 0x234 // MPropertyFriendlyName "random offset max" - Vector m_vOffsetMax; // 0x210 + Vector m_vOffsetMax; // 0x240 // MPropertyFriendlyName "Random number generator controls" - CRandomNumberGeneratorParameters m_randomnessParameters; // 0x21c + CRandomNumberGeneratorParameters m_randomnessParameters; // 0x24c }; // Alignment: 3 -// Size: 0x200 +// Size: 0x230 class C_INIT_RandomAlphaWindowThreshold : public CParticleFunctionInitializer { public: // MPropertyFriendlyName "min" - float m_flMin; // 0x1f0 + float m_flMin; // 0x220 // MPropertyFriendlyName "max" - float m_flMax; // 0x1f4 + float m_flMax; // 0x224 // MPropertyFriendlyName "exponent" - float m_flExponent; // 0x1f8 + float m_flExponent; // 0x228 }; // Alignment: 3 -// Size: 0x200 +// Size: 0x230 class C_INIT_RandomRadius : public CParticleFunctionInitializer { public: // MPropertyFriendlyName "radius min" // MPropertyAttributeRange "biased 0 500" - float m_flRadiusMin; // 0x1f0 + float m_flRadiusMin; // 0x220 // MPropertyFriendlyName "radius max" // MPropertyAttributeRange "biased 0 500" - float m_flRadiusMax; // 0x1f4 + float m_flRadiusMax; // 0x224 // MPropertyFriendlyName "radius random exponent" // MPropertyAttributeRange "-2 2" - float m_flRadiusRandExponent; // 0x1f8 + float m_flRadiusRandExponent; // 0x228 }; // Alignment: 4 -// Size: 0x210 +// Size: 0x240 class C_INIT_RandomAlpha : public CParticleFunctionInitializer { public: // MPropertyFriendlyName "alpha field" // MPropertyAttributeChoiceName "particlefield_alpha" - ParticleAttributeIndex_t m_nFieldOutput; // 0x1f0 + ParticleAttributeIndex_t m_nFieldOutput; // 0x220 // MPropertyFriendlyName "alpha min" // MPropertyAttributeRange "0 255" - int32_t m_nAlphaMin; // 0x1f4 + int32_t m_nAlphaMin; // 0x224 // MPropertyFriendlyName "alpha max" // MPropertyAttributeRange "0 255" - int32_t m_nAlphaMax; // 0x1f8 + int32_t m_nAlphaMax; // 0x228 private: - [[maybe_unused]] uint8_t __pad01fc[0x8]; // 0x1fc + [[maybe_unused]] uint8_t __pad022c[0x8]; // 0x22c public: // MPropertyFriendlyName "alpha random exponent" - float m_flAlphaRandExponent; // 0x204 + float m_flAlphaRandExponent; // 0x234 }; // Alignment: 6 -// Size: 0x210 +// Size: 0x240 class CGeneralRandomRotation : public CParticleFunctionInitializer { public: // MPropertyFriendlyName "rotation field" // MPropertyAttributeChoiceName "particlefield_rotation" - ParticleAttributeIndex_t m_nFieldOutput; // 0x1f0 + ParticleAttributeIndex_t m_nFieldOutput; // 0x220 // MPropertyFriendlyName "rotation initial" - float m_flDegrees; // 0x1f4 + float m_flDegrees; // 0x224 // MPropertyFriendlyName "rotation offset from initial min" - float m_flDegreesMin; // 0x1f8 + float m_flDegreesMin; // 0x228 // MPropertyFriendlyName "rotation offset from initial max" - float m_flDegreesMax; // 0x1fc + float m_flDegreesMax; // 0x22c // MPropertyFriendlyName "rotation offset exponent" - float m_flRotationRandExponent; // 0x200 + float m_flRotationRandExponent; // 0x230 // MPropertyFriendlyName "randomly flip direction" - bool m_bRandomlyFlipDirection; // 0x204 + bool m_bRandomlyFlipDirection; // 0x234 }; // Alignment: 0 -// Size: 0x210 +// Size: 0x240 class C_INIT_RandomRotation : public CGeneralRandomRotation { public: @@ -3146,21 +3952,21 @@ public: }; // Alignment: 3 -// Size: 0x200 +// Size: 0x230 class C_INIT_Orient2DRelToCP : public CParticleFunctionInitializer { public: // MPropertyFriendlyName "control point" - int32_t m_nCP; // 0x1f0 + int32_t m_nCP; // 0x220 // MPropertyFriendlyName "rotation field" // MPropertyAttributeChoiceName "particlefield_rotation" - ParticleAttributeIndex_t m_nFieldOutput; // 0x1f4 + ParticleAttributeIndex_t m_nFieldOutput; // 0x224 // MPropertyFriendlyName "rotation offset" - float m_flRotOffset; // 0x1f8 + float m_flRotOffset; // 0x228 }; // Alignment: 0 -// Size: 0x210 +// Size: 0x240 class C_INIT_RandomRotationSpeed : public CGeneralRandomRotation { public: @@ -3168,7 +3974,7 @@ public: }; // Alignment: 0 -// Size: 0x210 +// Size: 0x240 class C_INIT_RandomYaw : public CGeneralRandomRotation { public: @@ -3176,349 +3982,349 @@ public: }; // Alignment: 10 -// Size: 0x240 +// Size: 0x270 class C_INIT_RandomColor : public CParticleFunctionInitializer { private: - [[maybe_unused]] uint8_t __pad01f0[0x1c]; // 0x1f0 + [[maybe_unused]] uint8_t __pad0220[0x1c]; // 0x220 public: // MPropertyFriendlyName "color1" - Color m_ColorMin; // 0x20c + Color m_ColorMin; // 0x23c // MPropertyFriendlyName "color2" - Color m_ColorMax; // 0x210 + Color m_ColorMax; // 0x240 // MPropertyFriendlyName "tint clamp min" - Color m_TintMin; // 0x214 + Color m_TintMin; // 0x244 // MPropertyFriendlyName "tint clamp max" - Color m_TintMax; // 0x218 + Color m_TintMax; // 0x248 // MPropertyFriendlyName "tint perc" - float m_flTintPerc; // 0x21c + float m_flTintPerc; // 0x24c // MPropertyFriendlyName "tint update movement threshold" - float m_flUpdateThreshold; // 0x220 + float m_flUpdateThreshold; // 0x250 // MPropertyFriendlyName "tint control point" - int32_t m_nTintCP; // 0x224 + int32_t m_nTintCP; // 0x254 // MPropertyFriendlyName "output field" // MPropertyAttributeChoiceName "particlefield_vector" - ParticleAttributeIndex_t m_nFieldOutput; // 0x228 + ParticleAttributeIndex_t m_nFieldOutput; // 0x258 // MPropertyFriendlyName "tint blend mode" - ParticleColorBlendMode_t m_nTintBlendMode; // 0x22c + ParticleColorBlendMode_t m_nTintBlendMode; // 0x25c // MPropertyFriendlyName "light amplification amount" - float m_flLightAmplification; // 0x230 + float m_flLightAmplification; // 0x260 }; // Alignment: 7 -// Size: 0x230 +// Size: 0x260 class C_INIT_ColorLitPerParticle : public CParticleFunctionInitializer { private: - [[maybe_unused]] uint8_t __pad01f0[0x18]; // 0x1f0 + [[maybe_unused]] uint8_t __pad0220[0x18]; // 0x220 public: // MPropertyFriendlyName "color1" - Color m_ColorMin; // 0x208 + Color m_ColorMin; // 0x238 // MPropertyFriendlyName "color2" - Color m_ColorMax; // 0x20c + Color m_ColorMax; // 0x23c // MPropertyFriendlyName "tint clamp min" - Color m_TintMin; // 0x210 + Color m_TintMin; // 0x240 // MPropertyFriendlyName "tint clamp max" - Color m_TintMax; // 0x214 + Color m_TintMax; // 0x244 // MPropertyFriendlyName "light bias" - float m_flTintPerc; // 0x218 + float m_flTintPerc; // 0x248 // MPropertyFriendlyName "tint blend mode" - ParticleColorBlendMode_t m_nTintBlendMode; // 0x21c + ParticleColorBlendMode_t m_nTintBlendMode; // 0x24c // MPropertyFriendlyName "light amplification amount" - float m_flLightAmplification; // 0x220 + float m_flLightAmplification; // 0x250 }; // Alignment: 3 -// Size: 0x200 +// Size: 0x230 class C_INIT_RandomTrailLength : public CParticleFunctionInitializer { public: // MPropertyFriendlyName "length min" - float m_flMinLength; // 0x1f0 + float m_flMinLength; // 0x220 // MPropertyFriendlyName "length max" - float m_flMaxLength; // 0x1f4 + float m_flMaxLength; // 0x224 // MPropertyFriendlyName "length random exponent" - float m_flLengthRandExponent; // 0x1f8 + float m_flLengthRandExponent; // 0x228 }; // Alignment: 5 -// Size: 0x220 +// Size: 0x250 class C_INIT_RandomSequence : public CParticleFunctionInitializer { public: // MPropertyFriendlyName "sequence min" // MPropertyAttributeEditor "SequencePicker( 1 )" - int32_t m_nSequenceMin; // 0x1f0 + int32_t m_nSequenceMin; // 0x220 // MPropertyFriendlyName "sequence max" // MPropertyAttributeEditor "SequencePicker( 1 )" - int32_t m_nSequenceMax; // 0x1f4 + int32_t m_nSequenceMax; // 0x224 // MPropertyFriendlyName "shuffle" - bool m_bShuffle; // 0x1f8 + bool m_bShuffle; // 0x228 // MPropertyFriendlyName "linear" - bool m_bLinear; // 0x1f9 + bool m_bLinear; // 0x229 private: - [[maybe_unused]] uint8_t __pad01fa[0x6]; // 0x1fa + [[maybe_unused]] uint8_t __pad022a[0x6]; // 0x22a public: // MPropertyFriendlyName "weighted list" - CUtlVector< SequenceWeightedList_t > m_WeightedList; // 0x200 + CUtlVector< SequenceWeightedList_t > m_WeightedList; // 0x230 }; // Alignment: 4 -// Size: 0x210 +// Size: 0x240 class C_INIT_SequenceFromCP : public CParticleFunctionInitializer { public: // MPropertyFriendlyName "kill unused" - bool m_bKillUnused; // 0x1f0 + bool m_bKillUnused; // 0x220 // MPropertyFriendlyName "offset propotional to radius" - bool m_bRadiusScale; // 0x1f1 + bool m_bRadiusScale; // 0x221 private: - [[maybe_unused]] uint8_t __pad01f2[0x2]; // 0x1f2 + [[maybe_unused]] uint8_t __pad0222[0x2]; // 0x222 public: // MPropertyFriendlyName "control point" - int32_t m_nCP; // 0x1f4 + int32_t m_nCP; // 0x224 // MPropertyFriendlyName "per particle spatial offset" // MVectorIsCoordinate - Vector m_vecOffset; // 0x1f8 + Vector m_vecOffset; // 0x228 }; // Alignment: 3 -// Size: 0x400 +// Size: 0x430 class C_INIT_RandomModelSequence : public CParticleFunctionInitializer { public: // MPropertyFriendlyName "activity" // MPropertySuppressExpr "mod != dota" - char m_ActivityName[256]; // 0x1f0 + char m_ActivityName[256]; // 0x220 // MPropertyFriendlyName "sequence" // MPropertySuppressExpr "mod == dota" - char m_SequenceName[256]; // 0x2f0 + char m_SequenceName[256]; // 0x320 // MPropertyFriendlyName "model" - CStrongHandle< InfoForResourceTypeCModel > m_hModel; // 0x3f0 + CStrongHandle< InfoForResourceTypeCModel > m_hModel; // 0x420 }; // Alignment: 1 -// Size: 0x7c0 +// Size: 0x810 class C_INIT_ScaleVelocity : public CParticleFunctionInitializer { public: // MPropertyFriendlyName "velocity scale" // MVectorIsCoordinate - CParticleCollectionVecInput m_vecScale; // 0x1f0 + CParticleCollectionVecInput m_vecScale; // 0x220 }; // Alignment: 10 -// Size: 0xda0 +// Size: 0xe10 class C_INIT_PositionWarp : public CParticleFunctionInitializer { public: // MPropertyFriendlyName "warp min" // MVectorIsCoordinate - CParticleCollectionVecInput m_vecWarpMin; // 0x1f0 + CParticleCollectionVecInput m_vecWarpMin; // 0x220 // MPropertyFriendlyName "warp max" // MVectorIsCoordinate - CParticleCollectionVecInput m_vecWarpMax; // 0x7b8 + CParticleCollectionVecInput m_vecWarpMax; // 0x808 // MPropertyFriendlyName "warp scale control point number" - int32_t m_nScaleControlPointNumber; // 0xd80 + int32_t m_nScaleControlPointNumber; // 0xdf0 // MPropertyFriendlyName "control point number" - int32_t m_nControlPointNumber; // 0xd84 + int32_t m_nControlPointNumber; // 0xdf4 // MPropertyFriendlyName "radius scale component" // MPropertyAttributeChoiceName "vector_component" - int32_t m_nRadiusComponent; // 0xd88 + int32_t m_nRadiusComponent; // 0xdf8 // MPropertyFriendlyName "warp transition time (treats min/max as start/end sizes)" - float m_flWarpTime; // 0xd8c + float m_flWarpTime; // 0xdfc // MPropertyFriendlyName "warp transition start time" - float m_flWarpStartTime; // 0xd90 + float m_flWarpStartTime; // 0xe00 // MPropertyFriendlyName "previous position sacale" - float m_flPrevPosScale; // 0xd94 + float m_flPrevPosScale; // 0xe04 // MPropertyFriendlyName "reverse warp (0/1)" - bool m_bInvertWarp; // 0xd98 + bool m_bInvertWarp; // 0xe08 // MPropertyFriendlyName "use particle count instead of time" - bool m_bUseCount; // 0xd99 + bool m_bUseCount; // 0xe09 }; // Alignment: 6 -// Size: 0x350 +// Size: 0x390 class C_INIT_PositionWarpScalar : public CParticleFunctionInitializer { public: // MPropertyFriendlyName "warp min" // MVectorIsCoordinate - Vector m_vecWarpMin; // 0x1f0 + Vector m_vecWarpMin; // 0x220 // MPropertyFriendlyName "warp max" // MVectorIsCoordinate - Vector m_vecWarpMax; // 0x1fc + Vector m_vecWarpMax; // 0x22c // MPropertyFriendlyName "warp amount" - CPerParticleFloatInput m_InputValue; // 0x208 + CPerParticleFloatInput m_InputValue; // 0x238 // MPropertyFriendlyName "previous position scale" - float m_flPrevPosScale; // 0x340 + float m_flPrevPosScale; // 0x378 // MPropertyFriendlyName "warp scale control point number" - int32_t m_nScaleControlPointNumber; // 0x344 + int32_t m_nScaleControlPointNumber; // 0x37c // MPropertyFriendlyName "control point number" - int32_t m_nControlPointNumber; // 0x348 + int32_t m_nControlPointNumber; // 0x380 }; // Alignment: 10 -// Size: 0x220 +// Size: 0x250 class C_INIT_CreationNoise : public CParticleFunctionInitializer { public: // MPropertyFriendlyName "output field" // MPropertyAttributeChoiceName "particlefield_scalar" - ParticleAttributeIndex_t m_nFieldOutput; // 0x1f0 + ParticleAttributeIndex_t m_nFieldOutput; // 0x220 // MPropertyFriendlyName "absolute value" - bool m_bAbsVal; // 0x1f4 + bool m_bAbsVal; // 0x224 // MPropertyFriendlyName "invert absolute value" - bool m_bAbsValInv; // 0x1f5 + bool m_bAbsValInv; // 0x225 private: - [[maybe_unused]] uint8_t __pad01f6[0x2]; // 0x1f6 + [[maybe_unused]] uint8_t __pad0226[0x2]; // 0x226 public: // MPropertyFriendlyName "time coordinate offset" - float m_flOffset; // 0x1f8 + float m_flOffset; // 0x228 // MPropertyFriendlyName "output minimum" - float m_flOutputMin; // 0x1fc + float m_flOutputMin; // 0x22c // MPropertyFriendlyName "output maximum" - float m_flOutputMax; // 0x200 + float m_flOutputMax; // 0x230 // MPropertyFriendlyName "time noise coordinate scale" - float m_flNoiseScale; // 0x204 + float m_flNoiseScale; // 0x234 // MPropertyFriendlyName "spatial noise coordinate scale" - float m_flNoiseScaleLoc; // 0x208 + float m_flNoiseScaleLoc; // 0x238 // MPropertyFriendlyName "spatial coordinate offset" // MVectorIsCoordinate - Vector m_vecOffsetLoc; // 0x20c + Vector m_vecOffsetLoc; // 0x23c // MPropertyFriendlyName "world time noise coordinate scale" - float m_flWorldTimeScale; // 0x218 + float m_flWorldTimeScale; // 0x248 }; // Alignment: 5 -// Size: 0x260 +// Size: 0x290 class C_INIT_CreateAlongPath : public CParticleFunctionInitializer { public: // MPropertyFriendlyName "maximum distance" - float m_fMaxDistance; // 0x1f0 + float m_fMaxDistance; // 0x220 private: - [[maybe_unused]] uint8_t __pad01f4[0xc]; // 0x1f4 + [[maybe_unused]] uint8_t __pad0224[0xc]; // 0x224 public: - CPathParameters m_PathParams; // 0x200 + CPathParameters m_PathParams; // 0x230 // MPropertyFriendlyName "randomly select sequential CP pairs between start and end points" - bool m_bUseRandomCPs; // 0x240 + bool m_bUseRandomCPs; // 0x270 private: - [[maybe_unused]] uint8_t __pad0241[0x3]; // 0x241 + [[maybe_unused]] uint8_t __pad0271[0x3]; // 0x271 public: // MPropertyFriendlyName "Offset from control point for path end" // MVectorIsCoordinate - Vector m_vEndOffset; // 0x244 + Vector m_vEndOffset; // 0x274 // MPropertyFriendlyName "save offset" - bool m_bSaveOffset; // 0x250 + bool m_bSaveOffset; // 0x280 }; // Alignment: 7 -// Size: 0x810 +// Size: 0x870 class C_INIT_MoveBetweenPoints : public CParticleFunctionInitializer { public: // MPropertyFriendlyName "minimum speed" - CPerParticleFloatInput m_flSpeedMin; // 0x1f0 + CPerParticleFloatInput m_flSpeedMin; // 0x220 // MPropertyFriendlyName "maximum speed" - CPerParticleFloatInput m_flSpeedMax; // 0x328 + CPerParticleFloatInput m_flSpeedMax; // 0x360 // MPropertyFriendlyName "end spread" - CPerParticleFloatInput m_flEndSpread; // 0x460 + CPerParticleFloatInput m_flEndSpread; // 0x4a0 // MPropertyFriendlyName "start offset" - CPerParticleFloatInput m_flStartOffset; // 0x598 + CPerParticleFloatInput m_flStartOffset; // 0x5e0 // MPropertyFriendlyName "end offset" - CPerParticleFloatInput m_flEndOffset; // 0x6d0 + CPerParticleFloatInput m_flEndOffset; // 0x720 // MPropertyFriendlyName "end control point" - int32_t m_nEndControlPointNumber; // 0x808 + int32_t m_nEndControlPointNumber; // 0x860 // MPropertyFriendlyName "bias lifetime by trail length" - bool m_bTrailBias; // 0x80c + bool m_bTrailBias; // 0x864 }; // Alignment: 11 -// Size: 0x220 +// Size: 0x250 class C_INIT_RemapScalar : public CParticleFunctionInitializer { public: // MPropertyFriendlyName "input field" // MPropertyAttributeChoiceName "particlefield_scalar" - ParticleAttributeIndex_t m_nFieldInput; // 0x1f0 + ParticleAttributeIndex_t m_nFieldInput; // 0x220 // MPropertyFriendlyName "output field" // MPropertyAttributeChoiceName "particlefield_scalar" - ParticleAttributeIndex_t m_nFieldOutput; // 0x1f4 + ParticleAttributeIndex_t m_nFieldOutput; // 0x224 // MPropertyFriendlyName "input minimum" - float m_flInputMin; // 0x1f8 + float m_flInputMin; // 0x228 // MPropertyFriendlyName "input maximum" - float m_flInputMax; // 0x1fc + float m_flInputMax; // 0x22c // MPropertyFriendlyName "output minimum" - float m_flOutputMin; // 0x200 + float m_flOutputMin; // 0x230 // MPropertyFriendlyName "output maximum" - float m_flOutputMax; // 0x204 + float m_flOutputMax; // 0x234 // MPropertyFriendlyName "emitter lifetime start time (seconds)" - float m_flStartTime; // 0x208 + float m_flStartTime; // 0x238 // MPropertyFriendlyName "emitter lifetime end time (seconds)" - float m_flEndTime; // 0x20c + float m_flEndTime; // 0x23c // MPropertyFriendlyName "set value method" - ParticleSetMethod_t m_nSetMethod; // 0x210 + ParticleSetMethod_t m_nSetMethod; // 0x240 // MPropertyFriendlyName "only active within specified input range" - bool m_bActiveRange; // 0x214 + bool m_bActiveRange; // 0x244 private: - [[maybe_unused]] uint8_t __pad0215[0x3]; // 0x215 + [[maybe_unused]] uint8_t __pad0245[0x3]; // 0x245 public: // MPropertyFriendlyName "remap bias" - float m_flRemapBias; // 0x218 + float m_flRemapBias; // 0x248 }; // Alignment: 12 -// Size: 0x220 +// Size: 0x250 class C_INIT_RemapParticleCountToScalar : public CParticleFunctionInitializer { public: // MPropertyFriendlyName "output field" // MPropertyAttributeChoiceName "particlefield_scalar" - ParticleAttributeIndex_t m_nFieldOutput; // 0x1f0 + ParticleAttributeIndex_t m_nFieldOutput; // 0x220 // MPropertyFriendlyName "input minimum" - int32_t m_nInputMin; // 0x1f4 + int32_t m_nInputMin; // 0x224 // MPropertyFriendlyName "input maximum" - int32_t m_nInputMax; // 0x1f8 + int32_t m_nInputMax; // 0x228 // MPropertyFriendlyName "input scale control point" - int32_t m_nScaleControlPoint; // 0x1fc + int32_t m_nScaleControlPoint; // 0x22c // MPropertyFriendlyName "input scale control point field" // MPropertyAttributeChoiceName "vector_component" - int32_t m_nScaleControlPointField; // 0x200 + int32_t m_nScaleControlPointField; // 0x230 // MPropertyFriendlyName "output minimum" - float m_flOutputMin; // 0x204 + float m_flOutputMin; // 0x234 // MPropertyFriendlyName "output maximum" - float m_flOutputMax; // 0x208 + float m_flOutputMax; // 0x238 // MPropertyFriendlyName "set value method" - ParticleSetMethod_t m_nSetMethod; // 0x20c + ParticleSetMethod_t m_nSetMethod; // 0x23c // MPropertyFriendlyName "only active within specified input range" - bool m_bActiveRange; // 0x210 + bool m_bActiveRange; // 0x240 // MPropertyFriendlyName "invert input from total particle count" - bool m_bInvert; // 0x211 + bool m_bInvert; // 0x241 // MPropertyFriendlyName "wrap input" - bool m_bWrap; // 0x212 + bool m_bWrap; // 0x242 private: - [[maybe_unused]] uint8_t __pad0213[0x1]; // 0x213 + [[maybe_unused]] uint8_t __pad0243[0x1]; // 0x243 public: // MPropertyFriendlyName "remap bias" - float m_flRemapBias; // 0x214 + float m_flRemapBias; // 0x244 }; // Alignment: 4 -// Size: 0x240 +// Size: 0x270 class C_INIT_RemapParticleCountToNamedModelElementScalar : public C_INIT_RemapParticleCountToScalar { public: - CStrongHandle< InfoForResourceTypeCModel > m_hModel; // 0x220 + CStrongHandle< InfoForResourceTypeCModel > m_hModel; // 0x250 // MPropertyFriendlyName "output min name" - CUtlString m_outputMinName; // 0x228 + CUtlString m_outputMinName; // 0x258 // MPropertyFriendlyName "output max name" - CUtlString m_outputMaxName; // 0x230 - bool m_bModelFromRenderer; // 0x238 + CUtlString m_outputMaxName; // 0x260 + bool m_bModelFromRenderer; // 0x268 }; // Alignment: 0 -// Size: 0x240 +// Size: 0x270 class C_INIT_RemapParticleCountToNamedModelSequenceScalar : public C_INIT_RemapParticleCountToNamedModelElementScalar { public: @@ -3526,7 +4332,7 @@ public: }; // Alignment: 0 -// Size: 0x240 +// Size: 0x270 class C_INIT_RemapParticleCountToNamedModelBodyPartScalar : public C_INIT_RemapParticleCountToNamedModelElementScalar { public: @@ -3534,7 +4340,7 @@ public: }; // Alignment: 0 -// Size: 0x240 +// Size: 0x270 class C_INIT_RemapParticleCountToNamedModelMeshGroupScalar : public C_INIT_RemapParticleCountToNamedModelElementScalar { public: @@ -3542,945 +4348,945 @@ public: }; // Alignment: 2 -// Size: 0x200 +// Size: 0x230 class C_INIT_InheritVelocity : public CParticleFunctionInitializer { public: // MPropertyFriendlyName "control point number" - int32_t m_nControlPointNumber; // 0x1f0 + int32_t m_nControlPointNumber; // 0x220 // MPropertyFriendlyName "velocity scale" - float m_flVelocityScale; // 0x1f4 + float m_flVelocityScale; // 0x224 }; // Alignment: 5 -// Size: 0x210 +// Size: 0x240 class C_INIT_VelocityFromCP : public CParticleFunctionInitializer { public: // MPropertyFriendlyName "control point number" - int32_t m_nControlPoint; // 0x1f0 + int32_t m_nControlPoint; // 0x220 // MPropertyFriendlyName "comparison control point number" - int32_t m_nControlPointCompare; // 0x1f4 + int32_t m_nControlPointCompare; // 0x224 // MPropertyFriendlyName "local space control point number" - int32_t m_nControlPointLocal; // 0x1f8 + int32_t m_nControlPointLocal; // 0x228 // MPropertyFriendlyName "velocity scale" - float m_flVelocityScale; // 0x1fc + float m_flVelocityScale; // 0x22c // MPropertyFriendlyName "direction only" - bool m_bDirectionOnly; // 0x200 + bool m_bDirectionOnly; // 0x230 }; // Alignment: 8 -// Size: 0x220 +// Size: 0x250 class C_INIT_AgeNoise : public CParticleFunctionInitializer { public: // MPropertyFriendlyName "absolute value" - bool m_bAbsVal; // 0x1f0 + bool m_bAbsVal; // 0x220 // MPropertyFriendlyName "invert absolute value" - bool m_bAbsValInv; // 0x1f1 + bool m_bAbsValInv; // 0x221 private: - [[maybe_unused]] uint8_t __pad01f2[0x2]; // 0x1f2 + [[maybe_unused]] uint8_t __pad0222[0x2]; // 0x222 public: // MPropertyFriendlyName "time coordinate offset" - float m_flOffset; // 0x1f4 + float m_flOffset; // 0x224 // MPropertyFriendlyName "start age minimum" - float m_flAgeMin; // 0x1f8 + float m_flAgeMin; // 0x228 // MPropertyFriendlyName "start age maximum" - float m_flAgeMax; // 0x1fc + float m_flAgeMax; // 0x22c // MPropertyFriendlyName "time noise coordinate scale" - float m_flNoiseScale; // 0x200 + float m_flNoiseScale; // 0x230 // MPropertyFriendlyName "spatial noise coordinate scale" - float m_flNoiseScaleLoc; // 0x204 + float m_flNoiseScaleLoc; // 0x234 // MPropertyFriendlyName "spatial coordinate offset" // MVectorIsCoordinate - Vector m_vecOffsetLoc; // 0x208 + Vector m_vecOffsetLoc; // 0x238 }; // Alignment: 1 -// Size: 0x200 +// Size: 0x230 class C_INIT_SequenceLifeTime : public CParticleFunctionInitializer { public: // MPropertyFriendlyName "frames per second" - float m_flFramerate; // 0x1f0 + float m_flFramerate; // 0x220 }; // Alignment: 12 -// Size: 0x240 +// Size: 0x270 class C_INIT_RemapScalarToVector : public CParticleFunctionInitializer { public: // MPropertyFriendlyName "input field" // MPropertyAttributeChoiceName "particlefield_scalar" - ParticleAttributeIndex_t m_nFieldInput; // 0x1f0 + ParticleAttributeIndex_t m_nFieldInput; // 0x220 // MPropertyFriendlyName "output field" // MPropertyAttributeChoiceName "particlefield_vector" - ParticleAttributeIndex_t m_nFieldOutput; // 0x1f4 + ParticleAttributeIndex_t m_nFieldOutput; // 0x224 // MPropertyFriendlyName "input minimum" - float m_flInputMin; // 0x1f8 + float m_flInputMin; // 0x228 // MPropertyFriendlyName "input maximum" - float m_flInputMax; // 0x1fc + float m_flInputMax; // 0x22c // MPropertyFriendlyName "output minimum" // MVectorIsSometimesCoordinate - Vector m_vecOutputMin; // 0x200 + Vector m_vecOutputMin; // 0x230 // MPropertyFriendlyName "output maximum" // MVectorIsSometimesCoordinate - Vector m_vecOutputMax; // 0x20c + Vector m_vecOutputMax; // 0x23c // MPropertyFriendlyName "emitter lifetime start time (seconds)" - float m_flStartTime; // 0x218 + float m_flStartTime; // 0x248 // MPropertyFriendlyName "emitter lifetime end time (seconds)" - float m_flEndTime; // 0x21c + float m_flEndTime; // 0x24c // MPropertyFriendlyName "set value method" - ParticleSetMethod_t m_nSetMethod; // 0x220 + ParticleSetMethod_t m_nSetMethod; // 0x250 // MPropertyFriendlyName "control point number" - int32_t m_nControlPointNumber; // 0x224 + int32_t m_nControlPointNumber; // 0x254 // MPropertyFriendlyName "use local system" - bool m_bLocalCoords; // 0x228 + bool m_bLocalCoords; // 0x258 private: - [[maybe_unused]] uint8_t __pad0229[0x3]; // 0x229 + [[maybe_unused]] uint8_t __pad0259[0x3]; // 0x259 public: // MPropertyFriendlyName "remap bias" - float m_flRemapBias; // 0x22c + float m_flRemapBias; // 0x25c }; // Alignment: 5 -// Size: 0x220 +// Size: 0x250 class C_INIT_OffsetVectorToVector : public CParticleFunctionInitializer { public: // MPropertyFriendlyName "input field" // MPropertyAttributeChoiceName "particlefield_vector" - ParticleAttributeIndex_t m_nFieldInput; // 0x1f0 + ParticleAttributeIndex_t m_nFieldInput; // 0x220 // MPropertyFriendlyName "output field" // MPropertyAttributeChoiceName "particlefield_vector" - ParticleAttributeIndex_t m_nFieldOutput; // 0x1f4 + ParticleAttributeIndex_t m_nFieldOutput; // 0x224 // MPropertyFriendlyName "output offset minimum" // MVectorIsSometimesCoordinate - Vector m_vecOutputMin; // 0x1f8 + Vector m_vecOutputMin; // 0x228 // MPropertyFriendlyName "output offset maximum" // MVectorIsSometimesCoordinate - Vector m_vecOutputMax; // 0x204 + Vector m_vecOutputMax; // 0x234 // MPropertyFriendlyName "Random number generator controls" - CRandomNumberGeneratorParameters m_randomnessParameters; // 0x210 + CRandomNumberGeneratorParameters m_randomnessParameters; // 0x240 }; // Alignment: 6 -// Size: 0x4c0 +// Size: 0x500 class C_INIT_CreateSequentialPathV2 : public CParticleFunctionInitializer { public: // MPropertyFriendlyName "maximum distance" - CPerParticleFloatInput m_fMaxDistance; // 0x1f0 + CPerParticleFloatInput m_fMaxDistance; // 0x220 // MPropertyFriendlyName "particles to map from start to end" - CParticleCollectionFloatInput m_flNumToAssign; // 0x328 + CParticleCollectionFloatInput m_flNumToAssign; // 0x360 // MPropertyFriendlyName "restart behavior (0 = bounce, 1 = loop )" - bool m_bLoop; // 0x460 + bool m_bLoop; // 0x4a0 // MPropertyFriendlyName "use sequential CP pairs between start and end point" - bool m_bCPPairs; // 0x461 + bool m_bCPPairs; // 0x4a1 // MPropertyFriendlyName "save offset" - bool m_bSaveOffset; // 0x462 + bool m_bSaveOffset; // 0x4a2 private: - [[maybe_unused]] uint8_t __pad0463[0xd]; // 0x463 + [[maybe_unused]] uint8_t __pad04a3[0xd]; // 0x4a3 public: - CPathParameters m_PathParams; // 0x470 + CPathParameters m_PathParams; // 0x4b0 }; // Alignment: 6 -// Size: 0x240 +// Size: 0x270 class C_INIT_CreateSequentialPath : public CParticleFunctionInitializer { public: // MPropertyFriendlyName "maximum distance" - float m_fMaxDistance; // 0x1f0 + float m_fMaxDistance; // 0x220 // MPropertyFriendlyName "particles to map from start to end" - float m_flNumToAssign; // 0x1f4 + float m_flNumToAssign; // 0x224 // MPropertyFriendlyName "restart behavior (0 = bounce, 1 = loop )" - bool m_bLoop; // 0x1f8 + bool m_bLoop; // 0x228 // MPropertyFriendlyName "use sequential CP pairs between start and end point" - bool m_bCPPairs; // 0x1f9 + bool m_bCPPairs; // 0x229 // MPropertyFriendlyName "save offset" - bool m_bSaveOffset; // 0x1fa + bool m_bSaveOffset; // 0x22a private: - [[maybe_unused]] uint8_t __pad01fb[0x5]; // 0x1fb + [[maybe_unused]] uint8_t __pad022b[0x5]; // 0x22b public: - CPathParameters m_PathParams; // 0x200 + CPathParameters m_PathParams; // 0x230 }; // Alignment: 13 -// Size: 0x2b0 +// Size: 0x2e0 class C_INIT_InitialRepulsionVelocity : public CParticleFunctionInitializer { public: // MPropertyFriendlyName "collision group" - char m_CollisionGroupName[128]; // 0x1f0 + char m_CollisionGroupName[128]; // 0x220 // MPropertyFriendlyName "Trace Set" - ParticleTraceSet_t m_nTraceSet; // 0x270 + ParticleTraceSet_t m_nTraceSet; // 0x2a0 // MPropertyFriendlyName "minimum velocity" // MVectorIsCoordinate - Vector m_vecOutputMin; // 0x274 + Vector m_vecOutputMin; // 0x2a4 // MPropertyFriendlyName "maximum velocity" // MVectorIsCoordinate - Vector m_vecOutputMax; // 0x280 + Vector m_vecOutputMax; // 0x2b0 // MPropertyFriendlyName "control point number" - int32_t m_nControlPointNumber; // 0x28c + int32_t m_nControlPointNumber; // 0x2bc // MPropertyFriendlyName "per particle world collision tests" - bool m_bPerParticle; // 0x290 + bool m_bPerParticle; // 0x2c0 // MPropertyFriendlyName "offset instead of accelerate" - bool m_bTranslate; // 0x291 + bool m_bTranslate; // 0x2c1 // MPropertyFriendlyName "offset proportional to radius 0/1" - bool m_bProportional; // 0x292 + bool m_bProportional; // 0x2c2 private: - [[maybe_unused]] uint8_t __pad0293[0x1]; // 0x293 + [[maybe_unused]] uint8_t __pad02c3[0x1]; // 0x2c3 public: // MPropertyFriendlyName "trace length" - float m_flTraceLength; // 0x294 + float m_flTraceLength; // 0x2c4 // MPropertyFriendlyName "use radius for per particle trace length" - bool m_bPerParticleTR; // 0x298 + bool m_bPerParticleTR; // 0x2c8 // MPropertyFriendlyName "inherit from parent" - bool m_bInherit; // 0x299 + bool m_bInherit; // 0x2c9 private: - [[maybe_unused]] uint8_t __pad029a[0x2]; // 0x29a + [[maybe_unused]] uint8_t __pad02ca[0x2]; // 0x2ca public: // MPropertyFriendlyName "control points to broadcast to children (n + 1)" - int32_t m_nChildCP; // 0x29c + int32_t m_nChildCP; // 0x2cc // MPropertyFriendlyName "child group ID to affect" - int32_t m_nChildGroupID; // 0x2a0 + int32_t m_nChildGroupID; // 0x2d0 }; // Alignment: 1 -// Size: 0x200 +// Size: 0x230 class C_INIT_RandomYawFlip : public CParticleFunctionInitializer { public: // MPropertyFriendlyName "flip percentage" - float m_flPercent; // 0x1f0 + float m_flPercent; // 0x220 }; // Alignment: 2 -// Size: 0x200 +// Size: 0x230 class C_INIT_RandomSecondSequence : public CParticleFunctionInitializer { public: // MPropertyFriendlyName "sequence min" // MPropertyAttributeEditor "SequencePicker( 2 )" - int32_t m_nSequenceMin; // 0x1f0 + int32_t m_nSequenceMin; // 0x220 // MPropertyFriendlyName "sequence max" // MPropertyAttributeEditor "SequencePicker( 2 )" - int32_t m_nSequenceMax; // 0x1f4 + int32_t m_nSequenceMax; // 0x224 }; // Alignment: 11 -// Size: 0x220 +// Size: 0x250 class C_INIT_RemapCPtoScalar : public CParticleFunctionInitializer { public: // MPropertyFriendlyName "input control point number" - int32_t m_nCPInput; // 0x1f0 + int32_t m_nCPInput; // 0x220 // MPropertyFriendlyName "output field" // MPropertyAttributeChoiceName "particlefield_scalar" - ParticleAttributeIndex_t m_nFieldOutput; // 0x1f4 + ParticleAttributeIndex_t m_nFieldOutput; // 0x224 // MPropertyFriendlyName "input field 0-2 X/Y/Z" // MPropertyAttributeChoiceName "vector_component" - int32_t m_nField; // 0x1f8 + int32_t m_nField; // 0x228 // MPropertyFriendlyName "input minimum" - float m_flInputMin; // 0x1fc + float m_flInputMin; // 0x22c // MPropertyFriendlyName "input maximum" - float m_flInputMax; // 0x200 + float m_flInputMax; // 0x230 // MPropertyFriendlyName "output minimum" - float m_flOutputMin; // 0x204 + float m_flOutputMin; // 0x234 // MPropertyFriendlyName "output maximum" - float m_flOutputMax; // 0x208 + float m_flOutputMax; // 0x238 // MPropertyFriendlyName "emitter lifetime start time (seconds)" - float m_flStartTime; // 0x20c + float m_flStartTime; // 0x23c // MPropertyFriendlyName "emitter lifetime end time (seconds)" - float m_flEndTime; // 0x210 + float m_flEndTime; // 0x240 // MPropertyFriendlyName "set value method" - ParticleSetMethod_t m_nSetMethod; // 0x214 + ParticleSetMethod_t m_nSetMethod; // 0x244 // MPropertyFriendlyName "remap bias" - float m_flRemapBias; // 0x218 + float m_flRemapBias; // 0x248 }; // Alignment: 13 -// Size: 0x2e0 +// Size: 0x310 class C_INIT_RemapTransformToVector : public CParticleFunctionInitializer { public: // MPropertyFriendlyName "output field" // MPropertyAttributeChoiceName "particlefield_vector" - ParticleAttributeIndex_t m_nFieldOutput; // 0x1f0 + ParticleAttributeIndex_t m_nFieldOutput; // 0x220 // MPropertyFriendlyName "input minimum" // MVectorIsSometimesCoordinate - Vector m_vInputMin; // 0x1f4 + Vector m_vInputMin; // 0x224 // MPropertyFriendlyName "input maximum" // MVectorIsSometimesCoordinate - Vector m_vInputMax; // 0x200 + Vector m_vInputMax; // 0x230 // MPropertyFriendlyName "output minimum" // MVectorIsSometimesCoordinate - Vector m_vOutputMin; // 0x20c + Vector m_vOutputMin; // 0x23c // MPropertyFriendlyName "output maximum" // MVectorIsSometimesCoordinate - Vector m_vOutputMax; // 0x218 + Vector m_vOutputMax; // 0x248 private: - [[maybe_unused]] uint8_t __pad0224[0x4]; // 0x224 + [[maybe_unused]] uint8_t __pad0254[0x4]; // 0x254 public: // MPropertyFriendlyName "transform input" - CParticleTransformInput m_TransformInput; // 0x228 + CParticleTransformInput m_TransformInput; // 0x258 // MPropertyFriendlyName "local space transform" // MParticleTransformInputOptional - CParticleTransformInput m_LocalSpaceTransform; // 0x278 + CParticleTransformInput m_LocalSpaceTransform; // 0x2a8 // MPropertyFriendlyName "emitter lifetime start time (seconds)" - float m_flStartTime; // 0x2c8 + float m_flStartTime; // 0x2f8 // MPropertyFriendlyName "emitter lifetime end time (seconds)" - float m_flEndTime; // 0x2cc + float m_flEndTime; // 0x2fc // MPropertyFriendlyName "set value method" - ParticleSetMethod_t m_nSetMethod; // 0x2d0 + ParticleSetMethod_t m_nSetMethod; // 0x300 // MPropertyFriendlyName "offset position" - bool m_bOffset; // 0x2d4 + bool m_bOffset; // 0x304 // MPropertyFriendlyName "accelerate position" - bool m_bAccelerate; // 0x2d5 + bool m_bAccelerate; // 0x305 private: - [[maybe_unused]] uint8_t __pad02d6[0x2]; // 0x2d6 + [[maybe_unused]] uint8_t __pad0306[0x2]; // 0x306 public: // MPropertyFriendlyName "remap bias" - float m_flRemapBias; // 0x2d8 + float m_flRemapBias; // 0x308 }; // Alignment: 9 -// Size: 0x220 +// Size: 0x250 class C_INIT_ChaoticAttractor : public CParticleFunctionInitializer { public: // MPropertyFriendlyName "pickover A parameter" - float m_flAParm; // 0x1f0 + float m_flAParm; // 0x220 // MPropertyFriendlyName "pickover B parameter" - float m_flBParm; // 0x1f4 + float m_flBParm; // 0x224 // MPropertyFriendlyName "pickover C parameter" - float m_flCParm; // 0x1f8 + float m_flCParm; // 0x228 // MPropertyFriendlyName "pickover D parameter" - float m_flDParm; // 0x1fc + float m_flDParm; // 0x22c // MPropertyFriendlyName "scale" - float m_flScale; // 0x200 + float m_flScale; // 0x230 // MPropertyFriendlyName "speed min" - float m_flSpeedMin; // 0x204 + float m_flSpeedMin; // 0x234 // MPropertyFriendlyName "speed max" - float m_flSpeedMax; // 0x208 + float m_flSpeedMax; // 0x238 // MPropertyFriendlyName "relative control point number" - int32_t m_nBaseCP; // 0x20c + int32_t m_nBaseCP; // 0x23c // MPropertyFriendlyName "uniform speed" - bool m_bUniformSpeed; // 0x210 + bool m_bUniformSpeed; // 0x240 }; // Alignment: 5 -// Size: 0x210 +// Size: 0x240 class C_INIT_CreateFromParentParticles : public CParticleFunctionInitializer { public: // MPropertyFriendlyName "inherited velocity scale" - float m_flVelocityScale; // 0x1f0 + float m_flVelocityScale; // 0x220 // MPropertyFriendlyName "particle increment amount" - float m_flIncrement; // 0x1f4 + float m_flIncrement; // 0x224 // MPropertyFriendlyName "random parent particle distribution" - bool m_bRandomDistribution; // 0x1f8 + bool m_bRandomDistribution; // 0x228 private: - [[maybe_unused]] uint8_t __pad01f9[0x3]; // 0x1f9 + [[maybe_unused]] uint8_t __pad0229[0x3]; // 0x229 public: // MPropertyFriendlyName "random seed" - int32_t m_nRandomSeed; // 0x1fc + int32_t m_nRandomSeed; // 0x22c // MPropertyFriendlyName "sub frame interpolation" - bool m_bSubFrame; // 0x200 + bool m_bSubFrame; // 0x230 }; // Alignment: 5 -// Size: 0x210 +// Size: 0x240 class C_INIT_InheritFromParentParticles : public CParticleFunctionInitializer { public: // MPropertyFriendlyName "scale" - float m_flScale; // 0x1f0 + float m_flScale; // 0x220 // MPropertyFriendlyName "inherited field" // MPropertyAttributeChoiceName "particlefield" - ParticleAttributeIndex_t m_nFieldOutput; // 0x1f4 + ParticleAttributeIndex_t m_nFieldOutput; // 0x224 // MPropertyFriendlyName "particle increment amount" - int32_t m_nIncrement; // 0x1f8 + int32_t m_nIncrement; // 0x228 // MPropertyFriendlyName "random parent particle distribution" - bool m_bRandomDistribution; // 0x1fc + bool m_bRandomDistribution; // 0x22c private: - [[maybe_unused]] uint8_t __pad01fd[0x3]; // 0x1fd + [[maybe_unused]] uint8_t __pad022d[0x3]; // 0x22d public: // MPropertyFriendlyName "random seed" - int32_t m_nRandomSeed; // 0x200 + int32_t m_nRandomSeed; // 0x230 }; // Alignment: 4 -// Size: 0x340 +// Size: 0x370 class C_INIT_CreateFromCPs : public CParticleFunctionInitializer { public: // MPropertyFriendlyName "control point increment amount" - int32_t m_nIncrement; // 0x1f0 + int32_t m_nIncrement; // 0x220 // MPropertyFriendlyName "starting control point" - int32_t m_nMinCP; // 0x1f4 + int32_t m_nMinCP; // 0x224 // MPropertyFriendlyName "ending control point" // MParticleMinVersion - int32_t m_nMaxCP; // 0x1f8 + int32_t m_nMaxCP; // 0x228 private: - [[maybe_unused]] uint8_t __pad01fc[0x4]; // 0x1fc + [[maybe_unused]] uint8_t __pad022c[0x4]; // 0x22c public: // MPropertyFriendlyName "dynamic control point count" - CParticleCollectionFloatInput m_nDynamicCPCount; // 0x200 + CParticleCollectionFloatInput m_nDynamicCPCount; // 0x230 }; // Alignment: 15 -// Size: 0x8c0 +// Size: 0x920 class C_INIT_DistanceToCPInit : public CParticleFunctionInitializer { public: // MPropertyFriendlyName "output field" // MPropertyAttributeChoiceName "particlefield_scalar" - ParticleAttributeIndex_t m_nFieldOutput; // 0x1f0 + ParticleAttributeIndex_t m_nFieldOutput; // 0x220 private: - [[maybe_unused]] uint8_t __pad01f4[0x4]; // 0x1f4 + [[maybe_unused]] uint8_t __pad0224[0x4]; // 0x224 public: // MPropertyFriendlyName "distance minimum" - CPerParticleFloatInput m_flInputMin; // 0x1f8 + CPerParticleFloatInput m_flInputMin; // 0x228 // MPropertyFriendlyName "distance maximum" - CPerParticleFloatInput m_flInputMax; // 0x330 + CPerParticleFloatInput m_flInputMax; // 0x368 // MPropertyFriendlyName "output minimum" - CPerParticleFloatInput m_flOutputMin; // 0x468 + CPerParticleFloatInput m_flOutputMin; // 0x4a8 // MPropertyFriendlyName "output maximum" - CPerParticleFloatInput m_flOutputMax; // 0x5a0 + CPerParticleFloatInput m_flOutputMax; // 0x5e8 // MPropertyFriendlyName "control point" - int32_t m_nStartCP; // 0x6d8 + int32_t m_nStartCP; // 0x728 // MPropertyFriendlyName "ensure line of sight" - bool m_bLOS; // 0x6dc + bool m_bLOS; // 0x72c // MPropertyFriendlyName "LOS collision group" - char m_CollisionGroupName[128]; // 0x6dd + char m_CollisionGroupName[128]; // 0x72d private: - [[maybe_unused]] uint8_t __pad075d[0x3]; // 0x75d + [[maybe_unused]] uint8_t __pad07ad[0x3]; // 0x7ad public: // MPropertyFriendlyName "Trace Set" - ParticleTraceSet_t m_nTraceSet; // 0x760 + ParticleTraceSet_t m_nTraceSet; // 0x7b0 private: - [[maybe_unused]] uint8_t __pad0764[0x4]; // 0x764 + [[maybe_unused]] uint8_t __pad07b4[0x4]; // 0x7b4 public: // MPropertyFriendlyName "Maximum Trace Length" - CPerParticleFloatInput m_flMaxTraceLength; // 0x768 + CPerParticleFloatInput m_flMaxTraceLength; // 0x7b8 // MPropertyFriendlyName "LOS Failure Scalar" - float m_flLOSScale; // 0x8a0 + float m_flLOSScale; // 0x8f8 // MPropertyFriendlyName "set value method" - ParticleSetMethod_t m_nSetMethod; // 0x8a4 + ParticleSetMethod_t m_nSetMethod; // 0x8fc // MPropertyFriendlyName "only active within specified distance" - bool m_bActiveRange; // 0x8a8 + bool m_bActiveRange; // 0x900 private: - [[maybe_unused]] uint8_t __pad08a9[0x3]; // 0x8a9 + [[maybe_unused]] uint8_t __pad0901[0x3]; // 0x901 public: // MPropertyFriendlyName "distance component scale" - Vector m_vecDistanceScale; // 0x8ac + Vector m_vecDistanceScale; // 0x904 // MPropertyFriendlyName "remap bias" - float m_flRemapBias; // 0x8b8 + float m_flRemapBias; // 0x910 }; // Alignment: 8 -// Size: 0x2b0 +// Size: 0x2e0 class C_INIT_LifespanFromVelocity : public CParticleFunctionInitializer { public: // MPropertyFriendlyName "bias distance" // MVectorIsCoordinate - Vector m_vecComponentScale; // 0x1f0 + Vector m_vecComponentScale; // 0x220 // MPropertyFriendlyName "trace offset" - float m_flTraceOffset; // 0x1fc + float m_flTraceOffset; // 0x22c // MPropertyFriendlyName "maximum trace length" - float m_flMaxTraceLength; // 0x200 + float m_flMaxTraceLength; // 0x230 // MPropertyFriendlyName "trace recycle tolerance" - float m_flTraceTolerance; // 0x204 + float m_flTraceTolerance; // 0x234 // MPropertyFriendlyName "maximum points to cache" - int32_t m_nMaxPlanes; // 0x208 + int32_t m_nMaxPlanes; // 0x238 private: - [[maybe_unused]] uint8_t __pad020c[0x4]; // 0x20c + [[maybe_unused]] uint8_t __pad023c[0x4]; // 0x23c public: // MPropertyFriendlyName "trace collision group" - char m_CollisionGroupName[128]; // 0x210 + char m_CollisionGroupName[128]; // 0x240 // MPropertyFriendlyName "Trace Set" - ParticleTraceSet_t m_nTraceSet; // 0x290 + ParticleTraceSet_t m_nTraceSet; // 0x2c0 private: - [[maybe_unused]] uint8_t __pad0294[0xc]; // 0x294 + [[maybe_unused]] uint8_t __pad02c4[0xc]; // 0x2c4 public: // MPropertyFriendlyName "collide with water" - bool m_bIncludeWater; // 0x2a0 + bool m_bIncludeWater; // 0x2d0 }; // Alignment: 3 -// Size: 0x210 +// Size: 0x240 class C_INIT_CreateFromPlaneCache : public CParticleFunctionInitializer { public: // MPropertyFriendlyName "local offset min" // MVectorIsCoordinate - Vector m_vecOffsetMin; // 0x1f0 + Vector m_vecOffsetMin; // 0x220 // MPropertyFriendlyName "local offset max" // MVectorIsCoordinate - Vector m_vecOffsetMax; // 0x1fc + Vector m_vecOffsetMax; // 0x22c private: - [[maybe_unused]] uint8_t __pad0208[0x1]; // 0x208 + [[maybe_unused]] uint8_t __pad0238[0x1]; // 0x238 public: // MPropertyFriendlyName "set normal" - bool m_bUseNormal; // 0x209 + bool m_bUseNormal; // 0x239 }; // Alignment: 5 -// Size: 0x280 +// Size: 0x2b0 class C_INIT_ModelCull : public CParticleFunctionInitializer { public: // MPropertyFriendlyName "control point number" - int32_t m_nControlPointNumber; // 0x1f0 + int32_t m_nControlPointNumber; // 0x220 // MPropertyFriendlyName "use only bounding box" - bool m_bBoundBox; // 0x1f4 + bool m_bBoundBox; // 0x224 // MPropertyFriendlyName "cull outside instead of inside" - bool m_bCullOutside; // 0x1f5 + bool m_bCullOutside; // 0x225 // MPropertyFriendlyName "use bones instead of hitboxes" - bool m_bUseBones; // 0x1f6 + bool m_bUseBones; // 0x226 // MPropertyFriendlyName "hitbox set" - char m_HitboxSetName[128]; // 0x1f7 + char m_HitboxSetName[128]; // 0x227 }; // Alignment: 3 -// Size: 0x340 +// Size: 0x370 class C_INIT_DistanceCull : public CParticleFunctionInitializer { public: // MPropertyFriendlyName "control point" - int32_t m_nControlPoint; // 0x1f0 + int32_t m_nControlPoint; // 0x220 private: - [[maybe_unused]] uint8_t __pad01f4[0x4]; // 0x1f4 + [[maybe_unused]] uint8_t __pad0224[0x4]; // 0x224 public: // MPropertyFriendlyName "cull distance" - CParticleCollectionFloatInput m_flDistance; // 0x1f8 + CParticleCollectionFloatInput m_flDistance; // 0x228 // MPropertyFriendlyName "cull inside instead of outside" - bool m_bCullInside; // 0x330 + bool m_bCullInside; // 0x368 }; // Alignment: 3 -// Size: 0x340 +// Size: 0x370 class C_INIT_PlaneCull : public CParticleFunctionInitializer { public: // MPropertyFriendlyName "control point of plane" - int32_t m_nControlPoint; // 0x1f0 + int32_t m_nControlPoint; // 0x220 private: - [[maybe_unused]] uint8_t __pad01f4[0x4]; // 0x1f4 + [[maybe_unused]] uint8_t __pad0224[0x4]; // 0x224 public: // MPropertyFriendlyName "cull offset" - CParticleCollectionFloatInput m_flDistance; // 0x1f8 + CParticleCollectionFloatInput m_flDistance; // 0x228 // MPropertyFriendlyName "flip cull normal" - bool m_bCullInside; // 0x330 + bool m_bCullInside; // 0x368 }; // Alignment: 1 -// Size: 0x330 +// Size: 0x360 class C_INIT_DistanceToNeighborCull : public CParticleFunctionInitializer { public: // MPropertyFriendlyName "cull distance" - CPerParticleFloatInput m_flDistance; // 0x1f0 + CPerParticleFloatInput m_flDistance; // 0x220 }; // Alignment: 8 -// Size: 0x2a0 +// Size: 0x2d0 class C_INIT_RtEnvCull : public CParticleFunctionInitializer { public: // MPropertyFriendlyName "test direction" // MVectorIsCoordinate - Vector m_vecTestDir; // 0x1f0 + Vector m_vecTestDir; // 0x220 // MPropertyFriendlyName "cull normal" // MVectorIsCoordinate - Vector m_vecTestNormal; // 0x1fc + Vector m_vecTestNormal; // 0x22c // MPropertyFriendlyName "use velocity for test direction" - bool m_bUseVelocity; // 0x208 + bool m_bUseVelocity; // 0x238 // MPropertyFriendlyName "cull on miss" - bool m_bCullOnMiss; // 0x209 + bool m_bCullOnMiss; // 0x239 // MPropertyFriendlyName "velocity test adjust lifespan" - bool m_bLifeAdjust; // 0x20a + bool m_bLifeAdjust; // 0x23a // MPropertyFriendlyName "ray trace environment name" - char m_RtEnvName[128]; // 0x20b + char m_RtEnvName[128]; // 0x23b private: - [[maybe_unused]] uint8_t __pad028b[0x1]; // 0x28b + [[maybe_unused]] uint8_t __pad02bb[0x1]; // 0x2bb public: // MPropertyFriendlyName "ray trace environment cp" - int32_t m_nRTEnvCP; // 0x28c + int32_t m_nRTEnvCP; // 0x2bc // MPropertyFriendlyName "rt env control point component" // MPropertyAttributeChoiceName "vector_component" - int32_t m_nComponent; // 0x290 + int32_t m_nComponent; // 0x2c0 }; // Alignment: 2 -// Size: 0x200 +// Size: 0x230 class C_INIT_NormalAlignToCP : public CParticleFunctionInitializer { public: // MPropertyFriendlyName "control point number" - int32_t m_nControlPointNumber; // 0x1f0 + int32_t m_nControlPointNumber; // 0x220 // MPropertyFriendlyName "control point axis" - ParticleControlPointAxis_t m_nControlPointAxis; // 0x1f4 + ParticleControlPointAxis_t m_nControlPointAxis; // 0x224 }; // Alignment: 5 -// Size: 0x210 +// Size: 0x240 class C_INIT_NormalOffset : public CParticleFunctionInitializer { public: // MPropertyFriendlyName "offset min" // MVectorIsCoordinate - Vector m_OffsetMin; // 0x1f0 + Vector m_OffsetMin; // 0x220 // MPropertyFriendlyName "offset max" // MVectorIsCoordinate - Vector m_OffsetMax; // 0x1fc + Vector m_OffsetMax; // 0x22c // MPropertyFriendlyName "control point number" - int32_t m_nControlPointNumber; // 0x208 + int32_t m_nControlPointNumber; // 0x238 // MPropertyFriendlyName "offset in local space 0/1" - bool m_bLocalCoords; // 0x20c + bool m_bLocalCoords; // 0x23c // MPropertyFriendlyName "normalize output 0/1" - bool m_bNormalize; // 0x20d + bool m_bNormalize; // 0x23d }; // Alignment: 10 -// Size: 0x220 +// Size: 0x250 class C_INIT_RemapSpeedToScalar : public CParticleFunctionInitializer { public: // MPropertyFriendlyName "output field" // MPropertyAttributeChoiceName "particlefield_scalar" - ParticleAttributeIndex_t m_nFieldOutput; // 0x1f0 + ParticleAttributeIndex_t m_nFieldOutput; // 0x220 // MPropertyFriendlyName "control point number (ignored if per particle)" - int32_t m_nControlPointNumber; // 0x1f4 + int32_t m_nControlPointNumber; // 0x224 // MPropertyFriendlyName "emitter lifetime start time (seconds)" - float m_flStartTime; // 0x1f8 + float m_flStartTime; // 0x228 // MPropertyFriendlyName "emitter lifetime end time (seconds)" - float m_flEndTime; // 0x1fc + float m_flEndTime; // 0x22c // MPropertyFriendlyName "input minimum" - float m_flInputMin; // 0x200 + float m_flInputMin; // 0x230 // MPropertyFriendlyName "input maximum" - float m_flInputMax; // 0x204 + float m_flInputMax; // 0x234 // MPropertyFriendlyName "output minimum" - float m_flOutputMin; // 0x208 + float m_flOutputMin; // 0x238 // MPropertyFriendlyName "output maximum" - float m_flOutputMax; // 0x20c + float m_flOutputMax; // 0x23c // MPropertyFriendlyName "set value method" - ParticleSetMethod_t m_nSetMethod; // 0x210 + ParticleSetMethod_t m_nSetMethod; // 0x240 // MPropertyFriendlyName "per particle" - bool m_bPerParticle; // 0x214 + bool m_bPerParticle; // 0x244 }; // Alignment: 9 -// Size: 0x350 +// Size: 0x380 class C_INIT_InitFromCPSnapshot : public CParticleFunctionInitializer { public: // MPropertyFriendlyName "snapshot control point number" - int32_t m_nControlPointNumber; // 0x1f0 + int32_t m_nControlPointNumber; // 0x220 // MPropertyFriendlyName "field to read" // MPropertyAttributeChoiceName "particlefield" - ParticleAttributeIndex_t m_nAttributeToRead; // 0x1f4 + ParticleAttributeIndex_t m_nAttributeToRead; // 0x224 // MPropertyFriendlyName "field to write" // MPropertyAttributeChoiceName "particlefield" - ParticleAttributeIndex_t m_nAttributeToWrite; // 0x1f8 + ParticleAttributeIndex_t m_nAttributeToWrite; // 0x228 // MPropertyFriendlyName "local space control point number" - int32_t m_nLocalSpaceCP; // 0x1fc + int32_t m_nLocalSpaceCP; // 0x22c // MPropertyFriendlyName "random order" - bool m_bRandom; // 0x200 + bool m_bRandom; // 0x230 // MPropertyFriendlyName "reverse order" - bool m_bReverse; // 0x201 + bool m_bReverse; // 0x231 private: - [[maybe_unused]] uint8_t __pad0202[0x6]; // 0x202 + [[maybe_unused]] uint8_t __pad0232[0x6]; // 0x232 public: // MPropertyFriendlyName "Snapshot increment amount" - CParticleCollectionFloatInput m_nSnapShotIncrement; // 0x208 + CParticleCollectionFloatInput m_nSnapShotIncrement; // 0x238 // MPropertyFriendlyName "random seed" - int32_t m_nRandomSeed; // 0x340 + int32_t m_nRandomSeed; // 0x378 // MPropertyFriendlyName "local space angles" - bool m_bLocalSpaceAngles; // 0x344 + bool m_bLocalSpaceAngles; // 0x37c }; // Alignment: 17 -// Size: 0x230 +// Size: 0x260 class C_INIT_InitSkinnedPositionFromCPSnapshot : public CParticleFunctionInitializer { public: // MPropertyFriendlyName "snapshot control point number" - int32_t m_nSnapshotControlPointNumber; // 0x1f0 + int32_t m_nSnapshotControlPointNumber; // 0x220 // MPropertyFriendlyName "control point number" - int32_t m_nControlPointNumber; // 0x1f4 + int32_t m_nControlPointNumber; // 0x224 // MPropertyFriendlyName "random order" - bool m_bRandom; // 0x1f8 + bool m_bRandom; // 0x228 private: - [[maybe_unused]] uint8_t __pad01f9[0x3]; // 0x1f9 + [[maybe_unused]] uint8_t __pad0229[0x3]; // 0x229 public: // MPropertyFriendlyName "random seed" - int32_t m_nRandomSeed; // 0x1fc + int32_t m_nRandomSeed; // 0x22c // MPropertyFriendlyName "prepare for rigid lock" - bool m_bRigid; // 0x200 + bool m_bRigid; // 0x230 // MPropertyFriendlyName "set normal" - bool m_bSetNormal; // 0x201 + bool m_bSetNormal; // 0x231 // MPropertyFriendlyName "normal velocity ignore delta time" - bool m_bIgnoreDt; // 0x202 + bool m_bIgnoreDt; // 0x232 private: - [[maybe_unused]] uint8_t __pad0203[0x1]; // 0x203 + [[maybe_unused]] uint8_t __pad0233[0x1]; // 0x233 public: // MPropertyFriendlyName "normal velocity min" - float m_flMinNormalVelocity; // 0x204 + float m_flMinNormalVelocity; // 0x234 // MPropertyFriendlyName "normal velocity max" - float m_flMaxNormalVelocity; // 0x208 + float m_flMaxNormalVelocity; // 0x238 // MPropertyFriendlyName "particle increment amount" - float m_flIncrement; // 0x20c + float m_flIncrement; // 0x23c // MPropertyFriendlyName "Full Loop Increment Amount" - int32_t m_nFullLoopIncrement; // 0x210 + int32_t m_nFullLoopIncrement; // 0x240 // MPropertyFriendlyName "Snapshot start point" - int32_t m_nSnapShotStartPoint; // 0x214 + int32_t m_nSnapShotStartPoint; // 0x244 // MPropertyFriendlyName "inherited bone velocity" - float m_flBoneVelocity; // 0x218 + float m_flBoneVelocity; // 0x248 // MPropertyFriendlyName "max inherited bone velocity" - float m_flBoneVelocityMax; // 0x21c + float m_flBoneVelocityMax; // 0x24c // MPropertyFriendlyName "Set Color" - bool m_bCopyColor; // 0x220 + bool m_bCopyColor; // 0x250 // MPropertyFriendlyName "Set Alpha" - bool m_bCopyAlpha; // 0x221 + bool m_bCopyAlpha; // 0x251 // MPropertyFriendlyName "Set Radius" - bool m_bSetRadius; // 0x222 + bool m_bSetRadius; // 0x252 }; // Alignment: 1 -// Size: 0x280 +// Size: 0x2b0 class C_INIT_InitFromParentKilled : public CParticleFunctionInitializer { public: // MPropertyFriendlyName "field to init" // MPropertyAttributeChoiceName "particlefield" - ParticleAttributeIndex_t m_nAttributeToCopy; // 0x1f0 + ParticleAttributeIndex_t m_nAttributeToCopy; // 0x220 }; // Alignment: 5 -// Size: 0x7d0 +// Size: 0x820 class C_INIT_InitFromVectorFieldSnapshot : public CParticleFunctionInitializer { public: // MPropertyFriendlyName "snapshot control point number" - int32_t m_nControlPointNumber; // 0x1f0 + int32_t m_nControlPointNumber; // 0x220 // MPropertyFriendlyName "local space control point number" - int32_t m_nLocalSpaceCP; // 0x1f4 + int32_t m_nLocalSpaceCP; // 0x224 // MPropertyFriendlyName "weight update control point" - int32_t m_nWeightUpdateCP; // 0x1f8 + int32_t m_nWeightUpdateCP; // 0x228 // MPropertyFriendlyName "use vertical velocity for weighting" - bool m_bUseVerticalVelocity; // 0x1fc + bool m_bUseVerticalVelocity; // 0x22c private: - [[maybe_unused]] uint8_t __pad01fd[0x3]; // 0x1fd + [[maybe_unused]] uint8_t __pad022d[0x3]; // 0x22d public: // MPropertyFriendlyName "Component Scale" - CPerParticleVecInput m_vecScale; // 0x200 + CPerParticleVecInput m_vecScale; // 0x230 }; // Alignment: 6 -// Size: 0x260 +// Size: 0x290 class C_INIT_RemapInitialDirectionToTransformToVector : public CParticleFunctionInitializer { public: // MPropertyFriendlyName "transform input" - CParticleTransformInput m_TransformInput; // 0x1f0 + CParticleTransformInput m_TransformInput; // 0x220 // MPropertyFriendlyName "output field" // MPropertyAttributeChoiceName "particlefield_vector" - ParticleAttributeIndex_t m_nFieldOutput; // 0x240 + ParticleAttributeIndex_t m_nFieldOutput; // 0x270 // MPropertyFriendlyName "scale factor" - float m_flScale; // 0x244 + float m_flScale; // 0x274 // MPropertyFriendlyName "offset rotation" - float m_flOffsetRot; // 0x248 + float m_flOffsetRot; // 0x278 // MPropertyFriendlyName "offset axis" // MVectorIsCoordinate - Vector m_vecOffsetAxis; // 0x24c + Vector m_vecOffsetAxis; // 0x27c // MPropertyFriendlyName "normalize" - bool m_bNormalize; // 0x258 + bool m_bNormalize; // 0x288 }; // Alignment: 4 -// Size: 0x250 +// Size: 0x280 class C_INIT_RemapInitialTransformDirectionToRotation : public CParticleFunctionInitializer { public: // MPropertyFriendlyName "transform input" - CParticleTransformInput m_TransformInput; // 0x1f0 + CParticleTransformInput m_TransformInput; // 0x220 // MPropertyFriendlyName "rotation field" // MPropertyAttributeChoiceName "particlefield_rotation" - ParticleAttributeIndex_t m_nFieldOutput; // 0x240 + ParticleAttributeIndex_t m_nFieldOutput; // 0x270 // MPropertyFriendlyName "offset rotation" - float m_flOffsetRot; // 0x244 + float m_flOffsetRot; // 0x274 // MPropertyFriendlyName "control point axis" // MPropertyAttributeChoiceName "vector_component" // MVectorIsSometimesCoordinate - int32_t m_nComponent; // 0x248 + int32_t m_nComponent; // 0x278 }; // Alignment: 1 -// Size: 0x240 +// Size: 0x270 class C_INIT_RemapQAnglesToRotation : public CParticleFunctionInitializer { public: // MPropertyFriendlyName "transform input" - CParticleTransformInput m_TransformInput; // 0x1f0 + CParticleTransformInput m_TransformInput; // 0x220 }; // Alignment: 4 -// Size: 0x250 +// Size: 0x280 class C_INIT_RemapTransformOrientationToRotations : public CParticleFunctionInitializer { public: // MPropertyFriendlyName "transform input" - CParticleTransformInput m_TransformInput; // 0x1f0 + CParticleTransformInput m_TransformInput; // 0x220 // MPropertyFriendlyName "offset pitch/yaw/roll" - Vector m_vecRotation; // 0x240 + Vector m_vecRotation; // 0x270 // MPropertyFriendlyName "Use Quaternians Internally" - bool m_bUseQuat; // 0x24c + bool m_bUseQuat; // 0x27c // MPropertyFriendlyName "Write normal instead of rotation" - bool m_bWriteNormal; // 0x24d + bool m_bWriteNormal; // 0x27d }; // Alignment: 4 -// Size: 0x200 +// Size: 0x230 class C_INIT_SetRigidAttachment : public CParticleFunctionInitializer { public: // MPropertyFriendlyName "control point number" - int32_t m_nControlPointNumber; // 0x1f0 + int32_t m_nControlPointNumber; // 0x220 // MPropertyFriendlyName "attribute to read from" // MPropertyAttributeChoiceName "particlefield_vector" - ParticleAttributeIndex_t m_nFieldInput; // 0x1f4 + ParticleAttributeIndex_t m_nFieldInput; // 0x224 // MPropertyFriendlyName "attribute to cache to" // MPropertyAttributeChoiceName "particlefield_vector" - ParticleAttributeIndex_t m_nFieldOutput; // 0x1f8 + ParticleAttributeIndex_t m_nFieldOutput; // 0x228 // MPropertyFriendlyName "local space" - bool m_bLocalSpace; // 0x1fc + bool m_bLocalSpace; // 0x22c }; // Alignment: 5 -// Size: 0x210 +// Size: 0x240 class C_INIT_RemapInitialVisibilityScalar : public CParticleFunctionInitializer { private: - [[maybe_unused]] uint8_t __pad01f0[0x4]; // 0x1f0 + [[maybe_unused]] uint8_t __pad0220[0x4]; // 0x220 public: // MPropertyFriendlyName "output field" // MPropertyAttributeChoiceName "particlefield_scalar" - ParticleAttributeIndex_t m_nFieldOutput; // 0x1f4 + ParticleAttributeIndex_t m_nFieldOutput; // 0x224 // MPropertyFriendlyName "visibility minimum" - float m_flInputMin; // 0x1f8 + float m_flInputMin; // 0x228 // MPropertyFriendlyName "visibility maximum" - float m_flInputMax; // 0x1fc + float m_flInputMax; // 0x22c // MPropertyFriendlyName "output minimum" - float m_flOutputMin; // 0x200 + float m_flOutputMin; // 0x230 // MPropertyFriendlyName "output maximum" - float m_flOutputMax; // 0x204 + float m_flOutputMax; // 0x234 }; // Alignment: 1 -// Size: 0x200 +// Size: 0x230 class C_INIT_RadiusFromCPObject : public CParticleFunctionInitializer { public: // MPropertyFriendlyName "control point" - int32_t m_nControlPoint; // 0x1f0 + int32_t m_nControlPoint; // 0x220 }; // Alignment: 8 -// Size: 0x210 +// Size: 0x240 class C_INIT_InitialSequenceFromModel : public CParticleFunctionInitializer { public: // MPropertyFriendlyName "control point number" - int32_t m_nControlPointNumber; // 0x1f0 + int32_t m_nControlPointNumber; // 0x220 // MPropertyFriendlyName "output field" // MPropertyAttributeChoiceName "particlefield_scalar" - ParticleAttributeIndex_t m_nFieldOutput; // 0x1f4 + ParticleAttributeIndex_t m_nFieldOutput; // 0x224 // MPropertyFriendlyName "current anim time output field" // MPropertyAttributeChoiceName "particlefield_scalar" - ParticleAttributeIndex_t m_nFieldOutputAnim; // 0x1f8 + ParticleAttributeIndex_t m_nFieldOutputAnim; // 0x228 // MPropertyFriendlyName "input minimum" - float m_flInputMin; // 0x1fc + float m_flInputMin; // 0x22c // MPropertyFriendlyName "input maximum" - float m_flInputMax; // 0x200 + float m_flInputMax; // 0x230 // MPropertyFriendlyName "output minimum" - float m_flOutputMin; // 0x204 + float m_flOutputMin; // 0x234 // MPropertyFriendlyName "output maximum" - float m_flOutputMax; // 0x208 + float m_flOutputMax; // 0x238 // MPropertyFriendlyName "set value method" - ParticleSetMethod_t m_nSetMethod; // 0x20c + ParticleSetMethod_t m_nSetMethod; // 0x23c }; // Alignment: 6 -// Size: 0x200 +// Size: 0x230 class C_INIT_GlobalScale : public CParticleFunctionInitializer { public: // MPropertyFriendlyName "scale amount" - float m_flScale; // 0x1f0 + float m_flScale; // 0x220 // MPropertyFriendlyName "scale control point number" - int32_t m_nScaleControlPointNumber; // 0x1f4 + int32_t m_nScaleControlPointNumber; // 0x224 // MPropertyFriendlyName "control point number" - int32_t m_nControlPointNumber; // 0x1f8 + int32_t m_nControlPointNumber; // 0x228 // MPropertyFriendlyName "scale radius" - bool m_bScaleRadius; // 0x1fc + bool m_bScaleRadius; // 0x22c // MPropertyFriendlyName "scale position" - bool m_bScalePosition; // 0x1fd + bool m_bScalePosition; // 0x22d // MPropertyFriendlyName "scale velocity" - bool m_bScaleVelocity; // 0x1fe + bool m_bScaleVelocity; // 0x22e }; // Alignment: 5 -// Size: 0x220 +// Size: 0x250 class C_INIT_PointList : public CParticleFunctionInitializer { public: // MPropertyFriendlyName "output field" // MPropertyAttributeChoiceName "particlefield_vector" - ParticleAttributeIndex_t m_nFieldOutput; // 0x1f0 + ParticleAttributeIndex_t m_nFieldOutput; // 0x220 private: - [[maybe_unused]] uint8_t __pad01f4[0x4]; // 0x1f4 + [[maybe_unused]] uint8_t __pad0224[0x4]; // 0x224 public: // MPropertyFriendlyName "point list" - CUtlVector< PointDefinition_t > m_pointList; // 0x1f8 + CUtlVector< PointDefinition_t > m_pointList; // 0x228 // MPropertyFriendlyName "space points along path" - bool m_bPlaceAlongPath; // 0x210 + bool m_bPlaceAlongPath; // 0x240 // MPropertyFriendlyName "Treat path as a loop" - bool m_bClosedLoop; // 0x211 + bool m_bClosedLoop; // 0x241 private: - [[maybe_unused]] uint8_t __pad0212[0x2]; // 0x212 + [[maybe_unused]] uint8_t __pad0242[0x2]; // 0x242 public: // MPropertyFriendlyName "Numer of points along path" - int32_t m_nNumPointsAlongPath; // 0x214 + int32_t m_nNumPointsAlongPath; // 0x244 }; // Alignment: 6 -// Size: 0x220 +// Size: 0x250 class C_INIT_RandomNamedModelElement : public CParticleFunctionInitializer { public: - CStrongHandle< InfoForResourceTypeCModel > m_hModel; // 0x1f0 + CStrongHandle< InfoForResourceTypeCModel > m_hModel; // 0x220 // MPropertyFriendlyName "names" - CUtlVector< CUtlString > m_names; // 0x1f8 + CUtlVector< CUtlString > m_names; // 0x228 // MPropertyFriendlyName "shuffle" - bool m_bShuffle; // 0x210 + bool m_bShuffle; // 0x240 // MPropertyFriendlyName "linear" - bool m_bLinear; // 0x211 + bool m_bLinear; // 0x241 // MPropertyFriendlyName "model from renderer" - bool m_bModelFromRenderer; // 0x212 + bool m_bModelFromRenderer; // 0x242 private: - [[maybe_unused]] uint8_t __pad0213[0x1]; // 0x213 + [[maybe_unused]] uint8_t __pad0243[0x1]; // 0x243 public: // MPropertyFriendlyName "output field" // MPropertyAttributeChoiceName "particlefield_scalar" - ParticleAttributeIndex_t m_nFieldOutput; // 0x214 + ParticleAttributeIndex_t m_nFieldOutput; // 0x244 }; // Alignment: 0 -// Size: 0x220 +// Size: 0x250 class C_INIT_RandomNamedModelSequence : public C_INIT_RandomNamedModelElement { public: @@ -4488,7 +5294,7 @@ public: }; // Alignment: 0 -// Size: 0x220 +// Size: 0x250 class C_INIT_RandomNamedModelBodyPart : public C_INIT_RandomNamedModelElement { public: @@ -4496,7 +5302,7 @@ public: }; // Alignment: 0 -// Size: 0x220 +// Size: 0x250 class C_INIT_RandomNamedModelMeshGroup : public C_INIT_RandomNamedModelElement { public: @@ -4504,29 +5310,29 @@ public: }; // Alignment: 7 -// Size: 0x240 +// Size: 0x270 class C_INIT_RemapNamedModelElementToScalar : public CParticleFunctionInitializer { public: - CStrongHandle< InfoForResourceTypeCModel > m_hModel; // 0x1f0 + CStrongHandle< InfoForResourceTypeCModel > m_hModel; // 0x220 // MPropertyFriendlyName "names" - CUtlVector< CUtlString > m_names; // 0x1f8 + CUtlVector< CUtlString > m_names; // 0x228 // MPropertyFriendlyName "remap values for names" - CUtlVector< float32 > m_values; // 0x210 + CUtlVector< float32 > m_values; // 0x240 // MPropertyFriendlyName "input field" // MPropertyAttributeChoiceName "particlefield_scalar" - ParticleAttributeIndex_t m_nFieldInput; // 0x228 + ParticleAttributeIndex_t m_nFieldInput; // 0x258 // MPropertyFriendlyName "output field" // MPropertyAttributeChoiceName "particlefield_scalar" - ParticleAttributeIndex_t m_nFieldOutput; // 0x22c + ParticleAttributeIndex_t m_nFieldOutput; // 0x25c // MPropertyFriendlyName "set value method" - ParticleSetMethod_t m_nSetMethod; // 0x230 + ParticleSetMethod_t m_nSetMethod; // 0x260 // MPropertyFriendlyName "model from renderer" - bool m_bModelFromRenderer; // 0x234 + bool m_bModelFromRenderer; // 0x264 }; // Alignment: 0 -// Size: 0x240 +// Size: 0x270 class C_INIT_RemapNamedModelSequenceToScalar : public C_INIT_RemapNamedModelElementToScalar { public: @@ -4534,7 +5340,7 @@ public: }; // Alignment: 0 -// Size: 0x240 +// Size: 0x270 class C_INIT_RemapNamedModelBodyPartToScalar : public C_INIT_RemapNamedModelElementToScalar { public: @@ -4542,7 +5348,7 @@ public: }; // Alignment: 0 -// Size: 0x240 +// Size: 0x270 class C_INIT_RemapNamedModelMeshGroupToScalar : public C_INIT_RemapNamedModelElementToScalar { public: @@ -4550,843 +5356,784 @@ public: }; // Alignment: 18 -// Size: 0x250 +// Size: 0x280 class C_INIT_StatusEffect : public CParticleFunctionInitializer { public: // MPropertyFriendlyName "D_DETAIL_2" - Detail2Combo_t m_nDetail2Combo; // 0x1f0 + Detail2Combo_t m_nDetail2Combo; // 0x220 // MPropertyFriendlyName "$DETAIL2ROTATION" - float m_flDetail2Rotation; // 0x1f4 + float m_flDetail2Rotation; // 0x224 // MPropertyFriendlyName "$DETAIL2SCALE" - float m_flDetail2Scale; // 0x1f8 + float m_flDetail2Scale; // 0x228 // MPropertyFriendlyName "$DETAIL2BLENDFACTOR" - float m_flDetail2BlendFactor; // 0x1fc + float m_flDetail2BlendFactor; // 0x22c // MPropertyFriendlyName "$COLORWARPINTENSITY" - float m_flColorWarpIntensity; // 0x200 + float m_flColorWarpIntensity; // 0x230 // MPropertyFriendlyName "$DIFFUSEWARPBLENDTOFULL" - float m_flDiffuseWarpBlendToFull; // 0x204 + float m_flDiffuseWarpBlendToFull; // 0x234 // MPropertyFriendlyName "$ENVMAPINTENSITY" - float m_flEnvMapIntensity; // 0x208 + float m_flEnvMapIntensity; // 0x238 // MPropertyFriendlyName "$AMBIENTSCALE" - float m_flAmbientScale; // 0x20c + float m_flAmbientScale; // 0x23c // MPropertyFriendlyName "$SPECULARCOLOR" - Color m_specularColor; // 0x210 + Color m_specularColor; // 0x240 // MPropertyFriendlyName "$SPECULARSCALE" - float m_flSpecularScale; // 0x214 + float m_flSpecularScale; // 0x244 // MPropertyFriendlyName "$SPECULAREXPONENT" - float m_flSpecularExponent; // 0x218 + float m_flSpecularExponent; // 0x248 // MPropertyFriendlyName "$SPECULAREXPONENTBLENDTOFULL" - float m_flSpecularExponentBlendToFull; // 0x21c + float m_flSpecularExponentBlendToFull; // 0x24c // MPropertyFriendlyName "$SPECULARBLENDTOFULL" - float m_flSpecularBlendToFull; // 0x220 + float m_flSpecularBlendToFull; // 0x250 // MPropertyFriendlyName "$RIMLIGHTCOLOR" - Color m_rimLightColor; // 0x224 + Color m_rimLightColor; // 0x254 // MPropertyFriendlyName "$RIMLIGHTSCALE" - float m_flRimLightScale; // 0x228 + float m_flRimLightScale; // 0x258 // MPropertyFriendlyName "$REFLECTIONSTINTBYBASEBLENDTONONE" - float m_flReflectionsTintByBaseBlendToNone; // 0x22c + float m_flReflectionsTintByBaseBlendToNone; // 0x25c // MPropertyFriendlyName "$METALNESSBLENDTOFULL" - float m_flMetalnessBlendToFull; // 0x230 + float m_flMetalnessBlendToFull; // 0x260 // MPropertyFriendlyName "$SELFILLUMBLENDTOFULL" - float m_flSelfIllumBlendToFull; // 0x234 + float m_flSelfIllumBlendToFull; // 0x264 }; // Alignment: 19 -// Size: 0x240 +// Size: 0x270 class C_INIT_StatusEffectCitadel : public CParticleFunctionInitializer { public: // MPropertyFriendlyName "$SFXColorWarpAmount" - float m_flSFXColorWarpAmount; // 0x1f0 + float m_flSFXColorWarpAmount; // 0x220 // MPropertyFriendlyName "$SFXNormalAmount" - float m_flSFXNormalAmount; // 0x1f4 + float m_flSFXNormalAmount; // 0x224 // MPropertyFriendlyName "$SFXMetalnessAmount" - float m_flSFXMetalnessAmount; // 0x1f8 + float m_flSFXMetalnessAmount; // 0x228 // MPropertyFriendlyName "$SFXRoughnessAmount" - float m_flSFXRoughnessAmount; // 0x1fc + float m_flSFXRoughnessAmount; // 0x22c // MPropertyFriendlyName "$SFXSelfIllumAmount" - float m_flSFXSelfIllumAmount; // 0x200 + float m_flSFXSelfIllumAmount; // 0x230 // MPropertyFriendlyName "$SFXTextureScale" - float m_flSFXSScale; // 0x204 + float m_flSFXSScale; // 0x234 // MPropertyFriendlyName "$SFXTextureScrollX" - float m_flSFXSScrollX; // 0x208 + float m_flSFXSScrollX; // 0x238 // MPropertyFriendlyName "$SFXTextureScrollY" - float m_flSFXSScrollY; // 0x20c + float m_flSFXSScrollY; // 0x23c // MPropertyFriendlyName "$SFXTextureScrollZ" - float m_flSFXSScrollZ; // 0x210 + float m_flSFXSScrollZ; // 0x240 // MPropertyFriendlyName "$SFXTextureOffsetX" - float m_flSFXSOffsetX; // 0x214 + float m_flSFXSOffsetX; // 0x244 // MPropertyFriendlyName "$SFXTextureOffsetY" - float m_flSFXSOffsetY; // 0x218 + float m_flSFXSOffsetY; // 0x248 // MPropertyFriendlyName "$SFXTextureOffsetZ" - float m_flSFXSOffsetZ; // 0x21c + float m_flSFXSOffsetZ; // 0x24c // MPropertyFriendlyName "D_DETAIL" - DetailCombo_t m_nDetailCombo; // 0x220 + DetailCombo_t m_nDetailCombo; // 0x250 // MPropertyFriendlyName "$SFXDetailAmount" - float m_flSFXSDetailAmount; // 0x224 + float m_flSFXSDetailAmount; // 0x254 // MPropertyFriendlyName "$SFXDetailTextureScale" - float m_flSFXSDetailScale; // 0x228 + float m_flSFXSDetailScale; // 0x258 // MPropertyFriendlyName "$SFXDetailTextureScrollX" - float m_flSFXSDetailScrollX; // 0x22c + float m_flSFXSDetailScrollX; // 0x25c // MPropertyFriendlyName "$SFXDetailTextureScrollY" - float m_flSFXSDetailScrollY; // 0x230 + float m_flSFXSDetailScrollY; // 0x260 // MPropertyFriendlyName "$SFXDetailTextureScrollZ" - float m_flSFXSDetailScrollZ; // 0x234 + float m_flSFXSDetailScrollZ; // 0x264 // MPropertyFriendlyName "$SFXUseModelUVs" - float m_flSFXSUseModelUVs; // 0x238 + float m_flSFXSUseModelUVs; // 0x268 }; // Alignment: 5 -// Size: 0x5b0 +// Size: 0x5f0 class C_INIT_CreateParticleImpulse : public CParticleFunctionInitializer { public: // MPropertyFriendlyName "radius" - CPerParticleFloatInput m_InputRadius; // 0x1f0 + CPerParticleFloatInput m_InputRadius; // 0x220 // MPropertyFriendlyName "magnitude" - CPerParticleFloatInput m_InputMagnitude; // 0x328 + CPerParticleFloatInput m_InputMagnitude; // 0x360 // MPropertyFriendlyName "force falloff function" - ParticleFalloffFunction_t m_nFalloffFunction; // 0x460 + ParticleFalloffFunction_t m_nFalloffFunction; // 0x4a0 private: - [[maybe_unused]] uint8_t __pad0464[0x4]; // 0x464 + [[maybe_unused]] uint8_t __pad04a4[0x4]; // 0x4a4 public: // MPropertyFriendlyName "exponential falloff exponent" - CPerParticleFloatInput m_InputFalloffExp; // 0x468 + CPerParticleFloatInput m_InputFalloffExp; // 0x4a8 // MPropertyFriendlyName "impulse type" - ParticleImpulseType_t m_nImpulseType; // 0x5a0 + ParticleImpulseType_t m_nImpulseType; // 0x5e8 }; // Alignment: 2 -// Size: 0x330 +// Size: 0x370 class C_INIT_QuantizeFloat : public CParticleFunctionInitializer { public: // MPropertyFriendlyName "interval to snap to" - CPerParticleFloatInput m_InputValue; // 0x1f0 + CPerParticleFloatInput m_InputValue; // 0x220 // MPropertyFriendlyName "output field" // MPropertyAttributeChoiceName "particlefield_scalar" - ParticleAttributeIndex_t m_nOutputField; // 0x328 + ParticleAttributeIndex_t m_nOutputField; // 0x360 }; // Alignment: 6 -// Size: 0xe00 +// Size: 0xe70 class C_INIT_SetVectorAttributeToVectorExpression : public CParticleFunctionInitializer { public: // MPropertyFriendlyName "expression" - VectorExpressionType_t m_nExpression; // 0x1f0 + VectorExpressionType_t m_nExpression; // 0x220 private: - [[maybe_unused]] uint8_t __pad01f4[0x4]; // 0x1f4 + [[maybe_unused]] uint8_t __pad0224[0x4]; // 0x224 public: // MPropertyFriendlyName "input 1" - CPerParticleVecInput m_vInput1; // 0x1f8 + CPerParticleVecInput m_vInput1; // 0x228 // MPropertyFriendlyName "input 2" - CPerParticleVecInput m_vInput2; // 0x7c0 + CPerParticleVecInput m_vInput2; // 0x810 // MPropertyFriendlyName "output field" // MPropertyAttributeChoiceName "particlefield_vector" - ParticleAttributeIndex_t m_nOutputField; // 0xd88 + ParticleAttributeIndex_t m_nOutputField; // 0xdf8 // MPropertyFriendlyName "set value method" - ParticleSetMethod_t m_nSetMethod; // 0xd8c + ParticleSetMethod_t m_nSetMethod; // 0xdfc // MPropertyFriendlyName "normalize result" - bool m_bNormalizedOutput; // 0xd90 + bool m_bNormalizedOutput; // 0xe00 }; // Alignment: 2 -// Size: 0x330 +// Size: 0x370 class C_INIT_InitFloatCollection : public CParticleFunctionInitializer { public: // MPropertyFriendlyName "value" - CParticleCollectionFloatInput m_InputValue; // 0x1f0 + CParticleCollectionFloatInput m_InputValue; // 0x220 // MPropertyFriendlyName "output field" // MPropertyAttributeChoiceName "particlefield_scalar" - ParticleAttributeIndex_t m_nOutputField; // 0x328 + ParticleAttributeIndex_t m_nOutputField; // 0x360 }; // Alignment: 4 -// Size: 0x470 +// Size: 0x4b0 class C_INIT_InitFloat : public CParticleFunctionInitializer { public: // MPropertyFriendlyName "value" - CPerParticleFloatInput m_InputValue; // 0x1f0 + CPerParticleFloatInput m_InputValue; // 0x220 // MPropertyFriendlyName "output field" // MPropertyAttributeChoiceName "particlefield_scalar" - ParticleAttributeIndex_t m_nOutputField; // 0x328 + ParticleAttributeIndex_t m_nOutputField; // 0x360 // MPropertyFriendlyName "set value method" - ParticleSetMethod_t m_nSetMethod; // 0x32c + ParticleSetMethod_t m_nSetMethod; // 0x364 // MPropertyFriendlyName "per-particle strength" - CPerParticleFloatInput m_InputStrength; // 0x330 + CPerParticleFloatInput m_InputStrength; // 0x368 }; // Alignment: 2 -// Size: 0x7c0 +// Size: 0x810 class C_INIT_InitVecCollection : public CParticleFunctionInitializer { public: // MPropertyFriendlyName "value" - CParticleCollectionVecInput m_InputValue; // 0x1f0 + CParticleCollectionVecInput m_InputValue; // 0x220 // MPropertyFriendlyName "output field" // MPropertyAttributeChoiceName "particlefield_vector" - ParticleAttributeIndex_t m_nOutputField; // 0x7b8 + ParticleAttributeIndex_t m_nOutputField; // 0x808 }; // Alignment: 5 -// Size: 0x7d0 +// Size: 0x820 class C_INIT_InitVec : public CParticleFunctionInitializer { public: // MPropertyFriendlyName "value" - CPerParticleVecInput m_InputValue; // 0x1f0 + CPerParticleVecInput m_InputValue; // 0x220 // MPropertyFriendlyName "output field" // MPropertyAttributeChoiceName "particlefield_vector" - ParticleAttributeIndex_t m_nOutputField; // 0x7b8 + ParticleAttributeIndex_t m_nOutputField; // 0x808 // MPropertyFriendlyName "set value method" - ParticleSetMethod_t m_nSetMethod; // 0x7bc + ParticleSetMethod_t m_nSetMethod; // 0x80c // MPropertyFriendlyName "normalize result" - bool m_bNormalizedOutput; // 0x7c0 + bool m_bNormalizedOutput; // 0x810 // MPropertyFriendlyName "set previous position" // MPropertySuppressExpr "m_nOutputField != PARTICLE_ATTRIBUTE_XYZ" - bool m_bWritePreviousPosition; // 0x7c1 + bool m_bWritePreviousPosition; // 0x811 }; // Alignment: 5 -// Size: 0x470 +// Size: 0x4b0 class C_OP_InstantaneousEmitter : public CParticleFunctionEmitter { public: // MPropertyFriendlyName "num to emit" // MPropertyAttributeRange "1 1000" - CParticleCollectionFloatInput m_nParticlesToEmit; // 0x1f0 + CParticleCollectionFloatInput m_nParticlesToEmit; // 0x220 // MPropertyFriendlyName "emission start time" - CParticleCollectionFloatInput m_flStartTime; // 0x328 + CParticleCollectionFloatInput m_flStartTime; // 0x360 // MPropertyFriendlyName "emission scale from killed parent particles" - float m_flInitFromKilledParentParticles; // 0x460 + float m_flInitFromKilledParentParticles; // 0x4a0 // MPropertyFriendlyName "maximum emission per frame" - int32_t m_nMaxEmittedPerFrame; // 0x464 + int32_t m_nMaxEmittedPerFrame; // 0x4a4 // MPropertyFriendlyName "control point with snapshot data" - int32_t m_nSnapshotControlPoint; // 0x468 + int32_t m_nSnapshotControlPoint; // 0x4a8 }; -// Alignment: 9 -// Size: 0x5b0 +// Alignment: 10 +// Size: 0x600 class C_OP_ContinuousEmitter : public CParticleFunctionEmitter { public: // MPropertyFriendlyName "emission duration" - CParticleCollectionFloatInput m_flEmissionDuration; // 0x1f0 + CParticleCollectionFloatInput m_flEmissionDuration; // 0x220 // MPropertyFriendlyName "emission start time" - CParticleCollectionFloatInput m_flStartTime; // 0x328 + CParticleCollectionFloatInput m_flStartTime; // 0x360 // MPropertyFriendlyName "emission rate" - CParticleCollectionFloatInput m_flEmitRate; // 0x460 + CParticleCollectionFloatInput m_flEmitRate; // 0x4a0 // MPropertyFriendlyName "scale emission to used control points" // MParticleMaxVersion - float m_flEmissionScale; // 0x598 + float m_flEmissionScale; // 0x5e0 // MPropertyFriendlyName "scale emission by parent particle count" - float m_flScalePerParentParticle; // 0x59c + float m_flScalePerParentParticle; // 0x5e4 // MPropertyFriendlyName "emit particles for killed parent particles" - bool m_bInitFromKilledParentParticles; // 0x5a0 + bool m_bInitFromKilledParentParticles; // 0x5e8 private: - [[maybe_unused]] uint8_t __pad05a1[0x3]; // 0x5a1 + [[maybe_unused]] uint8_t __pad05e9[0x3]; // 0x5e9 public: + // MPropertyFriendlyName "control point with snapshot data" + int32_t m_nSnapshotControlPoint; // 0x5ec // MPropertyFriendlyName "limit per update" - int32_t m_nLimitPerUpdate; // 0x5a4 + int32_t m_nLimitPerUpdate; // 0x5f0 // MPropertyFriendlyName "force emit on first update" - bool m_bForceEmitOnFirstUpdate; // 0x5a8 + bool m_bForceEmitOnFirstUpdate; // 0x5f4 // MPropertyFriendlyName "force emit on last update" - bool m_bForceEmitOnLastUpdate; // 0x5a9 + bool m_bForceEmitOnLastUpdate; // 0x5f5 }; // Alignment: 15 -// Size: 0x230 +// Size: 0x260 class C_OP_NoiseEmitter : public CParticleFunctionEmitter { public: // MPropertyFriendlyName "emission duration" - float m_flEmissionDuration; // 0x1f0 + float m_flEmissionDuration; // 0x220 // MPropertyFriendlyName "emission start time" - float m_flStartTime; // 0x1f4 + float m_flStartTime; // 0x224 // MPropertyFriendlyName "scale emission to used control points" // MParticleMaxVersion - float m_flEmissionScale; // 0x1f8 + float m_flEmissionScale; // 0x228 // MPropertyFriendlyName "emission count scale control point" - int32_t m_nScaleControlPoint; // 0x1fc + int32_t m_nScaleControlPoint; // 0x22c // MPropertyFriendlyName "emission count scale control point field" // MPropertyAttributeChoiceName "vector_component" - int32_t m_nScaleControlPointField; // 0x200 + int32_t m_nScaleControlPointField; // 0x230 // MPropertyFriendlyName "world noise scale control point" - int32_t m_nWorldNoisePoint; // 0x204 + int32_t m_nWorldNoisePoint; // 0x234 // MPropertyFriendlyName "absolute value" - bool m_bAbsVal; // 0x208 + bool m_bAbsVal; // 0x238 // MPropertyFriendlyName "invert absolute value" - bool m_bAbsValInv; // 0x209 + bool m_bAbsValInv; // 0x239 private: - [[maybe_unused]] uint8_t __pad020a[0x2]; // 0x20a + [[maybe_unused]] uint8_t __pad023a[0x2]; // 0x23a public: // MPropertyFriendlyName "time coordinate offset" - float m_flOffset; // 0x20c + float m_flOffset; // 0x23c // MPropertyFriendlyName "emission minimum" - float m_flOutputMin; // 0x210 + float m_flOutputMin; // 0x240 // MPropertyFriendlyName "emission maximum" - float m_flOutputMax; // 0x214 + float m_flOutputMax; // 0x244 // MPropertyFriendlyName "time noise coordinate scale" - float m_flNoiseScale; // 0x218 + float m_flNoiseScale; // 0x248 // MPropertyFriendlyName "world spatial noise coordinate scale" - float m_flWorldNoiseScale; // 0x21c + float m_flWorldNoiseScale; // 0x24c // MPropertyFriendlyName "spatial coordinate offset" // MVectorIsCoordinate - Vector m_vecOffsetLoc; // 0x220 + Vector m_vecOffsetLoc; // 0x250 // MPropertyFriendlyName "world time noise coordinate scale" - float m_flWorldTimeScale; // 0x22c + float m_flWorldTimeScale; // 0x25c }; // Alignment: 8 -// Size: 0x480 +// Size: 0x4c0 class C_OP_MaintainEmitter : public CParticleFunctionEmitter { public: // MPropertyFriendlyName "count to maintain" - int32_t m_nParticlesToMaintain; // 0x1f0 + int32_t m_nParticlesToMaintain; // 0x220 // MPropertyFriendlyName "emission start time" - float m_flStartTime; // 0x1f4 + float m_flStartTime; // 0x224 // MPropertyFriendlyName "emission duration" - CParticleCollectionFloatInput m_flEmissionDuration; // 0x1f8 + CParticleCollectionFloatInput m_flEmissionDuration; // 0x228 // MPropertyFriendlyName "emission rate" - float m_flEmissionRate; // 0x330 + float m_flEmissionRate; // 0x368 // MPropertyFriendlyName "control point with snapshot data" - int32_t m_nSnapshotControlPoint; // 0x334 + int32_t m_nSnapshotControlPoint; // 0x36c // MPropertyFriendlyName "group emission times for new particles" - bool m_bEmitInstantaneously; // 0x338 + bool m_bEmitInstantaneously; // 0x370 // MPropertyFriendlyName "perform final emit on stop" - bool m_bFinalEmitOnStop; // 0x339 + bool m_bFinalEmitOnStop; // 0x371 private: - [[maybe_unused]] uint8_t __pad033a[0x6]; // 0x33a + [[maybe_unused]] uint8_t __pad0372[0x6]; // 0x372 public: // MPropertyFriendlyName "total count scale" - CParticleCollectionFloatInput m_flScale; // 0x340 + CParticleCollectionFloatInput m_flScale; // 0x378 }; // Alignment: 2 -// Size: 0x210 +// Size: 0x230 class C_OP_RandomForce : public CParticleFunctionForce { public: // MPropertyFriendlyName "min force" // MVectorIsCoordinate - Vector m_MinForce; // 0x1f0 + Vector m_MinForce; // 0x210 // MPropertyFriendlyName "max force" // MVectorIsCoordinate - Vector m_MaxForce; // 0x1fc + Vector m_MaxForce; // 0x21c }; // Alignment: 2 -// Size: 0x330 +// Size: 0x360 class C_OP_CPVelocityForce : public CParticleFunctionForce { public: // MPropertyFriendlyName "control point" - int32_t m_nControlPointNumber; // 0x1f0 + int32_t m_nControlPointNumber; // 0x210 private: - [[maybe_unused]] uint8_t __pad01f4[0x4]; // 0x1f4 + [[maybe_unused]] uint8_t __pad0214[0x4]; // 0x214 public: // MPropertyFriendlyName "velocity scale" - CPerParticleFloatInput m_flScale; // 0x1f8 + CPerParticleFloatInput m_flScale; // 0x218 }; // Alignment: 3 -// Size: 0x210 +// Size: 0x230 class C_OP_ParentVortices : public CParticleFunctionForce { public: // MPropertyFriendlyName "amount of force" - float m_flForceScale; // 0x1f0 + float m_flForceScale; // 0x210 // MPropertyFriendlyName "twist axis" // MVectorIsCoordinate - Vector m_vecTwistAxis; // 0x1f4 + Vector m_vecTwistAxis; // 0x214 // MPropertyFriendlyName "flip twist axis with yaw" - bool m_bFlipBasedOnYaw; // 0x200 + bool m_bFlipBasedOnYaw; // 0x220 }; // Alignment: 4 -// Size: 0x210 +// Size: 0x230 class C_OP_TwistAroundAxis : public CParticleFunctionForce { public: // MPropertyFriendlyName "amount of force" - float m_fForceAmount; // 0x1f0 + float m_fForceAmount; // 0x210 // MPropertyFriendlyName "twist axis" // MVectorIsCoordinate - Vector m_TwistAxis; // 0x1f4 + Vector m_TwistAxis; // 0x214 // MPropertyFriendlyName "object local space axis 0/1" - bool m_bLocalSpace; // 0x200 + bool m_bLocalSpace; // 0x220 private: - [[maybe_unused]] uint8_t __pad0201[0x3]; // 0x201 + [[maybe_unused]] uint8_t __pad0221[0x3]; // 0x221 public: // MPropertyFriendlyName "control point" - int32_t m_nControlPointNumber; // 0x204 + int32_t m_nControlPointNumber; // 0x224 }; // Alignment: 6 -// Size: 0x4d0 +// Size: 0x500 class C_OP_AttractToControlPoint : public CParticleFunctionForce { public: // MPropertyFriendlyName "component scale" // MVectorIsCoordinate - Vector m_vecComponentScale; // 0x1f0 + Vector m_vecComponentScale; // 0x210 private: - [[maybe_unused]] uint8_t __pad01fc[0x4]; // 0x1fc + [[maybe_unused]] uint8_t __pad021c[0x4]; // 0x21c public: // MPropertyFriendlyName "amount of force (or Max Force)" - CPerParticleFloatInput m_fForceAmount; // 0x200 + CPerParticleFloatInput m_fForceAmount; // 0x220 // MPropertyFriendlyName "falloff power" - float m_fFalloffPower; // 0x338 + float m_fFalloffPower; // 0x360 private: - [[maybe_unused]] uint8_t __pad033c[0x4]; // 0x33c + [[maybe_unused]] uint8_t __pad0364[0x4]; // 0x364 public: // MPropertyFriendlyName "input position transform" - CParticleTransformInput m_TransformInput; // 0x340 + CParticleTransformInput m_TransformInput; // 0x368 // MPropertyFriendlyName "Min Pullforce" - CPerParticleFloatInput m_fForceAmountMin; // 0x390 + CPerParticleFloatInput m_fForceAmountMin; // 0x3b8 // MPropertyFriendlyName "Apply Min Pullforce" - bool m_bApplyMinForce; // 0x4c8 + bool m_bApplyMinForce; // 0x4f8 }; // Alignment: 7 -// Size: 0x230 +// Size: 0x250 class C_OP_ForceBasedOnDistanceToPlane : public CParticleFunctionForce { public: // MPropertyFriendlyName "min distance from plane" - float m_flMinDist; // 0x1f0 + float m_flMinDist; // 0x210 // MPropertyFriendlyName "force at min distance" // MVectorIsCoordinate - Vector m_vecForceAtMinDist; // 0x1f4 + Vector m_vecForceAtMinDist; // 0x214 // MPropertyFriendlyName "max distance from plane" - float m_flMaxDist; // 0x200 + float m_flMaxDist; // 0x220 // MPropertyFriendlyName "force at max distance" // MVectorIsCoordinate - Vector m_vecForceAtMaxDist; // 0x204 + Vector m_vecForceAtMaxDist; // 0x224 // MPropertyFriendlyName "plane normal" // MVectorIsCoordinate - Vector m_vecPlaneNormal; // 0x210 + Vector m_vecPlaneNormal; // 0x230 // MPropertyFriendlyName "control point number" - int32_t m_nControlPointNumber; // 0x21c + int32_t m_nControlPointNumber; // 0x23c // MPropertyFriendlyName "exponent" - float m_flExponent; // 0x220 + float m_flExponent; // 0x240 }; // Alignment: 4 -// Size: 0x210 +// Size: 0x230 class C_OP_TimeVaryingForce : public CParticleFunctionForce { public: // MPropertyFriendlyName "time to start transition" - float m_flStartLerpTime; // 0x1f0 + float m_flStartLerpTime; // 0x210 // MPropertyFriendlyName "starting force" // MVectorIsCoordinate - Vector m_StartingForce; // 0x1f4 + Vector m_StartingForce; // 0x214 // MPropertyFriendlyName "time to end transition" - float m_flEndLerpTime; // 0x200 + float m_flEndLerpTime; // 0x220 // MPropertyFriendlyName "ending force" // MVectorIsCoordinate - Vector m_EndingForce; // 0x204 + Vector m_EndingForce; // 0x224 }; // Alignment: 8 -// Size: 0x230 +// Size: 0x250 class C_OP_TurbulenceForce : public CParticleFunctionForce { public: // MPropertyFriendlyName "noise scale 0" - float m_flNoiseCoordScale0; // 0x1f0 + float m_flNoiseCoordScale0; // 0x210 // MPropertyFriendlyName "noise scale 1" - float m_flNoiseCoordScale1; // 0x1f4 + float m_flNoiseCoordScale1; // 0x214 // MPropertyFriendlyName "noise scale 2" - float m_flNoiseCoordScale2; // 0x1f8 + float m_flNoiseCoordScale2; // 0x218 // MPropertyFriendlyName "noise scale 3" - float m_flNoiseCoordScale3; // 0x1fc + float m_flNoiseCoordScale3; // 0x21c // MPropertyFriendlyName "noise amount 0" // MVectorIsCoordinate - Vector m_vecNoiseAmount0; // 0x200 + Vector m_vecNoiseAmount0; // 0x220 // MPropertyFriendlyName "noise amount 1" // MVectorIsCoordinate - Vector m_vecNoiseAmount1; // 0x20c + Vector m_vecNoiseAmount1; // 0x22c // MPropertyFriendlyName "noise amount 2" // MVectorIsCoordinate - Vector m_vecNoiseAmount2; // 0x218 + Vector m_vecNoiseAmount2; // 0x238 // MPropertyFriendlyName "noise amount 3" // MVectorIsCoordinate - Vector m_vecNoiseAmount3; // 0x224 + Vector m_vecNoiseAmount3; // 0x244 }; // Alignment: 6 -// Size: 0x15c0 +// Size: 0x1650 class C_OP_CurlNoiseForce : public CParticleFunctionForce { public: // MPropertyFriendlyName "noise type" - ParticleDirectionNoiseType_t m_nNoiseType; // 0x1f0 + ParticleDirectionNoiseType_t m_nNoiseType; // 0x210 private: - [[maybe_unused]] uint8_t __pad01f4[0x4]; // 0x1f4 + [[maybe_unused]] uint8_t __pad0214[0x4]; // 0x214 public: // MPropertyFriendlyName "noise frequency" // MVectorIsCoordinate - CPerParticleVecInput m_vecNoiseFreq; // 0x1f8 + CPerParticleVecInput m_vecNoiseFreq; // 0x218 // MPropertyFriendlyName "noise amplitude" // MVectorIsCoordinate - CPerParticleVecInput m_vecNoiseScale; // 0x7c0 + CPerParticleVecInput m_vecNoiseScale; // 0x800 // MPropertyFriendlyName "offset rate" // MVectorIsCoordinate - CPerParticleVecInput m_vecOffsetRate; // 0xd88 + CPerParticleVecInput m_vecOffsetRate; // 0xde8 // MPropertyFriendlyName "worley seed" - CPerParticleFloatInput m_flWorleySeed; // 0x1350 + CPerParticleFloatInput m_flWorleySeed; // 0x13d0 // MPropertyFriendlyName "worley jitter" - CPerParticleFloatInput m_flWorleyJitter; // 0x1488 + CPerParticleFloatInput m_flWorleyJitter; // 0x1510 }; // Alignment: 3 -// Size: 0x900 +// Size: 0x940 class C_OP_PerParticleForce : public CParticleFunctionForce { public: // MPropertyFriendlyName "force scale" - CPerParticleFloatInput m_flForceScale; // 0x1f0 + CPerParticleFloatInput m_flForceScale; // 0x210 // MPropertyFriendlyName "force to apply" // MVectorIsCoordinate - CPerParticleVecInput m_vForce; // 0x328 + CPerParticleVecInput m_vForce; // 0x350 // MPropertyFriendlyName "local space control point" - int32_t m_nCP; // 0x8f0 + int32_t m_nCP; // 0x938 }; // Alignment: 1 -// Size: 0x200 +// Size: 0x220 class C_OP_WindForce : public CParticleFunctionForce { public: // MPropertyFriendlyName "force to apply" // MVectorIsCoordinate - Vector m_vForce; // 0x1f0 + Vector m_vForce; // 0x210 }; // Alignment: 4 -// Size: 0xd90 +// Size: 0xdf0 class C_OP_ExternalWindForce : public CParticleFunctionForce { public: // MPropertyFriendlyName "sample position" - CPerParticleVecInput m_vecSamplePosition; // 0x1f0 + CPerParticleVecInput m_vecSamplePosition; // 0x210 // MPropertyFriendlyName "force scale" - CPerParticleVecInput m_vecScale; // 0x7b8 + CPerParticleVecInput m_vecScale; // 0x7f8 // MPropertyFriendlyName "sample wind" - bool m_bSampleWind; // 0xd80 + bool m_bSampleWind; // 0xde0 // MPropertyFriendlyName "sample water current" - bool m_bSampleWater; // 0xd81 + bool m_bSampleWater; // 0xde1 }; // Alignment: 5 -// Size: 0x330 +// Size: 0x360 class C_OP_ExternalGameImpulseForce : public CParticleFunctionForce { public: // MPropertyFriendlyName "force scale" - CPerParticleFloatInput m_flForceScale; // 0x1f0 + CPerParticleFloatInput m_flForceScale; // 0x210 // MPropertyFriendlyName "rope shake" - bool m_bRopes; // 0x328 + bool m_bRopes; // 0x350 // MPropertyFriendlyName "limit rope impulses to Z" - bool m_bRopesZOnly; // 0x329 + bool m_bRopesZOnly; // 0x351 // MPropertyFriendlyName "explosions" - bool m_bExplosions; // 0x32a + bool m_bExplosions; // 0x352 // MPropertyFriendlyName "particle systems" - bool m_bParticles; // 0x32b + bool m_bParticles; // 0x353 }; // Alignment: 3 -// Size: 0x7c0 +// Size: 0x800 class C_OP_LocalAccelerationForce : public CParticleFunctionForce { public: // MPropertyFriendlyName "local space control point" - int32_t m_nCP; // 0x1f0 + int32_t m_nCP; // 0x210 // MPropertyFriendlyName "scale control point" - int32_t m_nScaleCP; // 0x1f4 + int32_t m_nScaleCP; // 0x214 // MPropertyFriendlyName "local space acceleration" - CParticleCollectionVecInput m_vecAccel; // 0x1f8 + CParticleCollectionVecInput m_vecAccel; // 0x218 }; // Alignment: 1 -// Size: 0x200 +// Size: 0x220 class C_OP_ScreenForceFromPlayerView : public CParticleFunctionForce { public: // MPropertyFriendlyName "Acceleration" - float m_flAccel; // 0x1f0 + float m_flAccel; // 0x210 }; // Alignment: 5 -// Size: 0x210 +// Size: 0x230 class C_OP_ExternalGenericForce : public CParticleFunctionForce { public: // MPropertyFriendlyName "strength" - float m_flStrength; // 0x1f0 + float m_flStrength; // 0x210 // MPropertyFriendlyName "curl strength" - float m_flCurlStrength; // 0x1f4 + float m_flCurlStrength; // 0x214 // MPropertyFriendlyName "linear strength" - float m_flLinearStrength; // 0x1f8 + float m_flLinearStrength; // 0x218 // MPropertyFriendlyName "radial strength" - float m_flRadialStrength; // 0x1fc + float m_flRadialStrength; // 0x21c // MPropertyFriendlyName "rotation strength" - float m_flRotationStrength; // 0x200 + float m_flRotationStrength; // 0x220 }; // Alignment: 2 -// Size: 0x200 +// Size: 0x220 class C_OP_DensityForce : public CParticleFunctionForce { public: // MPropertyFriendlyName "Radius scale for particle influence" - float m_flRadiusScale; // 0x1f0 + float m_flRadiusScale; // 0x210 // MPropertyFriendlyName "Scale of force" - float m_flForceScale; // 0x1f4 + float m_flForceScale; // 0x214 }; // Alignment: 3 -// Size: 0x210 +// Size: 0x230 class C_OP_BasicMovement : public CParticleFunctionOperator { public: // MPropertyFriendlyName "gravity" // MVectorIsCoordinate - Vector m_Gravity; // 0x1f0 + Vector m_Gravity; // 0x210 // MPropertyFriendlyName "drag" // MPropertyAttributeRange "-1 1" - float m_fDrag; // 0x1fc + float m_fDrag; // 0x21c // MPropertyFriendlyName "max constraint passes" - int32_t m_nMaxConstraintPasses; // 0x200 + int32_t m_nMaxConstraintPasses; // 0x220 }; // Alignment: 7 -// Size: 0x210 +// Size: 0x230 class C_OP_FadeAndKill : public CParticleFunctionOperator { public: // MPropertyFriendlyName "start fade in time" - float m_flStartFadeInTime; // 0x1f0 + float m_flStartFadeInTime; // 0x210 // MPropertyFriendlyName "end fade in time" - float m_flEndFadeInTime; // 0x1f4 + float m_flEndFadeInTime; // 0x214 // MPropertyFriendlyName "start fade out time" - float m_flStartFadeOutTime; // 0x1f8 + float m_flStartFadeOutTime; // 0x218 // MPropertyFriendlyName "end fade out time" - float m_flEndFadeOutTime; // 0x1fc + float m_flEndFadeOutTime; // 0x21c // MPropertyFriendlyName "start alpha" - float m_flStartAlpha; // 0x200 + float m_flStartAlpha; // 0x220 // MPropertyFriendlyName "end alpha" - float m_flEndAlpha; // 0x204 + float m_flEndAlpha; // 0x224 // MPropertyFriendlyName "force preserving particle order" - bool m_bForcePreserveParticleOrder; // 0x208 + bool m_bForcePreserveParticleOrder; // 0x228 }; // Alignment: 6 -// Size: 0x210 +// Size: 0x230 class C_OP_FadeAndKillForTracers : public CParticleFunctionOperator { public: // MPropertyFriendlyName "start fade in time" - float m_flStartFadeInTime; // 0x1f0 + float m_flStartFadeInTime; // 0x210 // MPropertyFriendlyName "end fade in time" - float m_flEndFadeInTime; // 0x1f4 + float m_flEndFadeInTime; // 0x214 // MPropertyFriendlyName "start fade out time" - float m_flStartFadeOutTime; // 0x1f8 + float m_flStartFadeOutTime; // 0x218 // MPropertyFriendlyName "end fade out time" - float m_flEndFadeOutTime; // 0x1fc + float m_flEndFadeOutTime; // 0x21c // MPropertyFriendlyName "start alpha" - float m_flStartAlpha; // 0x200 + float m_flStartAlpha; // 0x220 // MPropertyFriendlyName "end alpha" - float m_flEndAlpha; // 0x204 + float m_flEndAlpha; // 0x224 }; // Alignment: 4 -// Size: 0x200 +// Size: 0x220 class C_OP_FadeIn : public CParticleFunctionOperator { public: // MPropertyFriendlyName "fade in time min" - float m_flFadeInTimeMin; // 0x1f0 + float m_flFadeInTimeMin; // 0x210 // MPropertyFriendlyName "fade in time max" - float m_flFadeInTimeMax; // 0x1f4 + float m_flFadeInTimeMax; // 0x214 // MPropertyFriendlyName "fade in time exponent" - float m_flFadeInTimeExp; // 0x1f8 + float m_flFadeInTimeExp; // 0x218 // MPropertyFriendlyName "proportional 0/1" - bool m_bProportional; // 0x1fc + bool m_bProportional; // 0x21c }; // Alignment: 6 -// Size: 0x240 +// Size: 0x260 class C_OP_FadeOut : public CParticleFunctionOperator { public: // MPropertyFriendlyName "fade out time min" - float m_flFadeOutTimeMin; // 0x1f0 + float m_flFadeOutTimeMin; // 0x210 // MPropertyFriendlyName "fade out time max" - float m_flFadeOutTimeMax; // 0x1f4 + float m_flFadeOutTimeMax; // 0x214 // MPropertyFriendlyName "fade out time exponent" - float m_flFadeOutTimeExp; // 0x1f8 + float m_flFadeOutTimeExp; // 0x218 // MPropertyFriendlyName "fade bias" - float m_flFadeBias; // 0x1fc + float m_flFadeBias; // 0x21c private: - [[maybe_unused]] uint8_t __pad0200[0x30]; // 0x200 + [[maybe_unused]] uint8_t __pad0220[0x30]; // 0x220 public: // MPropertyFriendlyName "proportional 0/1" - bool m_bProportional; // 0x230 + bool m_bProportional; // 0x250 // MPropertyFriendlyName "ease in and out" - bool m_bEaseInAndOut; // 0x231 + bool m_bEaseInAndOut; // 0x251 }; // Alignment: 2 -// Size: 0x200 +// Size: 0x220 class C_OP_FadeInSimple : public CParticleFunctionOperator { public: // MPropertyFriendlyName "proportional fade in time" - float m_flFadeInTime; // 0x1f0 + float m_flFadeInTime; // 0x210 // MPropertyFriendlyName "alpha field" // MPropertyAttributeChoiceName "particlefield_alpha" - ParticleAttributeIndex_t m_nFieldOutput; // 0x1f4 + ParticleAttributeIndex_t m_nFieldOutput; // 0x214 }; // Alignment: 2 -// Size: 0x200 +// Size: 0x220 class C_OP_FadeOutSimple : public CParticleFunctionOperator { public: // MPropertyFriendlyName "proportional fade out time" - float m_flFadeOutTime; // 0x1f0 + float m_flFadeOutTime; // 0x210 // MPropertyFriendlyName "alpha field" // MPropertyAttributeChoiceName "particlefield_alpha" - ParticleAttributeIndex_t m_nFieldOutput; // 0x1f4 + ParticleAttributeIndex_t m_nFieldOutput; // 0x214 }; // Alignment: 3 -// Size: 0x470 +// Size: 0x4a0 class C_OP_ClampScalar : public CParticleFunctionOperator { public: // MPropertyFriendlyName "output field" // MPropertyAttributeChoiceName "particlefield_scalar" - ParticleAttributeIndex_t m_nFieldOutput; // 0x1f0 + ParticleAttributeIndex_t m_nFieldOutput; // 0x210 private: - [[maybe_unused]] uint8_t __pad01f4[0x4]; // 0x1f4 + [[maybe_unused]] uint8_t __pad0214[0x4]; // 0x214 public: // MPropertyFriendlyName "output minimum" - CPerParticleFloatInput m_flOutputMin; // 0x1f8 + CPerParticleFloatInput m_flOutputMin; // 0x218 // MPropertyFriendlyName "output maximum" - CPerParticleFloatInput m_flOutputMax; // 0x330 + CPerParticleFloatInput m_flOutputMax; // 0x358 }; // Alignment: 3 -// Size: 0xd90 +// Size: 0xdf0 class C_OP_ClampVector : public CParticleFunctionOperator { public: // MPropertyFriendlyName "output field" // MPropertyAttributeChoiceName "particlefield_vector" - ParticleAttributeIndex_t m_nFieldOutput; // 0x1f0 + ParticleAttributeIndex_t m_nFieldOutput; // 0x210 private: - [[maybe_unused]] uint8_t __pad01f4[0x4]; // 0x1f4 + [[maybe_unused]] uint8_t __pad0214[0x4]; // 0x214 public: // MPropertyFriendlyName "output minimum" // MVectorIsSometimesCoordinate - CPerParticleVecInput m_vecOutputMin; // 0x1f8 + CPerParticleVecInput m_vecOutputMin; // 0x218 // MPropertyFriendlyName "output maximum" // MVectorIsSometimesCoordinate - CPerParticleVecInput m_vecOutputMax; // 0x7c0 + CPerParticleVecInput m_vecOutputMax; // 0x800 }; // Alignment: 13 -// Size: 0x220 +// Size: 0x240 class C_OP_OscillateScalar : public CParticleFunctionOperator { public: // MPropertyFriendlyName "oscillation rate min" - float m_RateMin; // 0x1f0 + float m_RateMin; // 0x210 // MPropertyFriendlyName "oscillation rate max" - float m_RateMax; // 0x1f4 + float m_RateMax; // 0x214 // MPropertyFriendlyName "oscillation frequency min" - float m_FrequencyMin; // 0x1f8 + float m_FrequencyMin; // 0x218 // MPropertyFriendlyName "oscillation frequency max" - float m_FrequencyMax; // 0x1fc + float m_FrequencyMax; // 0x21c // MPropertyFriendlyName "oscillation field" // MPropertyAttributeChoiceName "particlefield_scalar" - ParticleAttributeIndex_t m_nField; // 0x200 - // MPropertyFriendlyName "proportional 0/1" - bool m_bProportional; // 0x204 - // MPropertyFriendlyName "start/end proportional" - bool m_bProportionalOp; // 0x205 -private: - [[maybe_unused]] uint8_t __pad0206[0x2]; // 0x206 -public: - // MPropertyFriendlyName "start time min" - float m_flStartTime_min; // 0x208 - // MPropertyFriendlyName "start time max" - float m_flStartTime_max; // 0x20c - // MPropertyFriendlyName "end time min" - float m_flEndTime_min; // 0x210 - // MPropertyFriendlyName "end time max" - float m_flEndTime_max; // 0x214 - // MPropertyFriendlyName "oscillation multiplier" - float m_flOscMult; // 0x218 - // MPropertyFriendlyName "oscillation start phase" - float m_flOscAdd; // 0x21c -}; - -// Alignment: 5 -// Size: 0x230 -class C_OP_OscillateScalarSimple : public CParticleFunctionOperator -{ -public: - // MPropertyFriendlyName "oscillation rate" - float m_Rate; // 0x1f0 - // MPropertyFriendlyName "oscillation frequency" - float m_Frequency; // 0x1f4 - // MPropertyFriendlyName "oscillation field" - // MPropertyAttributeChoiceName "particlefield_scalar" - ParticleAttributeIndex_t m_nField; // 0x1f8 - // MPropertyFriendlyName "oscillation multiplier" - float m_flOscMult; // 0x1fc - // MPropertyFriendlyName "oscillation start phase" - float m_flOscAdd; // 0x200 -}; - -// Alignment: 15 -// Size: 0x5e0 -class C_OP_OscillateVector : public CParticleFunctionOperator -{ -public: - // MPropertyFriendlyName "oscillation rate min" - // MVectorIsSometimesCoordinate - Vector m_RateMin; // 0x1f0 - // MPropertyFriendlyName "oscillation rate max" - // MVectorIsSometimesCoordinate - Vector m_RateMax; // 0x1fc - // MPropertyFriendlyName "oscillation frequency min" - // MVectorIsSometimesCoordinate - Vector m_FrequencyMin; // 0x208 - // MPropertyFriendlyName "oscillation frequency max" - // MVectorIsSometimesCoordinate - Vector m_FrequencyMax; // 0x214 - // MPropertyFriendlyName "oscillation field" - // MPropertyAttributeChoiceName "particlefield_vector" ParticleAttributeIndex_t m_nField; // 0x220 // MPropertyFriendlyName "proportional 0/1" bool m_bProportional; // 0x224 // MPropertyFriendlyName "start/end proportional" bool m_bProportionalOp; // 0x225 - // MPropertyFriendlyName "offset instead of accelerate position" - bool m_bOffset; // 0x226 private: - [[maybe_unused]] uint8_t __pad0227[0x1]; // 0x227 + [[maybe_unused]] uint8_t __pad0226[0x2]; // 0x226 public: // MPropertyFriendlyName "start time min" float m_flStartTime_min; // 0x228 @@ -5397,650 +6144,711 @@ public: // MPropertyFriendlyName "end time max" float m_flEndTime_max; // 0x234 // MPropertyFriendlyName "oscillation multiplier" - CPerParticleFloatInput m_flOscMult; // 0x238 + float m_flOscMult; // 0x238 // MPropertyFriendlyName "oscillation start phase" - CPerParticleFloatInput m_flOscAdd; // 0x370 + float m_flOscAdd; // 0x23c +}; + +// Alignment: 5 +// Size: 0x250 +class C_OP_OscillateScalarSimple : public CParticleFunctionOperator +{ +public: + // MPropertyFriendlyName "oscillation rate" + float m_Rate; // 0x210 + // MPropertyFriendlyName "oscillation frequency" + float m_Frequency; // 0x214 + // MPropertyFriendlyName "oscillation field" + // MPropertyAttributeChoiceName "particlefield_scalar" + ParticleAttributeIndex_t m_nField; // 0x218 + // MPropertyFriendlyName "oscillation multiplier" + float m_flOscMult; // 0x21c + // MPropertyFriendlyName "oscillation start phase" + float m_flOscAdd; // 0x220 +}; + +// Alignment: 15 +// Size: 0x620 +class C_OP_OscillateVector : public CParticleFunctionOperator +{ +public: + // MPropertyFriendlyName "oscillation rate min" + // MVectorIsSometimesCoordinate + Vector m_RateMin; // 0x210 + // MPropertyFriendlyName "oscillation rate max" + // MVectorIsSometimesCoordinate + Vector m_RateMax; // 0x21c + // MPropertyFriendlyName "oscillation frequency min" + // MVectorIsSometimesCoordinate + Vector m_FrequencyMin; // 0x228 + // MPropertyFriendlyName "oscillation frequency max" + // MVectorIsSometimesCoordinate + Vector m_FrequencyMax; // 0x234 + // MPropertyFriendlyName "oscillation field" + // MPropertyAttributeChoiceName "particlefield_vector" + ParticleAttributeIndex_t m_nField; // 0x240 + // MPropertyFriendlyName "proportional 0/1" + bool m_bProportional; // 0x244 + // MPropertyFriendlyName "start/end proportional" + bool m_bProportionalOp; // 0x245 + // MPropertyFriendlyName "offset instead of accelerate position" + bool m_bOffset; // 0x246 +private: + [[maybe_unused]] uint8_t __pad0247[0x1]; // 0x247 +public: + // MPropertyFriendlyName "start time min" + float m_flStartTime_min; // 0x248 + // MPropertyFriendlyName "start time max" + float m_flStartTime_max; // 0x24c + // MPropertyFriendlyName "end time min" + float m_flEndTime_min; // 0x250 + // MPropertyFriendlyName "end time max" + float m_flEndTime_max; // 0x254 + // MPropertyFriendlyName "oscillation multiplier" + CPerParticleFloatInput m_flOscMult; // 0x258 + // MPropertyFriendlyName "oscillation start phase" + CPerParticleFloatInput m_flOscAdd; // 0x398 // MPropertyFriendlyName "rate scale" - CPerParticleFloatInput m_flRateScale; // 0x4a8 + CPerParticleFloatInput m_flRateScale; // 0x4d8 }; // Alignment: 6 -// Size: 0x220 +// Size: 0x240 class C_OP_OscillateVectorSimple : public CParticleFunctionOperator { public: // MPropertyFriendlyName "oscillation rate" // MVectorIsSometimesCoordinate - Vector m_Rate; // 0x1f0 + Vector m_Rate; // 0x210 // MPropertyFriendlyName "oscillation frequency" - Vector m_Frequency; // 0x1fc + Vector m_Frequency; // 0x21c // MPropertyFriendlyName "oscillation field" // MPropertyAttributeChoiceName "particlefield_vector" - ParticleAttributeIndex_t m_nField; // 0x208 + ParticleAttributeIndex_t m_nField; // 0x228 // MPropertyFriendlyName "oscillation multiplier" - float m_flOscMult; // 0x20c + float m_flOscMult; // 0x22c // MPropertyFriendlyName "oscillation start phase" - float m_flOscAdd; // 0x210 + float m_flOscAdd; // 0x230 // MPropertyFriendlyName "offset instead of accelerate position" - bool m_bOffset; // 0x214 + bool m_bOffset; // 0x234 }; // Alignment: 9 -// Size: 0x210 +// Size: 0x230 class C_OP_DifferencePreviousParticle : public CParticleFunctionOperator { public: // MPropertyFriendlyName "input field" // MPropertyAttributeChoiceName "particlefield_vector" - ParticleAttributeIndex_t m_nFieldInput; // 0x1f0 + ParticleAttributeIndex_t m_nFieldInput; // 0x210 // MPropertyFriendlyName "output field" // MPropertyAttributeChoiceName "particlefield_scalar" - ParticleAttributeIndex_t m_nFieldOutput; // 0x1f4 + ParticleAttributeIndex_t m_nFieldOutput; // 0x214 // MPropertyFriendlyName "difference minimum" - float m_flInputMin; // 0x1f8 + float m_flInputMin; // 0x218 // MPropertyFriendlyName "difference maximum" - float m_flInputMax; // 0x1fc + float m_flInputMax; // 0x21c // MPropertyFriendlyName "output minimum" - float m_flOutputMin; // 0x200 + float m_flOutputMin; // 0x220 // MPropertyFriendlyName "output maximum" - float m_flOutputMax; // 0x204 + float m_flOutputMax; // 0x224 // MPropertyFriendlyName "set value method" - ParticleSetMethod_t m_nSetMethod; // 0x208 + ParticleSetMethod_t m_nSetMethod; // 0x228 // MPropertyFriendlyName "only active within specified difference" - bool m_bActiveRange; // 0x20c + bool m_bActiveRange; // 0x22c // MPropertyFriendlyName "also set ouput to previous particle" - bool m_bSetPreviousParticle; // 0x20d + bool m_bSetPreviousParticle; // 0x22d }; // Alignment: 2 -// Size: 0x330 +// Size: 0x360 class C_OP_PointVectorAtNextParticle : public CParticleFunctionOperator { public: // MPropertyFriendlyName "output field" // MPropertyAttributeChoiceName "particlefield_vector" - ParticleAttributeIndex_t m_nFieldOutput; // 0x1f0 + ParticleAttributeIndex_t m_nFieldOutput; // 0x210 private: - [[maybe_unused]] uint8_t __pad01f4[0x4]; // 0x1f4 + [[maybe_unused]] uint8_t __pad0214[0x4]; // 0x214 public: // MPropertyFriendlyName "Interpolation" - CPerParticleFloatInput m_flInterpolation; // 0x1f8 + CPerParticleFloatInput m_flInterpolation; // 0x218 }; // Alignment: 6 -// Size: 0x210 +// Size: 0x230 class C_OP_RemapScalar : public CParticleFunctionOperator { public: // MPropertyFriendlyName "input field" // MPropertyAttributeChoiceName "particlefield_scalar" - ParticleAttributeIndex_t m_nFieldInput; // 0x1f0 + ParticleAttributeIndex_t m_nFieldInput; // 0x210 // MPropertyFriendlyName "output field" // MPropertyAttributeChoiceName "particlefield_scalar" - ParticleAttributeIndex_t m_nFieldOutput; // 0x1f4 + ParticleAttributeIndex_t m_nFieldOutput; // 0x214 // MPropertyFriendlyName "input minimum" - float m_flInputMin; // 0x1f8 + float m_flInputMin; // 0x218 // MPropertyFriendlyName "input maximum" - float m_flInputMax; // 0x1fc + float m_flInputMax; // 0x21c // MPropertyFriendlyName "output minimum" - float m_flOutputMin; // 0x200 + float m_flOutputMin; // 0x220 // MPropertyFriendlyName "output maximum" - float m_flOutputMax; // 0x204 + float m_flOutputMax; // 0x224 }; // Alignment: 6 -// Size: 0x220 +// Size: 0x240 class C_OP_RemapDensityToVector : public CParticleFunctionOperator { public: // MPropertyFriendlyName "Radius scale for particle influence" - float m_flRadiusScale; // 0x1f0 + float m_flRadiusScale; // 0x210 // MPropertyFriendlyName "Output field" // MPropertyAttributeChoiceName "particlefield_vector" - ParticleAttributeIndex_t m_nFieldOutput; // 0x1f4 + ParticleAttributeIndex_t m_nFieldOutput; // 0x214 // MPropertyFriendlyName "Density value to map to min value" - float m_flDensityMin; // 0x1f8 + float m_flDensityMin; // 0x218 // MPropertyFriendlyName "Density value to map to max value" - float m_flDensityMax; // 0x1fc + float m_flDensityMax; // 0x21c // MPropertyFriendlyName "Output minimum" - Vector m_vecOutputMin; // 0x200 + Vector m_vecOutputMin; // 0x220 // MPropertyFriendlyName "Output maximum" - Vector m_vecOutputMax; // 0x20c + Vector m_vecOutputMax; // 0x22c }; // Alignment: 6 -// Size: 0x210 +// Size: 0x230 class C_OP_RemapScalarEndCap : public CParticleFunctionOperator { public: // MPropertyFriendlyName "input field" // MPropertyAttributeChoiceName "particlefield_scalar" - ParticleAttributeIndex_t m_nFieldInput; // 0x1f0 + ParticleAttributeIndex_t m_nFieldInput; // 0x210 // MPropertyFriendlyName "output field" // MPropertyAttributeChoiceName "particlefield_scalar" - ParticleAttributeIndex_t m_nFieldOutput; // 0x1f4 + ParticleAttributeIndex_t m_nFieldOutput; // 0x214 // MPropertyFriendlyName "input minimum" - float m_flInputMin; // 0x1f8 + float m_flInputMin; // 0x218 // MPropertyFriendlyName "input maximum" - float m_flInputMax; // 0x1fc + float m_flInputMax; // 0x21c // MPropertyFriendlyName "output minimum" - float m_flOutputMin; // 0x200 + float m_flOutputMin; // 0x220 // MPropertyFriendlyName "output maximum" - float m_flOutputMax; // 0x204 + float m_flOutputMax; // 0x224 }; // Alignment: 3 -// Size: 0x200 +// Size: 0x220 class C_OP_ReinitializeScalarEndCap : public CParticleFunctionOperator { public: // MPropertyFriendlyName "output field" // MPropertyAttributeChoiceName "particlefield_scalar" - ParticleAttributeIndex_t m_nFieldOutput; // 0x1f0 + ParticleAttributeIndex_t m_nFieldOutput; // 0x210 // MPropertyFriendlyName "minimum" - float m_flOutputMin; // 0x1f4 + float m_flOutputMin; // 0x214 // MPropertyFriendlyName "maximum" - float m_flOutputMax; // 0x1f8 + float m_flOutputMax; // 0x218 }; // Alignment: 8 -// Size: 0x210 +// Size: 0x230 class C_OP_RemapScalarOnceTimed : public CParticleFunctionOperator { public: // MPropertyFriendlyName "remap time proportional" - bool m_bProportional; // 0x1f0 + bool m_bProportional; // 0x210 private: - [[maybe_unused]] uint8_t __pad01f1[0x3]; // 0x1f1 + [[maybe_unused]] uint8_t __pad0211[0x3]; // 0x211 public: // MPropertyFriendlyName "input field" // MPropertyAttributeChoiceName "particlefield_scalar" - ParticleAttributeIndex_t m_nFieldInput; // 0x1f4 + ParticleAttributeIndex_t m_nFieldInput; // 0x214 // MPropertyFriendlyName "output field" // MPropertyAttributeChoiceName "particlefield_scalar" - ParticleAttributeIndex_t m_nFieldOutput; // 0x1f8 + ParticleAttributeIndex_t m_nFieldOutput; // 0x218 // MPropertyFriendlyName "input minimum" - float m_flInputMin; // 0x1fc + float m_flInputMin; // 0x21c // MPropertyFriendlyName "input maximum" - float m_flInputMax; // 0x200 + float m_flInputMax; // 0x220 // MPropertyFriendlyName "output minimum" - float m_flOutputMin; // 0x204 + float m_flOutputMin; // 0x224 // MPropertyFriendlyName "output maximum" - float m_flOutputMax; // 0x208 + float m_flOutputMax; // 0x228 // MPropertyFriendlyName "remap time" - float m_flRemapTime; // 0x20c + float m_flRemapTime; // 0x22c }; // Alignment: 7 -// Size: 0x210 +// Size: 0x230 class C_OP_RemapParticleCountOnScalarEndCap : public CParticleFunctionOperator { public: // MPropertyFriendlyName "output field" // MPropertyAttributeChoiceName "particlefield_scalar" - ParticleAttributeIndex_t m_nFieldOutput; // 0x1f0 + ParticleAttributeIndex_t m_nFieldOutput; // 0x210 // MPropertyFriendlyName "input minimum" - int32_t m_nInputMin; // 0x1f4 + int32_t m_nInputMin; // 0x214 // MPropertyFriendlyName "input maximum" - int32_t m_nInputMax; // 0x1f8 + int32_t m_nInputMax; // 0x218 // MPropertyFriendlyName "output minimum" - float m_flOutputMin; // 0x1fc + float m_flOutputMin; // 0x21c // MPropertyFriendlyName "output maximum" - float m_flOutputMax; // 0x200 + float m_flOutputMax; // 0x220 // MPropertyFriendlyName "count back from last particle" - bool m_bBackwards; // 0x204 + bool m_bBackwards; // 0x224 private: - [[maybe_unused]] uint8_t __pad0205[0x3]; // 0x205 + [[maybe_unused]] uint8_t __pad0225[0x3]; // 0x225 public: // MPropertyFriendlyName "set value method" - ParticleSetMethod_t m_nSetMethod; // 0x208 + ParticleSetMethod_t m_nSetMethod; // 0x228 }; // Alignment: 7 -// Size: 0x6e0 +// Size: 0x720 class C_OP_RemapParticleCountToScalar : public CParticleFunctionOperator { public: // MPropertyFriendlyName "output field" // MPropertyAttributeChoiceName "particlefield_scalar" - ParticleAttributeIndex_t m_nFieldOutput; // 0x1f0 + ParticleAttributeIndex_t m_nFieldOutput; // 0x210 private: - [[maybe_unused]] uint8_t __pad01f4[0x4]; // 0x1f4 + [[maybe_unused]] uint8_t __pad0214[0x4]; // 0x214 public: // MPropertyFriendlyName "input minimum" - CParticleCollectionFloatInput m_nInputMin; // 0x1f8 + CParticleCollectionFloatInput m_nInputMin; // 0x218 // MPropertyFriendlyName "input maximum" - CParticleCollectionFloatInput m_nInputMax; // 0x330 + CParticleCollectionFloatInput m_nInputMax; // 0x358 // MPropertyFriendlyName "output minimum" - CParticleCollectionFloatInput m_flOutputMin; // 0x468 + CParticleCollectionFloatInput m_flOutputMin; // 0x498 // MPropertyFriendlyName "output maximum" - CParticleCollectionFloatInput m_flOutputMax; // 0x5a0 + CParticleCollectionFloatInput m_flOutputMax; // 0x5d8 // MPropertyFriendlyName - bool m_bActiveRange; // 0x6d8 + bool m_bActiveRange; // 0x718 private: - [[maybe_unused]] uint8_t __pad06d9[0x3]; // 0x6d9 + [[maybe_unused]] uint8_t __pad0719[0x3]; // 0x719 public: // MPropertyFriendlyName "set value method" - ParticleSetMethod_t m_nSetMethod; // 0x6dc + ParticleSetMethod_t m_nSetMethod; // 0x71c }; // Alignment: 7 -// Size: 0x210 +// Size: 0x230 class C_OP_RemapVisibilityScalar : public CParticleFunctionOperator { public: // MPropertyFriendlyName "input field" // MPropertyAttributeChoiceName "particlefield_scalar" - ParticleAttributeIndex_t m_nFieldInput; // 0x1f0 + ParticleAttributeIndex_t m_nFieldInput; // 0x210 // MPropertyFriendlyName "output field" // MPropertyAttributeChoiceName "particlefield_scalar" - ParticleAttributeIndex_t m_nFieldOutput; // 0x1f4 + ParticleAttributeIndex_t m_nFieldOutput; // 0x214 // MPropertyFriendlyName "visibility minimum" - float m_flInputMin; // 0x1f8 + float m_flInputMin; // 0x218 // MPropertyFriendlyName "visibility maximum" - float m_flInputMax; // 0x1fc + float m_flInputMax; // 0x21c // MPropertyFriendlyName "output minimum" - float m_flOutputMin; // 0x200 + float m_flOutputMin; // 0x220 // MPropertyFriendlyName "output maximum" - float m_flOutputMax; // 0x204 + float m_flOutputMax; // 0x224 // MPropertyFriendlyName "radius scale" - float m_flRadiusScale; // 0x208 + float m_flRadiusScale; // 0x228 }; // Alignment: 8 -// Size: 0x260 +// Size: 0x280 class C_OP_RemapTransformVisibilityToScalar : public CParticleFunctionOperator { public: // MPropertyFriendlyName "set value method" - ParticleSetMethod_t m_nSetMethod; // 0x1f0 + ParticleSetMethod_t m_nSetMethod; // 0x210 private: - [[maybe_unused]] uint8_t __pad01f4[0x4]; // 0x1f4 + [[maybe_unused]] uint8_t __pad0214[0x4]; // 0x214 public: // MPropertyFriendlyName "transform input" - CParticleTransformInput m_TransformInput; // 0x1f8 + CParticleTransformInput m_TransformInput; // 0x218 // MPropertyFriendlyName "output field" // MPropertyAttributeChoiceName "particlefield_scalar" - ParticleAttributeIndex_t m_nFieldOutput; // 0x248 + ParticleAttributeIndex_t m_nFieldOutput; // 0x268 // MPropertyFriendlyName "CP visibility minimum" - float m_flInputMin; // 0x24c + float m_flInputMin; // 0x26c // MPropertyFriendlyName "CP visibility maximum" - float m_flInputMax; // 0x250 + float m_flInputMax; // 0x270 // MPropertyFriendlyName "output minimum" - float m_flOutputMin; // 0x254 + float m_flOutputMin; // 0x274 // MPropertyFriendlyName "output maximum" - float m_flOutputMax; // 0x258 + float m_flOutputMax; // 0x278 // MPropertyFriendlyName "visibility radius" - float m_flRadius; // 0x25c + float m_flRadius; // 0x27c }; // Alignment: 8 -// Size: 0x270 +// Size: 0x290 class C_OP_RemapTransformVisibilityToVector : public CParticleFunctionOperator { public: // MPropertyFriendlyName "set value method" - ParticleSetMethod_t m_nSetMethod; // 0x1f0 + ParticleSetMethod_t m_nSetMethod; // 0x210 private: - [[maybe_unused]] uint8_t __pad01f4[0x4]; // 0x1f4 + [[maybe_unused]] uint8_t __pad0214[0x4]; // 0x214 public: // MPropertyFriendlyName "transform input" - CParticleTransformInput m_TransformInput; // 0x1f8 + CParticleTransformInput m_TransformInput; // 0x218 // MPropertyFriendlyName "output field" // MPropertyAttributeChoiceName "particlefield_vector" - ParticleAttributeIndex_t m_nFieldOutput; // 0x248 + ParticleAttributeIndex_t m_nFieldOutput; // 0x268 // MPropertyFriendlyName "CP visibility minimum" - float m_flInputMin; // 0x24c + float m_flInputMin; // 0x26c // MPropertyFriendlyName "CP visibility maximum" - float m_flInputMax; // 0x250 + float m_flInputMax; // 0x270 // MPropertyFriendlyName "output minimum" - Vector m_vecOutputMin; // 0x254 + Vector m_vecOutputMin; // 0x274 // MPropertyFriendlyName "output maximum" - Vector m_vecOutputMax; // 0x260 + Vector m_vecOutputMax; // 0x280 // MPropertyFriendlyName "visibility radius" - float m_flRadius; // 0x26c + float m_flRadius; // 0x28c }; // Alignment: 4 -// Size: 0x340 +// Size: 0x360 class C_OP_LerpScalar : public CParticleFunctionOperator { public: // MPropertyFriendlyName "output field" // MPropertyAttributeChoiceName "particlefield_scalar" - ParticleAttributeIndex_t m_nFieldOutput; // 0x1f0 + ParticleAttributeIndex_t m_nFieldOutput; // 0x210 private: - [[maybe_unused]] uint8_t __pad01f4[0x4]; // 0x1f4 + [[maybe_unused]] uint8_t __pad0214[0x4]; // 0x214 public: // MPropertyFriendlyName "value to lerp to" - CPerParticleFloatInput m_flOutput; // 0x1f8 + CPerParticleFloatInput m_flOutput; // 0x218 // MPropertyFriendlyName "start time" - float m_flStartTime; // 0x330 + float m_flStartTime; // 0x358 // MPropertyFriendlyName "end time" - float m_flEndTime; // 0x334 + float m_flEndTime; // 0x35c }; // Alignment: 3 -// Size: 0x200 +// Size: 0x220 class C_OP_LerpEndCapScalar : public CParticleFunctionOperator { public: // MPropertyFriendlyName "output field" // MPropertyAttributeChoiceName "particlefield_scalar" - ParticleAttributeIndex_t m_nFieldOutput; // 0x1f0 + ParticleAttributeIndex_t m_nFieldOutput; // 0x210 // MPropertyFriendlyName "value to lerp to" - float m_flOutput; // 0x1f4 + float m_flOutput; // 0x214 // MPropertyFriendlyName "lerp time" - float m_flLerpTime; // 0x1f8 + float m_flLerpTime; // 0x218 }; // Alignment: 3 -// Size: 0x210 +// Size: 0x230 class C_OP_LerpEndCapVector : public CParticleFunctionOperator { public: // MPropertyFriendlyName "output field" // MPropertyAttributeChoiceName "particlefield_vector" - ParticleAttributeIndex_t m_nFieldOutput; // 0x1f0 + ParticleAttributeIndex_t m_nFieldOutput; // 0x210 // MPropertyFriendlyName "value to lerp to" // MVectorIsSometimesCoordinate - Vector m_vecOutput; // 0x1f4 + Vector m_vecOutput; // 0x214 // MPropertyFriendlyName "lerp time" - float m_flLerpTime; // 0x200 + float m_flLerpTime; // 0x220 }; // Alignment: 5 -// Size: 0x210 +// Size: 0x230 class C_OP_LerpVector : public CParticleFunctionOperator { public: // MPropertyFriendlyName "output field" // MPropertyAttributeChoiceName "particlefield_vector" - ParticleAttributeIndex_t m_nFieldOutput; // 0x1f0 + ParticleAttributeIndex_t m_nFieldOutput; // 0x210 // MPropertyFriendlyName "value to lerp to" // MVectorIsSometimesCoordinate - Vector m_vecOutput; // 0x1f4 + Vector m_vecOutput; // 0x214 // MPropertyFriendlyName "start time" - float m_flStartTime; // 0x200 + float m_flStartTime; // 0x220 // MPropertyFriendlyName "end time" - float m_flEndTime; // 0x204 + float m_flEndTime; // 0x224 // MPropertyFriendlyName "set value method" - ParticleSetMethod_t m_nSetMethod; // 0x208 + ParticleSetMethod_t m_nSetMethod; // 0x228 }; // Alignment: 4 -// Size: 0x360 +// Size: 0x380 class C_OP_LerpToOtherAttribute : public CParticleFunctionOperator { public: // MPropertyFriendlyName "Interpolation" - CPerParticleFloatInput m_flInterpolation; // 0x1f0 + CPerParticleFloatInput m_flInterpolation; // 0x210 // MPropertyFriendlyName "input attribute from" // MPropertyAttributeChoiceName "particlefield" - ParticleAttributeIndex_t m_nFieldInputFrom; // 0x328 + ParticleAttributeIndex_t m_nFieldInputFrom; // 0x350 // MPropertyFriendlyName "input attribute to" // MPropertyAttributeChoiceName "particlefield" - ParticleAttributeIndex_t m_nFieldInput; // 0x32c + ParticleAttributeIndex_t m_nFieldInput; // 0x354 // MPropertyFriendlyName "output attribute" // MPropertyAttributeChoiceName "particlefield" - ParticleAttributeIndex_t m_nFieldOutput; // 0x330 + ParticleAttributeIndex_t m_nFieldOutput; // 0x358 }; // Alignment: 7 -// Size: 0x210 +// Size: 0x230 class C_OP_RemapSpeed : public CParticleFunctionOperator { public: // MPropertyFriendlyName "output field" // MPropertyAttributeChoiceName "particlefield_scalar" - ParticleAttributeIndex_t m_nFieldOutput; // 0x1f0 + ParticleAttributeIndex_t m_nFieldOutput; // 0x210 // MPropertyFriendlyName "input minimum" - float m_flInputMin; // 0x1f4 + float m_flInputMin; // 0x214 // MPropertyFriendlyName "input maximum" - float m_flInputMax; // 0x1f8 + float m_flInputMax; // 0x218 // MPropertyFriendlyName "output minimum" - float m_flOutputMin; // 0x1fc + float m_flOutputMin; // 0x21c // MPropertyFriendlyName "output maximum" - float m_flOutputMax; // 0x200 + float m_flOutputMax; // 0x220 // MPropertyFriendlyName "set value method" - ParticleSetMethod_t m_nSetMethod; // 0x204 + ParticleSetMethod_t m_nSetMethod; // 0x224 // MPropertyFriendlyName "ignore delta time" - bool m_bIgnoreDelta; // 0x208 + bool m_bIgnoreDelta; // 0x228 }; // Alignment: 3 -// Size: 0x200 +// Size: 0x220 class C_OP_RemapVectortoCP : public CParticleFunctionOperator { public: // MPropertyFriendlyName "output control point" - int32_t m_nOutControlPointNumber; // 0x1f0 + int32_t m_nOutControlPointNumber; // 0x210 // MPropertyFriendlyName "input field" // MPropertyAttributeChoiceName "particlefield_vector" - ParticleAttributeIndex_t m_nFieldInput; // 0x1f4 + ParticleAttributeIndex_t m_nFieldInput; // 0x214 // MPropertyFriendlyName "particle number to read" - int32_t m_nParticleNumber; // 0x1f8 + int32_t m_nParticleNumber; // 0x218 }; // Alignment: 8 -// Size: 0x240 +// Size: 0x260 class C_OP_RampScalarLinear : public CParticleFunctionOperator { public: // MPropertyFriendlyName "ramp rate min" - float m_RateMin; // 0x1f0 + float m_RateMin; // 0x210 // MPropertyFriendlyName "ramp rate max" - float m_RateMax; // 0x1f4 + float m_RateMax; // 0x214 // MPropertyFriendlyName "start time min" - float m_flStartTime_min; // 0x1f8 + float m_flStartTime_min; // 0x218 // MPropertyFriendlyName "start time max" - float m_flStartTime_max; // 0x1fc + float m_flStartTime_max; // 0x21c // MPropertyFriendlyName "end time min" - float m_flEndTime_min; // 0x200 + float m_flEndTime_min; // 0x220 // MPropertyFriendlyName "end time max" - float m_flEndTime_max; // 0x204 + float m_flEndTime_max; // 0x224 private: - [[maybe_unused]] uint8_t __pad0208[0x28]; // 0x208 + [[maybe_unused]] uint8_t __pad0228[0x28]; // 0x228 public: // MPropertyFriendlyName "ramp field" // MPropertyAttributeChoiceName "particlefield_scalar" - ParticleAttributeIndex_t m_nField; // 0x230 + ParticleAttributeIndex_t m_nField; // 0x250 // MPropertyFriendlyName "start/end proportional" - bool m_bProportionalOp; // 0x234 + bool m_bProportionalOp; // 0x254 }; // Alignment: 10 -// Size: 0x240 +// Size: 0x260 class C_OP_RampScalarSpline : public CParticleFunctionOperator { public: // MPropertyFriendlyName "ramp rate min" - float m_RateMin; // 0x1f0 + float m_RateMin; // 0x210 // MPropertyFriendlyName "ramp rate max" - float m_RateMax; // 0x1f4 + float m_RateMax; // 0x214 // MPropertyFriendlyName "start time min" - float m_flStartTime_min; // 0x1f8 + float m_flStartTime_min; // 0x218 // MPropertyFriendlyName "start time max" - float m_flStartTime_max; // 0x1fc + float m_flStartTime_max; // 0x21c // MPropertyFriendlyName "end time min" - float m_flEndTime_min; // 0x200 + float m_flEndTime_min; // 0x220 // MPropertyFriendlyName "end time max" - float m_flEndTime_max; // 0x204 + float m_flEndTime_max; // 0x224 // MPropertyFriendlyName "bias" - float m_flBias; // 0x208 + float m_flBias; // 0x228 private: - [[maybe_unused]] uint8_t __pad020c[0x24]; // 0x20c + [[maybe_unused]] uint8_t __pad022c[0x24]; // 0x22c public: // MPropertyFriendlyName "ramp field" // MPropertyAttributeChoiceName "particlefield_scalar" - ParticleAttributeIndex_t m_nField; // 0x230 + ParticleAttributeIndex_t m_nField; // 0x250 // MPropertyFriendlyName "start/end proportional" - bool m_bProportionalOp; // 0x234 + bool m_bProportionalOp; // 0x254 // MPropertyFriendlyName "ease out" - bool m_bEaseOut; // 0x235 + bool m_bEaseOut; // 0x255 }; // Alignment: 4 -// Size: 0x230 +// Size: 0x250 class C_OP_RampScalarLinearSimple : public CParticleFunctionOperator { public: // MPropertyFriendlyName "ramp rate" - float m_Rate; // 0x1f0 + float m_Rate; // 0x210 // MPropertyFriendlyName "start time" - float m_flStartTime; // 0x1f4 + float m_flStartTime; // 0x214 // MPropertyFriendlyName "end time" - float m_flEndTime; // 0x1f8 + float m_flEndTime; // 0x218 private: - [[maybe_unused]] uint8_t __pad01fc[0x24]; // 0x1fc + [[maybe_unused]] uint8_t __pad021c[0x24]; // 0x21c public: // MPropertyFriendlyName "ramp field" // MPropertyAttributeChoiceName "particlefield_scalar" - ParticleAttributeIndex_t m_nField; // 0x220 + ParticleAttributeIndex_t m_nField; // 0x240 }; // Alignment: 5 -// Size: 0x230 +// Size: 0x250 class C_OP_RampScalarSplineSimple : public CParticleFunctionOperator { public: // MPropertyFriendlyName "ramp rate" - float m_Rate; // 0x1f0 + float m_Rate; // 0x210 // MPropertyFriendlyName "start time" - float m_flStartTime; // 0x1f4 + float m_flStartTime; // 0x214 // MPropertyFriendlyName "end time" - float m_flEndTime; // 0x1f8 + float m_flEndTime; // 0x218 private: - [[maybe_unused]] uint8_t __pad01fc[0x24]; // 0x1fc + [[maybe_unused]] uint8_t __pad021c[0x24]; // 0x21c public: // MPropertyFriendlyName "ramp field" // MPropertyAttributeChoiceName "particlefield_scalar" - ParticleAttributeIndex_t m_nField; // 0x220 + ParticleAttributeIndex_t m_nField; // 0x240 // MPropertyFriendlyName "ease out" - bool m_bEaseOut; // 0x224 + bool m_bEaseOut; // 0x244 }; // Alignment: 10 -// Size: 0x1280 +// Size: 0x1300 class C_OP_ChladniWave : public CParticleFunctionOperator { public: // MPropertyFriendlyName "output field" // MPropertyAttributeChoiceName "particlefield_scalar" - ParticleAttributeIndex_t m_nFieldOutput; // 0x1f0 + ParticleAttributeIndex_t m_nFieldOutput; // 0x210 private: - [[maybe_unused]] uint8_t __pad01f4[0x4]; // 0x1f4 + [[maybe_unused]] uint8_t __pad0214[0x4]; // 0x214 public: // MPropertyFriendlyName "wave minimum" - CPerParticleFloatInput m_flInputMin; // 0x1f8 + CPerParticleFloatInput m_flInputMin; // 0x218 // MPropertyFriendlyName "wave maximum" - CPerParticleFloatInput m_flInputMax; // 0x330 + CPerParticleFloatInput m_flInputMax; // 0x358 // MPropertyFriendlyName "output minimum" - CPerParticleFloatInput m_flOutputMin; // 0x468 + CPerParticleFloatInput m_flOutputMin; // 0x498 // MPropertyFriendlyName "output maximum" - CPerParticleFloatInput m_flOutputMax; // 0x5a0 + CPerParticleFloatInput m_flOutputMax; // 0x5d8 // MPropertyFriendlyName "wave length" - CPerParticleVecInput m_vecWaveLength; // 0x6d8 + CPerParticleVecInput m_vecWaveLength; // 0x718 // MPropertyFriendlyName "harmonics" - CPerParticleVecInput m_vecHarmonics; // 0xca0 + CPerParticleVecInput m_vecHarmonics; // 0xd00 // MPropertyFriendlyName "set value method" - ParticleSetMethod_t m_nSetMethod; // 0x1268 + ParticleSetMethod_t m_nSetMethod; // 0x12e8 // MPropertyFriendlyName "local space control point" - int32_t m_nLocalSpaceControlPoint; // 0x126c + int32_t m_nLocalSpaceControlPoint; // 0x12ec // MPropertyFriendlyName "3D" - bool m_b3D; // 0x1270 + bool m_b3D; // 0x12f0 }; // Alignment: 6 -// Size: 0x210 +// Size: 0x230 class C_OP_Noise : public CParticleFunctionOperator { public: // MPropertyFriendlyName "output field" // MPropertyAttributeChoiceName "particlefield_scalar" - ParticleAttributeIndex_t m_nFieldOutput; // 0x1f0 + ParticleAttributeIndex_t m_nFieldOutput; // 0x210 // MPropertyFriendlyName "output minimum" - float m_flOutputMin; // 0x1f4 + float m_flOutputMin; // 0x214 // MPropertyFriendlyName "output maximum" - float m_flOutputMax; // 0x1f8 + float m_flOutputMax; // 0x218 // MPropertyFriendlyName "noise coordinate scale" - float m_fl4NoiseScale; // 0x1fc + float m_fl4NoiseScale; // 0x21c // MPropertyFriendlyName "additive" - bool m_bAdditive; // 0x200 + bool m_bAdditive; // 0x220 private: - [[maybe_unused]] uint8_t __pad0201[0x3]; // 0x201 + [[maybe_unused]] uint8_t __pad0221[0x3]; // 0x221 public: // MPropertyFriendlyName "Noise animation time scale" - float m_flNoiseAnimationTimeScale; // 0x204 + float m_flNoiseAnimationTimeScale; // 0x224 }; // Alignment: 7 -// Size: 0x220 +// Size: 0x240 class C_OP_VectorNoise : public CParticleFunctionOperator { public: // MPropertyFriendlyName "output field" // MPropertyAttributeChoiceName "particlefield_vector" - ParticleAttributeIndex_t m_nFieldOutput; // 0x1f0 + ParticleAttributeIndex_t m_nFieldOutput; // 0x210 // MPropertyFriendlyName "output minimum" // MVectorIsSometimesCoordinate - Vector m_vecOutputMin; // 0x1f4 + Vector m_vecOutputMin; // 0x214 // MPropertyFriendlyName "output maximum" // MVectorIsSometimesCoordinate - Vector m_vecOutputMax; // 0x200 + Vector m_vecOutputMax; // 0x220 // MPropertyFriendlyName "noise coordinate scale" - float m_fl4NoiseScale; // 0x20c + float m_fl4NoiseScale; // 0x22c // MPropertyFriendlyName "additive" - bool m_bAdditive; // 0x210 + bool m_bAdditive; // 0x230 // MPropertyFriendlyName "offset instead of accelerate position" - bool m_bOffset; // 0x211 + bool m_bOffset; // 0x231 private: - [[maybe_unused]] uint8_t __pad0212[0x2]; // 0x212 + [[maybe_unused]] uint8_t __pad0232[0x2]; // 0x232 public: // MPropertyFriendlyName "Noise animation time scale" - float m_flNoiseAnimationTimeScale; // 0x214 + float m_flNoiseAnimationTimeScale; // 0x234 }; // Alignment: 2 -// Size: 0x200 +// Size: 0x220 class C_OP_Decay : public CParticleFunctionOperator { public: // MPropertyFriendlyName "Reduce rope popping on decay" - bool m_bRopeDecay; // 0x1f0 + bool m_bRopeDecay; // 0x210 // MPropertyFriendlyName "force preserving particle order" - bool m_bForcePreserveParticleOrder; // 0x1f1 + bool m_bForcePreserveParticleOrder; // 0x211 }; // Alignment: 1 -// Size: 0x330 +// Size: 0x350 class C_OP_DecayOffscreen : public CParticleFunctionOperator { public: // MPropertyFriendlyName "Offscreen Time Before Decay" - CParticleCollectionFloatInput m_flOffscreenTime; // 0x1f0 + CParticleCollectionFloatInput m_flOffscreenTime; // 0x210 }; // Alignment: 1 -// Size: 0x330 +// Size: 0x350 class C_OP_EndCapTimedFreeze : public CParticleFunctionOperator { public: // MPropertyFriendlyName "freeze time" - CParticleCollectionFloatInput m_flFreezeTime; // 0x1f0 + CParticleCollectionFloatInput m_flFreezeTime; // 0x210 }; // Alignment: 1 -// Size: 0x200 +// Size: 0x220 class C_OP_EndCapTimedDecay : public CParticleFunctionOperator { public: // MPropertyFriendlyName "decay time" - float m_flDecayTime; // 0x1f0 + float m_flDecayTime; // 0x210 }; // Alignment: 0 -// Size: 0x1f0 +// Size: 0x210 class C_OP_EndCapDecay : public CParticleFunctionOperator { public: @@ -6048,96 +6856,96 @@ public: }; // Alignment: 1 -// Size: 0x200 +// Size: 0x220 class C_OP_VelocityDecay : public CParticleFunctionOperator { public: // MPropertyFriendlyName "minimum velocity" - float m_flMinVelocity; // 0x1f0 + float m_flMinVelocity; // 0x210 }; // Alignment: 1 -// Size: 0x200 +// Size: 0x220 class C_OP_AlphaDecay : public CParticleFunctionOperator { public: // MPropertyFriendlyName "minimum alpha" - float m_flMinAlpha; // 0x1f0 + float m_flMinAlpha; // 0x210 }; // Alignment: 1 -// Size: 0x200 +// Size: 0x220 class C_OP_RadiusDecay : public CParticleFunctionOperator { public: // MPropertyFriendlyName "minimum radius" - float m_flMinRadius; // 0x1f0 + float m_flMinRadius; // 0x210 }; // Alignment: 6 -// Size: 0x340 +// Size: 0x370 class C_OP_DecayMaintainCount : public CParticleFunctionOperator { public: // MPropertyFriendlyName "count to maintain" - int32_t m_nParticlesToMaintain; // 0x1f0 + int32_t m_nParticlesToMaintain; // 0x210 // MPropertyFriendlyName "decay delay" - float m_flDecayDelay; // 0x1f4 + float m_flDecayDelay; // 0x214 // MPropertyFriendlyName "snapshot control point for count" - int32_t m_nSnapshotControlPoint; // 0x1f8 + int32_t m_nSnapshotControlPoint; // 0x218 // MPropertyFriendlyName "decay on lifespan" - bool m_bLifespanDecay; // 0x1fc + bool m_bLifespanDecay; // 0x21c private: - [[maybe_unused]] uint8_t __pad01fd[0x3]; // 0x1fd + [[maybe_unused]] uint8_t __pad021d[0x3]; // 0x21d public: // MPropertyFriendlyName "total count scale" - CParticleCollectionFloatInput m_flScale; // 0x200 + CParticleCollectionFloatInput m_flScale; // 0x220 // MPropertyFriendlyName "kill newest instead of oldest" - bool m_bKillNewest; // 0x338 + bool m_bKillNewest; // 0x360 }; // Alignment: 1 -// Size: 0x330 +// Size: 0x350 class C_OP_DecayClampCount : public CParticleFunctionOperator { public: // MPropertyFriendlyName "Maximum Count" - CParticleCollectionFloatInput m_nCount; // 0x1f0 + CParticleCollectionFloatInput m_nCount; // 0x210 }; // Alignment: 4 -// Size: 0x200 +// Size: 0x220 class C_OP_Cull : public CParticleFunctionOperator { public: // MPropertyFriendlyName "cull percentage" - float m_flCullPerc; // 0x1f0 + float m_flCullPerc; // 0x210 // MPropertyFriendlyName "cull start time" - float m_flCullStart; // 0x1f4 + float m_flCullStart; // 0x214 // MPropertyFriendlyName "cull end time" - float m_flCullEnd; // 0x1f8 + float m_flCullEnd; // 0x218 // MPropertyFriendlyName "cull time exponent" - float m_flCullExp; // 0x1fc + float m_flCullExp; // 0x21c }; // Alignment: 3 -// Size: 0x210 +// Size: 0x230 class CGeneralSpin : public CParticleFunctionOperator { public: // MPropertyFriendlyName "spin rate degrees" - int32_t m_nSpinRateDegrees; // 0x1f0 + int32_t m_nSpinRateDegrees; // 0x210 // MPropertyFriendlyName "spin rate min" - int32_t m_nSpinRateMinDegrees; // 0x1f4 + int32_t m_nSpinRateMinDegrees; // 0x214 private: - [[maybe_unused]] uint8_t __pad01f8[0x4]; // 0x1f8 + [[maybe_unused]] uint8_t __pad0218[0x4]; // 0x218 public: // MPropertyFriendlyName "spin stop time" - float m_fSpinRateStopTime; // 0x1fc + float m_fSpinRateStopTime; // 0x21c }; // Alignment: 0 -// Size: 0x1f0 +// Size: 0x210 class CSpinUpdateBase : public CParticleFunctionOperator { public: @@ -6145,7 +6953,7 @@ public: }; // Alignment: 0 -// Size: 0x210 +// Size: 0x230 class C_OP_Spin : public CGeneralSpin { public: @@ -6153,7 +6961,7 @@ public: }; // Alignment: 0 -// Size: 0x1f0 +// Size: 0x210 class C_OP_SpinUpdate : public CSpinUpdateBase { public: @@ -6161,7 +6969,7 @@ public: }; // Alignment: 0 -// Size: 0x210 +// Size: 0x230 class C_OP_SpinYaw : public CGeneralSpin { public: @@ -6169,551 +6977,470 @@ public: }; // Alignment: 6 -// Size: 0x240 +// Size: 0x260 class C_OP_InterpolateRadius : public CParticleFunctionOperator { public: // MPropertyFriendlyName "start time" - float m_flStartTime; // 0x1f0 + float m_flStartTime; // 0x210 // MPropertyFriendlyName "end time" - float m_flEndTime; // 0x1f4 + float m_flEndTime; // 0x214 // MPropertyFriendlyName "radius start scale" - float m_flStartScale; // 0x1f8 + float m_flStartScale; // 0x218 // MPropertyFriendlyName "radius end scale" - float m_flEndScale; // 0x1fc + float m_flEndScale; // 0x21c // MPropertyFriendlyName "ease in and out" - bool m_bEaseInAndOut; // 0x200 + bool m_bEaseInAndOut; // 0x220 private: - [[maybe_unused]] uint8_t __pad0201[0x3]; // 0x201 + [[maybe_unused]] uint8_t __pad0221[0x3]; // 0x221 public: // MPropertyFriendlyName "scale bias" - float m_flBias; // 0x204 + float m_flBias; // 0x224 }; // Alignment: 5 -// Size: 0x210 +// Size: 0x230 class C_OP_ColorInterpolate : public CParticleFunctionOperator { public: // MPropertyFriendlyName "color fade" - Color m_ColorFade; // 0x1f0 + Color m_ColorFade; // 0x210 private: - [[maybe_unused]] uint8_t __pad01f4[0xc]; // 0x1f4 + [[maybe_unused]] uint8_t __pad0214[0xc]; // 0x214 public: // MPropertyFriendlyName "fade start time" - float m_flFadeStartTime; // 0x200 + float m_flFadeStartTime; // 0x220 // MPropertyFriendlyName "fade end time" - float m_flFadeEndTime; // 0x204 + float m_flFadeEndTime; // 0x224 // MPropertyFriendlyName "output field" // MPropertyAttributeChoiceName "particlefield_vector" - ParticleAttributeIndex_t m_nFieldOutput; // 0x208 + ParticleAttributeIndex_t m_nFieldOutput; // 0x228 // MPropertyFriendlyName "ease in and out" - bool m_bEaseInOut; // 0x20c + bool m_bEaseInOut; // 0x22c }; // Alignment: 6 -// Size: 0x230 +// Size: 0x250 class C_OP_ColorInterpolateRandom : public CParticleFunctionOperator { public: // MPropertyFriendlyName "color fade min" - Color m_ColorFadeMin; // 0x1f0 + Color m_ColorFadeMin; // 0x210 private: - [[maybe_unused]] uint8_t __pad01f4[0x18]; // 0x1f4 + [[maybe_unused]] uint8_t __pad0214[0x18]; // 0x214 public: // MPropertyFriendlyName "color fade max" - Color m_ColorFadeMax; // 0x20c + Color m_ColorFadeMax; // 0x22c private: - [[maybe_unused]] uint8_t __pad0210[0xc]; // 0x210 + [[maybe_unused]] uint8_t __pad0230[0xc]; // 0x230 public: // MPropertyFriendlyName "fade start time" - float m_flFadeStartTime; // 0x21c + float m_flFadeStartTime; // 0x23c // MPropertyFriendlyName "fade end time" - float m_flFadeEndTime; // 0x220 + float m_flFadeEndTime; // 0x240 // MPropertyFriendlyName "output field" // MPropertyAttributeChoiceName "particlefield_vector" - ParticleAttributeIndex_t m_nFieldOutput; // 0x224 + ParticleAttributeIndex_t m_nFieldOutput; // 0x244 // MPropertyFriendlyName "ease in and out" - bool m_bEaseInOut; // 0x228 + bool m_bEaseInOut; // 0x248 }; // Alignment: 15 -// Size: 0x980 +// Size: 0x9c0 class C_OP_PositionLock : public CParticleFunctionOperator { public: // MPropertyFriendlyName "transform input" - CParticleTransformInput m_TransformInput; // 0x1f0 + CParticleTransformInput m_TransformInput; // 0x210 // MPropertyFriendlyName "start fadeout min" - float m_flStartTime_min; // 0x240 + float m_flStartTime_min; // 0x260 // MPropertyFriendlyName "start fadeout max" - float m_flStartTime_max; // 0x244 + float m_flStartTime_max; // 0x264 // MPropertyFriendlyName "start fadeout exponent" - float m_flStartTime_exp; // 0x248 + float m_flStartTime_exp; // 0x268 // MPropertyFriendlyName "end fadeout min" - float m_flEndTime_min; // 0x24c + float m_flEndTime_min; // 0x26c // MPropertyFriendlyName "end fadeout max" - float m_flEndTime_max; // 0x250 + float m_flEndTime_max; // 0x270 // MPropertyFriendlyName "end fadeout exponent" - float m_flEndTime_exp; // 0x254 + float m_flEndTime_exp; // 0x274 // MPropertyFriendlyName "distance fade range" - float m_flRange; // 0x258 + float m_flRange; // 0x278 private: - [[maybe_unused]] uint8_t __pad025c[0x4]; // 0x25c + [[maybe_unused]] uint8_t __pad027c[0x4]; // 0x27c public: // MPropertyFriendlyName "distance fade bias" - CParticleCollectionFloatInput m_flRangeBias; // 0x260 + CParticleCollectionFloatInput m_flRangeBias; // 0x280 // MPropertyFriendlyName "instant jump threshold" - float m_flJumpThreshold; // 0x398 + float m_flJumpThreshold; // 0x3c0 // MPropertyFriendlyName "previous position scale" - float m_flPrevPosScale; // 0x39c + float m_flPrevPosScale; // 0x3c4 // MPropertyFriendlyName "lock rotation" - bool m_bLockRot; // 0x3a0 + bool m_bLockRot; // 0x3c8 private: - [[maybe_unused]] uint8_t __pad03a1[0x7]; // 0x3a1 + [[maybe_unused]] uint8_t __pad03c9[0x7]; // 0x3c9 public: // MPropertyFriendlyName "component scale" - CParticleCollectionVecInput m_vecScale; // 0x3a8 + CParticleCollectionVecInput m_vecScale; // 0x3d0 // MPropertyFriendlyName "output field" // MPropertyAttributeChoiceName "particlefield_vector" - ParticleAttributeIndex_t m_nFieldOutput; // 0x970 + ParticleAttributeIndex_t m_nFieldOutput; // 0x9b8 // MPropertyFriendlyName "output field prev" // MPropertyAttributeChoiceName "particlefield_vector" - ParticleAttributeIndex_t m_nFieldOutputPrev; // 0x974 + ParticleAttributeIndex_t m_nFieldOutputPrev; // 0x9bc }; // Alignment: 33 -// Size: 0x740 +// Size: 0x760 class C_OP_ControlpointLight : public CParticleFunctionOperator { public: // MPropertyFriendlyName "initial color bias" - float m_flScale; // 0x1f0 + float m_flScale; // 0x210 private: - [[maybe_unused]] uint8_t __pad01f4[0x4cc]; // 0x1f4 + [[maybe_unused]] uint8_t __pad0214[0x4cc]; // 0x214 public: // MPropertyFriendlyName "light 1 control point" - int32_t m_nControlPoint1; // 0x6c0 + int32_t m_nControlPoint1; // 0x6e0 // MPropertyFriendlyName "light 2 control point" - int32_t m_nControlPoint2; // 0x6c4 + int32_t m_nControlPoint2; // 0x6e4 // MPropertyFriendlyName "light 3 control point" - int32_t m_nControlPoint3; // 0x6c8 + int32_t m_nControlPoint3; // 0x6e8 // MPropertyFriendlyName "light 4 control point" - int32_t m_nControlPoint4; // 0x6cc + int32_t m_nControlPoint4; // 0x6ec // MPropertyFriendlyName "light 1 control point offset" - Vector m_vecCPOffset1; // 0x6d0 + Vector m_vecCPOffset1; // 0x6f0 // MPropertyFriendlyName "light 2 control point offset" - Vector m_vecCPOffset2; // 0x6dc + Vector m_vecCPOffset2; // 0x6fc // MPropertyFriendlyName "light 3 control point offset" - Vector m_vecCPOffset3; // 0x6e8 + Vector m_vecCPOffset3; // 0x708 // MPropertyFriendlyName "light 4 control point offset" - Vector m_vecCPOffset4; // 0x6f4 + Vector m_vecCPOffset4; // 0x714 // MPropertyFriendlyName "light 1 50% distance" - float m_LightFiftyDist1; // 0x700 + float m_LightFiftyDist1; // 0x720 // MPropertyFriendlyName "light 1 0% distance" - float m_LightZeroDist1; // 0x704 + float m_LightZeroDist1; // 0x724 // MPropertyFriendlyName "light 2 50% distance" - float m_LightFiftyDist2; // 0x708 + float m_LightFiftyDist2; // 0x728 // MPropertyFriendlyName "light 2 0% distance" - float m_LightZeroDist2; // 0x70c + float m_LightZeroDist2; // 0x72c // MPropertyFriendlyName "light 3 50% distance" - float m_LightFiftyDist3; // 0x710 + float m_LightFiftyDist3; // 0x730 // MPropertyFriendlyName "light 3 0% distance" - float m_LightZeroDist3; // 0x714 + float m_LightZeroDist3; // 0x734 // MPropertyFriendlyName "light 4 50% distance" - float m_LightFiftyDist4; // 0x718 + float m_LightFiftyDist4; // 0x738 // MPropertyFriendlyName "light 4 0% distance" - float m_LightZeroDist4; // 0x71c + float m_LightZeroDist4; // 0x73c // MPropertyFriendlyName "light 1 color" - Color m_LightColor1; // 0x720 + Color m_LightColor1; // 0x740 // MPropertyFriendlyName "light 2 color" - Color m_LightColor2; // 0x724 + Color m_LightColor2; // 0x744 // MPropertyFriendlyName "light 3 color" - Color m_LightColor3; // 0x728 + Color m_LightColor3; // 0x748 // MPropertyFriendlyName "light 4 color" - Color m_LightColor4; // 0x72c + Color m_LightColor4; // 0x74c // MPropertyFriendlyName "light 1 type 0=point 1=spot" - bool m_bLightType1; // 0x730 + bool m_bLightType1; // 0x750 // MPropertyFriendlyName "light 2 type 0=point 1=spot" - bool m_bLightType2; // 0x731 + bool m_bLightType2; // 0x751 // MPropertyFriendlyName "light 3 type 0=point 1=spot" - bool m_bLightType3; // 0x732 + bool m_bLightType3; // 0x752 // MPropertyFriendlyName "light 4 type 0=point 1=spot" - bool m_bLightType4; // 0x733 + bool m_bLightType4; // 0x753 // MPropertyFriendlyName "light 1 dynamic light" - bool m_bLightDynamic1; // 0x734 + bool m_bLightDynamic1; // 0x754 // MPropertyFriendlyName "light 2 dynamic light" - bool m_bLightDynamic2; // 0x735 + bool m_bLightDynamic2; // 0x755 // MPropertyFriendlyName "light 3 dynamic light" - bool m_bLightDynamic3; // 0x736 + bool m_bLightDynamic3; // 0x756 // MPropertyFriendlyName "light 4 dynamic light" - bool m_bLightDynamic4; // 0x737 + bool m_bLightDynamic4; // 0x757 // MPropertyFriendlyName "compute normals from control points" - bool m_bUseNormal; // 0x738 + bool m_bUseNormal; // 0x758 // MPropertyFriendlyName "half-lambert normals" - bool m_bUseHLambert; // 0x739 + bool m_bUseHLambert; // 0x759 private: - [[maybe_unused]] uint8_t __pad073a[0x4]; // 0x73a + [[maybe_unused]] uint8_t __pad075a[0x4]; // 0x75a public: // MPropertyFriendlyName "clamp minimum light value to initial color" - bool m_bClampLowerRange; // 0x73e + bool m_bClampLowerRange; // 0x75e // MPropertyFriendlyName "clamp maximum light value to initial color" - bool m_bClampUpperRange; // 0x73f + bool m_bClampUpperRange; // 0x75f }; // Alignment: 3 -// Size: 0x200 +// Size: 0x220 class C_OP_GlobalLight : public CParticleFunctionOperator { public: // MPropertyFriendlyName "initial color bias" - float m_flScale; // 0x1f0 + float m_flScale; // 0x210 // MPropertyFriendlyName "clamp minimum light value to initial color" - bool m_bClampLowerRange; // 0x1f4 + bool m_bClampLowerRange; // 0x214 // MPropertyFriendlyName "clamp maximum light value to initial color" - bool m_bClampUpperRange; // 0x1f5 + bool m_bClampUpperRange; // 0x215 }; // Alignment: 5 -// Size: 0x340 +// Size: 0x370 class C_OP_SetChildControlPoints : public CParticleFunctionOperator { public: // MPropertyFriendlyName "group ID to affect" - int32_t m_nChildGroupID; // 0x1f0 + int32_t m_nChildGroupID; // 0x210 // MPropertyFriendlyName "first control point to set" - int32_t m_nFirstControlPoint; // 0x1f4 + int32_t m_nFirstControlPoint; // 0x214 // MPropertyFriendlyName "# of control points to set" - int32_t m_nNumControlPoints; // 0x1f8 + int32_t m_nNumControlPoints; // 0x218 private: - [[maybe_unused]] uint8_t __pad01fc[0x4]; // 0x1fc + [[maybe_unused]] uint8_t __pad021c[0x4]; // 0x21c public: // MPropertyFriendlyName "first particle to copy" - CParticleCollectionFloatInput m_nFirstSourcePoint; // 0x200 + CParticleCollectionFloatInput m_nFirstSourcePoint; // 0x220 // MPropertyFriendlyName "set orientation" - bool m_bSetOrientation; // 0x338 + bool m_bSetOrientation; // 0x360 }; // Alignment: 7 -// Size: 0x210 +// Size: 0x230 class C_OP_SetControlPointsToParticle : public CParticleFunctionOperator { public: // MPropertyFriendlyName "group ID to affect" - int32_t m_nChildGroupID; // 0x1f0 + int32_t m_nChildGroupID; // 0x210 // MPropertyFriendlyName "first control point to set" - int32_t m_nFirstControlPoint; // 0x1f4 + int32_t m_nFirstControlPoint; // 0x214 // MPropertyFriendlyName "# of control points to set" - int32_t m_nNumControlPoints; // 0x1f8 + int32_t m_nNumControlPoints; // 0x218 // MPropertyFriendlyName "first particle to copy" - int32_t m_nFirstSourcePoint; // 0x1fc + int32_t m_nFirstSourcePoint; // 0x21c // MPropertyFriendlyName "set orientation" - bool m_bSetOrientation; // 0x200 + bool m_bSetOrientation; // 0x220 private: - [[maybe_unused]] uint8_t __pad0201[0x3]; // 0x201 + [[maybe_unused]] uint8_t __pad0221[0x3]; // 0x221 public: // MPropertyFriendlyName "orientation style" - ParticleOrientationSetMode_t m_nOrientationMode; // 0x204 + ParticleOrientationSetMode_t m_nOrientationMode; // 0x224 // MPropertyFriendlyName "set parent" - ParticleParentSetMode_t m_nSetParent; // 0x208 + ParticleParentSetMode_t m_nSetParent; // 0x228 }; // Alignment: 7 -// Size: 0x300 +// Size: 0x320 class C_OP_SetControlPointsToModelParticles : public CParticleFunctionOperator { public: // MPropertyFriendlyName "hitbox set" - char m_HitboxSetName[128]; // 0x1f0 + char m_HitboxSetName[128]; // 0x210 // MPropertyFriendlyName "attachment to follow" - char m_AttachmentName[128]; // 0x270 + char m_AttachmentName[128]; // 0x290 // MPropertyFriendlyName "First control point to set" - int32_t m_nFirstControlPoint; // 0x2f0 + int32_t m_nFirstControlPoint; // 0x310 // MPropertyFriendlyName "# of control points to set" - int32_t m_nNumControlPoints; // 0x2f4 + int32_t m_nNumControlPoints; // 0x314 // MPropertyFriendlyName "first particle to copy" - int32_t m_nFirstSourcePoint; // 0x2f8 + int32_t m_nFirstSourcePoint; // 0x318 // MPropertyFriendlyName "use skinning instead of hitboxes" - bool m_bSkin; // 0x2fc + bool m_bSkin; // 0x31c // MPropertyFriendlyName "follow attachment" - bool m_bAttachment; // 0x2fd + bool m_bAttachment; // 0x31d }; // Alignment: 8 -// Size: 0x480 +// Size: 0x4b0 class C_OP_SetPerChildControlPoint : public CParticleFunctionOperator { public: // MPropertyFriendlyName "group ID to affect" - int32_t m_nChildGroupID; // 0x1f0 + int32_t m_nChildGroupID; // 0x210 // MPropertyFriendlyName "control point to set" - int32_t m_nFirstControlPoint; // 0x1f4 + int32_t m_nFirstControlPoint; // 0x214 // MPropertyFriendlyName "# of children to set" - int32_t m_nNumControlPoints; // 0x1f8 + int32_t m_nNumControlPoints; // 0x218 private: - [[maybe_unused]] uint8_t __pad01fc[0x4]; // 0x1fc + [[maybe_unused]] uint8_t __pad021c[0x4]; // 0x21c public: // MPropertyFriendlyName "particle increment amount" - CParticleCollectionFloatInput m_nParticleIncrement; // 0x200 + CParticleCollectionFloatInput m_nParticleIncrement; // 0x220 // MPropertyFriendlyName "first particle to copy" - CParticleCollectionFloatInput m_nFirstSourcePoint; // 0x338 + CParticleCollectionFloatInput m_nFirstSourcePoint; // 0x360 // MPropertyFriendlyName "set orientation from velocity" - bool m_bSetOrientation; // 0x470 + bool m_bSetOrientation; // 0x4a0 private: - [[maybe_unused]] uint8_t __pad0471[0x3]; // 0x471 + [[maybe_unused]] uint8_t __pad04a1[0x3]; // 0x4a1 public: // MPropertyFriendlyName "orientation vector" // MPropertyAttributeChoiceName "particlefield_vector" - ParticleAttributeIndex_t m_nOrientationField; // 0x474 + ParticleAttributeIndex_t m_nOrientationField; // 0x4a4 // MPropertyFriendlyName "set number of children based on particle count" - bool m_bNumBasedOnParticleCount; // 0x478 + bool m_bNumBasedOnParticleCount; // 0x4a8 }; // Alignment: 8 -// Size: 0x210 +// Size: 0x230 class C_OP_SetPerChildControlPointFromAttribute : public CParticleFunctionOperator { public: // MPropertyFriendlyName "group ID to affect" - int32_t m_nChildGroupID; // 0x1f0 + int32_t m_nChildGroupID; // 0x210 // MPropertyFriendlyName "control point to set" - int32_t m_nFirstControlPoint; // 0x1f4 + int32_t m_nFirstControlPoint; // 0x214 // MPropertyFriendlyName "# of children to set" - int32_t m_nNumControlPoints; // 0x1f8 + int32_t m_nNumControlPoints; // 0x218 // MPropertyFriendlyName "particle increment amount" - int32_t m_nParticleIncrement; // 0x1fc + int32_t m_nParticleIncrement; // 0x21c // MPropertyFriendlyName "first particle to copy" - int32_t m_nFirstSourcePoint; // 0x200 + int32_t m_nFirstSourcePoint; // 0x220 // MPropertyFriendlyName "set number of children based on particle count" - bool m_bNumBasedOnParticleCount; // 0x204 + bool m_bNumBasedOnParticleCount; // 0x224 private: - [[maybe_unused]] uint8_t __pad0205[0x3]; // 0x205 + [[maybe_unused]] uint8_t __pad0225[0x3]; // 0x225 public: // MPropertyFriendlyName "field to read" // MPropertyAttributeChoiceName "particlefield" - ParticleAttributeIndex_t m_nAttributeToRead; // 0x208 + ParticleAttributeIndex_t m_nAttributeToRead; // 0x228 // MPropertyFriendlyName "control point field for scalars" // MPropertyAttributeChoiceName "vector_component" - int32_t m_nCPField; // 0x20c + int32_t m_nCPField; // 0x22c }; // Alignment: 4 -// Size: 0x250 +// Size: 0x270 class C_OP_RemapTransformOrientationToYaw : public CParticleFunctionOperator { public: // MPropertyFriendlyName "transform input" - CParticleTransformInput m_TransformInput; // 0x1f0 + CParticleTransformInput m_TransformInput; // 0x210 // MPropertyFriendlyName "rotation field" // MPropertyAttributeChoiceName "particlefield_rotation" - ParticleAttributeIndex_t m_nFieldOutput; // 0x240 + ParticleAttributeIndex_t m_nFieldOutput; // 0x260 // MPropertyFriendlyName "rotation offset" - float m_flRotOffset; // 0x244 + float m_flRotOffset; // 0x264 // MPropertyFriendlyName "spin strength" - float m_flSpinStrength; // 0x248 + float m_flSpinStrength; // 0x268 }; // Alignment: 3 -// Size: 0x200 +// Size: 0x220 class C_OP_DampenToCP : public CParticleFunctionOperator { public: // MPropertyFriendlyName "control point number" - int32_t m_nControlPointNumber; // 0x1f0 + int32_t m_nControlPointNumber; // 0x210 // MPropertyFriendlyName "falloff range" - float m_flRange; // 0x1f4 + float m_flRange; // 0x214 // MPropertyFriendlyName "dampen scale" - float m_flScale; // 0x1f8 + float m_flScale; // 0x218 }; // Alignment: 3 -// Size: 0x210 +// Size: 0x230 class C_OP_SetToCP : public CParticleFunctionOperator { public: // MPropertyFriendlyName "control point number" - int32_t m_nControlPointNumber; // 0x1f0 + int32_t m_nControlPointNumber; // 0x210 // MPropertyFriendlyName "offset" - Vector m_vecOffset; // 0x1f4 + Vector m_vecOffset; // 0x214 // MPropertyFriendlyName "offset in local space" - bool m_bOffsetLocal; // 0x200 + bool m_bOffsetLocal; // 0x220 }; // Alignment: 12 -// Size: 0xdf0 +// Size: 0xe60 class C_OP_PinParticleToCP : public CParticleFunctionOperator { public: // MPropertyFriendlyName "control point number" - int32_t m_nControlPointNumber; // 0x1f0 + int32_t m_nControlPointNumber; // 0x210 private: - [[maybe_unused]] uint8_t __pad01f4[0x4]; // 0x1f4 + [[maybe_unused]] uint8_t __pad0214[0x4]; // 0x214 public: // MPropertyFriendlyName "offset" - CParticleCollectionVecInput m_vecOffset; // 0x1f8 + CParticleCollectionVecInput m_vecOffset; // 0x218 // MPropertyFriendlyName "offset in local space" - bool m_bOffsetLocal; // 0x7c0 + bool m_bOffsetLocal; // 0x800 private: - [[maybe_unused]] uint8_t __pad07c1[0x3]; // 0x7c1 + [[maybe_unused]] uint8_t __pad0801[0x3]; // 0x801 public: // MPropertyFriendlyName "particle to use" - ParticleSelection_t m_nParticleSelection; // 0x7c4 + ParticleSelection_t m_nParticleSelection; // 0x804 // MPropertyFriendlyName "particle number" - CParticleCollectionFloatInput m_nParticleNumber; // 0x7c8 + CParticleCollectionFloatInput m_nParticleNumber; // 0x808 // MPropertyFriendlyName "pin break type" - ParticlePinDistance_t m_nPinBreakType; // 0x900 + ParticlePinDistance_t m_nPinBreakType; // 0x948 private: - [[maybe_unused]] uint8_t __pad0904[0x4]; // 0x904 + [[maybe_unused]] uint8_t __pad094c[0x4]; // 0x94c public: // MPropertyFriendlyName "break length %" - CParticleCollectionFloatInput m_flBreakDistance; // 0x908 + CParticleCollectionFloatInput m_flBreakDistance; // 0x950 // MPropertyFriendlyName "break speed" - CParticleCollectionFloatInput m_flBreakSpeed; // 0xa40 + CParticleCollectionFloatInput m_flBreakSpeed; // 0xa90 // MPropertyFriendlyName "break age" - CParticleCollectionFloatInput m_flAge; // 0xb78 + CParticleCollectionFloatInput m_flAge; // 0xbd0 // MPropertyFriendlyName "break comparison control point 1" - int32_t m_nBreakControlPointNumber; // 0xcb0 + int32_t m_nBreakControlPointNumber; // 0xd10 // MPropertyFriendlyName "break comparison control point 2" - int32_t m_nBreakControlPointNumber2; // 0xcb4 + int32_t m_nBreakControlPointNumber2; // 0xd14 // MPropertyFriendlyName "Interpolation" - CPerParticleFloatInput m_flInterpolation; // 0xcb8 + CPerParticleFloatInput m_flInterpolation; // 0xd18 }; // Alignment: 6 -// Size: 0x210 +// Size: 0x230 class C_OP_MovementRigidAttachToCP : public CParticleFunctionOperator { public: // MPropertyFriendlyName "control point number" - int32_t m_nControlPointNumber; // 0x1f0 + int32_t m_nControlPointNumber; // 0x210 // MPropertyFriendlyName "scale control point number" - int32_t m_nScaleControlPoint; // 0x1f4 + int32_t m_nScaleControlPoint; // 0x214 // MPropertyFriendlyName "scale control point field" // MPropertyAttributeChoiceName "vector_component" - int32_t m_nScaleCPField; // 0x1f8 + int32_t m_nScaleCPField; // 0x218 // MPropertyFriendlyName "cache attribute to read from" // MPropertyAttributeChoiceName "particlefield_vector" - ParticleAttributeIndex_t m_nFieldInput; // 0x1fc + ParticleAttributeIndex_t m_nFieldInput; // 0x21c // MPropertyFriendlyName "attribute to write to" // MPropertyAttributeChoiceName "particlefield_vector" - ParticleAttributeIndex_t m_nFieldOutput; // 0x200 + ParticleAttributeIndex_t m_nFieldOutput; // 0x220 // MPropertyFriendlyName "local space" - bool m_bOffsetLocal; // 0x204 + bool m_bOffsetLocal; // 0x224 }; // Alignment: 5 -// Size: 0xa40 +// Size: 0xa90 class C_OP_LerpToInitialPosition : public CParticleFunctionOperator { public: // MPropertyFriendlyName "control point number" - int32_t m_nControlPointNumber; // 0x1f0 + int32_t m_nControlPointNumber; // 0x210 private: - [[maybe_unused]] uint8_t __pad01f4[0x4]; // 0x1f4 + [[maybe_unused]] uint8_t __pad0214[0x4]; // 0x214 public: // MPropertyFriendlyName "Interpolation" - CPerParticleFloatInput m_flInterpolation; // 0x1f8 + CPerParticleFloatInput m_flInterpolation; // 0x218 // MPropertyFriendlyName "position cache attribute" // MPropertyAttributeChoiceName "particlefield_vector" - ParticleAttributeIndex_t m_nCacheField; // 0x330 + ParticleAttributeIndex_t m_nCacheField; // 0x358 private: - [[maybe_unused]] uint8_t __pad0334[0x4]; // 0x334 + [[maybe_unused]] uint8_t __pad035c[0x4]; // 0x35c public: // MPropertyFriendlyName "scale" - CParticleCollectionFloatInput m_flScale; // 0x338 + CParticleCollectionFloatInput m_flScale; // 0x360 // MPropertyFriendlyName "component scale" - CParticleCollectionVecInput m_vecScale; // 0x470 + CParticleCollectionVecInput m_vecScale; // 0x4a0 }; // Alignment: 13 -// Size: 0x810 +// Size: 0x850 class C_OP_DistanceBetweenTransforms : public CParticleFunctionOperator { public: // MPropertyFriendlyName "output field" // MPropertyAttributeChoiceName "particlefield_scalar" - ParticleAttributeIndex_t m_nFieldOutput; // 0x1f0 -private: - [[maybe_unused]] uint8_t __pad01f4[0x4]; // 0x1f4 -public: - // MPropertyFriendlyName "strarting transform" - CParticleTransformInput m_TransformStart; // 0x1f8 - // MPropertyFriendlyName "end transform" - CParticleTransformInput m_TransformEnd; // 0x248 - // MPropertyFriendlyName "distance minimum" - CPerParticleFloatInput m_flInputMin; // 0x298 - // MPropertyFriendlyName "distance maximum" - CPerParticleFloatInput m_flInputMax; // 0x3d0 - // MPropertyFriendlyName "output minimum" - CPerParticleFloatInput m_flOutputMin; // 0x508 - // MPropertyFriendlyName "output maximum" - CPerParticleFloatInput m_flOutputMax; // 0x640 - // MPropertyFriendlyName "maximum trace length" - float m_flMaxTraceLength; // 0x778 - // MPropertyFriendlyName "LOS Failure Scalar" - float m_flLOSScale; // 0x77c - // MPropertyFriendlyName "LOS collision group" - char m_CollisionGroupName[128]; // 0x780 - // MPropertyFriendlyName "Trace Set" - ParticleTraceSet_t m_nTraceSet; // 0x800 - // MPropertyFriendlyName "ensure line of sight" - bool m_bLOS; // 0x804 -private: - [[maybe_unused]] uint8_t __pad0805[0x3]; // 0x805 -public: - // MPropertyFriendlyName "set value method" - ParticleSetMethod_t m_nSetMethod; // 0x808 -}; - -// Alignment: 10 -// Size: 0x2b0 -class C_OP_PercentageBetweenTransforms : public CParticleFunctionOperator -{ -public: - // MPropertyFriendlyName "output field" - // MPropertyAttributeChoiceName "particlefield_scalar" - ParticleAttributeIndex_t m_nFieldOutput; // 0x1f0 - // MPropertyFriendlyName "percentage minimum" - float m_flInputMin; // 0x1f4 - // MPropertyFriendlyName "percentage maximum" - float m_flInputMax; // 0x1f8 - // MPropertyFriendlyName "output minimum" - float m_flOutputMin; // 0x1fc - // MPropertyFriendlyName "output maximum" - float m_flOutputMax; // 0x200 -private: - [[maybe_unused]] uint8_t __pad0204[0x4]; // 0x204 -public: - // MPropertyFriendlyName "strarting transform" - CParticleTransformInput m_TransformStart; // 0x208 - // MPropertyFriendlyName "end transform" - CParticleTransformInput m_TransformEnd; // 0x258 - // MPropertyFriendlyName "set value method" - ParticleSetMethod_t m_nSetMethod; // 0x2a8 - // MPropertyFriendlyName "only active within input range" - bool m_bActiveRange; // 0x2ac - // MPropertyFriendlyName "treat distance between points as radius" - bool m_bRadialCheck; // 0x2ad -}; - -// Alignment: 10 -// Size: 0x2c0 -class C_OP_PercentageBetweenTransformsVector : public CParticleFunctionOperator -{ -public: - // MPropertyFriendlyName "output field" - // MPropertyAttributeChoiceName "particlefield_vector" - ParticleAttributeIndex_t m_nFieldOutput; // 0x1f0 - // MPropertyFriendlyName "percentage minimum" - float m_flInputMin; // 0x1f4 - // MPropertyFriendlyName "percentage maximum" - float m_flInputMax; // 0x1f8 - // MPropertyFriendlyName "output minimum" - // MVectorIsSometimesCoordinate - Vector m_vecOutputMin; // 0x1fc - // MPropertyFriendlyName "output maximum" - // MVectorIsSometimesCoordinate - Vector m_vecOutputMax; // 0x208 + ParticleAttributeIndex_t m_nFieldOutput; // 0x210 private: [[maybe_unused]] uint8_t __pad0214[0x4]; // 0x214 public: @@ -6721,919 +7448,957 @@ public: CParticleTransformInput m_TransformStart; // 0x218 // MPropertyFriendlyName "end transform" CParticleTransformInput m_TransformEnd; // 0x268 + // MPropertyFriendlyName "distance minimum" + CPerParticleFloatInput m_flInputMin; // 0x2b8 + // MPropertyFriendlyName "distance maximum" + CPerParticleFloatInput m_flInputMax; // 0x3f8 + // MPropertyFriendlyName "output minimum" + CPerParticleFloatInput m_flOutputMin; // 0x538 + // MPropertyFriendlyName "output maximum" + CPerParticleFloatInput m_flOutputMax; // 0x678 + // MPropertyFriendlyName "maximum trace length" + float m_flMaxTraceLength; // 0x7b8 + // MPropertyFriendlyName "LOS Failure Scalar" + float m_flLOSScale; // 0x7bc + // MPropertyFriendlyName "LOS collision group" + char m_CollisionGroupName[128]; // 0x7c0 + // MPropertyFriendlyName "Trace Set" + ParticleTraceSet_t m_nTraceSet; // 0x840 + // MPropertyFriendlyName "ensure line of sight" + bool m_bLOS; // 0x844 +private: + [[maybe_unused]] uint8_t __pad0845[0x3]; // 0x845 +public: // MPropertyFriendlyName "set value method" - ParticleSetMethod_t m_nSetMethod; // 0x2b8 + ParticleSetMethod_t m_nSetMethod; // 0x848 +}; + +// Alignment: 10 +// Size: 0x2d0 +class C_OP_PercentageBetweenTransforms : public CParticleFunctionOperator +{ +public: + // MPropertyFriendlyName "output field" + // MPropertyAttributeChoiceName "particlefield_scalar" + ParticleAttributeIndex_t m_nFieldOutput; // 0x210 + // MPropertyFriendlyName "percentage minimum" + float m_flInputMin; // 0x214 + // MPropertyFriendlyName "percentage maximum" + float m_flInputMax; // 0x218 + // MPropertyFriendlyName "output minimum" + float m_flOutputMin; // 0x21c + // MPropertyFriendlyName "output maximum" + float m_flOutputMax; // 0x220 +private: + [[maybe_unused]] uint8_t __pad0224[0x4]; // 0x224 +public: + // MPropertyFriendlyName "strarting transform" + CParticleTransformInput m_TransformStart; // 0x228 + // MPropertyFriendlyName "end transform" + CParticleTransformInput m_TransformEnd; // 0x278 + // MPropertyFriendlyName "set value method" + ParticleSetMethod_t m_nSetMethod; // 0x2c8 // MPropertyFriendlyName "only active within input range" - bool m_bActiveRange; // 0x2bc + bool m_bActiveRange; // 0x2cc // MPropertyFriendlyName "treat distance between points as radius" - bool m_bRadialCheck; // 0x2bd + bool m_bRadialCheck; // 0x2cd +}; + +// Alignment: 10 +// Size: 0x2e0 +class C_OP_PercentageBetweenTransformsVector : public CParticleFunctionOperator +{ +public: + // MPropertyFriendlyName "output field" + // MPropertyAttributeChoiceName "particlefield_vector" + ParticleAttributeIndex_t m_nFieldOutput; // 0x210 + // MPropertyFriendlyName "percentage minimum" + float m_flInputMin; // 0x214 + // MPropertyFriendlyName "percentage maximum" + float m_flInputMax; // 0x218 + // MPropertyFriendlyName "output minimum" + // MVectorIsSometimesCoordinate + Vector m_vecOutputMin; // 0x21c + // MPropertyFriendlyName "output maximum" + // MVectorIsSometimesCoordinate + Vector m_vecOutputMax; // 0x228 +private: + [[maybe_unused]] uint8_t __pad0234[0x4]; // 0x234 +public: + // MPropertyFriendlyName "strarting transform" + CParticleTransformInput m_TransformStart; // 0x238 + // MPropertyFriendlyName "end transform" + CParticleTransformInput m_TransformEnd; // 0x288 + // MPropertyFriendlyName "set value method" + ParticleSetMethod_t m_nSetMethod; // 0x2d8 + // MPropertyFriendlyName "only active within input range" + bool m_bActiveRange; // 0x2dc + // MPropertyFriendlyName "treat distance between points as radius" + bool m_bRadialCheck; // 0x2dd }; // Alignment: 12 -// Size: 0x2c0 +// Size: 0x2e0 class C_OP_PercentageBetweenTransformLerpCPs : public CParticleFunctionOperator { public: // MPropertyFriendlyName "output field" // MPropertyAttributeChoiceName "particlefield_scalar" - ParticleAttributeIndex_t m_nFieldOutput; // 0x1f0 + ParticleAttributeIndex_t m_nFieldOutput; // 0x210 // MPropertyFriendlyName "percentage minimum" - float m_flInputMin; // 0x1f4 + float m_flInputMin; // 0x214 // MPropertyFriendlyName "percentage maximum" - float m_flInputMax; // 0x1f8 + float m_flInputMax; // 0x218 private: - [[maybe_unused]] uint8_t __pad01fc[0x4]; // 0x1fc + [[maybe_unused]] uint8_t __pad021c[0x4]; // 0x21c public: // MPropertyFriendlyName "strarting transform" - CParticleTransformInput m_TransformStart; // 0x200 + CParticleTransformInput m_TransformStart; // 0x220 // MPropertyFriendlyName "end transform" - CParticleTransformInput m_TransformEnd; // 0x250 + CParticleTransformInput m_TransformEnd; // 0x270 // MPropertyFriendlyName "output starting control point number" - int32_t m_nOutputStartCP; // 0x2a0 + int32_t m_nOutputStartCP; // 0x2c0 // MPropertyFriendlyName "output starting control point field 0-2 X/Y/Z" - int32_t m_nOutputStartField; // 0x2a4 + int32_t m_nOutputStartField; // 0x2c4 // MPropertyFriendlyName "output ending control point number" - int32_t m_nOutputEndCP; // 0x2a8 + int32_t m_nOutputEndCP; // 0x2c8 // MPropertyFriendlyName "output ending control point field 0-2 X/Y/Z" - int32_t m_nOutputEndField; // 0x2ac + int32_t m_nOutputEndField; // 0x2cc // MPropertyFriendlyName "set value method" - ParticleSetMethod_t m_nSetMethod; // 0x2b0 + ParticleSetMethod_t m_nSetMethod; // 0x2d0 // MPropertyFriendlyName "only active within input range" - bool m_bActiveRange; // 0x2b4 + bool m_bActiveRange; // 0x2d4 // MPropertyFriendlyName "treat distance between points as radius" - bool m_bRadialCheck; // 0x2b5 + bool m_bRadialCheck; // 0x2d5 }; // Alignment: 9 -// Size: 0x1270 +// Size: 0x12f0 class C_OP_DistanceBetweenVecs : public CParticleFunctionOperator { public: // MPropertyFriendlyName "output field" // MPropertyAttributeChoiceName "particlefield_scalar" - ParticleAttributeIndex_t m_nFieldOutput; // 0x1f0 + ParticleAttributeIndex_t m_nFieldOutput; // 0x210 private: - [[maybe_unused]] uint8_t __pad01f4[0x4]; // 0x1f4 + [[maybe_unused]] uint8_t __pad0214[0x4]; // 0x214 public: // MPropertyFriendlyName "first vector" - CPerParticleVecInput m_vecPoint1; // 0x1f8 + CPerParticleVecInput m_vecPoint1; // 0x218 // MPropertyFriendlyName "second vector" - CPerParticleVecInput m_vecPoint2; // 0x7c0 + CPerParticleVecInput m_vecPoint2; // 0x800 // MPropertyFriendlyName "distance minimum" - CPerParticleFloatInput m_flInputMin; // 0xd88 + CPerParticleFloatInput m_flInputMin; // 0xde8 // MPropertyFriendlyName "distance maximum" - CPerParticleFloatInput m_flInputMax; // 0xec0 + CPerParticleFloatInput m_flInputMax; // 0xf28 // MPropertyFriendlyName "output minimum" - CPerParticleFloatInput m_flOutputMin; // 0xff8 + CPerParticleFloatInput m_flOutputMin; // 0x1068 // MPropertyFriendlyName "output maximum" - CPerParticleFloatInput m_flOutputMax; // 0x1130 + CPerParticleFloatInput m_flOutputMax; // 0x11a8 // MPropertyFriendlyName "set value method" - ParticleSetMethod_t m_nSetMethod; // 0x1268 + ParticleSetMethod_t m_nSetMethod; // 0x12e8 // MPropertyFriendlyName "divide by deltatime (for comparing motion since last simulation)" - bool m_bDeltaTime; // 0x126c + bool m_bDeltaTime; // 0x12ec }; // Alignment: 3 -// Size: 0xd90 +// Size: 0xdf0 class C_OP_DirectionBetweenVecsToVec : public CParticleFunctionOperator { public: // MPropertyFriendlyName "output field" // MPropertyAttributeChoiceName "particlefield_vector" - ParticleAttributeIndex_t m_nFieldOutput; // 0x1f0 + ParticleAttributeIndex_t m_nFieldOutput; // 0x210 private: - [[maybe_unused]] uint8_t __pad01f4[0x4]; // 0x1f4 + [[maybe_unused]] uint8_t __pad0214[0x4]; // 0x214 public: // MPropertyFriendlyName "first vector" - CPerParticleVecInput m_vecPoint1; // 0x1f8 + CPerParticleVecInput m_vecPoint1; // 0x218 // MPropertyFriendlyName "second vector" - CPerParticleVecInput m_vecPoint2; // 0x7c0 + CPerParticleVecInput m_vecPoint2; // 0x800 }; // Alignment: 15 -// Size: 0xd90 +// Size: 0xdf0 class C_OP_DistanceToTransform : public CParticleFunctionOperator { public: // MPropertyFriendlyName "output field" // MPropertyAttributeChoiceName "particlefield_scalar" - ParticleAttributeIndex_t m_nFieldOutput; // 0x1f0 + ParticleAttributeIndex_t m_nFieldOutput; // 0x210 private: - [[maybe_unused]] uint8_t __pad01f4[0x4]; // 0x1f4 + [[maybe_unused]] uint8_t __pad0214[0x4]; // 0x214 public: // MPropertyFriendlyName "distance minimum" - CPerParticleFloatInput m_flInputMin; // 0x1f8 + CPerParticleFloatInput m_flInputMin; // 0x218 // MPropertyFriendlyName "distance maximum" - CPerParticleFloatInput m_flInputMax; // 0x330 + CPerParticleFloatInput m_flInputMax; // 0x358 // MPropertyFriendlyName "output minimum" - CPerParticleFloatInput m_flOutputMin; // 0x468 + CPerParticleFloatInput m_flOutputMin; // 0x498 // MPropertyFriendlyName "output maximum" - CPerParticleFloatInput m_flOutputMax; // 0x5a0 + CPerParticleFloatInput m_flOutputMax; // 0x5d8 // MPropertyFriendlyName "transform input" - CParticleTransformInput m_TransformStart; // 0x6d8 + CParticleTransformInput m_TransformStart; // 0x718 // MPropertyFriendlyName "ensure line of sight" - bool m_bLOS; // 0x728 + bool m_bLOS; // 0x768 // MPropertyFriendlyName "LOS collision group" - char m_CollisionGroupName[128]; // 0x729 + char m_CollisionGroupName[128]; // 0x769 private: - [[maybe_unused]] uint8_t __pad07a9[0x3]; // 0x7a9 + [[maybe_unused]] uint8_t __pad07e9[0x3]; // 0x7e9 public: // MPropertyFriendlyName "Trace Set" - ParticleTraceSet_t m_nTraceSet; // 0x7ac + ParticleTraceSet_t m_nTraceSet; // 0x7ec // MPropertyFriendlyName "maximum trace length" - float m_flMaxTraceLength; // 0x7b0 + float m_flMaxTraceLength; // 0x7f0 // MPropertyFriendlyName "LOS Failure Scalar" - float m_flLOSScale; // 0x7b4 + float m_flLOSScale; // 0x7f4 + // MPropertyFriendlyName "set value method" + ParticleSetMethod_t m_nSetMethod; // 0x7f8 + // MPropertyFriendlyName "only active within specified distance" + bool m_bActiveRange; // 0x7fc + // MPropertyFriendlyName "output is additive" + bool m_bAdditive; // 0x7fd +private: + [[maybe_unused]] uint8_t __pad07fe[0x2]; // 0x7fe +public: + // MPropertyFriendlyName "component scale" + CPerParticleVecInput m_vecComponentScale; // 0x800 +}; + +// Alignment: 11 +// Size: 0x7c0 +class C_OP_CylindricalDistanceToTransform : public CParticleFunctionOperator +{ +public: + // MPropertyFriendlyName "output field" + // MPropertyAttributeChoiceName "particlefield_scalar" + ParticleAttributeIndex_t m_nFieldOutput; // 0x210 +private: + [[maybe_unused]] uint8_t __pad0214[0x4]; // 0x214 +public: + // MPropertyFriendlyName "cylinder inner radius" + CPerParticleFloatInput m_flInputMin; // 0x218 + // MPropertyFriendlyName "cylinder outer radius" + CPerParticleFloatInput m_flInputMax; // 0x358 + // MPropertyFriendlyName "cylinder inner output" + CPerParticleFloatInput m_flOutputMin; // 0x498 + // MPropertyFriendlyName "cylinder outer output" + CPerParticleFloatInput m_flOutputMax; // 0x5d8 + // MPropertyFriendlyName "cylindrical top transform" + CParticleTransformInput m_TransformStart; // 0x718 + // MPropertyFriendlyName "cylindrical bottom transform" + CParticleTransformInput m_TransformEnd; // 0x768 // MPropertyFriendlyName "set value method" ParticleSetMethod_t m_nSetMethod; // 0x7b8 // MPropertyFriendlyName "only active within specified distance" bool m_bActiveRange; // 0x7bc // MPropertyFriendlyName "output is additive" bool m_bAdditive; // 0x7bd -private: - [[maybe_unused]] uint8_t __pad07be[0x2]; // 0x7be -public: - // MPropertyFriendlyName "component scale" - CPerParticleVecInput m_vecComponentScale; // 0x7c0 -}; - -// Alignment: 11 -// Size: 0x780 -class C_OP_CylindricalDistanceToTransform : public CParticleFunctionOperator -{ -public: - // MPropertyFriendlyName "output field" - // MPropertyAttributeChoiceName "particlefield_scalar" - ParticleAttributeIndex_t m_nFieldOutput; // 0x1f0 -private: - [[maybe_unused]] uint8_t __pad01f4[0x4]; // 0x1f4 -public: - // MPropertyFriendlyName "cylinder inner radius" - CPerParticleFloatInput m_flInputMin; // 0x1f8 - // MPropertyFriendlyName "cylinder outer radius" - CPerParticleFloatInput m_flInputMax; // 0x330 - // MPropertyFriendlyName "cylinder inner output" - CPerParticleFloatInput m_flOutputMin; // 0x468 - // MPropertyFriendlyName "cylinder outer output" - CPerParticleFloatInput m_flOutputMax; // 0x5a0 - // MPropertyFriendlyName "cylindrical top transform" - CParticleTransformInput m_TransformStart; // 0x6d8 - // MPropertyFriendlyName "cylindrical bottom transform" - CParticleTransformInput m_TransformEnd; // 0x728 - // MPropertyFriendlyName "set value method" - ParticleSetMethod_t m_nSetMethod; // 0x778 - // MPropertyFriendlyName "only active within specified distance" - bool m_bActiveRange; // 0x77c - // MPropertyFriendlyName "output is additive" - bool m_bAdditive; // 0x77d // MPropertyFriendlyName "apply radius to ends (capsule)" - bool m_bCapsule; // 0x77e + bool m_bCapsule; // 0x7be }; // Alignment: 7 -// Size: 0x2a0 +// Size: 0x2c0 class C_OP_RtEnvCull : public CParticleFunctionOperator { public: // MPropertyFriendlyName "test direction" // MVectorIsCoordinate - Vector m_vecTestDir; // 0x1f0 + Vector m_vecTestDir; // 0x210 // MPropertyFriendlyName "cull normal" // MVectorIsCoordinate - Vector m_vecTestNormal; // 0x1fc + Vector m_vecTestNormal; // 0x21c // MPropertyFriendlyName "cull on miss" - bool m_bCullOnMiss; // 0x208 + bool m_bCullOnMiss; // 0x228 // MPropertyFriendlyName "stick instead of cull" - bool m_bStickInsteadOfCull; // 0x209 + bool m_bStickInsteadOfCull; // 0x229 // MPropertyFriendlyName "ray trace environment name" - char m_RtEnvName[128]; // 0x20a + char m_RtEnvName[128]; // 0x22a private: - [[maybe_unused]] uint8_t __pad028a[0x2]; // 0x28a + [[maybe_unused]] uint8_t __pad02aa[0x2]; // 0x2aa public: // MPropertyFriendlyName "ray trace environment cp" - int32_t m_nRTEnvCP; // 0x28c + int32_t m_nRTEnvCP; // 0x2ac // MPropertyFriendlyName "rt env control point component" // MPropertyAttributeChoiceName "vector_component" - int32_t m_nComponent; // 0x290 + int32_t m_nComponent; // 0x2b0 }; // Alignment: 4 -// Size: 0x900 +// Size: 0x950 class C_OP_MovementLoopInsideSphere : public CParticleFunctionOperator { public: // MPropertyFriendlyName "control point" - int32_t m_nCP; // 0x1f0 + int32_t m_nCP; // 0x210 private: - [[maybe_unused]] uint8_t __pad01f4[0x4]; // 0x1f4 + [[maybe_unused]] uint8_t __pad0214[0x4]; // 0x214 public: // MPropertyFriendlyName "distance maximum" - CParticleCollectionFloatInput m_flDistance; // 0x1f8 + CParticleCollectionFloatInput m_flDistance; // 0x218 // MPropertyFriendlyName "component scale" - CParticleCollectionVecInput m_vecScale; // 0x330 + CParticleCollectionVecInput m_vecScale; // 0x358 // MPropertyFriendlyName "distance squared output attribute" // MPropertyAttributeChoiceName "particlefield_scalar" - ParticleAttributeIndex_t m_nDistSqrAttr; // 0x8f8 + ParticleAttributeIndex_t m_nDistSqrAttr; // 0x940 }; // Alignment: 8 -// Size: 0x3d0 +// Size: 0x3f0 class C_OP_MoveToHitbox : public CParticleFunctionOperator { public: // MPropertyFriendlyName "control point number" - int32_t m_nControlPointNumber; // 0x1f0 + int32_t m_nControlPointNumber; // 0x210 private: - [[maybe_unused]] uint8_t __pad01f4[0x4]; // 0x1f4 + [[maybe_unused]] uint8_t __pad0214[0x4]; // 0x214 public: // MPropertyFriendlyName "lifetime lerp start" - float m_flLifeTimeLerpStart; // 0x1f8 + float m_flLifeTimeLerpStart; // 0x218 // MPropertyFriendlyName "lifetime lerp end" - float m_flLifeTimeLerpEnd; // 0x1fc + float m_flLifeTimeLerpEnd; // 0x21c // MPropertyFriendlyName "previous position scale" - float m_flPrevPosScale; // 0x200 + float m_flPrevPosScale; // 0x220 // MPropertyFriendlyName "hitbox set" - char m_HitboxSetName[128]; // 0x204 + char m_HitboxSetName[128]; // 0x224 // MPropertyFriendlyName "use bones instead of hitboxes" - bool m_bUseBones; // 0x284 + bool m_bUseBones; // 0x2a4 private: - [[maybe_unused]] uint8_t __pad0285[0x3]; // 0x285 + [[maybe_unused]] uint8_t __pad02a5[0x3]; // 0x2a5 public: // MPropertyFriendlyName "lerp type" - HitboxLerpType_t m_nLerpType; // 0x288 + HitboxLerpType_t m_nLerpType; // 0x2a8 private: - [[maybe_unused]] uint8_t __pad028c[0x4]; // 0x28c + [[maybe_unused]] uint8_t __pad02ac[0x4]; // 0x2ac public: // MPropertyFriendlyName "Constant Interpolation" - CPerParticleFloatInput m_flInterpolation; // 0x290 + CPerParticleFloatInput m_flInterpolation; // 0x2b0 }; // Alignment: 14 -// Size: 0x9a0 +// Size: 0x9e0 class C_OP_LockToBone : public CParticleFunctionOperator { public: // MPropertyFriendlyName "control_point_number" - int32_t m_nControlPointNumber; // 0x1f0 + int32_t m_nControlPointNumber; // 0x210 // MPropertyFriendlyName "lifetime fade start" - float m_flLifeTimeFadeStart; // 0x1f4 + float m_flLifeTimeFadeStart; // 0x214 // MPropertyFriendlyName "lifetime fade end" - float m_flLifeTimeFadeEnd; // 0x1f8 + float m_flLifeTimeFadeEnd; // 0x218 // MPropertyFriendlyName "instant jump threshold" - float m_flJumpThreshold; // 0x1fc + float m_flJumpThreshold; // 0x21c // MPropertyFriendlyName "previous position scale" - float m_flPrevPosScale; // 0x200 + float m_flPrevPosScale; // 0x220 // MPropertyFriendlyName "hitbox set" - char m_HitboxSetName[128]; // 0x204 + char m_HitboxSetName[128]; // 0x224 // MPropertyFriendlyName "rigid lock" - bool m_bRigid; // 0x284 + bool m_bRigid; // 0x2a4 // MPropertyFriendlyName "use bones instead of hitboxes" - bool m_bUseBones; // 0x285 + bool m_bUseBones; // 0x2a5 private: - [[maybe_unused]] uint8_t __pad0286[0x2]; // 0x286 + [[maybe_unused]] uint8_t __pad02a6[0x2]; // 0x2a6 public: // MPropertyFriendlyName "output field" // MPropertyAttributeChoiceName "particlefield_vector" - ParticleAttributeIndex_t m_nFieldOutput; // 0x288 + ParticleAttributeIndex_t m_nFieldOutput; // 0x2a8 // MPropertyFriendlyName "output field prev" // MPropertyAttributeChoiceName "particlefield_vector" - ParticleAttributeIndex_t m_nFieldOutputPrev; // 0x28c + ParticleAttributeIndex_t m_nFieldOutputPrev; // 0x2ac // MPropertyStartGroup "Set Rotations to Bones" // MPropertyFriendlyName "lock rotations to bone orientation" - ParticleRotationLockType_t m_nRotationSetType; // 0x290 + ParticleRotationLockType_t m_nRotationSetType; // 0x2b0 // MPropertyFriendlyName "rigid set rotation from bones" - bool m_bRigidRotationLock; // 0x294 + bool m_bRigidRotationLock; // 0x2b4 private: - [[maybe_unused]] uint8_t __pad0295[0x3]; // 0x295 + [[maybe_unused]] uint8_t __pad02b5[0x3]; // 0x2b5 public: // MPropertyFriendlyName "rigid rotation offset pitch/yaw/roll" - CPerParticleVecInput m_vecRotation; // 0x298 + CPerParticleVecInput m_vecRotation; // 0x2b8 // MPropertyFriendlyName "rigid rotation interpolation" - CPerParticleFloatInput m_flRotLerp; // 0x860 + CPerParticleFloatInput m_flRotLerp; // 0x8a0 }; // Alignment: 3 -// Size: 0x200 +// Size: 0x220 class C_OP_SnapshotRigidSkinToBones : public CParticleFunctionOperator { public: // MPropertyFriendlyName "rotate normals" - bool m_bTransformNormals; // 0x1f0 + bool m_bTransformNormals; // 0x210 // MPropertyFriendlyName "scale radii" - bool m_bTransformRadii; // 0x1f1 + bool m_bTransformRadii; // 0x211 private: - [[maybe_unused]] uint8_t __pad01f2[0x2]; // 0x1f2 + [[maybe_unused]] uint8_t __pad0212[0x2]; // 0x212 public: // MPropertyFriendlyName "control point number" - int32_t m_nControlPointNumber; // 0x1f4 + int32_t m_nControlPointNumber; // 0x214 }; // Alignment: 7 -// Size: 0x210 +// Size: 0x230 class C_OP_SnapshotSkinToBones : public CParticleFunctionOperator { public: // MPropertyFriendlyName "rotate normals" - bool m_bTransformNormals; // 0x1f0 + bool m_bTransformNormals; // 0x210 // MPropertyFriendlyName "scale radii" - bool m_bTransformRadii; // 0x1f1 + bool m_bTransformRadii; // 0x211 private: - [[maybe_unused]] uint8_t __pad01f2[0x2]; // 0x1f2 + [[maybe_unused]] uint8_t __pad0212[0x2]; // 0x212 public: // MPropertyFriendlyName "control point number" - int32_t m_nControlPointNumber; // 0x1f4 + int32_t m_nControlPointNumber; // 0x214 // MPropertyFriendlyName "lifetime fade start" - float m_flLifeTimeFadeStart; // 0x1f8 + float m_flLifeTimeFadeStart; // 0x218 // MPropertyFriendlyName "lifetime fade end" - float m_flLifeTimeFadeEnd; // 0x1fc + float m_flLifeTimeFadeEnd; // 0x21c // MPropertyFriendlyName "instant jump threshold" - float m_flJumpThreshold; // 0x200 + float m_flJumpThreshold; // 0x220 // MPropertyFriendlyName "previous position scale" - float m_flPrevPosScale; // 0x204 + float m_flPrevPosScale; // 0x224 }; // Alignment: 11 -// Size: 0x220 +// Size: 0x240 class C_OP_CPOffsetToPercentageBetweenCPs : public CParticleFunctionOperator { public: // MPropertyFriendlyName "percentage minimum" - float m_flInputMin; // 0x1f0 + float m_flInputMin; // 0x210 // MPropertyFriendlyName "percentage maximum" - float m_flInputMax; // 0x1f4 + float m_flInputMax; // 0x214 // MPropertyFriendlyName "percentage bias" - float m_flInputBias; // 0x1f8 + float m_flInputBias; // 0x218 // MPropertyFriendlyName "starting control point" - int32_t m_nStartCP; // 0x1fc + int32_t m_nStartCP; // 0x21c // MPropertyFriendlyName "ending control point" - int32_t m_nEndCP; // 0x200 + int32_t m_nEndCP; // 0x220 // MPropertyFriendlyName "offset control point" - int32_t m_nOffsetCP; // 0x204 + int32_t m_nOffsetCP; // 0x224 // MPropertyFriendlyName "output control point" - int32_t m_nOuputCP; // 0x208 + int32_t m_nOuputCP; // 0x228 // MPropertyFriendlyName "input control point" - int32_t m_nInputCP; // 0x20c + int32_t m_nInputCP; // 0x22c // MPropertyFriendlyName "treat distance between points as radius" - bool m_bRadialCheck; // 0x210 + bool m_bRadialCheck; // 0x230 // MPropertyFriendlyName "treat offset as scale of total distance" - bool m_bScaleOffset; // 0x211 + bool m_bScaleOffset; // 0x231 private: - [[maybe_unused]] uint8_t __pad0212[0x2]; // 0x212 + [[maybe_unused]] uint8_t __pad0232[0x2]; // 0x232 public: // MPropertyFriendlyName "offset amount" // MVectorIsCoordinate - Vector m_vecOffset; // 0x214 + Vector m_vecOffset; // 0x234 }; // Alignment: 4 -// Size: 0x210 +// Size: 0x230 class C_OP_PlaneCull : public CParticleFunctionOperator { public: // MPropertyFriendlyName "control point for point on plane" - int32_t m_nPlaneControlPoint; // 0x1f0 + int32_t m_nPlaneControlPoint; // 0x210 // MPropertyFriendlyName "plane normal" // MVectorIsCoordinate - Vector m_vecPlaneDirection; // 0x1f4 + Vector m_vecPlaneDirection; // 0x214 // MPropertyFriendlyName "use local space" - bool m_bLocalSpace; // 0x200 + bool m_bLocalSpace; // 0x220 private: - [[maybe_unused]] uint8_t __pad0201[0x3]; // 0x201 + [[maybe_unused]] uint8_t __pad0221[0x3]; // 0x221 public: // MPropertyFriendlyName "cull plane offset" - float m_flPlaneOffset; // 0x204 + float m_flPlaneOffset; // 0x224 }; // Alignment: 4 -// Size: 0x210 +// Size: 0x230 class C_OP_DistanceCull : public CParticleFunctionOperator { public: // MPropertyFriendlyName "control point" - int32_t m_nControlPoint; // 0x1f0 + int32_t m_nControlPoint; // 0x210 // MPropertyFriendlyName "control point offset" // MVectorIsCoordinate - Vector m_vecPointOffset; // 0x1f4 + Vector m_vecPointOffset; // 0x214 // MPropertyFriendlyName "cull distance" - float m_flDistance; // 0x200 + float m_flDistance; // 0x220 // MPropertyFriendlyName "cull inside instead of outside" - bool m_bCullInside; // 0x204 + bool m_bCullInside; // 0x224 }; // Alignment: 5 -// Size: 0x280 +// Size: 0x2a0 class C_OP_ModelCull : public CParticleFunctionOperator { public: // MPropertyFriendlyName "control point number" - int32_t m_nControlPointNumber; // 0x1f0 + int32_t m_nControlPointNumber; // 0x210 // MPropertyFriendlyName "use only bounding box" - bool m_bBoundBox; // 0x1f4 + bool m_bBoundBox; // 0x214 // MPropertyFriendlyName "cull outside instead of inside" - bool m_bCullOutside; // 0x1f5 + bool m_bCullOutside; // 0x215 // MPropertyFriendlyName "use bones instead of hitboxes" - bool m_bUseBones; // 0x1f6 + bool m_bUseBones; // 0x216 // MPropertyFriendlyName "hitbox set" - char m_HitboxSetName[128]; // 0x1f7 + char m_HitboxSetName[128]; // 0x217 }; // Alignment: 7 -// Size: 0x850 +// Size: 0x890 class C_OP_ModelDampenMovement : public CParticleFunctionOperator { public: // MPropertyFriendlyName "control point number" - int32_t m_nControlPointNumber; // 0x1f0 + int32_t m_nControlPointNumber; // 0x210 // MPropertyFriendlyName "use only bounding box" - bool m_bBoundBox; // 0x1f4 + bool m_bBoundBox; // 0x214 // MPropertyFriendlyName "dampen outside instead of inside" - bool m_bOutside; // 0x1f5 + bool m_bOutside; // 0x215 // MPropertyFriendlyName "use bones instead of hitboxes" - bool m_bUseBones; // 0x1f6 + bool m_bUseBones; // 0x216 // MPropertyFriendlyName "hitbox set" - char m_HitboxSetName[128]; // 0x1f7 + char m_HitboxSetName[128]; // 0x217 private: - [[maybe_unused]] uint8_t __pad0277[0x1]; // 0x277 + [[maybe_unused]] uint8_t __pad0297[0x1]; // 0x297 public: // MPropertyFriendlyName "test position offset" // MVectorIsCoordinate - CPerParticleVecInput m_vecPosOffset; // 0x278 + CPerParticleVecInput m_vecPosOffset; // 0x298 // MPropertyFriendlyName "drag" // MPropertyAttributeRange "-1 1" - float m_fDrag; // 0x840 + float m_fDrag; // 0x880 }; // Alignment: 8 -// Size: 0x210 +// Size: 0x230 class C_OP_SequenceFromModel : public CParticleFunctionOperator { public: // MPropertyFriendlyName "control point number" - int32_t m_nControlPointNumber; // 0x1f0 + int32_t m_nControlPointNumber; // 0x210 // MPropertyFriendlyName "output field" // MPropertyAttributeChoiceName "particlefield_scalar" - ParticleAttributeIndex_t m_nFieldOutput; // 0x1f4 + ParticleAttributeIndex_t m_nFieldOutput; // 0x214 // MPropertyFriendlyName "current anim time output field" // MPropertyAttributeChoiceName "particlefield_scalar" - ParticleAttributeIndex_t m_nFieldOutputAnim; // 0x1f8 + ParticleAttributeIndex_t m_nFieldOutputAnim; // 0x218 // MPropertyFriendlyName "input minimum" - float m_flInputMin; // 0x1fc + float m_flInputMin; // 0x21c // MPropertyFriendlyName "input maximum" - float m_flInputMax; // 0x200 + float m_flInputMax; // 0x220 // MPropertyFriendlyName "output minimum" - float m_flOutputMin; // 0x204 + float m_flOutputMin; // 0x224 // MPropertyFriendlyName "output maximum" - float m_flOutputMax; // 0x208 + float m_flOutputMax; // 0x228 // MPropertyFriendlyName "set value method" - ParticleSetMethod_t m_nSetMethod; // 0x20c + ParticleSetMethod_t m_nSetMethod; // 0x22c }; // Alignment: 3 -// Size: 0x200 +// Size: 0x220 class C_OP_VelocityMatchingForce : public CParticleFunctionOperator { public: // MPropertyFriendlyName "direction matching strength" - float m_flDirScale; // 0x1f0 + float m_flDirScale; // 0x210 // MPropertyFriendlyName "speed matching strength" - float m_flSpdScale; // 0x1f4 + float m_flSpdScale; // 0x214 // MPropertyFriendlyName "control point to broadcast speed and direction to" - int32_t m_nCPBroadcast; // 0x1f8 + int32_t m_nCPBroadcast; // 0x218 }; // Alignment: 3 -// Size: 0x210 +// Size: 0x230 class C_OP_MovementMaintainOffset : public CParticleFunctionOperator { public: // MPropertyFriendlyName "desired offset" // MVectorIsCoordinate - Vector m_vecOffset; // 0x1f0 + Vector m_vecOffset; // 0x210 // MPropertyFriendlyName "local space CP" - int32_t m_nCP; // 0x1fc + int32_t m_nCP; // 0x21c // MPropertyFriendlyName "scale by radius" - bool m_bRadiusScale; // 0x200 + bool m_bRadiusScale; // 0x220 }; // Alignment: 17 -// Size: 0x3f0 +// Size: 0x410 class C_OP_MovementPlaceOnGround : public CParticleFunctionOperator { public: // MPropertyFriendlyName "offset" - CPerParticleFloatInput m_flOffset; // 0x1f0 + CPerParticleFloatInput m_flOffset; // 0x210 // MPropertyFriendlyName "max trace length" - float m_flMaxTraceLength; // 0x328 + float m_flMaxTraceLength; // 0x350 // MPropertyFriendlyName "CP movement tolerance" - float m_flTolerance; // 0x32c + float m_flTolerance; // 0x354 // MPropertyFriendlyName "trace offset" - float m_flTraceOffset; // 0x330 + float m_flTraceOffset; // 0x358 // MPropertyFriendlyName "interpolation rate" - float m_flLerpRate; // 0x334 + float m_flLerpRate; // 0x35c // MPropertyFriendlyName "collision group" - char m_CollisionGroupName[128]; // 0x338 + char m_CollisionGroupName[128]; // 0x360 // MPropertyFriendlyName "Trace Set" - ParticleTraceSet_t m_nTraceSet; // 0x3b8 + ParticleTraceSet_t m_nTraceSet; // 0x3e0 // MPropertyFriendlyName "reference CP 1" - int32_t m_nRefCP1; // 0x3bc + int32_t m_nRefCP1; // 0x3e4 // MPropertyFriendlyName "reference CP 2" - int32_t m_nRefCP2; // 0x3c0 + int32_t m_nRefCP2; // 0x3e8 // MPropertyFriendlyName "interploation distance tolerance cp" - int32_t m_nLerpCP; // 0x3c4 + int32_t m_nLerpCP; // 0x3ec private: - [[maybe_unused]] uint8_t __pad03c8[0x8]; // 0x3c8 + [[maybe_unused]] uint8_t __pad03f0[0x8]; // 0x3f0 public: // MPropertyFriendlyName "No Collision Behavior" - ParticleTraceMissBehavior_t m_nTraceMissBehavior; // 0x3d0 + ParticleTraceMissBehavior_t m_nTraceMissBehavior; // 0x3f8 // MPropertyFriendlyName "include default contents trace hulls" - bool m_bIncludeShotHull; // 0x3d4 + bool m_bIncludeShotHull; // 0x3fc // MPropertyFriendlyName "include water" - bool m_bIncludeWater; // 0x3d5 + bool m_bIncludeWater; // 0x3fd private: - [[maybe_unused]] uint8_t __pad03d6[0x2]; // 0x3d6 + [[maybe_unused]] uint8_t __pad03fe[0x2]; // 0x3fe public: // MPropertyFriendlyName "set normal" - bool m_bSetNormal; // 0x3d8 + bool m_bSetNormal; // 0x400 // MPropertyFriendlyName "treat offset as scalar of particle radius" - bool m_bScaleOffset; // 0x3d9 + bool m_bScaleOffset; // 0x401 private: - [[maybe_unused]] uint8_t __pad03da[0x2]; // 0x3da + [[maybe_unused]] uint8_t __pad0402[0x2]; // 0x402 public: // MPropertyFriendlyName "preserve initial Z-offset relative to cp" - int32_t m_nPreserveOffsetCP; // 0x3dc + int32_t m_nPreserveOffsetCP; // 0x404 // MPropertyFriendlyName "CP Entity to Ignore for Collisions" - int32_t m_nIgnoreCP; // 0x3e0 + int32_t m_nIgnoreCP; // 0x408 }; // Alignment: 4 -// Size: 0x200 +// Size: 0x220 class C_OP_InheritFromParentParticles : public CParticleFunctionOperator { public: // MPropertyFriendlyName "scale" - float m_flScale; // 0x1f0 + float m_flScale; // 0x210 // MPropertyFriendlyName "inherited field" // MPropertyAttributeChoiceName "particlefield" - ParticleAttributeIndex_t m_nFieldOutput; // 0x1f4 + ParticleAttributeIndex_t m_nFieldOutput; // 0x214 // MPropertyFriendlyName "particle increment amount" - int32_t m_nIncrement; // 0x1f8 + int32_t m_nIncrement; // 0x218 // MPropertyFriendlyName "random parent particle distribution" - bool m_bRandomDistribution; // 0x1fc + bool m_bRandomDistribution; // 0x21c }; // Alignment: 5 -// Size: 0x210 +// Size: 0x230 class C_OP_InheritFromParentParticlesV2 : public CParticleFunctionOperator { public: // MPropertyFriendlyName "scale" - float m_flScale; // 0x1f0 + float m_flScale; // 0x210 // MPropertyFriendlyName "inherited field" // MPropertyAttributeChoiceName "particlefield" - ParticleAttributeIndex_t m_nFieldOutput; // 0x1f4 + ParticleAttributeIndex_t m_nFieldOutput; // 0x214 // MPropertyFriendlyName "particle increment amount" - int32_t m_nIncrement; // 0x1f8 + int32_t m_nIncrement; // 0x218 // MPropertyFriendlyName "random parent particle distribution" - bool m_bRandomDistribution; // 0x1fc + bool m_bRandomDistribution; // 0x21c private: - [[maybe_unused]] uint8_t __pad01fd[0x3]; // 0x1fd + [[maybe_unused]] uint8_t __pad021d[0x3]; // 0x21d public: // MPropertyFriendlyName "behavior if parent particle dies" - MissingParentInheritBehavior_t m_nMissingParentBehavior; // 0x200 + MissingParentInheritBehavior_t m_nMissingParentBehavior; // 0x220 }; // Alignment: 5 -// Size: 0x470 +// Size: 0x4a0 class C_OP_ReadFromNeighboringParticle : public CParticleFunctionOperator { public: // MPropertyFriendlyName "read field" // MPropertyAttributeChoiceName "particlefield" - ParticleAttributeIndex_t m_nFieldInput; // 0x1f0 + ParticleAttributeIndex_t m_nFieldInput; // 0x210 // MPropertyFriendlyName "written field" // MPropertyAttributeChoiceName "particlefield" - ParticleAttributeIndex_t m_nFieldOutput; // 0x1f4 + ParticleAttributeIndex_t m_nFieldOutput; // 0x214 // MPropertyFriendlyName "particle increment amount" - int32_t m_nIncrement; // 0x1f8 + int32_t m_nIncrement; // 0x218 private: - [[maybe_unused]] uint8_t __pad01fc[0x4]; // 0x1fc + [[maybe_unused]] uint8_t __pad021c[0x4]; // 0x21c public: // MPropertyFriendlyName "maximum distance" - CPerParticleFloatInput m_DistanceCheck; // 0x200 + CPerParticleFloatInput m_DistanceCheck; // 0x220 // MPropertyFriendlyName "Interpolation" - CPerParticleFloatInput m_flInterpolation; // 0x338 + CPerParticleFloatInput m_flInterpolation; // 0x360 }; // Alignment: 4 -// Size: 0x200 +// Size: 0x220 class C_OP_InheritFromPeerSystem : public CParticleFunctionOperator { public: // MPropertyFriendlyName "read field" // MPropertyAttributeChoiceName "particlefield" - ParticleAttributeIndex_t m_nFieldOutput; // 0x1f0 + ParticleAttributeIndex_t m_nFieldOutput; // 0x210 // MPropertyFriendlyName "written field" // MPropertyAttributeChoiceName "particlefield" - ParticleAttributeIndex_t m_nFieldInput; // 0x1f4 + ParticleAttributeIndex_t m_nFieldInput; // 0x214 // MPropertyFriendlyName "particle neighbor increment amount" - int32_t m_nIncrement; // 0x1f8 + int32_t m_nIncrement; // 0x218 // MPropertyFriendlyName "group id" - int32_t m_nGroupID; // 0x1fc + int32_t m_nGroupID; // 0x21c }; // Alignment: 3 -// Size: 0x200 +// Size: 0x220 class C_OP_RemapVectorComponentToScalar : public CParticleFunctionOperator { public: // MPropertyFriendlyName "Input Vector" // MPropertyAttributeChoiceName "particlefield_vector" - ParticleAttributeIndex_t m_nFieldInput; // 0x1f0 + ParticleAttributeIndex_t m_nFieldInput; // 0x210 // MPropertyFriendlyName "Output Scalar" // MPropertyAttributeChoiceName "particlefield_scalar" - ParticleAttributeIndex_t m_nFieldOutput; // 0x1f4 + ParticleAttributeIndex_t m_nFieldOutput; // 0x214 // MPropertyFriendlyName "Vector Component" // MPropertyAttributeChoiceName "vector_component" - int32_t m_nComponent; // 0x1f8 + int32_t m_nComponent; // 0x218 }; // Alignment: 3 -// Size: 0x200 +// Size: 0x220 class C_OP_OrientTo2dDirection : public CParticleFunctionOperator { public: // MPropertyFriendlyName "rotation offset" - float m_flRotOffset; // 0x1f0 + float m_flRotOffset; // 0x210 // MPropertyFriendlyName "spin strength" - float m_flSpinStrength; // 0x1f4 + float m_flSpinStrength; // 0x214 // MPropertyFriendlyName "rotation field" // MPropertyAttributeChoiceName "particlefield_rotation" - ParticleAttributeIndex_t m_nFieldOutput; // 0x1f8 + ParticleAttributeIndex_t m_nFieldOutput; // 0x218 }; // Alignment: 6 -// Size: 0x210 +// Size: 0x230 class C_OP_RestartAfterDuration : public CParticleFunctionOperator { public: // MPropertyFriendlyName "minimum restart time" - float m_flDurationMin; // 0x1f0 + float m_flDurationMin; // 0x210 // MPropertyFriendlyName "maximum restart time" - float m_flDurationMax; // 0x1f4 + float m_flDurationMax; // 0x214 // MPropertyFriendlyName "control point to scale duration" - int32_t m_nCP; // 0x1f8 + int32_t m_nCP; // 0x218 // MPropertyFriendlyName "control point field X/Y/Z" // MPropertyAttributeChoiceName "vector_component" - int32_t m_nCPField; // 0x1fc + int32_t m_nCPField; // 0x21c // MPropertyFriendlyName "child group ID" - int32_t m_nChildGroupID; // 0x200 + int32_t m_nChildGroupID; // 0x220 // MPropertyFriendlyName "only restart children" - bool m_bOnlyChildren; // 0x204 + bool m_bOnlyChildren; // 0x224 }; // Alignment: 4 -// Size: 0x200 +// Size: 0x220 class C_OP_Orient2DRelToCP : public CParticleFunctionOperator { public: // MPropertyFriendlyName "rotation offset" - float m_flRotOffset; // 0x1f0 + float m_flRotOffset; // 0x210 // MPropertyFriendlyName "spin strength" - float m_flSpinStrength; // 0x1f4 + float m_flSpinStrength; // 0x214 // MPropertyFriendlyName "control point" - int32_t m_nCP; // 0x1f8 + int32_t m_nCP; // 0x218 // MPropertyFriendlyName "rotation field" // MPropertyAttributeChoiceName "particlefield_rotation" - ParticleAttributeIndex_t m_nFieldOutput; // 0x1fc + ParticleAttributeIndex_t m_nFieldOutput; // 0x21c }; // Alignment: 4 -// Size: 0x950 +// Size: 0x990 class C_OP_MovementRotateParticleAroundAxis : public CParticleFunctionOperator { public: // MPropertyFriendlyName "rotation axis" // MVectorIsCoordinate - CParticleCollectionVecInput m_vecRotAxis; // 0x1f0 + CParticleCollectionVecInput m_vecRotAxis; // 0x210 // MPropertyFriendlyName "rotation rate" - CParticleCollectionFloatInput m_flRotRate; // 0x7b8 + CParticleCollectionFloatInput m_flRotRate; // 0x7f8 // MPropertyFriendlyName "transform input" - CParticleTransformInput m_TransformInput; // 0x8f0 + CParticleTransformInput m_TransformInput; // 0x938 // MPropertyFriendlyName "use local space" - bool m_bLocalSpace; // 0x940 + bool m_bLocalSpace; // 0x988 }; // Alignment: 7 -// Size: 0x350 +// Size: 0x380 class C_OP_RotateVector : public CParticleFunctionOperator { public: // MPropertyFriendlyName "output field" // MPropertyAttributeChoiceName "particlefield_vector" - ParticleAttributeIndex_t m_nFieldOutput; // 0x1f0 + ParticleAttributeIndex_t m_nFieldOutput; // 0x210 // MPropertyFriendlyName "rotation axis min" // MVectorIsCoordinate - Vector m_vecRotAxisMin; // 0x1f4 + Vector m_vecRotAxisMin; // 0x214 // MPropertyFriendlyName "rotation axis max" // MVectorIsCoordinate - Vector m_vecRotAxisMax; // 0x200 + Vector m_vecRotAxisMax; // 0x220 // MPropertyFriendlyName "rotation rate min" - float m_flRotRateMin; // 0x20c + float m_flRotRateMin; // 0x22c // MPropertyFriendlyName "rotation rate max" - float m_flRotRateMax; // 0x210 + float m_flRotRateMax; // 0x230 // MPropertyFriendlyName "normalize output" - bool m_bNormalize; // 0x214 + bool m_bNormalize; // 0x234 private: - [[maybe_unused]] uint8_t __pad0215[0x3]; // 0x215 + [[maybe_unused]] uint8_t __pad0235[0x3]; // 0x235 public: // MPropertyFriendlyName "per particle scale" - CPerParticleFloatInput m_flScale; // 0x218 + CPerParticleFloatInput m_flScale; // 0x238 }; // Alignment: 3 -// Size: 0x200 +// Size: 0x220 class C_OP_MaxVelocity : public CParticleFunctionOperator { public: // MPropertyFriendlyName "maximum velocity" - float m_flMaxVelocity; // 0x1f0 + float m_flMaxVelocity; // 0x210 // MPropertyFriendlyName "override max velocity from this CP" - int32_t m_nOverrideCP; // 0x1f4 + int32_t m_nOverrideCP; // 0x214 // MPropertyFriendlyName "override CP field" - int32_t m_nOverrideCPField; // 0x1f8 + int32_t m_nOverrideCPField; // 0x218 }; // Alignment: 4 -// Size: 0x200 +// Size: 0x220 class C_OP_LagCompensation : public CParticleFunctionOperator { public: // MPropertyFriendlyName "desired velocity CP" - int32_t m_nDesiredVelocityCP; // 0x1f0 + int32_t m_nDesiredVelocityCP; // 0x210 // MPropertyFriendlyName "latency CP" - int32_t m_nLatencyCP; // 0x1f4 + int32_t m_nLatencyCP; // 0x214 // MPropertyFriendlyName "latency CP field" - int32_t m_nLatencyCPField; // 0x1f8 + int32_t m_nLatencyCPField; // 0x218 // MPropertyFriendlyName "desired velocity CP field override(for speed only)" - int32_t m_nDesiredVelocityCPField; // 0x1fc + int32_t m_nDesiredVelocityCPField; // 0x21c }; // Alignment: 7 -// Size: 0x250 +// Size: 0x270 class C_OP_MaintainSequentialPath : public CParticleFunctionOperator { public: // MPropertyFriendlyName "maximum distance" - float m_fMaxDistance; // 0x1f0 + float m_fMaxDistance; // 0x210 // MPropertyFriendlyName "particles to map from start to end" - float m_flNumToAssign; // 0x1f4 + float m_flNumToAssign; // 0x214 // MPropertyFriendlyName "cohesion strength" - float m_flCohesionStrength; // 0x1f8 + float m_flCohesionStrength; // 0x218 // MPropertyFriendlyName "control point movement tolerance" - float m_flTolerance; // 0x1fc + float m_flTolerance; // 0x21c // MPropertyFriendlyName "restart behavior (0 = bounce, 1 = loop )" - bool m_bLoop; // 0x200 + bool m_bLoop; // 0x220 // MPropertyFriendlyName "use existing particle count" - bool m_bUseParticleCount; // 0x201 + bool m_bUseParticleCount; // 0x221 private: - [[maybe_unused]] uint8_t __pad0202[0xe]; // 0x202 + [[maybe_unused]] uint8_t __pad0222[0xe]; // 0x222 public: - CPathParameters m_PathParams; // 0x210 + CPathParameters m_PathParams; // 0x230 }; // Alignment: 4 -// Size: 0x240 +// Size: 0x260 class C_OP_LockToSavedSequentialPathV2 : public CParticleFunctionOperator { public: // MPropertyFriendlyName "start fade time" - float m_flFadeStart; // 0x1f0 + float m_flFadeStart; // 0x210 // MPropertyFriendlyName "end fade time" - float m_flFadeEnd; // 0x1f4 + float m_flFadeEnd; // 0x214 // MPropertyFriendlyName "Use sequential CP pairs between start and end point" - bool m_bCPPairs; // 0x1f8 + bool m_bCPPairs; // 0x218 private: - [[maybe_unused]] uint8_t __pad01f9[0x7]; // 0x1f9 + [[maybe_unused]] uint8_t __pad0219[0x7]; // 0x219 public: - CPathParameters m_PathParams; // 0x200 + CPathParameters m_PathParams; // 0x220 }; // Alignment: 4 -// Size: 0x240 +// Size: 0x260 class C_OP_LockToSavedSequentialPath : public CParticleFunctionOperator { private: - [[maybe_unused]] uint8_t __pad01f0[0x4]; // 0x1f0 + [[maybe_unused]] uint8_t __pad0210[0x4]; // 0x210 public: // MPropertyFriendlyName "start fade time" - float m_flFadeStart; // 0x1f4 + float m_flFadeStart; // 0x214 // MPropertyFriendlyName "end fade time" - float m_flFadeEnd; // 0x1f8 + float m_flFadeEnd; // 0x218 // MPropertyFriendlyName "Use sequential CP pairs between start and end point" - bool m_bCPPairs; // 0x1fc + bool m_bCPPairs; // 0x21c private: - [[maybe_unused]] uint8_t __pad01fd[0x3]; // 0x1fd + [[maybe_unused]] uint8_t __pad021d[0x3]; // 0x21d public: - CPathParameters m_PathParams; // 0x200 + CPathParameters m_PathParams; // 0x220 }; // Alignment: 11 -// Size: 0x220 +// Size: 0x240 class C_OP_RemapDotProductToScalar : public CParticleFunctionOperator { public: // MPropertyFriendlyName "first input control point" - int32_t m_nInputCP1; // 0x1f0 + int32_t m_nInputCP1; // 0x210 // MPropertyFriendlyName "second input control point" - int32_t m_nInputCP2; // 0x1f4 + int32_t m_nInputCP2; // 0x214 // MPropertyFriendlyName "output field" // MPropertyAttributeChoiceName "particlefield_scalar" - ParticleAttributeIndex_t m_nFieldOutput; // 0x1f8 + ParticleAttributeIndex_t m_nFieldOutput; // 0x218 // MPropertyFriendlyName "input minimum (-1 to 1)" - float m_flInputMin; // 0x1fc + float m_flInputMin; // 0x21c // MPropertyFriendlyName "input maximum (-1 to 1)" - float m_flInputMax; // 0x200 + float m_flInputMax; // 0x220 // MPropertyFriendlyName "output minimum" - float m_flOutputMin; // 0x204 + float m_flOutputMin; // 0x224 // MPropertyFriendlyName "output maximum" - float m_flOutputMax; // 0x208 + float m_flOutputMax; // 0x228 // MPropertyFriendlyName "use particle velocity for first input" - bool m_bUseParticleVelocity; // 0x20c + bool m_bUseParticleVelocity; // 0x22c private: - [[maybe_unused]] uint8_t __pad020d[0x3]; // 0x20d + [[maybe_unused]] uint8_t __pad022d[0x3]; // 0x22d public: // MPropertyFriendlyName "set value method" - ParticleSetMethod_t m_nSetMethod; // 0x210 + ParticleSetMethod_t m_nSetMethod; // 0x230 // MPropertyFriendlyName "only active within specified input range" - bool m_bActiveRange; // 0x214 + bool m_bActiveRange; // 0x234 // MPropertyFriendlyName "use particle normal for first input" - bool m_bUseParticleNormal; // 0x215 + bool m_bUseParticleNormal; // 0x235 }; // Alignment: 11 -// Size: 0x220 +// Size: 0x240 class C_OP_RemapCPtoScalar : public CParticleFunctionOperator { public: // MPropertyFriendlyName "input control point number" - int32_t m_nCPInput; // 0x1f0 + int32_t m_nCPInput; // 0x210 // MPropertyFriendlyName "output field" // MPropertyAttributeChoiceName "particlefield_scalar" - ParticleAttributeIndex_t m_nFieldOutput; // 0x1f4 + ParticleAttributeIndex_t m_nFieldOutput; // 0x214 // MPropertyFriendlyName "input field 0-2 X/Y/Z" // MPropertyAttributeChoiceName "vector_component" - int32_t m_nField; // 0x1f8 + int32_t m_nField; // 0x218 // MPropertyFriendlyName "input minimum" - float m_flInputMin; // 0x1fc + float m_flInputMin; // 0x21c // MPropertyFriendlyName "input maximum" - float m_flInputMax; // 0x200 + float m_flInputMax; // 0x220 // MPropertyFriendlyName "output minimum" - float m_flOutputMin; // 0x204 + float m_flOutputMin; // 0x224 // MPropertyFriendlyName "output maximum" - float m_flOutputMax; // 0x208 - // MPropertyFriendlyName "emitter lifetime start time (seconds)" - float m_flStartTime; // 0x20c - // MPropertyFriendlyName "emitter lifetime end time (seconds)" - float m_flEndTime; // 0x210 - // MPropertyFriendlyName "interpolation scale" - float m_flInterpRate; // 0x214 - // MPropertyFriendlyName "set value method" - ParticleSetMethod_t m_nSetMethod; // 0x218 -}; - -// Alignment: 1 -// Size: 0x200 -class C_OP_NormalLock : public CParticleFunctionOperator -{ -public: - // MPropertyFriendlyName "control point number" - int32_t m_nControlPointNumber; // 0x1f0 -}; - -// Alignment: 13 -// Size: 0x240 -class C_OP_RemapCPtoVector : public CParticleFunctionOperator -{ -public: - // MPropertyFriendlyName "input control point number" - int32_t m_nCPInput; // 0x1f0 - // MPropertyFriendlyName "output field" - // MPropertyAttributeChoiceName "particlefield_vector" - ParticleAttributeIndex_t m_nFieldOutput; // 0x1f4 - // MPropertyFriendlyName "local space CP" - int32_t m_nLocalSpaceCP; // 0x1f8 - // MPropertyFriendlyName "input minimum" - // MVectorIsSometimesCoordinate - Vector m_vInputMin; // 0x1fc - // MPropertyFriendlyName "input maximum" - // MVectorIsSometimesCoordinate - Vector m_vInputMax; // 0x208 - // MPropertyFriendlyName "output minimum" - // MVectorIsSometimesCoordinate - Vector m_vOutputMin; // 0x214 - // MPropertyFriendlyName "output maximum" - // MVectorIsSometimesCoordinate - Vector m_vOutputMax; // 0x220 + float m_flOutputMax; // 0x228 // MPropertyFriendlyName "emitter lifetime start time (seconds)" float m_flStartTime; // 0x22c // MPropertyFriendlyName "emitter lifetime end time (seconds)" @@ -7642,259 +8407,302 @@ public: float m_flInterpRate; // 0x234 // MPropertyFriendlyName "set value method" ParticleSetMethod_t m_nSetMethod; // 0x238 +}; + +// Alignment: 1 +// Size: 0x220 +class C_OP_NormalLock : public CParticleFunctionOperator +{ +public: + // MPropertyFriendlyName "control point number" + int32_t m_nControlPointNumber; // 0x210 +}; + +// Alignment: 13 +// Size: 0x260 +class C_OP_RemapCPtoVector : public CParticleFunctionOperator +{ +public: + // MPropertyFriendlyName "input control point number" + int32_t m_nCPInput; // 0x210 + // MPropertyFriendlyName "output field" + // MPropertyAttributeChoiceName "particlefield_vector" + ParticleAttributeIndex_t m_nFieldOutput; // 0x214 + // MPropertyFriendlyName "local space CP" + int32_t m_nLocalSpaceCP; // 0x218 + // MPropertyFriendlyName "input minimum" + // MVectorIsSometimesCoordinate + Vector m_vInputMin; // 0x21c + // MPropertyFriendlyName "input maximum" + // MVectorIsSometimesCoordinate + Vector m_vInputMax; // 0x228 + // MPropertyFriendlyName "output minimum" + // MVectorIsSometimesCoordinate + Vector m_vOutputMin; // 0x234 + // MPropertyFriendlyName "output maximum" + // MVectorIsSometimesCoordinate + Vector m_vOutputMax; // 0x240 + // MPropertyFriendlyName "emitter lifetime start time (seconds)" + float m_flStartTime; // 0x24c + // MPropertyFriendlyName "emitter lifetime end time (seconds)" + float m_flEndTime; // 0x250 + // MPropertyFriendlyName "interpolation scale" + float m_flInterpRate; // 0x254 + // MPropertyFriendlyName "set value method" + ParticleSetMethod_t m_nSetMethod; // 0x258 // MPropertyFriendlyName "offset position" - bool m_bOffset; // 0x23c + bool m_bOffset; // 0x25c // MPropertyFriendlyName "accelerate position" - bool m_bAccelerate; // 0x23d + bool m_bAccelerate; // 0x25d }; // Alignment: 2 -// Size: 0x200 +// Size: 0x220 class C_OP_SetCPtoVector : public CParticleFunctionOperator { public: // MPropertyFriendlyName "input control point number" - int32_t m_nCPInput; // 0x1f0 + int32_t m_nCPInput; // 0x210 // MPropertyFriendlyName "output field" // MPropertyAttributeChoiceName "particlefield_vector" - ParticleAttributeIndex_t m_nFieldOutput; // 0x1f4 + ParticleAttributeIndex_t m_nFieldOutput; // 0x214 }; // Alignment: 1 -// Size: 0x240 +// Size: 0x260 class C_OP_RemapTransformToVelocity : public CParticleFunctionOperator { public: // MPropertyFriendlyName "transform input" - CParticleTransformInput m_TransformInput; // 0x1f0 + CParticleTransformInput m_TransformInput; // 0x210 }; // Alignment: 3 -// Size: 0x200 +// Size: 0x220 class C_OP_RemapVelocityToVector : public CParticleFunctionOperator { public: // MPropertyFriendlyName "output field" // MPropertyAttributeChoiceName "particlefield_vector" - ParticleAttributeIndex_t m_nFieldOutput; // 0x1f0 + ParticleAttributeIndex_t m_nFieldOutput; // 0x210 // MPropertyFriendlyName "scale factor" - float m_flScale; // 0x1f4 + float m_flScale; // 0x214 // MPropertyFriendlyName "normalize" - bool m_bNormalize; // 0x1f8 + bool m_bNormalize; // 0x218 }; // Alignment: 4 -// Size: 0x200 +// Size: 0x220 class C_OP_RemapCPVelocityToVector : public CParticleFunctionOperator { public: // MPropertyFriendlyName "control point" - int32_t m_nControlPoint; // 0x1f0 + int32_t m_nControlPoint; // 0x210 // MPropertyFriendlyName "output field" // MPropertyAttributeChoiceName "particlefield_vector" - ParticleAttributeIndex_t m_nFieldOutput; // 0x1f4 + ParticleAttributeIndex_t m_nFieldOutput; // 0x214 // MPropertyFriendlyName "scale factor" - float m_flScale; // 0x1f8 + float m_flScale; // 0x218 // MPropertyFriendlyName "normalize" - bool m_bNormalize; // 0x1fc + bool m_bNormalize; // 0x21c }; // Alignment: 2 -// Size: 0x200 +// Size: 0x220 class C_OP_SetCPOrientationToDirection : public CParticleFunctionOperator { public: // MPropertyFriendlyName "input control point" - int32_t m_nInputControlPoint; // 0x1f0 + int32_t m_nInputControlPoint; // 0x210 // MPropertyFriendlyName "output control point" - int32_t m_nOutputControlPoint; // 0x1f4 + int32_t m_nOutputControlPoint; // 0x214 }; // Alignment: 7 -// Size: 0x220 +// Size: 0x240 class C_OP_RemapDirectionToCPToVector : public CParticleFunctionOperator { public: // MPropertyFriendlyName "control point" - int32_t m_nCP; // 0x1f0 + int32_t m_nCP; // 0x210 // MPropertyFriendlyName "output field" // MPropertyAttributeChoiceName "particlefield_vector" - ParticleAttributeIndex_t m_nFieldOutput; // 0x1f4 + ParticleAttributeIndex_t m_nFieldOutput; // 0x214 // MPropertyFriendlyName "scale factor" - float m_flScale; // 0x1f8 + float m_flScale; // 0x218 // MPropertyFriendlyName "offset rotation" - float m_flOffsetRot; // 0x1fc + float m_flOffsetRot; // 0x21c // MPropertyFriendlyName "offset axis" // MVectorIsCoordinate - Vector m_vecOffsetAxis; // 0x200 + Vector m_vecOffsetAxis; // 0x220 // MPropertyFriendlyName "normalize" - bool m_bNormalize; // 0x20c + bool m_bNormalize; // 0x22c private: - [[maybe_unused]] uint8_t __pad020d[0x3]; // 0x20d + [[maybe_unused]] uint8_t __pad022d[0x3]; // 0x22d public: // MPropertyFriendlyName "strength field" // MPropertyAttributeChoiceName "particlefield_scalar" - ParticleAttributeIndex_t m_nFieldStrength; // 0x210 + ParticleAttributeIndex_t m_nFieldStrength; // 0x230 }; // Alignment: 4 -// Size: 0xd90 +// Size: 0xdf0 class C_OP_RemapCrossProductOfTwoVectorsToVector : public CParticleFunctionOperator { public: // MPropertyFriendlyName "input vector 1" - CPerParticleVecInput m_InputVec1; // 0x1f0 + CPerParticleVecInput m_InputVec1; // 0x210 // MPropertyFriendlyName "input vector 2" - CPerParticleVecInput m_InputVec2; // 0x7b8 + CPerParticleVecInput m_InputVec2; // 0x7f8 // MPropertyFriendlyName "output field" // MPropertyAttributeChoiceName "particlefield_vector" - ParticleAttributeIndex_t m_nFieldOutput; // 0xd80 + ParticleAttributeIndex_t m_nFieldOutput; // 0xde0 // MPropertyFriendlyName "normalize output" - bool m_bNormalize; // 0xd84 + bool m_bNormalize; // 0xde4 }; // Alignment: 2 -// Size: 0x200 +// Size: 0x220 class C_OP_NormalizeVector : public CParticleFunctionOperator { public: // MPropertyFriendlyName "output field" // MPropertyAttributeChoiceName "particlefield_vector" - ParticleAttributeIndex_t m_nFieldOutput; // 0x1f0 + ParticleAttributeIndex_t m_nFieldOutput; // 0x210 // MPropertyFriendlyName "scale factor" - float m_flScale; // 0x1f4 + float m_flScale; // 0x214 }; // Alignment: 3 -// Size: 0x200 +// Size: 0x220 class C_OP_RemapControlPointDirectionToVector : public CParticleFunctionOperator { public: // MPropertyFriendlyName "output field" // MPropertyAttributeChoiceName "particlefield_vector" - ParticleAttributeIndex_t m_nFieldOutput; // 0x1f0 + ParticleAttributeIndex_t m_nFieldOutput; // 0x210 // MPropertyFriendlyName "scale factor" - float m_flScale; // 0x1f4 + float m_flScale; // 0x214 // MPropertyFriendlyName "control point number" - int32_t m_nControlPointNumber; // 0x1f8 + int32_t m_nControlPointNumber; // 0x218 }; // Alignment: 9 -// Size: 0x2a0 +// Size: 0x2c0 class C_OP_SetCPOrientationToGroundNormal : public CParticleFunctionOperator { public: // MPropertyFriendlyName "interpolation rate" - float m_flInterpRate; // 0x1f0 + float m_flInterpRate; // 0x210 // MPropertyFriendlyName "max trace length" - float m_flMaxTraceLength; // 0x1f4 + float m_flMaxTraceLength; // 0x214 // MPropertyFriendlyName "CP movement tolerance" - float m_flTolerance; // 0x1f8 + float m_flTolerance; // 0x218 // MPropertyFriendlyName "trace offset" - float m_flTraceOffset; // 0x1fc + float m_flTraceOffset; // 0x21c // MPropertyFriendlyName "collision group" - char m_CollisionGroupName[128]; // 0x200 + char m_CollisionGroupName[128]; // 0x220 // MPropertyFriendlyName "Trace Set" - ParticleTraceSet_t m_nTraceSet; // 0x280 + ParticleTraceSet_t m_nTraceSet; // 0x2a0 // MPropertyFriendlyName "CP to trace from" - int32_t m_nInputCP; // 0x284 + int32_t m_nInputCP; // 0x2a4 // MPropertyFriendlyName "CP to set" - int32_t m_nOutputCP; // 0x288 + int32_t m_nOutputCP; // 0x2a8 private: - [[maybe_unused]] uint8_t __pad028c[0xc]; // 0x28c + [[maybe_unused]] uint8_t __pad02ac[0xc]; // 0x2ac public: // MPropertyFriendlyName "include water" - bool m_bIncludeWater; // 0x298 + bool m_bIncludeWater; // 0x2b8 }; // Alignment: 4 -// Size: 0x250 +// Size: 0x270 class C_OP_RemapTransformOrientationToRotations : public CParticleFunctionOperator { public: // MPropertyFriendlyName "transform input" - CParticleTransformInput m_TransformInput; // 0x1f0 + CParticleTransformInput m_TransformInput; // 0x210 // MPropertyFriendlyName "offset pitch/yaw/roll" - Vector m_vecRotation; // 0x240 + Vector m_vecRotation; // 0x260 // MPropertyFriendlyName "Use Quaternians Internally" - bool m_bUseQuat; // 0x24c + bool m_bUseQuat; // 0x26c // MPropertyFriendlyName "Write normal instead of rotation" - bool m_bWriteNormal; // 0x24d + bool m_bWriteNormal; // 0x26d }; // Alignment: 4 -// Size: 0x200 +// Size: 0x220 class C_OP_RemapControlPointOrientationToRotation : public CParticleFunctionOperator { public: // MPropertyFriendlyName "control point" - int32_t m_nCP; // 0x1f0 + int32_t m_nCP; // 0x210 // MPropertyFriendlyName "rotation field" // MPropertyAttributeChoiceName "particlefield_rotation" - ParticleAttributeIndex_t m_nFieldOutput; // 0x1f4 + ParticleAttributeIndex_t m_nFieldOutput; // 0x214 // MPropertyFriendlyName "offset rotation" - float m_flOffsetRot; // 0x1f8 + float m_flOffsetRot; // 0x218 // MPropertyFriendlyName "control point axis" // MPropertyAttributeChoiceName "vector_component" // MVectorIsSometimesCoordinate - int32_t m_nComponent; // 0x1fc + int32_t m_nComponent; // 0x21c }; // Alignment: 5 -// Size: 0x220 +// Size: 0x240 class C_OP_LockToPointList : public CParticleFunctionOperator { public: // MPropertyFriendlyName "output field" // MPropertyAttributeChoiceName "particlefield_vector" - ParticleAttributeIndex_t m_nFieldOutput; // 0x1f0 + ParticleAttributeIndex_t m_nFieldOutput; // 0x210 private: - [[maybe_unused]] uint8_t __pad01f4[0x4]; // 0x1f4 + [[maybe_unused]] uint8_t __pad0214[0x4]; // 0x214 public: // MPropertyFriendlyName "point list" - CUtlVector< PointDefinition_t > m_pointList; // 0x1f8 + CUtlVector< PointDefinition_t > m_pointList; // 0x218 // MPropertyFriendlyName "space points along path" - bool m_bPlaceAlongPath; // 0x210 + bool m_bPlaceAlongPath; // 0x230 // MPropertyFriendlyName "Treat path as a loop" - bool m_bClosedLoop; // 0x211 + bool m_bClosedLoop; // 0x231 private: - [[maybe_unused]] uint8_t __pad0212[0x2]; // 0x212 + [[maybe_unused]] uint8_t __pad0232[0x2]; // 0x232 public: // MPropertyFriendlyName "Numer of points along path" - int32_t m_nNumPointsAlongPath; // 0x214 + int32_t m_nNumPointsAlongPath; // 0x234 }; // Alignment: 9 -// Size: 0x250 +// Size: 0x270 class C_OP_RemapNamedModelElementOnceTimed : public CParticleFunctionOperator { public: - CStrongHandle< InfoForResourceTypeCModel > m_hModel; // 0x1f0 + CStrongHandle< InfoForResourceTypeCModel > m_hModel; // 0x210 // MPropertyFriendlyName "input names" - CUtlVector< CUtlString > m_inNames; // 0x1f8 + CUtlVector< CUtlString > m_inNames; // 0x218 // MPropertyFriendlyName "output names" - CUtlVector< CUtlString > m_outNames; // 0x210 + CUtlVector< CUtlString > m_outNames; // 0x230 // MPropertyFriendlyName "fallback names when the input doesn't match" - CUtlVector< CUtlString > m_fallbackNames; // 0x228 + CUtlVector< CUtlString > m_fallbackNames; // 0x248 // MPropertyFriendlyName "model from renderer" - bool m_bModelFromRenderer; // 0x240 + bool m_bModelFromRenderer; // 0x260 // MPropertyFriendlyName "remap time proportional" - bool m_bProportional; // 0x241 + bool m_bProportional; // 0x261 private: - [[maybe_unused]] uint8_t __pad0242[0x2]; // 0x242 + [[maybe_unused]] uint8_t __pad0262[0x2]; // 0x262 public: // MPropertyFriendlyName "input field" // MPropertyAttributeChoiceName "particlefield_scalar" - ParticleAttributeIndex_t m_nFieldInput; // 0x244 + ParticleAttributeIndex_t m_nFieldInput; // 0x264 // MPropertyFriendlyName "output field" // MPropertyAttributeChoiceName "particlefield_scalar" - ParticleAttributeIndex_t m_nFieldOutput; // 0x248 + ParticleAttributeIndex_t m_nFieldOutput; // 0x268 // MPropertyFriendlyName "remap time" - float m_flRemapTime; // 0x24c + float m_flRemapTime; // 0x26c }; // Alignment: 0 -// Size: 0x250 +// Size: 0x270 class C_OP_RemapNamedModelSequenceOnceTimed : public C_OP_RemapNamedModelElementOnceTimed { public: @@ -7902,7 +8710,7 @@ public: }; // Alignment: 0 -// Size: 0x250 +// Size: 0x270 class C_OP_RemapNamedModelBodyPartOnceTimed : public C_OP_RemapNamedModelElementOnceTimed { public: @@ -7910,7 +8718,7 @@ public: }; // Alignment: 0 -// Size: 0x250 +// Size: 0x270 class C_OP_RemapNamedModelMeshGroupOnceTimed : public C_OP_RemapNamedModelElementOnceTimed { public: @@ -7918,32 +8726,32 @@ public: }; // Alignment: 7 -// Size: 0x250 +// Size: 0x270 class C_OP_RemapNamedModelElementEndCap : public CParticleFunctionOperator { public: - CStrongHandle< InfoForResourceTypeCModel > m_hModel; // 0x1f0 + CStrongHandle< InfoForResourceTypeCModel > m_hModel; // 0x210 // MPropertyFriendlyName "input names" - CUtlVector< CUtlString > m_inNames; // 0x1f8 + CUtlVector< CUtlString > m_inNames; // 0x218 // MPropertyFriendlyName "output names" - CUtlVector< CUtlString > m_outNames; // 0x210 + CUtlVector< CUtlString > m_outNames; // 0x230 // MPropertyFriendlyName "fallback names when the input doesn't match" - CUtlVector< CUtlString > m_fallbackNames; // 0x228 + CUtlVector< CUtlString > m_fallbackNames; // 0x248 // MPropertyFriendlyName "model from renderer" - bool m_bModelFromRenderer; // 0x240 + bool m_bModelFromRenderer; // 0x260 private: - [[maybe_unused]] uint8_t __pad0241[0x3]; // 0x241 + [[maybe_unused]] uint8_t __pad0261[0x3]; // 0x261 public: // MPropertyFriendlyName "input field" // MPropertyAttributeChoiceName "particlefield_scalar" - ParticleAttributeIndex_t m_nFieldInput; // 0x244 + ParticleAttributeIndex_t m_nFieldInput; // 0x264 // MPropertyFriendlyName "output field" // MPropertyAttributeChoiceName "particlefield_scalar" - ParticleAttributeIndex_t m_nFieldOutput; // 0x248 + ParticleAttributeIndex_t m_nFieldOutput; // 0x268 }; // Alignment: 0 -// Size: 0x250 +// Size: 0x270 class C_OP_RemapNamedModelSequenceEndCap : public C_OP_RemapNamedModelElementEndCap { public: @@ -7951,7 +8759,7 @@ public: }; // Alignment: 0 -// Size: 0x250 +// Size: 0x270 class C_OP_RemapNamedModelBodyPartEndCap : public C_OP_RemapNamedModelElementEndCap { public: @@ -7959,7 +8767,7 @@ public: }; // Alignment: 0 -// Size: 0x250 +// Size: 0x270 class C_OP_RemapNamedModelMeshGroupEndCap : public C_OP_RemapNamedModelElementEndCap { public: @@ -7967,2165 +8775,2193 @@ public: }; // Alignment: 11 -// Size: 0x5c0 +// Size: 0x5f0 class C_OP_SetFromCPSnapshot : public CParticleFunctionOperator { public: // MPropertyFriendlyName "snapshot control point number" - int32_t m_nControlPointNumber; // 0x1f0 + int32_t m_nControlPointNumber; // 0x210 // MPropertyFriendlyName "field to read" // MPropertyAttributeChoiceName "particlefield" - ParticleAttributeIndex_t m_nAttributeToRead; // 0x1f4 + ParticleAttributeIndex_t m_nAttributeToRead; // 0x214 // MPropertyFriendlyName "field to write" // MPropertyAttributeChoiceName "particlefield" - ParticleAttributeIndex_t m_nAttributeToWrite; // 0x1f8 + ParticleAttributeIndex_t m_nAttributeToWrite; // 0x218 // MPropertyFriendlyName "local space control point number" - int32_t m_nLocalSpaceCP; // 0x1fc + int32_t m_nLocalSpaceCP; // 0x21c // MPropertyFriendlyName "random order" - bool m_bRandom; // 0x200 + bool m_bRandom; // 0x220 // MPropertyFriendlyName "reverse order" - bool m_bReverse; // 0x201 + bool m_bReverse; // 0x221 private: - [[maybe_unused]] uint8_t __pad0202[0x2]; // 0x202 + [[maybe_unused]] uint8_t __pad0222[0x2]; // 0x222 public: // MPropertyFriendlyName "random seed" - int32_t m_nRandomSeed; // 0x204 + int32_t m_nRandomSeed; // 0x224 // MPropertyFriendlyName "Snapshot start point" - CParticleCollectionFloatInput m_nSnapShotStartPoint; // 0x208 + CParticleCollectionFloatInput m_nSnapShotStartPoint; // 0x228 // MPropertyFriendlyName "Snapshot increment amount" - CParticleCollectionFloatInput m_nSnapShotIncrement; // 0x340 + CParticleCollectionFloatInput m_nSnapShotIncrement; // 0x368 // MPropertyFriendlyName "Interpolation" - CPerParticleFloatInput m_flInterpolation; // 0x478 + CPerParticleFloatInput m_flInterpolation; // 0x4a8 // MPropertyFriendlyName "Sub-Sample Between Input Points" - bool m_bSubSample; // 0x5b0 + bool m_bSubSample; // 0x5e8 }; // Alignment: 9 -// Size: 0x910 +// Size: 0x960 class C_OP_VectorFieldSnapshot : public CParticleFunctionOperator { public: // MPropertyFriendlyName "snapshot control point number" - int32_t m_nControlPointNumber; // 0x1f0 + int32_t m_nControlPointNumber; // 0x210 // MPropertyFriendlyName "extra velocity field to write" // MPropertyAttributeChoiceName "particlefield" - ParticleAttributeIndex_t m_nAttributeToWrite; // 0x1f4 + ParticleAttributeIndex_t m_nAttributeToWrite; // 0x214 // MPropertyFriendlyName "local space control point number" - int32_t m_nLocalSpaceCP; // 0x1f8 + int32_t m_nLocalSpaceCP; // 0x218 private: - [[maybe_unused]] uint8_t __pad01fc[0x4]; // 0x1fc + [[maybe_unused]] uint8_t __pad021c[0x4]; // 0x21c public: // MPropertyFriendlyName "Interpolation" - CPerParticleFloatInput m_flInterpolation; // 0x200 + CPerParticleFloatInput m_flInterpolation; // 0x220 // MPropertyFriendlyName "Component Scale" - CPerParticleVecInput m_vecScale; // 0x338 + CPerParticleVecInput m_vecScale; // 0x360 // MPropertyFriendlyName "Boundary Dampening" - float m_flBoundaryDampening; // 0x900 + float m_flBoundaryDampening; // 0x948 // MPropertyFriendlyName "Set Velocity" - bool m_bSetVelocity; // 0x904 + bool m_bSetVelocity; // 0x94c // MPropertyFriendlyName "Lock to Surface" - bool m_bLockToSurface; // 0x905 + bool m_bLockToSurface; // 0x94d private: - [[maybe_unused]] uint8_t __pad0906[0x2]; // 0x906 + [[maybe_unused]] uint8_t __pad094e[0x2]; // 0x94e public: // MPropertyFriendlyName "Vector Field Grid Spacing Override" - float m_flGridSpacing; // 0x908 + float m_flGridSpacing; // 0x950 }; // Alignment: 5 -// Size: 0x490 +// Size: 0x4c0 class C_OP_SetAttributeToScalarExpression : public CParticleFunctionOperator { public: // MPropertyFriendlyName "expression" - ScalarExpressionType_t m_nExpression; // 0x1f0 + ScalarExpressionType_t m_nExpression; // 0x210 private: - [[maybe_unused]] uint8_t __pad01f4[0x4]; // 0x1f4 + [[maybe_unused]] uint8_t __pad0214[0x4]; // 0x214 public: // MPropertyFriendlyName "input 1" - CPerParticleFloatInput m_flInput1; // 0x1f8 + CPerParticleFloatInput m_flInput1; // 0x218 // MPropertyFriendlyName "input 2" - CPerParticleFloatInput m_flInput2; // 0x330 + CPerParticleFloatInput m_flInput2; // 0x358 // MPropertyFriendlyName "output field" // MPropertyAttributeChoiceName "particlefield_scalar" - ParticleAttributeIndex_t m_nOutputField; // 0x468 + ParticleAttributeIndex_t m_nOutputField; // 0x498 // MPropertyFriendlyName "set value method" - ParticleSetMethod_t m_nSetMethod; // 0x46c + ParticleSetMethod_t m_nSetMethod; // 0x49c }; // Alignment: 6 -// Size: 0xe00 +// Size: 0xe60 class C_OP_SetVectorAttributeToVectorExpression : public CParticleFunctionOperator { public: // MPropertyFriendlyName "expression" - VectorExpressionType_t m_nExpression; // 0x1f0 + VectorExpressionType_t m_nExpression; // 0x210 private: - [[maybe_unused]] uint8_t __pad01f4[0x4]; // 0x1f4 + [[maybe_unused]] uint8_t __pad0214[0x4]; // 0x214 public: // MPropertyFriendlyName "input 1" - CPerParticleVecInput m_vInput1; // 0x1f8 + CPerParticleVecInput m_vInput1; // 0x218 // MPropertyFriendlyName "input 2" - CPerParticleVecInput m_vInput2; // 0x7c0 + CPerParticleVecInput m_vInput2; // 0x800 // MPropertyFriendlyName "output field" // MPropertyAttributeChoiceName "particlefield_vector" - ParticleAttributeIndex_t m_nOutputField; // 0xd88 + ParticleAttributeIndex_t m_nOutputField; // 0xde8 // MPropertyFriendlyName "set value method" - ParticleSetMethod_t m_nSetMethod; // 0xd8c + ParticleSetMethod_t m_nSetMethod; // 0xdec // MPropertyFriendlyName "normalize result" - bool m_bNormalizedOutput; // 0xd90 + bool m_bNormalizedOutput; // 0xdf0 }; // Alignment: 6 -// Size: 0xed0 +// Size: 0xf30 class C_OP_SetFloatAttributeToVectorExpression : public CParticleFunctionOperator { public: // MPropertyFriendlyName "expression" - VectorFloatExpressionType_t m_nExpression; // 0x1f0 + VectorFloatExpressionType_t m_nExpression; // 0x210 private: - [[maybe_unused]] uint8_t __pad01f4[0x4]; // 0x1f4 + [[maybe_unused]] uint8_t __pad0214[0x4]; // 0x214 public: // MPropertyFriendlyName "input 1" - CPerParticleVecInput m_vInput1; // 0x1f8 + CPerParticleVecInput m_vInput1; // 0x218 // MPropertyFriendlyName "input 2" - CPerParticleVecInput m_vInput2; // 0x7c0 + CPerParticleVecInput m_vInput2; // 0x800 // MPropertyFriendlyName "output" - CParticleRemapFloatInput m_flOutputRemap; // 0xd88 + CParticleRemapFloatInput m_flOutputRemap; // 0xde8 // MPropertyFriendlyName "output field" // MPropertyAttributeChoiceName "particlefield_scalar" - ParticleAttributeIndex_t m_nOutputField; // 0xec0 + ParticleAttributeIndex_t m_nOutputField; // 0xf28 // MPropertyFriendlyName "set value method" - ParticleSetMethod_t m_nSetMethod; // 0xec4 + ParticleSetMethod_t m_nSetMethod; // 0xf2c }; // Alignment: 10 -// Size: 0x6f0 +// Size: 0x730 class C_OP_MovementSkinnedPositionFromCPSnapshot : public CParticleFunctionOperator { public: // MPropertyFriendlyName "snapshot control point number" - int32_t m_nSnapshotControlPointNumber; // 0x1f0 + int32_t m_nSnapshotControlPointNumber; // 0x210 // MPropertyFriendlyName "control point number" - int32_t m_nControlPointNumber; // 0x1f4 + int32_t m_nControlPointNumber; // 0x214 // MPropertyFriendlyName "random order" - bool m_bRandom; // 0x1f8 + bool m_bRandom; // 0x218 private: - [[maybe_unused]] uint8_t __pad01f9[0x3]; // 0x1f9 + [[maybe_unused]] uint8_t __pad0219[0x3]; // 0x219 public: // MPropertyFriendlyName "random seed" - int32_t m_nRandomSeed; // 0x1fc + int32_t m_nRandomSeed; // 0x21c // MPropertyFriendlyName "set normal" - bool m_bSetNormal; // 0x200 + bool m_bSetNormal; // 0x220 // MPropertyFriendlyName "set radius" - bool m_bSetRadius; // 0x201 + bool m_bSetRadius; // 0x221 private: - [[maybe_unused]] uint8_t __pad0202[0x6]; // 0x202 + [[maybe_unused]] uint8_t __pad0222[0x6]; // 0x222 public: // MPropertyFriendlyName "particle increment amount" - CParticleCollectionFloatInput m_flIncrement; // 0x208 + CParticleCollectionFloatInput m_flIncrement; // 0x228 // MPropertyFriendlyName "Full Loop Increment Amount" - CParticleCollectionFloatInput m_nFullLoopIncrement; // 0x340 + CParticleCollectionFloatInput m_nFullLoopIncrement; // 0x368 // MPropertyFriendlyName "Snapshot start point" - CParticleCollectionFloatInput m_nSnapShotStartPoint; // 0x478 + CParticleCollectionFloatInput m_nSnapShotStartPoint; // 0x4a8 // MPropertyFriendlyName "Interpolation" - CPerParticleFloatInput m_flInterpolation; // 0x5b0 + CPerParticleFloatInput m_flInterpolation; // 0x5e8 }; // Alignment: 6 -// Size: 0x470 +// Size: 0x4a0 class C_OP_MovementMoveAlongSkinnedCPSnapshot : public CParticleFunctionOperator { public: // MPropertyFriendlyName "control point number" - int32_t m_nControlPointNumber; // 0x1f0 + int32_t m_nControlPointNumber; // 0x210 // MPropertyFriendlyName "snapshot control point number" - int32_t m_nSnapshotControlPointNumber; // 0x1f4 + int32_t m_nSnapshotControlPointNumber; // 0x214 // MPropertyFriendlyName "set normal" - bool m_bSetNormal; // 0x1f8 + bool m_bSetNormal; // 0x218 // MPropertyFriendlyName "set radius" - bool m_bSetRadius; // 0x1f9 + bool m_bSetRadius; // 0x219 private: - [[maybe_unused]] uint8_t __pad01fa[0x6]; // 0x1fa + [[maybe_unused]] uint8_t __pad021a[0x6]; // 0x21a public: // MPropertyFriendlyName "Interpolation" - CPerParticleFloatInput m_flInterpolation; // 0x200 + CPerParticleFloatInput m_flInterpolation; // 0x220 // MPropertyFriendlyName "Snapshot Index T Value" - CPerParticleFloatInput m_flTValue; // 0x338 + CPerParticleFloatInput m_flTValue; // 0x360 }; // Alignment: 2 -// Size: 0x350 +// Size: 0x380 class C_OP_QuantizeFloat : public CParticleFunctionOperator { public: // MPropertyFriendlyName "value" - CPerParticleFloatInput m_InputValue; // 0x1f0 + CPerParticleFloatInput m_InputValue; // 0x210 // MPropertyFriendlyName "output field" // MPropertyAttributeChoiceName "particlefield_scalar" - ParticleAttributeIndex_t m_nOutputField; // 0x328 + ParticleAttributeIndex_t m_nOutputField; // 0x350 }; // Alignment: 4 -// Size: 0x490 +// Size: 0x4c0 class C_OP_SetFloatCollection : public CParticleFunctionOperator { public: // MPropertyFriendlyName "value" - CParticleCollectionFloatInput m_InputValue; // 0x1f0 + CParticleCollectionFloatInput m_InputValue; // 0x210 // MPropertyFriendlyName "output field" // MPropertyAttributeChoiceName "particlefield_scalar" - ParticleAttributeIndex_t m_nOutputField; // 0x328 + ParticleAttributeIndex_t m_nOutputField; // 0x350 // MPropertyFriendlyName "set value method" - ParticleSetMethod_t m_nSetMethod; // 0x32c + ParticleSetMethod_t m_nSetMethod; // 0x354 // MPropertyFriendlyName "interpolation" - CParticleCollectionFloatInput m_Lerp; // 0x330 + CParticleCollectionFloatInput m_Lerp; // 0x358 }; // Alignment: 4 -// Size: 0x490 +// Size: 0x4c0 class C_OP_SetFloat : public CParticleFunctionOperator { public: // MPropertyFriendlyName "value" - CPerParticleFloatInput m_InputValue; // 0x1f0 + CPerParticleFloatInput m_InputValue; // 0x210 // MPropertyFriendlyName "output field" // MPropertyAttributeChoiceName "particlefield_scalar" - ParticleAttributeIndex_t m_nOutputField; // 0x328 + ParticleAttributeIndex_t m_nOutputField; // 0x350 // MPropertyFriendlyName "set value method" - ParticleSetMethod_t m_nSetMethod; // 0x32c + ParticleSetMethod_t m_nSetMethod; // 0x354 // MPropertyFriendlyName "interpolation" - CPerParticleFloatInput m_Lerp; // 0x330 + CPerParticleFloatInput m_Lerp; // 0x358 }; // Alignment: 5 -// Size: 0x900 +// Size: 0x950 class C_OP_SetVec : public CParticleFunctionOperator { public: // MPropertyFriendlyName "value" - CPerParticleVecInput m_InputValue; // 0x1f0 + CPerParticleVecInput m_InputValue; // 0x210 // MPropertyFriendlyName "output field" // MPropertyAttributeChoiceName "particlefield_vector" - ParticleAttributeIndex_t m_nOutputField; // 0x7b8 + ParticleAttributeIndex_t m_nOutputField; // 0x7f8 // MPropertyFriendlyName "set value method" - ParticleSetMethod_t m_nSetMethod; // 0x7bc + ParticleSetMethod_t m_nSetMethod; // 0x7fc // MPropertyFriendlyName "interpolation" - CPerParticleFloatInput m_Lerp; // 0x7c0 + CPerParticleFloatInput m_Lerp; // 0x800 // MPropertyFriendlyName "normalize result" - bool m_bNormalizedOutput; // 0x8f8 + bool m_bNormalizedOutput; // 0x940 }; // Alignment: 2 -// Size: 0x200 +// Size: 0x220 class C_OP_RemapDensityGradientToVectorAttribute : public CParticleFunctionOperator { public: // MPropertyFriendlyName "Radius scale for particle influence" - float m_flRadiusScale; // 0x1f0 + float m_flRadiusScale; // 0x210 // MPropertyFriendlyName "output field" // MPropertyAttributeChoiceName "particlefield_vector" - ParticleAttributeIndex_t m_nFieldOutput; // 0x1f4 + ParticleAttributeIndex_t m_nFieldOutput; // 0x214 }; // Alignment: 6 -// Size: 0x210 +// Size: 0x230 class C_OP_LockPoints : public CParticleFunctionOperator { public: // MPropertyFriendlyName "min column/particle index to affect" - int32_t m_nMinCol; // 0x1f0 + int32_t m_nMinCol; // 0x210 // MPropertyFriendlyName "max column/particle index to affect" - int32_t m_nMaxCol; // 0x1f4 + int32_t m_nMaxCol; // 0x214 // MPropertyFriendlyName "min row/particle index to affect" - int32_t m_nMinRow; // 0x1f8 + int32_t m_nMinRow; // 0x218 // MPropertyFriendlyName "max row/particle index to affect" - int32_t m_nMaxRow; // 0x1fc + int32_t m_nMaxRow; // 0x21c // MPropertyFriendlyName "control point to lock to" - int32_t m_nControlPoint; // 0x200 + int32_t m_nControlPoint; // 0x220 // MPropertyFriendlyName "amount of current position to preserve" - float m_flBlendValue; // 0x204 + float m_flBlendValue; // 0x224 }; // Alignment: 5 -// Size: 0x210 +// Size: 0x230 class C_OP_RemapDistanceToLineSegmentBase : public CParticleFunctionOperator { public: // MPropertyFriendlyName "control point 0" - int32_t m_nCP0; // 0x1f0 + int32_t m_nCP0; // 0x210 // MPropertyFriendlyName "control point 1" - int32_t m_nCP1; // 0x1f4 + int32_t m_nCP1; // 0x214 // MPropertyFriendlyName "min distance value" - float m_flMinInputValue; // 0x1f8 + float m_flMinInputValue; // 0x218 // MPropertyFriendlyName "max distance value" - float m_flMaxInputValue; // 0x1fc + float m_flMaxInputValue; // 0x21c // MPropertyFriendlyName "use distance to an infinite line instead of a finite line segment" - bool m_bInfiniteLine; // 0x200 + bool m_bInfiniteLine; // 0x220 }; // Alignment: 3 -// Size: 0x220 +// Size: 0x240 class C_OP_RemapDistanceToLineSegmentToScalar : public C_OP_RemapDistanceToLineSegmentBase { public: // MPropertyFriendlyName "output field" // MPropertyAttributeChoiceName "particlefield_scalar" - ParticleAttributeIndex_t m_nFieldOutput; // 0x210 + ParticleAttributeIndex_t m_nFieldOutput; // 0x230 // MPropertyFriendlyName "output value at min distance" - float m_flMinOutputValue; // 0x214 + float m_flMinOutputValue; // 0x234 // MPropertyFriendlyName "output value at max distance" - float m_flMaxOutputValue; // 0x218 + float m_flMaxOutputValue; // 0x238 }; // Alignment: 3 -// Size: 0x230 +// Size: 0x250 class C_OP_RemapDistanceToLineSegmentToVector : public C_OP_RemapDistanceToLineSegmentBase { public: // MPropertyFriendlyName "output field" // MPropertyAttributeChoiceName "particlefield_vector" - ParticleAttributeIndex_t m_nFieldOutput; // 0x210 + ParticleAttributeIndex_t m_nFieldOutput; // 0x230 // MPropertyFriendlyName "output value at min distance" - Vector m_vMinOutputValue; // 0x214 + Vector m_vMinOutputValue; // 0x234 // MPropertyFriendlyName "output value at max distance" - Vector m_vMaxOutputValue; // 0x220 + Vector m_vMaxOutputValue; // 0x240 }; // Alignment: 11 -// Size: 0x230 +// Size: 0x250 class C_OP_TeleportBeam : public CParticleFunctionOperator { public: // MPropertyFriendlyName "Position Control Point" - int32_t m_nCPPosition; // 0x1f0 + int32_t m_nCPPosition; // 0x210 // MPropertyFriendlyName "Velocity Control Point" - int32_t m_nCPVelocity; // 0x1f4 + int32_t m_nCPVelocity; // 0x214 // MPropertyFriendlyName "Misc Control Point" - int32_t m_nCPMisc; // 0x1f8 + int32_t m_nCPMisc; // 0x218 // MPropertyFriendlyName "Color Control Point" - int32_t m_nCPColor; // 0x1fc + int32_t m_nCPColor; // 0x21c // MPropertyFriendlyName "Invalid Color Control Point" - int32_t m_nCPInvalidColor; // 0x200 + int32_t m_nCPInvalidColor; // 0x220 // MPropertyFriendlyName "Extra Arc Data Point" - int32_t m_nCPExtraArcData; // 0x204 + int32_t m_nCPExtraArcData; // 0x224 // MPropertyFriendlyName "Gravity" - Vector m_vGravity; // 0x208 + Vector m_vGravity; // 0x228 // MPropertyFriendlyName "Arc Duration Maximum" - float m_flArcMaxDuration; // 0x214 + float m_flArcMaxDuration; // 0x234 // MPropertyFriendlyName "Segment Break" - float m_flSegmentBreak; // 0x218 + float m_flSegmentBreak; // 0x238 // MPropertyFriendlyName "Arc Speed" - float m_flArcSpeed; // 0x21c + float m_flArcSpeed; // 0x23c // MPropertyFriendlyName "Alpha" - float m_flAlpha; // 0x220 + float m_flAlpha; // 0x240 }; // Alignment: 10 -// Size: 0x220 +// Size: 0x240 class C_OP_CycleScalar : public CParticleFunctionOperator { public: // MPropertyFriendlyName "destination scalar field" // MPropertyAttributeChoiceName "particlefield_scalar" - ParticleAttributeIndex_t m_nDestField; // 0x1f0 + ParticleAttributeIndex_t m_nDestField; // 0x210 // MPropertyFriendlyName "Value at start of cycle" - float m_flStartValue; // 0x1f4 + float m_flStartValue; // 0x214 // MPropertyFriendlyName "Value at end of cycle" - float m_flEndValue; // 0x1f8 + float m_flEndValue; // 0x218 // MPropertyFriendlyName "Cycle time" - float m_flCycleTime; // 0x1fc + float m_flCycleTime; // 0x21c // MPropertyFriendlyName "Do not repeat cycle" - bool m_bDoNotRepeatCycle; // 0x200 + bool m_bDoNotRepeatCycle; // 0x220 // MPropertyFriendlyName "Synchronize particles" - bool m_bSynchronizeParticles; // 0x201 + bool m_bSynchronizeParticles; // 0x221 private: - [[maybe_unused]] uint8_t __pad0202[0x2]; // 0x202 + [[maybe_unused]] uint8_t __pad0222[0x2]; // 0x222 public: // MPropertyFriendlyName "Scale Start/End Control Point" - int32_t m_nCPScale; // 0x204 + int32_t m_nCPScale; // 0x224 // MPropertyFriendlyName "start scale control point field" // MPropertyAttributeChoiceName "vector_component" - int32_t m_nCPFieldMin; // 0x208 + int32_t m_nCPFieldMin; // 0x228 // MPropertyFriendlyName "end scale control point field" // MPropertyAttributeChoiceName "vector_component" - int32_t m_nCPFieldMax; // 0x20c + int32_t m_nCPFieldMax; // 0x22c // MPropertyFriendlyName "set value method" - ParticleSetMethod_t m_nSetMethod; // 0x210 + ParticleSetMethod_t m_nSetMethod; // 0x230 }; // Alignment: 11 -// Size: 0x250 +// Size: 0x270 class C_OP_CalculateVectorAttribute : public CParticleFunctionOperator { public: // MPropertyFriendlyName "start value" - Vector m_vStartValue; // 0x1f0 + Vector m_vStartValue; // 0x210 // MPropertyFriendlyName "input field 1" // MPropertyAttributeChoiceName "particlefield_vector" - ParticleAttributeIndex_t m_nFieldInput1; // 0x1fc + ParticleAttributeIndex_t m_nFieldInput1; // 0x21c // MPropertyFriendlyName "input scale 1" - float m_flInputScale1; // 0x200 + float m_flInputScale1; // 0x220 // MPropertyFriendlyName "input field 2" // MPropertyAttributeChoiceName "particlefield_vector" - ParticleAttributeIndex_t m_nFieldInput2; // 0x204 + ParticleAttributeIndex_t m_nFieldInput2; // 0x224 // MPropertyFriendlyName "input scale 2" - float m_flInputScale2; // 0x208 + float m_flInputScale2; // 0x228 // MPropertyFriendlyName "control point input 1" - ControlPointReference_t m_nControlPointInput1; // 0x20c + ControlPointReference_t m_nControlPointInput1; // 0x22c // MPropertyFriendlyName "control point scale 1" - float m_flControlPointScale1; // 0x220 + float m_flControlPointScale1; // 0x240 // MPropertyFriendlyName "control point input 2" - ControlPointReference_t m_nControlPointInput2; // 0x224 + ControlPointReference_t m_nControlPointInput2; // 0x244 // MPropertyFriendlyName "control point scale 2" - float m_flControlPointScale2; // 0x238 + float m_flControlPointScale2; // 0x258 // MPropertyFriendlyName "output field" // MPropertyAttributeChoiceName "particlefield_vector" - ParticleAttributeIndex_t m_nFieldOutput; // 0x23c + ParticleAttributeIndex_t m_nFieldOutput; // 0x25c // MPropertyFriendlyName "final per component scale" - Vector m_vFinalOutputScale; // 0x240 + Vector m_vFinalOutputScale; // 0x260 }; // Alignment: 3 -// Size: 0x5a0 +// Size: 0x5d0 class C_OP_ColorAdjustHSL : public CParticleFunctionOperator { public: // MPropertyFriendlyName "hue adjust" - CPerParticleFloatInput m_flHueAdjust; // 0x1f0 + CPerParticleFloatInput m_flHueAdjust; // 0x210 // MPropertyFriendlyName "saturation adjust" - CPerParticleFloatInput m_flSaturationAdjust; // 0x328 + CPerParticleFloatInput m_flSaturationAdjust; // 0x350 // MPropertyFriendlyName "lightness adjust" - CPerParticleFloatInput m_flLightnessAdjust; // 0x460 + CPerParticleFloatInput m_flLightnessAdjust; // 0x490 }; // Alignment: 2 -// Size: 0x200 +// Size: 0x220 class C_OP_ConnectParentParticleToNearest : public CParticleFunctionOperator { public: // MPropertyFriendlyName "control point to set" - int32_t m_nFirstControlPoint; // 0x1f0 + int32_t m_nFirstControlPoint; // 0x210 // MPropertyFriendlyName "Second Control point to set" - int32_t m_nSecondControlPoint; // 0x1f4 + int32_t m_nSecondControlPoint; // 0x214 }; // Alignment: 6 -// Size: 0x210 +// Size: 0x230 class C_OP_UpdateLightSource : public CParticleFunctionOperator { public: // MPropertyFriendlyName "color tint" - Color m_vColorTint; // 0x1f0 + Color m_vColorTint; // 0x210 // MPropertyFriendlyName "amount to multiply light brightness by" - float m_flBrightnessScale; // 0x1f4 + float m_flBrightnessScale; // 0x214 // MPropertyFriendlyName "amount to multiply particle system radius by to get light radius" - float m_flRadiusScale; // 0x1f8 + float m_flRadiusScale; // 0x218 // MPropertyFriendlyName "minimum radius for created lights" - float m_flMinimumLightingRadius; // 0x1fc + float m_flMinimumLightingRadius; // 0x21c // MPropertyFriendlyName "maximum radius for created lights" - float m_flMaximumLightingRadius; // 0x200 + float m_flMaximumLightingRadius; // 0x220 // MPropertyFriendlyName "amount of damping of changes" - float m_flPositionDampingConstant; // 0x204 + float m_flPositionDampingConstant; // 0x224 }; // Alignment: 8 -// Size: 0x220 +// Size: 0x240 class C_OP_RemapSpeedtoCP : public CParticleFunctionPreEmission { public: // MPropertyFriendlyName "input control point" - int32_t m_nInControlPointNumber; // 0x200 + int32_t m_nInControlPointNumber; // 0x220 // MPropertyFriendlyName "output control point" - int32_t m_nOutControlPointNumber; // 0x204 + int32_t m_nOutControlPointNumber; // 0x224 // MPropertyFriendlyName "Output field 0-2 X/Y/Z" // MPropertyAttributeChoiceName "vector_component" - int32_t m_nField; // 0x208 + int32_t m_nField; // 0x228 // MPropertyFriendlyName "input minimum" - float m_flInputMin; // 0x20c + float m_flInputMin; // 0x22c // MPropertyFriendlyName "input maximum" - float m_flInputMax; // 0x210 + float m_flInputMax; // 0x230 // MPropertyFriendlyName "output minimum" - float m_flOutputMin; // 0x214 + float m_flOutputMin; // 0x234 // MPropertyFriendlyName "output maximum" - float m_flOutputMax; // 0x218 + float m_flOutputMax; // 0x238 // MPropertyFriendlyName "use delta of velocity instead of constant speed" - bool m_bUseDeltaV; // 0x21c + bool m_bUseDeltaV; // 0x23c }; // Alignment: 10 -// Size: 0xd40 +// Size: 0xda0 class C_OP_RemapAverageHitboxSpeedtoCP : public CParticleFunctionPreEmission { public: // MPropertyFriendlyName "input control point" - int32_t m_nInControlPointNumber; // 0x200 + int32_t m_nInControlPointNumber; // 0x220 // MPropertyFriendlyName "output control point" - int32_t m_nOutControlPointNumber; // 0x204 + int32_t m_nOutControlPointNumber; // 0x224 // MPropertyFriendlyName "Output component" // MPropertyAttributeChoiceName "vector_component" - int32_t m_nField; // 0x208 + int32_t m_nField; // 0x228 private: - [[maybe_unused]] uint8_t __pad020c[0x4]; // 0x20c + [[maybe_unused]] uint8_t __pad022c[0x4]; // 0x22c public: // MPropertyFriendlyName "input minimum" - CParticleCollectionFloatInput m_flInputMin; // 0x210 + CParticleCollectionFloatInput m_flInputMin; // 0x230 // MPropertyFriendlyName "input maximum" - CParticleCollectionFloatInput m_flInputMax; // 0x348 + CParticleCollectionFloatInput m_flInputMax; // 0x370 // MPropertyFriendlyName "output minimum" - CParticleCollectionFloatInput m_flOutputMin; // 0x480 + CParticleCollectionFloatInput m_flOutputMin; // 0x4b0 // MPropertyFriendlyName "output maximum" - CParticleCollectionFloatInput m_flOutputMax; // 0x5b8 + CParticleCollectionFloatInput m_flOutputMax; // 0x5f0 // MPropertyFriendlyName "intersection height CP" - int32_t m_nHeightControlPointNumber; // 0x6f0 + int32_t m_nHeightControlPointNumber; // 0x730 private: - [[maybe_unused]] uint8_t __pad06f4[0x4]; // 0x6f4 + [[maybe_unused]] uint8_t __pad0734[0x4]; // 0x734 public: // MPropertyFriendlyName "comparison velocity" - CParticleCollectionVecInput m_vecComparisonVelocity; // 0x6f8 + CParticleCollectionVecInput m_vecComparisonVelocity; // 0x738 // MPropertyFriendlyName "hitbox set" - char m_HitboxSetName[128]; // 0xcc0 + char m_HitboxSetName[128]; // 0xd20 }; // Alignment: 8 -// Size: 0x6f0 +// Size: 0x730 class C_OP_RemapDotProductToCP : public CParticleFunctionPreEmission { public: // MPropertyFriendlyName "first input control point" - int32_t m_nInputCP1; // 0x200 + int32_t m_nInputCP1; // 0x220 // MPropertyFriendlyName "second input control point" - int32_t m_nInputCP2; // 0x204 + int32_t m_nInputCP2; // 0x224 // MPropertyFriendlyName "output control point" - int32_t m_nOutputCP; // 0x208 + int32_t m_nOutputCP; // 0x228 // MPropertyFriendlyName "output component" // MPropertyAttributeChoiceName "vector_component" - int32_t m_nOutVectorField; // 0x20c + int32_t m_nOutVectorField; // 0x22c // MPropertyFriendlyName "input minimum (-1 to 1)" - CParticleCollectionFloatInput m_flInputMin; // 0x210 + CParticleCollectionFloatInput m_flInputMin; // 0x230 // MPropertyFriendlyName "input maximum (-1 to 1)" - CParticleCollectionFloatInput m_flInputMax; // 0x348 + CParticleCollectionFloatInput m_flInputMax; // 0x370 // MPropertyFriendlyName "output minimum" - CParticleCollectionFloatInput m_flOutputMin; // 0x480 + CParticleCollectionFloatInput m_flOutputMin; // 0x4b0 // MPropertyFriendlyName "output maximum" - CParticleCollectionFloatInput m_flOutputMax; // 0x5b8 + CParticleCollectionFloatInput m_flOutputMax; // 0x5f0 }; // Alignment: 6 -// Size: 0x5c0 +// Size: 0x5f0 class C_OP_SetControlPointFieldToScalarExpression : public CParticleFunctionPreEmission { public: // MPropertyFriendlyName "expression" - ScalarExpressionType_t m_nExpression; // 0x200 + ScalarExpressionType_t m_nExpression; // 0x220 private: - [[maybe_unused]] uint8_t __pad0204[0x4]; // 0x204 + [[maybe_unused]] uint8_t __pad0224[0x4]; // 0x224 public: // MPropertyFriendlyName "input 1" - CParticleCollectionFloatInput m_flInput1; // 0x208 + CParticleCollectionFloatInput m_flInput1; // 0x228 // MPropertyFriendlyName "input 2" - CParticleCollectionFloatInput m_flInput2; // 0x340 + CParticleCollectionFloatInput m_flInput2; // 0x368 // MPropertyFriendlyName "output" - CParticleRemapFloatInput m_flOutputRemap; // 0x478 + CParticleRemapFloatInput m_flOutputRemap; // 0x4a8 // MPropertyFriendlyName "output control point" - int32_t m_nOutputCP; // 0x5b0 + int32_t m_nOutputCP; // 0x5e8 // MPropertyFriendlyName "output component" // MPropertyAttributeChoiceName "vector_component" - int32_t m_nOutVectorField; // 0x5b4 + int32_t m_nOutVectorField; // 0x5ec }; // Alignment: 6 -// Size: 0xee0 +// Size: 0xf40 class C_OP_SetControlPointFieldFromVectorExpression : public CParticleFunctionPreEmission { public: // MPropertyFriendlyName "expression" - VectorFloatExpressionType_t m_nExpression; // 0x200 + VectorFloatExpressionType_t m_nExpression; // 0x220 private: - [[maybe_unused]] uint8_t __pad0204[0x4]; // 0x204 + [[maybe_unused]] uint8_t __pad0224[0x4]; // 0x224 public: // MPropertyFriendlyName "input 1" - CParticleCollectionVecInput m_vecInput1; // 0x208 + CParticleCollectionVecInput m_vecInput1; // 0x228 // MPropertyFriendlyName "input 2" - CParticleCollectionVecInput m_vecInput2; // 0x7d0 + CParticleCollectionVecInput m_vecInput2; // 0x810 // MPropertyFriendlyName "output" - CParticleRemapFloatInput m_flOutputRemap; // 0xd98 + CParticleRemapFloatInput m_flOutputRemap; // 0xdf8 // MPropertyFriendlyName "output control point" - int32_t m_nOutputCP; // 0xed0 + int32_t m_nOutputCP; // 0xf38 // MPropertyFriendlyName "output component" // MPropertyAttributeChoiceName "vector_component" - int32_t m_nOutVectorField; // 0xed4 + int32_t m_nOutVectorField; // 0xf3c }; // Alignment: 5 -// Size: 0xda0 +// Size: 0xe00 class C_OP_SetControlPointToVectorExpression : public CParticleFunctionPreEmission { public: // MPropertyFriendlyName "expression" - VectorExpressionType_t m_nExpression; // 0x200 + VectorExpressionType_t m_nExpression; // 0x220 // MPropertyFriendlyName "output control point" - int32_t m_nOutputCP; // 0x204 + int32_t m_nOutputCP; // 0x224 // MPropertyFriendlyName "input 1" - CParticleCollectionVecInput m_vInput1; // 0x208 + CParticleCollectionVecInput m_vInput1; // 0x228 // MPropertyFriendlyName "input 2" - CParticleCollectionVecInput m_vInput2; // 0x7d0 + CParticleCollectionVecInput m_vInput2; // 0x810 // MPropertyFriendlyName "normalize result" - bool m_bNormalizedOutput; // 0xd98 + bool m_bNormalizedOutput; // 0xdf8 }; // Alignment: 7 -// Size: 0x220 +// Size: 0x240 class C_OP_RemapModelVolumetoCP : public CParticleFunctionPreEmission { public: // MPropertyFriendlyName "input control point" - int32_t m_nInControlPointNumber; // 0x200 + int32_t m_nInControlPointNumber; // 0x220 // MPropertyFriendlyName "output control point" - int32_t m_nOutControlPointNumber; // 0x204 + int32_t m_nOutControlPointNumber; // 0x224 // MPropertyFriendlyName "output CP component" // MPropertyAttributeChoiceName "vector_component" - int32_t m_nField; // 0x208 + int32_t m_nField; // 0x228 // MPropertyFriendlyName "input volume minimum in cubic units" - float m_flInputMin; // 0x20c + float m_flInputMin; // 0x22c // MPropertyFriendlyName "input volume maximum in cubic units" - float m_flInputMax; // 0x210 + float m_flInputMax; // 0x230 // MPropertyFriendlyName "output minimum" - float m_flOutputMin; // 0x214 + float m_flOutputMin; // 0x234 // MPropertyFriendlyName "output maximum" - float m_flOutputMax; // 0x218 + float m_flOutputMax; // 0x238 }; // Alignment: 5 -// Size: 0x220 +// Size: 0x240 class C_OP_RemapBoundingVolumetoCP : public CParticleFunctionPreEmission { public: // MPropertyFriendlyName "output control point" - int32_t m_nOutControlPointNumber; // 0x200 + int32_t m_nOutControlPointNumber; // 0x220 // MPropertyFriendlyName "input volume minimum in cubic units" - float m_flInputMin; // 0x204 + float m_flInputMin; // 0x224 // MPropertyFriendlyName "input volume maximum in cubic units" - float m_flInputMax; // 0x208 + float m_flInputMax; // 0x228 // MPropertyFriendlyName "output minimum" - float m_flOutputMin; // 0x20c + float m_flOutputMin; // 0x22c // MPropertyFriendlyName "output maximum" - float m_flOutputMax; // 0x210 + float m_flOutputMax; // 0x230 }; // Alignment: 7 -// Size: 0x220 +// Size: 0x240 class C_OP_RemapAverageScalarValuetoCP : public CParticleFunctionPreEmission { public: // MPropertyFriendlyName "output control point" - int32_t m_nOutControlPointNumber; // 0x200 + int32_t m_nOutControlPointNumber; // 0x220 // MPropertyFriendlyName "output field" // MPropertyAttributeChoiceName "vector_component" - int32_t m_nOutVectorField; // 0x204 + int32_t m_nOutVectorField; // 0x224 // MPropertyFriendlyName "scalar field" // MPropertyAttributeChoiceName "particlefield_scalar" - ParticleAttributeIndex_t m_nField; // 0x208 + ParticleAttributeIndex_t m_nField; // 0x228 // MPropertyFriendlyName "input volume minimum" - float m_flInputMin; // 0x20c + float m_flInputMin; // 0x22c // MPropertyFriendlyName "input volume maximum" - float m_flInputMax; // 0x210 + float m_flInputMax; // 0x230 // MPropertyFriendlyName "output minimum" - float m_flOutputMin; // 0x214 + float m_flOutputMin; // 0x234 // MPropertyFriendlyName "output maximum" - float m_flOutputMax; // 0x218 + float m_flOutputMax; // 0x238 }; // Alignment: 3 -// Size: 0x220 +// Size: 0x240 class C_OP_RampCPLinearRandom : public CParticleFunctionPreEmission { public: // MPropertyFriendlyName "output control point" - int32_t m_nOutControlPointNumber; // 0x200 + int32_t m_nOutControlPointNumber; // 0x220 // MPropertyFriendlyName "ramp rate min" - Vector m_vecRateMin; // 0x204 + Vector m_vecRateMin; // 0x224 // MPropertyFriendlyName "ramp rate max" - Vector m_vecRateMax; // 0x210 + Vector m_vecRateMax; // 0x230 }; // Alignment: 5 -// Size: 0x220 +// Size: 0x240 class C_OP_SetParentControlPointsToChildCP : public CParticleFunctionPreEmission { public: // MPropertyFriendlyName "group ID to affect" - int32_t m_nChildGroupID; // 0x200 + int32_t m_nChildGroupID; // 0x220 // MPropertyFriendlyName "control point to set" - int32_t m_nChildControlPoint; // 0x204 + int32_t m_nChildControlPoint; // 0x224 // MPropertyFriendlyName "# of children to set" - int32_t m_nNumControlPoints; // 0x208 + int32_t m_nNumControlPoints; // 0x228 // MPropertyFriendlyName "first parent control point to set from" - int32_t m_nFirstSourcePoint; // 0x20c + int32_t m_nFirstSourcePoint; // 0x22c // MPropertyFriendlyName "set orientation" - bool m_bSetOrientation; // 0x210 + bool m_bSetOrientation; // 0x230 }; // Alignment: 12 -// Size: 0x250 +// Size: 0x270 class C_OP_SetControlPointPositions : public CParticleFunctionPreEmission { public: // MPropertyFriendlyName "set positions in world space" - bool m_bUseWorldLocation; // 0x200 + bool m_bUseWorldLocation; // 0x220 // MPropertyFriendlyName "inherit CP orientation" - bool m_bOrient; // 0x201 + bool m_bOrient; // 0x221 // MPropertyFriendlyName "only set position once" - bool m_bSetOnce; // 0x202 + bool m_bSetOnce; // 0x222 private: - [[maybe_unused]] uint8_t __pad0203[0x1]; // 0x203 + [[maybe_unused]] uint8_t __pad0223[0x1]; // 0x223 public: // MPropertyFriendlyName "first control point number" - int32_t m_nCP1; // 0x204 + int32_t m_nCP1; // 0x224 // MPropertyFriendlyName "second control point number" - int32_t m_nCP2; // 0x208 + int32_t m_nCP2; // 0x228 // MPropertyFriendlyName "third control point number" - int32_t m_nCP3; // 0x20c + int32_t m_nCP3; // 0x22c // MPropertyFriendlyName "fourth control point number" - int32_t m_nCP4; // 0x210 + int32_t m_nCP4; // 0x230 // MPropertyFriendlyName "first control point location" // MVectorIsCoordinate - Vector m_vecCP1Pos; // 0x214 + Vector m_vecCP1Pos; // 0x234 // MPropertyFriendlyName "second control point location" // MVectorIsCoordinate - Vector m_vecCP2Pos; // 0x220 + Vector m_vecCP2Pos; // 0x240 // MPropertyFriendlyName "third control point location" // MVectorIsCoordinate - Vector m_vecCP3Pos; // 0x22c + Vector m_vecCP3Pos; // 0x24c // MPropertyFriendlyName "fourth control point location" // MVectorIsCoordinate - Vector m_vecCP4Pos; // 0x238 + Vector m_vecCP4Pos; // 0x258 // MPropertyFriendlyName "control point to offset positions from" - int32_t m_nHeadLocation; // 0x244 + int32_t m_nHeadLocation; // 0x264 }; // Alignment: 5 -// Size: 0x7e0 +// Size: 0x820 class C_OP_SetSingleControlPointPosition : public CParticleFunctionPreEmission { public: // MPropertyFriendlyName "set positions in world space" - bool m_bUseWorldLocation; // 0x200 + bool m_bUseWorldLocation; // 0x220 // MPropertyFriendlyName "only set position once" - bool m_bSetOnce; // 0x201 + bool m_bSetOnce; // 0x221 private: - [[maybe_unused]] uint8_t __pad0202[0x2]; // 0x202 + [[maybe_unused]] uint8_t __pad0222[0x2]; // 0x222 public: // MPropertyFriendlyName "control point number" - int32_t m_nCP1; // 0x204 + int32_t m_nCP1; // 0x224 // MPropertyFriendlyName "control point location" - CParticleCollectionVecInput m_vecCP1Pos; // 0x208 + CParticleCollectionVecInput m_vecCP1Pos; // 0x228 // MPropertyFriendlyName "control point to offset positions from" - int32_t m_nHeadLocation; // 0x7d0 + int32_t m_nHeadLocation; // 0x810 }; // Alignment: 4 -// Size: 0x350 +// Size: 0x370 class C_OP_SetControlPointPositionToRandomActiveCP : public CParticleFunctionPreEmission { public: // MPropertyFriendlyName "control point number" - int32_t m_nCP1; // 0x200 + int32_t m_nCP1; // 0x220 // MPropertyFriendlyName "min active CP" - int32_t m_nHeadLocationMin; // 0x204 + int32_t m_nHeadLocationMin; // 0x224 // MPropertyFriendlyName "max active CP" - int32_t m_nHeadLocationMax; // 0x208 + int32_t m_nHeadLocationMax; // 0x228 private: - [[maybe_unused]] uint8_t __pad020c[0x4]; // 0x20c + [[maybe_unused]] uint8_t __pad022c[0x4]; // 0x22c public: // MPropertyFriendlyName "reset rate" - CParticleCollectionFloatInput m_flResetRate; // 0x210 + CParticleCollectionFloatInput m_flResetRate; // 0x230 }; // Alignment: 8 -// Size: 0x4a0 +// Size: 0x4d0 class C_OP_SetRandomControlPointPosition : public CParticleFunctionPreEmission { public: // MPropertyFriendlyName "set positions in world space" - bool m_bUseWorldLocation; // 0x200 + bool m_bUseWorldLocation; // 0x220 // MPropertyFriendlyName "inherit CP orientation" - bool m_bOrient; // 0x201 + bool m_bOrient; // 0x221 private: - [[maybe_unused]] uint8_t __pad0202[0x2]; // 0x202 + [[maybe_unused]] uint8_t __pad0222[0x2]; // 0x222 public: // MPropertyFriendlyName "control point number" - int32_t m_nCP1; // 0x204 + int32_t m_nCP1; // 0x224 // MPropertyFriendlyName "control point to offset positions from" - int32_t m_nHeadLocation; // 0x208 + int32_t m_nHeadLocation; // 0x228 private: - [[maybe_unused]] uint8_t __pad020c[0x4]; // 0x20c + [[maybe_unused]] uint8_t __pad022c[0x4]; // 0x22c public: // MPropertyFriendlyName "re-randomize rate (-1 for once only)" - CParticleCollectionFloatInput m_flReRandomRate; // 0x210 + CParticleCollectionFloatInput m_flReRandomRate; // 0x230 // MPropertyFriendlyName "control point min" - Vector m_vecCPMinPos; // 0x348 + Vector m_vecCPMinPos; // 0x370 // MPropertyFriendlyName "control point max" - Vector m_vecCPMaxPos; // 0x354 + Vector m_vecCPMaxPos; // 0x37c // MPropertyFriendlyName "Interpolation" - CParticleCollectionFloatInput m_flInterpolation; // 0x360 + CParticleCollectionFloatInput m_flInterpolation; // 0x388 }; // Alignment: 8 -// Size: 0x360 +// Size: 0x390 class C_OP_SetControlPointOrientation : public CParticleFunctionPreEmission { public: // MPropertyFriendlyName "set orientation in world space" - bool m_bUseWorldLocation; // 0x200 + bool m_bUseWorldLocation; // 0x220 private: - [[maybe_unused]] uint8_t __pad0201[0x1]; // 0x201 + [[maybe_unused]] uint8_t __pad0221[0x1]; // 0x221 public: // MPropertyFriendlyName "randomize" - bool m_bRandomize; // 0x202 + bool m_bRandomize; // 0x222 // MPropertyFriendlyName "only set orientation once" - bool m_bSetOnce; // 0x203 + bool m_bSetOnce; // 0x223 // MPropertyFriendlyName "control point number" - int32_t m_nCP; // 0x204 + int32_t m_nCP; // 0x224 // MPropertyFriendlyName "control point to offset orientation from" - int32_t m_nHeadLocation; // 0x208 + int32_t m_nHeadLocation; // 0x228 // MPropertyFriendlyName "pitch yaw roll" - QAngle m_vecRotation; // 0x20c + QAngle m_vecRotation; // 0x22c // MPropertyFriendlyName "pitch yaw roll max" - QAngle m_vecRotationB; // 0x218 + QAngle m_vecRotationB; // 0x238 private: - [[maybe_unused]] uint8_t __pad0224[0x4]; // 0x224 + [[maybe_unused]] uint8_t __pad0244[0x4]; // 0x244 public: // MPropertyFriendlyName "interpolation" - CParticleCollectionFloatInput m_flInterpolation; // 0x228 + CParticleCollectionFloatInput m_flInterpolation; // 0x248 }; // Alignment: 2 -// Size: 0x210 +// Size: 0x230 class C_OP_SetControlPointFromObjectScale : public CParticleFunctionPreEmission { public: // MPropertyFriendlyName "input control point number" - int32_t m_nCPInput; // 0x200 + int32_t m_nCPInput; // 0x220 // MPropertyFriendlyName "output control point number" - int32_t m_nCPOutput; // 0x204 + int32_t m_nCPOutput; // 0x224 }; // Alignment: 15 -// Size: 0x2c0 +// Size: 0x2e0 class C_OP_DistanceBetweenCPsToCP : public CParticleFunctionPreEmission { public: // MPropertyFriendlyName "starting control point" - int32_t m_nStartCP; // 0x200 + int32_t m_nStartCP; // 0x220 // MPropertyFriendlyName "ending control point" - int32_t m_nEndCP; // 0x204 + int32_t m_nEndCP; // 0x224 // MPropertyFriendlyName "output control point" - int32_t m_nOutputCP; // 0x208 + int32_t m_nOutputCP; // 0x228 // MPropertyFriendlyName "output control point field" - int32_t m_nOutputCPField; // 0x20c + int32_t m_nOutputCPField; // 0x22c // MPropertyFriendlyName "only set distance once" - bool m_bSetOnce; // 0x210 + bool m_bSetOnce; // 0x230 private: - [[maybe_unused]] uint8_t __pad0211[0x3]; // 0x211 + [[maybe_unused]] uint8_t __pad0231[0x3]; // 0x231 public: // MPropertyFriendlyName "distance minimum" - float m_flInputMin; // 0x214 + float m_flInputMin; // 0x234 // MPropertyFriendlyName "distance maximum" - float m_flInputMax; // 0x218 + float m_flInputMax; // 0x238 // MPropertyFriendlyName "output minimum" - float m_flOutputMin; // 0x21c + float m_flOutputMin; // 0x23c // MPropertyFriendlyName "output maximum" - float m_flOutputMax; // 0x220 + float m_flOutputMax; // 0x240 // MPropertyFriendlyName "maximum trace length" - float m_flMaxTraceLength; // 0x224 + float m_flMaxTraceLength; // 0x244 // MPropertyFriendlyName "LOS Failure Scale" - float m_flLOSScale; // 0x228 + float m_flLOSScale; // 0x248 // MPropertyFriendlyName "ensure line of sight" - bool m_bLOS; // 0x22c + bool m_bLOS; // 0x24c // MPropertyFriendlyName "LOS collision group" - char m_CollisionGroupName[128]; // 0x22d + char m_CollisionGroupName[128]; // 0x24d private: - [[maybe_unused]] uint8_t __pad02ad[0x3]; // 0x2ad + [[maybe_unused]] uint8_t __pad02cd[0x3]; // 0x2cd public: // MPropertyFriendlyName "Trace Set" - ParticleTraceSet_t m_nTraceSet; // 0x2b0 + ParticleTraceSet_t m_nTraceSet; // 0x2d0 // MPropertyFriendlyName "set parent" - ParticleParentSetMode_t m_nSetParent; // 0x2b4 + ParticleParentSetMode_t m_nSetParent; // 0x2d4 }; // Alignment: 3 -// Size: 0x220 +// Size: 0x240 class C_OP_SetControlPointToPlayer : public CParticleFunctionPreEmission { public: // MPropertyFriendlyName "control point number" - int32_t m_nCP1; // 0x200 + int32_t m_nCP1; // 0x220 // MPropertyFriendlyName "control point offset" // MVectorIsCoordinate - Vector m_vecCP1Pos; // 0x204 + Vector m_vecCP1Pos; // 0x224 // MPropertyFriendlyName "use eye orientation" - bool m_bOrientToEyes; // 0x210 + bool m_bOrientToEyes; // 0x230 }; // Alignment: 4 -// Size: 0x220 +// Size: 0x240 class C_OP_SetControlPointToHand : public CParticleFunctionPreEmission { public: // MPropertyFriendlyName "control point number" - int32_t m_nCP1; // 0x200 + int32_t m_nCP1; // 0x220 // MPropertyFriendlyName "hand" - int32_t m_nHand; // 0x204 + int32_t m_nHand; // 0x224 // MPropertyFriendlyName "control point offset" // MVectorIsCoordinate - Vector m_vecCP1Pos; // 0x208 + Vector m_vecCP1Pos; // 0x228 // MPropertyFriendlyName "use hand orientation" - bool m_bOrientToHand; // 0x214 + bool m_bOrientToHand; // 0x234 }; // Alignment: 3 -// Size: 0x220 +// Size: 0x240 class C_OP_SetControlPointToHMD : public CParticleFunctionPreEmission { public: // MPropertyFriendlyName "control point number" - int32_t m_nCP1; // 0x200 + int32_t m_nCP1; // 0x220 // MPropertyFriendlyName "control point offset" // MVectorIsCoordinate - Vector m_vecCP1Pos; // 0x204 + Vector m_vecCP1Pos; // 0x224 // MPropertyFriendlyName "use hmd orientation" - bool m_bOrientToHMD; // 0x210 + bool m_bOrientToHMD; // 0x230 }; // Alignment: 3 -// Size: 0x2a0 +// Size: 0x2c0 class C_OP_SetControlPointPositionToTimeOfDayValue : public CParticleFunctionPreEmission { public: // MPropertyFriendlyName "control point number" - int32_t m_nControlPointNumber; // 0x200 + int32_t m_nControlPointNumber; // 0x220 // MPropertyFriendlyName "time-of-day parameter" - char m_pszTimeOfDayParameter[128]; // 0x204 + char m_pszTimeOfDayParameter[128]; // 0x224 // MPropertyFriendlyName "default value" - Vector m_vecDefaultValue; // 0x284 + Vector m_vecDefaultValue; // 0x2a4 }; // Alignment: 2 -// Size: 0x210 +// Size: 0x230 class C_OP_SetControlPointToCenter : public CParticleFunctionPreEmission { public: // MPropertyFriendlyName "control point number to set" - int32_t m_nCP1; // 0x200 + int32_t m_nCP1; // 0x220 // MPropertyFriendlyName "center offset" // MVectorIsCoordinate - Vector m_vecCP1Pos; // 0x204 + Vector m_vecCP1Pos; // 0x224 }; // Alignment: 6 -// Size: 0x7e0 +// Size: 0x820 class C_OP_SetControlPointToCPVelocity : public CParticleFunctionPreEmission { public: // MPropertyFriendlyName "control point input" - int32_t m_nCPInput; // 0x200 + int32_t m_nCPInput; // 0x220 // MPropertyFriendlyName "control point number to set velocity" - int32_t m_nCPOutputVel; // 0x204 + int32_t m_nCPOutputVel; // 0x224 // MPropertyFriendlyName "normalize output" - bool m_bNormalize; // 0x208 + bool m_bNormalize; // 0x228 private: - [[maybe_unused]] uint8_t __pad0209[0x3]; // 0x209 + [[maybe_unused]] uint8_t __pad0229[0x3]; // 0x229 public: // MPropertyFriendlyName "control point number to set magnitude" - int32_t m_nCPOutputMag; // 0x20c + int32_t m_nCPOutputMag; // 0x22c // MPropertyFriendlyName "control point field for magnitude" // MPropertyAttributeChoiceName "vector_component" - int32_t m_nCPField; // 0x210 + int32_t m_nCPField; // 0x230 private: - [[maybe_unused]] uint8_t __pad0214[0x4]; // 0x214 + [[maybe_unused]] uint8_t __pad0234[0x4]; // 0x234 public: // MPropertyFriendlyName "comparison velocity" - CParticleCollectionVecInput m_vecComparisonVelocity; // 0x218 + CParticleCollectionVecInput m_vecComparisonVelocity; // 0x238 }; // Alignment: 2 -// Size: 0x210 +// Size: 0x230 class C_OP_SetControlPointOrientationToCPVelocity : public CParticleFunctionPreEmission { public: // MPropertyFriendlyName "control point input for velocity" - int32_t m_nCPInput; // 0x200 + int32_t m_nCPInput; // 0x220 // MPropertyFriendlyName "control point output for orientation" - int32_t m_nCPOutput; // 0x204 + int32_t m_nCPOutput; // 0x224 }; // Alignment: 3 -// Size: 0x340 +// Size: 0x370 class C_OP_StopAfterCPDuration : public CParticleFunctionPreEmission { public: // MPropertyFriendlyName "duration at which to stop" - CParticleCollectionFloatInput m_flDuration; // 0x200 + CParticleCollectionFloatInput m_flDuration; // 0x220 // MPropertyFriendlyName "destroy all particles immediately" - bool m_bDestroyImmediately; // 0x338 + bool m_bDestroyImmediately; // 0x360 // MPropertyFriendlyName "play end cap effect" - bool m_bPlayEndCap; // 0x339 + bool m_bPlayEndCap; // 0x361 }; // Alignment: 4 -// Size: 0x910 +// Size: 0x950 class C_OP_SetControlPointRotation : public CParticleFunctionPreEmission { public: // MPropertyFriendlyName "rotation axis" // MVectorIsCoordinate - CParticleCollectionVecInput m_vecRotAxis; // 0x200 + CParticleCollectionVecInput m_vecRotAxis; // 0x220 // MPropertyFriendlyName "rotation rate" - CParticleCollectionFloatInput m_flRotRate; // 0x7c8 + CParticleCollectionFloatInput m_flRotRate; // 0x808 // MPropertyFriendlyName "control point" - int32_t m_nCP; // 0x900 + int32_t m_nCP; // 0x948 // MPropertyFriendlyName "local space control point" - int32_t m_nLocalCP; // 0x904 + int32_t m_nLocalCP; // 0x94c }; // Alignment: 10 -// Size: 0x230 +// Size: 0x250 class C_OP_RemapCPtoCP : public CParticleFunctionPreEmission { public: // MPropertyFriendlyName "input control point number" - int32_t m_nInputControlPoint; // 0x200 + int32_t m_nInputControlPoint; // 0x220 // MPropertyFriendlyName "output control point number" - int32_t m_nOutputControlPoint; // 0x204 + int32_t m_nOutputControlPoint; // 0x224 // MPropertyFriendlyName "input field" // MPropertyAttributeChoiceName "vector_component" - int32_t m_nInputField; // 0x208 + int32_t m_nInputField; // 0x228 // MPropertyFriendlyName "output field" // MPropertyAttributeChoiceName "vector_component" - int32_t m_nOutputField; // 0x20c + int32_t m_nOutputField; // 0x22c // MPropertyFriendlyName "input minimum" - float m_flInputMin; // 0x210 + float m_flInputMin; // 0x230 // MPropertyFriendlyName "input maximum" - float m_flInputMax; // 0x214 + float m_flInputMax; // 0x234 // MPropertyFriendlyName "output minimum" - float m_flOutputMin; // 0x218 + float m_flOutputMin; // 0x238 // MPropertyFriendlyName "output maximum" - float m_flOutputMax; // 0x21c + float m_flOutputMax; // 0x23c // MPropertyFriendlyName "use the derivative" - bool m_bDerivative; // 0x220 + bool m_bDerivative; // 0x240 private: - [[maybe_unused]] uint8_t __pad0221[0x3]; // 0x221 + [[maybe_unused]] uint8_t __pad0241[0x3]; // 0x241 public: // MPropertyFriendlyName "interpolation" - float m_flInterpRate; // 0x224 + float m_flInterpRate; // 0x244 }; // Alignment: 4 -// Size: 0x220 +// Size: 0x240 class C_OP_HSVShiftToCP : public CParticleFunctionPreEmission { public: // MPropertyFriendlyName "Target color control point number" - int32_t m_nColorCP; // 0x200 + int32_t m_nColorCP; // 0x220 // MPropertyFriendlyName "Color Gem Enable control point number" - int32_t m_nColorGemEnableCP; // 0x204 + int32_t m_nColorGemEnableCP; // 0x224 // MPropertyFriendlyName "output control point number" - int32_t m_nOutputCP; // 0x208 + int32_t m_nOutputCP; // 0x228 // MPropertyFriendlyName "Default HSV Color" - Color m_DefaultHSVColor; // 0x20c + Color m_DefaultHSVColor; // 0x22c }; // Alignment: 11 -// Size: 0x3f0 +// Size: 0x410 class C_OP_SetControlPointToImpactPoint : public CParticleFunctionPreEmission { public: // MPropertyFriendlyName "control point to set" - int32_t m_nCPOut; // 0x200 + int32_t m_nCPOut; // 0x220 // MPropertyFriendlyName "control point to trace from" - int32_t m_nCPIn; // 0x204 + int32_t m_nCPIn; // 0x224 // MPropertyFriendlyName "trace update rate" - float m_flUpdateRate; // 0x208 + float m_flUpdateRate; // 0x228 private: - [[maybe_unused]] uint8_t __pad020c[0x4]; // 0x20c + [[maybe_unused]] uint8_t __pad022c[0x4]; // 0x22c public: // MPropertyFriendlyName "max trace length" - CParticleCollectionFloatInput m_flTraceLength; // 0x210 + CParticleCollectionFloatInput m_flTraceLength; // 0x230 // MPropertyFriendlyName "offset start point amount" - float m_flStartOffset; // 0x348 + float m_flStartOffset; // 0x370 // MPropertyFriendlyName "offset end point amount" - float m_flOffset; // 0x34c + float m_flOffset; // 0x374 // MPropertyFriendlyName "trace direction override" // MVectorIsCoordinate - Vector m_vecTraceDir; // 0x350 + Vector m_vecTraceDir; // 0x378 // MPropertyFriendlyName "trace collision group" - char m_CollisionGroupName[128]; // 0x35c + char m_CollisionGroupName[128]; // 0x384 // MPropertyFriendlyName "Trace Set" - ParticleTraceSet_t m_nTraceSet; // 0x3dc + ParticleTraceSet_t m_nTraceSet; // 0x404 // MPropertyFriendlyName "set to trace endpoint if no collision" - bool m_bSetToEndpoint; // 0x3e0 + bool m_bSetToEndpoint; // 0x408 // MPropertyFriendlyName "trace to closest surface along all cardinal directions" - bool m_bTraceToClosestSurface; // 0x3e1 + bool m_bTraceToClosestSurface; // 0x409 }; // Alignment: 6 -// Size: 0x350 +// Size: 0x370 class C_OP_SetCPOrientationToPointAtCP : public CParticleFunctionPreEmission { public: // MPropertyFriendlyName "CP to point towards" - int32_t m_nInputCP; // 0x200 + int32_t m_nInputCP; // 0x220 // MPropertyFriendlyName "CP to set" - int32_t m_nOutputCP; // 0x204 + int32_t m_nOutputCP; // 0x224 // MPropertyFriendlyName "Interpolation" - CParticleCollectionFloatInput m_flInterpolation; // 0x208 + CParticleCollectionFloatInput m_flInterpolation; // 0x228 // MPropertyFriendlyName "2D Orient" - bool m_b2DOrientation; // 0x340 + bool m_b2DOrientation; // 0x368 // MPropertyFriendlyName "Avoid Vertical Axis Singularity" - bool m_bAvoidSingularity; // 0x341 + bool m_bAvoidSingularity; // 0x369 // MPropertyFriendlyName "Point Away" - bool m_bPointAway; // 0x342 + bool m_bPointAway; // 0x36a }; // Alignment: 3 -// Size: 0x340 +// Size: 0x370 class C_OP_EnableChildrenFromParentParticleCount : public CParticleFunctionPreEmission { public: // MPropertyFriendlyName "group ID to affect" - int32_t m_nChildGroupID; // 0x200 + int32_t m_nChildGroupID; // 0x220 // MPropertyFriendlyName "first child to enable" - int32_t m_nFirstChild; // 0x204 + int32_t m_nFirstChild; // 0x224 // MPropertyFriendlyName "max # of children to enable (-1 for max particle count)" - CParticleCollectionFloatInput m_nNumChildrenToEnable; // 0x208 + CParticleCollectionFloatInput m_nNumChildrenToEnable; // 0x228 }; // Alignment: 5 -// Size: 0x5b0 +// Size: 0x5f0 class C_OP_SelectivelyEnableChildren : public CParticleFunctionPreEmission { public: // MPropertyFriendlyName "group ID to affect" - CParticleCollectionFloatInput m_nChildGroupID; // 0x200 + CParticleCollectionFloatInput m_nChildGroupID; // 0x220 // MPropertyFriendlyName "first child to enable" - CParticleCollectionFloatInput m_nFirstChild; // 0x338 + CParticleCollectionFloatInput m_nFirstChild; // 0x360 // MPropertyFriendlyName "# of children to enable" - CParticleCollectionFloatInput m_nNumChildrenToEnable; // 0x470 + CParticleCollectionFloatInput m_nNumChildrenToEnable; // 0x4a0 // MPropertyFriendlyName "play endcap when children are removed" - bool m_bPlayEndcapOnStop; // 0x5a8 + bool m_bPlayEndcapOnStop; // 0x5e0 // MPropertyFriendlyName "destroy particles immediately when child is removed" - bool m_bDestroyImmediately; // 0x5a9 + bool m_bDestroyImmediately; // 0x5e1 }; // Alignment: 2 -// Size: 0x210 +// Size: 0x230 class C_OP_PlayEndCapWhenFinished : public CParticleFunctionPreEmission { public: // MPropertyFriendlyName "play when emission ends" - bool m_bFireOnEmissionEnd; // 0x200 + bool m_bFireOnEmissionEnd; // 0x220 // MPropertyFriendlyName "wait for children to finish" - bool m_bIncludeChildren; // 0x201 + bool m_bIncludeChildren; // 0x221 }; // Alignment: 1 -// Size: 0x210 +// Size: 0x230 class C_OP_ForceControlPointStub : public CParticleFunctionPreEmission { public: // MPropertyFriendlyName "control point" - int32_t m_ControlPoint; // 0x200 + int32_t m_ControlPoint; // 0x220 }; // Alignment: 9 -// Size: 0x240 +// Size: 0x260 class C_OP_DriveCPFromGlobalSoundFloat : public CParticleFunctionPreEmission { public: // MPropertyFriendlyName "output control point" - int32_t m_nOutputControlPoint; // 0x200 + int32_t m_nOutputControlPoint; // 0x220 // MPropertyFriendlyName "output field" // MPropertyAttributeChoiceName "vector_component" - int32_t m_nOutputField; // 0x204 + int32_t m_nOutputField; // 0x224 // MPropertyFriendlyName "input minimum" - float m_flInputMin; // 0x208 + float m_flInputMin; // 0x228 // MPropertyFriendlyName "input maximum" - float m_flInputMax; // 0x20c + float m_flInputMax; // 0x22c // MPropertyFriendlyName "output minimum" - float m_flOutputMin; // 0x210 + float m_flOutputMin; // 0x230 // MPropertyFriendlyName "output maximum" - float m_flOutputMax; // 0x214 + float m_flOutputMax; // 0x234 // MPropertyFriendlyName "sound stack name" - CUtlString m_StackName; // 0x218 + CUtlString m_StackName; // 0x238 // MPropertyFriendlyName "sound operator name" - CUtlString m_OperatorName; // 0x220 + CUtlString m_OperatorName; // 0x240 // MPropertyFriendlyName "sound field name" - CUtlString m_FieldName; // 0x228 + CUtlString m_FieldName; // 0x248 }; // Alignment: 3 -// Size: 0x210 +// Size: 0x230 class C_OP_SetControlPointFieldToWater : public CParticleFunctionPreEmission { public: // MPropertyFriendlyName "source CP" - int32_t m_nSourceCP; // 0x200 + int32_t m_nSourceCP; // 0x220 // MPropertyFriendlyName "dest CP" - int32_t m_nDestCP; // 0x204 + int32_t m_nDestCP; // 0x224 // MPropertyFriendlyName "dest control point component" // MPropertyAttributeChoiceName "vector_component" - int32_t m_nCPField; // 0x208 + int32_t m_nCPField; // 0x228 }; // Alignment: 7 -// Size: 0x360 +// Size: 0x380 class C_OP_SetControlPointToWaterSurface : public CParticleFunctionPreEmission { public: // MPropertyFriendlyName "source CP" - int32_t m_nSourceCP; // 0x200 + int32_t m_nSourceCP; // 0x220 // MPropertyFriendlyName "CP to set to surface" - int32_t m_nDestCP; // 0x204 + int32_t m_nDestCP; // 0x224 // MPropertyFriendlyName "CP to set to surface current flow velocity" // MPropertySuppressExpr "mod != hlx" - int32_t m_nFlowCP; // 0x208 + int32_t m_nFlowCP; // 0x228 // MPropertyFriendlyName "CP to set component of if water" - int32_t m_nActiveCP; // 0x20c + int32_t m_nActiveCP; // 0x22c // MPropertyFriendlyName "CP component" // MPropertyAttributeChoiceName "vector_component" - int32_t m_nActiveCPField; // 0x210 + int32_t m_nActiveCPField; // 0x230 private: - [[maybe_unused]] uint8_t __pad0214[0x4]; // 0x214 + [[maybe_unused]] uint8_t __pad0234[0x4]; // 0x234 public: // MPropertyFriendlyName "retest rate" - CParticleCollectionFloatInput m_flRetestRate; // 0x218 + CParticleCollectionFloatInput m_flRetestRate; // 0x238 // MPropertyFriendlyName "adaptive retest on moving surface" - bool m_bAdaptiveThreshold; // 0x350 + bool m_bAdaptiveThreshold; // 0x378 }; // Alignment: 5 -// Size: 0x5c0 +// Size: 0x5f0 class C_OP_RepeatedTriggerChildGroup : public CParticleFunctionPreEmission { public: // MPropertyFriendlyName "group ID to affect" - int32_t m_nChildGroupID; // 0x200 + int32_t m_nChildGroupID; // 0x220 private: - [[maybe_unused]] uint8_t __pad0204[0x4]; // 0x204 + [[maybe_unused]] uint8_t __pad0224[0x4]; // 0x224 public: // MPropertyFriendlyName "Within-Cluster Refire Time" - CParticleCollectionFloatInput m_flClusterRefireTime; // 0x208 + CParticleCollectionFloatInput m_flClusterRefireTime; // 0x228 // MPropertyFriendlyName "Within-Cluster Fire Count Before Cooldown" - CParticleCollectionFloatInput m_flClusterSize; // 0x340 + CParticleCollectionFloatInput m_flClusterSize; // 0x368 // MPropertyFriendlyName "Cluster Cooldown Time" - CParticleCollectionFloatInput m_flClusterCooldown; // 0x478 + CParticleCollectionFloatInput m_flClusterCooldown; // 0x4a8 // MPropertyFriendlyName "limit active children to parent particle count" - bool m_bLimitChildCount; // 0x5b0 + bool m_bLimitChildCount; // 0x5e8 }; // Alignment: 2 -// Size: 0x340 +// Size: 0x370 class C_OP_ChooseRandomChildrenInGroup : public CParticleFunctionPreEmission { public: // MPropertyFriendlyName "group ID to affect" - int32_t m_nChildGroupID; // 0x200 + int32_t m_nChildGroupID; // 0x220 private: - [[maybe_unused]] uint8_t __pad0204[0x4]; // 0x204 + [[maybe_unused]] uint8_t __pad0224[0x4]; // 0x224 public: // MPropertyFriendlyName "Number of Children to Use" - CParticleCollectionFloatInput m_flNumberOfChildren; // 0x208 + CParticleCollectionFloatInput m_flNumberOfChildren; // 0x228 }; // Alignment: 1 -// Size: 0x340 +// Size: 0x360 class C_OP_SetSimulationRate : public CParticleFunctionPreEmission { public: // MPropertyFriendlyName "simulation timescale" - CParticleCollectionFloatInput m_flSimulationScale; // 0x200 + CParticleCollectionFloatInput m_flSimulationScale; // 0x220 }; // Alignment: 5 -// Size: 0x220 +// Size: 0x240 class C_OP_ControlPointToRadialScreenSpace : public CParticleFunctionPreEmission { public: // MPropertyFriendlyName "source Control Point in World" - int32_t m_nCPIn; // 0x200 + int32_t m_nCPIn; // 0x220 // MPropertyFriendlyName "Source Control Point offset" // MVectorIsCoordinate - Vector m_vecCP1Pos; // 0x204 + Vector m_vecCP1Pos; // 0x224 // MPropertyFriendlyName "Set control point number" - int32_t m_nCPOut; // 0x210 + int32_t m_nCPOut; // 0x230 // MPropertyFriendlyName "Output field 0-2 X/Y/Z" // MPropertyAttributeChoiceName "vector_component" - int32_t m_nCPOutField; // 0x214 + int32_t m_nCPOutField; // 0x234 // MPropertyFriendlyName "Ss Pos and Dot OUT CP" - int32_t m_nCPSSPosOut; // 0x218 + int32_t m_nCPSSPosOut; // 0x238 }; // Alignment: 15 -// Size: 0xf80 +// Size: 0x1000 class C_OP_LightningSnapshotGenerator : public CParticleFunctionPreEmission { public: // MPropertyFriendlyName "snapshot control point number" - int32_t m_nCPSnapshot; // 0x200 + int32_t m_nCPSnapshot; // 0x220 // MPropertyFriendlyName "start control point number" - int32_t m_nCPStartPnt; // 0x204 + int32_t m_nCPStartPnt; // 0x224 // MPropertyFriendlyName "end control point number" - int32_t m_nCPEndPnt; // 0x208 + int32_t m_nCPEndPnt; // 0x228 private: - [[maybe_unused]] uint8_t __pad020c[0x4]; // 0x20c + [[maybe_unused]] uint8_t __pad022c[0x4]; // 0x22c public: // MPropertyFriendlyName "Recursion Depth" - CParticleCollectionFloatInput m_flSegments; // 0x210 + CParticleCollectionFloatInput m_flSegments; // 0x230 // MPropertyFriendlyName "Offset" - CParticleCollectionFloatInput m_flOffset; // 0x348 + CParticleCollectionFloatInput m_flOffset; // 0x370 // MPropertyFriendlyName "Offset Decay" - CParticleCollectionFloatInput m_flOffsetDecay; // 0x480 + CParticleCollectionFloatInput m_flOffsetDecay; // 0x4b0 // MPropertyFriendlyName "Recalculation Rate" - CParticleCollectionFloatInput m_flRecalcRate; // 0x5b8 + CParticleCollectionFloatInput m_flRecalcRate; // 0x5f0 // MPropertyFriendlyName "UV Scale" - CParticleCollectionFloatInput m_flUVScale; // 0x6f0 + CParticleCollectionFloatInput m_flUVScale; // 0x730 // MPropertyFriendlyName "UV Offset" - CParticleCollectionFloatInput m_flUVOffset; // 0x828 + CParticleCollectionFloatInput m_flUVOffset; // 0x870 // MPropertyFriendlyName "Branch Split Rate" - CParticleCollectionFloatInput m_flSplitRate; // 0x960 + CParticleCollectionFloatInput m_flSplitRate; // 0x9b0 // MPropertyFriendlyName "Branch Twist" - CParticleCollectionFloatInput m_flBranchTwist; // 0xa98 + CParticleCollectionFloatInput m_flBranchTwist; // 0xaf0 // MPropertyFriendlyName "Branch Behavior" - ParticleLightnintBranchBehavior_t m_nBranchBehavior; // 0xbd0 + ParticleLightnintBranchBehavior_t m_nBranchBehavior; // 0xc30 private: - [[maybe_unused]] uint8_t __pad0bd4[0x4]; // 0xbd4 + [[maybe_unused]] uint8_t __pad0c34[0x4]; // 0xc34 public: // MPropertyFriendlyName "Start Radius" - CParticleCollectionFloatInput m_flRadiusStart; // 0xbd8 + CParticleCollectionFloatInput m_flRadiusStart; // 0xc38 // MPropertyFriendlyName "End Radius" - CParticleCollectionFloatInput m_flRadiusEnd; // 0xd10 + CParticleCollectionFloatInput m_flRadiusEnd; // 0xd78 // MPropertyFriendlyName "Dedicated Particle Pool Count" - CParticleCollectionFloatInput m_flDedicatedPool; // 0xe48 + CParticleCollectionFloatInput m_flDedicatedPool; // 0xeb8 }; // Alignment: 5 -// Size: 0x7e0 +// Size: 0x820 class C_OP_RemapExternalWindToCP : public CParticleFunctionPreEmission { public: // MPropertyFriendlyName "control point to sample wind" - int32_t m_nCP; // 0x200 + int32_t m_nCP; // 0x220 // MPropertyFriendlyName "output control point" - int32_t m_nCPOutput; // 0x204 + int32_t m_nCPOutput; // 0x224 // MPropertyFriendlyName "wind scale" - CParticleCollectionVecInput m_vecScale; // 0x208 + CParticleCollectionVecInput m_vecScale; // 0x228 // MPropertyFriendlyName "set magnitude instead of vector" - bool m_bSetMagnitude; // 0x7d0 + bool m_bSetMagnitude; // 0x810 private: - [[maybe_unused]] uint8_t __pad07d1[0x3]; // 0x7d1 + [[maybe_unused]] uint8_t __pad0811[0x3]; // 0x811 public: // MPropertyFriendlyName "magnitude output component" // MPropertyAttributeChoiceName "vector_component" // MPropertySuppressExpr "!m_bSetMagnitude" - int32_t m_nOutVectorField; // 0x7d4 + int32_t m_nOutVectorField; // 0x814 }; // Alignment: 4 -// Size: 0x480 +// Size: 0x4b0 class C_OP_QuantizeCPComponent : public CParticleFunctionPreEmission { public: // MPropertyFriendlyName "input" - CParticleCollectionFloatInput m_flInputValue; // 0x200 + CParticleCollectionFloatInput m_flInputValue; // 0x220 // MPropertyFriendlyName "output control point" - int32_t m_nCPOutput; // 0x338 + int32_t m_nCPOutput; // 0x360 // MPropertyFriendlyName "output component" // MPropertyAttributeChoiceName "vector_component" - int32_t m_nOutVectorField; // 0x33c + int32_t m_nOutVectorField; // 0x364 // MPropertyFriendlyName "interval to snap to" - CParticleCollectionFloatInput m_flQuantizeValue; // 0x340 + CParticleCollectionFloatInput m_flQuantizeValue; // 0x368 }; // Alignment: 1 -// Size: 0x240 +// Size: 0x270 class C_OP_RenderPoints : public CParticleFunctionRenderer { public: - CStrongHandle< InfoForResourceTypeIMaterial2 > m_hMaterial; // 0x230 + CStrongHandle< InfoForResourceTypeIMaterial2 > m_hMaterial; // 0x260 }; // Alignment: 7 -// Size: 0x22e0 +// Size: 0x2510 class CBaseTrailRenderer : public CBaseRendererSource2 { public: // MPropertyStartGroup "Orientation" // MPropertyFriendlyName "orientation type" // MPropertySortPriority "750" - ParticleOrientationChoiceList_t m_nOrientationType; // 0x2050 + ParticleOrientationChoiceList_t m_nOrientationType; // 0x2270 // MPropertyFriendlyName "orientation control point" // MPropertySortPriority "750" // MPropertySuppressExpr "m_nOrientationType != PARTICLE_ORIENTATION_ALIGN_TO_PARTICLE_NORMAL && m_nOrientationType != PARTICLE_ORIENTATION_SCREENALIGN_TO_PARTICLE_NORMAL" - int32_t m_nOrientationControlPoint; // 0x2054 + int32_t m_nOrientationControlPoint; // 0x2274 // MPropertyStartGroup "Screenspace Fading and culling" // MPropertyFriendlyName "minimum visual screen-size" // MPropertySortPriority "900" - float m_flMinSize; // 0x2058 + float m_flMinSize; // 0x2278 // MPropertyFriendlyName "maximum visual screen-size" // MPropertySortPriority "900" - float m_flMaxSize; // 0x205c + float m_flMaxSize; // 0x227c // MPropertyFriendlyName "start fade screen-size" // MPropertySortPriority "900" - CParticleCollectionFloatInput m_flStartFadeSize; // 0x2060 + CParticleCollectionRendererFloatInput m_flStartFadeSize; // 0x2280 // MPropertyFriendlyName "end fade and cull screen-size" // MPropertySortPriority "900" - CParticleCollectionFloatInput m_flEndFadeSize; // 0x2198 + CParticleCollectionRendererFloatInput m_flEndFadeSize; // 0x23c0 // MPropertyStartGroup "Trail UV Controls" // MPropertyFriendlyName "Clamp Non-Sheet texture V coords" // MPropertySortPriority "800" - bool m_bClampV; // 0x22d0 + bool m_bClampV; // 0x2500 }; // Alignment: 20 -// Size: 0x3390 +// Size: 0x3620 class C_OP_RenderTrails : public CBaseTrailRenderer { public: // MPropertyStartGroup "Screenspace Fading and culling" // MPropertyFriendlyName "enable fading and clamping" // MPropertySortPriority "1000" - bool m_bEnableFadingAndClamping; // 0x22e0 + bool m_bEnableFadingAndClamping; // 0x2510 private: - [[maybe_unused]] uint8_t __pad22e1[0x3]; // 0x22e1 + [[maybe_unused]] uint8_t __pad2511[0x3]; // 0x2511 public: // MPropertyFriendlyName "start fade dot product of normal vs view" // MPropertySortPriority "1000" - float m_flStartFadeDot; // 0x22e4 + float m_flStartFadeDot; // 0x2514 // MPropertyFriendlyName "end fade dot product of normal vs view" // MPropertySortPriority "1000" - float m_flEndFadeDot; // 0x22e8 + float m_flEndFadeDot; // 0x2518 // MPropertyStartGroup "+Trail Length" // MPropertyFriendlyName "Anchor point source" // MPropertyAttributeChoiceName "particlefield_vector" // MPropertySortPriority "800" - ParticleAttributeIndex_t m_nPrevPntSource; // 0x22ec + ParticleAttributeIndex_t m_nPrevPntSource; // 0x251c // MPropertyFriendlyName "max length" // MPropertySortPriority "800" - float m_flMaxLength; // 0x22f0 + float m_flMaxLength; // 0x2520 // MPropertyFriendlyName "min length" // MPropertySortPriority "800" - float m_flMinLength; // 0x22f4 + float m_flMinLength; // 0x2524 // MPropertyFriendlyName "ignore delta time" // MPropertySortPriority "800" - bool m_bIgnoreDT; // 0x22f8 + bool m_bIgnoreDT; // 0x2528 private: - [[maybe_unused]] uint8_t __pad22f9[0x3]; // 0x22f9 + [[maybe_unused]] uint8_t __pad2529[0x3]; // 0x2529 public: // MPropertyFriendlyName "constrain radius to no more than this times the length" // MPropertySortPriority "800" - float m_flConstrainRadiusToLengthRatio; // 0x22fc + float m_flConstrainRadiusToLengthRatio; // 0x252c // MPropertyFriendlyName "amount to scale trail length by" - float m_flLengthScale; // 0x2300 + float m_flLengthScale; // 0x2530 // MPropertyFriendlyName "how long before a trail grows to its full length" - float m_flLengthFadeInTime; // 0x2304 + float m_flLengthFadeInTime; // 0x2534 // MPropertyStartGroup "Trail Head & Tail" // MPropertyFriendlyName "head taper scale" // MPropertySortPriority "800" - CPerParticleFloatInput m_flRadiusHeadTaper; // 0x2308 + CPerParticleFloatInput m_flRadiusHeadTaper; // 0x2538 // MPropertyFriendlyName "head color scale" - CParticleCollectionVecInput m_vecHeadColorScale; // 0x2440 + CParticleCollectionVecInput m_vecHeadColorScale; // 0x2678 // MPropertyFriendlyName "head alpha scale" - CPerParticleFloatInput m_flHeadAlphaScale; // 0x2a08 + CPerParticleFloatInput m_flHeadAlphaScale; // 0x2c60 // MPropertyFriendlyName "tail taper scale" - CPerParticleFloatInput m_flRadiusTaper; // 0x2b40 + CPerParticleFloatInput m_flRadiusTaper; // 0x2da0 // MPropertyFriendlyName "tail color scale" - CParticleCollectionVecInput m_vecTailColorScale; // 0x2c78 + CParticleCollectionVecInput m_vecTailColorScale; // 0x2ee0 // MPropertyFriendlyName "tail alpha scale" - CPerParticleFloatInput m_flTailAlphaScale; // 0x3240 + CPerParticleFloatInput m_flTailAlphaScale; // 0x34c8 // MPropertyStartGroup "Trail UV Controls" // MPropertyFriendlyName "texture UV horizontal Scale field" // MPropertyAttributeChoiceName "particlefield_scalar" // MPropertySortPriority "800" - ParticleAttributeIndex_t m_nHorizCropField; // 0x3378 + ParticleAttributeIndex_t m_nHorizCropField; // 0x3608 // MPropertyFriendlyName "texture UV vertical Scale field" // MPropertyAttributeChoiceName "particlefield_scalar" - ParticleAttributeIndex_t m_nVertCropField; // 0x337c + ParticleAttributeIndex_t m_nVertCropField; // 0x360c // MPropertyFriendlyName "Trail forward shift (fraction)" - float m_flForwardShift; // 0x3380 + float m_flForwardShift; // 0x3610 // MPropertyFriendlyName "Flip U or V texcoords if pitch or yaw go over PI" - bool m_bFlipUVBasedOnPitchYaw; // 0x3384 + bool m_bFlipUVBasedOnPitchYaw; // 0x3614 }; // Alignment: 30 -// Size: 0x2460 +// Size: 0x26a0 class C_OP_RenderRopes : public CBaseRendererSource2 { public: // MPropertyStartGroup "Screenspace Fading and culling" // MPropertyFriendlyName "enable fading and clamping" // MPropertySortPriority "1000" - bool m_bEnableFadingAndClamping; // 0x2050 + bool m_bEnableFadingAndClamping; // 0x2270 private: - [[maybe_unused]] uint8_t __pad2051[0x3]; // 0x2051 + [[maybe_unused]] uint8_t __pad2271[0x3]; // 0x2271 public: // MPropertyFriendlyName "minimum visual screen-size" // MPropertySuppressExpr "!m_bEnableFadingAndClamping" - float m_flMinSize; // 0x2054 + float m_flMinSize; // 0x2274 // MPropertyFriendlyName "maximum visual screen-size" // MPropertySuppressExpr "!m_bEnableFadingAndClamping" - float m_flMaxSize; // 0x2058 + float m_flMaxSize; // 0x2278 // MPropertyFriendlyName "start fade screen-size" // MPropertySuppressExpr "!m_bEnableFadingAndClamping" - float m_flStartFadeSize; // 0x205c + float m_flStartFadeSize; // 0x227c // MPropertyFriendlyName "end fade and cull screen-size" // MPropertySuppressExpr "!m_bEnableFadingAndClamping" - float m_flEndFadeSize; // 0x2060 + float m_flEndFadeSize; // 0x2280 // MPropertyFriendlyName "start fade dot product of normal vs view" // MPropertySortPriority "1000" - float m_flStartFadeDot; // 0x2064 + float m_flStartFadeDot; // 0x2284 // MPropertyFriendlyName "end fade dot product of normal vs view" // MPropertySortPriority "1000" - float m_flEndFadeDot; // 0x2068 + float m_flEndFadeDot; // 0x2288 // MPropertyStartGroup "Rope Tesselation" // MPropertyFriendlyName "amount to taper the width of the trail end by" - float m_flRadiusTaper; // 0x206c + float m_flRadiusTaper; // 0x228c // MPropertyFriendlyName "minium number of quads per render segment" // MPropertySortPriority "850" - int32_t m_nMinTesselation; // 0x2070 + int32_t m_nMinTesselation; // 0x2290 // MPropertyFriendlyName "maximum number of quads per render segment" - int32_t m_nMaxTesselation; // 0x2074 + int32_t m_nMaxTesselation; // 0x2294 // MPropertyFriendlyName "tesselation resolution scale factor" - float m_flTessScale; // 0x2078 + float m_flTessScale; // 0x2298 private: - [[maybe_unused]] uint8_t __pad207c[0x4]; // 0x207c + [[maybe_unused]] uint8_t __pad229c[0x4]; // 0x229c public: // MPropertyStartGroup "+Rope Global UV Controls" // MPropertyFriendlyName "global texture V World Size" // MPropertySortPriority "800" - CParticleCollectionFloatInput m_flTextureVWorldSize; // 0x2080 + CParticleCollectionRendererFloatInput m_flTextureVWorldSize; // 0x22a0 // MPropertyFriendlyName "global texture V Scroll Rate" - CParticleCollectionFloatInput m_flTextureVScrollRate; // 0x21b8 + CParticleCollectionRendererFloatInput m_flTextureVScrollRate; // 0x23e0 // MPropertyFriendlyName "global texture V Offset" - CParticleCollectionFloatInput m_flTextureVOffset; // 0x22f0 + CParticleCollectionRendererFloatInput m_flTextureVOffset; // 0x2520 // MPropertyFriendlyName "global texture V Params CP" - int32_t m_nTextureVParamsCP; // 0x2428 + int32_t m_nTextureVParamsCP; // 0x2660 // MPropertyFriendlyName "Clamp Non-Sheet texture V coords" - bool m_bClampV; // 0x242c + bool m_bClampV; // 0x2664 private: - [[maybe_unused]] uint8_t __pad242d[0x3]; // 0x242d + [[maybe_unused]] uint8_t __pad2665[0x3]; // 0x2665 public: // MPropertyStartGroup "Rope Global UV Controls/CP Scaling" // MPropertyFriendlyName "scale CP start" - int32_t m_nScaleCP1; // 0x2430 + int32_t m_nScaleCP1; // 0x2668 // MPropertyFriendlyName "scale CP end" - int32_t m_nScaleCP2; // 0x2434 + int32_t m_nScaleCP2; // 0x266c // MPropertyFriendlyName "scale V world size by CP distance" - float m_flScaleVSizeByControlPointDistance; // 0x2438 + float m_flScaleVSizeByControlPointDistance; // 0x2670 // MPropertyFriendlyName "scale V scroll rate by CP distance" - float m_flScaleVScrollByControlPointDistance; // 0x243c + float m_flScaleVScrollByControlPointDistance; // 0x2674 // MPropertyFriendlyName "scale V offset by CP distance" - float m_flScaleVOffsetByControlPointDistance; // 0x2440 + float m_flScaleVOffsetByControlPointDistance; // 0x2678 private: - [[maybe_unused]] uint8_t __pad2444[0x1]; // 0x2444 + [[maybe_unused]] uint8_t __pad267c[0x1]; // 0x267c public: // MPropertyStartGroup "Rope Global UV Controls" // MPropertyFriendlyName "Use scalar attribute for texture coordinate" - bool m_bUseScalarForTextureCoordinate; // 0x2445 + bool m_bUseScalarForTextureCoordinate; // 0x267d private: - [[maybe_unused]] uint8_t __pad2446[0x2]; // 0x2446 + [[maybe_unused]] uint8_t __pad267e[0x2]; // 0x267e public: // MPropertyFriendlyName "scalar to use for texture coordinate" // MPropertyAttributeChoiceName "particlefield_scalar" // MPropertySuppressExpr "!m_bUseScalarForTextureCoordinate" - ParticleAttributeIndex_t m_nScalarFieldForTextureCoordinate; // 0x2448 + ParticleAttributeIndex_t m_nScalarFieldForTextureCoordinate; // 0x2680 // MPropertyFriendlyName "scale value to map attribute to texture coordinate" // MPropertySuppressExpr "!m_bUseScalarForTextureCoordinate" - float m_flScalarAttributeTextureCoordScale; // 0x244c + float m_flScalarAttributeTextureCoordScale; // 0x2684 // MPropertyStartGroup "Rope Order Controls" // MPropertyFriendlyName "reverse point order" // MPropertySortPriority "800" - bool m_bReverseOrder; // 0x2450 + bool m_bReverseOrder; // 0x2688 // MPropertyFriendlyName "Closed loop" - bool m_bClosedLoop; // 0x2451 + bool m_bClosedLoop; // 0x2689 private: - [[maybe_unused]] uint8_t __pad2452[0x2]; // 0x2452 + [[maybe_unused]] uint8_t __pad268a[0x2]; // 0x268a public: // MPropertyStartGroup "Orientation" // MPropertyFriendlyName "orientation_type" // MPropertySortPriority "750" - ParticleOrientationChoiceList_t m_nOrientationType; // 0x2454 + ParticleOrientationChoiceList_t m_nOrientationType; // 0x268c // MPropertyFriendlyName "attribute to use for normal" // MPropertyAttributeChoiceName "particlefield_vector" // MPropertySortPriority "750" // MPropertySuppressExpr "m_nOrientationType != PARTICLE_ORIENTATION_ALIGN_TO_PARTICLE_NORMAL && m_nOrientationType != PARTICLE_ORIENTATION_SCREENALIGN_TO_PARTICLE_NORMAL" - ParticleAttributeIndex_t m_nVectorFieldForOrientation; // 0x2458 + ParticleAttributeIndex_t m_nVectorFieldForOrientation; // 0x2690 // MPropertyStartGroup "Material" // MPropertyFriendlyName "draw as opaque" - bool m_bDrawAsOpaque; // 0x245c + bool m_bDrawAsOpaque; // 0x2694 // MPropertyStartGroup "Orientation" // MPropertyFriendlyName "generate normals for cylinder" - bool m_bGenerateNormals; // 0x245d + bool m_bGenerateNormals; // 0x2695 }; // Alignment: 8 -// Size: 0x270 +// Size: 0x2a0 class C_OP_RenderAsModels : public CParticleFunctionRenderer { public: // MPropertyFriendlyName "models" // MParticleRequireDefaultArrayEntry - CUtlVector< ModelReference_t > m_ModelList; // 0x230 + CUtlVector< ModelReference_t > m_ModelList; // 0x260 private: - [[maybe_unused]] uint8_t __pad0248[0x4]; // 0x248 + [[maybe_unused]] uint8_t __pad0278[0x4]; // 0x278 public: // MPropertyFriendlyName "scale factor for radius" - float m_flModelScale; // 0x24c + float m_flModelScale; // 0x27c // MPropertyFriendlyName "scale model to match particle size" - bool m_bFitToModelSize; // 0x250 + bool m_bFitToModelSize; // 0x280 // MPropertyFriendlyName "non-uniform scaling" - bool m_bNonUniformScaling; // 0x251 + bool m_bNonUniformScaling; // 0x281 private: - [[maybe_unused]] uint8_t __pad0252[0x2]; // 0x252 + [[maybe_unused]] uint8_t __pad0282[0x2]; // 0x282 public: // MPropertyFriendlyName "X axis scaling scalar field" // MPropertyAttributeChoiceName "particlefield_scalar" - ParticleAttributeIndex_t m_nXAxisScalingAttribute; // 0x254 + ParticleAttributeIndex_t m_nXAxisScalingAttribute; // 0x284 // MPropertyFriendlyName "Y axis scaling scalar field" // MPropertyAttributeChoiceName "particlefield_scalar" - ParticleAttributeIndex_t m_nYAxisScalingAttribute; // 0x258 + ParticleAttributeIndex_t m_nYAxisScalingAttribute; // 0x288 // MPropertyFriendlyName "Z axis scaling scalar field" // MPropertyAttributeChoiceName "particlefield_scalar" - ParticleAttributeIndex_t m_nZAxisScalingAttribute; // 0x25c + ParticleAttributeIndex_t m_nZAxisScalingAttribute; // 0x28c // MPropertyFriendlyName "model size cull bloat" // MPropertyAttributeChoiceName "particlefield_size_cull_bloat" - int32_t m_nSizeCullBloat; // 0x260 + int32_t m_nSizeCullBloat; // 0x290 }; // Alignment: 7 -// Size: 0x260 +// Size: 0x290 class C_OP_RenderLights : public C_OP_RenderPoints { public: // MPropertyFriendlyName "animation rate" - float m_flAnimationRate; // 0x240 + float m_flAnimationRate; // 0x270 // MPropertyFriendlyName "animation type" - AnimationType_t m_nAnimationType; // 0x244 + AnimationType_t m_nAnimationType; // 0x274 // MPropertyFriendlyName "set animation value in FPS" - bool m_bAnimateInFPS; // 0x248 + bool m_bAnimateInFPS; // 0x278 private: - [[maybe_unused]] uint8_t __pad0249[0x3]; // 0x249 + [[maybe_unused]] uint8_t __pad0279[0x3]; // 0x279 public: // MPropertyFriendlyName "minimum visual size" - float m_flMinSize; // 0x24c + float m_flMinSize; // 0x27c // MPropertyFriendlyName "maximum visual size" - float m_flMaxSize; // 0x250 + float m_flMaxSize; // 0x280 // MPropertyFriendlyName "size at which to start fading" - float m_flStartFadeSize; // 0x254 + float m_flStartFadeSize; // 0x284 // MPropertyFriendlyName "size at which to fade away" - float m_flEndFadeSize; // 0x258 + float m_flEndFadeSize; // 0x288 }; // Alignment: 5 -// Size: 0x5f0 +// Size: 0x630 class C_OP_RenderBlobs : public CParticleFunctionRenderer { public: // MPropertyFriendlyName "cube width" - CParticleCollectionFloatInput m_cubeWidth; // 0x230 + CParticleCollectionRendererFloatInput m_cubeWidth; // 0x260 // MPropertyFriendlyName "cutoff radius" - CParticleCollectionFloatInput m_cutoffRadius; // 0x368 + CParticleCollectionRendererFloatInput m_cutoffRadius; // 0x3a0 // MPropertyFriendlyName "render radius" - CParticleCollectionFloatInput m_renderRadius; // 0x4a0 + CParticleCollectionRendererFloatInput m_renderRadius; // 0x4e0 // MPropertyFriendlyName "scale CP (cube width/cutoff/render = x/y/z)" - int32_t m_nScaleCP; // 0x5d8 + int32_t m_nScaleCP; // 0x620 private: - [[maybe_unused]] uint8_t __pad05dc[0x4]; // 0x5dc + [[maybe_unused]] uint8_t __pad0624[0x4]; // 0x624 public: - CStrongHandle< InfoForResourceTypeIMaterial2 > m_hMaterial; // 0x5e0 + CStrongHandle< InfoForResourceTypeIMaterial2 > m_hMaterial; // 0x628 }; // Alignment: 2 -// Size: 0x240 +// Size: 0x270 class C_OP_RenderScreenVelocityRotate : public CParticleFunctionRenderer { public: // MPropertyFriendlyName "rotate rate(dps)" - float m_flRotateRateDegrees; // 0x230 + float m_flRotateRateDegrees; // 0x260 // MPropertyFriendlyName "forward angle" - float m_flForwardDegrees; // 0x234 + float m_flForwardDegrees; // 0x264 }; // Alignment: 48 -// Size: 0x21d0 +// Size: 0x22e0 class C_OP_RenderModels : public CParticleFunctionRenderer { public: // MPropertyFriendlyName "Only Render in effects bloom pass" // MPropertySortPriority "1100" - bool m_bOnlyRenderInEffectsBloomPass; // 0x230 + bool m_bOnlyRenderInEffectsBloomPass; // 0x260 // MPropertyFriendlyName "Only Render in effects water pass" // MPropertySortPriority "1050" // MPropertySuppressExpr "mod != csgo" - bool m_bOnlyRenderInEffectsWaterPass; // 0x231 + bool m_bOnlyRenderInEffectsWaterPass; // 0x261 // MPropertyFriendlyName "Use Mixed Resolution Rendering" // MPropertySortPriority "1200" - bool m_bUseMixedResolutionRendering; // 0x232 + bool m_bUseMixedResolutionRendering; // 0x262 // MPropertyFriendlyName "Only Render in effects game overlay pass" // MPropertySortPriority "1210" // MPropertySuppressExpr "mod != csgo" - bool m_bOnlyRenderInEffecsGameOverlay; // 0x233 + bool m_bOnlyRenderInEffecsGameOverlay; // 0x263 private: - [[maybe_unused]] uint8_t __pad0234[0x4]; // 0x234 + [[maybe_unused]] uint8_t __pad0264[0x4]; // 0x264 public: // MPropertyFriendlyName "models" // MParticleRequireDefaultArrayEntry // MPropertyAutoExpandSelf // MPropertySortPriority "775" - CUtlVector< ModelReference_t > m_ModelList; // 0x238 + CUtlVector< ModelReference_t > m_ModelList; // 0x268 private: - [[maybe_unused]] uint8_t __pad0250[0x4]; // 0x250 + [[maybe_unused]] uint8_t __pad0280[0x4]; // 0x280 public: // MPropertyFriendlyName "bodygroup field" // MPropertyAttributeChoiceName "particlefield_scalar" - ParticleAttributeIndex_t m_nBodyGroupField; // 0x254 + ParticleAttributeIndex_t m_nBodyGroupField; // 0x284 // MPropertyFriendlyName "submodel field" // MPropertyAttributeChoiceName "particlefield_scalar" - ParticleAttributeIndex_t m_nSubModelField; // 0x258 + ParticleAttributeIndex_t m_nSubModelField; // 0x288 // MPropertyStartGroup "Orientation" // MPropertyFriendlyName "ignore normal" // MPropertySortPriority "750" - bool m_bIgnoreNormal; // 0x25c + bool m_bIgnoreNormal; // 0x28c // MPropertyFriendlyName "orient model z to normal" // MPropertySortPriority "750" // MPropertySuppressExpr "m_bIgnoreNormal" - bool m_bOrientZ; // 0x25d + bool m_bOrientZ; // 0x28d // MPropertyFriendlyName "center mesh" // MPropertySortPriority "750" - bool m_bCenterOffset; // 0x25e + bool m_bCenterOffset; // 0x28e private: - [[maybe_unused]] uint8_t __pad025f[0x1]; // 0x25f + [[maybe_unused]] uint8_t __pad028f[0x1]; // 0x28f public: // MPropertyFriendlyName "model local offset" // MPropertySortPriority "750" - CPerParticleVecInput m_vecLocalOffset; // 0x260 + CPerParticleVecInput m_vecLocalOffset; // 0x290 // MPropertyFriendlyName "model local rotation (pitch/yaw/roll)" // MPropertySortPriority "750" - CPerParticleVecInput m_vecLocalRotation; // 0x828 + CPerParticleVecInput m_vecLocalRotation; // 0x878 // MPropertyStartGroup "Model Scale" // MPropertyFriendlyName "ignore radius" // MPropertySortPriority "700" - bool m_bIgnoreRadius; // 0xdf0 + bool m_bIgnoreRadius; // 0xe60 private: - [[maybe_unused]] uint8_t __pad0df1[0x3]; // 0xdf1 + [[maybe_unused]] uint8_t __pad0e61[0x3]; // 0xe61 public: // MPropertyFriendlyName "model scale CP" // MPropertySortPriority "700" - int32_t m_nModelScaleCP; // 0xdf4 + int32_t m_nModelScaleCP; // 0xe64 // MPropertyFriendlyName "model component scale" // MPropertySortPriority "700" - CPerParticleVecInput m_vecComponentScale; // 0xdf8 + CPerParticleVecInput m_vecComponentScale; // 0xe68 // MPropertyFriendlyName "apply scales in local model space" // MPropertySortPriority "700" - bool m_bLocalScale; // 0x13c0 + bool m_bLocalScale; // 0x1450 // MPropertyStartGroup "Animation" // MPropertyFriendlyName "animated" // MPropertySortPriority "500" - bool m_bAnimated; // 0x13c1 + bool m_bAnimated; // 0x1451 private: - [[maybe_unused]] uint8_t __pad13c2[0x2]; // 0x13c2 + [[maybe_unused]] uint8_t __pad1452[0x2]; // 0x1452 public: // MPropertyFriendlyName "animation rate" // MPropertySortPriority "500" // MPropertySuppressExpr "!m_bAnimated" - float m_flAnimationRate; // 0x13c4 + float m_flAnimationRate; // 0x1454 // MPropertyFriendlyName "scale animation rate" // MPropertySortPriority "500" // MPropertySuppressExpr "!m_bAnimated" - bool m_bScaleAnimationRate; // 0x13c8 + bool m_bScaleAnimationRate; // 0x1458 // MPropertyFriendlyName "force looping animations" // MPropertySortPriority "500" // MPropertySuppressExpr "!m_bAnimated" - bool m_bForceLoopingAnimation; // 0x13c9 + bool m_bForceLoopingAnimation; // 0x1459 // MPropertyFriendlyName "reset animation frame on stop" // MPropertySortPriority "500" // MPropertySuppressExpr "!m_bAnimated" - bool m_bResetAnimOnStop; // 0x13ca + bool m_bResetAnimOnStop; // 0x145a // MPropertyFriendlyName "set animation frame manually" // MPropertySortPriority "500" // MPropertySuppressExpr "!m_bAnimated" - bool m_bManualAnimFrame; // 0x13cb + bool m_bManualAnimFrame; // 0x145b // MPropertyFriendlyName "animation rate scale field" // MPropertyAttributeChoiceName "particlefield_scalar" // MPropertySortPriority "500" // MPropertySuppressExpr "!m_bAnimated" - ParticleAttributeIndex_t m_nAnimationScaleField; // 0x13cc + ParticleAttributeIndex_t m_nAnimationScaleField; // 0x145c // MPropertyStartGroup "Animation" // MPropertyFriendlyName "animation sequence field" // MPropertyAttributeChoiceName "particlefield_scalar" // MPropertySortPriority "500" - ParticleAttributeIndex_t m_nAnimationField; // 0x13d0 + ParticleAttributeIndex_t m_nAnimationField; // 0x1460 // MPropertyFriendlyName "manual animation frame field" // MPropertyAttributeChoiceName "particlefield_scalar" // MPropertySortPriority "500" // MPropertySuppressExpr "!(m_bAnimated && m_bManualAnimFrame)" - ParticleAttributeIndex_t m_nManualFrameField; // 0x13d4 + ParticleAttributeIndex_t m_nManualFrameField; // 0x1464 // MPropertyFriendlyName "activity override" // MPropertySuppressExpr "mod != dota" // MPropertySortPriority "500" - char m_ActivityName[256]; // 0x13d8 + char m_ActivityName[256]; // 0x1468 // MPropertyFriendlyName "sequence override" // MPropertySuppressExpr "mod == dota" // MPropertySortPriority "500" - char m_SequenceName[256]; // 0x14d8 + char m_SequenceName[256]; // 0x1568 // MPropertyFriendlyName "Enable Cloth Simulation" - bool m_bEnableClothSimulation; // 0x15d8 + bool m_bEnableClothSimulation; // 0x1668 private: - [[maybe_unused]] uint8_t __pad15d9[0x7]; // 0x15d9 + [[maybe_unused]] uint8_t __pad1669[0x7]; // 0x1669 public: // MPropertyStartGroup "Material" // MPropertyFriendlyName "material override" // MPropertySortPriority "600" - CStrongHandle< InfoForResourceTypeIMaterial2 > m_hOverrideMaterial; // 0x15e0 + CStrongHandle< InfoForResourceTypeIMaterial2 > m_hOverrideMaterial; // 0x1670 // MPropertyFriendlyName "override translucent materials" // MPropertySortPriority "600" - bool m_bOverrideTranslucentMaterials; // 0x15e8 + bool m_bOverrideTranslucentMaterials; // 0x1678 private: - [[maybe_unused]] uint8_t __pad15e9[0x3]; // 0x15e9 + [[maybe_unused]] uint8_t __pad1679[0x3]; // 0x1679 public: // MPropertyFriendlyName "skin number" // MPropertySortPriority "600" - int32_t m_nSkin; // 0x15ec + int32_t m_nSkin; // 0x167c // MPropertyFriendlyName "skin override CP" // MPropertySortPriority "600" - int32_t m_nSkinCP; // 0x15f0 + int32_t m_nSkinCP; // 0x1680 private: - [[maybe_unused]] uint8_t __pad15f4[0x4]; // 0x15f4 + [[maybe_unused]] uint8_t __pad1684[0x4]; // 0x1684 public: // MPropertyFriendlyName "material variables" // MPropertyAutoExpandSelf // MPropertySortPriority "600" - CUtlVector< MaterialVariable_t > m_MaterialVars; // 0x15f8 + CUtlVector< MaterialVariable_t > m_MaterialVars; // 0x1688 // MPropertyStartGroup "Model Overrides" + // MPropertyFriendlyName "input model" + CParticleModelInput m_modelInput; // 0x16a0 // MPropertyFriendlyName "model LOD" - int32_t m_nLOD; // 0x1610 - // MPropertyFriendlyName "model override CP" - int32_t m_nModelCP; // 0x1614 + int32_t m_nLOD; // 0x16e8 // MPropertyFriendlyName "model override economy loadout slot type" - char m_EconSlotName[256]; // 0x1618 + char m_EconSlotName[256]; // 0x16ec // MPropertyFriendlyName "model override original model only (ignore shapeshift/hex/etc)" - bool m_bOriginalModel; // 0x1718 + bool m_bOriginalModel; // 0x17ec // MPropertyFriendlyName "suppress tinting of the model" - bool m_bSuppressTint; // 0x1719 + bool m_bSuppressTint; // 0x17ed // MPropertyFriendlyName "use raw mesh group (ignore bodygroup field and use submodel field as raw meshgroup)" - bool m_bUseRawMeshGroup; // 0x171a + bool m_bUseRawMeshGroup; // 0x17ee // MPropertyFriendlyName "disable shadows" - bool m_bDisableShadows; // 0x171b + bool m_bDisableShadows; // 0x17ef // MPropertyFriendlyName "forcedrawinterlevedwithsiblings" - bool m_bForceDrawInterlevedWithSiblings; // 0x171c + bool m_bForceDrawInterlevedWithSiblings; // 0x17f0 // MPropertyFriendlyName "render attribute" - char m_szRenderAttribute[260]; // 0x171d + char m_szRenderAttribute[260]; // 0x17f1 private: - [[maybe_unused]] uint8_t __pad1821[0x7]; // 0x1821 + [[maybe_unused]] uint8_t __pad18f5[0x3]; // 0x18f5 public: // MPropertyStartGroup "+Renderer Modifiers" // MPropertyFriendlyName "Radius Scale" // MPropertySortPriority "700" - CParticleCollectionFloatInput m_flRadiusScale; // 0x1828 + CParticleCollectionFloatInput m_flRadiusScale; // 0x18f8 // MPropertyFriendlyName "alpha scale" // MPropertySortPriority "700" - CParticleCollectionFloatInput m_flAlphaScale; // 0x1960 + CParticleCollectionFloatInput m_flAlphaScale; // 0x1a38 // MPropertyFriendlyName "rotation roll scale" // MPropertySortPriority "700" - CParticleCollectionFloatInput m_flRollScale; // 0x1a98 + CParticleCollectionFloatInput m_flRollScale; // 0x1b78 // MPropertyFriendlyName "per-particle alpha scale attribute" // MPropertyAttributeChoiceName "particlefield_scalar" // MPropertySortPriority "700" - ParticleAttributeIndex_t m_nAlpha2Field; // 0x1bd0 + ParticleAttributeIndex_t m_nAlpha2Field; // 0x1cb8 private: - [[maybe_unused]] uint8_t __pad1bd4[0x4]; // 0x1bd4 + [[maybe_unused]] uint8_t __pad1cbc[0x4]; // 0x1cbc public: // MPropertyFriendlyName "color blend" // MPropertySortPriority "700" - CParticleCollectionVecInput m_vecColorScale; // 0x1bd8 + CParticleCollectionVecInput m_vecColorScale; // 0x1cc0 // MPropertyFriendlyName "color blend type" // MPropertySortPriority "700" - ParticleColorBlendType_t m_nColorBlendType; // 0x21a0 + ParticleColorBlendType_t m_nColorBlendType; // 0x22a8 }; // Alignment: 8 -// Size: 0xab0 +// Size: 0xb10 class C_OP_RenderMaterialProxy : public CParticleFunctionRenderer { public: // MPropertyFriendlyName "Control Point for Model" - int32_t m_nMaterialControlPoint; // 0x230 + int32_t m_nMaterialControlPoint; // 0x260 // MPropertyFriendlyName "proxy type" - MaterialProxyType_t m_nProxyType; // 0x234 + MaterialProxyType_t m_nProxyType; // 0x264 // MPropertyFriendlyName "material variables" // MPropertyAutoExpandSelf - CUtlVector< MaterialVariable_t > m_MaterialVars; // 0x238 + CUtlVector< MaterialVariable_t > m_MaterialVars; // 0x268 // MPropertyFriendlyName "material override" - CStrongHandle< InfoForResourceTypeIMaterial2 > m_hOverrideMaterial; // 0x250 + CStrongHandle< InfoForResourceTypeIMaterial2 > m_hOverrideMaterial; // 0x280 // MPropertyFriendlyName "material override enable" - CParticleCollectionFloatInput m_flMaterialOverrideEnabled; // 0x258 + CParticleCollectionFloatInput m_flMaterialOverrideEnabled; // 0x288 // MPropertyFriendlyName "model tint" - CParticleCollectionVecInput m_vecColorScale; // 0x390 + CParticleCollectionVecInput m_vecColorScale; // 0x3c8 // MPropertyFriendlyName "model alpha" - CPerParticleFloatInput m_flAlpha; // 0x958 + CPerParticleFloatInput m_flAlpha; // 0x9b0 // MPropertyFriendlyName "model tint blend type" - ParticleColorBlendType_t m_nColorBlendType; // 0xa90 + ParticleColorBlendType_t m_nColorBlendType; // 0xaf0 }; // Alignment: 11 -// Size: 0x280 +// Size: 0x2b0 class C_OP_RenderProjected : public CParticleFunctionRenderer { public: // MPropertyFriendlyName "project on characters" - bool m_bProjectCharacter; // 0x230 + bool m_bProjectCharacter; // 0x260 // MPropertyFriendlyName "project on world" - bool m_bProjectWorld; // 0x231 + bool m_bProjectWorld; // 0x261 // MPropertyFriendlyName "project on water" - bool m_bProjectWater; // 0x232 + bool m_bProjectWater; // 0x262 // MPropertyFriendlyName "flip horizontal" - bool m_bFlipHorizontal; // 0x233 + bool m_bFlipHorizontal; // 0x263 // MPropertyFriendlyName "enable projected depth controls" - bool m_bEnableProjectedDepthControls; // 0x234 + bool m_bEnableProjectedDepthControls; // 0x264 private: - [[maybe_unused]] uint8_t __pad0235[0x3]; // 0x235 + [[maybe_unused]] uint8_t __pad0265[0x3]; // 0x265 public: // MPropertyFriendlyName "min projection depth" // MPropertySuppressExpr "!m_bEnableProjectedDepthControls" - float m_flMinProjectionDepth; // 0x238 + float m_flMinProjectionDepth; // 0x268 // MPropertyFriendlyName "max projection depth" // MPropertySuppressExpr "!m_bEnableProjectedDepthControls" - float m_flMaxProjectionDepth; // 0x23c + float m_flMaxProjectionDepth; // 0x26c // MPropertyFriendlyName "material" - CStrongHandle< InfoForResourceTypeIMaterial2 > m_hProjectedMaterial; // 0x240 + CStrongHandle< InfoForResourceTypeIMaterial2 > m_hProjectedMaterial; // 0x270 // MPropertyFriendlyName "sheet animation time scale" - float m_flAnimationTimeScale; // 0x248 + float m_flAnimationTimeScale; // 0x278 // MPropertyFriendlyName "orient to normal" - bool m_bOrientToNormal; // 0x24c + bool m_bOrientToNormal; // 0x27c private: - [[maybe_unused]] uint8_t __pad024d[0x3]; // 0x24d + [[maybe_unused]] uint8_t __pad027d[0x3]; // 0x27d public: // MPropertyFriendlyName "material variables" // MPropertyAutoExpandSelf - CUtlVector< MaterialVariable_t > m_MaterialVars; // 0x250 + CUtlVector< MaterialVariable_t > m_MaterialVars; // 0x280 }; // Alignment: 16 -// Size: 0x840 +// Size: 0x890 class C_OP_RenderDeferredLight : public CParticleFunctionRenderer { public: // MPropertyFriendlyName "projected texture use alpha test window" // MPropertySuppressExpr "!m_bUseTexture" - bool m_bUseAlphaTestWindow; // 0x230 + bool m_bUseAlphaTestWindow; // 0x260 // MPropertyFriendlyName "projected texture light" - bool m_bUseTexture; // 0x231 + bool m_bUseTexture; // 0x261 private: - [[maybe_unused]] uint8_t __pad0232[0x2]; // 0x232 + [[maybe_unused]] uint8_t __pad0262[0x2]; // 0x262 public: // MPropertyStartGroup "+Renderer Modifiers" // MPropertyFriendlyName "radius scale" // MPropertySortPriority "700" - float m_flRadiusScale; // 0x234 + float m_flRadiusScale; // 0x264 // MPropertyFriendlyName "alpha scale" // MPropertySortPriority "700" - float m_flAlphaScale; // 0x238 + float m_flAlphaScale; // 0x268 // MPropertyFriendlyName "per-particle alpha scale attribute" // MPropertyAttributeChoiceName "particlefield_scalar" // MPropertySortPriority "700" - ParticleAttributeIndex_t m_nAlpha2Field; // 0x23c + ParticleAttributeIndex_t m_nAlpha2Field; // 0x26c // MPropertyFriendlyName "color blend" // MPropertySortPriority "700" - CParticleCollectionVecInput m_vecColorScale; // 0x240 + CParticleCollectionVecInput m_vecColorScale; // 0x270 // MPropertyFriendlyName "color blend type" // MPropertySortPriority "700" - ParticleColorBlendType_t m_nColorBlendType; // 0x808 + ParticleColorBlendType_t m_nColorBlendType; // 0x858 // MPropertyStartGroup // MPropertyFriendlyName "spotlight distance" - float m_flLightDistance; // 0x80c + float m_flLightDistance; // 0x85c // MPropertyFriendlyName "light start falloff" - float m_flStartFalloff; // 0x810 + float m_flStartFalloff; // 0x860 // MPropertyFriendlyName "spotlight distance falloff" - float m_flDistanceFalloff; // 0x814 + float m_flDistanceFalloff; // 0x864 // MPropertyFriendlyName "spotlight FoV" - float m_flSpotFoV; // 0x818 + float m_flSpotFoV; // 0x868 // MPropertyFriendlyName "projected texture alpha test point scale field" // MPropertyAttributeChoiceName "particlefield_scalar" // MPropertySuppressExpr "!m_bUseTexture" - ParticleAttributeIndex_t m_nAlphaTestPointField; // 0x81c + ParticleAttributeIndex_t m_nAlphaTestPointField; // 0x86c // MPropertyFriendlyName "projected texture alpha test range scale field" // MPropertyAttributeChoiceName "particlefield_scalar" // MPropertySuppressExpr "!m_bUseTexture" - ParticleAttributeIndex_t m_nAlphaTestRangeField; // 0x820 + ParticleAttributeIndex_t m_nAlphaTestRangeField; // 0x870 // MPropertyFriendlyName "projected texture alpha test sharpness scale field" // MPropertyAttributeChoiceName "particlefield_scalar" // MPropertySuppressExpr "!m_bUseTexture" - ParticleAttributeIndex_t m_nAlphaTestSharpnessField; // 0x824 + ParticleAttributeIndex_t m_nAlphaTestSharpnessField; // 0x874 // MPropertyFriendlyName "texture" // MPropertySuppressExpr "!m_bUseTexture" - CStrongHandle< InfoForResourceTypeCTextureBase > m_hTexture; // 0x828 + CStrongHandle< InfoForResourceTypeCTextureBase > m_hTexture; // 0x878 // MPropertyFriendlyName "HSV Shift Control Point" - int32_t m_nHSVShiftControlPoint; // 0x830 + int32_t m_nHSVShiftControlPoint; // 0x880 }; // Alignment: 29 -// Size: 0x1220 +// Size: 0x12b0 class C_OP_RenderStandardLight : public CParticleFunctionRenderer { public: // MPropertyFriendlyName "light type" - ParticleLightTypeChoiceList_t m_nLightType; // 0x230 + ParticleLightTypeChoiceList_t m_nLightType; // 0x260 private: - [[maybe_unused]] uint8_t __pad0234[0x4]; // 0x234 + [[maybe_unused]] uint8_t __pad0264[0x4]; // 0x264 public: // MPropertyFriendlyName "color blend" - CParticleCollectionVecInput m_vecColorScale; // 0x238 + CParticleCollectionVecInput m_vecColorScale; // 0x268 // MPropertyFriendlyName "color blend type" - ParticleColorBlendType_t m_nColorBlendType; // 0x800 + ParticleColorBlendType_t m_nColorBlendType; // 0x850 private: - [[maybe_unused]] uint8_t __pad0804[0x4]; // 0x804 + [[maybe_unused]] uint8_t __pad0854[0x4]; // 0x854 public: // MPropertyFriendlyName "intensity" - CParticleCollectionFloatInput m_flIntensity; // 0x808 + CParticleCollectionFloatInput m_flIntensity; // 0x858 // MPropertyFriendlyName "cast shadows" // MPropertySuppressExpr "m_nLightType == PARTICLE_LIGHT_TYPE_FX" - bool m_bCastShadows; // 0x940 + bool m_bCastShadows; // 0x998 private: - [[maybe_unused]] uint8_t __pad0941[0x7]; // 0x941 + [[maybe_unused]] uint8_t __pad0999[0x7]; // 0x999 public: // MPropertyFriendlyName "inner cone angle" // MPropertySuppressExpr "m_nLightType != PARTICLE_LIGHT_TYPE_SPOT" - CParticleCollectionFloatInput m_flTheta; // 0x948 + CParticleCollectionFloatInput m_flTheta; // 0x9a0 // MPropertyFriendlyName "outer cone angle" // MPropertySuppressExpr "m_nLightType != PARTICLE_LIGHT_TYPE_SPOT" - CParticleCollectionFloatInput m_flPhi; // 0xa80 + CParticleCollectionFloatInput m_flPhi; // 0xae0 // MPropertyFriendlyName "light radius multiplier" - CParticleCollectionFloatInput m_flRadiusMultiplier; // 0xbb8 + CParticleCollectionFloatInput m_flRadiusMultiplier; // 0xc20 // MPropertyFriendlyName "attenuation type" - StandardLightingAttenuationStyle_t m_nAttenuationStyle; // 0xcf0 + StandardLightingAttenuationStyle_t m_nAttenuationStyle; // 0xd60 private: - [[maybe_unused]] uint8_t __pad0cf4[0x4]; // 0xcf4 + [[maybe_unused]] uint8_t __pad0d64[0x4]; // 0xd64 public: // MPropertyFriendlyName "falloff linearity" // MPropertySuppressExpr "m_nAttenuationStyle == LIGHT_STYLE_NEW || ( m_nAttenuationStyle == LIGHT_STYLE_OLD && m_nLightType == PARTICLE_LIGHT_TYPE_FX )" - CParticleCollectionFloatInput m_flFalloffLinearity; // 0xcf8 + CParticleCollectionFloatInput m_flFalloffLinearity; // 0xd68 // MPropertyFriendlyName "falloff fifty percent" // MPropertySuppressExpr "m_nAttenuationStyle == LIGHT_STYLE_OLD" - CParticleCollectionFloatInput m_flFiftyPercentFalloff; // 0xe30 + CParticleCollectionFloatInput m_flFiftyPercentFalloff; // 0xea8 // MPropertyFriendlyName "falloff zero percent" // MPropertySuppressExpr "m_nAttenuationStyle == LIGHT_STYLE_OLD" - CParticleCollectionFloatInput m_flZeroPercentFalloff; // 0xf68 + CParticleCollectionFloatInput m_flZeroPercentFalloff; // 0xfe8 // MPropertyFriendlyName "render diffuse" // MPropertySuppressExpr "m_nLightType == PARTICLE_LIGHT_TYPE_FX" - bool m_bRenderDiffuse; // 0x10a0 + bool m_bRenderDiffuse; // 0x1128 // MPropertyFriendlyName "render specular" // MPropertySuppressExpr "m_nLightType == PARTICLE_LIGHT_TYPE_FX" - bool m_bRenderSpecular; // 0x10a1 + bool m_bRenderSpecular; // 0x1129 private: - [[maybe_unused]] uint8_t __pad10a2[0x6]; // 0x10a2 + [[maybe_unused]] uint8_t __pad112a[0x6]; // 0x112a public: // MPropertyFriendlyName "light cookie string" - CUtlString m_lightCookie; // 0x10a8 + CUtlString m_lightCookie; // 0x1130 // MPropertyFriendlyName "light priority" - int32_t m_nPriority; // 0x10b0 + int32_t m_nPriority; // 0x1138 // MPropertyFriendlyName "fog lighting mode" // MPropertySuppressExpr "m_nLightType == PARTICLE_LIGHT_TYPE_FX" - ParticleLightFogLightingMode_t m_nFogLightingMode; // 0x10b4 + ParticleLightFogLightingMode_t m_nFogLightingMode; // 0x113c // MPropertyFriendlyName "fog contribution" // MPropertySuppressExpr "m_nLightType == PARTICLE_LIGHT_TYPE_FX" - CParticleCollectionFloatInput m_flFogContribution; // 0x10b8 + CParticleCollectionRendererFloatInput m_flFogContribution; // 0x1140 // MPropertyFriendlyName "capsule behavior" - ParticleLightBehaviorChoiceList_t m_nCapsuleLightBehavior; // 0x11f0 + ParticleLightBehaviorChoiceList_t m_nCapsuleLightBehavior; // 0x1280 // MPropertyStartGroup "Capsule Light Controls" // MPropertyFriendlyName "capsule length" // MPropertySuppressExpr "m_nCapsuleLightBehavior == PARTICLE_LIGHT_BEHAVIOR_ROPE || m_nCapsuleLightBehavior == PARTICLE_LIGHT_BEHAVIOR_TRAILS" - float m_flCapsuleLength; // 0x11f4 + float m_flCapsuleLength; // 0x1284 // MPropertyFriendlyName "reverse point order" // MPropertySuppressExpr "m_nCapsuleLightBehavior == PARTICLE_LIGHT_BEHAVIOR_FOLLOW_DIRECTION || m_nCapsuleLightBehavior == PARTICLE_LIGHT_BEHAVIOR_TRAILS" - bool m_bReverseOrder; // 0x11f8 + bool m_bReverseOrder; // 0x1288 // MPropertyFriendlyName "Closed loop" // MPropertySuppressExpr "m_nCapsuleLightBehavior == PARTICLE_LIGHT_BEHAVIOR_FOLLOW_DIRECTION || m_nCapsuleLightBehavior == PARTICLE_LIGHT_BEHAVIOR_TRAILS" - bool m_bClosedLoop; // 0x11f9 + bool m_bClosedLoop; // 0x1289 private: - [[maybe_unused]] uint8_t __pad11fa[0x2]; // 0x11fa + [[maybe_unused]] uint8_t __pad128a[0x2]; // 0x128a public: // MPropertyFriendlyName "Anchor point source" // MPropertyAttributeChoiceName "particlefield_vector" // MPropertySuppressExpr "m_nCapsuleLightBehavior == PARTICLE_LIGHT_BEHAVIOR_FOLLOW_DIRECTION || m_nCapsuleLightBehavior == PARTICLE_LIGHT_BEHAVIOR_ROPE" - ParticleAttributeIndex_t m_nPrevPntSource; // 0x11fc + ParticleAttributeIndex_t m_nPrevPntSource; // 0x128c // MPropertyFriendlyName "max length" // MPropertySuppressExpr "m_nCapsuleLightBehavior == PARTICLE_LIGHT_BEHAVIOR_FOLLOW_DIRECTION || m_nCapsuleLightBehavior == PARTICLE_LIGHT_BEHAVIOR_ROPE" - float m_flMaxLength; // 0x1200 + float m_flMaxLength; // 0x1290 // MPropertyFriendlyName "min length" // MPropertySuppressExpr "m_nCapsuleLightBehavior == PARTICLE_LIGHT_BEHAVIOR_FOLLOW_DIRECTION || m_nCapsuleLightBehavior == PARTICLE_LIGHT_BEHAVIOR_ROPE" - float m_flMinLength; // 0x1204 + float m_flMinLength; // 0x1294 // MPropertyFriendlyName "ignore delta time" // MPropertySuppressExpr "m_nCapsuleLightBehavior == PARTICLE_LIGHT_BEHAVIOR_FOLLOW_DIRECTION || m_nCapsuleLightBehavior == PARTICLE_LIGHT_BEHAVIOR_ROPE" - bool m_bIgnoreDT; // 0x1208 + bool m_bIgnoreDT; // 0x1298 private: - [[maybe_unused]] uint8_t __pad1209[0x3]; // 0x1209 + [[maybe_unused]] uint8_t __pad1299[0x3]; // 0x1299 public: // MPropertyFriendlyName "constrain radius to no more than this times the length" // MPropertySuppressExpr "m_nCapsuleLightBehavior == PARTICLE_LIGHT_BEHAVIOR_FOLLOW_DIRECTION || m_nCapsuleLightBehavior == PARTICLE_LIGHT_BEHAVIOR_ROPE" - float m_flConstrainRadiusToLengthRatio; // 0x120c + float m_flConstrainRadiusToLengthRatio; // 0x129c // MPropertyFriendlyName "amount to scale trail length by" // MPropertySuppressExpr "m_nCapsuleLightBehavior == PARTICLE_LIGHT_BEHAVIOR_FOLLOW_DIRECTION || m_nCapsuleLightBehavior == PARTICLE_LIGHT_BEHAVIOR_ROPE" - float m_flLengthScale; // 0x1210 + float m_flLengthScale; // 0x12a0 // MPropertyFriendlyName "how long before a trail grows to its full length" // MPropertySuppressExpr "m_nCapsuleLightBehavior == PARTICLE_LIGHT_BEHAVIOR_FOLLOW_DIRECTION || m_nCapsuleLightBehavior == PARTICLE_LIGHT_BEHAVIOR_ROPE" - float m_flLengthFadeInTime; // 0x1214 + float m_flLengthFadeInTime; // 0x12a4 }; // Alignment: 13 -// Size: 0x10b0 +// Size: 0x1130 class C_OP_RenderOmni2Light : public CParticleFunctionRenderer { public: // MPropertyFriendlyName "Type" - ParticleOmni2LightTypeChoiceList_t m_nLightType; // 0x230 + ParticleOmni2LightTypeChoiceList_t m_nLightType; // 0x260 private: - [[maybe_unused]] uint8_t __pad0234[0x4]; // 0x234 + [[maybe_unused]] uint8_t __pad0264[0x4]; // 0x264 public: // MPropertyFriendlyName "Color Blend" - CParticleCollectionVecInput m_vColorBlend; // 0x238 + CParticleCollectionVecInput m_vColorBlend; // 0x268 // MPropertyFriendlyName "Color Blend Type" // MPropertySortPriority "700" - ParticleColorBlendType_t m_nColorBlendType; // 0x800 - ParticleLightUnitChoiceList_t m_nBrightnessUnit; // 0x804 + ParticleColorBlendType_t m_nColorBlendType; // 0x850 + ParticleLightUnitChoiceList_t m_nBrightnessUnit; // 0x854 // MPropertyFriendlyName "Lumens" // MPropertySuppressExpr "m_nBrightnessUnit != PARTICLE_LIGHT_UNIT_LUMENS" - CPerParticleFloatInput m_flBrightnessLumens; // 0x808 + CPerParticleFloatInput m_flBrightnessLumens; // 0x858 // MPropertyFriendlyName "Candelas" // MPropertySuppressExpr "m_nBrightnessUnit != PARTICLE_LIGHT_UNIT_CANDELAS" - CPerParticleFloatInput m_flBrightnessCandelas; // 0x940 + CPerParticleFloatInput m_flBrightnessCandelas; // 0x998 // MPropertyFriendlyName "Shadows" // MPropertySuppressExpr "mod == csgo" - bool m_bCastShadows; // 0xa78 + bool m_bCastShadows; // 0xad8 private: - [[maybe_unused]] uint8_t __pad0a79[0x7]; // 0xa79 + [[maybe_unused]] uint8_t __pad0ad9[0x7]; // 0xad9 public: // MPropertyFriendlyName "Light Radius" - // MPropertySuppressExpr "!m_bAreaLight" - CPerParticleFloatInput m_flLuminaireRadius; // 0xa80 + CPerParticleFloatInput m_flLuminaireRadius; // 0xae0 // MPropertyFriendlyName "Skirt" - CPerParticleFloatInput m_flSkirt; // 0xbb8 + CPerParticleFloatInput m_flSkirt; // 0xc20 // MPropertyFriendlyName "Range" - CPerParticleFloatInput m_flRange; // 0xcf0 + CPerParticleFloatInput m_flRange; // 0xd60 // MPropertyFriendlyName "Inner Cone Angle" - CPerParticleFloatInput m_flInnerConeAngle; // 0xe28 + CPerParticleFloatInput m_flInnerConeAngle; // 0xea0 // MPropertyFriendlyName "Outer Cone Angle" - CPerParticleFloatInput m_flOuterConeAngle; // 0xf60 + CPerParticleFloatInput m_flOuterConeAngle; // 0xfe0 // MPropertyFriendlyName "Cookie" - CStrongHandle< InfoForResourceTypeCTextureBase > m_hLightCookie; // 0x1098 + CStrongHandle< InfoForResourceTypeCTextureBase > m_hLightCookie; // 0x1120 +}; + +// Alignment: 7 +// Size: 0xd60 +class C_OP_RenderLightBeam : public CParticleFunctionRenderer +{ +public: + // MPropertyFriendlyName "Color Blend" + CParticleCollectionVecInput m_vColorBlend; // 0x260 + // MPropertyFriendlyName "Color Blend Type" + // MPropertySortPriority "700" + ParticleColorBlendType_t m_nColorBlendType; // 0x848 +private: + [[maybe_unused]] uint8_t __pad084c[0x4]; // 0x84c +public: + // MPropertyFriendlyName "Lumens Per Meter" + CParticleCollectionFloatInput m_flBrightnessLumensPerMeter; // 0x850 + // MPropertyFriendlyName "Shadows" + // MPropertySuppressExpr "mod == csgo" + bool m_bCastShadows; // 0x990 +private: + [[maybe_unused]] uint8_t __pad0991[0x7]; // 0x991 +public: + // MPropertyFriendlyName "Skirt" + CParticleCollectionFloatInput m_flSkirt; // 0x998 + // MPropertyFriendlyName "Range" + CParticleCollectionFloatInput m_flRange; // 0xad8 + // MPropertyFriendlyName "Thickness" + CParticleCollectionFloatInput m_flThickness; // 0xc18 }; // Alignment: 0 -// Size: 0x230 +// Size: 0x260 class C_OP_RenderClothForce : public CParticleFunctionRenderer { public: @@ -10133,7 +10969,7 @@ public: }; // Alignment: 0 -// Size: 0x230 +// Size: 0x260 class C_OP_Callback : public CParticleFunctionRenderer { public: @@ -10141,228 +10977,228 @@ public: }; // Alignment: 9 -// Size: 0x260 +// Size: 0x290 class C_OP_RenderScreenShake : public CParticleFunctionRenderer { public: // MPropertyFriendlyName "duration scale" - float m_flDurationScale; // 0x230 + float m_flDurationScale; // 0x260 // MPropertyFriendlyName "radius scale" - float m_flRadiusScale; // 0x234 + float m_flRadiusScale; // 0x264 // MPropertyFriendlyName "frequence scale" - float m_flFrequencyScale; // 0x238 + float m_flFrequencyScale; // 0x268 // MPropertyFriendlyName "amplitude scale" - float m_flAmplitudeScale; // 0x23c + float m_flAmplitudeScale; // 0x26c // MPropertyFriendlyName "radius field" // MPropertyAttributeChoiceName "particlefield_scalar" - ParticleAttributeIndex_t m_nRadiusField; // 0x240 + ParticleAttributeIndex_t m_nRadiusField; // 0x270 // MPropertyFriendlyName "duration field" // MPropertyAttributeChoiceName "particlefield_scalar" - ParticleAttributeIndex_t m_nDurationField; // 0x244 + ParticleAttributeIndex_t m_nDurationField; // 0x274 // MPropertyFriendlyName "frequency field" // MPropertyAttributeChoiceName "particlefield_scalar" - ParticleAttributeIndex_t m_nFrequencyField; // 0x248 + ParticleAttributeIndex_t m_nFrequencyField; // 0x278 // MPropertyFriendlyName "amplitude field" // MPropertyAttributeChoiceName "particlefield_scalar" - ParticleAttributeIndex_t m_nAmplitudeField; // 0x24c + ParticleAttributeIndex_t m_nAmplitudeField; // 0x27c // MPropertyFriendlyName "control point of shake recipient (-1 = global)" - int32_t m_nFilterCP; // 0x250 + int32_t m_nFilterCP; // 0x280 }; // Alignment: 4 -// Size: 0x240 +// Size: 0x270 class C_OP_RenderTonemapController : public CParticleFunctionRenderer { public: // MPropertyFriendlyName "tonemap level scale" - float m_flTonemapLevel; // 0x230 + float m_flTonemapLevel; // 0x260 // MPropertyFriendlyName "tonemap weight scale" - float m_flTonemapWeight; // 0x234 + float m_flTonemapWeight; // 0x264 // MPropertyFriendlyName "tonemap level" // MPropertyAttributeChoiceName "particlefield_scalar" - ParticleAttributeIndex_t m_nTonemapLevelField; // 0x238 + ParticleAttributeIndex_t m_nTonemapLevelField; // 0x268 // MPropertyFriendlyName "tonemap weight" // MPropertyAttributeChoiceName "particlefield_scalar" - ParticleAttributeIndex_t m_nTonemapWeightField; // 0x23c + ParticleAttributeIndex_t m_nTonemapWeightField; // 0x26c }; // Alignment: 3 -// Size: 0x380 +// Size: 0x3b0 class C_OP_RenderPostProcessing : public CParticleFunctionRenderer { public: // MPropertyFriendlyName "Post Processing Strength" - CPerParticleFloatInput m_flPostProcessStrength; // 0x230 + CPerParticleFloatInput m_flPostProcessStrength; // 0x260 // MPropertyFriendlyName "Post Processing File" // MPropertyAttributeEditor "AssetBrowse( vpost, *showassetpreview )" - CStrongHandle< InfoForResourceTypeCPostProcessingResource > m_hPostTexture; // 0x368 + CStrongHandle< InfoForResourceTypeCPostProcessingResource > m_hPostTexture; // 0x3a0 // MPropertyFriendlyName "Post Processing Priority Group" - ParticlePostProcessPriorityGroup_t m_nPriority; // 0x370 + ParticlePostProcessPriorityGroup_t m_nPriority; // 0x3a8 }; // Alignment: 12 -// Size: 0x360 +// Size: 0x390 class C_OP_RenderSound : public CParticleFunctionRenderer { public: // MPropertyFriendlyName "duration scale" - float m_flDurationScale; // 0x230 + float m_flDurationScale; // 0x260 // MPropertyFriendlyName "decibel level scale" - float m_flSndLvlScale; // 0x234 + float m_flSndLvlScale; // 0x264 // MPropertyFriendlyName "pitch scale" - float m_flPitchScale; // 0x238 + float m_flPitchScale; // 0x268 // MPropertyFriendlyName "volume scale" - float m_flVolumeScale; // 0x23c + float m_flVolumeScale; // 0x26c // MPropertyFriendlyName "decibel level field" // MPropertyAttributeChoiceName "particlefield_scalar" - ParticleAttributeIndex_t m_nSndLvlField; // 0x240 + ParticleAttributeIndex_t m_nSndLvlField; // 0x270 // MPropertyFriendlyName "duration field" // MPropertyAttributeChoiceName "particlefield_scalar" - ParticleAttributeIndex_t m_nDurationField; // 0x244 + ParticleAttributeIndex_t m_nDurationField; // 0x274 // MPropertyFriendlyName "pitch field" // MPropertyAttributeChoiceName "particlefield_scalar" - ParticleAttributeIndex_t m_nPitchField; // 0x248 + ParticleAttributeIndex_t m_nPitchField; // 0x278 // MPropertyFriendlyName "volume field" // MPropertyAttributeChoiceName "particlefield_scalar" - ParticleAttributeIndex_t m_nVolumeField; // 0x24c + ParticleAttributeIndex_t m_nVolumeField; // 0x27c // MPropertyFriendlyName "sound channel" // MPropertyAttributeChoiceName "sound_channel" - int32_t m_nChannel; // 0x250 + int32_t m_nChannel; // 0x280 // MPropertyFriendlyName "sound control point number" - int32_t m_nCPReference; // 0x254 + int32_t m_nCPReference; // 0x284 // MPropertyFriendlyName "sound" // MPropertyAttributeEditor "SoundPicker()" - char m_pszSoundName[256]; // 0x258 + char m_pszSoundName[256]; // 0x288 // MPropertyFriendlyName "suppress stop event" - bool m_bSuppressStopSoundEvent; // 0x358 + bool m_bSuppressStopSoundEvent; // 0x388 }; // Alignment: 7 -// Size: 0x270 +// Size: 0x2a0 class C_OP_RenderStatusEffect : public CParticleFunctionRenderer { public: // MPropertyFriendlyName "color warp texture (3d)" // MPropertyAttributeEditor "AssetBrowse( vtex, *showassetpreview )" - CStrongHandle< InfoForResourceTypeCTextureBase > m_pTextureColorWarp; // 0x230 + CStrongHandle< InfoForResourceTypeCTextureBase > m_pTextureColorWarp; // 0x260 // MPropertyFriendlyName "detail 2 texture" // MPropertyAttributeEditor "AssetBrowse( vtex, *showassetpreview )" - CStrongHandle< InfoForResourceTypeCTextureBase > m_pTextureDetail2; // 0x238 + CStrongHandle< InfoForResourceTypeCTextureBase > m_pTextureDetail2; // 0x268 // MPropertyFriendlyName "diffuse warp texture (3d)" // MPropertyAttributeEditor "AssetBrowse( vtex, *showassetpreview )" - CStrongHandle< InfoForResourceTypeCTextureBase > m_pTextureDiffuseWarp; // 0x240 + CStrongHandle< InfoForResourceTypeCTextureBase > m_pTextureDiffuseWarp; // 0x270 // MPropertyFriendlyName "fresnel color warp texture (3d)" // MPropertyAttributeEditor "AssetBrowse( vtex, *showassetpreview )" - CStrongHandle< InfoForResourceTypeCTextureBase > m_pTextureFresnelColorWarp; // 0x248 + CStrongHandle< InfoForResourceTypeCTextureBase > m_pTextureFresnelColorWarp; // 0x278 // MPropertyFriendlyName "fresnel warp texture" // MPropertyAttributeEditor "AssetBrowse( vtex, *showassetpreview )" - CStrongHandle< InfoForResourceTypeCTextureBase > m_pTextureFresnelWarp; // 0x250 + CStrongHandle< InfoForResourceTypeCTextureBase > m_pTextureFresnelWarp; // 0x280 // MPropertyFriendlyName "specular warp texture" // MPropertyAttributeEditor "AssetBrowse( vtex, *showassetpreview )" - CStrongHandle< InfoForResourceTypeCTextureBase > m_pTextureSpecularWarp; // 0x258 + CStrongHandle< InfoForResourceTypeCTextureBase > m_pTextureSpecularWarp; // 0x288 // MPropertyFriendlyName "environment map texture" // MPropertyAttributeEditor "AssetBrowse( vtex, *showassetpreview )" - CStrongHandle< InfoForResourceTypeCTextureBase > m_pTextureEnvMap; // 0x260 + CStrongHandle< InfoForResourceTypeCTextureBase > m_pTextureEnvMap; // 0x290 }; // Alignment: 6 -// Size: 0x260 +// Size: 0x290 class C_OP_RenderStatusEffectCitadel : public CParticleFunctionRenderer { public: // MPropertyFriendlyName "color warp texture (3d)" // MPropertyAttributeEditor "AssetBrowse( vtex, *showassetpreview )" - CStrongHandle< InfoForResourceTypeCTextureBase > m_pTextureColorWarp; // 0x230 + CStrongHandle< InfoForResourceTypeCTextureBase > m_pTextureColorWarp; // 0x260 // MPropertyFriendlyName "normal texture" // MPropertyAttributeEditor "AssetBrowse( vtex, *showassetpreview )" - CStrongHandle< InfoForResourceTypeCTextureBase > m_pTextureNormal; // 0x238 + CStrongHandle< InfoForResourceTypeCTextureBase > m_pTextureNormal; // 0x268 // MPropertyFriendlyName "metalness texture" // MPropertyAttributeEditor "AssetBrowse( vtex, *showassetpreview )" - CStrongHandle< InfoForResourceTypeCTextureBase > m_pTextureMetalness; // 0x240 + CStrongHandle< InfoForResourceTypeCTextureBase > m_pTextureMetalness; // 0x270 // MPropertyFriendlyName "roughness texture" // MPropertyAttributeEditor "AssetBrowse( vtex, *showassetpreview )" - CStrongHandle< InfoForResourceTypeCTextureBase > m_pTextureRoughness; // 0x248 + CStrongHandle< InfoForResourceTypeCTextureBase > m_pTextureRoughness; // 0x278 // MPropertyFriendlyName "self illum texture" // MPropertyAttributeEditor "AssetBrowse( vtex, *showassetpreview )" - CStrongHandle< InfoForResourceTypeCTextureBase > m_pTextureSelfIllum; // 0x250 + CStrongHandle< InfoForResourceTypeCTextureBase > m_pTextureSelfIllum; // 0x280 // MPropertyFriendlyName "detail texture" // MPropertyAttributeEditor "AssetBrowse( vtex, *showassetpreview )" - CStrongHandle< InfoForResourceTypeCTextureBase > m_pTextureDetail; // 0x258 + CStrongHandle< InfoForResourceTypeCTextureBase > m_pTextureDetail; // 0x288 }; // Alignment: 3 -// Size: 0x240 +// Size: 0x270 class C_OP_RenderFlattenGrass : public CParticleFunctionRenderer { public: // MPropertyFriendlyName "flattening strength" - float m_flFlattenStrength; // 0x230 + float m_flFlattenStrength; // 0x260 // MPropertyFriendlyName "strength field override" // MPropertyAttributeChoiceName "particlefield_scalar" - ParticleAttributeIndex_t m_nStrengthFieldOverride; // 0x234 + ParticleAttributeIndex_t m_nStrengthFieldOverride; // 0x264 // MPropertyFriendlyName "radius scale" - float m_flRadiusScale; // 0x238 + float m_flRadiusScale; // 0x268 }; // Alignment: 10 -// Size: 0x260 +// Size: 0x290 class C_OP_RenderTreeShake : public CParticleFunctionRenderer { public: // MPropertyFriendlyName "peak strength" - float m_flPeakStrength; // 0x230 + float m_flPeakStrength; // 0x260 // MPropertyFriendlyName "peak strength field override" // MPropertyAttributeChoiceName "particlefield_scalar" - ParticleAttributeIndex_t m_nPeakStrengthFieldOverride; // 0x234 + ParticleAttributeIndex_t m_nPeakStrengthFieldOverride; // 0x264 // MPropertyFriendlyName "radius" - float m_flRadius; // 0x238 + float m_flRadius; // 0x268 // MPropertyFriendlyName "strength field override" // MPropertyAttributeChoiceName "particlefield_scalar" - ParticleAttributeIndex_t m_nRadiusFieldOverride; // 0x23c + ParticleAttributeIndex_t m_nRadiusFieldOverride; // 0x26c // MPropertyFriendlyName "shake duration after end" - float m_flShakeDuration; // 0x240 + float m_flShakeDuration; // 0x270 // MPropertyFriendlyName "amount of time taken to smooth between different shake parameters" - float m_flTransitionTime; // 0x244 + float m_flTransitionTime; // 0x274 // MPropertyFriendlyName "Twist amount (-1..1)" - float m_flTwistAmount; // 0x248 + float m_flTwistAmount; // 0x278 // MPropertyFriendlyName "Radial Amount (-1..1)" - float m_flRadialAmount; // 0x24c + float m_flRadialAmount; // 0x27c // MPropertyFriendlyName "Control Point Orientation Amount (-1..1)" - float m_flControlPointOrientationAmount; // 0x250 + float m_flControlPointOrientationAmount; // 0x280 // MPropertyFriendlyName "Control Point for Orientation Amount" - int32_t m_nControlPointForLinearDirection; // 0x254 + int32_t m_nControlPointForLinearDirection; // 0x284 }; // Alignment: 2 -// Size: 0x240 +// Size: 0x270 class C_OP_RenderText : public CParticleFunctionRenderer { public: // MPropertyFriendlyName "outline color" - Color m_OutlineColor; // 0x230 + Color m_OutlineColor; // 0x260 private: - [[maybe_unused]] uint8_t __pad0234[0x4]; // 0x234 + [[maybe_unused]] uint8_t __pad0264[0x4]; // 0x264 public: // MPropertyFriendlyName "default text" - CUtlString m_DefaultText; // 0x238 + CUtlString m_DefaultText; // 0x268 }; // Alignment: 4 -// Size: 0x380 +// Size: 0x3b0 class C_OP_RenderVRHapticEvent : public CParticleFunctionRenderer { public: // MPropertyFriendlyName "haptic hand" - ParticleVRHandChoiceList_t m_nHand; // 0x230 + ParticleVRHandChoiceList_t m_nHand; // 0x260 // MPropertyFriendlyName "hand control point number" - int32_t m_nOutputHandCP; // 0x234 + int32_t m_nOutputHandCP; // 0x264 // MPropertyFriendlyName "cp field" // MPropertyAttributeChoiceName "vector_component" - int32_t m_nOutputField; // 0x238 + int32_t m_nOutputField; // 0x268 private: - [[maybe_unused]] uint8_t __pad023c[0x4]; // 0x23c + [[maybe_unused]] uint8_t __pad026c[0x4]; // 0x26c public: // MPropertyFriendlyName "amplitude" - CPerParticleFloatInput m_flAmplitude; // 0x240 + CPerParticleFloatInput m_flAmplitude; // 0x270 }; diff --git a/sdk/resourcesystem.hpp b/sdk/resourcesystem.hpp index 895a031c..8e47d4d8 100644 --- a/sdk/resourcesystem.hpp +++ b/sdk/resourcesystem.hpp @@ -4,7 +4,7 @@ // ///////////////////////////////////////////////////////////// // Binary: resourcesystem.dll -// Classes count: 52 +// Classes count: 53 // Enums count: 2 // Created using source2gen - github.com/neverlosecc/source2gen // ///////////////////////////////////////////////////////////// @@ -95,6 +95,16 @@ public: // No members available }; +// Alignment: 0 +// Size: 0x1 +class InfoForResourceTypeIPulseGraphDef +{ +private: + [[maybe_unused]] uint8_t __pad0000[0x1]; // 0x0 +public: + // No members available +}; + // Alignment: 0 // Size: 0x1 class InfoForResourceTypeIParticleSystemDefinition diff --git a/sdk/server.hpp b/sdk/server.hpp index 2dbe990c..4a1936bd 100644 --- a/sdk/server.hpp +++ b/sdk/server.hpp @@ -4,8 +4,8 @@ // ///////////////////////////////////////////////////////////// // Binary: server.dll -// Classes count: 769 -// Enums count: 123 +// Classes count: 768 +// Enums count: 124 // Created using source2gen - github.com/neverlosecc/source2gen // ///////////////////////////////////////////////////////////// @@ -81,6 +81,15 @@ enum class ChatIgnoreType_t : uint32_t CHAT_IGNORE_TEAM = 0x2, }; +// Alignment: 1 +// Size: 0x3 +enum class FixAngleSet_t : uint8_t +{ + None = 0x0, + Absolute = 0x1, + Relative = 0x2, +}; + // Alignment: 4 // Size: 0x4 enum class CommandExecMode_t : uint32_t @@ -1670,7 +1679,7 @@ enum class ForcedCrouchState_t : uint32_t }; // Alignment: 4 -// Size: 0xb +// Size: 0xc enum class Hull_t : uint32_t { HULL_HUMAN = 0x0, @@ -1682,8 +1691,9 @@ enum class Hull_t : uint32_t HULL_LARGE = 0x6, HULL_LARGE_CENTERED = 0x7, HULL_MEDIUM_TALL = 0x8, - NUM_HULLS = 0x9, - HULL_NONE = 0xa, + HULL_SMALL = 0x9, + NUM_HULLS = 0xa, + HULL_NONE = 0xb, }; // Alignment: 4 @@ -2594,7 +2604,7 @@ enum class CSWeaponSilencerType : uint32_t }; // Alignment: 4 -// Size: 0x17 +// Size: 0x18 enum class PlayerAnimEvent_t : uint32_t { PLAYERANIMEVENT_FIRE_GUN_PRIMARY = 0x0, @@ -2610,16 +2620,17 @@ enum class PlayerAnimEvent_t : uint32_t PLAYERANIMEVENT_THROW_GRENADE_UNDERHAND = 0xa, PLAYERANIMEVENT_CATCH_WEAPON = 0xb, PLAYERANIMEVENT_LOOKATWEAPON_REQUEST = 0xc, - PLAYERANIMEVENT_HAULBACK = 0xd, - PLAYERANIMEVENT_IDLE = 0xe, - PLAYERANIMEVENT_STRIKE_HIT = 0xf, - PLAYERANIMEVENT_STRIKE_MISS = 0x10, - PLAYERANIMEVENT_BACKSTAB = 0x11, - PLAYERANIMEVENT_DRYFIRE = 0x12, - PLAYERANIMEVENT_FIDGET = 0x13, - PLAYERANIMEVENT_RELEASE = 0x14, - PLAYERANIMEVENT_TAUNT = 0x15, - PLAYERANIMEVENT_COUNT = 0x16, + PLAYERANIMEVENT_RELOAD_CANCEL_LOOKATWEAPON = 0xd, + PLAYERANIMEVENT_HAULBACK = 0xe, + PLAYERANIMEVENT_IDLE = 0xf, + PLAYERANIMEVENT_STRIKE_HIT = 0x10, + PLAYERANIMEVENT_STRIKE_MISS = 0x11, + PLAYERANIMEVENT_BACKSTAB = 0x12, + PLAYERANIMEVENT_DRYFIRE = 0x13, + PLAYERANIMEVENT_FIDGET = 0x14, + PLAYERANIMEVENT_RELEASE = 0x15, + PLAYERANIMEVENT_TAUNT = 0x16, + PLAYERANIMEVENT_COUNT = 0x17, }; // Alignment: 4 @@ -3160,14 +3171,15 @@ public: uint32_t m_Value; // 0x0 }; -// Alignment: 1 -// Size: 0x20 +// Alignment: 2 +// Size: 0x48 class CBuoyancyHelper { private: [[maybe_unused]] uint8_t __pad0000[0x18]; // 0x0 public: float m_flFluidDensity; // 0x18 + float m_flDisplacementFromObjects; // 0x1c }; // Alignment: 1 @@ -4612,8 +4624,8 @@ public: GameTime_t m_flTimeStartedState; // 0x18 }; -// Alignment: 9 -// Size: 0x9 +// Alignment: 10 +// Size: 0xa struct HullFlags_t { public: @@ -4626,6 +4638,7 @@ public: bool m_bHull_Large; // 0x6 bool m_bHull_LargeCentered; // 0x7 bool m_bHull_MediumTall; // 0x8 + bool m_bHull_Small; // 0x9 }; // Alignment: 4 @@ -4992,8 +5005,9 @@ public: 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);}; + static int32_t &Get_m_nPredictionRandomSeedServer(){return *reinterpret_cast(interfaces::g_schema->FindTypeScopeForModule("server.dll")->FindDeclaredClass("CBaseEntity")->m_static_fields[7]->m_instance);}; + static CBasePlayerController* &Get_m_pPredictionPlayerController(){return *reinterpret_cast(interfaces::g_schema->FindTypeScopeForModule("server.dll")->FindDeclaredClass("CBaseEntity")->m_static_fields[8]->m_instance);}; + static bool &Get_sm_bDatadescValidating(){return *reinterpret_cast(interfaces::g_schema->FindTypeScopeForModule("server.dll")->FindDeclaredClass("CBaseEntity")->m_static_fields[9]->m_instance);}; }; // Alignment: 0 @@ -7218,7 +7232,7 @@ public: float m_flSwimSoundTime; // 0x5c }; -// Alignment: 10 +// Alignment: 11 // Size: 0x460 class CCSPlayer_WeaponServices : public CPlayer_WeaponServices { @@ -7239,7 +7253,8 @@ public: int32_t m_nTimeToPrimary; // 0xc4 int32_t m_nTimeToSniperRifle; // 0xc8 bool m_bIsBeingGivenItem; // 0xcc - bool m_bPickedUpWeapon; // 0xcd + bool m_bIsPickingUpItemWithUse; // 0xcd + bool m_bPickedUpWeapon; // 0xce }; // Alignment: 5 @@ -11036,14 +11051,6 @@ public: CHandle< CBaseFilter > m_hFilter; // 0x4c0 }; -// Alignment: 0 -// Size: 0x4a0 -class CSprayCan : public CPointEntity -{ -public: - // No members available -}; - // Alignment: 1 // Size: 0x4a8 class CInfoPlayerStart : public CPointEntity @@ -12870,13 +12877,13 @@ public: }; // Alignment: 2 -// Size: 0x8c0 +// Size: 0x8e8 class CTriggerBuoyancy : public CBaseTrigger { public: CBuoyancyHelper m_BuoyancyHelper; // 0x898 // MNetworkEnable - float m_flFluidDensity; // 0x8b8 + float m_flFluidDensity; // 0x8e0 }; // Alignment: 0 @@ -17232,7 +17239,7 @@ public: CHandle< CItemGenericTriggerHelper > m_hTriggerHelper; // 0xa60 }; -// Alignment: 22 +// Alignment: 24 // Size: 0xaa0 class CBasePlayerPawn : public CBaseCombatCharacter { @@ -17259,27 +17266,35 @@ public: private: [[maybe_unused]] uint8_t __pad09b0[0x8]; // 0x9b0 public: - QAngle v_angle; // 0x9b8 + // MNetworkEnable + // MNetworkUserGroup "LocalPlayerExclusive" + FixAngleSet_t m_fixAngleChangeType; // 0x9b8 private: - [[maybe_unused]] uint8_t __pad09c4[0x10]; // 0x9c4 + [[maybe_unused]] uint8_t __pad09b9[0x3]; // 0x9b9 public: // MNetworkEnable // MNetworkUserGroup "LocalPlayerExclusive" - uint32_t m_iHideHUD; // 0x9d4 + QAngle m_fixAngleChangeAngle; // 0x9bc // MNetworkEnable // MNetworkUserGroup "LocalPlayerExclusive" - sky3dparams_t m_skybox3d; // 0x9d8 - GameTime_t m_fTimeLastHurt; // 0xa68 + int32_t m_fixAngleChangeTick; // 0x9c8 + QAngle v_angle; // 0x9cc // MNetworkEnable - GameTime_t m_flDeathTime; // 0xa6c - GameTime_t m_fNextSuicideTime; // 0xa70 - bool m_fInitHUD; // 0xa74 + // MNetworkUserGroup "LocalPlayerExclusive" + uint32_t m_iHideHUD; // 0x9d8 private: - [[maybe_unused]] uint8_t __pad0a75[0x3]; // 0xa75 + [[maybe_unused]] uint8_t __pad09dc[0x4]; // 0x9dc public: - GameTime_t m_flNextDecalTime; // 0xa78 + // MNetworkEnable + // MNetworkUserGroup "LocalPlayerExclusive" + sky3dparams_t m_skybox3d; // 0x9e0 + GameTime_t m_fTimeLastHurt; // 0xa70 + // MNetworkEnable + GameTime_t m_flDeathTime; // 0xa74 + GameTime_t m_fNextSuicideTime; // 0xa78 + bool m_fInitHUD; // 0xa7c private: - [[maybe_unused]] uint8_t __pad0a7c[0x4]; // 0xa7c + [[maybe_unused]] uint8_t __pad0a7d[0x3]; // 0xa7d public: CAI_Expresser* m_pExpresser; // 0xa80 // MNetworkEnable @@ -17908,7 +17923,7 @@ public: // No members available }; -// Alignment: 189 +// Alignment: 190 // Size: 0x1570 class CCSPlayerPawnBase : public CBasePlayerPawn { @@ -17932,297 +17947,297 @@ public: GameTime_t m_blindStartTime; // 0xaf0 GameTime_t m_allowAutoFollowTime; // 0xaf4 // MNetworkEnable - EntitySpottedState_t m_entitySpottedState; // 0xaf8 - int32_t m_nSpotRules; // 0xb10 - // MNetworkEnable - float m_flTimeOfLastInjury; // 0xb14 - // MNetworkEnable - RelativeDamagedDirection_t m_nRelativeDirectionOfLastInjury; // 0xb18 - // MNetworkEnable - CSPlayerState m_iPlayerState; // 0xb1c + bool m_bHasFemaleVoice; // 0xaf8 private: - [[maybe_unused]] uint8_t __pad0b20[0x8]; // 0xb20 + [[maybe_unused]] uint8_t __pad0af9[0x7]; // 0xaf9 public: - CountdownTimer m_chickenIdleSoundTimer; // 0xb28 - CountdownTimer m_chickenJumpSoundTimer; // 0xb40 + // MNetworkEnable + EntitySpottedState_t m_entitySpottedState; // 0xb00 + int32_t m_nSpotRules; // 0xb18 + // MNetworkEnable + float m_flTimeOfLastInjury; // 0xb1c + // MNetworkEnable + RelativeDamagedDirection_t m_nRelativeDirectionOfLastInjury; // 0xb20 + // MNetworkEnable + CSPlayerState m_iPlayerState; // 0xb24 private: - [[maybe_unused]] uint8_t __pad0b58[0xa0]; // 0xb58 + [[maybe_unused]] uint8_t __pad0b28[0x8]; // 0xb28 public: - Vector m_vecLastBookmarkedPosition; // 0xbf8 - float m_flLastDistanceTraveledNotice; // 0xc04 - float m_flAccumulatedDistanceTraveled; // 0xc08 - float m_flLastFriendlyFireDamageReductionRatio; // 0xc0c - bool m_bRespawning; // 0xc10 + CountdownTimer m_chickenIdleSoundTimer; // 0xb30 + CountdownTimer m_chickenJumpSoundTimer; // 0xb48 private: - [[maybe_unused]] uint8_t __pad0c11[0x3]; // 0xc11 + [[maybe_unused]] uint8_t __pad0b60[0xa0]; // 0xb60 public: - int32_t m_iNumGunGameTRBombTotalPoints; // 0xc14 - bool m_bShouldProgressGunGameTRBombModeWeapon; // 0xc18 + Vector m_vecLastBookmarkedPosition; // 0xc00 + float m_flLastDistanceTraveledNotice; // 0xc0c + float m_flAccumulatedDistanceTraveled; // 0xc10 + float m_flLastFriendlyFireDamageReductionRatio; // 0xc14 + bool m_bRespawning; // 0xc18 private: [[maybe_unused]] uint8_t __pad0c19[0x3]; // 0xc19 public: - int32_t m_nLastPickupPriority; // 0xc1c - float m_flLastPickupPriorityTime; // 0xc20 - // MNetworkEnable - bool m_passiveItems[4]; // 0xc24 - // MNetworkEnable - bool m_bIsScoped; // 0xc28 - // MNetworkEnable - bool m_bIsWalking; // 0xc29 - // MNetworkEnable - bool m_bResumeZoom; // 0xc2a - // MNetworkEnable - bool m_bIsDefusing; // 0xc2b - // MNetworkEnable - bool m_bIsGrabbingHostage; // 0xc2c + int32_t m_iNumGunGameTRBombTotalPoints; // 0xc1c + bool m_bShouldProgressGunGameTRBombModeWeapon; // 0xc20 private: - [[maybe_unused]] uint8_t __pad0c2d[0x3]; // 0xc2d + [[maybe_unused]] uint8_t __pad0c21[0x3]; // 0xc21 +public: + int32_t m_nLastPickupPriority; // 0xc24 + float m_flLastPickupPriorityTime; // 0xc28 + // MNetworkEnable + bool m_passiveItems[4]; // 0xc2c + // MNetworkEnable + bool m_bIsScoped; // 0xc30 + // MNetworkEnable + bool m_bIsWalking; // 0xc31 + // MNetworkEnable + bool m_bResumeZoom; // 0xc32 + // MNetworkEnable + bool m_bIsDefusing; // 0xc33 + // MNetworkEnable + bool m_bIsGrabbingHostage; // 0xc34 +private: + [[maybe_unused]] uint8_t __pad0c35[0x3]; // 0xc35 public: // MNetworkEnable - CSPlayerBlockingUseAction_t m_iBlockingUseActionInProgress; // 0xc30 + CSPlayerBlockingUseAction_t m_iBlockingUseActionInProgress; // 0xc38 // MNetworkEnable - GameTime_t m_fImmuneToGunGameDamageTime; // 0xc34 + GameTime_t m_fImmuneToGunGameDamageTime; // 0xc3c // MNetworkEnable - bool m_bGunGameImmunity; // 0xc38 + bool m_bGunGameImmunity; // 0xc40 // MNetworkEnable - bool m_bMadeFinalGunGameProgressiveKill; // 0xc39 + bool m_bMadeFinalGunGameProgressiveKill; // 0xc41 private: - [[maybe_unused]] uint8_t __pad0c3a[0x2]; // 0xc3a + [[maybe_unused]] uint8_t __pad0c42[0x2]; // 0xc42 public: // MNetworkEnable - int32_t m_iGunGameProgressiveWeaponIndex; // 0xc3c + int32_t m_iGunGameProgressiveWeaponIndex; // 0xc44 // MNetworkEnable - int32_t m_iNumGunGameTRKillPoints; // 0xc40 + int32_t m_iNumGunGameTRKillPoints; // 0xc48 // MNetworkEnable - int32_t m_iNumGunGameKillsWithCurrentWeapon; // 0xc44 + int32_t m_iNumGunGameKillsWithCurrentWeapon; // 0xc4c // MNetworkEnable - uint32_t m_unTotalRoundDamageDealt; // 0xc48 + uint32_t m_unTotalRoundDamageDealt; // 0xc50 // MNetworkEnable - float m_fMolotovDamageTime; // 0xc4c + float m_fMolotovDamageTime; // 0xc54 // MNetworkEnable - bool m_bHasMovedSinceSpawn; // 0xc50 + bool m_bHasMovedSinceSpawn; // 0xc58 // MNetworkEnable - bool m_bCanMoveDuringFreezePeriod; // 0xc51 + bool m_bCanMoveDuringFreezePeriod; // 0xc59 // MNetworkEnable - bool m_isCurrentGunGameLeader; // 0xc52 + bool m_isCurrentGunGameLeader; // 0xc5a // MNetworkEnable - bool m_isCurrentGunGameTeamLeader; // 0xc53 + bool m_isCurrentGunGameTeamLeader; // 0xc5b // MNetworkEnable - float m_flGuardianTooFarDistFrac; // 0xc54 - float m_flNextGuardianTooFarHurtTime; // 0xc58 + float m_flGuardianTooFarDistFrac; // 0xc5c + float m_flNextGuardianTooFarHurtTime; // 0xc60 // MNetworkEnable - GameTime_t m_flDetectedByEnemySensorTime; // 0xc5c + GameTime_t m_flDetectedByEnemySensorTime; // 0xc64 // MNetworkEnable - bool m_bIsSpawnRappelling; // 0xc60 + bool m_bIsSpawnRappelling; // 0xc68 private: - [[maybe_unused]] uint8_t __pad0c61[0x3]; // 0xc61 + [[maybe_unused]] uint8_t __pad0c69[0x3]; // 0xc69 public: // MNetworkEnable - Vector m_vecSpawnRappellingRopeOrigin; // 0xc64 + Vector m_vecSpawnRappellingRopeOrigin; // 0xc6c // MNetworkEnable - int32_t m_nSurvivalTeam; // 0xc70 + int32_t m_nSurvivalTeam; // 0xc78 // MNetworkEnable - CHandle< CCSPlayerPawnBase > m_hSurvivalAssassinationTarget; // 0xc74 - int32_t m_nCompletedSurvivalAssassinations; // 0xc78 - float m_flDealtDamageToEnemyMostRecentTimestamp; // 0xc7c + CHandle< CCSPlayerPawnBase > m_hSurvivalAssassinationTarget; // 0xc7c + int32_t m_nCompletedSurvivalAssassinations; // 0xc80 + float m_flDealtDamageToEnemyMostRecentTimestamp; // 0xc84 // MNetworkEnable - float m_flHealthShotBoostExpirationTime; // 0xc80 - GameTime_t m_flLastEquippedHelmetTime; // 0xc84 - GameTime_t m_flLastEquippedArmorTime; // 0xc88 + float m_flHealthShotBoostExpirationTime; // 0xc88 + GameTime_t m_flLastEquippedHelmetTime; // 0xc8c + GameTime_t m_flLastEquippedArmorTime; // 0xc90 // MNetworkEnable - int32_t m_nHeavyAssaultSuitCooldownRemaining; // 0xc8c - bool m_bResetArmorNextSpawn; // 0xc90 + int32_t m_nHeavyAssaultSuitCooldownRemaining; // 0xc94 + bool m_bResetArmorNextSpawn; // 0xc98 private: - [[maybe_unused]] uint8_t __pad0c91[0x3]; // 0xc91 + [[maybe_unused]] uint8_t __pad0c99[0x3]; // 0xc99 public: // MNetworkEnable - float m_flLastExoJumpTime; // 0xc94 - GameTime_t m_flLastBumpMineBumpTime; // 0xc98 + float m_flLastExoJumpTime; // 0xc9c + GameTime_t m_flLastBumpMineBumpTime; // 0xca0 private: - [[maybe_unused]] uint8_t __pad0c9c[0xc]; // 0xc9c -public: - bool m_bEscaped; // 0xca8 - bool m_bIsVIP; // 0xca9 -private: - [[maybe_unused]] uint8_t __pad0caa[0x2]; // 0xcaa -public: - int32_t m_iNumSpawns; // 0xcac - int32_t m_iShouldHaveCash; // 0xcb0 - bool m_bJustKilledTeammate; // 0xcb4 - bool m_bPunishedForTK; // 0xcb5 - bool m_bInvalidSteamLogonDelayed; // 0xcb6 -private: - [[maybe_unused]] uint8_t __pad0cb7[0x1]; // 0xcb7 -public: - int32_t m_iTeamKills; // 0xcb8 - GameTime_t m_flLastAction; // 0xcbc - float m_flNameChangeHistory[5]; // 0xcc0 - float m_fLastGivenDefuserTime; // 0xcd4 - float m_fLastGivenBombTime; // 0xcd8 - // MNetworkEnable - bool m_bHasNightVision; // 0xcdc - // MNetworkEnable - bool m_bNightVisionOn; // 0xcdd -private: - [[maybe_unused]] uint8_t __pad0cde[0x2]; // 0xcde -public: - float m_fNextRadarUpdateTime; // 0xce0 - float m_flLastMoneyUpdateTime; // 0xce4 - char m_MenuStringBuffer[1024]; // 0xce8 - CHandle< CBaseEntity > m_pIntroCamera; // 0x10e8 - float m_fIntroCamTime; // 0x10ec - int32_t m_nMyCollisionGroup; // 0x10f0 - // MNetworkEnable - bool m_bInBombZone; // 0x10f4 - // MNetworkEnable - bool m_bInBuyZone; // 0x10f5 - // MNetworkEnable - bool m_bInNoDefuseArea; // 0x10f6 - // MNetworkEnable - bool m_bKilledByTaser; // 0x10f7 - // MNetworkEnable - int32_t m_iMoveState; // 0x10f8 -private: - [[maybe_unused]] uint8_t __pad10fc[0x4]; // 0x10fc -public: - CStrongHandle< InfoForResourceTypeCModel > m_nPreviousModelIndex; // 0x1100 - GameTime_t m_grenadeParameterStashTime; // 0x1108 - bool m_bGrenadeParametersStashed; // 0x110c -private: - [[maybe_unused]] uint8_t __pad110d[0x3]; // 0x110d -public: - QAngle m_angStashedShootAngles; // 0x1110 - Vector m_vecStashedGrenadeThrowPosition; // 0x111c - Vector m_vecStashedVelocity; // 0x1128 - QAngle m_angShootAngleHistory[2]; // 0x1134 - Vector m_vecThrowPositionHistory[2]; // 0x114c - Vector m_vecVelocityHistory[2]; // 0x1164 - uint16_t m_nCharacterDefIndex; // 0x117c - bool m_bDiedAirborne; // 0x117e -private: - [[maybe_unused]] uint8_t __pad117f[0x1]; // 0x117f -public: - CEntityIndex m_iBombSiteIndex; // 0x1180 - // MNetworkEnable - int32_t m_nWhichBombZone; // 0x1184 - bool m_bInBombZoneTrigger; // 0x1188 - bool m_bWasInBombZoneTrigger; // 0x1189 - bool m_bWasInHostageRescueZone; // 0x118a - bool m_bWasInBuyZone; // 0x118b - // MNetworkEnable - bool m_bInHostageRescueZone; // 0x118c -private: - [[maybe_unused]] uint8_t __pad118d[0x3]; // 0x118d + [[maybe_unused]] uint8_t __pad0ca4[0xc]; // 0xca4 public: // MNetworkEnable - float m_flStamina; // 0x1190 - // MNetworkEnable - int32_t m_iDirection; // 0x1194 - // MNetworkEnable - int32_t m_iShotsFired; // 0x1198 - // MNetworkEnable - int32_t m_ArmorValue; // 0x119c - float m_flFlinchStack; // 0x11a0 - // MNetworkEnable - float m_flVelocityModifier; // 0x11a4 - // MNetworkEnable - float m_flGroundAccelLinearFracLastTime; // 0x11a8 - int32_t m_iHostagesKilled; // 0x11ac - Vector m_vecTotalBulletForce; // 0x11b0 - // MNetworkEnable - float m_flFlashDuration; // 0x11bc - // MNetworkEnable - float m_flFlashMaxAlpha; // 0x11c0 - // MNetworkEnable - float m_flProgressBarStartTime; // 0x11c4 - // MNetworkEnable - int32_t m_iProgressBarDuration; // 0x11c8 - // MNetworkEnable - bool m_bWaitForNoAttack; // 0x11cc - // MNetworkEnable - bool m_bIsRespawningForDMBonus; // 0x11cd + GameTime_t m_flEmitSoundTime; // 0xcb0 + bool m_bEscaped; // 0xcb4 + bool m_bIsVIP; // 0xcb5 private: - [[maybe_unused]] uint8_t __pad11ce[0x2]; // 0x11ce + [[maybe_unused]] uint8_t __pad0cb6[0x2]; // 0xcb6 +public: + int32_t m_iNumSpawns; // 0xcb8 + int32_t m_iShouldHaveCash; // 0xcbc + bool m_bJustKilledTeammate; // 0xcc0 + bool m_bPunishedForTK; // 0xcc1 + bool m_bInvalidSteamLogonDelayed; // 0xcc2 +private: + [[maybe_unused]] uint8_t __pad0cc3[0x1]; // 0xcc3 +public: + int32_t m_iTeamKills; // 0xcc4 + GameTime_t m_flLastAction; // 0xcc8 + float m_flNameChangeHistory[5]; // 0xccc + float m_fLastGivenDefuserTime; // 0xce0 + float m_fLastGivenBombTime; // 0xce4 + // MNetworkEnable + bool m_bHasNightVision; // 0xce8 + // MNetworkEnable + bool m_bNightVisionOn; // 0xce9 +private: + [[maybe_unused]] uint8_t __pad0cea[0x2]; // 0xcea +public: + float m_fNextRadarUpdateTime; // 0xcec + float m_flLastMoneyUpdateTime; // 0xcf0 + char m_MenuStringBuffer[1024]; // 0xcf4 + CHandle< CBaseEntity > m_pIntroCamera; // 0x10f4 + float m_fIntroCamTime; // 0x10f8 + int32_t m_nMyCollisionGroup; // 0x10fc + // MNetworkEnable + bool m_bInBombZone; // 0x1100 + // MNetworkEnable + bool m_bInBuyZone; // 0x1101 + // MNetworkEnable + bool m_bInNoDefuseArea; // 0x1102 + // MNetworkEnable + bool m_bKilledByTaser; // 0x1103 + // MNetworkEnable + int32_t m_iMoveState; // 0x1104 + CStrongHandle< InfoForResourceTypeCModel > m_nPreviousModelIndex; // 0x1108 + GameTime_t m_grenadeParameterStashTime; // 0x1110 + bool m_bGrenadeParametersStashed; // 0x1114 +private: + [[maybe_unused]] uint8_t __pad1115[0x3]; // 0x1115 +public: + QAngle m_angStashedShootAngles; // 0x1118 + Vector m_vecStashedGrenadeThrowPosition; // 0x1124 + Vector m_vecStashedVelocity; // 0x1130 + QAngle m_angShootAngleHistory[2]; // 0x113c + Vector m_vecThrowPositionHistory[2]; // 0x1154 + Vector m_vecVelocityHistory[2]; // 0x116c + uint16_t m_nCharacterDefIndex; // 0x1184 + bool m_bDiedAirborne; // 0x1186 +private: + [[maybe_unused]] uint8_t __pad1187[0x1]; // 0x1187 +public: + CEntityIndex m_iBombSiteIndex; // 0x1188 + // MNetworkEnable + int32_t m_nWhichBombZone; // 0x118c + bool m_bInBombZoneTrigger; // 0x1190 + bool m_bWasInBombZoneTrigger; // 0x1191 + bool m_bWasInHostageRescueZone; // 0x1192 + bool m_bWasInBuyZone; // 0x1193 + // MNetworkEnable + bool m_bInHostageRescueZone; // 0x1194 +private: + [[maybe_unused]] uint8_t __pad1195[0x3]; // 0x1195 public: // MNetworkEnable - float m_flLowerBodyYawTarget; // 0x11d0 + float m_flStamina; // 0x1198 // MNetworkEnable - bool m_bStrafing; // 0x11d4 + int32_t m_iDirection; // 0x119c + // MNetworkEnable + int32_t m_iShotsFired; // 0x11a0 + // MNetworkEnable + int32_t m_ArmorValue; // 0x11a4 + float m_flFlinchStack; // 0x11a8 + // MNetworkEnable + float m_flVelocityModifier; // 0x11ac + // MNetworkEnable + float m_flGroundAccelLinearFracLastTime; // 0x11b0 + int32_t m_iHostagesKilled; // 0x11b4 + Vector m_vecTotalBulletForce; // 0x11b8 + // MNetworkEnable + float m_flFlashDuration; // 0x11c4 + // MNetworkEnable + float m_flFlashMaxAlpha; // 0x11c8 + // MNetworkEnable + float m_flProgressBarStartTime; // 0x11cc + // MNetworkEnable + int32_t m_iProgressBarDuration; // 0x11d0 + // MNetworkEnable + bool m_bWaitForNoAttack; // 0x11d4 + // MNetworkEnable + bool m_bIsRespawningForDMBonus; // 0x11d5 private: - [[maybe_unused]] uint8_t __pad11d5[0x3]; // 0x11d5 + [[maybe_unused]] uint8_t __pad11d6[0x2]; // 0x11d6 public: - Vector m_lastStandingPos; // 0x11d8 - float m_ignoreLadderJumpTime; // 0x11e4 - CountdownTimer m_ladderSurpressionTimer; // 0x11e8 - Vector m_lastLadderNormal; // 0x1200 - Vector m_lastLadderPos; // 0x120c + // MNetworkEnable + float m_flLowerBodyYawTarget; // 0x11d8 + // MNetworkEnable + bool m_bStrafing; // 0x11dc +private: + [[maybe_unused]] uint8_t __pad11dd[0x3]; // 0x11dd +public: + Vector m_lastStandingPos; // 0x11e0 + float m_ignoreLadderJumpTime; // 0x11ec + CountdownTimer m_ladderSurpressionTimer; // 0x11f0 + Vector m_lastLadderNormal; // 0x1208 + Vector m_lastLadderPos; // 0x1214 // MNetworkEnable // MNetworkEncoder // MNetworkBitCount "32" // MNetworkPriority "32" - QAngle m_thirdPersonHeading; // 0x1218 + QAngle m_thirdPersonHeading; // 0x1220 // MNetworkEnable // MNetworkPriority "32" - float m_flSlopeDropOffset; // 0x1224 + float m_flSlopeDropOffset; // 0x122c // MNetworkEnable // MNetworkPriority "32" - float m_flSlopeDropHeight; // 0x1228 + float m_flSlopeDropHeight; // 0x1230 // MNetworkEnable // MNetworkPriority "32" - Vector m_vHeadConstraintOffset; // 0x122c + Vector m_vHeadConstraintOffset; // 0x1234 private: - [[maybe_unused]] uint8_t __pad1238[0x8]; // 0x1238 + [[maybe_unused]] uint8_t __pad1240[0x8]; // 0x1240 public: - int32_t m_iLastWeaponFireUsercmd; // 0x1240 + int32_t m_iLastWeaponFireUsercmd; // 0x1248 // MNetworkEnable // MNetworkEncoder // MNetworkBitCount "32" // MNetworkPriority "32" - QAngle m_angEyeAngles; // 0x1244 - bool m_bVCollisionInitted; // 0x1250 + QAngle m_angEyeAngles; // 0x124c + bool m_bVCollisionInitted; // 0x1258 private: - [[maybe_unused]] uint8_t __pad1251[0x3]; // 0x1251 + [[maybe_unused]] uint8_t __pad1259[0x3]; // 0x1259 public: - Vector m_storedSpawnPosition; // 0x1254 - QAngle m_storedSpawnAngle; // 0x1260 - bool m_bIsSpawning; // 0x126c + Vector m_storedSpawnPosition; // 0x125c + QAngle m_storedSpawnAngle; // 0x1268 + bool m_bIsSpawning; // 0x1274 // MNetworkEnable - bool m_bHideTargetID; // 0x126d -private: - [[maybe_unused]] uint8_t __pad126e[0x2]; // 0x126e -public: - int32_t m_nNumDangerZoneDamageHits; // 0x1270 - // MNetworkEnable - bool m_bHud_MiniScoreHidden; // 0x1274 - // MNetworkEnable - bool m_bHud_RadarHidden; // 0x1275 + bool m_bHideTargetID; // 0x1275 private: [[maybe_unused]] uint8_t __pad1276[0x2]; // 0x1276 public: + int32_t m_nNumDangerZoneDamageHits; // 0x1278 // MNetworkEnable - CEntityIndex m_nLastKillerIndex; // 0x1278 + bool m_bHud_MiniScoreHidden; // 0x127c // MNetworkEnable - int32_t m_nLastConcurrentKilled; // 0x127c - // MNetworkEnable - int32_t m_nDeathCamMusic; // 0x1280 - // MNetworkEnable - int32_t m_iAddonBits; // 0x1284 - // MNetworkEnable - int32_t m_iPrimaryAddon; // 0x1288 - // MNetworkEnable - int32_t m_iSecondaryAddon; // 0x128c - int32_t m_nTeamDamageGivenForMatch; // 0x1290 - bool m_bTDGaveProtectionWarning; // 0x1294 - bool m_bTDGaveProtectionWarningThisRound; // 0x1295 + bool m_bHud_RadarHidden; // 0x127d private: - [[maybe_unused]] uint8_t __pad1296[0x2]; // 0x1296 + [[maybe_unused]] uint8_t __pad127e[0x2]; // 0x127e public: - float m_applyDeafnessTime; // 0x1298 - float m_flLastTHWarningTime; // 0x129c - CUtlStringToken m_currentDeafnessFilter; // 0x12a0 + // MNetworkEnable + CEntityIndex m_nLastKillerIndex; // 0x1280 + // MNetworkEnable + int32_t m_nLastConcurrentKilled; // 0x1284 + // MNetworkEnable + int32_t m_nDeathCamMusic; // 0x1288 + // MNetworkEnable + int32_t m_iAddonBits; // 0x128c + // MNetworkEnable + int32_t m_iPrimaryAddon; // 0x1290 + // MNetworkEnable + int32_t m_iSecondaryAddon; // 0x1294 + int32_t m_nTeamDamageGivenForMatch; // 0x1298 + bool m_bTDGaveProtectionWarning; // 0x129c + bool m_bTDGaveProtectionWarningThisRound; // 0x129d private: - [[maybe_unused]] uint8_t __pad12a4[0x4]; // 0x12a4 + [[maybe_unused]] uint8_t __pad129e[0x2]; // 0x129e public: + float m_flLastTHWarningTime; // 0x12a0 + CUtlStringToken m_currentDeafnessFilter; // 0x12a4 CUtlVector< CHandle< CCSPlayerPawnBase > > m_enemyPlayersKilledThisRound; // 0x12a8 int32_t m_NumEnemiesKilledThisSpawn; // 0x12c0 int32_t m_maxNumEnemiesKillStreak; // 0x12c4 diff --git a/sdk/worldrenderer.hpp b/sdk/worldrenderer.hpp index 70de448b..a8d2c852 100644 --- a/sdk/worldrenderer.hpp +++ b/sdk/worldrenderer.hpp @@ -4,7 +4,7 @@ // ///////////////////////////////////////////////////////////// // Binary: worldrenderer.dll -// Classes count: 23 +// Classes count: 24 // Enums count: 1 // Created using source2gen - github.com/neverlosecc/source2gen // ///////////////////////////////////////////////////////////// @@ -181,7 +181,7 @@ public: CUtlVector< uint8 > m_pData; // 0x20 }; -// Alignment: 12 +// Alignment: 13 // Size: 0x30 struct AggregateMeshInfo_t { @@ -190,21 +190,36 @@ public: uint8_t m_nVisClusterMemberCount; // 0x4 bool m_bHasTransform; // 0x5 int16_t m_nDrawCallIndex; // 0x6 - Color m_vTintColor; // 0x8 - uint8_t m_nLODGroupMask; // 0xc + int16_t m_nLODSetupIndex; // 0x8 + uint8_t m_nLODGroupMask; // 0xa + Color m_vTintColor; // 0xb private: - [[maybe_unused]] uint8_t __pad000d[0x3]; // 0xd + [[maybe_unused]] uint8_t __pad000f[0x1]; // 0xf public: ObjectTypeFlags_t m_objectFlags; // 0x10 - Vector m_vLODOrigin; // 0x14 - float m_fLODStartDrawDistance; // 0x20 - float m_fLODEndDrawDistance; // 0x24 - float m_fMaxObjectScale; // 0x28 - int32_t m_nLightProbeVolumePrecomputedHandshake; // 0x2c + int32_t m_nLightProbeVolumePrecomputedHandshake; // 0x14 + Vector m_vLODOrigin; // 0x18 + float m_fLODStartDrawDistance; // 0x24 + float m_fLODEndDrawDistance; // 0x28 + float m_fMaxObjectScale; // 0x2c }; -// Alignment: 7 -// Size: 0x60 +// Alignment: 4 +// Size: 0x40 +struct AggregateLODSetup_t +{ +public: + Vector m_vLODOrigin; // 0x0 + float m_fMaxObjectScale; // 0xc + uint8_t m_nLODMask; // 0x10 +private: + [[maybe_unused]] uint8_t __pad0011[0x7]; // 0x11 +public: + CUtlVectorFixedGrowable< float32 > m_fSwitchDistances; // 0x18 +}; + +// Alignment: 8 +// Size: 0x78 struct AggregateSceneObject_t { public: @@ -215,9 +230,10 @@ private: [[maybe_unused]] uint8_t __pad000a[0x6]; // 0xa public: CUtlVector< AggregateMeshInfo_t > m_aggregateMeshes; // 0x10 - CUtlVector< uint16 > m_visClusterMembership; // 0x28 - CUtlVector< matrix3x4_t > m_fragmentTransforms; // 0x40 - CStrongHandle< InfoForResourceTypeCModel > m_renderableModel; // 0x58 + CUtlVector< AggregateLODSetup_t > m_lodSetups; // 0x28 + CUtlVector< uint16 > m_visClusterMembership; // 0x40 + CUtlVector< matrix3x4_t > m_fragmentTransforms; // 0x58 + CStrongHandle< InfoForResourceTypeCModel > m_renderableModel; // 0x70 }; // Alignment: 12