(svn r23701) -Codechange: give TileAddWrap() a 27% speed-up, by swapping entries in an if() statement, and reusing already calculated values (tnx to SmatZ for the ideas)

This commit is contained in:
truebrain 2012-01-01 16:01:51 +00:00
parent 39f2d75e03
commit 6f6035ce0b
1 changed files with 3 additions and 3 deletions

View File

@ -117,12 +117,12 @@ TileIndex TileAddWrap(TileIndex tile, int addx, int addy)
uint y = TileY(tile) + addy;
/* Disallow void tiles at the north border. */
if (_settings_game.construction.freeform_edges && (x == 0 || y == 0)) return INVALID_TILE;
if ((x == 0 || y == 0) && _settings_game.construction.freeform_edges) return INVALID_TILE;
/* Are we about to wrap? */
if (x < MapMaxX() && y < MapMaxY()) return tile + TileDiffXY(addx, addy);
if (x >= MapMaxX() || y >= MapMaxY()) return INVALID_TILE;
return INVALID_TILE;
return TileXY(x, y);
}
/** 'Lookup table' for tile offsets given a DiagDirection */