X-Git-Url: https://git.verplant.org/?a=blobdiff_plain;f=src%2Fobject%2Ftilemap.cpp;h=578bb51c9d9f652b849786e0bde11f332048c9d2;hb=37e3ad0ee2ec05d6bfebf611d45046b49fa33387;hp=59557d162c4a7e3c3d76a2137f018ae0186a9ae2;hpb=9599042661b468aae7bd34dca05441c0ebc93ad7;p=supertux.git diff --git a/src/object/tilemap.cpp b/src/object/tilemap.cpp index 59557d162..578bb51c9 100644 --- a/src/object/tilemap.cpp +++ b/src/object/tilemap.cpp @@ -83,6 +83,10 @@ TileMap::TileMap(const lisp::Lisp& reader) if(int(tiles.size()) != width*height) { throw std::runtime_error("wrong number of tiles in tilemap."); } + + // make sure all tiles are loaded + for(Tiles::iterator i = tiles.begin(); i != tiles.end(); ++i) + tilemanager->get(*i); } TileMap::TileMap(int layer_, bool solid_, size_t width_, size_t height_) @@ -200,6 +204,10 @@ TileMap::set(int newwidth, int newheight, const std::vector&newt, solid = newsolid; if(solid) flags |= FLAG_SOLID; + + // make sure all tiles are loaded + for(Tiles::iterator i = tiles.begin(); i != tiles.end(); ++i) + tilemanager->get(*i); } void