diff options
author | yexo <yexo@openttd.org> | 2010-03-06 13:38:46 +0000 |
---|---|---|
committer | yexo <yexo@openttd.org> | 2010-03-06 13:38:46 +0000 |
commit | bf6167710f94f1ef7e704915253c4366ab2ecf14 (patch) | |
tree | a9d81d4274f80053801fef7cd72ca947b00b444e | |
parent | 6a3dbaf99a91aa223b2541c172f0ded06c55baf2 (diff) | |
download | openttd-bf6167710f94f1ef7e704915253c4366ab2ecf14.tar.xz |
(svn r19351) -Codechange: use TileArea for AfterRemoveRect
-rw-r--r-- | src/base_station_base.h | 2 | ||||
-rw-r--r-- | src/station.cpp | 10 | ||||
-rw-r--r-- | src/station_cmd.cpp | 6 |
3 files changed, 9 insertions, 9 deletions
diff --git a/src/base_station_base.h b/src/base_station_base.h index e652c3264..dd0d55271 100644 --- a/src/base_station_base.h +++ b/src/base_station_base.h @@ -43,7 +43,7 @@ struct StationRect : public Rect { CommandCost BeforeAddTile(TileIndex tile, StationRectMode mode); CommandCost BeforeAddRect(TileIndex tile, int w, int h, StationRectMode mode); bool AfterRemoveTile(BaseStation *st, TileIndex tile); - bool AfterRemoveRect(BaseStation *st, TileIndex tile, int w, int h); + bool AfterRemoveRect(BaseStation *st, TileArea ta); static bool ScanForStationTiles(StationID st_id, int left_a, int top_a, int right_a, int bottom_a); diff --git a/src/station.cpp b/src/station.cpp index 416403048..320d6412a 100644 --- a/src/station.cpp +++ b/src/station.cpp @@ -483,13 +483,13 @@ bool StationRect::AfterRemoveTile(BaseStation *st, TileIndex tile) return false; // non-empty remaining rect } -bool StationRect::AfterRemoveRect(BaseStation *st, TileIndex tile, int w, int h) +bool StationRect::AfterRemoveRect(BaseStation *st, TileArea ta) { - assert(this->PtInExtendedRect(TileX(tile), TileY(tile))); - assert(this->PtInExtendedRect(TileX(tile) + w - 1, TileY(tile) + h - 1)); + assert(this->PtInExtendedRect(TileX(ta.tile), TileY(ta.tile))); + assert(this->PtInExtendedRect(TileX(ta.tile) + ta.w - 1, TileY(ta.tile) + ta.h - 1)); - bool empty = this->AfterRemoveTile(st, tile); - if (w != 1 || h != 1) empty = empty || this->AfterRemoveTile(st, TILE_ADDXY(tile, w - 1, h - 1)); + bool empty = this->AfterRemoveTile(st, ta.tile); + if (ta.w != 1 || ta.h != 1) empty = empty || this->AfterRemoveTile(st, TILE_ADDXY(ta.tile, ta.w - 1, ta.h - 1)); return empty; } diff --git a/src/station_cmd.cpp b/src/station_cmd.cpp index 70f8690ef..11d711bf4 100644 --- a/src/station_cmd.cpp +++ b/src/station_cmd.cpp @@ -1408,7 +1408,6 @@ CommandCost RemoveFromRailBaseStation(TileArea ta, SmallVector<T *, 4> &affected DoClearSquare(tile); if (keep_rail) MakeRailNormal(tile, owner, TrackToTrackBits(track), rt); - st->rect.AfterRemoveTile(st, tile); AddTrackToSignalBuffer(tile, track, owner); YapfNotifyTrackLayoutChange(tile, track); @@ -1435,6 +1434,7 @@ CommandCost RemoveFromRailBaseStation(TileArea ta, SmallVector<T *, 4> &affected for (T **stp = affected_stations.Begin(); stp != affected_stations.End(); stp++) { T *st = *stp; + st->rect.AfterRemoveRect(st, ta); /* now we need to make the "spanned" area of the railway station smaller * if we deleted something at the edges. * we also need to adjust train_tile. */ @@ -1556,7 +1556,7 @@ CommandCost RemoveRailStation(T *st, DoCommandFlag flags) } if (flags & DC_EXEC) { - st->rect.AfterRemoveRect(st, st->train_station.tile, st->train_station.w, st->train_station.h); + st->rect.AfterRemoveRect(st, st->train_station); st->train_station.Clear(); @@ -2272,7 +2272,7 @@ static CommandCost RemoveAirport(TileIndex tile, DoCommandFlag flags) Town *nearest = AirportGetNearestTown(as, tile); nearest->noise_reached -= GetAirportNoiseLevelForTown(as, nearest->xy, tile); - st->rect.AfterRemoveRect(st, tile, st->airport.w, st->airport.h); + st->rect.AfterRemoveRect(st, st->airport); st->airport.Clear(); st->facilities &= ~FACIL_AIRPORT; |