changeset 15764:c4c6c235d9e6 draft

(svn r20438) -Fix [FS#4022]: for docks "facing" north, i.e. having the watery part a the northern side, the joiner had an off-by-one to the north w.r.t. the station spread against the actual other (correct) building tools
author rubidium <rubidium@openttd.org>
date Tue, 10 Aug 2010 16:13:51 +0000
parents a60a50f29f64
children 02f88e78d6a1
files src/dock_gui.cpp
diffstat 1 files changed, 6 insertions(+), 1 deletions(-) [+]
line wrap: on
line diff
--- a/src/dock_gui.cpp
+++ b/src/dock_gui.cpp
@@ -58,7 +58,12 @@
 
 	/* tile is always the land tile, so need to evaluate _thd.pos */
 	CommandContainer cmdcont = { tile, _ctrl_pressed, p2, CMD_BUILD_DOCK | CMD_MSG(STR_ERROR_CAN_T_BUILD_DOCK_HERE), CcBuildDocks, "" };
-	ShowSelectStationIfNeeded(cmdcont, TileArea(tile, _thd.size.x / TILE_SIZE, _thd.size.y / TILE_SIZE));
+
+	/* Determine the watery part of the dock. */
+	DiagDirection dir = GetInclinedSlopeDirection(GetTileSlope(tile, NULL));
+	TileIndex tile_to = (dir != INVALID_DIAGDIR ? TileAddByDiagDir(tile, ReverseDiagDir(dir)) : tile);
+
+	ShowSelectStationIfNeeded(cmdcont, TileArea(tile, tile_to));
 }
 
 static void PlaceDocks_Depot(TileIndex tile)