From 8343340acb5bdb40555e04f40aac567d6e583bb8 Mon Sep 17 00:00:00 2001 From: smatz Date: Wed, 24 Jun 2009 17:39:54 +0000 Subject: [PATCH] (svn r16643) -Codechange: replace GetStationByTile() by Station::GetByTile() --- src/ai/api/ai_airport.cpp | 6 +++--- src/ai/api/ai_industry.cpp | 2 +- src/ai/api/ai_marine.cpp | 2 +- src/ai/api/ai_order.cpp | 2 +- src/ai/api/ai_rail.cpp | 2 +- src/ai/api/ai_road.cpp | 2 +- src/ai/api/ai_station.cpp | 2 +- src/ai/api/ai_tilelist.cpp | 2 +- src/aircraft.h | 1 - src/aircraft_cmd.cpp | 5 +++-- src/build_vehicle_gui.cpp | 5 +++-- src/disaster_cmd.cpp | 6 +++--- src/economy.cpp | 1 + src/industry_cmd.cpp | 2 +- src/newgrf_engine.cpp | 1 + src/newgrf_station.cpp | 10 +++++----- src/npf.cpp | 3 ++- src/openttd.cpp | 1 + src/order_cmd.cpp | 1 + src/order_gui.cpp | 1 + src/pathfind.cpp | 2 +- src/rail.h | 1 + src/roadveh_cmd.cpp | 4 ++-- src/saveload/afterload.cpp | 6 +++--- src/saveload/oldloader_sl.cpp | 1 + src/saveload/vehicle_sl.cpp | 1 + src/ship_cmd.cpp | 2 +- src/station.cpp | 1 + src/station_base.h | 6 ++++++ src/station_cmd.cpp | 19 ++++++++++--------- src/station_gui.cpp | 4 ++-- src/station_map.h | 6 ------ src/vehicle.cpp | 1 + src/vehicle_cmd.cpp | 1 + src/vehicle_gui.cpp | 2 +- src/water_cmd.cpp | 7 ++++--- src/yapf/follow_track.hpp | 2 +- src/yapf/yapf_costrail.hpp | 2 +- 38 files changed, 70 insertions(+), 55 deletions(-) diff --git a/src/ai/api/ai_airport.cpp b/src/ai/api/ai_airport.cpp index 137de54c7c..fa7c4e18bc 100644 --- a/src/ai/api/ai_airport.cpp +++ b/src/ai/api/ai_airport.cpp @@ -4,7 +4,7 @@ #include "ai_airport.hpp" #include "ai_station.hpp" -#include "../../station_map.h" +#include "../../station_base.h" #include "../../company_func.h" #include "../../command_type.h" #include "../../town.h" @@ -82,7 +82,7 @@ if (!::IsValidTile(tile)) return -1; if (!::IsTileType(tile, MP_STATION)) return -1; - const Station *st = ::GetStationByTile(tile); + const Station *st = ::Station::GetByTile(tile); if (st->owner != _current_company) return -1; if ((st->facilities & FACIL_AIRPORT) == 0) return -1; @@ -95,7 +95,7 @@ if (!::IsTileType(tile, MP_STATION)) return INVALID_TILE; if (GetNumHangars(tile) < 1) return INVALID_TILE; - const Station *st = ::GetStationByTile(tile); + const Station *st = ::Station::GetByTile(tile); if (st->owner != _current_company) return INVALID_TILE; if ((st->facilities & FACIL_AIRPORT) == 0) return INVALID_TILE; diff --git a/src/ai/api/ai_industry.cpp b/src/ai/api/ai_industry.cpp index 005311e193..3d7836cc2e 100644 --- a/src/ai/api/ai_industry.cpp +++ b/src/ai/api/ai_industry.cpp @@ -8,7 +8,7 @@ #include "../../tile_type.h" #include "../../industry.h" #include "../../strings_func.h" -#include "../../station_map.h" +#include "../../station_base.h" #include "table/strings.h" /* static */ int32 AIIndustry::GetIndustryCount() diff --git a/src/ai/api/ai_marine.cpp b/src/ai/api/ai_marine.cpp index b593076712..54f4e1cdf4 100644 --- a/src/ai/api/ai_marine.cpp +++ b/src/ai/api/ai_marine.cpp @@ -4,7 +4,7 @@ #include "ai_marine.hpp" #include "ai_station.hpp" -#include "../../station_map.h" +#include "../../station_base.h" #include "../../tile_cmd.h" diff --git a/src/ai/api/ai_order.cpp b/src/ai/api/ai_order.cpp index 56c0a78b75..545d336e37 100644 --- a/src/ai/api/ai_order.cpp +++ b/src/ai/api/ai_order.cpp @@ -10,7 +10,7 @@ #include "../../vehicle_base.h" #include "../../roadstop_base.h" #include "../../depot_base.h" -#include "../../station_map.h" +#include "../../station_base.h" #include "../../waypoint.h" /** diff --git a/src/ai/api/ai_rail.cpp b/src/ai/api/ai_rail.cpp index 72905ff5b3..5986ad82b1 100644 --- a/src/ai/api/ai_rail.cpp +++ b/src/ai/api/ai_rail.cpp @@ -6,7 +6,7 @@ #include "ai_map.hpp" #include "ai_station.hpp" #include "../../debug.h" -#include "../../station_map.h" +#include "../../station_base.h" #include "../../company_func.h" #include "../../waypoint.h" #include "../../newgrf_generic.h" diff --git a/src/ai/api/ai_road.cpp b/src/ai/api/ai_road.cpp index 4cbce4a689..fd3ec11d9c 100644 --- a/src/ai/api/ai_road.cpp +++ b/src/ai/api/ai_road.cpp @@ -6,7 +6,7 @@ #include "ai_map.hpp" #include "ai_station.hpp" #include "ai_cargo.hpp" -#include "../../station_map.h" +#include "../../station_base.h" #include "../../command_type.h" #include "../../settings_type.h" #include "../../company_func.h" diff --git a/src/ai/api/ai_station.cpp b/src/ai/api/ai_station.cpp index 5628ab5470..519c1076ff 100644 --- a/src/ai/api/ai_station.cpp +++ b/src/ai/api/ai_station.cpp @@ -8,7 +8,7 @@ #include "ai_town.hpp" #include "../../command_func.h" #include "../../debug.h" -#include "../../station_map.h" +#include "../../station_base.h" #include "../../roadstop_base.h" #include "../../string_func.h" #include "../../strings_func.h" diff --git a/src/ai/api/ai_tilelist.cpp b/src/ai/api/ai_tilelist.cpp index 5d30391564..8015b96f8b 100644 --- a/src/ai/api/ai_tilelist.cpp +++ b/src/ai/api/ai_tilelist.cpp @@ -6,7 +6,7 @@ #include "ai_industry.hpp" #include "../../tile_map.h" #include "../../industry_map.h" -#include "../../station_map.h" +#include "../../station_base.h" #include "../../settings_type.h" void AITileList::FixRectangleSpan(TileIndex &t1, TileIndex &t2) diff --git a/src/aircraft.h b/src/aircraft.h index b782aae502..278b42a43a 100644 --- a/src/aircraft.h +++ b/src/aircraft.h @@ -6,7 +6,6 @@ #define AIRCRAFT_H #include "station_map.h" -#include "station_base.h" #include "vehicle_base.h" #include "engine_func.h" #include "engine_base.h" diff --git a/src/aircraft_cmd.cpp b/src/aircraft_cmd.cpp index c9264d1658..e11bdd753d 100644 --- a/src/aircraft_cmd.cpp +++ b/src/aircraft_cmd.cpp @@ -28,6 +28,7 @@ #include "company_func.h" #include "effectvehicle_func.h" #include "settings_type.h" +#include "station_base.h" #include "table/strings.h" #include "table/sprites.h" @@ -262,7 +263,7 @@ CommandCost CmdBuildAircraft(TileIndex tile, DoCommandFlag flags, uint32 p1, uin if (!IsHangarTile(tile) || !IsTileOwner(tile, _current_company)) return CMD_ERROR; /* Prevent building aircraft types at places which can't handle them */ - if (!CanVehicleUseStation(p1, GetStationByTile(tile))) return CMD_ERROR; + if (!CanVehicleUseStation(p1, Station::GetByTile(tile))) return CMD_ERROR; /* We will need to allocate 2 or 3 vehicle structs, depending on type */ if (!Vehicle::CanAllocateItem(avi->subtype & AIR_CTOL ? 2 : 3)) { @@ -343,7 +344,7 @@ CommandCost CmdBuildAircraft(TileIndex tile, DoCommandFlag flags, uint32 p1, uin * layout for #th position of depot. Since layout must start with a listing * of all depots, it is simple */ for (uint i = 0;; i++) { - const Station *st = GetStationByTile(tile); + const Station *st = Station::GetByTile(tile); const AirportFTAClass *apc = st->Airport(); assert(i != apc->nof_depots); diff --git a/src/build_vehicle_gui.cpp b/src/build_vehicle_gui.cpp index eea5d5585f..763f2022f2 100644 --- a/src/build_vehicle_gui.cpp +++ b/src/build_vehicle_gui.cpp @@ -6,6 +6,7 @@ #include "roadveh.h" #include "ship.h" #include "aircraft.h" +#include "station_base.h" #include "articulated_vehicles.h" #include "textbuf_gui.h" #include "command_func.h" @@ -843,7 +844,7 @@ struct BuildVehicleWindow : Window { break; case VEH_AIRCRAFT: this->filter.flags = - tile == INVALID_TILE ? AirportFTAClass::ALL : GetStationByTile(tile)->Airport()->flags; + tile == INVALID_TILE ? AirportFTAClass::ALL : Station::GetByTile(tile)->Airport()->flags; break; } this->SetupWindowStrings(type); @@ -1023,7 +1024,7 @@ struct BuildVehicleWindow : Window { this->eng_list.Clear(); - const Station *st = this->listview_mode ? NULL : GetStationByTile(this->window_number); + const Station *st = this->listview_mode ? NULL : Station::GetByTile(this->window_number); /* Make list of all available planes. * Also check to see if the previously selected plane is still available, diff --git a/src/disaster_cmd.cpp b/src/disaster_cmd.cpp index f23cfe26f4..318b478cb3 100644 --- a/src/disaster_cmd.cpp +++ b/src/disaster_cmd.cpp @@ -20,7 +20,7 @@ #include "landscape.h" #include "industry_map.h" -#include "station_map.h" +#include "station_base.h" #include "command_func.h" #include "news_func.h" #include "town.h" @@ -228,7 +228,7 @@ static bool DisasterTick_Zeppeliner(DisasterVehicle *v) if (IsValidTile(v->tile) && IsTileType(v->tile, MP_STATION) && IsAirport(v->tile)) { - Station *st = GetStationByTile(v->tile); + Station *st = Station::GetByTile(v->tile); CLRBITS(st->airport_flags, RUNWAY_IN_block); AI::NewEvent(GetTileOwner(v->tile), new AIEventDisasterZeppelinerCleared(st->index)); } @@ -268,7 +268,7 @@ static bool DisasterTick_Zeppeliner(DisasterVehicle *v) if (IsValidTile(v->tile) && IsTileType(v->tile, MP_STATION) && IsAirport(v->tile)) { - SETBITS(GetStationByTile(v->tile)->airport_flags, RUNWAY_IN_block); + SETBITS(Station::GetByTile(v->tile)->airport_flags, RUNWAY_IN_block); } return true; diff --git a/src/economy.cpp b/src/economy.cpp index 194cc97d8e..887c6254c6 100644 --- a/src/economy.cpp +++ b/src/economy.cpp @@ -34,6 +34,7 @@ #include "company_gui.h" #include "signs_base.h" #include "subsidy_func.h" +#include "station_base.h" #include "table/strings.h" #include "table/sprites.h" diff --git a/src/industry_cmd.cpp b/src/industry_cmd.cpp index e65b136356..9f404d984a 100644 --- a/src/industry_cmd.cpp +++ b/src/industry_cmd.cpp @@ -6,7 +6,7 @@ #include "openttd.h" #include "clear_map.h" #include "industry_map.h" -#include "station_map.h" +#include "station_base.h" #include "train.h" #include "landscape.h" #include "viewport_func.h" diff --git a/src/newgrf_engine.cpp b/src/newgrf_engine.cpp index 7805967ed3..e99b04d76d 100644 --- a/src/newgrf_engine.cpp +++ b/src/newgrf_engine.cpp @@ -15,6 +15,7 @@ #include "aircraft.h" #include "core/smallmap_type.hpp" #include "settings_type.h" +#include "station_base.h" int _traininfo_vehicle_pitch = 0; int _traininfo_vehicle_width = 29; diff --git a/src/newgrf_station.cpp b/src/newgrf_station.cpp index 38f4c88c0f..7bb69341e8 100644 --- a/src/newgrf_station.cpp +++ b/src/newgrf_station.cpp @@ -6,7 +6,7 @@ #include "variables.h" #include "landscape.h" #include "debug.h" -#include "station_map.h" +#include "station_base.h" #include "roadstop_base.h" #include "newgrf_commons.h" #include "newgrf_station.h" @@ -469,7 +469,7 @@ static uint32 StationGetVariable(const ResolverObject *object, byte variable, by uint32 res = GB(GetStationGfx(nearby_tile), 1, 2) << 12 | !!perpendicular << 11 | !!same_station << 10; if (IsCustomStationSpecIndex(nearby_tile)) { - const StationSpecList ssl = GetStationByTile(nearby_tile)->speclist[GetCustomStationSpecIndex(nearby_tile)]; + const StationSpecList ssl = Station::GetByTile(nearby_tile)->speclist[GetCustomStationSpecIndex(nearby_tile)]; res |= 1 << (ssl.grfid != grfid ? 9 : 8) | ssl.localidx; } return res; @@ -858,7 +858,7 @@ const StationSpec *GetStationSpec(TileIndex t) if (!IsCustomStationSpecIndex(t)) return NULL; - st = GetStationByTile(t); + st = Station::GetByTile(t); specindex = GetCustomStationSpecIndex(t); return specindex < st->num_specs ? st->speclist[specindex].spec : NULL; } @@ -890,7 +890,7 @@ void AnimateStationTile(TileIndex tile) const StationSpec *ss = GetStationSpec(tile); if (ss == NULL) return; - const Station *st = GetStationByTile(tile); + const Station *st = Station::GetByTile(tile); uint8 animation_speed = ss->anim_speed; @@ -1023,7 +1023,7 @@ void StationAnimationTrigger(const Station *st, TileIndex tile, StatAnimTrigger }; /* Get Station if it wasn't supplied */ - if (st == NULL) st = GetStationByTile(tile); + if (st == NULL) st = Station::GetByTile(tile); /* Check the cached animation trigger bitmask to see if we need * to bother with any further processing. */ diff --git a/src/npf.cpp b/src/npf.cpp index e4a9473cf0..cc7b4f6a27 100644 --- a/src/npf.cpp +++ b/src/npf.cpp @@ -12,6 +12,7 @@ #include "tunnelbridge_map.h" #include "functions.h" #include "vehicle_base.h" +#include "station_base.h" #include "tunnelbridge.h" #include "pbs.h" #include "settings_type.h" @@ -514,7 +515,7 @@ static void NPFSaveTargetData(AyStar *as, OpenListNode *current) /* If the target is a station skip to platform end. */ if (IsRailwayStationTile(target->node.tile)) { DiagDirection dir = TrackdirToExitdir(target->node.direction); - uint len = GetStationByTile(target->node.tile)->GetPlatformLength(target->node.tile, dir); + uint len = Station::GetByTile(target->node.tile)->GetPlatformLength(target->node.tile, dir); TileIndex end_tile = TILE_ADD(target->node.tile, (len - 1) * TileOffsByDiagDir(dir)); /* Update only end tile, trackdir of a station stays the same. */ diff --git a/src/openttd.cpp b/src/openttd.cpp index 667316b28d..1dc8eb73c0 100644 --- a/src/openttd.cpp +++ b/src/openttd.cpp @@ -54,6 +54,7 @@ #include "rev.h" #include "highscore.h" #include "thread.h" +#include "station_base.h" #include "newgrf_commons.h" diff --git a/src/order_cmd.cpp b/src/order_cmd.cpp index 8c63e19f6c..1208469225 100644 --- a/src/order_cmd.cpp +++ b/src/order_cmd.cpp @@ -23,6 +23,7 @@ #include "core/pool_func.hpp" #include "aircraft.h" #include "roadveh.h" +#include "station_base.h" #include "table/strings.h" diff --git a/src/order_gui.cpp b/src/order_gui.cpp index 93693db9db..1cff2d20ea 100644 --- a/src/order_gui.cpp +++ b/src/order_gui.cpp @@ -24,6 +24,7 @@ #include "tilehighlight_func.h" #include "network/network.h" #include "settings_type.h" +#include "station_base.h" #include "table/sprites.h" #include "table/strings.h" diff --git a/src/pathfind.cpp b/src/pathfind.cpp index 921c9c6841..e68141a0dd 100644 --- a/src/pathfind.cpp +++ b/src/pathfind.cpp @@ -3,7 +3,7 @@ /** @file pathfind.cpp Implementation of the oldest supported pathfinder. */ #include "stdafx.h" -#include "station_map.h" +#include "station_base.h" #include "settings_type.h" #include "pathfind.h" #include "debug.h" diff --git a/src/rail.h b/src/rail.h index 3518037bce..02a17a6220 100644 --- a/src/rail.h +++ b/src/rail.h @@ -12,6 +12,7 @@ #include "core/bitmath_func.hpp" #include "economy_func.h" #include "slope_type.h" +#include "strings_type.h" enum RailTypeFlag { RTF_CATENARY = 0, ///< Set if the rail type should have catenary drawn diff --git a/src/roadveh_cmd.cpp b/src/roadveh_cmd.cpp index 7182afcb92..a6bbb05727 100644 --- a/src/roadveh_cmd.cpp +++ b/src/roadveh_cmd.cpp @@ -5,7 +5,7 @@ #include "stdafx.h" #include "landscape.h" #include "roadveh.h" -#include "station_map.h" +#include "station_base.h" #include "command_func.h" #include "news_func.h" #include "pathfind.h" @@ -1639,7 +1639,7 @@ again: v->frame == RVC_DRIVE_THROUGH_STOP_FRAME))) { RoadStop *rs = GetRoadStopByTile(v->tile, GetRoadStopType(v->tile)); - Station *st = GetStationByTile(v->tile); + Station *st = Station::GetByTile(v->tile); /* Vehicle is at the stop position (at a bay) in a road stop. * Note, if vehicle is loading/unloading it has already been handled, diff --git a/src/saveload/afterload.cpp b/src/saveload/afterload.cpp index 6ea186f0c7..8ddc8b5ee0 100644 --- a/src/saveload/afterload.cpp +++ b/src/saveload/afterload.cpp @@ -602,7 +602,7 @@ bool AfterLoadGame() for (TileIndex t = 0; t < map_size; t++) { switch (GetTileType(t)) { case MP_STATION: { - Station *st = GetStationByTile(t); + Station *st = Station::GetByTile(t); /* Set up station spread; buoys do not have one */ if (!IsBuoy(t)) st->rect.BeforeAddTile(t, StationRect::ADD_FORCE); @@ -635,7 +635,7 @@ bool AfterLoadGame() * It was 3 (till 2.2) and later 5 (till 5.1). * Setting it unconditionally does not hurt. */ - GetStationByTile(t)->airport_type = AT_OILRIG; + Station::GetByTile(t)->airport_type = AT_OILRIG; } else { DeleteOilRig(t); } @@ -1575,7 +1575,7 @@ bool AfterLoadGame() if (IsBuoyTile(t)) { /* reset buoy owner to OWNER_NONE in the station struct * (even if it is owned by active company) */ - GetStationByTile(t)->owner = OWNER_NONE; + Station::GetByTile(t)->owner = OWNER_NONE; } } else if (IsTileType(t, MP_ROAD)) { /* works for all RoadTileType */ diff --git a/src/saveload/oldloader_sl.cpp b/src/saveload/oldloader_sl.cpp index c89e9ab5cb..6c50eb05f4 100644 --- a/src/saveload/oldloader_sl.cpp +++ b/src/saveload/oldloader_sl.cpp @@ -11,6 +11,7 @@ #include "../ship.h" #include "../train.h" #include "../signs_base.h" +#include "../station_base.h" #include "../subsidy_type.h" #include "../debug.h" #include "../depot_base.h" diff --git a/src/saveload/vehicle_sl.cpp b/src/saveload/vehicle_sl.cpp index 415ba76b95..cc1cb4326c 100644 --- a/src/saveload/vehicle_sl.cpp +++ b/src/saveload/vehicle_sl.cpp @@ -8,6 +8,7 @@ #include "../roadveh.h" #include "../ship.h" #include "../aircraft.h" +#include "../station_base.h" #include "../effectvehicle_base.h" #include "saveload.h" diff --git a/src/ship_cmd.cpp b/src/ship_cmd.cpp index 3c451c701e..e99f1c1f9e 100644 --- a/src/ship_cmd.cpp +++ b/src/ship_cmd.cpp @@ -7,7 +7,7 @@ #include "landscape.h" #include "timetable.h" #include "command_func.h" -#include "station_map.h" +#include "station_base.h" #include "news_func.h" #include "company_func.h" #include "npf.h" diff --git a/src/station.cpp b/src/station.cpp index 8ee0c17e45..2503148d7d 100644 --- a/src/station.cpp +++ b/src/station.cpp @@ -22,6 +22,7 @@ #include "settings_type.h" #include "subsidy_func.h" #include "core/pool_func.hpp" +#include "station_base.h" #include "roadstop_base.h" #include "table/strings.h" diff --git a/src/station_base.h b/src/station_base.h index 7ab2c9c0b2..7f2303b0a2 100644 --- a/src/station_base.h +++ b/src/station_base.h @@ -18,6 +18,7 @@ #include "industry_type.h" #include "core/geometry_type.hpp" #include "viewport_type.h" +#include "station_map.h" #include typedef Pool StationPool; @@ -161,6 +162,11 @@ public: bool IsBuoy() const; uint GetCatchmentRadius() const; + + static FORCEINLINE Station *GetByTile(TileIndex tile) + { + return Station::Get(GetStationIndex(tile)); + } }; #define FOR_ALL_STATIONS_FROM(var, start) FOR_ALL_ITEMS_FROM(Station, station_index, var, start) diff --git a/src/station_cmd.cpp b/src/station_cmd.cpp index 0b2028da83..fbd513bfd8 100644 --- a/src/station_cmd.cpp +++ b/src/station_cmd.cpp @@ -31,6 +31,7 @@ #include "string_func.h" #include "animated_tile_func.h" #include "elrail_func.h" +#include "station_base.h" #include "roadstop_base.h" #include "table/strings.h" @@ -45,7 +46,7 @@ bool IsHangar(TileIndex t) { assert(IsTileType(t, MP_STATION)); - const Station *st = GetStationByTile(t); + const Station *st = Station::GetByTile(t); const AirportFTAClass *apc = st->Airport(); for (uint i = 0; i < apc->nof_depots; i++) { @@ -57,7 +58,7 @@ bool IsHangar(TileIndex t) RoadStop *GetRoadStopByTile(TileIndex tile, RoadStopType type) { - const Station *st = GetStationByTile(tile); + const Station *st = Station::GetByTile(tile); for (RoadStop *rs = st->GetPrimaryRoadStop(type);; rs = rs->next) { if (rs->xy == tile) return rs; @@ -1179,7 +1180,7 @@ CommandCost CmdRemoveFromRailroadStation(TileIndex tile, DoCommandFlag flags, ui } /* Check ownership of station */ - Station *st = GetStationByTile(tile2); + Station *st = Station::GetByTile(tile2); if (_current_company != OWNER_WATER && !CheckOwnership(st->owner)) { continue; } @@ -1576,7 +1577,7 @@ CommandCost CmdRemoveRoadStop(TileIndex tile, DoCommandFlag flags, uint32 p1, ui { /* Make sure the specified tile is a road stop of the correct type */ if (!IsTileType(tile, MP_STATION) || !IsRoadStop(tile) || (uint32)GetRoadStopType(tile) != GB(p2, 0, 1)) return CMD_ERROR; - Station *st = GetStationByTile(tile); + Station *st = Station::GetByTile(tile); /* Save the stop info before it is removed */ bool is_drive_through = IsDriveThroughStopTile(tile); RoadTypes rts = GetRoadTypes(tile); @@ -2208,7 +2209,7 @@ static void DrawTile_Station(TileInfo *ti) if (IsCustomStationSpecIndex(ti->tile)) { /* look for customization */ - st = GetStationByTile(ti->tile); + st = Station::GetByTile(ti->tile); statspec = st->speclist[GetCustomStationSpecIndex(ti->tile)].spec; if (statspec != NULL) { @@ -2365,7 +2366,7 @@ static void GetTileDesc_Station(TileIndex tile, TileDesc *td) } } } - td->build_date = GetStationByTile(tile)->build_date; + td->build_date = Station::GetByTile(tile)->build_date; const StationSpec *spec = GetStationSpec(tile); @@ -2860,7 +2861,7 @@ void FindStationsAroundTiles(TileIndex tile, int w_prod, int h_prod, StationList TileIndex cur_tile = TileAddWrap(tile, dx, dy); if (cur_tile == INVALID_TILE || !IsTileType(cur_tile, MP_STATION)) continue; - Station *st = GetStationByTile(cur_tile); + Station *st = Station::GetByTile(cur_tile); if (st->IsBuoy()) continue; // bouys don't accept cargo @@ -2999,7 +3000,7 @@ void BuildOilRig(TileIndex tile) void DeleteOilRig(TileIndex tile) { - Station *st = GetStationByTile(tile); + Station *st = Station::GetByTile(tile); MakeWaterKeepingClass(tile, OWNER_NONE); MarkTileDirtyByTile(tile); @@ -3087,7 +3088,7 @@ static CommandCost ClearTile_Station(TileIndex tile, DoCommandFlag flags) } } - Station *st = GetStationByTile(tile); + Station *st = Station::GetByTile(tile); switch (GetStationType(tile)) { case STATION_RAIL: return RemoveRailroadStation(st, tile, flags); diff --git a/src/station_gui.cpp b/src/station_gui.cpp index 6fe69370f9..6b632e0e7c 100644 --- a/src/station_gui.cpp +++ b/src/station_gui.cpp @@ -19,7 +19,7 @@ #include "gfx_func.h" #include "widgets/dropdown_func.h" #include "newgrf_cargo.h" -#include "station_map.h" +#include "station_base.h" #include "tilehighlight_func.h" #include "core/smallmap_type.hpp" #include "company_base.h" @@ -1136,7 +1136,7 @@ static const Station *FindStationsNearby(TileIndex tile, int w, int h, bool dist /* Check the inside, to return, if we sit on another station */ BEGIN_TILE_LOOP(t, w, h, tile) - if (t < MapSize() && IsTileType(t, MP_STATION)) return GetStationByTile(t); + if (t < MapSize() && IsTileType(t, MP_STATION)) return Station::GetByTile(t); END_TILE_LOOP(t, w, h, tile) /* Look for deleted stations */ diff --git a/src/station_map.h b/src/station_map.h index 04b17c235b..6c7d15026d 100644 --- a/src/station_map.h +++ b/src/station_map.h @@ -9,7 +9,6 @@ #include "road_map.h" #include "water_map.h" #include "station_func.h" -#include "station_base.h" #include "rail.h" typedef byte StationGfx; @@ -24,11 +23,6 @@ static inline StationID GetStationIndex(TileIndex t) return (StationID)_m[t].m2; } -static inline Station *GetStationByTile(TileIndex t) -{ - return Station::Get(GetStationIndex(t)); -} - enum { GFX_RADAR_LARGE_FIRST = 31, diff --git a/src/vehicle.cpp b/src/vehicle.cpp index c5c72f1518..3588534321 100644 --- a/src/vehicle.cpp +++ b/src/vehicle.cpp @@ -31,6 +31,7 @@ #include "vehicle_func.h" #include "autoreplace_func.h" #include "autoreplace_gui.h" +#include "station_base.h" #include "ai/ai.hpp" #include "core/smallmap_type.hpp" #include "depot_func.h" diff --git a/src/vehicle_cmd.cpp b/src/vehicle_cmd.cpp index a7ff57e531..bd5e92554e 100644 --- a/src/vehicle_cmd.cpp +++ b/src/vehicle_cmd.cpp @@ -6,6 +6,7 @@ #include "roadveh.h" #include "gfx_func.h" #include "news_func.h" +#include "airport.h" #include "command_func.h" #include "company_func.h" #include "vehicle_gui.h" diff --git a/src/vehicle_gui.cpp b/src/vehicle_gui.cpp index b2e5f1cd2c..595fa702b6 100644 --- a/src/vehicle_gui.cpp +++ b/src/vehicle_gui.cpp @@ -16,7 +16,7 @@ #include "gfx_func.h" #include "newgrf_engine.h" #include "newgrf_text.h" -#include "station_map.h" +#include "station_base.h" #include "roadveh.h" #include "train.h" #include "depot_base.h" diff --git a/src/water_cmd.cpp b/src/water_cmd.cpp index 17aadffceb..44e5b710cb 100644 --- a/src/water_cmd.cpp +++ b/src/water_cmd.cpp @@ -32,6 +32,7 @@ #include "newgrf_cargo.h" #include "effectvehicle_func.h" #include "tunnelbridge_map.h" +#include "station_base.h" #include "ai/ai.hpp" #include "table/sprites.h" @@ -740,7 +741,7 @@ static void FloodVehicles(TileIndex tile) byte z = 0; if (IsTileType(tile, MP_STATION) && IsAirport(tile)) { - const Station *st = GetStationByTile(tile); + const Station *st = Station::GetByTile(tile); const AirportFTAClass *airport = st->Airport(); z = 1 + airport->delta_z; for (uint x = 0; x < airport->size_x; x++) { @@ -756,7 +757,7 @@ static void FloodVehicles(TileIndex tile) /* if non-uniform stations are disabled, flood some train in this train station (if there is any) */ if (!_settings_game.station.nonuniform_stations && IsTileType(tile, MP_STATION) && GetStationType(tile) == STATION_RAIL) { - const Station *st = GetStationByTile(tile); + const Station *st = Station::GetByTile(tile); BEGIN_TILE_LOOP(t, st->trainst_w, st->trainst_h, st->train_tile) if (st->TileBelongsToRailStation(t)) { @@ -790,7 +791,7 @@ static void FloodVehicle(Vehicle *v) * because that's always the shadow. Except for the heliport, because * that station has a big z_offset for the aircraft. */ if (!IsTileType(v->tile, MP_STATION) || !IsAirport(v->tile) || GetTileMaxZ(v->tile) != 0) return; - const Station *st = GetStationByTile(v->tile); + const Station *st = Station::GetByTile(v->tile); const AirportFTAClass *airport = st->Airport(); if (v->z_pos != airport->delta_z + 1) return; diff --git a/src/yapf/follow_track.hpp b/src/yapf/follow_track.hpp index 3a55a3adca..cce1769e58 100644 --- a/src/yapf/follow_track.hpp +++ b/src/yapf/follow_track.hpp @@ -346,7 +346,7 @@ protected: if (IsRailTT() && m_is_station) { /* entered railway station * get platform length */ - uint length = GetStationByTile(m_new_tile)->GetPlatformLength(m_new_tile, TrackdirToExitdir(m_old_td)); + uint length = Station::GetByTile(m_new_tile)->GetPlatformLength(m_new_tile, TrackdirToExitdir(m_old_td)); /* how big step we must do to get to the last platform tile; */ m_tiles_skipped = length - 1; /* move to the platform end */ diff --git a/src/yapf/yapf_costrail.hpp b/src/yapf/yapf_costrail.hpp index 00c824b1a5..faf439ff25 100644 --- a/src/yapf/yapf_costrail.hpp +++ b/src/yapf/yapf_costrail.hpp @@ -543,7 +543,7 @@ no_entry_cost: // jump here at the beginning if the node has no parent (it is th /* Station platform-length penalty. */ if ((end_segment_reason & ESRB_STATION) != ESRB_NONE) { - Station *st = GetStationByTile(n.GetLastTile()); + Station *st = Station::GetByTile(n.GetLastTile()); assert(st != NULL); uint platform_length = st->GetPlatformLength(n.GetLastTile(), ReverseDiagDir(TrackdirToExitdir(n.GetLastTrackdir()))); /* Reduce the extra cost caused by passing-station penalty (each station receives it in the segment cost). */