X-Git-Url: https://git.verplant.org/?a=blobdiff_plain;f=src%2Ftile_manager.h;h=6eb05069f799c3b9e6bf823f41d133faf047db15;hb=dd55cca1a8ee48e2c74ae9e62893bc2c124244b4;hp=0e5861314bae6fd51c69310eb4d309f5084232ce;hpb=2d97548e5cded4b201bbc10d6cec6232df03e9a4;p=supertux.git diff --git a/src/tile_manager.h b/src/tile_manager.h index 0e5861314..6eb05069f 100644 --- a/src/tile_manager.h +++ b/src/tile_manager.h @@ -43,21 +43,19 @@ struct TileGroup class TileManager { private: - TileManager(); - ~TileManager(); - typedef std::vector Tiles; Tiles tiles; static TileManager* instance_ ; std::set tilegroups; + + std::string tiles_path; + void load_tileset(std::string filename); public: - static TileManager* instance() - { return instance_ ? instance_ : instance_ = new TileManager(); } - static void destroy_instance() - { delete instance_; instance_ = 0; } + TileManager(const std::string& filename); + ~TileManager(); const std::set& get_tilegroups() const { @@ -66,6 +64,7 @@ public: const Tile* get(uint32_t id) const { + //FIXME: Commenting out tiles in sprites.strf makes tiles.size() fail - it's being set to the first tile commented out. assert(id < tiles.size()); Tile* tile = tiles[id]; if(!tile) { @@ -74,7 +73,7 @@ public: } if(tile->images.size() == 0 && tile->imagespecs.size() != 0) - tile->load_images(); + tile->load_images(tiles_path); return tile; } @@ -83,6 +82,16 @@ public: { return tiles.size(); } + + int get_default_width() const + { + return 32; + } + + int get_default_height() const + { + return 32; + } }; #endif