summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--rail.h43
-rw-r--r--rail_map.h37
2 files changed, 37 insertions, 43 deletions
diff --git a/rail.h b/rail.h
index 9a7240b4f..db25c0528 100644
--- a/rail.h
+++ b/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
diff --git a/rail_map.h b/rail_map.h
index 54f766206..6ae9a9b73 100644
--- a/rail_map.h
+++ b/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)
{