fix: tile fade time

- did not check grandparent
This commit is contained in:
Hannes Janetzek 2014-06-11 03:45:10 +02:00
parent a2abbe5197
commit 27b9294a36

View File

@ -122,8 +122,6 @@ public abstract class TileRenderer extends LayerRenderer {
mDrawSerial++; mDrawSerial++;
} }
//abstract protected void drawTiles(GLViewport v, MapTile[] tiles, int tileCnt);
@Override @Override
protected void render(GLViewport v) { protected void render(GLViewport v) {
/* render in update() so that tiles cannot vanish in between. */ /* render in update() so that tiles cannot vanish in between. */
@ -352,7 +350,7 @@ public abstract class TileRenderer extends LayerRenderer {
}; };
protected long getMinFade(MapTile t) { protected long getMinFade(MapTile t) {
long maxFade = MapRenderer.frametime - 50; long minFade = MapRenderer.frametime - 50;
for (int c = 0; c < 4; c++) { for (int c = 0; c < 4; c++) {
MapTile ci = t.node.child(c); MapTile ci = t.node.child(c);
@ -360,17 +358,22 @@ public abstract class TileRenderer extends LayerRenderer {
continue; continue;
if (ci.state == READY || ci.fadeTime > 0) if (ci.state == READY || ci.fadeTime > 0)
maxFade = Math.min(maxFade, ci.fadeTime); minFade = Math.min(minFade, ci.fadeTime);
} }
MapTile p = t.node.parent(); MapTile p = t.node.parent();
if (p != null && (p.state == READY || p.fadeTime > 0)) {
maxFade = Math.min(maxFade, p.fadeTime);
p = p.node.parent(); if (p == null)
if (p != null && (p.state == READY || p.fadeTime > 0)) return minFade;
maxFade = Math.min(maxFade, p.fadeTime); if (p.state == READY || p.fadeTime > 0)
} minFade = Math.min(minFade, p.fadeTime);
return maxFade; p = p.node.parent();
if (p == null)
return minFade;
if (p.state == READY || p.fadeTime > 0)
minFade = Math.min(minFade, p.fadeTime);
return minFade;
} }
} }