mirror of https://github.com/OpenRCT2/OpenRCT2.git
Fix code to determine number of golf holes
This commit is contained in:
parent
64e51cd34b
commit
2a99c42242
|
@ -1261,7 +1261,8 @@ static rating_tuple ride_ratings_get_turns_ratings(Ride* ride)
|
|||
intensity += var_112_rating.intensity;
|
||||
nausea += var_112_rating.nausea;
|
||||
|
||||
rating_tuple inversions_rating = get_inversions_ratings(ride->inversions);
|
||||
auto inversions = (ride->type == RIDE_TYPE_MINI_GOLF) ? ride->holes : ride->inversions;
|
||||
rating_tuple inversions_rating = get_inversions_ratings(inversions);
|
||||
excitement += inversions_rating.excitement;
|
||||
intensity += inversions_rating.intensity;
|
||||
nausea += inversions_rating.nausea;
|
||||
|
|
|
@ -197,6 +197,7 @@ enum
|
|||
TRACK_ELEM_FLAG_DOWN = (1 << 5),
|
||||
TRACK_ELEM_FLAG_UP = (1 << 6),
|
||||
TRACK_ELEM_FLAG_NORMAL_TO_INVERSION = (1 << 7),
|
||||
TRACK_ELEM_FLAG_IS_GOLF_HOLE = (1 << 7),
|
||||
TRACK_ELEM_FLAG_STARTS_AT_HALF_HEIGHT = (1 << 8),
|
||||
TRACK_ELEM_FLAG_ONLY_ABOVE_GROUND = (1 << 9),
|
||||
TRACK_ELEM_FLAG_IS_STEEP_UP = (1 << 10), // Used to allow steep backwards lifts on roller coasters that do not allow steep
|
||||
|
|
|
@ -32250,11 +32250,11 @@ const uint16_t TrackFlags[] = {
|
|||
/* TRACK_ELEM_HEARTLINE_TRANSFER_DOWN */ 0,
|
||||
/* TRACK_ELEM_LEFT_HEARTLINE_ROLL */ TRACK_ELEM_FLAG_NORMAL_TO_INVERSION | TRACK_ELEM_FLAG_INVERSION_TO_NORMAL,
|
||||
/* TRACK_ELEM_RIGHT_HEARTLINE_ROLL */ TRACK_ELEM_FLAG_NORMAL_TO_INVERSION | TRACK_ELEM_FLAG_INVERSION_TO_NORMAL,
|
||||
/* TRACK_ELEM_MINI_GOLF_HOLE_A */ TRACK_ELEM_FLAG_NORMAL_TO_INVERSION,
|
||||
/* TRACK_ELEM_MINI_GOLF_HOLE_B */ TRACK_ELEM_FLAG_NORMAL_TO_INVERSION,
|
||||
/* TRACK_ELEM_MINI_GOLF_HOLE_C */ TRACK_ELEM_FLAG_NORMAL_TO_INVERSION,
|
||||
/* TRACK_ELEM_MINI_GOLF_HOLE_D */ TRACK_ELEM_FLAG_NORMAL_TO_INVERSION,
|
||||
/* TRACK_ELEM_MINI_GOLF_HOLE_E */ TRACK_ELEM_FLAG_NORMAL_TO_INVERSION,
|
||||
/* TRACK_ELEM_MINI_GOLF_HOLE_A */ TRACK_ELEM_FLAG_IS_GOLF_HOLE,
|
||||
/* TRACK_ELEM_MINI_GOLF_HOLE_B */ TRACK_ELEM_FLAG_IS_GOLF_HOLE,
|
||||
/* TRACK_ELEM_MINI_GOLF_HOLE_C */ TRACK_ELEM_FLAG_IS_GOLF_HOLE,
|
||||
/* TRACK_ELEM_MINI_GOLF_HOLE_D */ TRACK_ELEM_FLAG_IS_GOLF_HOLE,
|
||||
/* TRACK_ELEM_MINI_GOLF_HOLE_E */ TRACK_ELEM_FLAG_IS_GOLF_HOLE,
|
||||
/* TRACK_ELEM_MULTIDIM_INVERTED_FLAT_TO_90_DEG_QUARTER_LOOP_DOWN */ TRACK_ELEM_FLAG_DOWN | TRACK_ELEM_FLAG_INVERSION_TO_NORMAL,
|
||||
/* TRACK_ELEM_90_DEG_TO_INVERTED_FLAT_QUARTER_LOOP_UP */ TRACK_ELEM_FLAG_UP | TRACK_ELEM_FLAG_NORMAL_TO_INVERSION | TRACK_ELEM_FLAG_INVERSION_TO_NORMAL,
|
||||
/* TRACK_ELEM_INVERTED_FLAT_TO_90_DEG_QUARTER_LOOP_DOWN */ TRACK_ELEM_FLAG_DOWN | TRACK_ELEM_FLAG_INVERSION_TO_NORMAL,
|
||||
|
|
|
@ -1781,13 +1781,21 @@ static void vehicle_update_measurements(rct_vehicle* vehicle)
|
|||
ride->start_drop_height = vehicle->z / 8;
|
||||
}
|
||||
|
||||
if (track_flags & TRACK_ELEM_FLAG_NORMAL_TO_INVERSION)
|
||||
if (ride->type == RIDE_TYPE_MINI_GOLF)
|
||||
{
|
||||
uint8_t inversions = ride->inversions;
|
||||
if (inversions != 255)
|
||||
inversions++;
|
||||
|
||||
ride->inversions = inversions;
|
||||
if (track_flags & TRACK_ELEM_FLAG_IS_GOLF_HOLE)
|
||||
{
|
||||
if (ride->holes < 255)
|
||||
ride->holes++;
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
if (track_flags & TRACK_ELEM_FLAG_NORMAL_TO_INVERSION)
|
||||
{
|
||||
if (ride->inversions < 255)
|
||||
ride->inversions++;
|
||||
}
|
||||
}
|
||||
|
||||
if (track_flags & TRACK_ELEM_FLAG_HELIX)
|
||||
|
|
Loading…
Reference in New Issue