diff options
-rw-r--r-- | src/water_cmd.cpp | 4 |
1 files changed, 3 insertions, 1 deletions
diff --git a/src/water_cmd.cpp b/src/water_cmd.cpp index e78742de8..e41773e7e 100644 --- a/src/water_cmd.cpp +++ b/src/water_cmd.cpp @@ -912,7 +912,7 @@ static FloodingBehaviour GetFloodingBehaviour(TileIndex tile) */ static void DoFloodTile(TileIndex target) { - if (IsTileType(target, MP_WATER)) return; + assert(!IsTileType(target, MP_WATER)); bool flooded = false; // Will be set to true if something is changed. @@ -1033,6 +1033,8 @@ void TileLoop_Water(TileIndex tile) for (Direction dir = DIR_BEGIN; dir < DIR_END; dir++) { TileIndex dest = AddTileIndexDiffCWrap(tile, TileIndexDiffCByDir(dir)); if (dest == INVALID_TILE) continue; + /* do not try to flood water tiles - increases performance a lot */ + if (IsTileType(dest, MP_WATER)) continue; uint z_dest; Slope slope_dest = (Slope)(GetFoundationSlope(dest, &z_dest) & ~SLOPE_HALFTILE_MASK & ~SLOPE_STEEP); |