Particle Description: Difference between revisions

Added infobox and normalized some content.
(Added infobox and normalized some content.)
 
(3 intermediate revisions by the same user not shown)
Line 1:
{{ParadiseResourceTypeInfobox
| name = ParticleDescription
| id = 0x1001D
| category = Game-specific<br />(Burnout Paradise)
| memdist = Main Memory only
| importedby = [[Particle Description Collection]]
}}
 
Particle description resources are the primary assets used for Lion particle effects.
 
= Structures =
'''Note: Particle descriptions makes use of nonstandard type namestypes''' such as U32. Theseand arenon-Criterion nottypes linkedsuch toas withincVector. each table; instead, seeSee [[#typedefsLion |Data typedefsTypes]] directly for details on these types.
<br/>
'''Note: All pointers are relative to the start of the lowest-level structure they reside in.'''
Line 13 ⟶ 21:
| 0x0 || 0x4 || uint32_t || muHashedGDBURI || Resource ID ||
|-
| 0x4 || 0x4 || [[#cLionEffectDefinition | cLionEffectDefinition]]* || mpLionEffectDefinition || Effect ||
|}
 
Line 22 ⟶ 30:
| 0x0 || 0x4 || uint32_t || muHashedGDBURI || Resource ID ||
|-
| 0x4 || 0x4 || || || paddingPadding ||
|-
| 0x8 || 0x8 || [[#cLionEffectDefinition | cLionEffectDefinition]]* || mpLionEffectDefinition || Effect ||
|}
 
Line 34 ⟶ 42:
| 0x0 || 0x4 || U32 || mVersion || || Always 0x10003
|-
| 0x4 || 0x4 || [[Lion Data Types#LionHash | LionHash]] || m_key || || Not actually a hash
|-
| 0x8 || 0x40 || [[Lion Data Types#LionChar | LionChar]][32] || m_name || ||
|-
| 0x48 || 0x4 || [[#cLionParticleEffect | cLionParticleEffect]]* || mpParticles || ||
|-
| 0x4C || 0x4 || [[#cLionBindings | cLionBindings]]* || mpBindings || ||
|-
| 0x50 || 0x4 || cLionEffectDefinition* || mpNext || ||
Line 51 ⟶ 59:
| 0x0 || 0x4 || U32 || mVersion || || Always 0x10003
|-
| 0x4 || 0x4 || [[Lion Data Types#LionHash | LionHash]] || m_key || || Not actually a hash
|-
| 0x8 || 0x40 || [[Lion Data Types#LionChar | LionChar]][32] || m_name || ||
|-
| 0x48 || 0x8 || [[#cLionParticleEffect | cLionParticleEffect]]* || mpParticles || ||
|-
| 0x50 || 0x8 || [[#cLionBindings | cLionBindings]]* || mpBindings || ||
|-
| 0x58 || 0x8 || cLionEffectDefinition* || mpNext || ||
Line 69 ⟶ 77:
| 0x0 || 0x4 || U32 || mHash || ||
|-
| 0x4 || 0x4 || [[#cParticleDescriptor | cParticleDescriptor]]* || mpDescriptors || ||
|-
| 0x8 || 0x4 || cLionParticleEffect* || mpNext || ||
Line 80 ⟶ 88:
| 0x0 || 0x4 || U32 || mHash || ||
|-
| 0x4 || 0x4 || || || paddingPadding ||
|-
| 0x8 || 0x8 || [[#cParticleDescriptor | cParticleDescriptor]]* || mpDescriptors || ||
|-
| 0x10 || 0x8 || cLionParticleEffect* || mpNext || ||
Line 108 ⟶ 116:
| 0x1C || 0x4 || U32 || mEmitterLifeInfiniteFlag || ||
|-
| 0x20 || 0x4 || U32 || mFlags || || See [[#cParticleDescriptor::eParticleDescriptorFlags | eParticleDescriptorFlags]]
|-
| 0x24 || 0x4 || U32 || mLodGroup || ||
Line 120 ⟶ 128:
| 0x34 || 0x4 || FP32 || mBlendLast || ||
|-
| 0x38 || 0x4 || [[Lion Data Types#LionChar | LionChar]]* || mpName || ||
|-
| 0x3C || 0x4 || S32 || mBehaviourCount || ||
|-
| 0x40 || 0x4 || [[#cParticleBehaviour | cParticleBehaviour]]* || mpBehaviours || ||
|-
| 0x44 || 0x4 || [[#cParticleBehaviour | cParticleBehaviour]]* || mpBehaviourTemp || ||
|-
| 0x48 || 0x4 || [[#cParticleBehaviour | cParticleBehaviour]]* || mpBehaviour || ||
|-
| 0x4C || 0x4 || [[#cParticleMaterial | cParticleMaterial]]* || mpMaterial || ||
|-
| 0x50 || 0x4 || [[#cLionEffectDefinition | cLionEffectDefinition]]* || mpDef || ||
|-
| 0x54 || 0x4 || cParticleDescriptor* || mpNext || ||
Line 161 ⟶ 169:
| 0x1C || 0x4 || U32 || mEmitterLifeInfiniteFlag || ||
|-
| 0x20 || 0x4 || U32 || mFlags || || See [[#cParticleDescriptor::eParticleDescriptorFlags | eParticleDescriptorFlags]]
|-
| 0x24 || 0x4 || U32 || mLodGroup || ||
Line 173 ⟶ 181:
| 0x34 || 0x4 || FP32 || mBlendLast || ||
|-
| 0x38 || 0x8 || [[Lion Data Types#LionChar | LionChar]]* || mpName || ||
|-
| 0x40 || 0x4 || S32 || mBehaviourCount || ||
|-
| 0x44 || 0x4 || || || paddingPadding ||
|-
| 0x48 || 0x8 || [[#cParticleBehaviour | cParticleBehaviour]]* || mpBehaviours || ||
|-
| 0x50 || 0x8 || [[#cParticleBehaviour | cParticleBehaviour]]* || mpBehaviourTemp || ||
|-
| 0x58 || 0x8 || [[#cParticleBehaviour | cParticleBehaviour]]* || mpBehaviour || ||
|-
| 0x60 || 0x8 || [[#cParticleMaterial | cParticleMaterial]]* || mpMaterial || ||
|-
| 0x68 || 0x8 || [[#cLionEffectDefinition | cLionEffectDefinition]]* || mpDef || ||
|-
| 0x70 || 0x8 || cParticleDescriptor* || mpNext || ||
Line 201 ⟶ 209:
! Offset !! Length !! Type !! Name !! Description !! Comments
|-
| 0x0 || 0x10 || [[Lion Data Types#cVector | cVector]] || mAccBase || ||
|-
| 0x10 || 0x10 || [[Lion Data Types#cVector | cVector]] || mAccVariance || ||
|-
| 0x20 || 0x10 || [[Lion Data Types#cVector | cVector]] || mAxisBase || ||
|-
| 0x30 || 0x10 || [[Lion Data Types#cVector | cVector]] || mOffsetRotXYZBase || ||
|-
| 0x40 || 0x10 || [[Lion Data Types#cVector | cVector]] || mOffsetRotXYZVariance || ||
|-
| 0x50 || 0x10 || [[Lion Data Types#cVector | cVector]] || mOffsetRotXYZVelBase || ||
|-
| 0x60 || 0x10 || [[Lion Data Types#cVector | cVector]] || mOffsetRotXYZVelVariance || ||
|-
| 0x70 || 0x10 || [[Lion Data Types#cVector | cVector]] || mOffsetRotXYZAccBase || ||
|-
| 0x80 || 0x10 || [[Lion Data Types#cVector | cVector]] || mOffsetRotXYZAccVariance || ||
|-
| 0x90 || 0x10 || [[Lion Data Types#cVector | cVector]] || mRotXYZBase || ||
|-
| 0xA0 || 0x10 || [[Lion Data Types#cVector | cVector]] || mRotXYZVariance || ||
|-
| 0xB0 || 0x10 || [[Lion Data Types#cVector | cVector]] || mRotXYZVelBase || ||
|-
| 0xC0 || 0x10 || [[Lion Data Types#cVector | cVector]] || mRotXYZVelVariance || ||
|-
| 0xD0 || 0x10 || [[Lion Data Types#cVector | cVector]] || mRotXYZAccBase || ||
|-
| 0xE0 || 0x10 || [[Lion Data Types#cVector | cVector]] || mRotXYZAccVariance || ||
|-
| 0xF0 || 0x10 || [[Lion Data Types#cVector | cVector]] || mPivotPoint || ||
|-
| 0x100 || 0x10 || [[Lion Data Types#cVector | cVector]] || mPosBase || ||
|-
| 0x110 || 0x10 || [[Lion Data Types#cVector | cVector]] || mPosVariance || ||
|-
| 0x120 || 0x10 || [[Lion Data Types#cVector | cVector]] || mRingRadius || ||
|-
| 0x130 || 0x10 || [[Lion Data Types#cVector | cVector]] || mSizeXYZBase || ||
|-
| 0x140 || 0x10 || [[Lion Data Types#cVector | cVector]] || mSizeXYZVariance || ||
|-
| 0x150 || 0x10 || [[Lion Data Types#cVector | cVector]] || mSizeXYZVelBase || ||
|-
| 0x160 || 0x10 || [[Lion Data Types#cVector | cVector]] || mSizeXYZVelVariance || ||
|-
| 0x170 || 0x10 || [[Lion Data Types#cVector | cVector]] || mSizeXYZAccBase || ||
|-
| 0x180 || 0x10 || [[Lion Data Types#cVector | cVector]] || mSizeXYZAccVariance || ||
|-
| 0x190 || 0x10 || [[Lion Data Types#cVector | cVector]] || mVelBase || ||
|-
| 0x1A0 || 0x10 || [[Lion Data Types#cVector | cVector]] || mVelVariance || ||
|-
| 0x1B0 || 0x10 || [[Lion Data Types#cVector | cVector]] || mRGBADiff || ||
|-
| 0x1C0 || 0x40 || [[Lion Data Types#cVector | cVector]][4] || mColourStepsRGBAv || ||
|-
| 0x200 || 0x10 || FP32[4] || mDivisors || ||
|-
| 0x210 || 0x4 || [[Lion Data Types#cColour8 | cColour8]] || mRGBA0 || ||
|-
| 0x214 || 0x4 || [[Lion Data Types#cColour8 | cColour8]] || mRGBA1 || ||
|-
| 0x218 || 0x4 || [[Lion Data Types#cColour8 | cColour8]] || mRGBABase || ||
|-
| 0x21C || 0x4 || [[Lion Data Types#cColour8 | cColour8]] || mRGBAVar || ||
|-
| 0x220 || 0x10 || [[Lion Data Types#cColour8 | cColour8]][4] || mColour || ||
|-
| 0x230 || 0x10 || FP32[4] || mColourTime || ||
|-
| 0x240 || 0x10 || [[Lion Data Types#cColour8 | cColour8]][4] || mColourStepRGBA || ||
|-
| 0x250 || 0x10 || FP32[4] || mRGBATime || ||
Line 329 ⟶ 337:
| 0x2C4 || 0x4 || U32 || mFlags || ||
|-
| 0x2C8 || 0x4 || [[#cParticleWaveForm | cParticleWaveForm]]* || mpWaveFormX || ||
|-
| 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 | cParticleBehaviourBaseVarianceCompiled]] || mBVCompiled || ||
|-
| 0x460 || 0x1 || bool || mEmissionRateHasBeenScaled || ||
|-
| 0x461 || 0x3 || || || paddingPadding ||
|-
| 0x464 || U32 || U32 || mEmissionCountClampVariance || ||
Line 375 ⟶ 383:
| 0x498 || FP32 || FP32 || mEmitterVelWeight || ||
|-
| 0x49C || 0x4 || || || paddingPadding ||
|-
| 0x4A0 || 0x10 || [[Lion Data Types#cVector | cVector]] || mAABBMin || ||
|-
| 0x4B0 || 0x10 || [[Lion Data Types#cVector | cVector]] || mAABBMax || ||
|}
 
Line 386 ⟶ 394:
! Offset !! Length !! Type !! Name !! Description !! Comments
|-
| 0x0 || 0x10 || [[Lion Data Types#cVector | cVector]] || mAccBase || ||
|-
| 0x10 || 0x10 || [[Lion Data Types#cVector | cVector]] || mAccVariance || ||
|-
| 0x20 || 0x10 || [[Lion Data Types#cVector | cVector]] || mAxisBase || ||
|-
| 0x30 || 0x10 || [[Lion Data Types#cVector | cVector]] || mOffsetRotXYZBase || ||
|-
| 0x40 || 0x10 || [[Lion Data Types#cVector | cVector]] || mOffsetRotXYZVariance || ||
|-
| 0x50 || 0x10 || [[Lion Data Types#cVector | cVector]] || mOffsetRotXYZVelBase || ||
|-
| 0x60 || 0x10 || [[Lion Data Types#cVector | cVector]] || mOffsetRotXYZVelVariance || ||
|-
| 0x70 || 0x10 || [[Lion Data Types#cVector | cVector]] || mOffsetRotXYZAccBase || ||
|-
| 0x80 || 0x10 || [[Lion Data Types#cVector | cVector]] || mOffsetRotXYZAccVariance || ||
|-
| 0x90 || 0x10 || [[Lion Data Types#cVector | cVector]] || mRotXYZBase || ||
|-
| 0xA0 || 0x10 || [[Lion Data Types#cVector | cVector]] || mRotXYZVariance || ||
|-
| 0xB0 || 0x10 || [[Lion Data Types#cVector | cVector]] || mRotXYZVelBase || ||
|-
| 0xC0 || 0x10 || [[Lion Data Types#cVector | cVector]] || mRotXYZVelVariance || ||
|-
| 0xD0 || 0x10 || [[Lion Data Types#cVector | cVector]] || mRotXYZAccBase || ||
|-
| 0xE0 || 0x10 || [[Lion Data Types#cVector | cVector]] || mRotXYZAccVariance || ||
|-
| 0xF0 || 0x10 || [[Lion Data Types#cVector | cVector]] || mPivotPoint || ||
|-
| 0x100 || 0x10 || [[Lion Data Types#cVector | cVector]] || mPosBase || ||
|-
| 0x110 || 0x10 || [[Lion Data Types#cVector | cVector]] || mPosVariance || ||
|-
| 0x120 || 0x10 || [[Lion Data Types#cVector | cVector]] || mRingRadius || ||
|-
| 0x130 || 0x10 || [[Lion Data Types#cVector | cVector]] || mSizeXYZBase || ||
|-
| 0x140 || 0x10 || [[Lion Data Types#cVector | cVector]] || mSizeXYZVariance || ||
|-
| 0x150 || 0x10 || [[Lion Data Types#cVector | cVector]] || mSizeXYZVelBase || ||
|-
| 0x160 || 0x10 || [[Lion Data Types#cVector | cVector]] || mSizeXYZVelVariance || ||
|-
| 0x170 || 0x10 || [[Lion Data Types#cVector | cVector]] || mSizeXYZAccBase || ||
|-
| 0x180 || 0x10 || [[Lion Data Types#cVector | cVector]] || mSizeXYZAccVariance || ||
|-
| 0x190 || 0x10 || [[Lion Data Types#cVector | cVector]] || mVelBase || ||
|-
| 0x1A0 || 0x10 || [[Lion Data Types#cVector | cVector]] || mVelVariance || ||
|-
| 0x1B0 || 0x10 || [[Lion Data Types#cVector | cVector]] || mRGBADiff || ||
|-
| 0x1C0 || 0x40 || [[Lion Data Types#cVector | cVector]][4] || mColourStepsRGBAv || ||
|-
| 0x200 || 0x10 || FP32[4] || mDivisors || ||
|-
| 0x210 || 0x4 || [[Lion Data Types#cColour8 | cColour8]] || mRGBA0 || ||
|-
| 0x214 || 0x4 || [[Lion Data Types#cColour8 | cColour8]] || mRGBA1 || ||
|-
| 0x218 || 0x4 || [[Lion Data Types#cColour8 | cColour8]] || mRGBABase || ||
|-
| 0x21C || 0x4 || [[Lion Data Types#cColour8 | cColour8]] || mRGBAVar || ||
|-
| 0x220 || 0x10 || [[Lion Data Types#cColour8 | cColour8]][4] || mColour || ||
|-
| 0x230 || 0x10 || FP32[4] || mColourTime || ||
|-
| 0x240 || 0x10 || [[Lion Data Types#cColour8 | cColour8]][4] || mColourStepRGBA || ||
|-
| 0x250 || 0x10 || FP32[4] || mRGBATime || ||
Line 514 ⟶ 522:
| 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 || || || paddingPadding ||
|-
| 0x47C || U32 || U32 || mEmissionCountClampVariance || ||
Line 560 ⟶ 568:
| 0x4B0 || FP32 || FP32 || mEmitterVelWeight || ||
|-
| 0x4B4 || 0xC || || || paddingPadding ||
|-
| 0x4C0 || 0x10 || [[Lion Data Types#cVector | cVector]] || mAABBMin || ||
|-
| 0x4D0 || 0x10 || [[Lion Data Types#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 || ||
|}
 
Line 618 ⟶ 612:
! Offset !! Length !! Type !! Name !! Description !! Comments
|-
| 0x0 || 0x178 || [[#sParticleBehaviourBaseVariancePack | sParticleBehaviourBaseVariancePack]][47] || aData || ||
|-
| 0x178 || 0x4 || uint || size || ||
Line 732 ⟶ 726:
| 0x18 || 0x4 || U32 || mNormalMapHandle || ||
|-
| 0x1C || 0x4 || || || paddingPadding ||
|-
| 0x20 || 0x8 || char* || mpNormalMapName || ||
Line 780 ⟶ 774:
| 0x60 || 0x14 || U32[5] || mMeshHandles || ||
|-
| 0x74 || 0x4 || || || paddingPadding ||
|-
| 0x78 || 0x28 || char*[5] || mpMeshNames || ||
Line 812 ⟶ 806:
| 0x4 || 0x4 || U32 || mWorldIndex || ||
|-
| 0x8 || 0x4 || [[#cParticleLocator|cParticleLocator]]** || mppLocators || ||
|-
| 0xC || 0x4 || [[#cParticleLocator|cParticleLocator]]* || mpLocator || ||
|-
| 0x10 || 0x4 || [[#cParticleScaler|cParticleScaler]]* || mpScaler || ||
|-
| 0x14 || 0x4 || [[#cParticleTrigger|cParticleTrigger]]* || mpTrigger || ||
|-
| 0x18 || 0x8 || || || paddingPadding ||
|-
| 0x20 || 0x40 || [[#cParticleRandomSeed|cParticleRandomSeed]] || mSeed || ||
|-
| 0x60 || 0x4 || cLionBindings* || mpNext || ||
|-
| 0x64 || 0x4 || [[#cParticleEmitter|cParticleEmitter]]* || m_p_emitter || ||
|-
| 0x68 || 0x8 || || || paddingPadding ||
|}
 
Line 839 ⟶ 833:
| 0x4 || 0x4 || U32 || mWorldIndex || ||
|-
| 0x8 || 0x8 || [[#cParticleLocator|cParticleLocator]]** || mppLocators || ||
|-
| 0x10 || 0x8 || [[#cParticleLocator|cParticleLocator]]* || mpLocator || ||
|-
| 0x18 || 0x8 || [[#cParticleScaler|cParticleScaler]]* || mpScaler || ||
|-
| 0x20 || 0x8 || [[#cParticleTrigger|cParticleTrigger]]* || mpTrigger || ||
|-
| 0x28 || 0x8 || || || paddingPadding ||
|-
| 0x30 || 0x40 || [[#cParticleRandomSeed|cParticleRandomSeed]] || mSeed || ||
|-
| 0x70 || 0x8 || cLionBindings* || mpNext || ||
|-
| 0x74 || 0x4 || [[#cParticleEmitter|cParticleEmitter]]* || m_p_emitter || ||
|-
| 0x78 || 0x8 || || || paddingPadding ||
|}
 
Line 863 ⟶ 857:
! Offset !! Length !! Type !! Name !! Description !! Comments
|-
| 0x0 || 0x40 || [[Lion Data Types#cMatrix | cMatrix]] || mMat || ||
|-
| 0x40 || 0x10 || [[Lion Data Types#cVector | cVector]] || mVel || ||
|-
| 0x50 || 0x20 || [[Lion Data Types#cQuat | cQuat]][2] || mCacheQuat || ||
|-
| 0x70 || 0x20 || [[Lion Data Types#cVector | cVector]][2] || mCachePos || ||
|-
| 0x90 || 0x8 || [[Lion Data Types#cTime | cTime]][2] || mCacheTime || ||
|-
| 0x98 || 0x4 || [[Lion Data Types#cTime | cTime]] || mTime || ||
|-
| 0x9C || 0x4 || U32 || mIndex || ||
Line 879 ⟶ 873:
| 0xA0 || 0x4 || U32 || mFlags || ||
|-
| 0xA4 || 0x4 || [[Lion Data Types#iLionPosEvaluator | iLionPosEvaluator]]* || mpPosEvaluator || ||
|-
| 0xA8 || 0x8 || || || paddingPadding ||
|}
 
Line 888 ⟶ 882:
! Offset !! Length !! Type !! Name !! Description !! Comments
|-
| 0x0 || 0x40 || [[Lion Data Types#cMatrix | cMatrix]] || mMat || ||
|-
| 0x40 || 0x10 || [[Lion Data Types#cVector | cVector]] || mVel || ||
|-
| 0x50 || 0x20 || [[Lion Data Types#cQuat | cQuat]][2] || mCacheQuat || ||
|-
| 0x70 || 0x20 || [[Lion Data Types#cVector | cVector]][2] || mCachePos || ||
|-
| 0x90 || 0x8 || [[Lion Data Types#cTime | cTime]][2] || mCacheTime || ||
|-
| 0x98 || 0x4 || [[Lion Data Types#cTime | cTime]] || mTime || ||
|-
| 0x9C || 0x4 || U32 || mIndex || ||
Line 904 ⟶ 898:
| 0xA0 || 0x4 || U32 || mFlags || ||
|-
| 0xA4 || 0x4 || || paddingPadding || ||
|-
| 0xA8 || 0x8 || [[Lion Data Types#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 ===
Line 961 ⟶ 914:
! Offset !! Length !! Type !! Name !! Description !! Comments
|-
| 0x0 || 0x4 || [[Lion Data Types#cTime | cTime]] || mTime || ||
|-
| 0x4 || 0x4 || [[Lion Data Types#cTime | cTime]] || mTimeStart || ||
|-
| 0x8 || 0x4 || [[Lion Data Types#cTime | cTime]] || mTimeStop || ||
|-
| 0xC || 0x1 || bool || mbEnabled || ||
|-
| 0xD || 0x3 || || || paddingPadding ||
|}
 
Line 976 ⟶ 929:
! Offset !! Length !! Type !! Name !! Description !! Comments
|-
| 0x0 || 0x30 || [[#CgsNumeric::Random CgsRandom| Random]] || mCgsRandom || ||
|-
| 0x30 || 0x4 || U32 || mSeed || ||
|-
| 0x34 || 0xC || || || paddingPadding ||
|}
 
=== CgsNumeric::Random ===
{| class="wikitable"
|-
! Offset !! Length !! Type !! Name !! Description !! Comments
|-
| 0x0 || 0x20 || [[#CgsNumeric::Random::anon_union_0 | anon_union_0]] || field_0 || ||
|-
| 0x20 || 0x8 || uint64_t || muSeed || ||
|-
| 0x28 || 0x4 || uint32_t || muOldestBufferIndex || ||
|-
| 0x2C || 0x4 || || || padding ||
|}
 
Line 1,004 ⟶ 943:
| 0x0 || 0x4 || U32 || mBucketsUsed || ||
|-
| 0x4 || 0xC || || || paddingPadding ||
|-
| 0x10 || 0x40 || [[Lion Data Types#cMatrix | cMatrix]] || mParentBaseMatrix || ||
|-
| 0x50 || 0x10 || [[Lion Data Types#cVector | cVector]] || mParentVel || ||
|-
| 0x60 || 0x10 || [[Lion Data Types#cVector | cVector]] || mForce || ||
|-
| 0x70 || 0xE0 || [[#sParticleNucleus | sParticleNucleus]] || mParentEmitterNucleus || ||
|-
| 0x150 || 0x40 || [[#cParticleRandomSeed | cParticleRandomSeed]] || mParentRandomSeed || ||
|-
| 0x190 || 0x4 || U32 || mParentIndex || ||
Line 1,020 ⟶ 959:
| 0x194 || 0x4 || cParticleEmitter* || mpParentEmitter || ||
|-
| 0x198 || 0x4 || [[Lion Data Types#cTime | cTime]] || mParentTime || ||
|-
| 0x19C || 0x4 || [[Lion Data Types#cTime | cTime]] || mLastTime || ||
|-
| 0x1A0 || 0x4 || [[Lion Data Types#cTime | cTime]] || mUpdateLastTime || ||
|-
| 0x1A4 || 0x4 || S32 || mNextEmissionTime || ||
Line 1,032 ⟶ 971:
| 0x1AC || 0x4 || FP32 || mDt || ||
|-
| 0x1B0 || 0x40 || [[#cParticleRandomSeed | cParticleRandomSeed]] || mEmitterSeed || ||
|-
| 0x1F0 || 0x4 || U32 || mFlags || ||
Line 1,038 ⟶ 977:
| 0x1F4 || 0x4 || U32 || mEmissionCount || ||
|-
| 0x1F8 || 0x4 || [[#cParticleDescriptor | cParticleDescriptor]]* || mpDescriptor || ||
|-
| 0x1FC || 0x4 || [[#cLionBindings | cLionBindings]]* || mpBindings || ||
|-
| 0x200 || 0x4 || [[#cParticleBucket | cParticleBucket]]* || mpBucket || ||
|-
| 0x204 || 0x4 || cParticleEmitter* || mpNext || ||
Line 1,048 ⟶ 987:
| 0x208 || 0x4 || U32 || mPhysicsHandle || ||
|-
| 0x20C || 0x4 || [[#cParticleBehaviour | cParticleBehaviour]]* || mpCurrentBehaviour || ||
|-
| 0x210 || 0x4 || [[#cParticleBehaviour | cParticleBehaviour]]* || mpTempBehaviour || ||
|-
| 0x214 || 0x4 || FP32 || mBlendLast || ||
|-
| 0x218 || 0x8 || || || paddingPadding ||
|-
| 0x220 || 0xB0 || [[#ParticleBuildData | ParticleBuildData]] || mPrecalculatedParticleBuildData || ||
|}
 
Line 1,065 ⟶ 1,004:
| 0x0 || 0x4 || U32 || mBucketsUsed || ||
|-
| 0x4 || 0xC || || || paddingPadding ||
|-
| 0x10 || 0x40 || [[Lion Data Types#cMatrix | cMatrix]] || mParentBaseMatrix || ||
|-
| 0x50 || 0x10 || [[Lion Data Types#cVector | cVector]] || mParentVel || ||
|-
| 0x60 || 0x10 || [[Lion Data Types#cVector | cVector]] || mForce || ||
|-
| 0x70 || 0xE0 || [[#sParticleNucleus | sParticleNucleus]] || mParentEmitterNucleus || ||
|-
| 0x150 || 0x40 || [[#cParticleRandomSeed | cParticleRandomSeed]] || mParentRandomSeed || ||
|-
| 0x190 || 0x4 || U32 || mParentIndex || ||
|-
| 0x194 || 0x4 || || || paddingPadding ||
|-
| 0x198 || 0x8 || cParticleEmitter* || mpParentEmitter || ||
|-
| 0x1A0 || 0x4 || [[Lion Data Types#cTime | cTime]] || mParentTime || ||
|-
| 0x1A4 || 0x4 || [[Lion Data Types#cTime | cTime]] || mLastTime || ||
|-
| 0x1A8 || 0x4 || [[Lion Data Types#cTime | cTime]] || mUpdateLastTime || ||
|-
| 0x1AC || 0x4 || S32 || mNextEmissionTime || ||
Line 1,095 ⟶ 1,034:
| 0x1B4 || 0x4 || FP32 || mDt || ||
|-
| 0x1B8 || 0x8 || || || paddingPadding ||
|-
| 0x1C0 || 0x40 || [[#cParticleRandomSeed | cParticleRandomSeed]] || mEmitterSeed || ||
|-
| 0x200 || 0x4 || U32 || mFlags || ||
Line 1,103 ⟶ 1,042:
| 0x1F4 || 0x4 || U32 || mEmissionCount || ||
|-
| 0x1F8 || 0x8 || [[#cParticleDescriptor | cParticleDescriptor]]* || mpDescriptor || ||
|-
| 0x200 || 0x8 || [[#cLionBindings | cLionBindings]]* || mpBindings || ||
|-
| 0x208 || 0x8 || [[#cParticleBucket | cParticleBucket]]* || mpBucket || ||
|-
| 0x210 || 0x8 || cParticleEmitter* || mpNext || ||
Line 1,113 ⟶ 1,052:
| 0x218 || 0x4 || U32 || mPhysicsHandle || ||
|-
| 0x21C || 0x4 || || || paddingPadding ||
|-
| 0x220 || 0x8 || [[#cParticleBehaviour | cParticleBehaviour]]* || mpCurrentBehaviour || ||
|-
| 0x228 || 0x8 || [[#cParticleBehaviour | cParticleBehaviour]]* || mpTempBehaviour || ||
|-
| 0x230 || 0x4 || FP32 || mBlendLast || ||
|-
| 0x234 || 0xC || || || paddingPadding ||
|-
| 0x240 || 0xB0 || [[#ParticleBuildData | ParticleBuildData]] || mPrecalculatedParticleBuildData || ||
|}
 
Line 1,130 ⟶ 1,069:
! 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 || ||
|}
 
Line 1,166 ⟶ 1,105:
| 0x0 || 0x4 || cParticleBucket* || mpManagerNext || ||
|-
| 0x4 || 0x4 || [[#cParticleEmitter | cParticleEmitter]]* || mpEmitter || ||
|-
| 0x8 || 0x4 || cParticleBucket* || mpEmitterNext || ||
|-
| 0xC || 0x4 || [[Lion Data Types#cTime | cTime]] || mLatestBirthTime || ||
|-
| 0x10 || 0x40 || [[#cParticleRandomSeed | cParticleRandomSeed]] || mRandomSeed || ||
|-
| 0x50 || 0x4 || U32 || mnNextParticlePositionToFill || ||
Line 1,178 ⟶ 1,117:
| 0x54 || 0x4 || U32 || mActiveBits || ||
|-
| 0x58 || 0x8 || || || paddingPadding ||
|-
| 0x60 || 0xE00 || [[#sParticleNucleus | sParticleNucleus]][16] || mParticles || ||
|-
| 0xE60 || 0x4 || [[Lion Data Types#cMatrix | cMatrix]]* || mpMatrices || ||
|-
| 0xE64 || 0x4 || [[Lion Data Types#cVector | cVector]]* || mpVectors || ||
|-
| 0xE68 || 0x8 || || || paddingPadding ||
|}
 
Line 1,195 ⟶ 1,134:
| 0x0 || 0x8 || cParticleBucket* || mpManagerNext || ||
|-
| 0x8 || 0x8 || [[#cParticleEmitter | cParticleEmitter]]* || mpEmitter || ||
|-
| 0x10 || 0x8 || cParticleBucket* || mpEmitterNext || ||
|-
| 0x18 || 0x4 || [[Lion Data Types#cTime | cTime]] || mLatestBirthTime || ||
|-
| 0x1C || 0x4 || || || paddingPadding ||
|-
| 0x20 || 0x40 || [[#cParticleRandomSeed | cParticleRandomSeed]] || mRandomSeed || ||
|-
| 0x60 || 0x4 || U32 || mnNextParticlePositionToFill || ||
Line 1,209 ⟶ 1,148:
| 0x64 || 0x4 || U32 || mActiveBits || ||
|-
| 0x68 || 0x8 || || || paddingPadding ||
|-
| 0x70 || 0xE00 || [[#sParticleNucleus | sParticleNucleus]][16] || mParticles || ||
|-
| 0xE70 || 0x8 || [[Lion Data Types#cMatrix | cMatrix]]* || mpMatrices || ||
|-
| 0xE78 || 0x8 || [[Lion Data Types#cVector | cVector]]* || mpVectors || ||
|}
 
Line 1,222 ⟶ 1,161:
! Offset !! Length !! Type !! Name !! Description !! 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 ||
|}
 
Line 1,318 ⟶ 1,187:
=== cParticleDescriptor::eParticleDescriptorFlags ===
{| class="wikitable"
|-
! Name !! Value !! Comments
|-