mirror of https://github.com/OpenTTD/OpenTTD.git
(svn r4764) Move some functions from rail.h to rail_map.h
This commit is contained in:
parent
ec1edb127a
commit
4f092c8de8
43
rail.h
43
rail.h
|
@ -178,49 +178,6 @@ static inline byte SignalOnTrack(Track track) {
|
|||
return _signal_on_track[track];
|
||||
}
|
||||
|
||||
/*
|
||||
* Some functions to query rail tiles
|
||||
*/
|
||||
|
||||
|
||||
/**
|
||||
* Checks if a rail tile has signals.
|
||||
*/
|
||||
static inline bool HasSignals(TileIndex tile)
|
||||
{
|
||||
return GetRailTileType(tile) == RAIL_TYPE_SIGNALS;
|
||||
}
|
||||
|
||||
/**
|
||||
* Returns the RailTileSubtype of a given rail tile with type
|
||||
* RAIL_TYPE_DEPOT_WAYPOINT
|
||||
*/
|
||||
static inline RailTileSubtype GetRailTileSubtype(TileIndex tile)
|
||||
{
|
||||
assert(GetRailTileType(tile) == RAIL_TYPE_DEPOT_WAYPOINT);
|
||||
return (RailTileSubtype)(_m[tile].m5 & RAIL_SUBTYPE_MASK);
|
||||
}
|
||||
|
||||
/**
|
||||
* Returns whether this is plain rails, with or without signals. Iow, if this
|
||||
* tiles RailTileType is RAIL_TYPE_NORMAL or RAIL_TYPE_SIGNALS.
|
||||
*/
|
||||
static inline bool IsPlainRailTile(TileIndex tile)
|
||||
{
|
||||
RailTileType rtt = GetRailTileType(tile);
|
||||
return rtt == RAIL_TYPE_NORMAL || rtt == RAIL_TYPE_SIGNALS;
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* Returns whether the given track is present on the given tile. Tile must be
|
||||
* a plain rail tile (IsPlainRailTile()).
|
||||
*/
|
||||
static inline bool HasTrack(TileIndex tile, Track track)
|
||||
{
|
||||
assert(IsValidTrack(track));
|
||||
return HASBIT(GetTrackBits(tile), track);
|
||||
}
|
||||
|
||||
/*
|
||||
* Functions describing logical relations between Tracks, TrackBits, Trackdirs
|
||||
|
|
37
rail_map.h
37
rail_map.h
|
@ -21,6 +21,24 @@ static inline RailTileType GetRailTileType(TileIndex t)
|
|||
return _m[t].m5 & RAIL_TILE_TYPE_MASK;
|
||||
}
|
||||
|
||||
/**
|
||||
* Returns whether this is plain rails, with or without signals. Iow, if this
|
||||
* tiles RailTileType is RAIL_TYPE_NORMAL or RAIL_TYPE_SIGNALS.
|
||||
*/
|
||||
static inline bool IsPlainRailTile(TileIndex tile)
|
||||
{
|
||||
RailTileType rtt = GetRailTileType(tile);
|
||||
return rtt == RAIL_TYPE_NORMAL || rtt == RAIL_TYPE_SIGNALS;
|
||||
}
|
||||
|
||||
/**
|
||||
* Checks if a rail tile has signals.
|
||||
*/
|
||||
static inline bool HasSignals(TileIndex tile)
|
||||
{
|
||||
return GetRailTileType(tile) == RAIL_TYPE_SIGNALS;
|
||||
}
|
||||
|
||||
|
||||
/** These specify the subtype when the main rail type is
|
||||
* RAIL_TYPE_DEPOT_WAYPOINT */
|
||||
|
@ -30,6 +48,16 @@ typedef enum RailTileSubtypes {
|
|||
RAIL_SUBTYPE_MASK = 0x3C
|
||||
} RailTileSubtype;
|
||||
|
||||
/**
|
||||
* Returns the RailTileSubtype of a given rail tile with type
|
||||
* RAIL_TYPE_DEPOT_WAYPOINT
|
||||
*/
|
||||
static inline RailTileSubtype GetRailTileSubtype(TileIndex tile)
|
||||
{
|
||||
assert(GetRailTileType(tile) == RAIL_TYPE_DEPOT_WAYPOINT);
|
||||
return (RailTileSubtype)(_m[tile].m5 & RAIL_SUBTYPE_MASK);
|
||||
}
|
||||
|
||||
|
||||
typedef enum RailTypes {
|
||||
RAILTYPE_RAIL = 0,
|
||||
|
@ -118,6 +146,15 @@ static inline void SetTrackBits(TileIndex t, TrackBits b)
|
|||
SB(_m[t].m5, 0, 6, b);
|
||||
}
|
||||
|
||||
/**
|
||||
* Returns whether the given track is present on the given tile. Tile must be
|
||||
* a plain rail tile (IsPlainRailTile()).
|
||||
*/
|
||||
static inline bool HasTrack(TileIndex tile, Track track)
|
||||
{
|
||||
return HASBIT(GetTrackBits(tile), track);
|
||||
}
|
||||
|
||||
|
||||
static inline DiagDirection GetRailDepotDirection(TileIndex t)
|
||||
{
|
||||
|
|
Loading…
Reference in New Issue