C_OP_RenderModels
CS2 build 25218825 · Steam date 2026-09-09 · platform windows-x86_64 · cs2_schema.json
Kind: classSize: 11808 bytes (0x2e20)Alignment: 8 bytesModule: particlesBinary: !GlobalTypes
Relationships
Inherits from: CParticleFunctionRenderer
Inheritance tree
CParticleFunction
CParticleFunctionRenderer
- C_OP_RenderModels
Relationship diagram (11 edges)
classDiagram
CParticleFunction <|-- CParticleFunctionRenderer
CParticleFunctionRenderer <|-- C_OP_RenderModels
C_OP_RenderModels *-- ModelReference_t
C_OP_RenderModels *-- ParticleAttributeIndex_t
C_OP_RenderModels *-- CPerParticleVecInput
C_OP_RenderModels *-- CPerParticleFloatInput
C_OP_RenderModels *-- InfoForResourceTypeIMaterial2
C_OP_RenderModels *-- MaterialVariable_t
C_OP_RenderModels *-- CParticleModelInput
C_OP_RenderModels *-- CParticleCollectionFloatInput
C_OP_RenderModels *-- CParticleCollectionVecInputMemory layout
78 fields, 58 declared here and 20 inherited. Offsets are absolute from the object base on windows-x86_64.
CParticleFunctionCParticleFunctionRendererC_OP_RenderModels
| Offset | Field | Type | From | Annotations |
|---|---|---|---|---|
0x8 | m_flOpStrength | CParticleCollectionFloatInput | CParticleFunction | MPropertyFriendlyName operator strength MPropertySortPriority -100 |
0x178 | m_nOpEndCapState | ParticleEndcapMode_t | CParticleFunction | MPropertyFriendlyName operator end cap state MPropertySortPriority -100 |
0x17c | m_nToolsState | ParticleToolsState_t | CParticleFunction | MPropertyFriendlyName operator enabled in tools or game only MPropertySortPriority -100 |
0x180 | m_flOpStartFadeInTime | float32 | CParticleFunction | MParticleAdvancedField MPropertyFriendlyName operator start fadein MPropertySortPriority -100 MPropertyStartGroup Operator Fade |
0x184 | m_flOpEndFadeInTime | float32 | CParticleFunction | MParticleAdvancedField MPropertyFriendlyName operator end fadein MPropertySortPriority -100 |
0x188 | m_flOpStartFadeOutTime | float32 | CParticleFunction | MParticleAdvancedField MPropertyFriendlyName operator start fadeout MPropertySortPriority -100 |
0x18c | m_flOpEndFadeOutTime | float32 | CParticleFunction | MParticleAdvancedField MPropertyFriendlyName operator end fadeout MPropertySortPriority -100 |
0x190 | m_flOpFadeOscillatePeriod | float32 | CParticleFunction | MParticleAdvancedField MPropertyFriendlyName operator fade oscillate MPropertySortPriority -100 |
0x194 | m_bNormalizeToStopTime | bool | CParticleFunction | MParticleAdvancedField MPropertyFriendlyName normalize fade times to endcap MPropertySortPriority -100 |
0x198 | m_flOpTimeOffsetMin | float32 | CParticleFunction | MParticleAdvancedField MPropertyFriendlyName operator fade time offset min MPropertySortPriority -100 MPropertyStartGroup Operator Fade Time Offset |
0x19c | m_flOpTimeOffsetMax | float32 | CParticleFunction | MParticleAdvancedField MPropertyFriendlyName operator fade time offset max MPropertySortPriority -100 |
0x1a0 | m_nOpTimeOffsetSeed | int32 | CParticleFunction | MParticleAdvancedField MPropertyFriendlyName operator fade time offset seed MPropertySortPriority -100 |
0x1a4 | m_nOpTimeScaleSeed | int32 | CParticleFunction | MParticleAdvancedField MPropertyFriendlyName operator fade time scale seed MPropertySortPriority -100 MPropertyStartGroup Operator Fade Timescale Modifiers |
0x1a8 | m_flOpTimeScaleMin | float32 | CParticleFunction | MParticleAdvancedField MPropertyFriendlyName operator fade time scale min MPropertySortPriority -100 |
0x1ac | m_flOpTimeScaleMax | float32 | CParticleFunction | MParticleAdvancedField MPropertyFriendlyName operator fade time scale max MPropertySortPriority -100 |
0x1b2 | m_bDisableOperator | bool | CParticleFunction | MPropertyStartGroup MPropertySuppressField |
0x1b8 | m_Notes | CUtlString | CParticleFunction | MParticleHelpField MPropertyFriendlyName operator help and notes MPropertySortPriority -100 |
0x1d8 | VisibilityInputs | CParticleVisibilityInputs | CParticleFunctionRenderer | MPropertySortPriority -1 |
0x220 | m_bCannotBeRefracted | bool | CParticleFunctionRenderer | MPropertyFriendlyName I cannot be refracted through refracting objects like water MPropertySortPriority -1 MPropertyStartGroup Rendering filter |
0x221 | m_bSkipRenderingOnMobile | bool | CParticleFunctionRenderer | MPropertyFriendlyName Skip rendering on mobile MPropertySortPriority -1 |
0x228 | m_bOnlyRenderInEffectsBloomPass | bool | MPropertyFriendlyName Only Render in effects bloom pass MPropertySortPriority 1100 | |
0x229 | m_bOnlyRenderInEffectsWaterPass | bool | MPropertyFriendlyName Only Render in effects water pass MPropertySortPriority 1050 MPropertySuppressExpr mod != csgo && mod != hlx | |
0x22a | m_bUseMixedResolutionRendering | bool | MPropertyFriendlyName Use Mixed Resolution Rendering MPropertySortPriority 1200 | |
0x22b | m_bOnlyRenderInEffecsGameOverlay | bool | MPropertyFriendlyName Only Render in effects game overlay pass MPropertySortPriority 1210 MPropertySuppressExpr mod != csgo | |
0x230 | m_ModelList | CUtlVector< ModelReference_t > | MParticleRequireDefaultArrayEntry MPropertyAutoExpandSelf MPropertyFriendlyName models MPropertySortPriority 775 | |
0x248 | m_nBodyGroupField | ParticleAttributeIndex_t | MPropertyAttributeChoiceName particlefield_scalar MPropertyFriendlyName bodygroup field | |
0x24c | m_nSubModelField | ParticleAttributeIndex_t | MPropertyAttributeChoiceName particlefield_scalar MPropertyFriendlyName submodel field | |
0x250 | m_bIgnoreNormal | bool | MPropertyFriendlyName ignore normal MPropertySortPriority 750 MPropertyStartGroup Orientation | |
0x251 | m_bOrientZ | bool | MPropertyFriendlyName orient model z to normal MPropertySortPriority 750 MPropertySuppressExpr m_bIgnoreNormal | |
0x252 | m_bCenterOffset | bool | MPropertyFriendlyName center mesh MPropertySortPriority 750 | |
0x258 | m_vecLocalOffset | CPerParticleVecInput | MPropertyFriendlyName model local offset MPropertySortPriority 750 | |
0x910 | m_vecLocalRotation | CPerParticleVecInput | MPropertyFriendlyName model local rotation (pitch/yaw/roll) MPropertySortPriority 750 | |
0xfc8 | m_bIgnoreRadius | bool | MPropertyFriendlyName ignore radius MPropertySortPriority 700 MPropertyStartGroup Model Scale | |
0xfcc | m_nModelScaleCP | int32 | MPropertyFriendlyName model scale CP MPropertySortPriority 700 | |
0xfd0 | m_vecComponentScale | CPerParticleVecInput | MPropertyFriendlyName model component scale MPropertySortPriority 700 | |
0x1688 | m_bLocalScale | bool | MPropertyFriendlyName apply scales in local model space MPropertySortPriority 700 | |
0x168c | m_nSizeCullBloat | int32 | MPropertyAttributeChoiceName particlefield_size_cull_bloat MPropertyFriendlyName model size cull bloat | |
0x1690 | m_bAnimated | bool | MPropertyFriendlyName animated MPropertySortPriority 500 MPropertyStartGroup Animation | |
0x1698 | m_flAnimationRate | CPerParticleFloatInput | MPropertyFriendlyName animation rate MPropertySortPriority 500 MPropertySuppressExpr !m_bAnimated | |
0x1808 | m_bScaleAnimationRate | bool | MPropertyFriendlyName scale animation rate MPropertySortPriority 500 MPropertySuppressExpr !m_bAnimated | |
0x1809 | m_bForceLoopingAnimation | bool | MPropertyFriendlyName force looping animations MPropertySortPriority 500 MPropertySuppressExpr !m_bAnimated | |
0x180a | m_bResetAnimOnStop | bool | MPropertyFriendlyName reset animation frame on stop MPropertySortPriority 500 MPropertySuppressExpr !m_bAnimated | |
0x180b | m_bManualAnimFrame | bool | MPropertyFriendlyName set animation frame manually MPropertySortPriority 500 MPropertySuppressExpr !m_bAnimated | |
0x180c | m_nAnimationScaleField | ParticleAttributeIndex_t | MPropertyAttributeChoiceName particlefield_scalar MPropertyFriendlyName animation rate scale field MPropertySortPriority 500 MPropertySuppressExpr !(m_bAnimated && m_bScaleAnimationRate) | |
0x1810 | m_nAnimationField | ParticleAttributeIndex_t | MPropertyAttributeChoiceName particlefield_scalar MPropertyFriendlyName animation sequence field MPropertySortPriority 500 MPropertyStartGroup Animation | |
0x1814 | m_nManualFrameField | ParticleAttributeIndex_t | MPropertyAttributeChoiceName particlefield_scalar MPropertyFriendlyName manual animation frame field MPropertySortPriority 500 MPropertySuppressExpr !(m_bAnimated && m_bManualAnimFrame) | |
0x1818 | m_ActivityName | char[256] | MPropertyFriendlyName activity override MPropertySortPriority 500 MPropertySuppressExpr mod != dota | |
0x1918 | m_SequenceName | char[256] | MPropertyFriendlyName sequence override MPropertySortPriority 500 MPropertySuppressExpr mod == dota | |
0x1a18 | m_bEnableClothSimulation | bool | MPropertyFriendlyName Enable Cloth Simulation | |
0x1a19 | m_bDisableClothGroundCollision | bool | MPropertyFriendlyName Disable Cloth Ground Collision | |
0x1a1a | m_ClothEffectName | char[64] | MPropertyFriendlyName With Cloth Effect MPropertySortPriority 500 | |
0x1a60 | m_hOverrideMaterial | CStrongHandle< InfoForResourceTypeIMaterial2 > | MPropertyFriendlyName material override MPropertySortPriority 600 MPropertyStartGroup Material | |
0x1a68 | m_bOverrideTranslucentMaterials | bool | MPropertyFriendlyName override translucent materials MPropertySortPriority 600 | |
0x1a70 | m_nSkin | CPerParticleFloatInput | MPropertyFriendlyName skin number MPropertySortPriority 600 | |
0x1be0 | m_MaterialVars | CUtlVector< MaterialVariable_t > | MPropertyAutoExpandSelf MPropertyFriendlyName material variables MPropertySortPriority 600 | |
0x1bf8 | m_flRenderFilter | CPerParticleFloatInput | MPropertyFriendlyName render filter MPropertyStartGroup Model Overrides | |
0x1d68 | m_flManualModelSelection | CPerParticleFloatInput | MPropertyFriendlyName model list selection override | |
0x1ed8 | m_modelInput | CParticleModelInput | MParticleInputOptional MPropertyFriendlyName input model | |
0x1f38 | m_nLOD | int32 | MPropertyFriendlyName model LOD | |
0x1f3c | m_EconSlotName | char[256] | MPropertyFriendlyName model override economy loadout slot type | |
0x203c | m_bOriginalModel | bool | MPropertyFriendlyName model override original model only (ignore shapeshift/hex/etc) | |
0x203d | m_bSuppressTint | bool | MPropertyFriendlyName suppress tinting of the model | |
0x2040 | m_nSubModelFieldType | RenderModelSubModelFieldType_t | MPropertyFriendlyName SubModel Field Type | |
0x2044 | m_bDisableShadows | bool | MPropertyFriendlyName disable shadows | |
0x2045 | m_bDisableDepthPrepass | bool | MPropertyFriendlyName disable depth prepass | |
0x2046 | m_bAcceptsDecals | bool | MPropertyFriendlyName accept decals | |
0x2047 | m_bForceDrawInterlevedWithSiblings | bool | MPropertyFriendlyName forcedrawinterlevedwithsiblings | |
0x2048 | m_bDoNotDrawInParticlePass | bool | MPropertyFriendlyName do not draw in particle pass | |
0x2049 | m_bAllowApproximateTransforms | bool | MPropertyFriendlyName allow approximate transforms (cpu optimizaiton) | |
0x204a | m_szRenderAttribute | char[260] | MPropertyFriendlyName render attribute | |
0x2150 | m_flRadiusScale | CParticleCollectionFloatInput | MPropertyFriendlyName Radius Scale MPropertySortPriority 700 MPropertyStartGroup +Renderer Modifiers | |
0x22c0 | m_flAlphaScale | CParticleCollectionFloatInput | MPropertyFriendlyName alpha scale MPropertySortPriority 700 | |
0x2430 | m_flRollScale | CParticleCollectionFloatInput | MPropertyFriendlyName rotation roll scale MPropertySortPriority 700 | |
0x25a0 | m_nAlpha2Field | ParticleAttributeIndex_t | MPropertyAttributeChoiceName particlefield_scalar MPropertyFriendlyName per-particle alpha scale attribute MPropertySortPriority 700 | |
0x25a8 | m_vecColorScale | CParticleCollectionVecInput | MPropertyFriendlyName color blend MPropertySortPriority 700 | |
0x2c60 | m_nColorBlendType | ParticleColorBlendType_t | MPropertyFriendlyName color blend type MPropertySortPriority 700 | |
0x2c68 | m_strLightStyle | CUtlString | MPropertyAttributeEditor VDataChoice( scripts/light_styles.vdata ) MPropertyFriendlyName light style MPropertySortPriority 700 | |
0x2c70 | m_flLightStyleTime | CPerParticleFloatInput | MPropertyFriendlyName light style time MPropertySortPriority 700 MPropertySuppressExpr m_strLightStyle == '' |
KV3 class defaults
Truncated to the first 2048 bytes of 53884. The full value is in cs2_schema.json under classes[].metadata[MGetKV3ClassDefaults].
{
"_class": "C_OP_RenderModels",
"m_flOpStrength":
{
"m_nType": "PF_TYPE_LITERAL",
"m_nMapType": "PF_MAP_TYPE_DIRECT",
"m_flLiteralValue": 1.000000,
"m_NamedValue": "",
"m_nControlPoint": 0,
"m_nScalarAttribute": 3,
"m_nVectorAttribute": 6,
"m_nVectorComponent": 0,
"m_bReverseOrder": false,
"m_flRandomMin": 0.000000,
"m_flRandomMax": 1.000000,
"m_bHasRandomSignFlip": false,
"m_nRandomSeed": <HIDDEN FOR DIFF>,
"m_nRandomMode": "PF_RANDOM_MODE_CONSTANT",
"m_strSnapshotSubset": "",
"m_flLOD0": 0.000000,
"m_flLOD1": 0.000000,
"m_flLOD2": 0.000000,
"m_flLOD3": 0.000000,
"m_nNoiseInputVectorAttribute": 0,
"m_flNoiseOutputMin": 0.000000,
"m_flNoiseOutputMax": 1.000000,
"m_flNoiseScale": 0.100000,
"m_vecNoiseOffsetRate":
[
0.000000,
0.000000,
0.000000
],
"m_flNoiseOffset": 0.000000,
"m_nNoiseOctaves": 1,
"m_nNoiseTurbulence": "PF_NOISE_TURB_NONE",
"m_nNoiseType": "PF_NOISE_TYPE_PERLIN",
"m_nNoiseModifier": "PF_NOISE_MODIFIER_NONE",
"m_flNoiseTurbulenceScale": 1.000000,
"m_flNoiseTurbulenceMix": 0.500000,
"m_flNoiseImgPreviewScale": 1.000000,
"m_bNoiseImgPreviewLive": true,
"m_flNoCameraFallback": 0.000000,
"m_bUseBoundsCenter": false,
"m_nInputMode": "PF_INPUT_MODE_CLAMPED",
"m_flMultFactor": 1.000000,
"m_flInput0": 0.000000,
"m_flInput1": 1.000000,
"m_flOutput0": 0.000000,
"m_flOutput1": 1.000000,
"m_flNotchedRangeMin": 0.000000,
"m_flNotchedRangeMax": 1.000000,
"m_flNotchedOutputOutside": 0.000000,
"m_flNotchedOutputInside": 1.000000,
"m_nRoundType": "PF_ROUND_TYPE_NEAREST",
"m_nBiasType": "PF_BIAS_TYPE_STANDARD",
"m_flBiasParameter": 0.000000,
"m_Curve":
{
"m_spline":
[
],
"m_tangents":
[
],
"m_vDomainMins":
[
0.000000,
0.000000
],
"m_vDomainMaxs":
[
0.000000,
0.000000
]
}
},
"m_nOpEndCapState": "PARTICLE_ENDCAP_ALWAYS_ON",
"m_nToolsState": "PARTICLE_TOOLS_STATE_ALWAYS_ON",
"m_flOpStartFadeInTime": 0.000000,
"m_flOpEndFadeInTime": 0.000000,
"m_f
...