class CNewParticleEffect : public IParticleEffect
{
    uint8 pad_0008[8];
public:
    CNewParticleEffect* m_pNext;
    CNewParticleEffect* m_pPrev;
    IParticleCollection* m_pParticles;
    char* m_pDebugName;
    uint8 m_bDontRemove : 1;
    uint8 m_bRemove : 1;
    uint8 m_bNeedsBBoxUpdate : 1;
    uint8 m_bIsFirstFrame : 1;
    uint8 m_bAutoUpdateBBox : 1;
    uint8 m_bAllocated : 1;
    uint8 m_bSimulate : 1;
    uint8 m_bShouldPerformCullCheck : 1;
    uint8 m_bForceNoDraw : 1;
    uint8 m_bSuppressScreenSpaceEffect : 1;
    uint8 m_bShouldSave : 1;
    uint8 m_bShouldSimulateDuringGamePaused : 1;
    uint8 m_bShouldCheckFoW : 1;
    uint8 m_bIsAsyncCreate : 1;
    uint8 m_bFreezeTransitionActive : 1;
    uint8 m_bFreezeTargetState : 1;
    uint8 m_bCanFreeze : 1;
private:
    uint8 pad_0033[13];
public:
    Vector m_vSortOrigin;
    float32 m_flScale;
    PARTICLE_EHANDLE__* m_hOwner;
    CParticleProperty* m_pOwningParticleProperty;
private:
    uint8 pad_0060[16];
public:
    float32 m_flFreezeTransitionStart;
    float32 m_flFreezeTransitionDuration;
    float32 m_flFreezeTransitionOverride;
    Vector m_LastMin;
    Vector m_LastMax;
    CSplitScreenSlot m_nSplitScreenUser;
    Vector m_vecAggregationCenter;
private:
    uint8 pad_00A4[44];
public:
    int32 m_RefCount;
};