From 173202f258f9655a1131db7fb992702fb0917062 Mon Sep 17 00:00:00 2001 From: Jonathan G Rennison Date: Wed, 24 Jan 2024 18:53:58 +0000 Subject: [PATCH] Split bit numbers from values in RailTypeFlags, RoadTypeFlags enums --- src/rail.h | 7 +++++-- src/road.h | 7 +++++-- 2 files changed, 10 insertions(+), 4 deletions(-) diff --git a/src/rail.h b/src/rail.h index d937e150d57..4db9df5a941 100644 --- a/src/rail.h +++ b/src/rail.h @@ -23,15 +23,18 @@ #include "settings_type.h" #include -/** Railtype flags. */ -enum RailTypeFlags { +/** Railtype flag bit numbers. */ +enum RailTypeFlag { RTF_CATENARY = 0, ///< Bit number for drawing a catenary. RTF_NO_LEVEL_CROSSING = 1, ///< Bit number for disallowing level crossings. RTF_HIDDEN = 2, ///< Bit number for hiding from selection. RTF_NO_SPRITE_COMBINE = 3, ///< Bit number for using non-combined junctions. RTF_ALLOW_90DEG = 4, ///< Bit number for always allowed 90 degree turns, regardless of setting. RTF_DISALLOW_90DEG = 5, ///< Bit number for never allowed 90 degree turns, regardless of setting. +}; +/** Railtype flags. */ +enum RailTypeFlags : uint8_t { RTFB_NONE = 0, ///< All flags cleared. RTFB_CATENARY = 1 << RTF_CATENARY, ///< Value for drawing a catenary. RTFB_NO_LEVEL_CROSSING = 1 << RTF_NO_LEVEL_CROSSING, ///< Value for disallowing level crossings. diff --git a/src/road.h b/src/road.h index 2ce565f80ae..b992a9667e7 100644 --- a/src/road.h +++ b/src/road.h @@ -35,14 +35,17 @@ DECLARE_ENUM_AS_BIT_SET(RoadTramTypes) static const RoadTramType _roadtramtypes[] = { RTT_ROAD, RTT_TRAM }; -/** Roadtype flags. Starts with RO instead of R because R is used for rails */ -enum RoadTypeFlags { +/** Roadtype flag bit numbers. Starts with RO instead of R because R is used for rails */ +enum RoadTypeFlag { ROTF_CATENARY = 0, ///< Bit number for adding catenary ROTF_NO_LEVEL_CROSSING, ///< Bit number for disabling level crossing ROTF_NO_HOUSES, ///< Bit number for setting this roadtype as not house friendly ROTF_HIDDEN, ///< Bit number for hidden from construction. ROTF_TOWN_BUILD, ///< Bit number for allowing towns to build this roadtype. +}; +/** Roadtype flags. Starts with RO instead of R because R is used for rails */ +enum RoadTypeFlags : uint8_t { ROTFB_NONE = 0, ///< All flags cleared. ROTFB_CATENARY = 1 << ROTF_CATENARY, ///< Value for drawing a catenary. ROTFB_NO_LEVEL_CROSSING = 1 << ROTF_NO_LEVEL_CROSSING, ///< Value for disabling a level crossing.