1 #ifndef BZ_FX_PARTICLE_SIMULATION_H
2 #define BZ_FX_PARTICLE_SIMULATION_H
4 #include <bz/fx/particle_system.h>
5 #include <bz/math/matrix.h>
6 #include <bz/memory/arena.h>
7 #include <bz/types/identifier.h>
13 typedef struct BZParticleSimulation BZParticleSimulation
;
14 typedef BZParticleSimulation
* BZParticleSimulationID
;
16 extern BZParticleSimulationID
bzFXCreateParticleSimulation(BZMemoryArenaID arena
, size_t maxParticles
, BZParticleSystemID system
, const char *identifierFmt
, ...);
18 extern void bzFXUpdateParticleSystem(BZParticleSimulationID simulation
, float deltaTime
);
20 extern void bzFXSpawnParticles(BZParticleSimulationID simulation
, BZIdentifierHash eventIdentifier
, const BZVector
*position
, const float angle
);
21 extern void bzFXDespawnParticle(BZParticleSimulationID simulation
, size_t idx
); // Do not use this