diff options
Diffstat (limited to 'src/station.h')
-rw-r--r-- | src/station.h | 12 |
1 files changed, 3 insertions, 9 deletions
diff --git a/src/station.h b/src/station.h index b4365d2ba..0202e7209 100644 --- a/src/station.h +++ b/src/station.h @@ -64,6 +64,8 @@ typedef struct RoadStop { void *operator new (size_t size, int index); void operator delete(void *rs, int index); + bool IsValid() const; +protected: static RoadStop *AllocateRaw(void); } RoadStop; @@ -253,15 +255,7 @@ static inline bool IsValidStationID(StationID index) DECLARE_OLD_POOL(RoadStop, RoadStop, 5, 2000) -/** - * Check if a RaodStop really exists. - */ -static inline bool IsValidRoadStop(const RoadStop *rs) -{ - return rs->xy != INVALID_TILE; -} - -#define FOR_ALL_ROADSTOPS_FROM(rs, start) for (rs = GetRoadStop(start); rs != NULL; rs = (rs->index + 1U < GetRoadStopPoolSize()) ? GetRoadStop(rs->index + 1U) : NULL) if (IsValidRoadStop(rs)) +#define FOR_ALL_ROADSTOPS_FROM(rs, start) for (rs = GetRoadStop(start); rs != NULL; rs = (rs->index + 1U < GetRoadStopPoolSize()) ? GetRoadStop(rs->index + 1U) : NULL) if (rs->IsValid()) #define FOR_ALL_ROADSTOPS(rs) FOR_ALL_ROADSTOPS_FROM(rs, 0) /* End of stuff for ROADSTOPS */ |