diff --git a/Runtime/Particle/CElementGen.cpp b/Runtime/Particle/CElementGen.cpp index fc56ec721..f50ad12c7 100644 --- a/Runtime/Particle/CElementGen.cpp +++ b/Runtime/Particle/CElementGen.cpp @@ -2230,4 +2230,20 @@ void CElementGen::DestroyParticles() ch->DestroyParticles(); } +void CElementGen::Reset() +{ + x2c_particleLists.clear(); + x3c_parentMatrices.clear(); + x234_activePartChildren.clear();; + x248_finishPartChildren.clear(); + x280_elscChildren.clear(); + x260_swhcChildren.clear(); + + x50_curFrame = 0; + x58_curSeconds = 0.f; + x64_prevFrame = -1; + x208_activeParticleCount = 0; + x225_28_warmedUp = false; +} + } diff --git a/Runtime/Particle/CElementGen.hpp b/Runtime/Particle/CElementGen.hpp index e257dc5b0..4f451429d 100644 --- a/Runtime/Particle/CElementGen.hpp +++ b/Runtime/Particle/CElementGen.hpp @@ -103,7 +103,7 @@ private: u32 x208_activeParticleCount = 0; u32 x20c_recursiveParticleCount = 0; u32 x210_curEmitterFrame = 0; - int x214_PSLT = 0x7fffff; + int x214_PSLT = 90;//0x7fffff; Zeus::CVector3f x218_PSIV; bool x224_24_translationDirty = false; bool x224_25_LIT_; @@ -229,6 +229,7 @@ public: CLight GetLight() const; bool GetParticleEmission() const; void DestroyParticles(); + void Reset(); }; ENABLE_BITWISE_ENUM(CElementGen::EOptionalSystemFlags) diff --git a/Runtime/Particle/CParticleElectric.hpp b/Runtime/Particle/CParticleElectric.hpp index caa14525d..85bb81994 100644 --- a/Runtime/Particle/CParticleElectric.hpp +++ b/Runtime/Particle/CParticleElectric.hpp @@ -36,6 +36,7 @@ public: CLight GetLight() const; bool GetParticleEmission() const; void DestroyParticles(); + void Reset() {} }; } diff --git a/Runtime/Particle/CParticleGen.hpp b/Runtime/Particle/CParticleGen.hpp index 46a884ba9..03057da50 100644 --- a/Runtime/Particle/CParticleGen.hpp +++ b/Runtime/Particle/CParticleGen.hpp @@ -42,6 +42,7 @@ public: virtual CLight GetLight() const=0; virtual bool GetParticleEmission() const=0; virtual void DestroyParticles()=0; + virtual void Reset()=0; virtual void AddModifier(CWarp* mod); }; diff --git a/Runtime/Particle/CParticleSwoosh.hpp b/Runtime/Particle/CParticleSwoosh.hpp index 27e9621be..2a4b578eb 100644 --- a/Runtime/Particle/CParticleSwoosh.hpp +++ b/Runtime/Particle/CParticleSwoosh.hpp @@ -36,6 +36,7 @@ public: CLight GetLight() const; bool GetParticleEmission() const; void DestroyParticles(); + void Reset() {} }; }