(svn r11504) -Fix [FS#1467]: removing docks/ship depots could result in non-canal water where canals should have been build.
This commit is contained in:
@@ -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 @@ static CommandCost RemoveBuoy(Station *st, uint32 flags)
|
||||
/* 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 @@ static CommandCost RemoveDock(Station *st, uint32 flags)
|
||||
|
||||
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 @@ const DrawTileSprites *GetStationTileLayout(StationType st, byte gfx)
|
||||
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;
|
||||
|
Reference in New Issue
Block a user