Mercurial > hg > openttd
changeset 5876:7b24ffd1be9a draft
(svn r8474) -Fix
Turn GetPrimaryRoadStop() into a method of struct Station
author | tron <tron@openttd.org> |
---|---|
date | Wed, 31 Jan 2007 04:34:56 +0000 |
parents | f345f5384071 |
children | 653723b406f4 |
files | src/roadveh_cmd.cpp src/station.h src/station_cmd.cpp |
diffstat | 3 files changed, 10 insertions(+), 17 deletions(-) [+] |
line wrap: on
line diff
--- a/src/roadveh_cmd.cpp +++ b/src/roadveh_cmd.cpp @@ -690,8 +690,7 @@ v->last_station_visited = INVALID_STATION; } - rs = GetPrimaryRoadStop( - GetStation(order->dest), + rs = GetStation(order->dest)->GetPrimaryRoadStop( v->cargo_type == CT_PASSENGERS ? RoadStop::BUS : RoadStop::TRUCK ); @@ -1660,7 +1659,7 @@ /* update destination */ if (v->current_order.type == OT_GOTO_STATION && v->u.road.slot == NULL && !(v->vehstatus & VS_CRASHED)) { Station* st = GetStation(v->current_order.dest); - RoadStop* rs = GetPrimaryRoadStop(st, v->cargo_type == CT_PASSENGERS ? RoadStop::BUS : RoadStop::TRUCK); + RoadStop* rs = st->GetPrimaryRoadStop(v->cargo_type == CT_PASSENGERS ? RoadStop::BUS : RoadStop::TRUCK); RoadStop* best = NULL; if (rs != NULL) {
--- a/src/station.h +++ b/src/station.h @@ -97,6 +97,12 @@ }; struct Station { + public: + RoadStop *GetPrimaryRoadStop(RoadStop::Type type) const + { + return type == RoadStop::BUS ? bus_stops : truck_stops; + } + TileIndex xy; RoadStop *bus_stops; RoadStop *truck_stops; @@ -270,7 +276,6 @@ void StationPickerDrawSprite(int x, int y, RailType railtype, int image); RoadStop * GetRoadStopByTile(TileIndex tile, RoadStop::Type type); -RoadStop * GetPrimaryRoadStop(const Station *st, RoadStop::Type type); uint GetNumRoadStops(const Station* st, RoadStop::Type type); RoadStop * AllocateRoadStop( void ); void ClearSlot(Vehicle *v);
--- a/src/station_cmd.cpp +++ b/src/station_cmd.cpp @@ -80,23 +80,12 @@ extern void UpdateAirplanesOnNewStation(Station *st); -RoadStop* GetPrimaryRoadStop(const Station* st, RoadStop::Type type) -{ - switch (type) { - case RoadStop::BUS: return st->bus_stops; - case RoadStop::TRUCK: return st->truck_stops; - default: NOT_REACHED(); - } - - return NULL; -} - RoadStop* GetRoadStopByTile(TileIndex tile, RoadStop::Type type) { const Station* st = GetStationByTile(tile); RoadStop* rs; - for (rs = GetPrimaryRoadStop(st, type); rs->xy != tile; rs = rs->next) { + for (rs = st->GetPrimaryRoadStop(type); rs->xy != tile; rs = rs->next) { assert(rs->next != NULL); } @@ -109,7 +98,7 @@ const RoadStop *rs; assert(st != NULL); - for (rs = GetPrimaryRoadStop(st, type); rs != NULL; rs = rs->next) num++; + for (rs = st->GetPrimaryRoadStop(type); rs != NULL; rs = rs->next) num++; return num; }