- data/levels/default/ moved to data/levels/worldmap/
[supertux.git] / src / particlesystem.h
index 11bff4a..e2a7f1a 100644 (file)
@@ -23,7 +23,9 @@
 #include <vector>
 #include "screen/texture.h"
 #include "game_object.h"
+#include "serializable.h"
 
+class LispReader;
 class DisplayManager;
 
 /**
@@ -50,6 +52,8 @@ public:
     virtual void draw(DrawingContext& context);
 
 protected:
+    int layer;
+
     class Particle
     {
     public:
@@ -64,12 +68,15 @@ protected:
     float virtual_width, virtual_height;
 };
 
-class SnowParticleSystem : public ParticleSystem
+class SnowParticleSystem : public ParticleSystem, public Serializable
 {
 public:
     SnowParticleSystem();
     virtual ~SnowParticleSystem();
 
+    void parse(LispReader& reader);
+    void write(LispWriter& writer);
+
     virtual void action(float elapsed_time);
 
     std::string type() const
@@ -85,12 +92,15 @@ private:
     Surface* snowimages[3];
 };
 
-class CloudParticleSystem : public ParticleSystem
+class CloudParticleSystem : public ParticleSystem, public Serializable
 {
 public:
     CloudParticleSystem();
     virtual ~CloudParticleSystem();
 
+    void parse(LispReader& reader);
+    void write(LispWriter& writer);
+
     virtual void action(float elapsed_time);
 
     std::string type() const