MCPcopy Create free account
hub / github.com/OpenTTD/OpenTTD / GetTileRailType

Function GetTileRailType

src/rail.cpp:37–60  ·  view source on GitHub ↗

* Return the rail type of tile, or INVALID_RAILTYPE if this is no rail tile. */

Source from the content-addressed store, hash-verified

35 * Return the rail type of tile, or INVALID_RAILTYPE if this is no rail tile.
36 */
37RailType GetTileRailType(Tile tile)
38{
39 switch (GetTileType(tile)) {
40 case MP_RAILWAY:
41 return GetRailType(tile);
42
43 case MP_ROAD:
44 /* rail/road crossing */
45 if (IsLevelCrossing(tile)) return GetRailType(tile);
46 break;
47
48 case MP_STATION:
49 if (HasStationRail(tile)) return GetRailType(tile);
50 break;
51
52 case MP_TUNNELBRIDGE:
53 if (GetTunnelBridgeTransportType(tile) == TRANSPORT_RAIL) return GetRailType(tile);
54 break;
55
56 default:
57 break;
58 }
59 return INVALID_RAILTYPE;
60}
61
62/**
63 * Finds out if a company has a certain buildable railtype available.

Callers 15

GetTrainForReservationFunction · 0.85
IsSafeWaitingPositionFunction · 0.85
IsWaitingPositionFreeFunction · 0.85
GetTrackTypesFunction · 0.85
CheckNextTrainTileFunction · 0.85
ExtendTrainReservationFunction · 0.85
ChooseTrainTrackFunction · 0.85
TryPathReserveFunction · 0.85
TrainControllerFunction · 0.85
TrainCheckIfLineEndsFunction · 0.85
ShowVisualEffectMethod · 0.85
MaskWireBitsFunction · 0.85

Calls 5

GetTileTypeFunction · 0.85
GetRailTypeFunction · 0.85
IsLevelCrossingFunction · 0.85
HasStationRailFunction · 0.85

Tested by

no test coverage detected