diff --git a/src/openrct2/ride/ride.c b/src/openrct2/ride/ride.c index 5c344f3034..5863ba6016 100644 --- a/src/openrct2/ride/ride.c +++ b/src/openrct2/ride/ride.c @@ -8612,10 +8612,14 @@ bool ride_type_supports_boosters(uint8 rideType) return false; } -uint16 get_booster_speed(uint8 rideType, uint16 rawSpeed) +sint32 get_booster_speed(uint8 rideType, sint32 rawSpeed) { sint8 shiftFactor = RideProperties[rideType].booster_speed_factor; - if (shiftFactor > 0) + if (shiftFactor == 0) + { + return rawSpeed; + } + else if (shiftFactor > 0) { return (rawSpeed << shiftFactor); } diff --git a/src/openrct2/ride/ride.h b/src/openrct2/ride/ride.h index 1e76388a5e..b4ac78de87 100644 --- a/src/openrct2/ride/ride.h +++ b/src/openrct2/ride/ride.h @@ -1194,6 +1194,6 @@ const char * ride_type_get_enum_name(sint32 rideType); uint8 ride_entry_get_first_non_null_ride_type(rct_ride_entry * rideEntry); bool ride_type_supports_boosters(uint8 rideType); -uint16 get_booster_speed(uint8 rideType, uint16 rawSpeed); +sint32 get_booster_speed(uint8 rideType, sint32 rawSpeed); #endif