small fix to MrRocket
[supertux.git] / src / object / tilemap.h
index 8aa2b48..2ffa804 100644 (file)
 #include "serializable.h"
 #include "math/vector.h"
 
-using namespace SuperTux;
-
-namespace SuperTux {
-class LispReader;
+namespace lisp {
+class Lisp;
 }
 
+using namespace SuperTux;
+
 class Level;
 class TileManager;
 class Tile;
@@ -44,11 +44,11 @@ class TileMap : public GameObject, public Serializable
 {
 public:
   TileMap();
-  TileMap(LispReader& reader);
+  TileMap(const lisp::Lisp& reader);
   TileMap(int layer_, bool solid_, size_t width_, size_t height_);
   virtual ~TileMap();
 
-  virtual void write(LispWriter& writer);
+  virtual void write(lisp::Writer& writer);
 
   virtual void action(float elapsed_time);
   virtual void draw(DrawingContext& context);
@@ -61,10 +61,6 @@ public:
    */
   void resize(int newwidth, int newheight);
 
-  /** Flip the all tile map vertically. The purpose of this is to let
-      player to play the same level in a different way :) */
-  void do_vertical_flip();
-
   size_t get_width() const
   { return width; }
 
@@ -86,8 +82,19 @@ public:
 
   void change_at(const Vector& pos, uint32_t newtile);
 
+  TileManager* get_tilemanager() const
+  {
+    return tilemanager;
+  }
+
+  void set_drawing_effect(int effect)
+  {
+    drawing_effect = effect;
+  }
+
 private:
-  std::vector<uint32_t> tiles;
+  typedef std::vector<uint32_t> Tiles;
+  Tiles tiles;
   
 private:
   TileManager* tilemanager;
@@ -96,7 +103,7 @@ private:
   int width, height;
   int layer;
 
-  bool vertical_flip;
+  int drawing_effect;
 };
 
 #endif /*SUPERTUX_TILEMAP_H*/