]> git.bts.cx Git - benzene.git/blob - src/bz/fx/particle_simulation.h
Initial version
[benzene.git] / src / bz / fx / particle_simulation.h
1 #ifndef BZ_FX_PARTICLE_SIMULATION_H
2 #define BZ_FX_PARTICLE_SIMULATION_H
3
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>
8
9 #ifdef __cplusplus
10 extern "C" {
11 #endif
12
13 typedef struct BZParticleSimulation BZParticleSimulation;
14 typedef BZParticleSimulation * BZParticleSimulationID;
15
16 extern BZParticleSimulationID bzFXCreateParticleSimulation(BZMemoryArenaID arena, size_t maxParticles, BZParticleSystemID system, const char *identifierFmt, ...);
17
18 extern void bzFXUpdateParticleSystem(BZParticleSimulationID simulation, float deltaTime);
19
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
22
23 #ifdef __cplusplus
24 }
25 #endif
26
27 #endif