7 // Author: Tobias Glaesser <tobi.web@gmx.de>, (C) 2004
9 // Copyright: See COPYING file that comes with this distribution
19 #include "lispreader.h"
29 std::vector<Surface*> images;
30 std::vector<Surface*> editor_images;
32 std::vector<std::string> filenames;
34 /** solid tile that is indestructable by Tux */
37 /** a brick that can be destroyed by jumping under it */
46 /** Bonusbox, content is stored in \a data */
49 /** Tile is a distro/coin */
52 /** General purpose data attached to a tile (content of a box, type of coin) */
55 /** Id of the tile that is going to replace this tile once it has
56 been collected or jumped at */
61 /** Draw a tile on the screen: */
62 static void draw(float x, float y, unsigned int c, Uint8 alpha = 255);
68 std::vector<int> tiles;
75 std::vector<Tile*> tiles;
76 static TileManager* instance_ ;
77 static std::vector<TileGroup>* tilegroups_;
78 void load_tileset(std::string filename);
81 static TileManager* instance() { return instance_ ? instance_ : instance_ = new TileManager(); }
82 static std::vector<TileGroup>* tilegroups() { return tilegroups_ ? tilegroups_ : tilegroups_ = new std::vector<TileGroup>; }
83 Tile* get(unsigned int id) {
90 // Never return 0, but return the 0th tile instead so that
91 // user code doesn't have to check for NULL pointers all over