C_OP_RenderStandardLight
CS2 build 25218825 · Steam date 2026-09-09 · platform windows-x86_64 · cs2_schema.json
Kind: classSize: 6064 bytes (0x17b0)Alignment: 8 bytesModule: particlesBinary: !GlobalTypes
Relationships
Inherits from: CParticleFunctionRenderer
Inheritance tree
CParticleFunction
CParticleFunctionRenderer
- C_OP_RenderStandardLight
Relationship diagram (7 edges)
classDiagram
CParticleFunction <|-- CParticleFunctionRenderer
CParticleFunctionRenderer <|-- C_OP_RenderStandardLight
C_OP_RenderStandardLight *-- CParticleCollectionVecInput
C_OP_RenderStandardLight *-- CPerParticleFloatInput
C_OP_RenderStandardLight *-- CParticleCollectionFloatInput
C_OP_RenderStandardLight *-- CParticleCollectionRendererFloatInput
C_OP_RenderStandardLight *-- ParticleAttributeIndex_tMemory layout
54 fields, 34 declared here and 20 inherited. Offsets are absolute from the object base on windows-x86_64.
CParticleFunctionCParticleFunctionRendererC_OP_RenderStandardLight
| 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_nLightType | ParticleLightTypeChoiceList_t | MPropertyFriendlyName light type | |
0x22c | m_nMaxAllowed | uint16 | MPropertyAttributeRange 1 512 MPropertyFriendlyName maximum light count | |
0x230 | m_vecColorScale | CParticleCollectionVecInput | MPropertyFriendlyName color blend | |
0x8e8 | m_nColorBlendType | ParticleColorBlendType_t | MPropertyFriendlyName color blend type | |
0x8f0 | m_strLightStyle | CUtlString | MPropertyAttributeEditor VDataChoice( scripts/light_styles.vdata ) MPropertyFriendlyName light style | |
0x8f8 | m_flLightStyleTime | CPerParticleFloatInput | MPropertyFriendlyName light style time MPropertySuppressExpr m_strLightStyle == '' | |
0xa68 | m_flIntensity | CPerParticleFloatInput | MPropertyFriendlyName intensity | |
0xbd8 | m_bCastShadows | bool | MPropertyFriendlyName cast shadows MPropertySuppressExpr m_nLightType == PARTICLE_LIGHT_TYPE_FX | |
0xbd9 | m_bDynamicBounce | bool | MPropertyFriendlyName dynamic bounce (RTGI) MPropertySuppressExpr !m_bCastShadows || m_nLightType == PARTICLE_LIGHT_TYPE_FX || mod == csgo | |
0xbe0 | m_flBounceScale | CParticleCollectionFloatInput | MPropertyFriendlyName bounce scale MPropertySuppressExpr !m_bDynamicBounce | |
0xd50 | m_flTheta | CParticleCollectionFloatInput | MPropertyFriendlyName inner cone angle MPropertySuppressExpr m_nLightType != PARTICLE_LIGHT_TYPE_SPOT | |
0xec0 | m_flPhi | CParticleCollectionFloatInput | MPropertyFriendlyName outer cone angle MPropertySuppressExpr m_nLightType != PARTICLE_LIGHT_TYPE_SPOT | |
0x1030 | m_flRadiusMultiplier | CParticleCollectionFloatInput | MPropertyFriendlyName light radius multiplier | |
0x11a0 | m_nAttenuationStyle | StandardLightingAttenuationStyle_t | MPropertyFriendlyName attenuation type | |
0x11a8 | m_flFalloffLinearity | CParticleCollectionFloatInput | MPropertyFriendlyName falloff linearity MPropertySuppressExpr m_nAttenuationStyle == LIGHT_STYLE_NEW || ( m_nAttenuationStyle == LIGHT_STYLE_OLD && m_nLightType == PARTICLE_LIGHT_TYPE_FX ) | |
0x1318 | m_flFiftyPercentFalloff | CParticleCollectionFloatInput | MPropertyFriendlyName falloff fifty percent MPropertySuppressExpr m_nAttenuationStyle == LIGHT_STYLE_OLD | |
0x1488 | m_flZeroPercentFalloff | CParticleCollectionFloatInput | MPropertyFriendlyName falloff zero percent MPropertySuppressExpr m_nAttenuationStyle == LIGHT_STYLE_OLD | |
0x15f8 | m_bRenderDiffuse | bool | MPropertyFriendlyName render diffuse MPropertySuppressExpr m_nLightType == PARTICLE_LIGHT_TYPE_FX | |
0x15f9 | m_bRenderSpecular | bool | MPropertyFriendlyName render specular MPropertySuppressExpr m_nLightType == PARTICLE_LIGHT_TYPE_FX | |
0x1600 | m_lightCookie | CUtlString | MPropertyFriendlyName light cookie string | |
0x1608 | m_nPriority | int32 | MPropertyFriendlyName light priority | |
0x160c | m_nFogLightingMode | ParticleLightFogLightingMode_t | MPropertyFriendlyName fog lighting mode MPropertySuppressExpr m_nLightType == PARTICLE_LIGHT_TYPE_FX | |
0x1610 | m_flFogContribution | CParticleCollectionRendererFloatInput | MPropertyFriendlyName fog contribution MPropertySuppressExpr m_nLightType == PARTICLE_LIGHT_TYPE_FX | |
0x1780 | m_nCapsuleLightBehavior | ParticleLightBehaviorChoiceList_t | MPropertyFriendlyName capsule behavior | |
0x1784 | m_flCapsuleLength | float32 | MPropertyFriendlyName capsule length MPropertyStartGroup Capsule Light Controls MPropertySuppressExpr m_nCapsuleLightBehavior == PARTICLE_LIGHT_BEHAVIOR_ROPE || m_nCapsuleLightBehavior == PARTICLE_LIGHT_BEHAVIOR_TRAILS | |
0x1788 | m_bReverseOrder | bool | MPropertyFriendlyName reverse point order MPropertySuppressExpr m_nCapsuleLightBehavior == PARTICLE_LIGHT_BEHAVIOR_FOLLOW_DIRECTION || m_nCapsuleLightBehavior == PARTICLE_LIGHT_BEHAVIOR_TRAILS | |
0x1789 | m_bClosedLoop | bool | MPropertyFriendlyName Closed loop MPropertySuppressExpr m_nCapsuleLightBehavior == PARTICLE_LIGHT_BEHAVIOR_FOLLOW_DIRECTION || m_nCapsuleLightBehavior == PARTICLE_LIGHT_BEHAVIOR_TRAILS | |
0x178c | m_nPrevPntSource | ParticleAttributeIndex_t | MPropertyAttributeChoiceName particlefield_vector MPropertyFriendlyName Anchor point source MPropertySuppressExpr m_nCapsuleLightBehavior == PARTICLE_LIGHT_BEHAVIOR_FOLLOW_DIRECTION || m_nCapsuleLightBehavior == PARTICLE_LIGHT_BEHAVIOR_ROPE | |
0x1790 | m_flMaxLength | float32 | MPropertyFriendlyName max length MPropertySuppressExpr m_nCapsuleLightBehavior == PARTICLE_LIGHT_BEHAVIOR_FOLLOW_DIRECTION || m_nCapsuleLightBehavior == PARTICLE_LIGHT_BEHAVIOR_ROPE | |
0x1794 | m_flMinLength | float32 | MPropertyFriendlyName min length MPropertySuppressExpr m_nCapsuleLightBehavior == PARTICLE_LIGHT_BEHAVIOR_FOLLOW_DIRECTION || m_nCapsuleLightBehavior == PARTICLE_LIGHT_BEHAVIOR_ROPE | |
0x1798 | m_bIgnoreDT | bool | MPropertyFriendlyName ignore delta time MPropertySuppressExpr m_nCapsuleLightBehavior == PARTICLE_LIGHT_BEHAVIOR_FOLLOW_DIRECTION || m_nCapsuleLightBehavior == PARTICLE_LIGHT_BEHAVIOR_ROPE | |
0x179c | m_flConstrainRadiusToLengthRatio | float32 | 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 | |
0x17a0 | m_flLengthScale | float32 | MPropertyFriendlyName amount to scale trail length by MPropertySuppressExpr m_nCapsuleLightBehavior == PARTICLE_LIGHT_BEHAVIOR_FOLLOW_DIRECTION || m_nCapsuleLightBehavior == PARTICLE_LIGHT_BEHAVIOR_ROPE | |
0x17a4 | m_flLengthFadeInTime | float32 | 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 |
KV3 class defaults
Truncated to the first 2048 bytes of 30953. The full value is in cs2_schema.json under classes[].metadata[MGetKV3ClassDefaults].
{
"_class": "C_OP_RenderStandardLight",
"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
...