diff --git a/src/openrct2/rct2/S6Exporter.cpp b/src/openrct2/rct2/S6Exporter.cpp index f9eb4c1424..b505ee1667 100644 --- a/src/openrct2/rct2/S6Exporter.cpp +++ b/src/openrct2/rct2/S6Exporter.cpp @@ -772,24 +772,24 @@ void S6Exporter::ExportRideRatingsCalcData() { const auto& src = gRideRatingsCalcData; auto& dst = _s6.ride_ratings_calc_data; - dst.proximity_x = src.proximity.x; - dst.proximity_y = src.proximity.y; - dst.proximity_z = src.proximity.z; - dst.proximity_start_x = src.proximity_start.x; - dst.proximity_start_y = src.proximity_start.y; - dst.proximity_start_z = src.proximity_start.z; - dst.current_ride = src.current_ride; - dst.state = src.state; - dst.proximity_track_type = src.proximity_track_type; - dst.proximity_base_height = src.proximity_base_height; - dst.proximity_total = src.proximity_total; + dst.proximity_x = src.Proximity.x; + dst.proximity_y = src.Proximity.y; + dst.proximity_z = src.Proximity.z; + dst.proximity_start_x = src.ProximityStart.x; + dst.proximity_start_y = src.ProximityStart.y; + dst.proximity_start_z = src.ProximityStart.z; + dst.current_ride = src.CurrentRide; + dst.state = src.State; + dst.proximity_track_type = src.ProximityTrackType; + dst.proximity_base_height = src.ProximityBaseHeight; + dst.proximity_total = src.ProximityTotal; for (size_t i = 0; i < std::size(dst.proximity_scores); i++) { - dst.proximity_scores[i] = src.proximity_scores[i]; + dst.proximity_scores[i] = src.ProximityScores[i]; } - dst.num_brakes = src.num_brakes; - dst.num_reversers = src.num_reversers; - dst.station_flags = src.station_flags; + dst.num_brakes = src.NumBrakes; + dst.num_reversers = src.NumReversers; + dst.station_flags = src.StationFlags; } void S6Exporter::ExportRideMeasurements() diff --git a/src/openrct2/rct2/S6Importer.cpp b/src/openrct2/rct2/S6Importer.cpp index a9be8d0591..2bc047a17e 100644 --- a/src/openrct2/rct2/S6Importer.cpp +++ b/src/openrct2/rct2/S6Importer.cpp @@ -796,20 +796,20 @@ public: const auto& src = _s6.ride_ratings_calc_data; auto& dst = gRideRatingsCalcData; dst = {}; - dst.proximity = { src.proximity_x, src.proximity_y, src.proximity_z }; - dst.proximity_start = { src.proximity_start_x, src.proximity_start_y, src.proximity_start_z }; - dst.current_ride = src.current_ride; - dst.state = src.state; - dst.proximity_track_type = src.proximity_track_type; - dst.proximity_base_height = src.proximity_base_height; - dst.proximity_total = src.proximity_total; + dst.Proximity = { src.proximity_x, src.proximity_y, src.proximity_z }; + dst.ProximityStart = { src.proximity_start_x, src.proximity_start_y, src.proximity_start_z }; + dst.CurrentRide = src.current_ride; + dst.State = src.state; + dst.ProximityTrackType = src.proximity_track_type; + dst.ProximityBaseHeight = src.proximity_base_height; + dst.ProximityTotal = src.proximity_total; for (size_t i = 0; i < std::size(src.proximity_scores); i++) { - dst.proximity_scores[i] = src.proximity_scores[i]; + dst.ProximityScores[i] = src.proximity_scores[i]; } - dst.num_brakes = src.num_brakes; - dst.num_reversers = src.num_reversers; - dst.station_flags = src.station_flags; + dst.NumBrakes = src.num_brakes; + dst.NumReversers = src.num_reversers; + dst.StationFlags = src.station_flags; } void ImportRideMeasurements() diff --git a/src/openrct2/ride/RideRatings.cpp b/src/openrct2/ride/RideRatings.cpp index 8ffa2e7508..6ac6a15e61 100644 --- a/src/openrct2/ride/RideRatings.cpp +++ b/src/openrct2/ride/RideRatings.cpp @@ -102,9 +102,9 @@ void ride_ratings_update_ride(const Ride& ride) { if (ride.status != RIDE_STATUS_CLOSED) { - gRideRatingsCalcData.current_ride = ride.id; - gRideRatingsCalcData.state = RIDE_RATINGS_STATE_INITIALISE; - while (gRideRatingsCalcData.state != RIDE_RATINGS_STATE_FIND_NEXT_RIDE) + gRideRatingsCalcData.CurrentRide = ride.id; + gRideRatingsCalcData.State = RIDE_RATINGS_STATE_INITIALISE; + while (gRideRatingsCalcData.State != RIDE_RATINGS_STATE_FIND_NEXT_RIDE) { ride_ratings_update_state(); } @@ -125,7 +125,7 @@ void ride_ratings_update_all() static void ride_ratings_update_state() { - switch (gRideRatingsCalcData.state) + switch (gRideRatingsCalcData.State) { case RIDE_RATINGS_STATE_FIND_NEXT_RIDE: ride_ratings_update_state_0(); @@ -154,7 +154,7 @@ static void ride_ratings_update_state() */ static void ride_ratings_update_state_0() { - int32_t currentRide = gRideRatingsCalcData.current_ride; + int32_t currentRide = gRideRatingsCalcData.CurrentRide; currentRide++; if (currentRide == RIDE_ID_NULL) @@ -165,9 +165,9 @@ static void ride_ratings_update_state_0() auto ride = get_ride(currentRide); if (ride != nullptr && ride->status != RIDE_STATUS_CLOSED) { - gRideRatingsCalcData.state = RIDE_RATINGS_STATE_INITIALISE; + gRideRatingsCalcData.State = RIDE_RATINGS_STATE_INITIALISE; } - gRideRatingsCalcData.current_ride = currentRide; + gRideRatingsCalcData.CurrentRide = currentRide; } /** @@ -176,15 +176,15 @@ static void ride_ratings_update_state_0() */ static void ride_ratings_update_state_1() { - gRideRatingsCalcData.proximity_total = 0; + gRideRatingsCalcData.ProximityTotal = 0; for (int32_t i = 0; i < PROXIMITY_COUNT; i++) { - gRideRatingsCalcData.proximity_scores[i] = 0; + gRideRatingsCalcData.ProximityScores[i] = 0; } - gRideRatingsCalcData.num_brakes = 0; - gRideRatingsCalcData.num_reversers = 0; - gRideRatingsCalcData.state = RIDE_RATINGS_STATE_2; - gRideRatingsCalcData.station_flags = 0; + gRideRatingsCalcData.NumBrakes = 0; + gRideRatingsCalcData.NumReversers = 0; + gRideRatingsCalcData.State = RIDE_RATINGS_STATE_2; + gRideRatingsCalcData.StationFlags = 0; ride_ratings_begin_proximity_loop(); } @@ -194,21 +194,21 @@ static void ride_ratings_update_state_1() */ static void ride_ratings_update_state_2() { - const ride_id_t rideIndex = gRideRatingsCalcData.current_ride; + const ride_id_t rideIndex = gRideRatingsCalcData.CurrentRide; auto ride = get_ride(rideIndex); if (ride == nullptr || ride->status == RIDE_STATUS_CLOSED) { - gRideRatingsCalcData.state = RIDE_RATINGS_STATE_FIND_NEXT_RIDE; + gRideRatingsCalcData.State = RIDE_RATINGS_STATE_FIND_NEXT_RIDE; return; } - auto loc = gRideRatingsCalcData.proximity; - int32_t trackType = gRideRatingsCalcData.proximity_track_type; + auto loc = gRideRatingsCalcData.Proximity; + int32_t trackType = gRideRatingsCalcData.ProximityTrackType; TileElement* tileElement = map_get_first_element_at(loc); if (tileElement == nullptr) { - gRideRatingsCalcData.state = RIDE_RATINGS_STATE_FIND_NEXT_RIDE; + gRideRatingsCalcData.State = RIDE_RATINGS_STATE_FIND_NEXT_RIDE; return; } do @@ -232,37 +232,37 @@ static void ride_ratings_update_state_2() if (trackType == TRACK_ELEM_END_STATION) { int32_t entranceIndex = tileElement->AsTrack()->GetStationIndex(); - gRideRatingsCalcData.station_flags &= ~RIDE_RATING_STATION_FLAG_NO_ENTRANCE; + gRideRatingsCalcData.StationFlags &= ~RIDE_RATING_STATION_FLAG_NO_ENTRANCE; if (ride_get_entrance_location(ride, entranceIndex).isNull()) { - gRideRatingsCalcData.station_flags |= RIDE_RATING_STATION_FLAG_NO_ENTRANCE; + gRideRatingsCalcData.StationFlags |= RIDE_RATING_STATION_FLAG_NO_ENTRANCE; } } ride_ratings_score_close_proximity(tileElement); - CoordsXYE trackElement = { gRideRatingsCalcData.proximity, tileElement }; + CoordsXYE trackElement = { gRideRatingsCalcData.Proximity, tileElement }; CoordsXYE nextTrackElement; if (!track_block_get_next(&trackElement, &nextTrackElement, nullptr, nullptr)) { - gRideRatingsCalcData.state = RIDE_RATINGS_STATE_4; + gRideRatingsCalcData.State = RIDE_RATINGS_STATE_4; return; } loc = { nextTrackElement, nextTrackElement.element->GetBaseZ() }; tileElement = nextTrackElement.element; - if (loc == gRideRatingsCalcData.proximity_start) + if (loc == gRideRatingsCalcData.ProximityStart) { - gRideRatingsCalcData.state = RIDE_RATINGS_STATE_CALCULATE; + gRideRatingsCalcData.State = RIDE_RATINGS_STATE_CALCULATE; return; } - gRideRatingsCalcData.proximity = loc; - gRideRatingsCalcData.proximity_track_type = tileElement->AsTrack()->GetTrackType(); + gRideRatingsCalcData.Proximity = loc; + gRideRatingsCalcData.ProximityTrackType = tileElement->AsTrack()->GetTrackType(); return; } } while (!(tileElement++)->IsLastForTile()); - gRideRatingsCalcData.state = RIDE_RATINGS_STATE_FIND_NEXT_RIDE; + gRideRatingsCalcData.State = RIDE_RATINGS_STATE_FIND_NEXT_RIDE; } /** @@ -271,18 +271,18 @@ static void ride_ratings_update_state_2() */ static void ride_ratings_update_state_3() { - auto ride = get_ride(gRideRatingsCalcData.current_ride); + auto ride = get_ride(gRideRatingsCalcData.CurrentRide); if (ride == nullptr || ride->status == RIDE_STATUS_CLOSED) { - gRideRatingsCalcData.state = RIDE_RATINGS_STATE_FIND_NEXT_RIDE; + gRideRatingsCalcData.State = RIDE_RATINGS_STATE_FIND_NEXT_RIDE; return; } ride_ratings_calculate(ride); ride_ratings_calculate_value(ride); - window_invalidate_by_number(WC_RIDE, gRideRatingsCalcData.current_ride); - gRideRatingsCalcData.state = RIDE_RATINGS_STATE_FIND_NEXT_RIDE; + window_invalidate_by_number(WC_RIDE, gRideRatingsCalcData.CurrentRide); + gRideRatingsCalcData.State = RIDE_RATINGS_STATE_FIND_NEXT_RIDE; } /** @@ -291,7 +291,7 @@ static void ride_ratings_update_state_3() */ static void ride_ratings_update_state_4() { - gRideRatingsCalcData.state = RIDE_RATINGS_STATE_5; + gRideRatingsCalcData.State = RIDE_RATINGS_STATE_5; ride_ratings_begin_proximity_loop(); } @@ -301,20 +301,20 @@ static void ride_ratings_update_state_4() */ static void ride_ratings_update_state_5() { - auto ride = get_ride(gRideRatingsCalcData.current_ride); + auto ride = get_ride(gRideRatingsCalcData.CurrentRide); if (ride == nullptr || ride->status == RIDE_STATUS_CLOSED) { - gRideRatingsCalcData.state = RIDE_RATINGS_STATE_FIND_NEXT_RIDE; + gRideRatingsCalcData.State = RIDE_RATINGS_STATE_FIND_NEXT_RIDE; return; } - auto loc = gRideRatingsCalcData.proximity; - int32_t trackType = gRideRatingsCalcData.proximity_track_type; + auto loc = gRideRatingsCalcData.Proximity; + int32_t trackType = gRideRatingsCalcData.ProximityTrackType; TileElement* tileElement = map_get_first_element_at(loc); if (tileElement == nullptr) { - gRideRatingsCalcData.state = RIDE_RATINGS_STATE_FIND_NEXT_RIDE; + gRideRatingsCalcData.State = RIDE_RATINGS_STATE_FIND_NEXT_RIDE; return; } do @@ -337,27 +337,27 @@ static void ride_ratings_update_state_5() ride_ratings_score_close_proximity(tileElement); track_begin_end trackBeginEnd; - if (!track_block_get_previous({ gRideRatingsCalcData.proximity, tileElement }, &trackBeginEnd)) + if (!track_block_get_previous({ gRideRatingsCalcData.Proximity, tileElement }, &trackBeginEnd)) { - gRideRatingsCalcData.state = RIDE_RATINGS_STATE_CALCULATE; + gRideRatingsCalcData.State = RIDE_RATINGS_STATE_CALCULATE; return; } loc.x = trackBeginEnd.begin_x; loc.y = trackBeginEnd.begin_y; loc.z = trackBeginEnd.begin_z; - if (loc == gRideRatingsCalcData.proximity_start) + if (loc == gRideRatingsCalcData.ProximityStart) { - gRideRatingsCalcData.state = RIDE_RATINGS_STATE_CALCULATE; + gRideRatingsCalcData.State = RIDE_RATINGS_STATE_CALCULATE; return; } - gRideRatingsCalcData.proximity = loc; - gRideRatingsCalcData.proximity_track_type = trackBeginEnd.begin_element->AsTrack()->GetTrackType(); + gRideRatingsCalcData.Proximity = loc; + gRideRatingsCalcData.ProximityTrackType = trackBeginEnd.begin_element->AsTrack()->GetTrackType(); return; } } while (!(tileElement++)->IsLastForTile()); - gRideRatingsCalcData.state = RIDE_RATINGS_STATE_FIND_NEXT_RIDE; + gRideRatingsCalcData.State = RIDE_RATINGS_STATE_FIND_NEXT_RIDE; } /** @@ -366,16 +366,16 @@ static void ride_ratings_update_state_5() */ static void ride_ratings_begin_proximity_loop() { - auto ride = get_ride(gRideRatingsCalcData.current_ride); + auto ride = get_ride(gRideRatingsCalcData.CurrentRide); if (ride == nullptr || ride->status == RIDE_STATUS_CLOSED) { - gRideRatingsCalcData.state = RIDE_RATINGS_STATE_FIND_NEXT_RIDE; + gRideRatingsCalcData.State = RIDE_RATINGS_STATE_FIND_NEXT_RIDE; return; } if (ride->type == RIDE_TYPE_MAZE) { - gRideRatingsCalcData.state = RIDE_RATINGS_STATE_CALCULATE; + gRideRatingsCalcData.State = RIDE_RATINGS_STATE_CALCULATE; return; } @@ -383,27 +383,27 @@ static void ride_ratings_begin_proximity_loop() { if (!ride->stations[i].Start.isNull()) { - gRideRatingsCalcData.station_flags &= ~RIDE_RATING_STATION_FLAG_NO_ENTRANCE; + gRideRatingsCalcData.StationFlags &= ~RIDE_RATING_STATION_FLAG_NO_ENTRANCE; if (ride_get_entrance_location(ride, i).isNull()) { - gRideRatingsCalcData.station_flags |= RIDE_RATING_STATION_FLAG_NO_ENTRANCE; + gRideRatingsCalcData.StationFlags |= RIDE_RATING_STATION_FLAG_NO_ENTRANCE; } auto location = ride->stations[i].GetStart(); - gRideRatingsCalcData.proximity = location; - gRideRatingsCalcData.proximity_track_type = 255; - gRideRatingsCalcData.proximity_start = location; + gRideRatingsCalcData.Proximity = location; + gRideRatingsCalcData.ProximityTrackType = 255; + gRideRatingsCalcData.ProximityStart = location; return; } } - gRideRatingsCalcData.state = RIDE_RATINGS_STATE_FIND_NEXT_RIDE; + gRideRatingsCalcData.State = RIDE_RATINGS_STATE_FIND_NEXT_RIDE; } static void proximity_score_increment(int32_t type) { - gRideRatingsCalcData.proximity_scores[type]++; + gRideRatingsCalcData.ProximityScores[type]++; } /** @@ -412,7 +412,7 @@ static void proximity_score_increment(int32_t type) */ static void ride_ratings_score_close_proximity_in_direction(TileElement* inputTileElement, int32_t direction) { - auto scorePos = CoordsXY{ CoordsXY{ gRideRatingsCalcData.proximity } + CoordsDirectionDelta[direction] }; + auto scorePos = CoordsXY{ CoordsXY{ gRideRatingsCalcData.Proximity } + CoordsDirectionDelta[direction] }; if (!map_is_location_valid(scorePos)) return; @@ -427,7 +427,7 @@ static void ride_ratings_score_close_proximity_in_direction(TileElement* inputTi switch (tileElement->GetType()) { case TILE_ELEMENT_TYPE_SURFACE: - if (gRideRatingsCalcData.proximity_base_height <= inputTileElement->base_height) + if (gRideRatingsCalcData.ProximityBaseHeight <= inputTileElement->base_height) { if (inputTileElement->clearance_height <= tileElement->base_height) { @@ -523,11 +523,11 @@ static void ride_ratings_score_close_proximity_loops(TileElement* inputTileEleme int32_t trackType = inputTileElement->AsTrack()->GetTrackType(); if (trackType == TRACK_ELEM_LEFT_VERTICAL_LOOP || trackType == TRACK_ELEM_RIGHT_VERTICAL_LOOP) { - ride_ratings_score_close_proximity_loops_helper({ gRideRatingsCalcData.proximity, inputTileElement }); + ride_ratings_score_close_proximity_loops_helper({ gRideRatingsCalcData.Proximity, inputTileElement }); int32_t direction = inputTileElement->GetDirection(); ride_ratings_score_close_proximity_loops_helper( - { CoordsXY{ gRideRatingsCalcData.proximity } + CoordsDirectionDelta[direction], inputTileElement }); + { CoordsXY{ gRideRatingsCalcData.Proximity } + CoordsDirectionDelta[direction], inputTileElement }); } } @@ -537,13 +537,13 @@ static void ride_ratings_score_close_proximity_loops(TileElement* inputTileEleme */ static void ride_ratings_score_close_proximity(TileElement* inputTileElement) { - if (gRideRatingsCalcData.station_flags & RIDE_RATING_STATION_FLAG_NO_ENTRANCE) + if (gRideRatingsCalcData.StationFlags & RIDE_RATING_STATION_FLAG_NO_ENTRANCE) { return; } - gRideRatingsCalcData.proximity_total++; - TileElement* tileElement = map_get_first_element_at(gRideRatingsCalcData.proximity); + gRideRatingsCalcData.ProximityTotal++; + TileElement* tileElement = map_get_first_element_at(gRideRatingsCalcData.Proximity); if (tileElement == nullptr) return; do @@ -555,8 +555,8 @@ static void ride_ratings_score_close_proximity(TileElement* inputTileElement) switch (tileElement->GetType()) { case TILE_ELEMENT_TYPE_SURFACE: - gRideRatingsCalcData.proximity_base_height = tileElement->base_height; - if (tileElement->GetBaseZ() == gRideRatingsCalcData.proximity.z) + gRideRatingsCalcData.ProximityBaseHeight = tileElement->base_height; + if (tileElement->GetBaseZ() == gRideRatingsCalcData.Proximity.z) { proximity_score_increment(PROXIMITY_SURFACE_TOUCH); } @@ -564,20 +564,20 @@ static void ride_ratings_score_close_proximity(TileElement* inputTileElement) if (waterHeight != 0) { auto z = waterHeight; - if (z <= gRideRatingsCalcData.proximity.z) + if (z <= gRideRatingsCalcData.Proximity.z) { proximity_score_increment(PROXIMITY_WATER_OVER); - if (z == gRideRatingsCalcData.proximity.z) + if (z == gRideRatingsCalcData.Proximity.z) { proximity_score_increment(PROXIMITY_WATER_TOUCH); } z += 16; - if (z == gRideRatingsCalcData.proximity.z) + if (z == gRideRatingsCalcData.Proximity.z) { proximity_score_increment(PROXIMITY_WATER_LOW); } z += 112; - if (z <= gRideRatingsCalcData.proximity.z) + if (z <= gRideRatingsCalcData.Proximity.z) { proximity_score_increment(PROXIMITY_WATER_HIGH); } @@ -707,14 +707,14 @@ static void ride_ratings_score_close_proximity(TileElement* inputTileElement) ride_ratings_score_close_proximity_in_direction(inputTileElement, (direction - 1) & 3); ride_ratings_score_close_proximity_loops(inputTileElement); - switch (gRideRatingsCalcData.proximity_track_type) + switch (gRideRatingsCalcData.ProximityTrackType) { case TRACK_ELEM_BRAKES: - gRideRatingsCalcData.num_brakes++; + gRideRatingsCalcData.NumBrakes++; break; case TRACK_ELEM_LEFT_REVERSER: case TRACK_ELEM_RIGHT_REVERSER: - gRideRatingsCalcData.num_reversers++; + gRideRatingsCalcData.NumReversers++; break; } } @@ -902,10 +902,10 @@ static uint16_t ride_compute_upkeep(Ride* ride) { reverserMaintenanceCost = 10; } - upkeep += reverserMaintenanceCost * gRideRatingsCalcData.num_reversers; + upkeep += reverserMaintenanceCost * gRideRatingsCalcData.NumReversers; // Add maintenance cost for brake track pieces - upkeep += 20 * gRideRatingsCalcData.num_brakes; + upkeep += 20 * gRideRatingsCalcData.NumBrakes; // these seem to be adhoc adjustments to a ride's upkeep/cost, times // various variables set on the ride itself. @@ -1060,7 +1060,7 @@ static uint32_t get_proximity_score_helper_3(uint16_t x, uint16_t resultIfNotZer */ static uint32_t ride_ratings_get_proximity_score() { - const uint16_t* scores = gRideRatingsCalcData.proximity_scores; + const uint16_t* scores = gRideRatingsCalcData.ProximityScores; uint32_t result = 0; result += get_proximity_score_helper_1(scores[PROXIMITY_WATER_OVER], 60, 0x00AAAA); @@ -3369,7 +3369,7 @@ void ride_ratings_calculate_reverser_roller_coaster(Ride* ride) ride_ratings_apply_max_speed(&ratings, ride, 44281, 88562, 35424); ride_ratings_apply_average_speed(&ratings, ride, 364088, 655360); - int32_t numReversers = std::min(gRideRatingsCalcData.num_reversers, 6); + int32_t numReversers = std::min(gRideRatingsCalcData.NumReversers, 6); ride_rating reverserRating = numReversers * RIDE_RATING(0, 20); ride_ratings_add(&ratings, reverserRating, reverserRating, reverserRating); @@ -3381,7 +3381,7 @@ void ride_ratings_calculate_reverser_roller_coaster(Ride* ride) ride_ratings_apply_proximity(&ratings, 22367); ride_ratings_apply_scenery(&ratings, ride, 11155); - if (gRideRatingsCalcData.num_reversers < 1) + if (gRideRatingsCalcData.NumReversers < 1) { ratings.Excitement /= 8; } diff --git a/src/openrct2/ride/RideRatings.h b/src/openrct2/ride/RideRatings.h index 5629ad57da..96be201388 100644 --- a/src/openrct2/ride/RideRatings.h +++ b/src/openrct2/ride/RideRatings.h @@ -40,17 +40,17 @@ enum struct RideRatingCalculationData { - CoordsXYZ proximity; - CoordsXYZ proximity_start; - ride_id_t current_ride; - uint8_t state; - uint8_t proximity_track_type; - uint8_t proximity_base_height; - uint16_t proximity_total; - uint16_t proximity_scores[26]; - uint16_t num_brakes; - uint16_t num_reversers; - uint16_t station_flags; + CoordsXYZ Proximity; + CoordsXYZ ProximityStart; + ride_id_t CurrentRide; + uint8_t State; + uint8_t ProximityTrackType; + uint8_t ProximityBaseHeight; + uint16_t ProximityTotal; + uint16_t ProximityScores[26]; + uint16_t NumBrakes; + uint16_t NumReversers; + uint16_t StationFlags; }; extern RideRatingCalculationData gRideRatingsCalcData;