mirror of
https://github.com/zeldaret/ss
synced 2026-05-25 15:25:13 -04:00
46 lines
855 B
C++
46 lines
855 B
C++
#ifndef NW4R_EF_CREATIONQUEUE
|
|
#define NW4R_EF_CREATIONQUEUE
|
|
#include "ef_emitter.h"
|
|
#include "types_nw4r.h"
|
|
|
|
namespace nw4r
|
|
{
|
|
namespace ef
|
|
{
|
|
enum CreationType
|
|
{
|
|
CreationType_Particle,
|
|
CreationType_Emitter
|
|
};
|
|
|
|
//sizeof(UNK_CREATIONQUEUE) = 0x14
|
|
struct Creation
|
|
{
|
|
u8 mType; // at 0x0
|
|
u16 SHORT_0x2;
|
|
EmitterInheritSetting mInheritSetting; // at 0x4
|
|
Particle * mParticle; // at 0x8
|
|
EmitterResource * mResource; // at 0xc
|
|
};
|
|
|
|
struct CreationQueue
|
|
{
|
|
CreationQueue();
|
|
void AddParticleCreation(const EmitterInheritSetting *, Particle *, EmitterResource *, u16);
|
|
void AddEmitterCreation(const EmitterInheritSetting *, Particle *, EmitterResource *, u16);
|
|
|
|
int mSize;
|
|
|
|
Creation mCreations[0x400];
|
|
|
|
inline bool IsEmpty()
|
|
{
|
|
return mSize == 0;
|
|
}
|
|
|
|
void Execute();
|
|
};
|
|
}
|
|
}
|
|
|
|
#endif |