1
0
Fork 0

(svn r19449) -Codechange: pay for every airport tile build, not for every tile in the rectangle where the airport is build

release/1.1
yexo 2010-03-18 00:41:16 +00:00
parent 0f9be95e03
commit 07cc875c5a
1 changed files with 5 additions and 2 deletions

View File

@ -2195,7 +2195,10 @@ CommandCost CmdBuildAirport(TileIndex tile, DoCommandFlag flags, uint32 p1, uint
} }
} }
cost.AddCost(_price[PR_BUILD_STATION_AIRPORT] * w * h); const AirportTileTable *it = as->table[layout];
do {
cost.AddCost(_price[PR_BUILD_STATION_AIRPORT]);
} while ((++it)->ti.x != -0x80);
if (flags & DC_EXEC) { if (flags & DC_EXEC) {
/* Always add the noise, so there will be no need to recalculate when option toggles */ /* Always add the noise, so there will be no need to recalculate when option toggles */
@ -2207,7 +2210,7 @@ CommandCost CmdBuildAirport(TileIndex tile, DoCommandFlag flags, uint32 p1, uint
st->rect.BeforeAddRect(tile, w, h, StationRect::ADD_TRY); st->rect.BeforeAddRect(tile, w, h, StationRect::ADD_TRY);
const AirportTileTable *it = as->table[layout]; it = as->table[layout];
do { do {
TileIndex cur_tile = tile + ToTileIndexDiff(it->ti); TileIndex cur_tile = tile + ToTileIndexDiff(it->ti);
MakeAirport(cur_tile, st->owner, st->index, it->gfx); MakeAirport(cur_tile, st->owner, st->index, it->gfx);