diff --git a/rail_map.h b/rail_map.h index bf32f50308..67973b9fb4 100644 --- a/rail_map.h +++ b/rail_map.h @@ -60,6 +60,14 @@ static inline RailTileSubtype GetRailTileSubtype(TileIndex tile) } +static inline bool IsRailWaypoint(TileIndex t) +{ + return + GetRailTileType(t) == RAIL_TILE_DEPOT_WAYPOINT && + GetRailTileSubtype(t) == RAIL_SUBTYPE_WAYPOINT; +} + + static inline RailType GetRailType(TileIndex t) { return (RailType)GB(_m[t].m3, 0, 4); diff --git a/waypoint.h b/waypoint.h index d32c85a18d..207b46027b 100644 --- a/waypoint.h +++ b/waypoint.h @@ -24,11 +24,6 @@ struct Waypoint { byte deleted; ///< Delete counter. If greater than 0 then it is decremented until it reaches 0; the waypoint is then is deleted. }; -enum { - RAIL_TILE_WAYPOINT = 0xC4, - RAIL_WAYPOINT_TRACK_MASK = 1, -}; - extern MemoryPool _waypoint_pool; /** @@ -55,10 +50,6 @@ static inline bool IsWaypointIndex(uint index) #define FOR_ALL_WAYPOINTS_FROM(wp, start) for (wp = GetWaypoint(start); wp != NULL; wp = (wp->index + 1 < GetWaypointPoolSize()) ? GetWaypoint(wp->index + 1) : NULL) #define FOR_ALL_WAYPOINTS(wp) FOR_ALL_WAYPOINTS_FROM(wp, 0) -static inline bool IsRailWaypoint(TileIndex tile) -{ - return (_m[tile].m5 & 0xFC) == 0xC4; -} /** * Fetch a waypoint by tile