Particle Description
Particle description resources are the primary assets used for Lion particle effects.
Structures
Note: Particle descriptions makes use of nonstandard types such as U32 and non-Criterion types such as cVector. See Lion Data Types for details on these types.
Note: All pointers are relative to the start of the lowest-level structure they reside in.
BrnParticle::ParticleDescription
32-bit
Offset | Length | Type | Name | Description | Comments |
---|---|---|---|---|---|
0x0 | 0x4 | uint32_t | muHashedGDBURI | Resource ID | |
0x4 | 0x4 | cLionEffectDefinition* | mpLionEffectDefinition | Effect |
64-bit
Offset | Length | Type | Name | Description | Comments |
---|---|---|---|---|---|
0x0 | 0x4 | uint32_t | muHashedGDBURI | Resource ID | |
0x4 | 0x4 | padding | |||
0x8 | 0x8 | cLionEffectDefinition* | mpLionEffectDefinition | Effect |
cLionEffectDefinition
32-bit
Offset | Length | Type | Name | Description | Comments |
---|---|---|---|---|---|
0x0 | 0x4 | U32 | mVersion | Always 0x10003 | |
0x4 | 0x4 | LionHash | m_key | Not actually a hash | |
0x8 | 0x40 | LionChar[32] | m_name | ||
0x48 | 0x4 | cLionParticleEffect* | mpParticles | ||
0x4C | 0x4 | cLionBindings* | mpBindings | ||
0x50 | 0x4 | cLionEffectDefinition* | mpNext |
64-bit
Offset | Length | Type | Name | Description | Comments |
---|---|---|---|---|---|
0x0 | 0x4 | U32 | mVersion | Always 0x10003 | |
0x4 | 0x4 | LionHash | m_key | Not actually a hash | |
0x8 | 0x40 | LionChar[32] | m_name | ||
0x48 | 0x8 | cLionParticleEffect* | mpParticles | ||
0x50 | 0x8 | cLionBindings* | mpBindings | ||
0x58 | 0x8 | cLionEffectDefinition* | mpNext |
cLionParticleEffect
32-bit
Offset | Length | Type | Name | Description | Comments |
---|---|---|---|---|---|
0x0 | 0x4 | U32 | mHash | ||
0x4 | 0x4 | cParticleDescriptor* | mpDescriptors | ||
0x8 | 0x4 | cLionParticleEffect* | mpNext |
64-bit
Offset | Length | Type | Name | Description | Comments |
---|---|---|---|---|---|
0x0 | 0x4 | U32 | mHash | ||
0x4 | 0x4 | padding | |||
0x8 | 0x8 | cParticleDescriptor* | mpDescriptors | ||
0x10 | 0x8 | cLionParticleEffect* | mpNext |
cParticleDescriptor
32-bit
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 eParticleDescriptorFlags | |
0x24 | 0x4 | U32 | mLodGroup | ||
0x28 | 0x4 | U32 | mRenderGroup | ||
0x2C | 0x4 | U32 | mShape | ||
0x30 | 0x4 | U32 | mCollisionType | ||
0x34 | 0x4 | FP32 | mBlendLast | ||
0x38 | 0x4 | LionChar* | mpName | ||
0x3C | 0x4 | S32 | mBehaviourCount | ||
0x40 | 0x4 | cParticleBehaviour* | mpBehaviours | ||
0x44 | 0x4 | cParticleBehaviour* | mpBehaviourTemp | ||
0x48 | 0x4 | cParticleBehaviour* | mpBehaviour | ||
0x4C | 0x4 | cParticleMaterial* | mpMaterial | ||
0x50 | 0x4 | cLionEffectDefinition* | mpDef | ||
0x54 | 0x4 | cParticleDescriptor* | mpNext | ||
0x58 | 0x4 | cParticleDescriptor* | mpParent | ||
0x5C | 0x4 | cParticleDescriptor* | mpChild |
64-bit
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 eParticleDescriptorFlags | |
0x24 | 0x4 | U32 | mLodGroup | ||
0x28 | 0x4 | U32 | mRenderGroup | ||
0x2C | 0x4 | U32 | mShape | ||
0x30 | 0x4 | U32 | mCollisionType | ||
0x34 | 0x4 | FP32 | mBlendLast | ||
0x38 | 0x8 | LionChar* | mpName | ||
0x40 | 0x4 | S32 | mBehaviourCount | ||
0x44 | 0x4 | padding | |||
0x48 | 0x8 | cParticleBehaviour* | mpBehaviours | ||
0x50 | 0x8 | cParticleBehaviour* | mpBehaviourTemp | ||
0x58 | 0x8 | cParticleBehaviour* | mpBehaviour | ||
0x60 | 0x8 | cParticleMaterial* | mpMaterial | ||
0x68 | 0x8 | cLionEffectDefinition* | mpDef | ||
0x70 | 0x8 | cParticleDescriptor* | mpNext | ||
0x78 | 0x8 | cParticleDescriptor* | mpParent | ||
0x80 | 0x8 | cParticleDescriptor* | mpChild |
cParticleBehaviour
32-bit
Offset | Length | Type | Name | Description | Comments |
---|---|---|---|---|---|
0x0 | 0x10 | cVector | mAccBase | ||
0x10 | 0x10 | cVector | mAccVariance | ||
0x20 | 0x10 | cVector | mAxisBase | ||
0x30 | 0x10 | cVector | mOffsetRotXYZBase | ||
0x40 | 0x10 | cVector | mOffsetRotXYZVariance | ||
0x50 | 0x10 | cVector | mOffsetRotXYZVelBase | ||
0x60 | 0x10 | cVector | mOffsetRotXYZVelVariance | ||
0x70 | 0x10 | cVector | mOffsetRotXYZAccBase | ||
0x80 | 0x10 | cVector | mOffsetRotXYZAccVariance | ||
0x90 | 0x10 | cVector | mRotXYZBase | ||
0xA0 | 0x10 | cVector | mRotXYZVariance | ||
0xB0 | 0x10 | cVector | mRotXYZVelBase | ||
0xC0 | 0x10 | cVector | mRotXYZVelVariance | ||
0xD0 | 0x10 | cVector | mRotXYZAccBase | ||
0xE0 | 0x10 | cVector | mRotXYZAccVariance | ||
0xF0 | 0x10 | cVector | mPivotPoint | ||
0x100 | 0x10 | cVector | mPosBase | ||
0x110 | 0x10 | cVector | mPosVariance | ||
0x120 | 0x10 | cVector | mRingRadius | ||
0x130 | 0x10 | cVector | mSizeXYZBase | ||
0x140 | 0x10 | cVector | mSizeXYZVariance | ||
0x150 | 0x10 | cVector | mSizeXYZVelBase | ||
0x160 | 0x10 | cVector | mSizeXYZVelVariance | ||
0x170 | 0x10 | cVector | mSizeXYZAccBase | ||
0x180 | 0x10 | cVector | mSizeXYZAccVariance | ||
0x190 | 0x10 | cVector | mVelBase | ||
0x1A0 | 0x10 | cVector | mVelVariance | ||
0x1B0 | 0x10 | cVector | mRGBADiff | ||
0x1C0 | 0x40 | cVector[4] | mColourStepsRGBAv | ||
0x200 | 0x10 | FP32[4] | mDivisors | ||
0x210 | 0x4 | cColour8 | mRGBA0 | ||
0x214 | 0x4 | cColour8 | mRGBA1 | ||
0x218 | 0x4 | cColour8 | mRGBABase | ||
0x21C | 0x4 | cColour8 | mRGBAVar | ||
0x220 | 0x10 | cColour8[4] | mColour | ||
0x230 | 0x10 | FP32[4] | mColourTime | ||
0x240 | 0x10 | 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* | mpWaveFormX | ||
0x2CC | 0x4 | cParticleWaveForm* | mpWaveFormY | ||
0x2D0 | 0x4 | cParticleWaveForm* | mpWaveFormZ | ||
0x2D4 | 0x4 | cParticleWaveForm* | mpWaveFormAlpha | ||
0x2D8 | 0x4 | cParticleWaveForm* | mpWaveFormRGB | ||
0x2DC | 0x4 | cParticleBehaviour* | mpNext | ||
0x2E0 | 0x180 | cParticleBehaviourBaseVarianceCompiled | mBVCompiled | ||
0x460 | 0x1 | bool | mEmissionRateHasBeenScaled | ||
0x461 | 0x3 | padding | |||
0x464 | U32 | U32 | mEmissionCountClampVariance | ||
0x468 | FP32 | FP32 | mEndOnAlphaFade | ||
0x46C | FP32 | FP32 | mEndOnScale | ||
0x470 | FP32 | FP32 | mEndOnStartAngle | ||
0x474 | FP32 | FP32 | mEndOnEndAngle | ||
0x478 | FP32 | FP32 | mTimeScale | ||
0x47C | FP32 | FP32 | mTimeScaleVariance | ||
0x480 | U32 | U32 | mRibbonParticleCount | ||
0x484 | FP32 | FP32 | mDragFactorVel | ||
0x488 | FP32 | FP32 | mDragFactorRot | ||
0x48C | FP32 | FP32 | mDragFactorScale | ||
0x490 | FP32 | FP32 | mEmitterStartWeight | ||
0x494 | FP32 | FP32 | mEmitterEndWeight | ||
0x498 | FP32 | FP32 | mEmitterVelWeight | ||
0x49C | 0x4 | padding | |||
0x4A0 | 0x10 | cVector | mAABBMin | ||
0x4B0 | 0x10 | cVector | mAABBMax |
64-bit
Offset | Length | Type | Name | Description | Comments |
---|---|---|---|---|---|
0x0 | 0x10 | cVector | mAccBase | ||
0x10 | 0x10 | cVector | mAccVariance | ||
0x20 | 0x10 | cVector | mAxisBase | ||
0x30 | 0x10 | cVector | mOffsetRotXYZBase | ||
0x40 | 0x10 | cVector | mOffsetRotXYZVariance | ||
0x50 | 0x10 | cVector | mOffsetRotXYZVelBase | ||
0x60 | 0x10 | cVector | mOffsetRotXYZVelVariance | ||
0x70 | 0x10 | cVector | mOffsetRotXYZAccBase | ||
0x80 | 0x10 | cVector | mOffsetRotXYZAccVariance | ||
0x90 | 0x10 | cVector | mRotXYZBase | ||
0xA0 | 0x10 | cVector | mRotXYZVariance | ||
0xB0 | 0x10 | cVector | mRotXYZVelBase | ||
0xC0 | 0x10 | cVector | mRotXYZVelVariance | ||
0xD0 | 0x10 | cVector | mRotXYZAccBase | ||
0xE0 | 0x10 | cVector | mRotXYZAccVariance | ||
0xF0 | 0x10 | cVector | mPivotPoint | ||
0x100 | 0x10 | cVector | mPosBase | ||
0x110 | 0x10 | cVector | mPosVariance | ||
0x120 | 0x10 | cVector | mRingRadius | ||
0x130 | 0x10 | cVector | mSizeXYZBase | ||
0x140 | 0x10 | cVector | mSizeXYZVariance | ||
0x150 | 0x10 | cVector | mSizeXYZVelBase | ||
0x160 | 0x10 | cVector | mSizeXYZVelVariance | ||
0x170 | 0x10 | cVector | mSizeXYZAccBase | ||
0x180 | 0x10 | cVector | mSizeXYZAccVariance | ||
0x190 | 0x10 | cVector | mVelBase | ||
0x1A0 | 0x10 | cVector | mVelVariance | ||
0x1B0 | 0x10 | cVector | mRGBADiff | ||
0x1C0 | 0x40 | cVector[4] | mColourStepsRGBAv | ||
0x200 | 0x10 | FP32[4] | mDivisors | ||
0x210 | 0x4 | cColour8 | mRGBA0 | ||
0x214 | 0x4 | cColour8 | mRGBA1 | ||
0x218 | 0x4 | cColour8 | mRGBABase | ||
0x21C | 0x4 | cColour8 | mRGBAVar | ||
0x220 | 0x10 | cColour8[4] | mColour | ||
0x230 | 0x10 | FP32[4] | mColourTime | ||
0x240 | 0x10 | 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* | mpWaveFormX | ||
0x2D0 | 0x8 | cParticleWaveForm* | mpWaveFormY | ||
0x2D8 | 0x8 | cParticleWaveForm* | mpWaveFormZ | ||
0x2E0 | 0x8 | cParticleWaveForm* | mpWaveFormAlpha | ||
0x2E8 | 0x8 | cParticleWaveForm* | mpWaveFormRGB | ||
0x2F0 | 0x8 | cParticleBehaviour* | mpNext | ||
0x2F8 | 0x180 | 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 | mAABBMin | ||
0x4D0 | 0x10 | cVector | mAABBMax |
cParticleWaveform
Offset | Length | Type | Name | Description | 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 |
cParticleBehaviourBaseVarianceCompiled
Offset | Length | Type | Name | Description | Comments |
---|---|---|---|---|---|
0x0 | 0x178 | sParticleBehaviourBaseVariancePack[47] | aData | ||
0x178 | 0x4 | uint | size | ||
0x17C | 0x4 | uint | dummy |
cParticleBehaviourBaseVariancePack
Offset | Length | Type | Name | Description | Comments |
---|---|---|---|---|---|
0x0 | 0x4 | float | base | ||
0x4 | 0x4 | float | variance |
cParticleMaterial
32-bit
Offset | Length | Type | Name | Description | 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
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
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
Offset | Length | Type | Name | Description | Comments |
---|---|---|---|---|---|
0x0 | 0x4 | U32 | mLocatorCount | ||
0x4 | 0x4 | U32 | mWorldIndex | ||
0x8 | 0x8 | cParticleLocator** | mppLocators | ||
0x10 | 0x8 | cParticleLocator* | mpLocator | ||
0x18 | 0x8 | cParticleScaler* | mpScaler | ||
0x20 | 0x8 | cParticleTrigger* | mpTrigger | ||
0x28 | 0x8 | padding | |||
0x30 | 0x40 | cParticleRandomSeed | mSeed | ||
0x70 | 0x8 | cLionBindings* | mpNext | ||
0x74 | 0x4 | cParticleEmitter* | m_p_emitter | ||
0x78 | 0x8 | padding |
cParticleLocator
32-bit
Offset | Length | Type | Name | Description | Comments |
---|---|---|---|---|---|
0x0 | 0x40 | cMatrix | mMat | ||
0x40 | 0x10 | cVector | mVel | ||
0x50 | 0x20 | cQuat[2] | mCacheQuat | ||
0x70 | 0x20 | cVector[2] | mCachePos | ||
0x90 | 0x8 | cTime[2] | mCacheTime | ||
0x98 | 0x4 | cTime | mTime | ||
0x9C | 0x4 | U32 | mIndex | ||
0xA0 | 0x4 | U32 | mFlags | ||
0xA4 | 0x4 | iLionPosEvaluator* | mpPosEvaluator | ||
0xA8 | 0x8 | padding |
64-bit
Offset | Length | Type | Name | Description | Comments |
---|---|---|---|---|---|
0x0 | 0x40 | cMatrix | mMat | ||
0x40 | 0x10 | cVector | mVel | ||
0x50 | 0x20 | cQuat[2] | mCacheQuat | ||
0x70 | 0x20 | cVector[2] | mCachePos | ||
0x90 | 0x8 | cTime[2] | mCacheTime | ||
0x98 | 0x4 | cTime | mTime | ||
0x9C | 0x4 | U32 | mIndex | ||
0xA0 | 0x4 | U32 | mFlags | ||
0xA4 | 0x4 | padding | |||
0xA8 | 0x8 | iLionPosEvaluator* | mpPosEvaluator |
cParticleScaler
Offset | Length | Type | Name | Description | Comments |
---|---|---|---|---|---|
0x0 | 0x4 | FP32 | mScale |
cParticleTrigger
Offset | Length | Type | Name | Description | Comments |
---|---|---|---|---|---|
0x0 | 0x4 | cTime | mTime | ||
0x4 | 0x4 | cTime | mTimeStart | ||
0x8 | 0x4 | cTime | mTimeStop | ||
0xC | 0x1 | bool | mbEnabled | ||
0xD | 0x3 | padding |
cParticleRandomSeed
Offset | Length | Type | Name | Description | Comments |
---|---|---|---|---|---|
0x0 | 0x30 | Random | mCgsRandom | ||
0x30 | 0x4 | U32 | mSeed | ||
0x34 | 0xC | padding |
cParticleEmitter
32-bit
Offset | Length | Type | Name | Description | Comments |
---|---|---|---|---|---|
0x0 | 0x4 | U32 | mBucketsUsed | ||
0x4 | 0xC | padding | |||
0x10 | 0x40 | cMatrix | mParentBaseMatrix | ||
0x50 | 0x10 | cVector | mParentVel | ||
0x60 | 0x10 | cVector | mForce | ||
0x70 | 0xE0 | sParticleNucleus | mParentEmitterNucleus | ||
0x150 | 0x40 | cParticleRandomSeed | mParentRandomSeed | ||
0x190 | 0x4 | U32 | mParentIndex | ||
0x194 | 0x4 | cParticleEmitter* | mpParentEmitter | ||
0x198 | 0x4 | cTime | mParentTime | ||
0x19C | 0x4 | cTime | mLastTime | ||
0x1A0 | 0x4 | cTime | mUpdateLastTime | ||
0x1A4 | 0x4 | S32 | mNextEmissionTime | ||
0x1A8 | 0x4 | FP32 | m_age | ||
0x1AC | 0x4 | FP32 | mDt | ||
0x1B0 | 0x40 | cParticleRandomSeed | mEmitterSeed | ||
0x1F0 | 0x4 | U32 | mFlags | ||
0x1F4 | 0x4 | U32 | mEmissionCount | ||
0x1F8 | 0x4 | cParticleDescriptor* | mpDescriptor | ||
0x1FC | 0x4 | cLionBindings* | mpBindings | ||
0x200 | 0x4 | cParticleBucket* | mpBucket | ||
0x204 | 0x4 | cParticleEmitter* | mpNext | ||
0x208 | 0x4 | U32 | mPhysicsHandle | ||
0x20C | 0x4 | cParticleBehaviour* | mpCurrentBehaviour | ||
0x210 | 0x4 | cParticleBehaviour* | mpTempBehaviour | ||
0x214 | 0x4 | FP32 | mBlendLast | ||
0x218 | 0x8 | padding | |||
0x220 | 0xB0 | ParticleBuildData | mPrecalculatedParticleBuildData |
64-bit
Offset | Length | Type | Name | Description | Comments |
---|---|---|---|---|---|
0x0 | 0x4 | U32 | mBucketsUsed | ||
0x4 | 0xC | padding | |||
0x10 | 0x40 | cMatrix | mParentBaseMatrix | ||
0x50 | 0x10 | cVector | mParentVel | ||
0x60 | 0x10 | cVector | mForce | ||
0x70 | 0xE0 | sParticleNucleus | mParentEmitterNucleus | ||
0x150 | 0x40 | cParticleRandomSeed | mParentRandomSeed | ||
0x190 | 0x4 | U32 | mParentIndex | ||
0x194 | 0x4 | padding | |||
0x198 | 0x8 | cParticleEmitter* | mpParentEmitter | ||
0x1A0 | 0x4 | cTime | mParentTime | ||
0x1A4 | 0x4 | cTime | mLastTime | ||
0x1A8 | 0x4 | cTime | mUpdateLastTime | ||
0x1AC | 0x4 | S32 | mNextEmissionTime | ||
0x1B0 | 0x4 | FP32 | m_age | ||
0x1B4 | 0x4 | FP32 | mDt | ||
0x1B8 | 0x8 | padding | |||
0x1C0 | 0x40 | cParticleRandomSeed | mEmitterSeed | ||
0x200 | 0x4 | U32 | mFlags | ||
0x1F4 | 0x4 | U32 | mEmissionCount | ||
0x1F8 | 0x8 | cParticleDescriptor* | mpDescriptor | ||
0x200 | 0x8 | cLionBindings* | mpBindings | ||
0x208 | 0x8 | cParticleBucket* | mpBucket | ||
0x210 | 0x8 | cParticleEmitter* | mpNext | ||
0x218 | 0x4 | U32 | mPhysicsHandle | ||
0x21C | 0x4 | padding | |||
0x220 | 0x8 | cParticleBehaviour* | mpCurrentBehaviour | ||
0x228 | 0x8 | cParticleBehaviour* | mpTempBehaviour | ||
0x230 | 0x4 | FP32 | mBlendLast | ||
0x234 | 0xC | padding | |||
0x240 | 0xB0 | ParticleBuildData | mPrecalculatedParticleBuildData |
sParticleNucleus
Offset | Length | Type | Name | Description | Comments |
---|---|---|---|---|---|
0x0 | 0x10 | Vector3Plus | mPos | ||
0x10 | 0x10 | Vector3Plus | mVel | ||
0x20 | 0x10 | Vector3Plus | mAcc | ||
0x30 | 0x10 | Vector3Plus | mRot | ||
0x40 | 0x10 | Vector3Plus | mRotVel | ||
0x50 | 0x10 | Vector3Plus | mRotAcc | ||
0x60 | 0x10 | Vector3Plus | mOffsetRot | ||
0x70 | 0x10 | Vector3Plus | mOffsetRotVel | ||
0x80 | 0x10 | Vector3Plus | mOffsetRotAcc | ||
0x90 | 0x10 | Vector3Plus | mSize | ||
0xA0 | 0x10 | Vector3Plus | mSizeVel | ||
0xB0 | 0x10 | Vector3Plus | mSizeAcc | ||
0xC0 | 0x10 | Vector3Plus | mLocatorVel | ||
0xD0 | 0x10 | Vector4 | mvLifeTimeAndFrameTimeAndFPSAndBirthTime |
cParticleBucket
32-bit
Offset | Length | Type | Name | Description | Comments |
---|---|---|---|---|---|
0x0 | 0x4 | cParticleBucket* | mpManagerNext | ||
0x4 | 0x4 | cParticleEmitter* | mpEmitter | ||
0x8 | 0x4 | cParticleBucket* | mpEmitterNext | ||
0xC | 0x4 | cTime | mLatestBirthTime | ||
0x10 | 0x40 | cParticleRandomSeed | mRandomSeed | ||
0x50 | 0x4 | U32 | mnNextParticlePositionToFill | ||
0x54 | 0x4 | U32 | mActiveBits | ||
0x58 | 0x8 | padding | |||
0x60 | 0xE00 | sParticleNucleus[16] | mParticles | ||
0xE60 | 0x4 | cMatrix* | mpMatrices | ||
0xE64 | 0x4 | cVector* | mpVectors | ||
0xE68 | 0x8 | padding |
64-bit
Offset | Length | Type | Name | Description | Comments |
---|---|---|---|---|---|
0x0 | 0x8 | cParticleBucket* | mpManagerNext | ||
0x8 | 0x8 | cParticleEmitter* | mpEmitter | ||
0x10 | 0x8 | cParticleBucket* | mpEmitterNext | ||
0x18 | 0x4 | cTime | mLatestBirthTime | ||
0x1C | 0x4 | padding | |||
0x20 | 0x40 | cParticleRandomSeed | mRandomSeed | ||
0x60 | 0x4 | U32 | mnNextParticlePositionToFill | ||
0x64 | 0x4 | U32 | mActiveBits | ||
0x68 | 0x8 | padding | |||
0x70 | 0xE00 | sParticleNucleus[16] | mParticles | ||
0xE70 | 0x8 | cMatrix* | mpMatrices | ||
0xE78 | 0x8 | cVector* | mpVectors |
cParticleBuildData
Offset | Length | Type | Name | Description | Comments |
---|---|---|---|---|---|
0x0 | 0x10 | Vector4 | mvDeltaTimeAndCurrentTime | ||
0x10 | 0x10 | Vector2 | mvAlphaFadeInAndFadeOut | ||
0x20 | 0x10 | Vector3 | mvScaleAndProportionalScaleYXAndZX | ||
0x30 | 0x10 | Vector2 | mvOrientStepAndDragFrameRateConstants | ||
0x40 | 0x10 | Vector3 | mvDragFactorsVelRotScale | ||
0x50 | 0x10 | Vector3Plus | mvRGBADiff | ||
0x60 | 0x10 | Vector3Plus | mvRGBA0 | ||
0x70 | 0x10 | Vector3Plus | mvRGBAVar | ||
0x80 | 0x10 | Vector3Plus | mvRGBABase | ||
0x90 | 0x10 | VecFloat | mvfFrameCount | ||
0xA0 | 0x10 | VecFloat | mvfOneOverFrameCount |
Enumerations
cParticleDescriptor::eParticleDescriptorFlags
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 | |
eDO_WORLD_ACC | 0x80 | |
eDO_IGNOREROT | 0x100 | |
eDO_PHYSICS | 0x200 | |
eDO_RGBA_INTERPOLANT | 0x400 | |
eDO_RGBA_VARIANCE | 0x800 | |
eDO_LOCATOR_INSTANCING | 0x1000 | |
eDO_TRIGGER_INSTANCING | 0x2000 | |
eDO_PREFORM | 0x4000 | |
eDO_DISABLED | 0x8000 | |
eDO_RIBBON | 0x10000 |