From 28c861ee7e1dfc5004bfb6d2dd11d2ea0451cc52 Mon Sep 17 00:00:00 2001 From: hdpoliveira Date: Sun, 19 Apr 2020 01:41:55 -0300 Subject: [PATCH] Part of #9473: Create Vehicle::TestReset Converted from vehicle_test_reset --- src/openrct2/ride/Vehicle.cpp | 20 ++++++++++++-------- src/openrct2/ride/Vehicle.h | 2 +- 2 files changed, 13 insertions(+), 9 deletions(-) diff --git a/src/openrct2/ride/Vehicle.cpp b/src/openrct2/ride/Vehicle.cpp index c589d4b728..5476339225 100644 --- a/src/openrct2/ride/Vehicle.cpp +++ b/src/openrct2/ride/Vehicle.cpp @@ -3036,11 +3036,9 @@ void vehicle_update_test_finish(Vehicle* vehicle) * * rct2: 0x006D6BE7 */ -void vehicle_test_reset(Vehicle* vehicle) +static void test_reset(ride_id_t rideId, StationIndex curStation) { - vehicle->update_flags |= VEHICLE_UPDATE_FLAG_TESTING; - - auto ride = get_ride(vehicle->ride); + auto ride = get_ride(rideId); if (ride == nullptr) return; @@ -3075,8 +3073,14 @@ void vehicle_test_reset(Vehicle* vehicle) station.SegmentTime = 0; } ride->total_air_time = 0; - ride->current_test_station = vehicle->current_station; - window_invalidate_by_number(WC_RIDE, vehicle->ride); + ride->current_test_station = curStation; + window_invalidate_by_number(WC_RIDE, rideId); +} + +void Vehicle::TestReset() +{ + update_flags |= VEHICLE_UPDATE_FLAG_TESTING; + test_reset(ride, current_station); } bool Vehicle::CurrentTowerElementIsTop() @@ -3203,7 +3207,7 @@ void Vehicle::UpdateDeparting() } else if (!(curRide->lifecycle_flags & RIDE_LIFECYCLE_TEST_IN_PROGRESS) && !IsGhost()) { - vehicle_test_reset(this); + TestReset(); } } } @@ -4174,7 +4178,7 @@ void Vehicle::UpdateTravellingCableLift() } else if (!(curRide->lifecycle_flags & RIDE_LIFECYCLE_TEST_IN_PROGRESS) && !IsGhost()) { - vehicle_test_reset(this); + TestReset(); } } } diff --git a/src/openrct2/ride/Vehicle.h b/src/openrct2/ride/Vehicle.h index f126d87d43..7b48703a0e 100644 --- a/src/openrct2/ride/Vehicle.h +++ b/src/openrct2/ride/Vehicle.h @@ -360,6 +360,7 @@ private: bool CurrentTowerElementIsTop(); bool UpdateTrackMotionForwards(rct_ride_entry_vehicle* vehicleEntry, Ride* curRide, rct_ride_entry* rideEntry); bool UpdateTrackMotionBackwards(rct_ride_entry_vehicle* vehicleEntry, Ride* curRide, rct_ride_entry* rideEntry); + void TestReset(); void PeepEasterEggHereWeAre() const; }; @@ -562,7 +563,6 @@ int32_t vehicle_is_used_in_pairs(const Vehicle* vehicle); int32_t vehicle_get_total_num_peeps(const Vehicle* vehicle); void vehicle_invalidate_window(Vehicle* vehicle); void vehicle_update_test_finish(Vehicle* vehicle); -void vehicle_test_reset(Vehicle* vehicle); const rct_vehicle_info* vehicle_get_move_info(int32_t trackSubposition, int32_t typeAndDirection, int32_t offset); uint16_t vehicle_get_move_info_size(int32_t trackSubposition, int32_t typeAndDirection);