summaryrefslogtreecommitdiff
path: root/src/map.cpp
diff options
context:
space:
mode:
authorThorbjørn Lindeijer <thorbjorn@lindeijer.nl>2012-07-31 17:09:55 +0200
committerThorbjørn Lindeijer <thorbjorn@lindeijer.nl>2012-07-31 17:09:55 +0200
commit7a178f6d257a2241d3400271d20eb2b902fdab37 (patch)
tree651f0ec744039e82616b2739b83effadf79e1a24 /src/map.cpp
parent3b22c2cf170c877904dcef5a4af03ac360bd0581 (diff)
downloadmana-client-7a178f6d257a2241d3400271d20eb2b902fdab37.tar.gz
mana-client-7a178f6d257a2241d3400271d20eb2b902fdab37.tar.bz2
mana-client-7a178f6d257a2241d3400271d20eb2b902fdab37.tar.xz
mana-client-7a178f6d257a2241d3400271d20eb2b902fdab37.zip
Fixed drawing issues with tiles that don't match the grid
An optimization in the tile layer rendering code meant for drawing repeated tiles faster was not taking into account the case where the tile width does not match the width of the tile grid.
Diffstat (limited to 'src/map.cpp')
-rw-r--r--src/map.cpp7
1 files changed, 6 insertions, 1 deletions
diff --git a/src/map.cpp b/src/map.cpp
index fa3d9a4c..9736e527 100644
--- a/src/map.cpp
+++ b/src/map.cpp
@@ -206,12 +206,17 @@ int MapLayer::getTileDrawWidth(int x1, int y1, int endX, int &width) const
Image *img1 = getTile(x1, y1);
int c = 0;
width = img1->getWidth();
+
+ // Images that don't match the tile width can't be drawn as a pattern
+ if (width != mMap->getTileWidth())
+ return c;
+
for (int x = x1 + 1; x < endX; x++)
{
Image *img = getTile(x, y1);
if (img != img1)
break;
- c ++;
+ c++;
width += img->getWidth();
}
return c;