From 7f721d31c2dd21fe9b5740cf9cabff269134757e Mon Sep 17 00:00:00 2001 From: rubidium Date: Tue, 18 Sep 2007 18:55:25 +0000 Subject: [PATCH] (svn r11126) -Fix: the algorithm to determine the closest water/land was flawed. --- src/newgrf_industries.cpp | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/src/newgrf_industries.cpp b/src/newgrf_industries.cpp index ad0fdc2cb6..aaea06dc8d 100644 --- a/src/newgrf_industries.cpp +++ b/src/newgrf_industries.cpp @@ -48,6 +48,7 @@ static uint GetClosestWaterDistance(TileIndex tile, bool water) for (t = 0; t < MapSize(); t++) { if (IsTileType(t, MP_WATER) == water) break; } + if (t == MapSize() && !water) return 0x200; best_dist = DistanceManhattan(tile, t); for (; t < MapSize(); t++) { @@ -72,7 +73,7 @@ static uint GetClosestWaterDistance(TileIndex tile, bool water) } } - return best_dist; + return min(best_dist, water ? 0x7F : 0x1FF); } /** Make an analysis of a tile and check for its belonging to the same