diff options
Diffstat (limited to 'src/resources/map')
-rw-r--r-- | src/resources/map/map.cpp | 11 | ||||
-rw-r--r-- | src/resources/map/map.h | 3 |
2 files changed, 12 insertions, 2 deletions
diff --git a/src/resources/map/map.cpp b/src/resources/map/map.cpp index 84f1d1049..18e3dc7f5 100644 --- a/src/resources/map/map.cpp +++ b/src/resources/map/map.cpp @@ -1487,3 +1487,14 @@ void Map::setMusicFile(const std::string &file) { setProperty("music", file); } + +void Map::addAnimation(const int gid, TileAnimation *const animation) +{ + std::map<int, TileAnimation*>::iterator it = mTileAnimations.find(gid); + if (it != mTileAnimations.end()) + { + logger->log("duplicate map animation with gid = %d", gid); + delete (*it).second; + } + mTileAnimations[gid] = animation; +} diff --git a/src/resources/map/map.h b/src/resources/map/map.h index ade7de0be..e33a83d6a 100644 --- a/src/resources/map/map.h +++ b/src/resources/map/map.h @@ -214,8 +214,7 @@ class Map final : public Properties, public ConfigListener /** * Adds a tile animation to the map */ - void addAnimation(const int gid, TileAnimation *const animation) - { mTileAnimations[gid] = animation; } + void addAnimation(const int gid, TileAnimation *const animation); void setDrawLayersFlags(const MapType::MapType &n) { mDrawLayersFlags = n; } |