summaryrefslogtreecommitdiff
path: root/src/resources/map/map.cpp
diff options
context:
space:
mode:
authorAndrei Karas <akaras@inbox.ru>2015-10-21 22:53:37 +0300
committerAndrei Karas <akaras@inbox.ru>2015-10-21 22:54:27 +0300
commit9e7d90f2c93e0158e4c6312f8cf77fe9dd1583fd (patch)
tree89caf6194c2cd01d845147db367c4ce888883995 /src/resources/map/map.cpp
parent27a943e95196a58103814edf3e4e3cd3a60ed8cd (diff)
downloadmanaplus-9e7d90f2c93e0158e4c6312f8cf77fe9dd1583fd.tar.gz
manaplus-9e7d90f2c93e0158e4c6312f8cf77fe9dd1583fd.tar.bz2
manaplus-9e7d90f2c93e0158e4c6312f8cf77fe9dd1583fd.tar.xz
manaplus-9e7d90f2c93e0158e4c6312f8cf77fe9dd1583fd.zip
Add support for layers with conditional tiles.
For enable this mode for layer need add property: TileCondition and set value to one of BlockMask bits.
Diffstat (limited to 'src/resources/map/map.cpp')
-rw-r--r--src/resources/map/map.cpp14
1 files changed, 14 insertions, 0 deletions
diff --git a/src/resources/map/map.cpp b/src/resources/map/map.cpp
index de6090dc2..d05bb2c23 100644
--- a/src/resources/map/map.cpp
+++ b/src/resources/map/map.cpp
@@ -1645,3 +1645,17 @@ void Map::setActorsFix(const int x, const int y)
if (mFringeLayer)
mFringeLayer->setActorsFix(y);
}
+
+void Map::updateConditionLayers()
+{
+ mRedrawMap = true;
+
+ FOR_EACH (LayersCIter, it, mLayers)
+ {
+ MapLayer *const layer = *it;
+ if (!layer || layer->mTileCondition == -1)
+ continue;
+ layer->updateConditionTiles(mMetaTiles,
+ mWidth, mHeight);
+ }
+}