Mercurial > hg > openttd
diff src/station_cmd.cpp @ 7948:4044e2de8086 draft
(svn r11504) -Fix [FS#1467]: removing docks/ship depots could result in non-canal water where canals should have been build.
author | rubidium <rubidium@openttd.org> |
---|---|
date | Sat, 24 Nov 2007 08:45:04 +0000 |
parents | 44ff7a6d801f |
children | 38bb7c45688f |
line wrap: on
line diff
--- a/src/station_cmd.cpp +++ b/src/station_cmd.cpp @@ -44,6 +44,7 @@ #include "strings.h" #include "autoslope.h" #include "transparency.h" +#include "water.h" DEFINE_OLD_POOL_GENERIC(Station, Station) DEFINE_OLD_POOL_GENERIC(RoadStop, RoadStop) @@ -1899,12 +1900,7 @@ /* We have to set the water tile's state to the same state as before the * buoy was placed. Otherwise one could plant a buoy on a canal edge, * remove it and flood the land (if the canal edge is at level 0) */ - Owner o = GetTileOwner(tile); - if (o == OWNER_WATER) { - MakeWater(tile); - } else { - MakeCanal(tile, o); - } + MakeWaterOrCanalDependingOnSurroundings(tile, GetTileOwner(tile)); MarkTileDirtyByTile(tile); UpdateStationVirtCoordDirty(st); @@ -2040,7 +2036,7 @@ if (flags & DC_EXEC) { DoClearSquare(tile1); - MakeWater(tile2); + MakeWaterOrCanalDependingOnSurroundings(tile2, st->owner); st->rect.AfterRemoveTile(st, tile1); st->rect.AfterRemoveTile(st, tile2); @@ -2064,9 +2060,6 @@ return &_station_display_datas[st][gfx]; } -/* For drawing canal edges on buoys */ -extern void DrawCanalWater(TileIndex tile); - static void DrawTile_Station(TileInfo *ti) { const DrawTileSprites *t = NULL;