diff options
author | Andrei Karas <akaras@inbox.ru> | 2016-04-26 20:11:07 +0300 |
---|---|---|
committer | Andrei Karas <akaras@inbox.ru> | 2016-04-26 20:11:07 +0300 |
commit | 07675230038a24dd251581591379c8fe5cc7bfd1 (patch) | |
tree | 1e4633730515af717ba93aef111f855de5cc9b38 /src/resources/map/maplayer.cpp | |
parent | 17f34f00d37432dae207be3d55ec531a738eb065 (diff) | |
download | manaplus-07675230038a24dd251581591379c8fe5cc7bfd1.tar.gz manaplus-07675230038a24dd251581591379c8fe5cc7bfd1.tar.bz2 manaplus-07675230038a24dd251581591379c8fe5cc7bfd1.tar.xz manaplus-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.cpp | 17 |
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; +} |