Skip to content

Commit

Permalink
Split bit numbers from values in RailTypeFlags, RoadTypeFlags enums
Browse files Browse the repository at this point in the history
  • Loading branch information
JGRennison committed Jan 24, 2024
1 parent b1c80e2 commit 173202f
Show file tree
Hide file tree
Showing 2 changed files with 10 additions and 4 deletions.
7 changes: 5 additions & 2 deletions src/rail.h
Original file line number Diff line number Diff line change
Expand Up @@ -23,15 +23,18 @@
#include "settings_type.h"
#include <vector>

/** 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.
Expand Down
7 changes: 5 additions & 2 deletions src/road.h
Original file line number Diff line number Diff line change
Expand Up @@ -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.
Expand Down

0 comments on commit 173202f

Please sign in to comment.