diff options
author | Andrei Karas <akaras@inbox.ru> | 2016-04-29 21:47:59 +0300 |
---|---|---|
committer | Andrei Karas <akaras@inbox.ru> | 2016-04-29 21:47:59 +0300 |
commit | 0c97cbd3ab4a6f425e42c2413d7dfe06c2da014e (patch) | |
tree | 17c2ff6abcf8af8ae7550963e256323d6cb0b61e | |
parent | 10b7c4a1313395291a77c50189b31e9daf38a2b0 (diff) | |
download | plus-0c97cbd3ab4a6f425e42c2413d7dfe06c2da014e.tar.gz plus-0c97cbd3ab4a6f425e42c2413d7dfe06c2da014e.tar.bz2 plus-0c97cbd3ab4a6f425e42c2413d7dfe06c2da014e.tar.xz plus-0c97cbd3ab4a6f425e42c2413d7dfe06c2da014e.zip |
Add memory counting into MapHeights.
-rw-r--r-- | src/resources/map/map.cpp | 3 | ||||
-rw-r--r-- | src/resources/map/mapheights.cpp | 6 | ||||
-rw-r--r-- | src/resources/map/mapheights.h | 9 |
3 files changed, 16 insertions, 2 deletions
diff --git a/src/resources/map/map.cpp b/src/resources/map/map.cpp index 7045706e1..51bd7952c 100644 --- a/src/resources/map/map.cpp +++ b/src/resources/map/map.cpp @@ -1745,6 +1745,7 @@ int Map::calcMemoryChilds(const int level) const mTempLayer->calcMemory(level + 1); if (mObjects) mObjects->calcMemory(level + 1); - // +++ need calc mHeights + if (mHeights) + mHeights->calcMemory(level + 1); return sz; } diff --git a/src/resources/map/mapheights.cpp b/src/resources/map/mapheights.cpp index b4347cd1f..5d5c30aa8 100644 --- a/src/resources/map/mapheights.cpp +++ b/src/resources/map/mapheights.cpp @@ -39,3 +39,9 @@ void MapHeights::setHeight(const int x, const int y, const uint8_t height) { mTiles[x + y * mWidth] = height; } + +int MapHeights::calcMemoryLocal() const +{ + return sizeof(MapHeights) + + mWidth * mHeight; +} diff --git a/src/resources/map/mapheights.h b/src/resources/map/mapheights.h index 333e7fac4..86962c0de 100644 --- a/src/resources/map/mapheights.h +++ b/src/resources/map/mapheights.h @@ -21,9 +21,11 @@ #ifndef RESOURCES_MAP_MAPHEIGHTS_H #define RESOURCES_MAP_MAPHEIGHTS_H +#include "resources/memorycounter.h" + #include "localconsts.h" -class MapHeights final +class MapHeights final : public MemoryCounter { public: friend class Map; @@ -40,6 +42,11 @@ class MapHeights final { return x < mWidth && y < mHeight ? mTiles[x + y * mWidth] : CAST_U8(0U); } + int calcMemoryLocal() const override final; + + std::string getCounterName() const override final + { return "heights leyer"; } + private: int mWidth; int mHeight; |