From 6f6035ce0ba88efe5a67da14f71cba54978ab471 Mon Sep 17 00:00:00 2001 From: truebrain Date: Sun, 1 Jan 2012 16:01:51 +0000 Subject: [PATCH] (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) --- src/map.cpp | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/src/map.cpp b/src/map.cpp index 2de65ed841..823ff6d2d5 100644 --- a/src/map.cpp +++ b/src/map.cpp @@ -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 */