18#ifndef INCLUDED_PARTICLEEMITTERTYPE
19#define INCLUDED_PARTICLEEMITTERTYPE
std::shared_ptr< CParticleEmitterType > CParticleEmitterTypePtr
Definition: ParticleEmitterType.h:123
Definition: BoundingBoxAligned.h:34
Particle emitter model, for attaching emitters as props on other models.
Definition: ParticleEmitter.h:189
Particle emitter type - stores the common state data for all emitters of that type,...
Definition: ParticleEmitterType.h:46
CParticleManager & m_Manager
Definition: ParticleEmitterType.h:120
bool m_UseRelativeVelocity
Definition: ParticleEmitterType.h:108
CBoundingBoxAligned m_MaxBounds
Definition: ParticleEmitterType.h:112
std::shared_ptr< IParticleEffector > IParticleEffectorPtr
Definition: ParticleEmitterType.h:117
CBoundingBoxAligned CalculateBounds(CVector3D emitterPos, CBoundingBoxAligned emittedBounds)
Definition: ParticleEmitterType.cpp:582
BlendMode
Definition: ParticleEmitterType.h:80
NONCOPYABLE(CParticleEmitterType)
bool LoadXML(const VfsPath &path)
Definition: ParticleEmitterType.cpp:335
int GetVariableID(const std::string &name)
Definition: ParticleEmitterType.cpp:314
u16 m_MaxParticles
Definition: ParticleEmitterType.h:111
@ VAR_LIFETIME
Definition: ParticleEmitterType.h:62
@ VAR_COLOR_R
Definition: ParticleEmitterType.h:73
@ VAR_VELOCITY_ANGLE
Definition: ParticleEmitterType.h:70
@ VAR_COLOR_G
Definition: ParticleEmitterType.h:74
@ VAR_VELOCITY_X
Definition: ParticleEmitterType.h:67
@ VAR_EMISSIONRATE
Definition: ParticleEmitterType.h:61
@ VAR_POSITION_X
Definition: ParticleEmitterType.h:63
@ VAR_SIZE
Definition: ParticleEmitterType.h:71
@ VAR_VELOCITY_Z
Definition: ParticleEmitterType.h:69
@ VAR__MAX
Definition: ParticleEmitterType.h:76
@ VAR_SIZE_GROWTHRATE
Definition: ParticleEmitterType.h:72
@ VAR_COLOR_B
Definition: ParticleEmitterType.h:75
@ VAR_POSITION_Z
Definition: ParticleEmitterType.h:65
@ VAR_POSITION_Y
Definition: ParticleEmitterType.h:64
@ VAR_ANGLE
Definition: ParticleEmitterType.h:66
@ VAR_VELOCITY_Y
Definition: ParticleEmitterType.h:68
BlendMode m_BlendMode
Definition: ParticleEmitterType.h:106
std::vector< IParticleEffectorPtr > m_Effectors
Definition: ParticleEmitterType.h:118
CTexturePtr m_Texture
Definition: ParticleEmitterType.h:104
bool m_StartFull
Definition: ParticleEmitterType.h:107
std::shared_ptr< IParticleVar > IParticleVarPtr
Definition: ParticleEmitterType.h:114
void UpdateEmitterStep(CParticleEmitter &emitter, float dt)
Update the state of an emitter's particles, by a short time dt that can be computed in a single step.
Definition: ParticleEmitterType.cpp:494
std::vector< IParticleVarPtr > m_Variables
Definition: ParticleEmitterType.h:115
CParticleEmitterType(const VfsPath &path, CParticleManager &manager)
Definition: ParticleEmitterType.cpp:255
void UpdateEmitter(CParticleEmitter &emitter, float dt)
Update the state of an emitter's particles, by a potentially long time dt.
Definition: ParticleEmitterType.cpp:473
float m_MaxLifetime
Definition: ParticleEmitterType.h:110
Particle emitter.
Definition: ParticleEmitter.h:69
Definition: ParticleManager.h:31
Particle variable that returns a constant value.
Definition: ParticleEmitterType.cpp:83
Particle variable that returns the same value as some other variable (assuming that variable was eval...
Definition: ParticleEmitterType.cpp:145
Particle variable that returns a uniformly-distributed random value.
Definition: ParticleEmitterType.cpp:113
Definition: Vector3D.h:31
Interface for particle effectors, which get evaluated every frame to update particles.
Definition: ParticleEmitterType.cpp:211
Interface for particle state variables, which get evaluated for each newly constructed particle.
Definition: ParticleEmitterType.cpp:40
Render particles.
Definition: ParticleRenderer.h:31
std::shared_ptr< CTexture > CTexturePtr
Definition: Texture.h:23
uint16_t u16
Definition: types.h:38