2
0
mirror of https://github.com/AxioDL/metaforce.git synced 2025-12-09 09:47:43 +00:00

Rename EVNT structs to match the engine

Implement getter elements and state tracking for CElementGen
This commit is contained in:
2016-03-18 19:04:12 -07:00
parent ae32ec933e
commit 42717c383c
10 changed files with 108 additions and 81 deletions

View File

@@ -128,6 +128,7 @@ private:
std::vector<std::unique_ptr<CElementGen>> x248_finishPartChildren;
int x258_SISY = 16;
int x25c_PISY = 16;
u32 x260_cumulativeParticles = 0; /* Retail */
std::vector<std::unique_ptr<CParticleSwoosh>> x260_swhcChildren;
int x270_SSSD = 0;
zeus::CVector3f x274_SSPO;
@@ -196,11 +197,17 @@ public:
CElementGen* ConstructChildParticleSystem(const TToken<CGenDescription>&);
void UpdateLightParameters();
void BuildParticleSystemBounds();
u32 GetEmitterTime() const
{
/* Game returns x74, guessing x50 is what it's asking for */
return x50_curFrame;
}
u32 GetSystemCount();
u32 GetCumulativeParticleCount() const { return x260_cumulativeParticles; }
u32 GetParticleCountAllInternal() const;
u32 GetParticleCountAll() const {return x20c_recursiveParticleCount;}
void EndLifetime();
void ForceParticleCreation(int amount) { CreateNewParticles(amount); }
void ForceParticleCreation(int amount);
bool InternalUpdate(double);
void RenderModels();