X-Git-Url: https://git.verplant.org/?a=blobdiff_plain;f=src%2Flevel_subset.h;h=c6ed9a99594696609d184e38e3e89393a501fa83;hb=37e3ad0ee2ec05d6bfebf611d45046b49fa33387;hp=45be7aed8cc83f92bf3109d548382902edde2277;hpb=9a756d020e12c792adbd6bb3970ce5a6829e35de;p=supertux.git diff --git a/src/level_subset.h b/src/level_subset.h index 45be7aed8..c6ed9a995 100644 --- a/src/level_subset.h +++ b/src/level_subset.h @@ -21,33 +21,42 @@ #ifndef SUPERTUX_LEVEL_SUBSET_H #define SUPERTUX_LEVEL_SUBSET_H +#include #include -#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 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