Skip to content

CParticleSystemDefinition

CS2 build 25218825 · Steam date 2026-09-09 · platform windows-x86_64 · cs2_schema.json

Kind: classSize: 1088 bytes (0x440)Alignment: 16 bytesModule: particlesBinary: !GlobalTypes

Relationships

Inherits from: IParticleSystemDefinition

Inheritance tree
Relationship diagram (11 edges)
classDiagram
    IParticleSystemDefinition <|-- CParticleSystemDefinition
    CParticleSystemDefinition --> CParticleFunctionPreEmission
    CParticleSystemDefinition --> CParticleFunctionEmitter
    CParticleSystemDefinition --> CParticleFunctionInitializer
    CParticleSystemDefinition --> CParticleFunctionOperator
    CParticleSystemDefinition --> CParticleFunctionForce
    CParticleSystemDefinition --> CParticleFunctionConstraint
    CParticleSystemDefinition --> CParticleFunctionRenderer
    CParticleSystemDefinition *-- ParticleChildrenInfo_t
    CParticleSystemDefinition --> ParticleNamedValueSource_t
    CParticleSystemDefinition *-- InfoForResourceTypeIParticleSnapshot
Inheritance chain, direct subclasses (up to 20) and a few composition edges

Memory layout

66 fields, 66 declared here and 0 inherited. Offsets are absolute from the object base on windows-x86_64.

CParticleSystemDefinition

OffsetFieldTypeFromAnnotations
0x8m_nBehaviorVersionint32MPropertyFriendlyName version MPropertySuppressField
0x10m_PreEmissionOperatorsCUtlVector< CParticleFunctionPreEmission* >MPropertySuppressField
0x28m_EmittersCUtlVector< CParticleFunctionEmitter* >MPropertySuppressField
0x40m_InitializersCUtlVector< CParticleFunctionInitializer* >MPropertySuppressField
0x58m_OperatorsCUtlVector< CParticleFunctionOperator* >MPropertySuppressField
0x70m_ForceGeneratorsCUtlVector< CParticleFunctionForce* >MPropertySuppressField
0x88m_ConstraintsCUtlVector< CParticleFunctionConstraint* >MPropertySuppressField
0xa0m_RenderersCUtlVector< CParticleFunctionRenderer* >MPropertySuppressField
0xb8m_ChildrenCUtlVector< ParticleChildrenInfo_t >MPropertySuppressField
0x178m_nFirstMultipleOverride_BackwardCompatint32MPropertySuppressField
0x258m_nInitialParticlesint32MPropertyFriendlyName initial particles MPropertyStartGroup +Collection Options
0x25cm_nMaxParticlesint32MPropertyFriendlyName max particles
0x260m_nGroupIDint32MPropertyFriendlyName group id
0x264m_BoundingBoxMinVectorMPropertyFriendlyName bounding box bloat min MPropertyStartGroup Bounding Box MVectorIsCoordinate
0x270m_BoundingBoxMaxVectorMPropertyFriendlyName bounding box bloat max MVectorIsCoordinate
0x27cm_flDepthSortBiasfloat32MPropertyFriendlyName bounding box depth sort bias
0x280m_nSortOverridePositionCPint32MPropertyFriendlyName sort override position CP
0x284m_bInfiniteBoundsboolMPropertyFriendlyName infinite bounds - don't cull
0x285m_bEnableNamedValuesboolMPropertyFriendlyName Enable Named Values (EXPERIMENTAL) MPropertyStartGroup Named Values
0x288m_NamedValueDomainCUtlStringMPropertyAttributeChoiceName particlefield_domain MPropertyAutoRebuildOnChange MPropertyFriendlyName Domain Class MPropertySuppressExpr !m_bEnableNamedValues
0x290m_NamedValueLocalsCUtlVector< ParticleNamedValueSource_t* >MPropertySuppressField
0x2a8m_ConstantColorColorMPropertyColorPlusAlpha MPropertyFriendlyName color MPropertyStartGroup +Base Properties
0x2acm_ConstantNormalVectorMPropertyFriendlyName normal MVectorIsCoordinate
0x2b8m_flConstantRadiusfloat32MPropertyAttributeRange biased 0 500 MPropertyFriendlyName radius
0x2bcm_flConstantRotationfloat32MPropertyFriendlyName rotation
0x2c0m_flConstantRotationSpeedfloat32MPropertyFriendlyName rotation speed
0x2c4m_flConstantLifespanfloat32MPropertyFriendlyName lifetime
0x2c8m_nConstantSequenceNumberint32MPropertyAttributeEditor SequencePicker( 1 ) MPropertyFriendlyName sequence number
0x2ccm_nConstantSequenceNumber1int32MPropertyAttributeEditor SequencePicker( 2 ) MPropertyFriendlyName sequence number 1
0x2d0m_nSnapshotControlPointint32MPropertyStartGroup Snapshot Options
0x2d8m_hSnapshotCStrongHandle< InfoForResourceTypeIParticleSnapshot >
0x2e0m_pszCullReplacementNameCStrongHandle< InfoForResourceTypeIParticleSystemDefinition >MPropertyFriendlyName cull replacement definition MPropertyStartGroup Replacement Options
0x2e8m_flCullRadiusfloat32MPropertyFriendlyName cull radius
0x2ecm_flCullFillCostfloat32MPropertyFriendlyName cull cost
0x2f0m_nCullControlPointint32MPropertyFriendlyName cull control point
0x2f8m_hFallbackCStrongHandle< InfoForResourceTypeIParticleSystemDefinition >MPropertyFriendlyName fallback replacement definition
0x300m_nFallbackMaxCountint32MPropertyFriendlyName fallback max count
0x308m_hLowViolenceDefCStrongHandle< InfoForResourceTypeIParticleSystemDefinition >MPropertyFriendlyName low violence definition
0x310m_hReferenceReplacementCStrongHandle< InfoForResourceTypeIParticleSystemDefinition >MPropertyFriendlyName reference replacement definition
0x318m_flPreSimulationTimefloat32MPropertyFriendlyName pre-simulation time MPropertyStartGroup Simulation Options
0x31cm_flStopSimulationAfterTimefloat32MPropertyFriendlyName freeze simulation after time
0x320m_flMaximumTimeStepfloat32MPropertyFriendlyName maximum time step
0x324m_flMaximumSimTimefloat32MPropertyFriendlyName maximum sim tick rate
0x328m_flMinimumSimTimefloat32MPropertyFriendlyName minimum sim tick rate
0x32cm_flMinimumTimeStepfloat32MPropertyFriendlyName minimum simulation time step
0x330m_nMinimumFramesint32MPropertyFriendlyName minimum required rendered frames
0x334m_bIsGPUParticleSystemboolMPropertyAutoRebuildOnChange MPropertyFriendlyName simulated on the GPU MPropertySuppressExpr mod != hlx
0x338m_nMinCPULevelint32MPropertyFriendlyName minimum CPU level MPropertyStartGroup Performance Options
0x33cm_nMinGPULevelint32MPropertyFriendlyName minimum GPU level
0x340m_flNoDrawTimeToGoToSleepfloat32MPropertyFriendlyName time to sleep when not drawn
0x344m_flMaxDrawDistancefloat32MPropertyFriendlyName maximum draw distance
0x348m_flStartFadeDistancefloat32MPropertyFriendlyName start fade distance
0x34cm_flMaxCreationDistancefloat32MPropertyFriendlyName maximum creation distance
0x350m_nAggregationMinAvailableParticlesint32MPropertyFriendlyName minimum free particles to aggregate
0x354m_flAggregateRadiusfloat32MPropertyFriendlyName aggregation radius
0x358m_bShouldBatchboolMParticleAdvancedField MPropertyFriendlyName batch particle systems (DO NOT USE)
0x359m_bShouldHitboxesFallbackToRenderBoundsboolMPropertyFriendlyName Hitboxes fall back to render bounds
0x35am_bShouldHitboxesFallbackToSnapshotboolMPropertyFriendlyName Hitboxes fall back to snapshot
0x35bm_bShouldHitboxesFallbackToCollisionHullsboolMPropertyFriendlyName Hitboxes fall back to collision hulls
0x35cm_nViewModelEffectInheritableBoolType_tMPropertyFriendlyName view model effect MPropertyStartGroup Rendering Options MPropertySuppressExpr m_bScreenSpaceEffect
0x360m_bScreenSpaceEffectboolMPropertyFriendlyName screen space effect MPropertySuppressExpr m_nViewModelEffect == INHERITABLE_BOOL_TRUE
0x368m_pszTargetLayerIDCUtlSymbolLargeMPropertyFriendlyName target layer ID for rendering
0x370m_nSkipRenderControlPointint32MPropertyFriendlyName control point to disable rendering if it is the camera
0x374m_nAllowRenderControlPointint32MPropertyFriendlyName control point to only enable rendering if it is the camera
0x378m_bShouldSortboolMParticleAdvancedField MPropertyFriendlyName sort particles (DEPRECATED - USE RENDERER OPTION)
0x3c0m_controlPointConfigurationsCUtlVector< ParticleControlPointConfiguration_t >MPropertySuppressField
KV3 class defaults
{
	"_class": "CParticleSystemDefinition",
	"m_nBehaviorVersion": 0,
	"m_PreEmissionOperators":
	[
	],
	"m_Emitters":
	[
	],
	"m_Initializers":
	[
	],
	"m_Operators":
	[
	],
	"m_ForceGenerators":
	[
	],
	"m_Constraints":
	[
	],
	"m_Renderers":
	[
	],
	"m_Children":
	[
	],
	"m_nFirstMultipleOverride_BackwardCompat": -1,
	"m_nInitialParticles": 0,
	"m_nMaxParticles": 1000,
	"m_nGroupID": 0,
	"m_BoundingBoxMin":
	[
		-10.000000,
		-10.000000,
		-10.000000
	],
	"m_BoundingBoxMax":
	[
		10.000000,
		10.000000,
		10.000000
	],
	"m_flDepthSortBias": 0.000000,
	"m_nSortOverridePositionCP": -1,
	"m_bInfiniteBounds": false,
	"m_bEnableNamedValues": false,
	"m_NamedValueDomain": "",
	"m_NamedValueLocals":
	[
	],
	"m_ConstantColor":
	[
		255,
		255,
		255
	],
	"m_ConstantNormal":
	[
		0.000000,
		0.000000,
		1.000000
	],
	"m_flConstantRadius": 5.000000,
	"m_flConstantRotation": 0.000000,
	"m_flConstantRotationSpeed": 0.000000,
	"m_flConstantLifespan": 1.000000,
	"m_nConstantSequenceNumber": 0,
	"m_nConstantSequenceNumber1": 0,
	"m_nSnapshotControlPoint": 0,
	"m_hSnapshot": "",
	"m_pszCullReplacementName": "",
	"m_flCullRadius": 0.000000,
	"m_flCullFillCost": 1.000000,
	"m_nCullControlPoint": 0,
	"m_hFallback": "",
	"m_nFallbackMaxCount": -1,
	"m_hLowViolenceDef": "",
	"m_hReferenceReplacement": "",
	"m_flPreSimulationTime": 0.000000,
	"m_flStopSimulationAfterTime": 1000000000.000000,
	"m_flMaximumTimeStep": 0.100000,
	"m_flMaximumSimTime": 0.000000,
	"m_flMinimumSimTime": 0.000000,
	"m_flMinimumTimeStep": 0.000000,
	"m_nMinimumFrames": 0,
	"m_bIsGPUParticleSystem": false,
	"m_nMinCPULevel": 0,
	"m_nMinGPULevel": 0,
	"m_flNoDrawTimeToGoToSleep": 8.000000,
	"m_flMaxDrawDistance": -1.000000,
	"m_flStartFadeDistance": 200000.000000,
	"m_flMaxCreationDistance": -1.000000,
	"m_nAggregationMinAvailableParticles": 1,
	"m_flAggregateRadius": 0.000000,
	"m_bShouldBatch": false,
	"m_bShouldHitboxesFallbackToRenderBounds": true,
	"m_bShouldHitboxesFallbackToSnapshot": true,
	"m_bShouldHitboxesFallbackToCollisionHulls": true,
	"m_nViewModelEffect": "INHERITABLE_BOOL_INHERIT",
	"m_bScreenSpaceEffect": false,
	"m_pszTargetLayerID": "",
	"m_nSkipRenderControlPoint": -1,
	"m_nAllowRenderControlPoint": -1,
	"m_bShouldSort": true,
	"m_controlPointConfigurations":
	[
	]
}