src/water_cmd.cpp
changeset 7507 36bb5300a128
parent 7497 40e457c0a8ac
child 7509 23372ed624e8
--- a/src/water_cmd.cpp	Fri Aug 31 17:43:29 2007 +0000
+++ b/src/water_cmd.cpp	Fri Aug 31 19:46:45 2007 +0000
@@ -26,6 +26,7 @@
 #include "train.h"
 #include "roadveh.h"
 #include "water_map.h"
+#include "industry_map.h"
 #include "newgrf.h"
 #include "newgrf_canal.h"
 #include "misc/autoptr.hpp"
@@ -362,8 +363,9 @@
 					return false;
 			}
 
-		case MP_STATION: return IsOilRig(tile) || IsDock(tile) || IsBuoy(tile);
-		default:         return false;
+		case MP_STATION:  return IsOilRig(tile) || IsDock(tile) || IsBuoy(tile);
+		case MP_INDUSTRY: return (GetIndustrySpec(GetIndustryType(tile))->behaviour & INDUSTRYBEH_BUILT_ONWATER) != 0;
+		default:          return false;
 	}
 }
 
@@ -377,10 +379,10 @@
 	if (dikes_base == 0) dikes_base = SPR_CANALS_BASE + 57;
 
 	/* determine the edges around with water. */
-	wa = IsWateredTile(TILE_ADDXY(tile, -1, 0)) << 0;
-	wa += IsWateredTile(TILE_ADDXY(tile, 0, 1)) << 1;
-	wa += IsWateredTile(TILE_ADDXY(tile, 1, 0)) << 2;
-	wa += IsWateredTile(TILE_ADDXY(tile, 0, -1)) << 3;
+	wa  = IsWateredTile(TILE_ADDXY(tile, -1,  0)) << 0;
+	wa += IsWateredTile(TILE_ADDXY(tile,  0,  1)) << 1;
+	wa += IsWateredTile(TILE_ADDXY(tile,  1,  0)) << 2;
+	wa += IsWateredTile(TILE_ADDXY(tile,  0, -1)) << 3;
 
 	if (!(wa & 1)) DrawGroundSprite(dikes_base,     PAL_NONE);
 	if (!(wa & 2)) DrawGroundSprite(dikes_base + 1, PAL_NONE);