From acc6b9f878cf90d14bdee68924a4c7135f44678d Mon Sep 17 00:00:00 2001 From: hdpoliveira Date: Sun, 19 Apr 2020 02:17:53 -0300 Subject: [PATCH] Part of #9473: Create Vehicle::SetMapToolbar Converted from vehicle_set_map_toolbar --- .../interface/ViewportInteraction.cpp | 2 +- src/openrct2/ride/Vehicle.cpp | 16 ++++++++-------- src/openrct2/ride/Vehicle.h | 2 +- 3 files changed, 10 insertions(+), 10 deletions(-) diff --git a/src/openrct2-ui/interface/ViewportInteraction.cpp b/src/openrct2-ui/interface/ViewportInteraction.cpp index e0c754c1b4..7a7d712b01 100644 --- a/src/openrct2-ui/interface/ViewportInteraction.cpp +++ b/src/openrct2-ui/interface/ViewportInteraction.cpp @@ -82,7 +82,7 @@ int32_t viewport_interaction_get_item_left(const ScreenCoordsXY& screenCoords, v case SPRITE_IDENTIFIER_VEHICLE: vehicle = &(sprite->vehicle); if (vehicle->ride_subtype != RIDE_ENTRY_INDEX_NULL) - vehicle_set_map_toolbar(vehicle); + vehicle->SetMapToolbar(); else info->type = VIEWPORT_INTERACTION_ITEM_NONE; break; diff --git a/src/openrct2/ride/Vehicle.cpp b/src/openrct2/ride/Vehicle.cpp index af5651bbc6..b2d0af7f31 100644 --- a/src/openrct2/ride/Vehicle.cpp +++ b/src/openrct2/ride/Vehicle.cpp @@ -6170,25 +6170,25 @@ GForces vehicle_get_g_forces(const Vehicle* vehicle) return { static_cast(gForceVert & 0xFFFF), static_cast(gForceLateral & 0xFFFF) }; } -void vehicle_set_map_toolbar(const Vehicle* vehicle) +void Vehicle::SetMapToolbar() const { - auto ride = get_ride(vehicle->ride); - if (ride != nullptr) + auto curRide = get_ride(ride); + if (curRide != nullptr) { - vehicle = vehicle->GetHead(); + const Vehicle* vehicle = GetHead(); int32_t vehicleIndex; for (vehicleIndex = 0; vehicleIndex < 32; vehicleIndex++) - if (ride->vehicles[vehicleIndex] == vehicle->sprite_index) + if (curRide->vehicles[vehicleIndex] == vehicle->sprite_index) break; auto ft = Formatter::MapTooltip(); ft.Add(STR_RIDE_MAP_TIP); ft.Add(STR_MAP_TOOLTIP_STRINGID_STRINGID); - ride->FormatNameTo(ft); - ft.Add(RideComponentNames[RideTypeDescriptors[ride->type].NameConvention.vehicle].capitalised); + curRide->FormatNameTo(ft); + ft.Add(RideComponentNames[RideTypeDescriptors[curRide->type].NameConvention.vehicle].capitalised); ft.Add(vehicleIndex + 1); - ride->FormatStatusTo(ft); + curRide->FormatStatusTo(ft); } } diff --git a/src/openrct2/ride/Vehicle.h b/src/openrct2/ride/Vehicle.h index 95bfec9741..4668b99f06 100644 --- a/src/openrct2/ride/Vehicle.h +++ b/src/openrct2/ride/Vehicle.h @@ -307,6 +307,7 @@ struct Vehicle : SpriteBase void UpdateSoundParams(std::vector& vehicleSoundParamsList) const; bool DodgemsCarWouldCollideAt(const CoordsXY& coords, uint16_t* spriteId) const; int32_t UpdateTrackMotion(int32_t* outStation); + void SetMapToolbar() const; int32_t IsUsedInPairs() const; rct_ride_entry_vehicle* Entry() const; Vehicle* TrainHead() const; @@ -562,7 +563,6 @@ Vehicle* try_get_vehicle(uint16_t spriteIndex); void vehicle_update_all(); void vehicle_sounds_update(); GForces vehicle_get_g_forces(const Vehicle* vehicle); -void vehicle_set_map_toolbar(const 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);