summaryrefslogtreecommitdiff
path: root/src/resources/map/maplayer.cpp
diff options
context:
space:
mode:
authorAndrei Karas <akaras@inbox.ru>2016-04-26 20:11:07 +0300
committerAndrei Karas <akaras@inbox.ru>2016-04-26 20:11:07 +0300
commit07675230038a24dd251581591379c8fe5cc7bfd1 (patch)
tree1e4633730515af717ba93aef111f855de5cc9b38 /src/resources/map/maplayer.cpp
parent17f34f00d37432dae207be3d55ec531a738eb065 (diff)
downloadplus-07675230038a24dd251581591379c8fe5cc7bfd1.tar.gz
plus-07675230038a24dd251581591379c8fe5cc7bfd1.tar.bz2
plus-07675230038a24dd251581591379c8fe5cc7bfd1.tar.xz
plus-07675230038a24dd251581591379c8fe5cc7bfd1.zip
Add memory count functions into MapLayer and SpecailLayer.
Also change all memory count functions into const methods.
Diffstat (limited to 'src/resources/map/maplayer.cpp')
-rw-r--r--src/resources/map/maplayer.cpp17
1 files changed, 17 insertions, 0 deletions
diff --git a/src/resources/map/maplayer.cpp b/src/resources/map/maplayer.cpp
index 0c18bf289..03901d00a 100644
--- a/src/resources/map/maplayer.cpp
+++ b/src/resources/map/maplayer.cpp
@@ -744,3 +744,20 @@ void MapLayer::updateConditionTiles(MetaTile *const metaTiles,
}
}
}
+
+int MapLayer::calcMemoryLocal() const
+{
+ return sizeof(MapLayer) +
+ sizeof(TileInfo) * mWidth * mHeight +
+ sizeof(MapRowVertexes) * mTempRows.capacity();
+}
+
+int MapLayer::calcMemoryChilds(const int level) const
+{
+ int sz = 0;
+ if (mSpecialLayer)
+ sz += mSpecialLayer->calcMemory(level + 1);
+ if (mTempLayer)
+ sz += mTempLayer->calcMemory(level + 1);
+ return sz;
+}