29 #ifndef __PARTICLE_H__
30 #define __PARTICLE_H__
61 void draw(
int x,
int y);
86 virtual void draw() = 0;
87 virtual void update(
int) = 0;
112 virtual void update(
int ticks);
132 virtual void update(
int ticks);
173 virtual void update(
int ticks);
192 virtual void update(
int ticks);
226 std::vector<CParticle *> particles;
227 std::vector<CParticle *> new_particles;
229 unsigned long lastTicks;
237 #endif // !__PARTICLE_H__
virtual bool isVisible(const CViewport &vp) const
Definition: smokeparticle.cpp:54
bool destroyed
Definition: particle.h:99
StaticParticle(CPosition position, GraphicAnimation *flame, int drawlevel=0)
Definition: staticparticle.cpp:36
float x
Definition: particle.h:158
GraphicAnimation * destroyAnimation
Definition: particle.h:155
void add(CParticle *particle)
Definition: particlemanager.cpp:121
virtual void draw()
Definition: smokeparticle.cpp:59
int age
Definition: particle.h:146
~GraphicAnimation()
Definition: particle.h:54
virtual void update(int ticks)
Definition: staticparticle.cpp:59
GraphicAnimation * puff
Definition: particle.h:177
int drawLevel
Definition: particle.h:100
int initialVelocity
Definition: particle.h:141
void clear()
Definition: particlemanager.cpp:61
CRadialParticle(CPosition position, GraphicAnimation *animation, int maxSpeed, int drawlevel=0)
Definition: radialparticle.cpp:37
int smokeDrawLevel
Definition: particle.h:151
float trajectoryAngle
Definition: particle.h:142
void prepareToDraw(const CViewport &vp, std::vector< CParticle * > &table)
Definition: particlemanager.cpp:80
virtual ~CSmokeParticle()
Definition: smokeparticle.cpp:49
int minTrajectoryAngle
Definition: particle.h:149
virtual CParticle * clone()
Definition: chunkparticle.cpp:152
void endDraw()
Definition: particlemanager.cpp:94
virtual void draw()
Definition: staticparticle.cpp:53
int maxTTL
Definition: particle.h:143
float y
Definition: particle.h:180
GraphicAnimation * debrisAnimation
Definition: particle.h:153
void update()
Definition: particlemanager.cpp:99
virtual bool isVisible(const CViewport &vp) const
Definition: radialparticle.cpp:55
void setDestroyDrawLevel(int value)
Definition: particle.h:137
float x
Definition: particle.h:179
virtual void update(int ticks)
Definition: smokeparticle.cpp:65
Definition: particle.h:184
int getDrawLevel() const
Definition: particle.h:94
GraphicAnimation * animation
Definition: particle.h:196
Definition: viewport.h:63
CParticle(CPosition position, int drawlevel=0)
Definition: particle.h:80
int getSmokeDrawLevel() const
Definition: particle.h:134
CParticleManager()
Definition: particlemanager.cpp:43
float y
Definition: particle.h:43
GraphicAnimation * clone()
Definition: graphicanimation.cpp:99
virtual bool isVisible(const CViewport &vp) const
Definition: staticparticle.cpp:48
int destroyDrawLevel
Definition: particle.h:152
virtual CParticle * clone()
Definition: radialparticle.cpp:77
int speed
Definition: particle.h:198
void update(int ticks)
Definition: graphicanimation.cpp:55
static void init()
Definition: particlemanager.cpp:52
CChunkParticle(CPosition position, GraphicAnimation *smokeAnimation, GraphicAnimation *debrisAnimation, GraphicAnimation *destroyAnimation, int minVelocity=0, int maxVelocity=400, int minTrajectoryAngle=77, int maxTTL=0, int drawlevel=0)
Definition: chunkparticle.cpp:47
virtual CParticle * clone()
Definition: staticparticle.cpp:67
bool getLowDetail() const
Definition: particle.h:223
float direction
Definition: particle.h:197
virtual void draw()
Definition: radialparticle.cpp:60
GraphicAnimation * smokeAnimation
Definition: particle.h:154
Definition: particle.h:40
virtual CParticle * clone()=0
void draw(int x, int y)
Definition: graphicanimation.cpp:48
Definition: particle.h:165
bool isVisible(const CViewport &vp, const CPosition &pos)
Definition: graphicanimation.cpp:69
Definition: particle.h:121
virtual ~CParticle()
Definition: particle.h:83
int maxVelocity
Definition: particle.h:148
Definition: particle.h:203
float height
Definition: particle.h:150
bool isDestroyed()
Definition: particle.h:90
struct CChunkParticle::@17 direction
virtual CParticle * clone()
Definition: smokeparticle.cpp:78
float y
Definition: particle.h:159
CPosition pos
Definition: particle.h:98
static void exit()
Definition: particlemanager.cpp:56
virtual void update(int ticks)
Definition: chunkparticle.cpp:108
GraphicAnimation(CGraphic *g, int ticksPerFrame)
Definition: graphicanimation.cpp:41
virtual void update(int)=0
void setLowDetail(bool detail)
Definition: particle.h:222
virtual ~CChunkParticle()
Definition: chunkparticle.cpp:72
virtual ~CRadialParticle()
Definition: radialparticle.cpp:50
virtual void update(int ticks)
Definition: radialparticle.cpp:66
virtual ~StaticParticle()
Definition: staticparticle.cpp:43
struct CSmokeParticle::@18 speedVector
int nextSmokeTicks
Definition: particle.h:144
int maxSpeed
Definition: particle.h:199
int minVelocity
Definition: particle.h:147
Definition: particle.h:46
bool isFinished()
Definition: graphicanimation.cpp:64
~CParticleManager()
Definition: particlemanager.cpp:48
CSmokeParticle(CPosition position, GraphicAnimation *animation, float speedx=0, float speedy=-22.0f, int drawlevel=0)
Definition: smokeparticle.cpp:38
virtual void draw()
Definition: chunkparticle.cpp:90
virtual bool isVisible(const CViewport &vp) const =0
Definition: particle.h:77
CPosition initialPos
Definition: particle.h:140
int lifetime
Definition: particle.h:145
void destroy()
Definition: particle.h:89
void setDrawLevel(int value)
Definition: particle.h:95
Definition: particle.h:104
virtual bool isVisible(const CViewport &vp) const
Definition: chunkparticle.cpp:85
GraphicAnimation * animation
Definition: particle.h:116
CParticleManager ParticleManager
Definition: particlemanager.cpp:40
CPosition(float x, float y)
Definition: particle.h:41
int getDestroyDrawLevel() const
Definition: particle.h:135
void setSmokeDrawLevel(int value)
Definition: particle.h:136
float x
Definition: particle.h:42
CPosition getScreenPos(const CPosition &pos) const
Definition: particlemanager.cpp:126