From 49b66ea504fafe9b942b35a97c369c4afa054f41 Mon Sep 17 00:00:00 2001 From: glx22 Date: Sun, 13 Jun 2021 05:15:36 +0200 Subject: [PATCH] Codechange: Remove FOR_EACH_SET_TRACK --- src/elrail.cpp | 3 +-- src/pathfinder/follow_track.hpp | 3 +-- src/pathfinder/npf/npf.cpp | 3 +-- src/track_func.h | 11 +---------- src/train_cmd.cpp | 3 +-- 5 files changed, 5 insertions(+), 18 deletions(-) diff --git a/src/elrail.cpp b/src/elrail.cpp index 4959bb2cba..03adb0c8c9 100644 --- a/src/elrail.cpp +++ b/src/elrail.cpp @@ -470,8 +470,7 @@ static void DrawRailCatenaryRailway(const TileInfo *ti) } /* Drawing of pylons is finished, now draw the wires */ - Track t; - FOR_EACH_SET_TRACK(t, wireconfig[TS_HOME]) { + for (Track t : SetTrackBitIterator(wireconfig[TS_HOME])) { SpriteID wire_base = (t == halftile_track) ? wire_halftile : wire_normal; byte PCPconfig = HasBit(PCPstatus, PCPpositions[t][0]) + (HasBit(PCPstatus, PCPpositions[t][1]) << 1); diff --git a/src/pathfinder/follow_track.hpp b/src/pathfinder/follow_track.hpp index 7e5e0e39b7..a9a51da68a 100644 --- a/src/pathfinder/follow_track.hpp +++ b/src/pathfinder/follow_track.hpp @@ -184,8 +184,7 @@ struct CFollowTrackT /* Mask already reserved trackdirs. */ m_new_td_bits &= ~TrackBitsToTrackdirBits(reserved); /* Mask out all trackdirs that conflict with the reservation. */ - Track t; - FOR_EACH_SET_TRACK(t, TrackdirBitsToTrackBits(m_new_td_bits)) { + for (Track t : SetTrackBitIterator(TrackdirBitsToTrackBits(m_new_td_bits))) { if (TracksOverlap(reserved | TrackToTrackBits(t))) m_new_td_bits &= ~TrackToTrackdirBits(t); } if (m_new_td_bits == TRACKDIR_BIT_NONE) { diff --git a/src/pathfinder/npf/npf.cpp b/src/pathfinder/npf/npf.cpp index 5887181851..24803fb31b 100644 --- a/src/pathfinder/npf/npf.cpp +++ b/src/pathfinder/npf/npf.cpp @@ -954,8 +954,7 @@ static void NPFFollowTrack(AyStar *aystar, OpenListNode *current) TrackBits reserved = GetReservedTrackbits(dst_tile); trackdirbits &= ~TrackBitsToTrackdirBits(reserved); - Track t; - FOR_EACH_SET_TRACK(t, TrackdirBitsToTrackBits(trackdirbits)) { + for (Track t : SetTrackBitIterator(TrackdirBitsToTrackBits(trackdirbits))) { if (TracksOverlap(reserved | TrackToTrackBits(t))) trackdirbits &= ~TrackToTrackdirBits(t); } } diff --git a/src/track_func.h b/src/track_func.h index 1b56668780..6467450646 100644 --- a/src/track_func.h +++ b/src/track_func.h @@ -15,16 +15,7 @@ #include "direction_func.h" #include "slope_func.h" -/** - * Iterate through each set Track in a TrackBits value. - * For more information see FOR_EACH_SET_BIT_EX. - * - * @param var Loop index variable that stores fallowing set track. Must be of type Track. - * @param track_bits The value to iterate through (any expression). - * - * @see FOR_EACH_SET_BIT_EX - */ -#define FOR_EACH_SET_TRACK(var, track_bits) FOR_EACH_SET_BIT_EX(Track, var, TrackBits, track_bits) +using SetTrackBitIterator = SetBitIterator; /** * Checks if a Track is valid. diff --git a/src/train_cmd.cpp b/src/train_cmd.cpp index 47895122be..17e298c33d 100644 --- a/src/train_cmd.cpp +++ b/src/train_cmd.cpp @@ -3485,8 +3485,7 @@ static void DeleteLastWagon(Train *v) /* It is important that these two are the first in the loop, as reservation cannot deal with every trackbit combination */ assert(TRACK_BEGIN == TRACK_X && TRACK_Y == TRACK_BEGIN + 1); - Track t; - FOR_EACH_SET_TRACK(t, remaining_trackbits) TryReserveRailTrack(tile, t); + for (Track t : SetTrackBitIterator(remaining_trackbits)) TryReserveRailTrack(tile, t); } /* check if the wagon was on a road/rail-crossing */