From 2a9f9b092b01f72348d24531449eab06e87bc6d3 Mon Sep 17 00:00:00 2001 From: rubidium Date: Tue, 10 Aug 2010 16:13:51 +0000 Subject: (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 --- src/dock_gui.cpp | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) (limited to 'src/dock_gui.cpp') diff --git a/src/dock_gui.cpp b/src/dock_gui.cpp index d50d14fab..88d3ebcb8 100644 --- a/src/dock_gui.cpp +++ b/src/dock_gui.cpp @@ -58,7 +58,12 @@ static void PlaceDocks_Dock(TileIndex tile) /* 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) -- cgit v1.2.3-54-g00ecf