Mercurial > hg > openttd
changeset 5362:832f25f2154e draft
(svn r7547) -Fix: The cost of rail station removal was calculated based on the area occupied by the station. This produced unreasonably large removal costs for non-uniform stations. Now it is based on number of station tiles actually removed.
author | KUDr <KUDr@openttd.org> |
---|---|
date | Fri, 22 Dec 2006 13:16:40 +0000 |
parents | 838dbe81bc18 |
children | ff514f632c03 |
files | station_cmd.c |
diffstat | 1 files changed, 2 insertions(+), 4 deletions(-) [+] |
line wrap: on
line diff
--- a/station_cmd.c +++ b/station_cmd.c @@ -1291,7 +1291,7 @@ static int32 RemoveRailroadStation(Station *st, TileIndex tile, uint32 flags) { int w,h; - int32 cost; + int32 cost = 0; /* if there is flooding and non-uniform stations are enabled, remove platforms tile by tile */ if (_current_player == OWNER_WATER && _patches.nonuniform_stations) @@ -1308,9 +1308,6 @@ assert(w != 0 && h != 0); - /* cost is area * constant */ - cost = w*h*_price.remove_rail_station; - /* clear all areas of the station */ do { int w_bak = w; @@ -1319,6 +1316,7 @@ if (TileBelongsToRailStation(st, tile)) { if (!EnsureNoVehicle(tile)) return CMD_ERROR; + cost += _price.remove_rail_station; if (flags & DC_EXEC) { Track track = GetRailStationTrack(tile); DoClearSquare(tile);