X-Git-Url: https://git.verplant.org/?a=blobdiff_plain;f=src%2Fobject%2Fparticlesystem.hpp;h=b3f49a5adb173e99a298a752c55e3e0b58e7f639;hb=08ccb17345a52f5ffd8a5dd6ecf675cad55f16a7;hp=4a14a666611ce51f3719e37be5c7e5bede213584;hpb=5b7f9214cb929399f1a855ef5807018a9447d510;p=supertux.git diff --git a/src/object/particlesystem.hpp b/src/object/particlesystem.hpp index 4a14a6666..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 "SnowParticleSystem"; } - + { return "CloudParticleSystem"; } + private: class CloudParticle : public Particle { public: float speed; }; - + Surface* cloudimage; }; #endif -