diff --git a/src/clear_cmd.cpp b/src/clear_cmd.cpp index e274a97005..77fcfecf1f 100644 --- a/src/clear_cmd.cpp +++ b/src/clear_cmd.cpp @@ -204,9 +204,13 @@ static void UpdateFences(TileIndex tile) static void TileLoopClearAlps(TileIndex tile) { int k; - if ((int)TileHeight(tile) < GetSnowLine() - 1) { + int h = (int)TileHeight(tile); + if (h < GetSnowLine() - 1) { /* Fast path to avoid needing to check all 4 corners */ k = -1; + } else if (h >= GetSnowLine() + 4) { + /* Fast path to avoid needing to check all 4 corners */ + k = 3; } else { k = GetTileZ(tile) - GetSnowLine() + 1; }