summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authoryexo <yexo@openttd.org>2012-01-03 00:44:23 +0000
committeryexo <yexo@openttd.org>2012-01-03 00:44:23 +0000
commitb9e19cc6c15df0e66152d46df767b6370b89a9db (patch)
treedf8194ac0b80a1a964810de20b7bbf2bc10c584b
parent4027e58ba315c17a213c218e4d26e5c066372129 (diff)
downloadopenttd-b9e19cc6c15df0e66152d46df767b6370b89a9db.tar.xz
(svn r23723) -Codechange: speedup flood checks a bit
-rw-r--r--src/object_cmd.cpp4
-rw-r--r--src/water_cmd.cpp8
2 files changed, 6 insertions, 6 deletions
diff --git a/src/object_cmd.cpp b/src/object_cmd.cpp
index fa7ea68dc..117212e1f 100644
--- a/src/object_cmd.cpp
+++ b/src/object_cmd.cpp
@@ -697,8 +697,8 @@ void GenerateObjects()
assert(tile < MapSize());
break;
}
- tile = AddTileIndexDiffCWrap(tile, TileIndexDiffCByDiagDir(dir));
- if (tile == INVALID_TILE) break;
+ tile += TileOffsByDiagDir(dir);
+ if (!IsValidTile(tile)) break;
}
}
}
diff --git a/src/water_cmd.cpp b/src/water_cmd.cpp
index cab880926..bf1ec56c3 100644
--- a/src/water_cmd.cpp
+++ b/src/water_cmd.cpp
@@ -1148,8 +1148,8 @@ void TileLoop_Water(TileIndex tile)
switch (GetFloodingBehaviour(tile)) {
case FLOOD_ACTIVE:
for (Direction dir = DIR_BEGIN; dir < DIR_END; dir++) {
- TileIndex dest = AddTileIndexDiffCWrap(tile, TileIndexDiffCByDir(dir));
- if (dest == INVALID_TILE) continue;
+ TileIndex dest = tile + TileOffsByDir(dir);
+ if (!IsValidTile(dest)) continue;
/* do not try to flood water tiles - increases performance a lot */
if (IsTileType(dest, MP_WATER)) continue;
@@ -1167,8 +1167,8 @@ void TileLoop_Water(TileIndex tile)
Slope slope_here = GetFoundationSlope(tile) & ~SLOPE_HALFTILE_MASK & ~SLOPE_STEEP;
uint dir;
FOR_EACH_SET_BIT(dir, _flood_from_dirs[slope_here]) {
- TileIndex dest = AddTileIndexDiffCWrap(tile, TileIndexDiffCByDir((Direction)dir));
- if (dest == INVALID_TILE) continue;
+ TileIndex dest = tile + TileOffsByDir(dir);
+ if (!IsValidTile(dest)) continue;
FloodingBehaviour dest_behaviour = GetFloodingBehaviour(dest);
if ((dest_behaviour == FLOOD_ACTIVE) || (dest_behaviour == FLOOD_PASSIVE)) return;