- some more savegame stuff
[supertux.git] / src / worldmap.h
index 0dfc037..a96c4ff 100644 (file)
@@ -97,12 +97,13 @@ private:
 public: 
   Tux(WorldMap* worldmap_);
   
-  void draw();
+  void draw(const Point& offset);
   void update(float delta);
 
   void set_direction(Direction d) { input_direction = d; }
 
   bool is_moving() const { return moving; }
+  Point get_pos();
   Point get_tile_pos() const { return tile_pos; } 
   void  set_tile_pos(Point p) { tile_pos = p; } 
 };
@@ -131,6 +132,7 @@ private:
     int x;
     int y;
     std::string name;
+    bool solved;
   };
 
   typedef std::vector<Level> Levels;
@@ -141,6 +143,9 @@ private:
   Direction input_direction;
   bool enter_level;
 
+  Point offset;
+
+  void draw_status();
 public:
   WorldMap();
   ~WorldMap();
@@ -156,7 +161,7 @@ public:
   void update();
 
   /** Draw one frame */
-  void draw();
+  void draw(const Point& offset);
 
   Point get_next_tile(Point pos, Direction direction);
   Tile* at(Point pos);
@@ -164,6 +169,8 @@ public:
   /** Check if it is possible to walk from \a pos into \a direction,
       if possible, write the new position to \a new_pos */
   bool path_ok(Direction direction, Point pos, Point* new_pos);
+
+  void savegame(const std::string& filename);
 };
 
 } // namespace WorldMapNS