diff options
Diffstat (limited to 'src/resources/map/map.cpp')
-rw-r--r-- | src/resources/map/map.cpp | 19 |
1 files changed, 18 insertions, 1 deletions
diff --git a/src/resources/map/map.cpp b/src/resources/map/map.cpp index ae7570cda..2128cdcd3 100644 --- a/src/resources/map/map.cpp +++ b/src/resources/map/map.cpp @@ -163,7 +163,8 @@ Map::Map(const std::string &name, mCachedDraw(false), #endif // USE_OPENGL mCustom(false), - mDrawOnlyFringe(false) + mDrawOnlyFringe(false), + mClear(false) { config.addListener("OverlayDetail", this); config.addListener("guialpha", this); @@ -340,6 +341,9 @@ void Map::draw(Graphics *restrict const graphics, if (localPlayer == nullptr) return; + if (mClear) + mainGraphics->clearScreen(); + BLOCK_START("Map::draw") // Calculate range of tiles which are on-screen const int endPixelY = graphics->mHeight + scrollY + mTileHeight - 1 @@ -1799,6 +1803,19 @@ int Map::calcMemoryChilds(const int level) const return sz; } +void Map::screenResized() +{ + if (mWidth * mapTileSize < mainGraphics->mWidth || + mHeight * mapTileSize < mainGraphics->mHeight) + { + mClear = true; + } + else + { + mClear = false; + } +} + #ifdef USE_OPENGL int Map::getAtlasCount() const restrict2 { |