X-Git-Url: https://git.verplant.org/?a=blobdiff_plain;f=src%2Fobject%2Fparticlesystem.hpp;h=b3f49a5adb173e99a298a752c55e3e0b58e7f639;hb=a98f7cee9f6a2593c0e1f3442800f159bad410df;hp=0e550fa480f979c6818b831785161f122bf2fa67;hpb=b6e97c18e6753abbc1a052fe7e7c45865893cd44;p=supertux.git diff --git a/src/object/particlesystem.hpp b/src/object/particlesystem.hpp index 0e550fa48..b3f49a5ad 100644 --- a/src/object/particlesystem.hpp +++ b/src/object/particlesystem.hpp @@ -1,7 +1,7 @@ // $Id$ -// +// // SuperTux -// Copyright (C) 2004 Matthias Braun +// Copyright (C) 2006 Matthias Braun // // This program is free software; you can redistribute it and/or // modify it under the terms of the GNU General Public License @@ -12,10 +12,11 @@ // but WITHOUT ANY WARRANTY; without even the implied warranty of // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the // GNU General Public License for more details. -// +// // You should have received a copy of the GNU General Public License // along with this program; if not, write to the Free Software // Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. + #ifndef SUPERTUX_PARTICLESYSTEM_H #define SUPERTUX_PARTICLESYSTEM_H @@ -51,13 +52,14 @@ class DisplayManager; class ParticleSystem : public GameObject { public: - ParticleSystem(); + ParticleSystem(float max_particle_size = 60); virtual ~ParticleSystem(); - + virtual void draw(DrawingContext& context); protected: - int layer; + float max_particle_size; + int z_pos; class Particle { @@ -68,7 +70,7 @@ protected: Vector pos; Surface* texture; }; - + std::vector particles; float virtual_width, virtual_height; }; @@ -86,14 +88,17 @@ public: std::string type() const { return "SnowParticleSystem"; } - + private: class SnowParticle : public Particle { public: float speed; + float wobble; + float anchorx; + float drift_speed; }; - + Surface* snowimages[3]; }; @@ -110,14 +115,14 @@ public: std::string type() const { return "GhostParticleSystem"; } - + private: class GhostParticle : public Particle { public: float speed; }; - + Surface* ghosts[2]; }; @@ -133,17 +138,16 @@ public: virtual void update(float elapsed_time); std::string type() const - { return "CloudParticleSystem"; } - + { return "CloudParticleSystem"; } + private: class CloudParticle : public Particle { public: float speed; }; - + Surface* cloudimage; }; #endif -