class C_OP_ControlpointLight : public CParticleFunctionOperator
{
public:
    // MPropertyFriendlyName = initial color bias
    float32 m_flScale;
private:
    uint8 pad_01DC[1156];
public:
    // MPropertyFriendlyName = light 1 control point
    int32 m_nControlPoint1;
    // MPropertyFriendlyName = light 2 control point
    int32 m_nControlPoint2;
    // MPropertyFriendlyName = light 3 control point
    int32 m_nControlPoint3;
    // MPropertyFriendlyName = light 4 control point
    int32 m_nControlPoint4;
    // MPropertyFriendlyName = light 1 control point offset
    Vector m_vecCPOffset1;
    // MPropertyFriendlyName = light 2 control point offset
    Vector m_vecCPOffset2;
    // MPropertyFriendlyName = light 3 control point offset
    Vector m_vecCPOffset3;
    // MPropertyFriendlyName = light 4 control point offset
    Vector m_vecCPOffset4;
    // MPropertyFriendlyName = light 1 50% distance
    float32 m_LightFiftyDist1;
    // MPropertyFriendlyName = light 1 0% distance
    float32 m_LightZeroDist1;
    // MPropertyFriendlyName = light 2 50% distance
    float32 m_LightFiftyDist2;
    // MPropertyFriendlyName = light 2 0% distance
    float32 m_LightZeroDist2;
    // MPropertyFriendlyName = light 3 50% distance
    float32 m_LightFiftyDist3;
    // MPropertyFriendlyName = light 3 0% distance
    float32 m_LightZeroDist3;
    // MPropertyFriendlyName = light 4 50% distance
    float32 m_LightFiftyDist4;
    // MPropertyFriendlyName = light 4 0% distance
    float32 m_LightZeroDist4;
    // MPropertyFriendlyName = light 1 color
    Color m_LightColor1;
    // MPropertyFriendlyName = light 2 color
    Color m_LightColor2;
    // MPropertyFriendlyName = light 3 color
    Color m_LightColor3;
    // MPropertyFriendlyName = light 4 color
    Color m_LightColor4;
    // MPropertyFriendlyName = light 1 type 0=point 1=spot
    bool m_bLightType1;
    // MPropertyFriendlyName = light 2 type 0=point 1=spot
    bool m_bLightType2;
    // MPropertyFriendlyName = light 3 type 0=point 1=spot
    bool m_bLightType3;
    // MPropertyFriendlyName = light 4 type 0=point 1=spot
    bool m_bLightType4;
    // MPropertyFriendlyName = light 1 dynamic light
    bool m_bLightDynamic1;
    // MPropertyFriendlyName = light 2 dynamic light
    bool m_bLightDynamic2;
    // MPropertyFriendlyName = light 3 dynamic light
    bool m_bLightDynamic3;
    // MPropertyFriendlyName = light 4 dynamic light
    bool m_bLightDynamic4;
    // MPropertyFriendlyName = compute normals from control points
    bool m_bUseNormal;
    // MPropertyFriendlyName = half-lambert normals
    bool m_bUseHLambert;
private:
    uint8 pad_06DA[4];
public:
    // MPropertyFriendlyName = clamp minimum light value to initial color
    bool m_bClampLowerRange;
    // MPropertyFriendlyName = clamp maximum light value to initial color
    bool m_bClampUpperRange;
};

KV3 Class Defaults

{
    _class = "C_OP_ControlpointLight"
    m_flOpStrength = 
    {
        m_nType = "PF_TYPE_LITERAL"
        m_nMapType = "PF_MAP_TYPE_DIRECT"
        m_flLiteralValue = 1.0
        m_NamedValue = ""
        m_nControlPoint = 0
        m_nScalarAttribute = 3
        m_nVectorAttribute = 6
        m_nVectorComponent = 0
        m_bReverseOrder = false
        m_flRandomMin = 0.0
        m_flRandomMax = 1.0
        m_bHasRandomSignFlip = false
        m_nRandomSeed = -1
        m_nRandomMode = "PF_RANDOM_MODE_CONSTANT"
        m_strSnapshotSubset = ""
        m_flLOD0 = 0.0
        m_flLOD1 = 0.0
        m_flLOD2 = 0.0
        m_flLOD3 = 0.0
        m_nNoiseInputVectorAttribute = 0
        m_flNoiseOutputMin = 0.0
        m_flNoiseOutputMax = 1.0
        m_flNoiseScale = 0.1
        m_vecNoiseOffsetRate = [ 0.0, 0.0, 0.0 ]
        m_flNoiseOffset = 0.0
        m_nNoiseOctaves = 1
        m_nNoiseTurbulence = "PF_NOISE_TURB_NONE"
        m_nNoiseType = "PF_NOISE_TYPE_PERLIN"
        m_nNoiseModifier = "PF_NOISE_MODIFIER_NONE"
        m_flNoiseTurbulenceScale = 1.0
        m_flNoiseTurbulenceMix = 0.5
        m_flNoiseImgPreviewScale = 1.0
        m_bNoiseImgPreviewLive = true
        m_flNoCameraFallback = 0.0
        m_bUseBoundsCenter = false
        m_nInputMode = "PF_INPUT_MODE_CLAMPED"
        m_flMultFactor = 1.0
        m_flInput0 = 0.0
        m_flInput1 = 1.0
        m_flOutput0 = 0.0
        m_flOutput1 = 1.0
        m_flNotchedRangeMin = 0.0
        m_flNotchedRangeMax = 1.0
        m_flNotchedOutputOutside = 0.0
        m_flNotchedOutputInside = 1.0
        m_nRoundType = "PF_ROUND_TYPE_NEAREST"
        m_nBiasType = "PF_BIAS_TYPE_STANDARD"
        m_flBiasParameter = 0.0
        m_Curve = 
        {
            m_spline = [  ]
            m_tangents = [  ]
            m_vDomainMins = [ 0.0, 0.0 ]
            m_vDomainMaxs = [ 0.0, 0.0 ]
        }
    }
    m_nOpEndCapState = "PARTICLE_ENDCAP_ALWAYS_ON"
    m_nToolsState = "PARTICLE_TOOLS_STATE_ALWAYS_ON"
    m_flOpStartFadeInTime = 0.0
    m_flOpEndFadeInTime = 0.0
    m_flOpStartFadeOutTime = 0.0
    m_flOpEndFadeOutTime = 0.0
    m_flOpFadeOscillatePeriod = 0.0
    m_bNormalizeToStopTime = false
    m_flOpTimeOffsetMin = 0.0
    m_flOpTimeOffsetMax = 0.0
    m_nOpTimeOffsetSeed = 0
    m_nOpTimeScaleSeed = 0
    m_flOpTimeScaleMin = 1.0
    m_flOpTimeScaleMax = 1.0
    m_bDisableOperator = false
    m_Notes = ""
    m_flScale = 0.0
    m_nControlPoint1 = 0
    m_nControlPoint2 = 0
    m_nControlPoint3 = 0
    m_nControlPoint4 = 0
    m_vecCPOffset1 = [ 0.0, 0.0, 0.0 ]
    m_vecCPOffset2 = [ 0.0, 0.0, 0.0 ]
    m_vecCPOffset3 = [ 0.0, 0.0, 0.0 ]
    m_vecCPOffset4 = [ 0.0, 0.0, 0.0 ]
    m_LightFiftyDist1 = 100.0
    m_LightZeroDist1 = 200.0
    m_LightFiftyDist2 = 100.0
    m_LightZeroDist2 = 200.0
    m_LightFiftyDist3 = 100.0
    m_LightZeroDist3 = 200.0
    m_LightFiftyDist4 = 100.0
    m_LightZeroDist4 = 200.0
    m_LightColor1 = [ 0, 0, 0 ]
    m_LightColor2 = [ 0, 0, 0 ]
    m_LightColor3 = [ 0, 0, 0 ]
    m_LightColor4 = [ 0, 0, 0 ]
    m_bLightType1 = false
    m_bLightType2 = false
    m_bLightType3 = false
    m_bLightType4 = false
    m_bLightDynamic1 = false
    m_bLightDynamic2 = false
    m_bLightDynamic3 = false
    m_bLightDynamic4 = false
    m_bUseNormal = false
    m_bUseHLambert = true
    m_bClampLowerRange = false
    m_bClampUpperRange = false
}