Updated code to support new stuff from 0.1.2.
[supertux.git] / src / gameobjs.h
index 6061cbd..04665be 100644 (file)
 #ifndef SUPERTUX_GAMEOBJS_H
 #define SUPERTUX_GAMEOBJS_H
 
-#include "type.h"
-#include "screen/surface.h"
-#include "timer.h"
+#include "special/base.h"
+#include "video/surface.h"
+#include "special/timer.h"
 #include "scene.h"
-#include "physic.h"
+#include "math/physic.h"
 #include "collision.h"
-#include "game_object.h"
-#include "moving_object.h"
+#include "special/game_object.h"
+#include "special/moving_object.h"
 #include "serializable.h"
-#include "lispwriter.h"
+#include "utils/lispwriter.h"
 
 /* Bounciness of distros: */
 #define NO_BOUNCE 0
 #define BOUNCE 1
 
+namespace SuperTux {
 class Sprite;
+}
 
 struct TileId;
 
@@ -103,8 +105,7 @@ private:
   Timer timer;  
 };
 
-#define TRAMPOLINE_FRAMES 4
-extern Sprite *img_trampoline[TRAMPOLINE_FRAMES];
+extern Sprite *img_trampoline;
 
 class Trampoline : public MovingObject, public Serializable
 {
@@ -160,6 +161,21 @@ public:
   unsigned int frame;
 };
 
+extern Sprite *img_smoke_cloud;
+
+class SmokeCloud : public GameObject
+{
+public:
+  SmokeCloud(const Vector& pos);
+  
+  virtual void action(float elapsed_time);
+  virtual void draw(DrawingContext& context);
+
+private:
+  Timer timer;
+  Vector position;
+};
+
 void load_object_gfx();
 
 #endif