@@ -367,13 +367,13 @@ static inline Track FindFirstTrack(Track
* @param tracks The TrackBits value to convert
* @return The Track from the value or INVALID_TRACK
* @pre tracks must contains only one Track or be INVALID_TRACK_BIT
*/
static inline Track TrackBitsToTrack(TrackBits tracks)
{
assert(tracks == INVALID_TRACK_BIT || (tracks != TRACK_BIT_NONE && KILL_FIRST_BIT(tracks & TRACK_BIT_MASK) == 0));
assert(tracks == INVALID_TRACK_BIT || (tracks != TRACK_BIT_NONE && KillFirstBit(tracks & TRACK_BIT_MASK) == TRACK_BIT_NONE));
return tracks != INVALID_TRACK_BIT ? (Track)FIND_FIRST_BIT(tracks & TRACK_BIT_MASK) : INVALID_TRACK;
}
/**
* Returns first Trackdir from TrackdirBits or INVALID_TRACKDIR
*
@@ -782,13 +782,13 @@ static inline bool HasPowerOnRail(RailTy
* @param bits The tracks present.
* @return Whether the tracks present overlap in any way.
static inline bool TracksOverlap(TrackBits bits)
/* With no, or only one track, there is no overlap */
if (bits == 0 || KILL_FIRST_BIT(bits) == 0) return false;
if (bits == TRACK_BIT_NONE || KillFirstBit(bits) == TRACK_BIT_NONE) return false;
/* We know that there are at least two tracks present. When there are more
* than 2 tracks, they will surely overlap. When there are two, they will
* always overlap unless they are lower & upper or right & left. */
return bits != TRACK_BIT_HORZ && bits != TRACK_BIT_VERT;