diff options
-rw-r--r-- | src/rail_type.h | 5 |
1 files changed, 3 insertions, 2 deletions
diff --git a/src/rail_type.h b/src/rail_type.h index ebca7ec35..2bd602a37 100644 --- a/src/rail_type.h +++ b/src/rail_type.h @@ -47,9 +47,10 @@ template <> struct EnumPropsT<RailType> : MakeEnumPropsT<RailType, byte, RAILTYP typedef TinyEnumT<RailType> RailTypeByte; /** - * The different roadtypes we support, but then a bitmask of them + * The different railtypes we support, but then a bitmask of them. + * @note Must be treated as a uint64 type, narrowing it causes bit membership tests to give wrong results, as in bug #6951. */ -enum RailTypes { +enum RailTypes : uint64 { RAILTYPES_NONE = 0, ///< No rail types RAILTYPES_RAIL = 1 << RAILTYPE_RAIL, ///< Non-electrified rails RAILTYPES_ELECTRIC = 1 << RAILTYPE_ELECTRIC, ///< Electrified rails |