make sure all tiles are loaded
[supertux.git] / src / level_subset.h
index 45be7ae..c6ed9a9 100644 (file)
 #ifndef SUPERTUX_LEVEL_SUBSET_H
 #define SUPERTUX_LEVEL_SUBSET_H
 
+#include <vector>
 #include <string>
-#include "lispreader.h"
 
-class Surface;
+using namespace SuperTux;
 
 /** This type holds meta-information about a level-subset. 
     It could be extended to handle manipulation of subsets. */
 class LevelSubset
 {
+private:
+  /** Level filenames without the leading path ("level1.stl",
+      "level3.stl", ...) */
+  std::vector<std::string> levels;
+
 public:
   LevelSubset();
   ~LevelSubset();
 
   static void create(const std::string& subset_name);
-  void load(const char* subset);
+  void load(const std::string& filename);
   void save();
 
+  void add_level(const std::string& name);
+
   std::string get_level_filename(unsigned int i);
+  std::string get_worldmap_filename();
+  int get_num_levels() const;
 
   std::string name;
   std::string title;
   std::string description;
-  Surface* image;
-  int levels;
+  bool hide_from_contribs;
+  bool has_worldmap;
+
 private:
-  void parse(lisp_object_t* cursor);
+  void read_info_file(const std::string& info_file);
 };
 
 #endif