Particle Description: Difference between revisions

Added 64-bit info and conformed to format documentation guidelines.
(Created page with "=== ParticleDescription === {| class="wikitable" ! Offset !! Size !! Type !! Name !! Description !! More Information !! Comments |- | 0x0 || 0x4 || uint32_t || muHashedGDBURI || Resource ID || || |- | 0x4 || 0x4 || cLionEffectDefinition * || mpLionEffectDefinition || Effect pointer || cLionEffectDefinition format || |} === cLionEffectDefinition === {| class="wikitable" ! Offset !! Size !! Type !! Name !! Description !! More Information !! Comments |- | 0x0 || 0x4 || U...")
 
(Added 64-bit info and conformed to format documentation guidelines.)
Line 1:
Particle description resources are the primary assets used for Lion particle effects.
=== ParticleDescription ===
 
= Structures =
'''Note: Particle descriptions makes use of nonstandard type names''' such as U32. These are not linked to within each table; instead, see [[#typedefs | typedefs]] directly for details on these types.
<br/>
'''Note: All pointers are relative to the start of the lowest-level structure they reside in.'''
 
=== BrnParticle::ParticleDescription ===
==== 32-bit ====
{| class="wikitable"
! Offset !! SizeLength !! Type !! Name !! Description !! More Information !! Comments
|-
| 0x0 || 0x4 || uint32_t || muHashedGDBURI || Resource ID || ||
|-
| 0x4 || 0x4 || [[#cLionEffectDefinition | cLionEffectDefinition]]* || mpLionEffectDefinition || Effect pointer || cLionEffectDefinition format ||
|}
 
==== 64-bit ====
{| class="wikitable"
! Offset !! Length !! Type !! Name !! Description !! Comments
|-
| 0x0 || 0x4 || uint32_t || muHashedGDBURI || Resource ID ||
|-
| 0x4 || 0x4 || || || padding ||
|-
| 0x8 || 0x8 || [[#cLionEffectDefinition | cLionEffectDefinition]]* || mpLionEffectDefinition || Effect ||
|}
 
=== cLionEffectDefinition ===
==== 32-bit ====
{| class="wikitable"
! Offset !! SizeLength !! Type !! Name !! Description !! More Information !! Comments
|-
| 0x0 || 0x4 || U32 || mVersion || || Always 0x00010003 || 0x10003
|-
| 0x4 || 0x4 || [[#LionHash || m_keyLionHash]] || m_key || || NoNot longeractually a hash
|-
| 0x8 || 0x40 || [[#LionChar | LionChar]][32] || m_name || || ||
|-
| 0x48 || 0x4 || [[#cLionParticleEffect | cLionParticleEffect]]* || mpParticles || || cLionParticleEffect format ||
|-
| 0x4C || 0x4 || [[#cLionBindings | cLionBindings]]* || mpBindings || || cLionBindings format ||
|-
| 0x50 || 0x4 || cLionEffectDefinition * || mpNext || || ||
|}
 
==== 64-bit ====
{| class="wikitable"
! Offset !! Length !! Type !! Name !! Description !! Comments
|-
| 0x0 || 0x4 || U32 || mVersion || || Always 0x10003
|-
| 0x4 || 0x4 || [[#LionHash | LionHash]] || m_key || || Not actually a hash
|-
| 0x8 || 0x40 || [[#LionChar | LionChar]][32] || m_name || ||
|-
| 0x48 || 0x8 || [[#cLionParticleEffect | cLionParticleEffect]]* || mpParticles || ||
|-
| 0x50 || 0x8 || [[#cLionBindings | cLionBindings]]* || mpBindings || ||
|-
| 0x58 || 0x8 || cLionEffectDefinition* || mpNext || ||
|}
 
=== cLionParticleEffect ===
==== 32-bit ====
{| class="wikitable"
! Offset !! SizeLength !! Type !! Name !! Description !! More Information !! Comments
|-
| 0x0 || 0x4 || U32 || mHash || ||
|-
| 0x4 || 0x4 || [[#cParticleDescriptor | cParticleDescriptor]]* || mpDescriptors || ||
|-
| 0x8 || 0x4 || cLionParticleEffect* || mpNext || ||
|}
 
==== 64-bit ====
{| class="wikitable"
! Offset !! Length !! Type !! Name !! Description !! Comments
|-
| 0x0 || 0x4 || U32 || mHash || ||
|-
| 0x00x4 || 0x4 || U32 || mHash || || padding ||
|-
| 0x40x8 || 0x40x8 || [[#cParticleDescriptor | cParticleDescriptor]]* || mpDescriptors || || cParticleDescriptor format ||
|-
| 0x80x10 || 0x40x8 || cLionParticleEffect * || mpNext || || ||
|}
 
=== cParticleDescriptor ===
==== 32-bit ====
{| class="wikitable"
! Offset !! SizeLength !! Type !! Name !! Description !! More Information !! Comments
|-
| 0x0 || 0x4 || U32 || mID || || ||
|-
| 0x4 || 0x4 || FP32 || mPauseTime || || ||
|-
| 0x8 || 0x4 || FP32 || mPauseTimeVariance || || ||
|-
| 0xC || 0x4 || FP32 || mRepeatTime || || ||
|-
| 0x10 || 0x4 || FP32 || mRepeatTimeVariance || || ||
|-
| 0x14 || 0x4 || FP32 || mEmitterLifeBase || || ||
|-
| 0x18 || 0x4 || FP32 || mEmitterLifeVariance || || ||
|-
| 0x1C || 0x4 || U32 || mEmitterLifeInfiniteFlag || || ||
|-
| 0x20 || 0x4 || U32 || mFlags || || 0x1See =[[#cParticleDescriptor::eParticleDescriptorFlags eDO_LIGHTING || eParticleDescriptorFlags]]
|-
| 0x24 || 0x4 || U32 || mLodGroup || || 0x2 = eDO_INTENSITY ||
|-
| 0x28 || 0x4 || U32 || mRenderGroup || || 0x4 = eDO_REPEAT ||
|-
| 0x2C || 0x4 || U32 || mShape || || 0x8 = eDO_CELLRENDER ||
|-
| 0x30 || 0x4 || U32 || mCollisionType || || 0x10 = eDO_DYNAMICPLACE ||
|-
| 0x34 || 0x4 || FP32 || mBlendLast || || 0x20 = eDO_USE_MATRICES ||
|-
| 0x38 || 0x4 || [[#LionChar || LionChar]]* || mpName || 0x40 = eDO_FACECAMERA ||
|-
| 0x3C || 0x4 || S32 || mBehaviourCount || || 0x80 = eDO_WORLD_ACC ||
|-
| 0x40 || 0x4 || [[#cParticleBehaviour || cParticleBehaviour]]* || mpBehaviours || 0x100 = eDO_IGNOREROT ||
|-
| 0x44 || 0x4 || [[#cParticleBehaviour || cParticleBehaviour]]* || mpBehaviourTemp || 0x200 = eDO_PHYSICS ||
|-
| 0x48 || 0x4 || [[#cParticleBehaviour || cParticleBehaviour]]* || mpBehaviour || 0x400 = eDO_RGBA_INTERPOLANT ||
|-
| 0x4C || 0x4 || [[#cParticleMaterial || cParticleMaterial]]* || mpMaterial || 0x800 = eDO_RGBA_VARIANCE ||
|-
| 0x50 || 0x4 || [[#cLionEffectDefinition || cLionEffectDefinition]]* || mpDef || 0x1000 = eDO_LOCATOR_INSTANCING ||
|-
| 0x54 || 0x4 || cParticleDescriptor* || mpNext || || 0x2000 = eDO_TRIGGER_INSTANCING ||
|-
| 0x58 || 0x4 || cParticleDescriptor* || mpParent || || 0x4000 = eDO_PREFORM ||
|-
| 0x5C || 0x4 || cParticleDescriptor* || mpChild || || 0x8000 = eDO_DISABLED ||
|}
 
==== 64-bit ====
{| class="wikitable"
! Offset !! Length !! Type !! Name !! Description !! Comments
|-
| 0x0 || 0x4 || U32 || mID || ||
|-
| 0x4 || 0x4 || FP32 || mPauseTime || ||
|-
| 0x8 || 0x4 || FP32 || mPauseTimeVariance || ||
|-
| 0xC || 0x4 || FP32 || mRepeatTime || ||
|-
| 0x10 || 0x4 || FP32 || mRepeatTimeVariance || ||
|-
| 0x14 || 0x4 || FP32 || mEmitterLifeBase || ||
|-
| 0x18 || 0x4 || FP32 || mEmitterLifeVariance || ||
|-
| 0x1C || 0x4 || U32 || mEmitterLifeInfiniteFlag || ||
|-
| 0x20 || 0x4 || U32 || mFlags || || See [[#cParticleDescriptor::eParticleDescriptorFlags | eParticleDescriptorFlags]]
|-
| 0x24 || 0x4 || U32 || mLodGroup || || 0x10000 = eDO_RIBBON ||
|-
| 0x240x28 || 0x4 || U32 || mLodGroup || mRenderGroup || ||
|-
| 0x280x2C || 0x4 || U32 || mRenderGroup || mShape || ||
|-
| 0x2C0x30 || 0x4 || U32 || mShape || mCollisionType || ||
|-
| 0x300x34 || 0x4 || U32 || mCollisionTypeFP32 || mBlendLast || ||
|-
| 0x340x38 || 0x40x8 || FP32[[#LionChar || mBlendLastLionChar]]* || mpName || ||
|-
| 0x380x40 || 0x4 || LionChar * || mpNameS32 || mBehaviourCount || ||
|-
| 0x3C0x44 || 0x4 || S32 || mBehaviourCount || || padding ||
|-
| 0x400x48 || 0x40x8 || [[#cParticleBehaviour | cParticleBehaviour]]* || mpBehaviours || || cParticleBehaviour format ||
|-
| 0x440x50 || 0x40x8 || [[#cParticleBehaviour | cParticleBehaviour]]* || mpBehaviourTemp || || ||
|-
| 0x480x58 || 0x40x8 || [[#cParticleBehaviour | cParticleBehaviour]]* || mpBehaviour || || ||
|-
| 0x4C0x60 || 0x40x8 || [[#cParticleMaterial | cParticleMaterial]]* || mpMaterial || || cParticleMaterial format ||
|-
| 0x500x68 || 0x40x8 || [[#cLionEffectDefinition | cLionEffectDefinition]]* || mpDef || || cLionEffectDefinition format ||
|-
| 0x540x70 || 0x40x8 || cParticleDescriptor * || mpNext || || ||
|-
| 0x580x78 || 0x40x8 || cParticleDescriptor * || mpParent || || ||
|-
| 0x5C0x80 || 0x40x8 || cParticleDescriptor * || mpChild || || ||
|}
 
=== cParticleBehaviour ===
==== 32-bit ====
{| class="wikitable"
! Offset !! SizeLength !! Type !! Name !! Description !! More Information !! Comments
|-
| 0x0 || 0x10 || [[#cVector || mAccBasecVector]] || mAccBase || ||
|-
| 0x10 || 0x10 || [[#cVector || mAccVariancecVector]] || mAccVariance || ||
|-
| 0x20 || 0x10 || [[#cVector || mAxisBasecVector]] || mAxisBase || ||
|-
| 0x30 || 0x10 || [[#cVector || mOffsetRotXYZBasecVector]] || mOffsetRotXYZBase || ||
|-
| 0x40 || 0x10 || [[#cVector || mOffsetRotXYZVariancecVector]] || mOffsetRotXYZVariance || ||
|-
| 0x50 || 0x10 || [[#cVector || mOffsetRotXYZVelBasecVector]] || mOffsetRotXYZVelBase || ||
|-
| 0x60 || 0x10 || [[#cVector || mOffsetRotXYZVelVariancecVector]] || mOffsetRotXYZVelVariance || ||
|-
| 0x70 || 0x10 || [[#cVector || mOffsetRotXYZAccBasecVector]] || mOffsetRotXYZAccBase || ||
|-
| 0x80 || 0x10 || [[#cVector || mOffsetRotXYZAccVariancecVector]] || mOffsetRotXYZAccVariance || ||
|-
| 0x90 || 0x10 || [[#cVector || mRotXYZBasecVector]] || mRotXYZBase || ||
|-
| 0xA0 || 0x10 || [[#cVector || mRotXYZVariancecVector]] || mRotXYZVariance || ||
|-
| 0xB0 || 0x10 || [[#cVector || mRotXYZVelBasecVector]] || mRotXYZVelBase || ||
|-
| 0xC0 || 0x10 || [[#cVector || mRotXYZVelVariancecVector]] || mRotXYZVelVariance || ||
|-
| 0xD0 || 0x10 || [[#cVector || mRotXYZAccBasecVector]] || mRotXYZAccBase || ||
|-
| 0xE0 || 0x10 || [[#cVector || mRotXYZAccVariancecVector]] || mRotXYZAccVariance || ||
|-
| 0xF0 || 0x10 || [[#cVector || mPivotPointcVector]] || mPivotPoint || ||
|-
| 0x100 || 0x10 || [[#cVector || mPosBasecVector]] || mPosBase || ||
|-
| 0x110 || 0x10 || [[#cVector || mPosVariancecVector]] || mPosVariance || ||
|-
| 0x120 || 0x10 || [[#cVector || mRingRadiuscVector]] || mRingRadius || ||
|-
| 0x130 || 0x10 || [[#cVector || mSizeXYZBasecVector]] || mSizeXYZBase || ||
|-
| 0x140 || 0x10 || [[#cVector || mSizeXYZVariancecVector]] || mSizeXYZVariance || ||
|-
| 0x150 || 0x10 || [[#cVector || mSizeXYZVelBasecVector]] || mSizeXYZVelBase || ||
|-
| 0x160 || 0x10 || [[#cVector || mSizeXYZVelVariancecVector]] || mSizeXYZVelVariance || ||
|-
| 0x170 || 0x10 || [[#cVector || mSizeXYZAccBasecVector]] || mSizeXYZAccBase || ||
|-
| 0x180 || 0x10 || [[#cVector || mSizeXYZAccVariancecVector]] || mSizeXYZAccVariance || ||
|-
| 0x190 || 0x10 || [[#cVector || mVelBasecVector]] || mVelBase || ||
|-
| 0x1A0 || 0x10 || [[#cVector || mVelVariancecVector]] || mVelVariance || ||
|-
| 0x1B0 || 0x10 || [[#cVector || mRGBADiffcVector]] || mRGBADiff || ||
|-
| 0x1C0 || 0x40 || [[#cVector | cVector]][4] || mColourStepsRGBAv || || ||
|-
| 0x200 || 0x10 || FP32[4] || mDivisors || || ||
|-
| 0x210 || 0x4 || [[#cColour8 || mRGBA0cColour8]] || mRGBA0 || ||
|-
| 0x214 || 0x4 || [[#cColour8 || mRGBA1cColour8]] || mRGBA1 || ||
|-
| 0x218 || 0x4 || [[#cColour8 || mRGBABasecColour8]] || mRGBABase || ||
|-
| 0x21C || 0x4 || [[#cColour8 || mRGBAVarcColour8]] || mRGBAVar || ||
|-
| 0x220 || 0x10 || [[#cColour8 | cColour8]][4] || mColour || || ||
|-
| 0x230 || 0x10 || FP32[4] || mColourTime || || ||
|-
| 0x240 || 0x10 || [[#cColour8 | cColour8]][4] || mColourStepRGBA || || ||
|-
| 0x250 || 0x10 || FP32[4] || mRGBATime || || ||
|-
| 0x260 || 0x4 || U32 || mColourSteps || || ||
|-
| 0x264 || 0x4 || U32 || mRGBAVarianceMode || || ||
|-
| 0x268 || 0x4 || FP32 || mZero || || ||
|-
| 0x26C || 0x4 || FP32 || mAlphaFadeOutPlusInvOneMinusAlphaFadeOut || || ||
|-
| 0x270 || 0x4 || FP32 || mAlphaFadeInInv || || ||
|-
| 0x274 || 0x4 || FP32 || mNegInvOneMinusAlphaFadeOut || || ||
|-
| 0x278 || 0x4 || FP32 || mAlphaFadeIn || || ||
|-
| 0x27C || 0x4 || FP32 || mAlphaFadeOut || || ||
|-
| 0x280 || 0x4 || FP32 || mCellSize || || ||
|-
| 0x284 || 0x4 || FP32 || mCloneScaleInTime || || ||
|-
| 0x288 || 0x4 || FP32 || mDragFactor || || ||
|-
| 0x28C || 0x4 || FP32 || mMass || || ||
|-
| 0x290 || 0x4 || FP32 || mSizeBase || || ||
|-
| 0x294 || 0x4 || FP32 || mSizeVariance || || ||
|-
| 0x298 || 0x4 || FP32 || mSizeVelBase || || ||
|-
| 0x29C || 0x4 || FP32 || mSizeVelVariance || || ||
|-
| 0x2A0 || 0x4 || FP32 || mSizeAccBase || || ||
|-
| 0x2A4 || 0x4 || FP32 || mSizeAccVariance || || ||
|-
| 0x2A8 || 0x4 || FP32 || mEmissionRateBase || || ||
|-
| 0x2AC || 0x4 || FP32 || mEmissionRateVariance || || ||
|-
| 0x2B0 || 0x4 || FP32 || mLifeBase || || ||
|-
| 0x2B4 || 0x4 || FP32 || mLifeVariance || || ||
|-
| 0x2B8 || 0x4 || FP32 || mRadius || || ||
|-
| 0x2BC || 0x4 || FP32 || mScale || || ||
|-
| 0x2C0 || 0x4 || U32 || mEmissionCountClamp || || ||
|-
| 0x2C4 || 0x4 || U32 || mFlags || || ||
|-
| 0x2C8 || 0x4 || [[#cParticleWaveForm | cParticleWaveForm]]* || mpWaveFormX || || cParticleWaveForm format ||
|-
| 0x2CC || 0x4 || [[#cParticleWaveForm | cParticleWaveForm]]* || mpWaveFormY || || ||
|-
| 0x2D0 || 0x4 || [[#cParticleWaveForm | cParticleWaveForm]]* || mpWaveFormZ || || ||
|-
| 0x2D4 || 0x4 || [[#cParticleWaveForm | cParticleWaveForm]]* || mpWaveFormAlpha || || ||
|-
| 0x2D8 || 0x4 || [[#cParticleWaveForm | cParticleWaveForm]]* || mpWaveFormRGB || || ||
|-
| 0x2DC || 0x4 || cParticleBehaviour * || mpNext || || ||
|-
| 0x2E0 || 0x180 || [[#cParticleBehaviourBaseVarianceCompiled || mBVCompiledcParticleBehaviourBaseVarianceCompiled]] || mBVCompiled || cParticleBehaviourBaseVarianceCompiled format ||
|-
| 0x460 || 0x1 || bool || mEmissionRateHasBeenScaled || || ||
|-
| 0x461 || 0x3 || || || padding || ||
|-
| 0x464 || U32 || U32 || mEmissionCountClampVariance || || ||
|-
| 0x4660x468 || FP32 || FP32 || mEndOnAlphaFade || || ||
|-
| 0x4980x46C || FP32 || FP32 || mEndOnScale || || ||
|-
| 0x4CA0x470 || FP32 || FP32 || mEndOnStartAngle || || ||
|-
| 0x4FC0x474 || FP32 || FP32 || mEndOnEndAngle || || ||
|-
| 0x52E0x478 || FP32 || FP32 || mTimeScale || || ||
|-
| 0x5600x47C || FP32 || FP32 || mTimeScaleVariance || || ||
|-
| 0x5920x480 || U32 || U32 || mRibbonParticleCount || || ||
|-
| 0x5940x484 || FP32 || FP32 || mDragFactorVel || || ||
|-
| 0x5C60x488 || FP32 || FP32 || mDragFactorRot || || ||
|-
| 0x5F80x48C || FP32 || FP32 || mDragFactorScale || || ||
|-
| 0x62A0x490 || FP32 || FP32 || mEmitterStartWeight || || ||
|-
| 0x65C0x494 || FP32 || FP32 || mEmitterEndWeight || || ||
|-
| 0x68E0x498 || FP32 || FP32 || mEmitterVelWeight || || ||
|-
| 0x6C00x49C || 0x4 || || || padding || ||
|-
| 0x6C40x4A0 || 0x10 || [[#cVector || mAABBMincVector]] || mAABBMin || ||
|-
| 0x6D40x4B0 || 0x10 || [[#cVector || mAABBMaxcVector]] || mAABBMax || ||
|}
 
==== 64-bit ====
{| class="wikitable"
! Offset !! Length !! Type !! Name !! Description !! Comments
|-
| 0x0 || 0x10 || [[#cVector | cVector]] || mAccBase || ||
|-
| 0x10 || 0x10 || [[#cVector | cVector]] || mAccVariance || ||
|-
| 0x20 || 0x10 || [[#cVector | cVector]] || mAxisBase || ||
|-
| 0x30 || 0x10 || [[#cVector | cVector]] || mOffsetRotXYZBase || ||
|-
| 0x40 || 0x10 || [[#cVector | cVector]] || mOffsetRotXYZVariance || ||
|-
| 0x50 || 0x10 || [[#cVector | cVector]] || mOffsetRotXYZVelBase || ||
|-
| 0x60 || 0x10 || [[#cVector | cVector]] || mOffsetRotXYZVelVariance || ||
|-
| 0x70 || 0x10 || [[#cVector | cVector]] || mOffsetRotXYZAccBase || ||
|-
| 0x80 || 0x10 || [[#cVector | cVector]] || mOffsetRotXYZAccVariance || ||
|-
| 0x90 || 0x10 || [[#cVector | cVector]] || mRotXYZBase || ||
|-
| 0xA0 || 0x10 || [[#cVector | cVector]] || mRotXYZVariance || ||
|-
| 0xB0 || 0x10 || [[#cVector | cVector]] || mRotXYZVelBase || ||
|-
| 0xC0 || 0x10 || [[#cVector | cVector]] || mRotXYZVelVariance || ||
|-
| 0xD0 || 0x10 || [[#cVector | cVector]] || mRotXYZAccBase || ||
|-
| 0xE0 || 0x10 || [[#cVector | cVector]] || mRotXYZAccVariance || ||
|-
| 0xF0 || 0x10 || [[#cVector | cVector]] || mPivotPoint || ||
|-
| 0x100 || 0x10 || [[#cVector | cVector]] || mPosBase || ||
|-
| 0x110 || 0x10 || [[#cVector | cVector]] || mPosVariance || ||
|-
| 0x120 || 0x10 || [[#cVector | cVector]] || mRingRadius || ||
|-
| 0x130 || 0x10 || [[#cVector | cVector]] || mSizeXYZBase || ||
|-
| 0x140 || 0x10 || [[#cVector | cVector]] || mSizeXYZVariance || ||
|-
| 0x150 || 0x10 || [[#cVector | cVector]] || mSizeXYZVelBase || ||
|-
| 0x160 || 0x10 || [[#cVector | cVector]] || mSizeXYZVelVariance || ||
|-
| 0x170 || 0x10 || [[#cVector | cVector]] || mSizeXYZAccBase || ||
|-
| 0x180 || 0x10 || [[#cVector | cVector]] || mSizeXYZAccVariance || ||
|-
| 0x190 || 0x10 || [[#cVector | cVector]] || mVelBase || ||
|-
| 0x1A0 || 0x10 || [[#cVector | cVector]] || mVelVariance || ||
|-
| 0x1B0 || 0x10 || [[#cVector | cVector]] || mRGBADiff || ||
|-
| 0x1C0 || 0x40 || [[#cVector | cVector]][4] || mColourStepsRGBAv || ||
|-
| 0x200 || 0x10 || FP32[4] || mDivisors || ||
|-
| 0x210 || 0x4 || [[#cColour8 | cColour8]] || mRGBA0 || ||
|-
| 0x214 || 0x4 || [[#cColour8 | cColour8]] || mRGBA1 || ||
|-
| 0x218 || 0x4 || [[#cColour8 | cColour8]] || mRGBABase || ||
|-
| 0x21C || 0x4 || [[#cColour8 | cColour8]] || mRGBAVar || ||
|-
| 0x220 || 0x10 || [[#cColour8 | cColour8]][4] || mColour || ||
|-
| 0x230 || 0x10 || FP32[4] || mColourTime || ||
|-
| 0x240 || 0x10 || [[#cColour8 | cColour8]][4] || mColourStepRGBA || ||
|-
| 0x250 || 0x10 || FP32[4] || mRGBATime || ||
|-
| 0x260 || 0x4 || U32 || mColourSteps || ||
|-
| 0x264 || 0x4 || U32 || mRGBAVarianceMode || ||
|-
| 0x268 || 0x4 || FP32 || mZero || ||
|-
| 0x26C || 0x4 || FP32 || mAlphaFadeOutPlusInvOneMinusAlphaFadeOut || ||
|-
| 0x270 || 0x4 || FP32 || mAlphaFadeInInv || ||
|-
| 0x274 || 0x4 || FP32 || mNegInvOneMinusAlphaFadeOut || ||
|-
| 0x278 || 0x4 || FP32 || mAlphaFadeIn || ||
|-
| 0x27C || 0x4 || FP32 || mAlphaFadeOut || ||
|-
| 0x280 || 0x4 || FP32 || mCellSize || ||
|-
| 0x284 || 0x4 || FP32 || mCloneScaleInTime || ||
|-
| 0x288 || 0x4 || FP32 || mDragFactor || ||
|-
| 0x28C || 0x4 || FP32 || mMass || ||
|-
| 0x290 || 0x4 || FP32 || mSizeBase || ||
|-
| 0x294 || 0x4 || FP32 || mSizeVariance || ||
|-
| 0x298 || 0x4 || FP32 || mSizeVelBase || ||
|-
| 0x29C || 0x4 || FP32 || mSizeVelVariance || ||
|-
| 0x2A0 || 0x4 || FP32 || mSizeAccBase || ||
|-
| 0x2A4 || 0x4 || FP32 || mSizeAccVariance || ||
|-
| 0x2A8 || 0x4 || FP32 || mEmissionRateBase || ||
|-
| 0x2AC || 0x4 || FP32 || mEmissionRateVariance || ||
|-
| 0x2B0 || 0x4 || FP32 || mLifeBase || ||
|-
| 0x2B4 || 0x4 || FP32 || mLifeVariance || ||
|-
| 0x2B8 || 0x4 || FP32 || mRadius || ||
|-
| 0x2BC || 0x4 || FP32 || mScale || ||
|-
| 0x2C0 || 0x4 || U32 || mEmissionCountClamp || ||
|-
| 0x2C4 || 0x4 || U32 || mFlags || ||
|-
| 0x2C8 || 0x8 || [[#cParticleWaveForm | cParticleWaveForm]]* || mpWaveFormX || ||
|-
| 0x2D0 || 0x8 || [[#cParticleWaveForm | cParticleWaveForm]]* || mpWaveFormY || ||
|-
| 0x2D8 || 0x8 || [[#cParticleWaveForm | cParticleWaveForm]]* || mpWaveFormZ || ||
|-
| 0x2E0 || 0x8 || [[#cParticleWaveForm | cParticleWaveForm]]* || mpWaveFormAlpha || ||
|-
| 0x2E8 || 0x8 || [[#cParticleWaveForm | cParticleWaveForm]]* || mpWaveFormRGB || ||
|-
| 0x2F0 || 0x8 || cParticleBehaviour* || mpNext || ||
|-
| 0x2F8 || 0x180 || [[#cParticleBehaviourBaseVarianceCompiled | cParticleBehaviourBaseVarianceCompiled]] || mBVCompiled || ||
|-
| 0x478 || 0x1 || bool || mEmissionRateHasBeenScaled || ||
|-
| 0x479 || 0x3 || || || padding ||
|-
| 0x47C || U32 || U32 || mEmissionCountClampVariance || ||
|-
| 0x480 || FP32 || FP32 || mEndOnAlphaFade || ||
|-
| 0x484 || FP32 || FP32 || mEndOnScale || ||
|-
| 0x488 || FP32 || FP32 || mEndOnStartAngle || ||
|-
| 0x48C || FP32 || FP32 || mEndOnEndAngle || ||
|-
| 0x490 || FP32 || FP32 || mTimeScale || ||
|-
| 0x494 || FP32 || FP32 || mTimeScaleVariance || ||
|-
| 0x498 || U32 || U32 || mRibbonParticleCount || ||
|-
| 0x49C || FP32 || FP32 || mDragFactorVel || ||
|-
| 0x4A0 || FP32 || FP32 || mDragFactorRot || ||
|-
| 0x4A4 || FP32 || FP32 || mDragFactorScale || ||
|-
| 0x4A8 || FP32 || FP32 || mEmitterStartWeight || ||
|-
| 0x4AC || FP32 || FP32 || mEmitterEndWeight || ||
|-
| 0x4B0 || FP32 || FP32 || mEmitterVelWeight || ||
|-
| 0x4B4 || 0xC || || || padding ||
|-
| 0x4C0 || 0x10 || [[#cVector | cVector]] || mAABBMin || ||
|-
| 0x4D0 || 0x10 || [[#cVector | cVector]] || mAABBMax || ||
|}
 
=== cVector ===
{| class="wikitable"
! Offset !! Length !! Type !! Name !! Description !! Comments
|-
| 0x0 || 0x10 || float[4] || q || ||
|}
 
=== cColour8 ===
{| class="wikitable"
! Offset !! Length !! Type !! Name !! Description !! Comments
|-
| 0x0 || 0x4 || U32 || m_RGBA || ||
|}
 
=== cParticleWaveform ===
{| class="wikitable"
! Offset !! SizeLength !! Type !! Name !! Description !! More Information !! Comments
|-
| 0x0 || 0x4 || U32 || mID || || ||
|-
| 0x4 || 0x4 || U32 || mType || || ||
|-
| 0x8 || 0x4 || FP32 || mBase || || ||
|-
| 0xC || 0x4 || FP32 || mPhase || || ||
|-
| 0x10 || 0x4 || FP32 || mFreq || || ||
|-
| 0x14 || 0x4 || FP32 || mAmp || || ||
|-
| 0x18 || 0x4 || FP32 || mClampMin || || ||
|-
| 0x1C || 0x4 || FP32 || mClampMax || || ||
|-
| 0x20 || 0x4 || FP32 || mBaseVariance || || ||
|-
| 0x24 || 0x4 || FP32 || mPhaseVariance || || ||
|-
| 0x28 || 0x4 || FP32 || mFreqVariance || || ||
|-
| 0x2C || 0x4 || FP32 || mAmpVariance || || ||
|-
| 0x30 || 0x4 || FP32 || mClampMinVariance || || ||
|-
| 0x34 || 0x4 || FP32 || mClampMaxVariance || || ||
|}
 
=== cParticleBehaviourBaseVariance ===
=== cParticleBehaviourBaseVarianceCompiled ===
{| class="wikitable"
! Offset !! SizeLength !! Type !! Name !! Description !! More Information !! Comments
|-
| 0x0 || 0x178 || [[#sParticleBehaviourBaseVariancePack | sParticleBehaviourBaseVariancePack]][47] || aData || || sParticleBehaviourBaseVariancePack format ||
|-
| 0x178 || 0x4 || uint || size || || ||
|-
| 0x17C || 0x4 || uint || dummy || || ||
|}
 
=== cParticleBehaviourBaseVariancePack===
{| class="wikitable"
! Offset !! SizeLength !! Type !! Name !! Description !! More Information !! Comments
|-
| 0x0 || 0x4 || float || base || || ||
|-
| 0x4 || 0x4 || float || variance || || ||
|}
 
=== cParticleMaterial ===
==== 32-bit ====
{| class="wikitable"
! Offset !! SizeLength !! Type !! Name !! Description !! More Information !! Comments
|-
| 0x0 || 0x4 || U32 || mID || || ||
|-
| 0x4 || 0x4 || U32 || mMaterialHandle || || ||
|-
| 0x8 || 0x4 || U32 || mMeshHandle || || ||
|-
| 0xC || 0x4 || U32 || mTextureHandle || || ||
|-
| 0x10 || 0x4 || char * || mpTextureName || || ||
|-
| 0x14 || 0x4 || U32 || mNormalMapHandle || || ||
|-
| 0x18 || 0x4 || char * || mpNormalMapName || || ||
|-
| 0x1C || 0x4 || char * || mpMeshName || || ||
|-
| 0x20 || 0x4 || char * || mpLayerGroupName || || ||
|-
| 0x24 || 0x4 || U32 || mFlags || || ||
|-
| 0x28 || 0x4 || U32 || mFrameMask || || ||
|-
| 0x2C || 0x4 || S32 || mFrameBase || || ||
|-
| 0x30 || 0x4 || S32 || mFrameVariance || || ||
|-
| 0x34 || 0x4 || S32 || mFrameCount || || ||
|-
| 0x38 || 0x1 || U8 || mXFrames || || ||
|-
| 0x39 || 0x1 || U8 || mYFrames || || ||
|-
| 0x3A || 0x1 || U8 || mBlendMode || || ||
|-
| 0x3B || 0x1 || U8 || mAlphaTestMode || || ||
|-
| 0x3C || 0x1 || U8 || mAlphaTestValue || || ||
|-
| 0x3D || 0x1 || U8 || mZTestMode || || ||
|-
| 0x3E || 0x1 || U8 || mPad || || ||
|-
| 0x3F || 0x1 || U8 || mUCoordOption || || ||
|-
| 0x40 || 0x1 || U8 || mVCoordOption || || ||
|-
| 0x41 || 0x1 || U8 || mAnimTexOptions || || ||
|-
| 0x42 || 0x1 || U8 || mShader || || ||
|-
| 0x43 || 0x1 || U8 || mNormalOption || || ||
|-
| 0x44 || 0x4 || U32 || mLayer || || ||
|-
| 0x48 || 0x4 || FP32 || mRibbonStretch || || ||
|-
| 0x4C || 0x14 || U32[5] || mMeshHandles || || ||
|-
| 0x60 || 0x14 || char *[5] || mpMeshNames || || ||
|-
| 0x74 || 0x14 || U32[5] || mPercentages || || ||
|-
| 0x88 || 0x4 || U32 || mNumMeshes || || ||
|-
| 0x8C || 0x4 || FP32 || mNormalBlend || || ||
|-
| 0x90 || 0x4 || FP32 || mKeyLightAmount || || ||
|-
| 0x94 || 0x4 || FP32 || mIBLAmount || || ||
|-
| 0x98 || 0x4 || FP32 || mZBlendDistance || || ||
|-
| 0x9C || 0x4 || FP32 || mFPS || || ||
|-
| 0xA0 || 0x4 || FP32 || mFPSVariance || || ||
|}
 
==== 64-bit ====
{| class="wikitable"
! Offset !! Length !! Type !! Name !! Description !! Comments
|-
| 0x0 || 0x4 || U32 || mID || ||
|-
| 0x4 || 0x4 || U32 || mMaterialHandle || ||
|-
| 0x8 || 0x4 || U32 || mMeshHandle || ||
|-
| 0xC || 0x4 || U32 || mTextureHandle || ||
|-
| 0x10 || 0x8 || char* || mpTextureName || ||
|-
| 0x18 || 0x4 || U32 || mNormalMapHandle || ||
|-
| 0x1C || 0x4 || || || padding ||
|-
| 0x20 || 0x8 || char* || mpNormalMapName || ||
|-
| 0x28 || 0x8 || char* || mpMeshName || ||
|-
| 0x30 || 0x8 || char* || mpLayerGroupName || ||
|-
| 0x38 || 0x4 || U32 || mFlags || ||
|-
| 0x3C || 0x4 || U32 || mFrameMask || ||
|-
| 0x40 || 0x4 || S32 || mFrameBase || ||
|-
| 0x44 || 0x4 || S32 || mFrameVariance || ||
|-
| 0x48 || 0x4 || S32 || mFrameCount || ||
|-
| 0x4C || 0x1 || U8 || mXFrames || ||
|-
| 0x4D || 0x1 || U8 || mYFrames || ||
|-
| 0x4E || 0x1 || U8 || mBlendMode || ||
|-
| 0x4F || 0x1 || U8 || mAlphaTestMode || ||
|-
| 0x50 || 0x1 || U8 || mAlphaTestValue || ||
|-
| 0x51 || 0x1 || U8 || mZTestMode || ||
|-
| 0x52 || 0x1 || U8 || mPad || ||
|-
| 0x53 || 0x1 || U8 || mUCoordOption || ||
|-
| 0x54 || 0x1 || U8 || mVCoordOption || ||
|-
| 0x55 || 0x1 || U8 || mAnimTexOptions || ||
|-
| 0x56 || 0x1 || U8 || mShader || ||
|-
| 0x57 || 0x1 || U8 || mNormalOption || ||
|-
| 0x58 || 0x4 || U32 || mLayer || ||
|-
| 0x5C || 0x4 || FP32 || mRibbonStretch || ||
|-
| 0x60 || 0x14 || U32[5] || mMeshHandles || ||
|-
| 0x74 || 0x4 || || || padding ||
|-
| 0x78 || 0x28 || char*[5] || mpMeshNames || ||
|-
| 0xA0 || 0x14 || U32[5] || mPercentages || ||
|-
| 0xB4 || 0x4 || U32 || mNumMeshes || ||
|-
| 0xB8 || 0x4 || FP32 || mNormalBlend || ||
|-
| 0xBC || 0x4 || FP32 || mKeyLightAmount || ||
|-
| 0xC0 || 0x4 || FP32 || mIBLAmount || ||
|-
| 0xC4 || 0x4 || FP32 || mZBlendDistance || ||
|-
| 0xC8 || 0x4 || FP32 || mFPS || ||
|-
| 0xCC || 0x4 || FP32 || mFPSVariance || ||
|}
 
=== cLionBindings ===
As this is not present in any available resources, 64-bit is based on the alignment behaviour of other structures. The same is true of all substructures.
 
==== 32-bit ====
{| class="wikitable"
! Offset !! Length !! Type !! Name !! Description !! Comments
|-
| 0x0 || 0x4 || U32 || mLocatorCount || ||
|-
| 0x4 || 0x4 || U32 || mWorldIndex || ||
|-
| 0x8 || 0x4 || cParticleLocator** || mppLocators || ||
|-
| 0xC || 0x4 || cParticleLocator* || mpLocator || ||
|-
| 0x10 || 0x4 || cParticleScaler* || mpScaler || ||
|-
| 0x14 || 0x4 || cParticleTrigger* || mpTrigger || ||
|-
| 0x18 || 0x8 || || || padding ||
|-
| 0x20 || 0x40 || cParticleRandomSeed || mSeed || ||
|-
| 0x60 || 0x4 || cLionBindings* || mpNext || ||
|-
| 0x64 || 0x4 || cParticleEmitter* || m_p_emitter || ||
|-
| 0x68 || 0x8 || || || padding ||
|}
 
==== 64-bit ====
{| class="wikitable"
! Offset !! SizeLength !! Type !! Name !! Description !! More Information !! Comments
|-
| 0x0 || 0x4 || U32 || mLocatorCount || || ||
|-
| 0x4 || 0x4 || U32 || mWorldIndex || || ||
|-
| 0x8 || 0x8 || cParticleLocator * * || mppLocators || || cParticleLocator format ||
|-
| 0x10 || 0xc0x8 || cParticleLocator * || mpLocator || || ||
|-
| 0x1C0x18 || 0x100x8 || cParticleScaler * || mpScaler || || cParticleScaler format ||
|-
| 0x2C0x20 || 0x140x8 || cParticleTrigger * || mpTrigger || || cParticleTrigger format ||
|-
| 0x400x28 || 0x8 || || || padding || ||
|-
| 0x480x30 || 0x40 || cParticleRandomSeed || mSeed || || cParticleRandomSeed format ||
|-
| 0x880x70 || 0x40x8 || cLionBindings * || mpNext || || ||
|-
| 0x8C0x74 || 0x4 || cParticleEmitter * || m_p_emitter || || cParticleEmitter format ||
|-
| 0x900x78 || 0x8 || || || padding || ||
|}
 
=== cParticleLocator ===
==== 32-bit ====
{| class="wikitable"
! Offset !! SizeLength !! Type !! Name !! Description !! More Information !! Comments
|-
| 0x0 || 0x40 || [[#cMatrix || mMatcMatrix]] || mMat || ||
|-
| 0x40 || 0x10 || [[#cVector || mVelcVector]] || mVel || ||
|-
| 0x50 || 0x20 || [[#cQuat | cQuat]][2] || mCacheQuat || || ||
|-
| 0x70 || 0x20 || [[#cVector | cVector]][2] || mCachePos || || ||
|-
| 0x90 || 0x8 || [[#cTime | cTime]][2] || mCacheTime || || ||
|-
| 0x98 || 0x4 || [[#cTime || mTimecTime]] || mTime || ||
|-
| 0x9C || 0x4 || U32 || mIndex || || ||
|-
| 0xA0 || 0x4 || U32 || mFlags || || ||
|-
| 0xA4 || 0x4 || [[#iLionPosEvaluator | iLionPosEvaluator]]* || mpPosEvaluator || || || Empty struct
|-
| 0xA8 || 0x8 || || || padding || ||
|}
 
==== 64-bit ====
{| class="wikitable"
! Offset !! Length !! Type !! Name !! Description !! Comments
|-
| 0x0 || 0x40 || [[#cMatrix | cMatrix]] || mMat || ||
|-
| 0x40 || 0x10 || [[#cVector | cVector]] || mVel || ||
|-
| 0x50 || 0x20 || [[#cQuat | cQuat]][2] || mCacheQuat || ||
|-
| 0x70 || 0x20 || [[#cVector | cVector]][2] || mCachePos || ||
|-
| 0x90 || 0x8 || [[#cTime | cTime]][2] || mCacheTime || ||
|-
| 0x98 || 0x4 || [[#cTime | cTime]] || mTime || ||
|-
| 0x9C || 0x4 || U32 || mIndex || ||
|-
| 0xA0 || 0x4 || U32 || mFlags || ||
|-
| 0xA4 || 0x4 || || padding || ||
|-
| 0xA8 || 0x8 || [[#iLionPosEvaluator | iLionPosEvaluator]]* || mpPosEvaluator || ||
|}
 
=== cMatrix ===
{| class="wikitable"
|-
! Offset !! Length !! Type !! Name !! Description !! Comments
|-
| 0x0 || 0x10 || [[#cVector | cVector]] || xa || ||
|-
| 0x10 || 0x10 || [[#cVector | cVector]] || ya || ||
|-
| 0x20 || 0x10 || [[#cVector | cVector]] || za || ||
|-
| 0x30 || 0x10 || [[#cVector | cVector]] || wa || ||
|}
 
=== cQuat ===
{| class="wikitable"
|-
! Offset !! Length !! Type !! Name !! Description !! Comments
|-
| 0x0 || 0x10 || [[#U128 | U128]] || q || ||
|}
 
=== U128 ===
{| class="wikitable"
|-
! Offset !! Length !! Type !! Name !! Description !! Comments
|-
| 0x0 || 0x10 || uint32_t[4] || v || ||
|}
 
=== cTime ===
{| class="wikitable"
|-
! Offset !! Length !! Type !! Name !! Description !! Comments
|-
| 0x0 || 0x4 || S32 || mTicks || ||
|}
 
=== iLionPosEvaluator ===
No structure in debug data; however, likely a 32-bit integer.
 
=== cParticleScaler ===
{| class="wikitable"
! Offset !! SizeLength !! Type !! Name !! Description !! More Information !! Comments
|-
| 0x0 || 0x4 || FP32 || mScale || || ||
|}
 
=== cParticleTrigger ===
{| class="wikitable"
! Offset !! SizeLength !! Type !! Name !! Description !! More Information !! Comments
|-
| 0x0 || 0x4 || [[#cTime || mTimecTime]] || mTime || ||
|-
| 0x4 || 0x4 || [[#cTime || mTimeStartcTime]] || mTimeStart || ||
|-
| 0x8 || 0x4 || [[#cTime || mTimeStopcTime]] || mTimeStop || ||
|-
| 0xC || 0x1 || bool || mbEnabled || || ||
|-
| 0xD || 0x3 || || || padding || ||
|}
 
=== cParticleRandomSeed ===
{| class="wikitable"
! Offset !! SizeLength !! Type !! Name !! Description !! More Information !! Comments
|-
| 0x0 || 0x30 || [[#CgsNumeric::Random | Random]] || mCgsRandom || ||
|-
| 0x30 || 0x4 || U32 || mSeed || ||
|-
| 0x34 || 0xC || || || padding ||
|}
 
=== CgsNumeric::Random ===
{| class="wikitable"
|-
! Offset !! Length !! Type !! Name !! Description !! Comments
|-
| 0x0 || 0x20 || [[#CgsNumeric::Random::anon_union_0 | anon_union_0]] || field_0 || ||
|-
| 0x00x20 || 0x300x8 || Random || mCgsRandomuint64_t || muSeed || ||
|-
| 0x300x28 || 0x4 || U32 || mSeeduint32_t || muOldestBufferIndex || ||
|-
| 0x340x2C || 0xC0x4 || || || padding || ||
|}
 
=== cParticleEmitter ===
==== 32-bit ====
{| class="wikitable"
! Offset !! SizeLength !! Type !! Name !! Description !! More Information !! Comments
|-
| 0x0 || 0x4 || U32 || mBucketsUsed || || ||
|-
| 0x4 || 0xC || || || padding || ||
|-
| 0x10 || 0x40 || [[#cMatrix || mParentBaseMatrixcMatrix]] || mParentBaseMatrix || ||
|-
| 0x50 || 0x10 || [[#cVector || mParentVelcVector]] || mParentVel || ||
|-
| 0x60 || 0x10 || [[#cVector || mForcecVector]] || mForce || ||
|-
| 0x70 || 0xE0 || [[#sParticleNucleus || mParentEmitterNucleussParticleNucleus]] || mParentEmitterNucleus || sParticleNucleus format ||
|-
| 0x150 || 0x40 || [[#cParticleRandomSeed || mParentRandomSeedcParticleRandomSeed]] || mParentRandomSeed || cParticleRandomSeed format ||
|-
| 0x190 || 0x4 || U32 || mParentIndex || || ||
|-
| 0x194 || 0x4 || cParticleEmitter * || mpParentEmitter || || ||
|-
| 0x198 || 0x4 || [[#cTime || mParentTimecTime]] || mParentTime || ||
|-
| 0x19C || 0x4 || [[#cTime || mLastTimecTime]] || mLastTime || ||
|-
| 0x1A0 || 0x4 || [[#cTime || mUpdateLastTimecTime]] || mUpdateLastTime || ||
|-
| 0x1A4 || 0x4 || S32 || mNextEmissionTime || || ||
|-
| 0x1A8 || 0x4 || FP32 || m_age || || ||
|-
| 0x1AC || 0x4 || FP32 || mDt || || ||
|-
| 0x1B0 || 0x40 || [[#cParticleRandomSeed || mEmitterSeedcParticleRandomSeed]] || mEmitterSeed || cParticleRandomSeed format ||
|-
| 0x1F0 || 0x4 || U32 || mFlags || || ||
|-
| 0x1F4 || 0x4 || U32 || mEmissionCount || || ||
|-
| 0x1F8 || 0x4 || [[#cParticleDescriptor | cParticleDescriptor]]* || mpDescriptor || || cParticleDescriptor format ||
|-
| 0x1FC || 0x4 || [[#cLionBindings | cLionBindings]]* || mpBindings || || cLionBindings format ||
|-
| 0x200 || 0x4 || [[#cParticleBucket | cParticleBucket]]* || mpBucket || || cParticleBucket format ||
|-
| 0x204 || 0x4 || cParticleEmitter * || mpNext || || ||
|-
| 0x208 || 0x4 || U32 || mPhysicsHandle || || ||
|-
| 0x20C || 0x4 || [[#cParticleBehaviour | cParticleBehaviour]]* || mpCurrentBehaviour || || cParticleBehaviour format ||
|-
| 0x210 || 0x4 || [[#cParticleBehaviour | cParticleBehaviour]]* || mpTempBehaviour || || ||
|-
| 0x214 || 0x4 || FP32 || mBlendLast || || ||
|-
| 0x218 || 0x8 || || || padding || ||
|-
| 0x220 || 0xB0 || [[#ParticleBuildData || mPrecalculatedParticleBuildDataParticleBuildData]] || mPrecalculatedParticleBuildData || ParticleBuildData format ||
|}
 
=== cParticleNucleus ===
==== 64-bit ====
{| class="wikitable"
! Offset !! SizeLength !! Type !! Name !! Description !! More Information !! Comments
|-
| 0x0 || 0x100x4 || Vector3Plus || mPosU32 || mBucketsUsed || ||
|-
| 0x100x4 || 0x100xC || Vector3Plus || mVel || || padding ||
|-
| 0x200x10 || 0x100x40 || Vector3Plus[[#cMatrix || mAcccMatrix]] || mParentBaseMatrix || ||
|-
| 0x300x50 || 0x10 || Vector3Plus[[#cVector || mRotcVector]] || mParentVel || ||
|-
| 0x400x60 || 0x10 || Vector3Plus[[#cVector || mRotVelcVector]] || mForce || ||
|-
| 0x500x70 || 0x100xE0 || Vector3Plus[[#sParticleNucleus || mRotAccsParticleNucleus]] || mParentEmitterNucleus || ||
|-
| 0x600x150 || 0x100x40 || Vector3Plus[[#cParticleRandomSeed || mOffsetRotcParticleRandomSeed]] || mParentRandomSeed || ||
|-
| 0x700x190 || 0x100x4 || Vector3Plus || mOffsetRotVelU32 || mParentIndex || ||
|-
| 0x800x194 || 0x100x4 || Vector3Plus || mOffsetRotAcc || || padding ||
|-
| 0x900x198 || 0x100x8 || Vector3Plus || mSizecParticleEmitter* || mpParentEmitter || ||
|-
| 0xA00x1A0 || 0x100x4 || Vector3Plus[[#cTime || mSizeVelcTime]] || mParentTime || ||
|-
| 0xB00x1A4 || 0x100x4 || Vector3Plus[[#cTime || mSizeAcccTime]] || mLastTime || ||
|-
| 0xC00x1A8 || 0x100x4 || Vector3Plus[[#cTime || mLocatorVelcTime]] || mUpdateLastTime || ||
|-
| 0xD00x1AC || 0x100x4 || Vector4 || mvLifeTimeAndFrameTimeAndFPSAndBirthTimeS32 || mNextEmissionTime || ||
|-
| 0x1B0 || 0x4 || FP32 || m_age || ||
|-
| 0x1B4 || 0x4 || FP32 || mDt || ||
|-
| 0x1B8 || 0x8 || || || padding ||
|-
| 0x1C0 || 0x40 || [[#cParticleRandomSeed | cParticleRandomSeed]] || mEmitterSeed || ||
|-
| 0x200 || 0x4 || U32 || mFlags || ||
|-
| 0x1F4 || 0x4 || U32 || mEmissionCount || ||
|-
| 0x1F8 || 0x8 || [[#cParticleDescriptor | cParticleDescriptor]]* || mpDescriptor || ||
|-
| 0x200 || 0x8 || [[#cLionBindings | cLionBindings]]* || mpBindings || ||
|-
| 0x208 || 0x8 || [[#cParticleBucket | cParticleBucket]]* || mpBucket || ||
|-
| 0x210 || 0x8 || cParticleEmitter* || mpNext || ||
|-
| 0x218 || 0x4 || U32 || mPhysicsHandle || ||
|-
| 0x21C || 0x4 || || || padding ||
|-
| 0x220 || 0x8 || [[#cParticleBehaviour | cParticleBehaviour]]* || mpCurrentBehaviour || ||
|-
| 0x228 || 0x8 || [[#cParticleBehaviour | cParticleBehaviour]]* || mpTempBehaviour || ||
|-
| 0x230 || 0x4 || FP32 || mBlendLast || ||
|-
| 0x234 || 0xC || || || padding ||
|-
| 0x240 || 0xB0 || [[#ParticleBuildData | ParticleBuildData]] || mPrecalculatedParticleBuildData || ||
|}
 
=== sParticleNucleus ===
{| class="wikitable"
! Offset !! Length !! Type !! Name !! Description !! Comments
|-
| 0x0 || 0x10 || [[Common Data Types (Burnout Paradise)#Vector3Plus/Vector4 | Vector3Plus]] || mPos || ||
|-
| 0x10 || 0x10 || [[Common Data Types (Burnout Paradise)#Vector3Plus/Vector4 | Vector3Plus]] || mVel || ||
|-
| 0x20 || 0x10 || [[Common Data Types (Burnout Paradise)#Vector3Plus/Vector4 | Vector3Plus]] || mAcc || ||
|-
| 0x30 || 0x10 || [[Common Data Types (Burnout Paradise)#Vector3Plus/Vector4 | Vector3Plus]] || mRot || ||
|-
| 0x40 || 0x10 || [[Common Data Types (Burnout Paradise)#Vector3Plus/Vector4 | Vector3Plus]] || mRotVel || ||
|-
| 0x50 || 0x10 || [[Common Data Types (Burnout Paradise)#Vector3Plus/Vector4 | Vector3Plus]] || mRotAcc || ||
|-
| 0x60 || 0x10 || [[Common Data Types (Burnout Paradise)#Vector3Plus/Vector4 | Vector3Plus]] || mOffsetRot || ||
|-
| 0x70 || 0x10 || [[Common Data Types (Burnout Paradise)#Vector3Plus/Vector4 | Vector3Plus]] || mOffsetRotVel || ||
|-
| 0x80 || 0x10 || [[Common Data Types (Burnout Paradise)#Vector3Plus/Vector4 | Vector3Plus]] || mOffsetRotAcc || ||
|-
| 0x90 || 0x10 || [[Common Data Types (Burnout Paradise)#Vector3Plus/Vector4 | Vector3Plus]] || mSize || ||
|-
| 0xA0 || 0x10 || [[Common Data Types (Burnout Paradise)#Vector3Plus/Vector4 | Vector3Plus]] || mSizeVel || ||
|-
| 0xB0 || 0x10 || [[Common Data Types (Burnout Paradise)#Vector3Plus/Vector4 | Vector3Plus]] || mSizeAcc || ||
|-
| 0xC0 || 0x10 || [[Common Data Types (Burnout Paradise)#Vector3Plus/Vector4 | Vector3Plus]] || mLocatorVel || ||
|-
| 0xD0 || 0x10 || [[Common Data Types (Burnout Paradise)#Vector3Plus/Vector4 | Vector4]] || mvLifeTimeAndFrameTimeAndFPSAndBirthTime || ||
|}
 
=== cParticleBucket ===
==== 32-bit ====
{| class="wikitable"
! Offset !! SizeLength !! Type !! Name !! Description !! More Information !! Comments
|-
| 0x0 || 0x4 || cParticleBucket * || mpManagerNext || || ||
|-
| 0x4 || 0x4 || [[#cParticleEmitter | cParticleEmitter]]* || mpEmitter || || cParticleEmitter format ||
|-
| 0x8 || 0x4 || cParticleBucket * || mpEmitterNext || || ||
|-
| 0xC || 0x4 || [[#cTime || mLatestBirthTimecTime]] || mLatestBirthTime || ||
|-
| 0x10 || 0x40 || [[#cParticleRandomSeed || mRandomSeedcParticleRandomSeed]] || mRandomSeed || cParticleRandomSeed format ||
|-
| 0x50 || 0x4 || U32 || mnNextParticlePositionToFill || || ||
|-
| 0x54 || 0x4 || U32 || mActiveBits || || ||
|-
| 0x58 || 0x8 || || || padding || ||
|-
| 0x60 || 0xE00 || [[#sParticleNucleus | sParticleNucleus]][16] || mParticles || || sParticleNucleus format ||
|-
| 0xE60 || 0x4 || [[#cMatrix | cMatrix]]* || mpMatrices || || ||
|-
| 0xE64 || 0x4 || [[#cVector | cVector]]* || mpVectors || || ||
|-
| 0xE68 || 0x8 || || || padding || ||
|}
 
==== 64-bit ====
{| class="wikitable"
! Offset !! Length !! Type !! Name !! Description !! Comments
|-
| 0x0 || 0x8 || cParticleBucket* || mpManagerNext || ||
|-
| 0x8 || 0x8 || [[#cParticleEmitter | cParticleEmitter]]* || mpEmitter || ||
|-
| 0x10 || 0x8 || cParticleBucket* || mpEmitterNext || ||
|-
| 0x18 || 0x4 || [[#cTime | cTime]] || mLatestBirthTime || ||
|-
| 0x1C || 0x4 || || || padding ||
|-
| 0x20 || 0x40 || [[#cParticleRandomSeed | cParticleRandomSeed]] || mRandomSeed || ||
|-
| 0x60 || 0x4 || U32 || mnNextParticlePositionToFill || ||
|-
| 0x64 || 0x4 || U32 || mActiveBits || ||
|-
| 0x68 || 0x8 || || || padding ||
|-
| 0x70 || 0xE00 || [[#sParticleNucleus | sParticleNucleus]][16] || mParticles || ||
|-
| 0xE70 || 0x8 || [[#cMatrix | cMatrix]]* || mpMatrices || ||
|-
| 0xE78 || 0x8 || [[#cVector | cVector]]* || mpVectors || ||
|}
 
=== cParticleBuildData ===
{| class="wikitable"
! Offset !! SizeLength !! Type !! Name !! Description !! More Information !! Comments
|-
| 0x0 || 0x10 || [[Common Data Types (Burnout Paradise)#Vector3Plus/Vector4 | Vector4]] || mvDeltaTimeAndCurrentTime || ||
|-
| 0x10 || 0x10 || [[Common Data Types (Burnout Paradise)#Vector3Plus/Vector2 | Vector2]] || mvAlphaFadeInAndFadeOut || ||
|-
| 0x20 || 0x10 || [[Common Data Types (Burnout Paradise)#Vector3Plus/Vector3 | Vector3]] || mvScaleAndProportionalScaleYXAndZX || ||
|-
| 0x30 || 0x10 || [[Common Data Types (Burnout Paradise)#Vector3Plus/Vector2 | Vector2]] || mvOrientStepAndDragFrameRateConstants || ||
|-
| 0x40 || 0x10 || [[Common Data Types (Burnout Paradise)#Vector3Plus/Vector3 | Vector3]] || mvDragFactorsVelRotScale || ||
|-
| 0x50 || 0x10 || [[Common Data Types (Burnout Paradise)#Vector3Plus/Vector4 | Vector3Plus]] || mvRGBADiff || ||
|-
| 0x60 || 0x10 || [[Common Data Types (Burnout Paradise)#Vector3Plus/Vector4 | Vector3Plus]] || mvRGBA0 || ||
|-
| 0x70 || 0x10 || [[Common Data Types (Burnout Paradise)#Vector3Plus/Vector4 | Vector3Plus]] || mvRGBAVar || ||
|-
| 0x80 || 0x10 || [[Common Data Types (Burnout Paradise)#Vector3Plus/Vector4 | Vector3Plus]] || mvRGBABase || ||
|-
| 0x90 || 0x10 || [[#rw::math::vpu::VecFloat | VecFloat]] || mvfFrameCount || ||
|-
| 0xA0 || 0x10 || [[#rw::math::vpu::VecFloat | VecFloat]] || mvfOneOverFrameCount || ||
|}
 
=== rw::math::vpu::VecFloat ===
{| class="wikitable"
|-
! Offset !! Length !! Type !! Name !! Description !! Comments
|-
| 0x0 || 0x10 || [[Common Data Types (Burnout Paradise)#VectorIntrinsic | VectorIntrinsic]] || mV || ||
|}
 
= Unions =
=== CgsNumeric::Random::anon_union_0 ===
{| class="wikitable"
|-
! Length !! Type !! Name !! Description !! Comments
|-
| 0x20 || float32_t[8] || mafFloatBuffer || ||
|-
| 0x20 || uint32_t[8] || mauIntegerBuffer || ||
|-
| 0x20 || [[Common Data Types (Burnout Paradise)#VectorIntrinsic | VectorIntrinsic]][2] || mvVector || ||
|}
 
= Typedefs =
=== LionHash ===
{| class="wikitable"
|-
! Name !! Type !! Length !! Comments
|-
| LionHash || uint32_t || 0x4 ||
|}
 
=== LionChar ===
{| class="wikitable"
|-
! Name !! Type !! Length !! Comments
|-
| LionChar || wchar_t || 0x2 ||
|}
 
=== U32 ===
{| class="wikitable"
|-
! Name !! Type !! Length !! Comments
|-
| U32 || uint32_t || 0x4 ||
|}
 
=== S32 ===
{| class="wikitable"
|-
! Name !! Type !! Length !! Comments
|-
| S32 || int32_t || 0x4 ||
|}
 
=== FP32 ===
{| class="wikitable"
|-
! Name !! Type !! Length !! Comments
|-
| FP32 || float_t || 0x4 ||
|}
 
=== U8 ===
{| class="wikitable"
|-
! Name !! Type !! Length !! Comments
|-
| U8 || uint8_t || 0x1 ||
|}
 
= Enumerations =
=== cParticleDescriptor::eParticleDescriptorFlags ===
{| class="wikitable"
|-
! Name !! Value !! Comments
|-
| eDO_LIGHTING || 0x1 ||
|-
| eDO_INTENSITY || 0x2 ||
|-
| eDO_REPEAT || 0x4 ||
|-
| eDO_CELLRENDER || 0x8 ||
|-
| eDO_DYNAMICPLACE || 0x10 ||
|-
| eDO_USE_MATRICES || 0x20 ||
|-
| eDO_FACECAMERA || 0x40 ||
| 0x0 || 0x10 || Vector4 || mvDeltaTimeAndCurrentTime || || ||
|-
| eDO_WORLD_ACC || 0x80 ||
| 0x10 || 0x10 || Vector2 || mvAlphaFadeInAndFadeOut || || ||
|-
| eDO_IGNOREROT || 0x100 ||
| 0x20 || 0x10 || Vector3 || mvScaleAndProportionalScaleYXAndZX || || ||
|-
| eDO_PHYSICS || 0x200 ||
| 0x30 || 0x10 || Vector2 || mvOrientStepAndDragFrameRateConstants || || ||
|-
| eDO_RGBA_INTERPOLANT || 0x400 ||
| 0x40 || 0x10 || Vector3 || mvDragFactorsVelRotScale || || ||
|-
| eDO_RGBA_VARIANCE || 0x800 ||
| 0x50 || 0x10 || Vector3Plus || mvRGBADiff || || ||
|-
| eDO_LOCATOR_INSTANCING || 0x1000 ||
| 0x60 || 0x10 || Vector3Plus || mvRGBA0 || || ||
|-
| eDO_TRIGGER_INSTANCING || 0x2000 ||
| 0x70 || 0x10 || Vector3Plus || mvRGBAVar || || ||
|-
| eDO_PREFORM || 0x4000 ||
| 0x80 || 0x10 || Vector3Plus || mvRGBABase || || ||
|-
| eDO_DISABLED || 0x8000 ||
| 0x90 || 0x10 || VecFloat || mvfFrameCount || || ||
|-
| eDO_RIBBON || 0x10000 ||
| 0xA0 || 0x10 || VecFloat || mvfOneOverFrameCount || || ||
|}