| | 1 | Index: src/station_cmd.cpp
|
---|
| | 2 | ===================================================================
|
---|
| | 3 | --- src/station_cmd.cpp (revision 27632)
|
---|
| | 4 | +++ src/station_cmd.cpp (working copy)
|
---|
| | 5 | @@ -2504,6 +2504,14 @@
|
---|
| | 6 | return_cmd_error(STR_ERROR_SITE_UNSUITABLE);
|
---|
| | 7 | }
|
---|
| | 8 |
|
---|
| | 9 | + if (HasTileWaterClass(tile_cur)) {
|
---|
| | 10 | + TrackBits tb = TrackStatusToTrackBits(GetTileTrackStatus(tile_cur, TRANSPORT_WATER, 0));
|
---|
| | 11 | + if (((direction == DIAGDIR_SW && (tb & TRACK_BIT_3WAY_NE) != 0) || (direction == DIAGDIR_NW && (tb & TRACK_BIT_3WAY_SE) != 0) || (direction == DIAGDIR_SE && (tb & TRACK_BIT_3WAY_NW) != 0) || (direction == DIAGDIR_NE && (tb & TRACK_BIT_3WAY_SW) != 0) && !IsShipDepotTile(tile_cur) && IsTileType(tile_cur, MP_WATER) && !IsLock(tile_cur))) {
|
---|
| | 12 | + ret = EnsureNoVehicleOnGround(tile_cur);
|
---|
| | 13 | + if (ret.Failed()) return ret;
|
---|
| | 14 | + }
|
---|
| | 15 | + }
|
---|
| | 16 | +
|
---|
| | 17 | TileArea dock_area = TileArea(tile + ToTileIndexDiff(_dock_tileoffs_chkaround[direction]),
|
---|
| | 18 | _dock_w_chk[direction], _dock_h_chk[direction]);
|
---|
| | 19 |
|
---|