From 19d35e6898d852359e08eb2d077407db5e4dd36c Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Micha=C5=82=20Janiszewski?= Date: Wed, 10 Jan 2018 21:17:33 +0100 Subject: [PATCH] MSVC fixes pt 5 --- src/openrct2/ride/Ride.h | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/src/openrct2/ride/Ride.h b/src/openrct2/ride/Ride.h index f50fd67b2c..2194bcccbf 100644 --- a/src/openrct2/ride/Ride.h +++ b/src/openrct2/ride/Ride.h @@ -763,7 +763,7 @@ enum { RIDE_ELEMENT_WHIRLPOOL = 1 << 7 }; -enum { +enum ride_type_flags { RIDE_TYPE_FLAG_HAS_TRACK_COLOUR_MAIN = 1 << 0, RIDE_TYPE_FLAG_HAS_TRACK_COLOUR_ADDITIONAL = 1 << 1, RIDE_TYPE_FLAG_HAS_TRACK_COLOUR_SUPPORTS = 1 << 2, @@ -797,6 +797,10 @@ enum { RIDE_TYPE_FLAG_HAS_LARGE_CURVES = 1 << 30, // whether the ride supports large (45 degree turn) curves RIDE_TYPE_FLAG_SUPPORTS_MULTIPLE_TRACK_COLOUR = 1u << 31, }; +#ifdef __cplusplus +// Hack for MSVC which thinks RIDE_TYPE_FLAG_SUPPORTS_MULTIPLE_TRACK_COLOUR = 1u << 31 is signed and generates narrowing conversion warnings +constexpr inline uint32 operator | (ride_type_flags a, ride_type_flags b) { return static_cast(static_cast(a) | static_cast(b)); } +#endif enum { RIDE_CRASH_TYPE_NONE = 0,