# station_map.h File Reference

Maps accessors for stations. More...

`#include "rail_map.h"`
`#include "road_map.h"`
`#include "water_map.h"`
`#include "station_func.h"`
`#include "rail.h"`

Go to the source code of this file.

## Typedefs
typedef byte | StationGfx
| Index of station graphics.
## Enumerations
enum | { GFX_DOCK_BASE_WATER_PART = 4, GFX_TRUCK_BUS_DRIVETHROUGH_OFFSET = 4 }
## Functions
static StationID | GetStationIndex (TileIndex t)
| Get StationID from a tile.
static StationType | GetStationType (TileIndex t)
| Get the station type of this tile.
static RoadStopType | GetRoadStopType (TileIndex t)
| Get the road stop type of this tile.
static StationGfx | GetStationGfx (TileIndex t)
| Get the station graphics of this tile.
static void | SetStationGfx (TileIndex t, StationGfx gfx)
| Set the station graphics of this tile.
static uint8 | GetStationAnimationFrame (TileIndex t)
| Get the station's animation frame of this tile.
static void | SetStationAnimationFrame (TileIndex t, uint8 frame)
| Set the station's animation frame of this tile.
static bool | IsRailStation (TileIndex t)
| Is this station tile a rail station?
static bool | IsRailStationTile (TileIndex t)
| Is this tile a station tile and a rail station?
static bool | IsRailWaypoint (TileIndex t)
| Is this station tile a rail waypoint?
static bool | IsRailWaypointTile (TileIndex t)
| Is this tile a station tile and a rail waypoint?
static bool | HasStationRail (TileIndex t)
| Has this station tile a rail? In other words, is this station tile a rail station or rail waypoint?
static bool | HasStationTileRail (TileIndex t)
| Has this station tile a rail? In other words, is this station tile a rail station or rail waypoint?
static bool | IsAirport (TileIndex t)
| Is this station tile an airport?
static bool | IsAirportTile (TileIndex t)
| Is this tile a station tile and an airport tile?
bool | IsHangar (TileIndex t)
| Check whether the given tile is a hangar.
static bool | IsTruckStop (TileIndex t)
| Is the station at t a truck stop?
static bool | IsBusStop (TileIndex t)
| Is the station at t a bus stop?
static bool | IsRoadStop (TileIndex t)
| Is the station at t a road station?
static bool | IsRoadStopTile (TileIndex t)
| Is tile t a road stop station?
static bool | IsStandardRoadStopTile (TileIndex t)
| Is tile t a standard (non-drive through) road stop station?
static bool | IsDriveThroughStopTile (TileIndex t)
| Is tile t a drive through road stop station?
static DiagDirection | GetRoadStopDir (TileIndex t)
| Gets the direction the road stop entrance points towards.
static bool | IsOilRig (TileIndex t)
| Is tile t part of an oilrig?
static bool | IsDock (TileIndex t)
| Is tile t a dock tile?
static bool | IsDockTile (TileIndex t)
| Is tile t a dock tile?
static bool | IsBuoy (TileIndex t)
| Is tile t a buoy tile?
static bool | IsBuoyTile (TileIndex t)
| Is tile t a buoy tile?
static bool | IsHangarTile (TileIndex t)
| Is tile t an hangar tile?
static Axis | GetRailStationAxis (TileIndex t)
| Get the rail direction of a rail station.
static Track | GetRailStationTrack (TileIndex t)
| Get the rail track of a rail station tile.
static TrackBits | GetRailStationTrackBits (TileIndex t)
| Get the trackbits of a rail station tile.
static bool | IsCompatibleTrainStationTile (TileIndex t1, TileIndex t2)
| Check if tile is compatible with a railstation tile.
static bool | HasStationReservation (TileIndex t)
| Get the reservation state of the rail station.
static void | SetRailStationReservation (TileIndex t, bool b)
| Set the reservation state of the rail station.
static TrackBits | GetStationReservationTrackBits (TileIndex t)
| Get the reserved track bits for a waypoint.
static DiagDirection | GetDockDirection (TileIndex t)
| Get the direction of a dock.
static TileIndexDiffC | GetDockOffset (TileIndex t)
| Get the tileoffset from this tile a ship should target to get to this dock.
static bool | IsCustomStationSpecIndex (TileIndex t)
| Is there a custom rail station spec on this tile?
static void | SetCustomStationSpecIndex (TileIndex t, byte specindex)
| Set the custom station spec for this tile.
static uint | GetCustomStationSpecIndex (TileIndex t)
| Get the custom station spec for this tile.
static void | SetStationTileRandomBits (TileIndex t, byte random_bits)
| Set the random bits for a station tile.
static byte | GetStationTileRandomBits (TileIndex t)
| Get the random bits of a station tile.
static void | MakeStation (TileIndex t, Owner o, StationID sid, StationType st, byte section)
| Make the given tile a station tile.
static void | MakeRailStation (TileIndex t, Owner o, StationID sid, Axis a, byte section, RailType rt)
| Make the given tile a rail station tile.
static void | MakeRailWaypoint (TileIndex t, Owner o, StationID sid, Axis a, byte section, RailType rt)
| Make the given tile a rail waypoint tile.
static void | MakeRoadStop (TileIndex t, Owner o, StationID sid, RoadStopType rst, RoadTypes rt, DiagDirection d)
| Make the given tile a roadstop tile.
static void | MakeDriveThroughRoadStop (TileIndex t, Owner station, Owner road, Owner tram, StationID sid, RoadStopType rst, RoadTypes rt, Axis a)
| Make the given tile a drivethrough roadstop tile.
static void | MakeAirport (TileIndex t, Owner o, StationID sid, byte section)
| Make the given tile an airport tile.
static void | MakeBuoy (TileIndex t, StationID sid, WaterClass wc)
| Make the given tile a buoy tile.
static void | MakeDock (TileIndex t, Owner o, StationID sid, DiagDirection d, WaterClass wc)
| Make the given tile a dock tile.
static void | MakeOilrig (TileIndex t, StationID sid, WaterClass wc)
| Make the given tile an oilrig tile.

## Detailed Description

Maps accessors for stations.

Definition in file station_map.h.

## Typedef Documentation

typedef byte StationGfx

Index of station graphics.

See also:
  _station_display_datas

Definition at line 21 of file station_map.h.

## Function Documentation

static uint GetCustomStationSpecIndex | ( | TileIndex | t | ) | `[inline, static]`

Get the custom station spec for this tile.

Parameters:

  | t | Tile to query

Precondition:
  HasStationTileRail(t)

Returns:
  The custom station spec of this tile.

Definition at line 508 of file station_map.h.

References _m, HasStationTileRail(), and Tile::m4.

Referenced by CmdBuildRailStation(), CmdBuildRailWaypoint(), DeallocateSpecFromStation(), and RemoveFromRailBaseStation().

static DiagDirection GetDockDirection | ( | TileIndex | t | ) | `[inline, static]`

Get the direction of a dock.

Parameters:

  | t | Tile to query

Precondition:
  IsDock(t)
  t is the land part of the dock

Returns:
  The direction of the dock on tile t.

Definition at line 445 of file station_map.h.

References GetStationGfx(), and IsDock().

Referenced by GetDockOffset(), and RemoveDock().

static TileIndexDiffC GetDockOffset | ( | TileIndex | t | ) | `[inline, static]`

Get the tileoffset from this tile a ship should target to get to this dock.

Parameters:

  | t | Tile to query

Precondition:
  IsTileType(t, MP_STATION)
  IsBuoy(t) || IsOilRig(t) || IsDock(t)

Returns:
  The offset from this tile that should be used as destination for ships.

Definition at line 459 of file station_map.h.

References DIAGDIR_END, GetDockDirection(), IsBuoy(), IsDock(), IsOilRig(), IsTileType(), and MP_STATION.

Referenced by Ship::GetOrderStationLocation().

static Axis GetRailStationAxis | ( | TileIndex | t | ) | `[inline, static]`

Get the rail direction of a rail station.

Parameters:

  | t | Tile to query

Precondition:
  HasStationRail(t)

Returns:
  The direction of the rails on tile t.

Definition at line 351 of file station_map.h.

References AXIS_X, AXIS_Y, GetStationGfx(), HasBit(), and HasStationRail().

Referenced by CanExpandRailStation(), CmdBuildRailStation(), ExploreSegment(), GetAxisForNewWaypoint(), Station::GetPlatformLength(), GetRailStationTrack(), GetRailStationTrackBits(), IsCompatibleTrainStationTile(), and SetRailStationPlatformReservation().

static Track GetRailStationTrack | ( | TileIndex | t | ) | `[inline, static]`

Get the rail track of a rail station tile.

Parameters:

  | t | Tile to query

Precondition:
  HasStationRail(t)

Returns:
  The rail track of the rails on tile t.

Definition at line 363 of file station_map.h.

References AxisToTrack(), and GetRailStationAxis().

Referenced by CmdConvertRail(), GetRailTrackBitsUniversal(), AIRail::GetRailTracks(), CYapfDestinationTileOrStationRailT< Types >::PfDetectDestination(), RemoveFromRailBaseStation(), and RemoveRailStation().

static TrackBits GetRailStationTrackBits | ( | TileIndex | t | ) | `[inline, static]`

Get the trackbits of a rail station tile.

Parameters:

  | t | Tile to query

Precondition:
  HasStationRail(t)

Returns:
  The trackbits of the rails on tile t.

Definition at line 374 of file station_map.h.

References AxisToTrackBits(), and GetRailStationAxis().

Referenced by AIRail::GetRailStationDirection(), and GetStationReservationTrackBits().

static DiagDirection GetRoadStopDir | ( | TileIndex | t | ) | `[inline, static]`

Gets the direction the road stop entrance points towards.

Parameters:

  | t | the tile of the road stop

Precondition:
  IsRoadStopTile(t)

Returns:
  the direction of the entrance

Definition at line 271 of file station_map.h.

References GetStationGfx(), and IsRoadStopTile().

Referenced by CFollowTrackT< Ttr_type_, VehicleType, T90deg_turns_allowed_, Tmask_reserved_tracks >::CanEnterNewTile(), CFollowTrackT< Ttr_type_, VehicleType, T90deg_turns_allowed_, Tmask_reserved_tracks >::CanExitOldTile(), RoadStop::Entry::CheckIntegrity(), RoadStop::ClearDriveThrough(), CmdBuildRoad(), CmdRemoveRoadStop(), GetAnyRoadBits(), AIRoad::GetDriveThroughBackTile(), AIRoad::GetRoadStationFrontTile(), GetTileSingleEntry(), RoadVehicle::GetVehicleTrackdir(), RoadStop::IsDriveThroughRoadStopContinuation(), RoadStop::MakeDriveThrough(), NeighbourHasReachableRoad(), RoadStop::Entry::Rebuild(), and RoadFindPathToDest().

static RoadStopType GetRoadStopType | ( | TileIndex | t | ) | `[inline, static]`

Get the road stop type of this tile.

Parameters:

  | t | the tile to query

Precondition:
  GetStationType(t) == STATION_TRUCK || GetStationType(t) == STATION_BUS

Returns:
  the road stop type

Definition at line 59 of file station_map.h.

References GetStationType(), ROADSTOP_BUS, and ROADSTOP_TRUCK.

Referenced by RoadStop::ClearDriveThrough(), CmdRemoveRoadStop(), RoadVehicle::Crash(), RoadStop::MakeDriveThrough(), CYapfCostRoadT< Types >::OneTileCost(), Vehicle::PreDestructor(), AIRoad::RemoveRoadStation(), and RoadFindPathToDest().

static uint8 GetStationAnimationFrame | ( | TileIndex | t | ) | `[inline, static]`

Get the station's animation frame of this tile.

Parameters:

  | t | the tile to query

Precondition:
  IsTileType(t, MP_STATION)

Returns:
  the station's animation frame

Definition at line 95 of file station_map.h.

References _me, IsTileType(), TileExtended::m7, and MP_STATION.

static StationGfx GetStationGfx | ( | TileIndex | t | ) | `[inline, static]`

Get the station graphics of this tile.

Parameters:

  | t | the tile to query

Precondition:
  IsTileType(t, MP_STATION)

Returns:
  the station graphics

Definition at line 71 of file station_map.h.

References _m, IsTileType(), Tile::m5, and MP_STATION.

Referenced by GetDockDirection(), GetRailStationAxis(), GetRoadStopDir(), IsDriveThroughStopTile(), and IsStandardRoadStopTile().

static StationID GetStationIndex | ( | TileIndex | t | ) | `[inline, static]`

Get StationID from a tile.

Parameters:

  | t | Tile to query station ID from

Precondition:
  IsTileType(t, MP_STATION)

Returns:
  Station ID of the station at t

Definition at line 29 of file station_map.h.

References _m, IsTileType(), Tile::m2, and MP_STATION.

Referenced by AddNearbyStation(), AITileList_StationType::AITileList_StationType(), AIVehicleList_Depot::AIVehicleList_Depot(), CheckFlatLandBelow(), CheckNextTrainTile(), CmdBuildAircraft(), CmdReverseTrainDirection(), DisasterTick_Zeppeliner(), FindStationsNearby(), FreeTrainTrackReservation(), AIAirport::GetAirportType(), SpecializedStation< Waypoint, true >::GetByTile(), BaseStation::GetByTile(), Train::GetCurrentMaxSpeed(), GetStationAround(), AIStation::GetStationID(), AIWaypoint::GetWaypointID(), AIOrder::InsertOrder(), IsCompatibleTrainStationTile(), RoadStop::IsDriveThroughRoadStopContinuation(), IsValidTileForWaypoint(), LoadUnloadVehicle(), MoveBuoysToWaypoints(), DepotWindow::OnClick(), CYapfCostRailT< Types >::PfCalcCost(), CYapfDestinationTileOrStationRailT< Types >::PfDetectDestination(), ProcessOrders(), StationRect::ScanForStationTiles(), DepotWindow::SetStringParameters(), Waypoint::TileBelongsToRailStation(), and Station::TileBelongsToRailStation().

static TrackBits GetStationReservationTrackBits | ( | TileIndex | t | ) | `[inline, static]`

Get the reserved track bits for a waypoint.

Precondition:
  HasStationRail(t)

Parameters:

  | t | the tile

Returns:
  reserved track bits

Definition at line 433 of file station_map.h.

References GetRailStationTrackBits(), HasStationReservation(), and TRACK_BIT_NONE.

Referenced by GetReservedTrackbits().

static byte GetStationTileRandomBits | ( | TileIndex | t | ) | `[inline, static]`

Get the random bits of a station tile.

Parameters:

  | t | Tile to query

Precondition:
  IsTileType(t, MP_STATION)

Returns:
  The random bits for this station tile.

Definition at line 531 of file station_map.h.

References _m, GB(), IsTileType(), and MP_STATION.

static StationType GetStationType | ( | TileIndex | t | ) | `[inline, static]`

Get the station type of this tile.

Parameters:

  | t | the tile to query

Precondition:
  IsTileType(t, MP_STATION)

Returns:
  the station type

Definition at line 47 of file station_map.h.

References _m, GB(), IsTileType(), and MP_STATION.

Referenced by AITileList_StationType::AITileList_StationType(), FloodVehicles(), GetRoadStopType(), GetSmallMapRoutesPixels(), IsAirport(), IsBuoy(), IsBusStop(), IsDock(), IsDockTile(), RoadStop::IsDriveThroughRoadStopContinuation(), IsOilRig(), IsRailStation(), IsRailWaypoint(), and IsTruckStop().

static bool HasStationRail | ( | TileIndex | t | ) | `[inline, static]`

Has this station tile a rail? In other words, is this station tile a rail station or rail waypoint?

Parameters:

  | t | the tile to check

Precondition:
  IsTileType(t, MP_STATION)

Returns:
  true if and only if the tile has rail

Definition at line 162 of file station_map.h.

References IsRailStation(), and IsRailWaypoint().

Referenced by CmdConvertRail(), ExploreSegment(), GetRailStationAxis(), GetRailTrackBitsUniversal(), GetReservedTrackbits(), GetTileRailType(), HasStationReservation(), HasStationTileRail(), SetRailStationReservation(), TryReserveRailTrack(), and UnreserveRailTrack().

static bool HasStationReservation | ( | TileIndex | t | ) | `[inline, static]`

Get the reservation state of the rail station.

Precondition:
  HasStationRail(t)

Parameters:

  | t | the station tile

Returns:
  reservation state

Definition at line 409 of file station_map.h.

References _m, HasBit(), and HasStationRail().

Referenced by CmdBuildRailStation(), CmdBuildRailWaypoint(), GetStationReservationTrackBits(), CYapfCostRailT< Types >::IsAnyStationTileReserved(), RemoveFromRailBaseStation(), RemoveRailStation(), CYapfReserveTrack< Types >::ReserveRailStationPlatform(), and TryReserveRailTrack().

static bool HasStationTileRail | ( | TileIndex | t | ) | `[inline, static]`

Has this station tile a rail? In other words, is this station tile a rail station or rail waypoint?

Parameters:

  | t | the tile to check

Returns:
  true if and only if the tile is a station tile and has rail

Definition at line 173 of file station_map.h.

References HasStationRail(), IsTileType(), and MP_STATION.

Referenced by CanEnterTileOwnerCheck(), CmdBuildRailStation(), CmdBuildRailWaypoint(), CFollowTrackT< Ttr_type_, VehicleType, T90deg_turns_allowed_, Tmask_reserved_tracks >::FollowTileExit(), GetCustomStationSpecIndex(), IsCustomStationSpecIndex(), AIRail::IsRailTile(), CYapfDestinationTileOrStationRailT< Types >::PfDetectDestination(), RemoveFromRailBaseStation(), SetCustomStationSpecIndex(), and SetDefaultRailGui().

static bool IsAirport | ( | TileIndex | t | ) | `[inline, static]`

Is this station tile an airport?

Parameters:

  | t | the tile to get the information from

Precondition:
  IsTileType(t, MP_STATION)

Returns:
  true if and only if the tile is an airport

Definition at line 184 of file station_map.h.

References GetStationType().

Referenced by AIVehicleList_Depot::AIVehicleList_Depot(), IsAirportTile(), AIAirport::IsAirportTile(), and IsHangar().

static bool IsAirportTile | ( | TileIndex | t | ) | `[inline, static]`

Is this tile a station tile and an airport tile?

Parameters:

  | t | the tile to get the information from

Returns:
  true if and only if the tile is an airport

Definition at line 194 of file station_map.h.

References IsAirport(), IsTileType(), and MP_STATION.

Referenced by DisasterTick_Zeppeliner(), and FloodVehicles().

static bool IsBuoy | ( | TileIndex | t | ) | `[inline, static]`

Is tile t a buoy tile?

Parameters:

  | t | Tile to check

Precondition:
  IsTileType(t, MP_STATION)

Returns:
  `true` if the tile is a buoy

Definition at line 320 of file station_map.h.

References GetStationType().

Referenced by GetDockOffset(), GetFloodingBehaviour(), GetOrderTypeByTile(), IsBuoyTile(), AIMarine::IsBuoyTile(), and IsWateredTile().

static bool IsBuoyTile | ( | TileIndex | t | ) | `[inline, static]`

Is tile t a buoy tile?

Parameters:

  | t | Tile to check

Returns:
  `true` if the tile is a buoy

Definition at line 330 of file station_map.h.

References IsBuoy(), IsTileType(), and MP_STATION.

Referenced by MoveBuoysToWaypoints(), and ResetLandscapeConfirmationCallback().

static bool IsBusStop | ( | TileIndex | t | ) | `[inline, static]`

Is the station at t a bus stop?

Parameters:

  | t | Tile to check

Precondition:
  IsTileType(t, MP_STATION)

Returns:
  `true` if station is a bus stop, `false` otherwise

Definition at line 218 of file station_map.h.

References GetStationType().

Referenced by IsRoadStop().

static bool IsCompatibleTrainStationTile | ( | TileIndex | t1,
|  | TileIndex | t2 |
| ) |  |  | `[inline, static]`

Check if tile is compatible with a railstation tile.

The two tiles are compatible if all of the following are true:

- both tiles are rail station tiles
- the railtype of t1 is compatible with the railtype of t2
- the tracks on t1 and t2 are in the same direction
- both tiles belong to the same station
- t1 is not blocked (
  See also:
    IsStationTileBlocked)
  Parameters:

    | t1 | First tile to compare
    | t2 | Second tile to compare

  Precondition:
    IsRailStationTile(t2)
  Returns:
    true if the two tiles are compatible

Definition at line 392 of file station_map.h.

References GetRailStationAxis(), GetRailType(), GetStationIndex(), IsCompatibleRail(), and IsRailStationTile().

Referenced by ClearPathReservation(), FollowTrainReservation(), Station::GetPlatformLength(), GetTrainForReservation(), CYapfReserveTrack< Types >::ReserveRailStationPlatform(), SetRailStationPlatformReservation(), and CYapfReserveTrack< Types >::UnreserveSingleTrack().

static bool IsCustomStationSpecIndex | ( | TileIndex | t | ) | `[inline, static]`

Is there a custom rail station spec on this tile?

Parameters:

  | t | Tile to query

Precondition:
  HasStationTileRail(t)

Returns:
  True if this station is part of a newgrf station.

Definition at line 485 of file station_map.h.

References _m, HasStationTileRail(), and Tile::m4.

static bool IsDock | ( | TileIndex | t | ) | `[inline, static]`

Is tile t a dock tile?

Parameters:

  | t | Tile to check

Precondition:
  IsTileType(t, MP_STATION)

Returns:
  `true` if the tile is a dock

Definition at line 299 of file station_map.h.

References GetStationType().

Referenced by GetDockDirection(), GetDockOffset(), GetFloodingBehaviour(), AIMarine::IsDockTile(), and IsWateredTile().

static bool IsDockTile | ( | TileIndex | t | ) | `[inline, static]`

Is tile t a dock tile?

Parameters:

  | t | Tile to check

Returns:
  `true` if the tile is a dock

Definition at line 309 of file station_map.h.

References GetStationType(), IsTileType(), and MP_STATION.

static bool IsDriveThroughStopTile | ( | TileIndex | t | ) | `[inline, static]`

Is tile t a drive through road stop station?

Parameters:

  | t | Tile to check

Returns:
  `true` if the tile is a station tile and a drive through road stop

Definition at line 260 of file station_map.h.

References GetStationGfx(), and IsRoadStopTile().

Referenced by AfterLoadRoadStops(), CmdBuildRoad(), CmdRemoveRoadStop(), GetAnyRoadBits(), AIRoad::IsDriveThroughRoadStationTile(), RoadStop::IsDriveThroughRoadStopContinuation(), NeighbourHasReachableRoad(), CYapfCostRoadT< Types >::OneTileCost(), RemoveRoad(), and RemoveRoadStop().

bool IsHangar | ( | TileIndex | t | ) |

Check whether the given tile is a hangar.

Parameters:

  | t | the tile to of whether it is a hangar.

Precondition:
  IsTileType(t, MP_STATION)

Returns:
  true if and only if the tile is a hangar.

Definition at line 60 of file station_cmd.cpp.

References SpecializedStation< Station, false >::GetByTile(), IsAirport(), IsTileType(), MP_STATION, and AirportSpec::nof_depots.

Referenced by AIOrder::GetOrderDestination(), GetOrderTypeByTile(), IsHangarTile(), and AIAirport::IsHangarTile().

static bool IsHangarTile | ( | TileIndex | t | ) | `[inline, static]`

Is tile t an hangar tile?

Parameters:

  | t | Tile to check

Returns:
  `true` if the tile is an hangar

Definition at line 340 of file station_map.h.

References IsHangar(), IsTileType(), and MP_STATION.

Referenced by CmdBuildAircraft(), FixTTDDepots(), IsDepotTile(), and Aircraft::IsInDepot().

static bool IsOilRig | ( | TileIndex | t | ) | `[inline, static]`

Is tile t part of an oilrig?

Parameters:

  | t | Tile to check

Precondition:
  IsTileType(t, MP_STATION)

Returns:
  `true` if the tile is an oilrig tile

Definition at line 288 of file station_map.h.

References GetStationType().

Referenced by AIIndustry::GetDockLocation(), GetDockOffset(), GetFloodingBehaviour(), AIIndustry::GetHeliportLocation(), and IsWateredTile().

static bool IsRailStation | ( | TileIndex | t | ) | `[inline, static]`

Is this station tile a rail station?

Parameters:

  | t | the tile to get the information from

Precondition:
  IsTileType(t, MP_STATION)

Returns:
  true if and only if the tile is a rail station

Definition at line 119 of file station_map.h.

References GetStationType().

Referenced by CheckFlatLandBelow(), HasStationRail(), and IsRailStationTile().

static bool IsRailStationTile | ( | TileIndex | t | ) | `[inline, static]`

Is this tile a station tile and a rail station?

Parameters:

  | t | the tile to get the information from

Returns:
  true if and only if the tile is a rail station

Definition at line 129 of file station_map.h.

References IsRailStation(), IsTileType(), and MP_STATION.

Referenced by CheckNextTrainTile(), ClearPathReservation(), CmdBuildRailStation(), FollowTrainReservation(), FreeTrainTrackReservation(), Train::GetCurrentMaxSpeed(), Station::GetPlatformLength(), GetTrainForReservation(), IsCompatibleTrainStationTile(), NPFSaveTargetData(), RemoveFromRailBaseStation(), CYapfCostRailT< Types >::ReservationCost(), CYapfReserveTrack< Types >::ReserveSingleTrack(), SetRailStationPlatformReservation(), Station::TileBelongsToRailStation(), and CYapfReserveTrack< Types >::UnreserveSingleTrack().

static bool IsRailWaypoint | ( | TileIndex | t | ) | `[inline, static]`

Is this station tile a rail waypoint?

Parameters:

  | t | the tile to get the information from

Precondition:
  IsTileType(t, MP_STATION)

Returns:
  true if and only if the tile is a rail waypoint

Definition at line 140 of file station_map.h.

References GetStationType().

Referenced by GetOrderTypeByTile(), HasStationRail(), IsRailWaypointTile(), IsValidTileForWaypoint(), and CYapfCostRailT< Types >::PfCalcCost().

static bool IsRailWaypointTile | ( | TileIndex | t | ) | `[inline, static]`

Is this tile a station tile and a rail waypoint?

Parameters:

  | t | the tile to get the information from

Returns:
  true if and only if the tile is a rail waypoint

Definition at line 150 of file station_map.h.

References IsRailWaypoint(), IsTileType(), and MP_STATION.

Referenced by CheckNextTrainTile(), GetAxisForNewWaypoint(), and Waypoint::TileBelongsToRailStation().

static bool IsRoadStop | ( | TileIndex | t | ) | `[inline, static]`

Is the station at t a road station?

Parameters:

  | t | Tile to check

Precondition:
  IsTileType(t, MP_STATION)

Returns:
  `true` if station at the tile is a bus top or a truck stop, `false` otherwise

Definition at line 229 of file station_map.h.

References IsBusStop(), IsTileType(), IsTruckStop(), and MP_STATION.

Referenced by CmdRemoveRoadStop(), IsRoadStopTile(), and AIRoad::RemoveRoadStation().

static bool IsRoadStopTile | ( | TileIndex | t | ) | `[inline, static]`

Is tile t a road stop station?

Parameters:

  | t | Tile to check

Returns:
  `true` if the tile is a station tile and a road stop

Definition at line 240 of file station_map.h.

References IsRoadStop(), IsTileType(), and MP_STATION.

Referenced by CFollowTrackT< Ttr_type_, VehicleType, T90deg_turns_allowed_, Tmask_reserved_tracks >::FollowTileExit(), GetAnyRoadBits(), GetRoadStopDir(), IsDriveThroughStopTile(), AIRoad::IsRoadStationTile(), and IsStandardRoadStopTile().

static bool IsStandardRoadStopTile | ( | TileIndex | t | ) | `[inline, static]`

Is tile t a standard (non-drive through) road stop station?

Parameters:

  | t | Tile to check

Returns:
  `true` if the tile is a station tile and a standard road stop

Definition at line 250 of file station_map.h.

References GetStationGfx(), and IsRoadStopTile().

Referenced by CFollowTrackT< Ttr_type_, VehicleType, T90deg_turns_allowed_, Tmask_reserved_tracks >::CanEnterNewTile(), CanEnterTileOwnerCheck(), CFollowTrackT< Ttr_type_, VehicleType, T90deg_turns_allowed_, Tmask_reserved_tracks >::CanExitOldTile(), CheckCaches(), RoadStop::Enter(), GetTileSingleEntry(), GetTownRoadBits(), RoadVehicle::GetVehicleTrackdir(), RoadStop::Leave(), and RoadFindPathToDest().

static bool IsTruckStop | ( | TileIndex | t | ) | `[inline, static]`

Is the station at t a truck stop?

Parameters:

  | t | Tile to check

Precondition:
  IsTileType(t, MP_STATION)

Returns:
  `true` if station is a truck stop, `false` otherwise

Definition at line 207 of file station_map.h.

References GetStationType().

Referenced by IsRoadStop(), and RemoveRoadStop().

static void MakeAirport | ( | TileIndex | t,
|  | Owner | o,
|  | StationID | sid,
|  | byte | section |
| ) |  |  | `[inline, static]`

Make the given tile an airport tile.

Parameters:

  | t | the tile to make a airport
  | o | the owner of the airport
  | sid | the station to which this tile belongs
  | section | the StationGfx to be used for this tile

Definition at line 633 of file station_map.h.

References MakeStation().

Referenced by CmdBuildAirport().

static void MakeBuoy | ( | TileIndex | t,
|  | StationID | sid,
|  | WaterClass | wc |
| ) |  |  | `[inline, static]`

Make the given tile a buoy tile.

Parameters:

  | t | the tile to make a buoy
  | sid | the station to which this tile belongs
  | wc | the type of water on this tile

Definition at line 644 of file station_map.h.

References GetTileOwner(), and MakeStation().

Referenced by CmdBuildBuoy().

static void MakeDock | ( | TileIndex | t,
|  | Owner | o,
|  | StationID | sid,
|  | DiagDirection | d,
|  | WaterClass | wc |
| ) |  |  | `[inline, static]`

Make the given tile a dock tile.

Parameters:

  | t | the tile to make a dock
  | o | the owner of the dock
  | sid | the station to which this tile belongs
  | d | the direction of the dock
  | wc | the type of water on this tile

Definition at line 661 of file station_map.h.

References DiagDirToAxis(), MakeStation(), and TileOffsByDiagDir().

Referenced by CmdBuildDock().

static void MakeDriveThroughRoadStop | ( | TileIndex | t,
|  | Owner | station,
|  | Owner | road,
|  | Owner | tram,
|  | StationID | sid,
|  | RoadStopType | rst,
|  | RoadTypes | rt,
|  | Axis | a |
| ) |  |  | `[inline, static]`

Make the given tile a drivethrough roadstop tile.

Parameters:

  | t | the tile to make a roadstop
  | station | the owner of the roadstop
  | road | the owner of the road
  | tram | the owner of the tram
  | sid | the station to which this tile belongs
  | rst | the type of roadstop to make this tile
  | rt | the roadtypes on this tile
  | d | the direction of the roadstop

Definition at line 618 of file station_map.h.

References MakeStation(), ROADSTOP_BUS, ROADTYPE_ROAD, and ROADTYPE_TRAM.

Referenced by CmdBuildRoadStop().

static void MakeOilrig | ( | TileIndex | t,
|  | StationID | sid,
|  | WaterClass | wc |
| ) |  |  | `[inline, static]`

Make the given tile an oilrig tile.

Parameters:

  | t | the tile to make an oilrig
  | sid | the station to which this tile belongs
  | wc | the type of water on this tile

Definition at line 674 of file station_map.h.

References MakeStation(), and OWNER_NONE.

static void MakeRailStation | ( | TileIndex | t,
|  | Owner | o,
|  | StationID | sid,
|  | Axis | a,
|  | byte | section,
|  | RailType | rt |
| ) |  |  | `[inline, static]`

Make the given tile a rail station tile.

Parameters:

  | t | the tile to make a rail station tile
  | o | the owner of the station
  | sid | the station to which this tile belongs
  | a | the axis of this tile
  | section | the StationGfx to be used for this tile
  | rt | the railtype of this tile

Definition at line 567 of file station_map.h.

References MakeStation(), SetRailStationReservation(), and SetRailType().

Referenced by CmdBuildRailStation().

static void MakeRailWaypoint | ( | TileIndex | t,
|  | Owner | o,
|  | StationID | sid,
|  | Axis | a,
|  | byte | section,
|  | RailType | rt |
| ) |  |  | `[inline, static]`

Make the given tile a rail waypoint tile.

Parameters:

  | t | the tile to make a rail waypoint
  | o | the owner of the waypoint
  | sid | the waypoint to which this tile belongs
  | a | the axis of this tile
  | section | the StationGfx to be used for this tile
  | rt | the railtype of this tile

Definition at line 583 of file station_map.h.

References MakeStation(), SetRailStationReservation(), and SetRailType().

Referenced by CmdBuildRailWaypoint(), and MoveWaypointsToBaseStations().

static void MakeRoadStop | ( | TileIndex | t,
|  | Owner | o,
|  | StationID | sid,
|  | RoadStopType | rst,
|  | RoadTypes | rt,
|  | DiagDirection | d |
| ) |  |  | `[inline, static]`

Make the given tile a roadstop tile.

Parameters:

  | t | the tile to make a roadstop
  | o | the owner of the roadstop
  | sid | the station to which this tile belongs
  | rst | the type of roadstop to make this tile
  | rt | the roadtypes on this tile
  | d | the direction of the roadstop

Definition at line 599 of file station_map.h.

References MakeStation(), ROADSTOP_BUS, ROADTYPE_ROAD, and ROADTYPE_TRAM.

Referenced by CmdBuildRoadStop().

static void MakeStation | ( | TileIndex | t,
|  | Owner | o,
|  | StationID | sid,
|  | StationType | st,
|  | byte | section |
| ) |  |  | `[inline, static]`

Make the given tile a station tile.

Parameters:

  | t | the tile to make a station tile
  | o | the owner of the station
  | sid | the station to which this tile belongs
  | st | the type this station tile
  | section | the StationGfx to be used for this tile

Definition at line 545 of file station_map.h.

References _m, _me, Tile::m2, Tile::m3, Tile::m4, Tile::m5, TileExtended::m7, MP_STATION, SB(), SetTileOwner(), and SetTileType().

Referenced by MakeAirport(), MakeBuoy(), MakeDock(), MakeDriveThroughRoadStop(), MakeOilrig(), MakeRailStation(), MakeRailWaypoint(), and MakeRoadStop().

static void SetCustomStationSpecIndex | ( | TileIndex | t,
|  | byte | specindex |
| ) |  |  | `[inline, static]`

Set the custom station spec for this tile.

Parameters:

  | t | Tile to set the stationspec of.

Precondition:
  HasStationTileRail(t)

Definition at line 496 of file station_map.h.

References _m, HasStationTileRail(), and Tile::m4.

Referenced by CmdBuildRailStation(), CmdBuildRailWaypoint(), and MoveWaypointsToBaseStations().

static void SetRailStationReservation | ( | TileIndex | t,
|  | bool | b |
| ) |  |  | `[inline, static]`

Set the reservation state of the rail station.

Precondition:
  HasStationRail(t)

Parameters:

  | t | the station tile
  | b | the reservation state

Definition at line 421 of file station_map.h.

References _m, HasStationRail(), and SB().

Referenced by CmdBuildRailWaypoint(), MakeRailStation(), MakeRailWaypoint(), MoveWaypointsToBaseStations(), NPFSaveTargetData(), CYapfReserveTrack< Types >::ReserveRailStationPlatform(), SetRailStationPlatformReservation(), TryReserveRailTrack(), UnreserveRailTrack(), and CYapfReserveTrack< Types >::UnreserveSingleTrack().

static void SetStationAnimationFrame | ( | TileIndex | t,
|  | uint8 | frame |
| ) |  |  | `[inline, static]`

Set the station's animation frame of this tile.

Parameters:

  | t | the tile to update
  | frame | the new frame

Precondition:
  IsTileType(t, MP_STATION)

Definition at line 107 of file station_map.h.

References _me, IsTileType(), TileExtended::m7, and MP_STATION.

Referenced by CmdBuildRailStation().

static void SetStationGfx | ( | TileIndex | t,
|  | StationGfx | gfx |
| ) |  |  | `[inline, static]`

Set the station graphics of this tile.

Parameters:

  | t | the tile to update
  | gfx | the new graphics

Precondition:
  IsTileType(t, MP_STATION)

Definition at line 83 of file station_map.h.

References _m, IsTileType(), Tile::m5, and MP_STATION.

Referenced by CmdBuildRailStation().

static void SetStationTileRandomBits | ( | TileIndex | t,
|  | byte | random_bits |
| ) |  |  | `[inline, static]`

Set the random bits for a station tile.

Parameters:

  | t | Tile to set random bits for

Precondition:
  IsTileType(t, MP_STATION)

Definition at line 519 of file station_map.h.

References _m, IsTileType(), MP_STATION, and SB().

Referenced by CmdBuildRailStation().