Add: [NewGRF] Extended custom waypoint classes. (#12653)

This allows waypoints to be split into categories just like stations, instead of all being lumped together.

Station class labels with the first byte set to 0xFF will be treated in the same way as the 'WAYP' class.

(cherry picked from commit 2c70ccb137)
This commit is contained in:
Peter Nelson 2024-05-26 09:53:33 +01:00 committed by Jonathan G Rennison
parent fe14fe6d3c
commit 84c6a917d8
2 changed files with 2 additions and 2 deletions

View File

@ -220,7 +220,7 @@ void StationUpdateRoadStopCachedTriggers(BaseStation *st);
*/
inline bool IsWaypointClass(const RoadStopClass &cls)
{
return cls.global_id == ROADSTOP_CLASS_LABEL_WAYPOINT;
return cls.global_id == ROADSTOP_CLASS_LABEL_WAYPOINT || GB(cls.global_id, 24, 8) == UINT8_MAX;
}
#endif /* NEWGRF_ROADSTATION_H */

View File

@ -220,7 +220,7 @@ inline uint16_t GetStationLayoutKey(uint8_t platforms, uint8_t length)
*/
inline bool IsWaypointClass(const StationClass &cls)
{
return cls.global_id == STATION_CLASS_LABEL_WAYPOINT;
return cls.global_id == STATION_CLASS_LABEL_WAYPOINT || GB(cls.global_id, 24, 8) == UINT8_MAX;
}
/* Evaluate a tile's position within a station, and return the result a bitstuffed format. */