From eda3188ecf667546ed045627968a3aeb68d5305f Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=CE=B6eh=20Matt?= <5415177+ZehMatt@users.noreply.github.com> Date: Sat, 4 Sep 2021 18:50:21 +0300 Subject: [PATCH] Fix rebase --- src/openrct2/peep/Guest.cpp | 23 ++++++++++--------- src/openrct2/rct12/RCT12.h | 2 +- src/openrct2/rct2/S6Exporter.cpp | 5 ++-- .../scripting/bindings/entity/ScVehicle.cpp | 8 +++---- .../scripting/bindings/entity/ScVehicle.hpp | 4 ++-- .../scripting/bindings/ride/ScRide.cpp | 2 +- .../bindings/world/ScTileElement.cpp | 14 +++++------ .../bindings/world/ScTileElement.hpp | 2 +- 8 files changed, 31 insertions(+), 29 deletions(-) diff --git a/src/openrct2/peep/Guest.cpp b/src/openrct2/peep/Guest.cpp index deb4807785..7842dff1e1 100644 --- a/src/openrct2/peep/Guest.cpp +++ b/src/openrct2/peep/Guest.cpp @@ -1822,7 +1822,8 @@ Ride* Guest::FindBestRideToGoOn() Ride* mostExcitingRide = nullptr; for (auto& ride : GetRideManager()) { - if (rideConsideration.size() > ride.id && rideConsideration[ride.id]) + const auto rideIndex = EnumValue(ride.id); + if (rideConsideration.size() > rideIndex && rideConsideration[rideIndex]) { if (!(ride.lifecycle_flags & RIDE_LIFECYCLE_QUEUE_FULL)) { @@ -1853,7 +1854,7 @@ std::bitset Guest::FindRidesToGoOn() { if (!HasRidden(&ride)) { - rideConsideration[ride.id] = true; + rideConsideration[EnumValue(ride.id)] = true; } } } @@ -1874,7 +1875,7 @@ std::bitset Guest::FindRidesToGoOn() for (auto* trackElement : TileElementsView(location)) { auto rideIndex = trackElement->GetRideIndex(); - rideConsideration[rideIndex] = true; + rideConsideration[EnumValue(rideIndex)] = true; } } } @@ -1884,7 +1885,7 @@ std::bitset Guest::FindRidesToGoOn() { if (ride.highest_drop_height > 66 || ride.excitement >= RIDE_RATING(8, 00)) { - rideConsideration[ride.id] = true; + rideConsideration[EnumValue(ride.id)] = true; } } } @@ -3105,7 +3106,7 @@ template static void peep_head_for_nearest_ride(Guest* peep, bool co { if (predicate(ride)) { - rideConsideration[ride.id] = true; + rideConsideration[EnumValue(ride.id)] = true; } } } @@ -3133,18 +3134,18 @@ template static void peep_head_for_nearest_ride(Guest* peep, bool co if (!predicate(*ride)) continue; - rideConsideration[rideIndex] = true; + rideConsideration[EnumValue(ride->id)] = true; } } } } // Filter the considered rides - uint8_t potentialRides[MAX_RIDES]; + ride_id_t potentialRides[MAX_RIDES]; size_t numPotentialRides = 0; for (auto& ride : GetRideManager()) { - if (rideConsideration[ride.id]) + if (rideConsideration[EnumValue(ride.id)]) { if (!(ride.lifecycle_flags & RIDE_LIFECYCLE_QUEUE_FULL)) { @@ -3657,7 +3658,7 @@ void Guest::UpdateRideAdvanceThroughEntrance() ride->FormatNameTo(ft); if (gConfigNotifications.ride_warnings) { - News::AddItemToQueue(News::ItemType::Ride, STR_GUESTS_GETTING_STUCK_ON_RIDE, CurrentRide, ft); + News::AddItemToQueue(News::ItemType::Ride, STR_GUESTS_GETTING_STUCK_ON_RIDE, EnumValue(CurrentRide), ft); } } @@ -3811,7 +3812,7 @@ void Guest::UpdateRideFreeVehicleEnterRide(Ride* ride) if (queueTime != ride->stations[CurrentRideStation].QueueTime) { ride->stations[CurrentRideStation].QueueTime = queueTime; - window_invalidate_by_number(WC_RIDE, CurrentRide); + window_invalidate_by_number(WC_RIDE, EnumValue(CurrentRide)); } if (PeepFlags & PEEP_FLAGS_TRACKING) @@ -7458,7 +7459,7 @@ void Guest::RemoveRideFromMemory(ride_id_t rideId) break; // Ride ids and shop item ids might have the same value, look only for ride thoughts. - if (IsThoughtShopItemRelated(entry.type) || entry.item != rideId) + if (IsThoughtShopItemRelated(entry.type) || entry.rideId != rideId) { it++; continue; diff --git a/src/openrct2/rct12/RCT12.h b/src/openrct2/rct12/RCT12.h index 418b3f08a6..9507cb1c90 100644 --- a/src/openrct2/rct12/RCT12.h +++ b/src/openrct2/rct12/RCT12.h @@ -966,7 +966,7 @@ template std::vector RCT12GetRidesBeenOn(T* srcPeep) { if (srcPeep->rides_been_on[i / 8] & (1 << (i % 8))) { - ridesBeenOn.push_back(i); + ridesBeenOn.push_back(static_cast(i)); } } return ridesBeenOn; diff --git a/src/openrct2/rct2/S6Exporter.cpp b/src/openrct2/rct2/S6Exporter.cpp index a1ef85dc30..e7ffb9ee58 100644 --- a/src/openrct2/rct2/S6Exporter.cpp +++ b/src/openrct2/rct2/S6Exporter.cpp @@ -170,7 +170,7 @@ static void ride_all_has_any_track_elements(std::arrayIsGhost()) continue; - rideIndexArray[it.element->AsTrack()->GetRideIndex()] = true; + rideIndexArray[EnumValue(it.element->AsTrack()->GetRideIndex())] = true; } } @@ -1330,7 +1330,8 @@ template<> void S6Exporter::ExportEntity(RCT2SpritePeep* dst, const Guest* src) { for (auto rideId : *rideHistory) { - dst->rides_been_on[rideId / 8] |= (1 << (rideId % 8)); + const auto rideIndex = EnumValue(rideId); + dst->rides_been_on[rideIndex / 8] |= (1 << (rideIndex % 8)); } } dst->item_extra_flags = static_cast(src->GetItemFlags() >> 32); diff --git a/src/openrct2/scripting/bindings/entity/ScVehicle.cpp b/src/openrct2/scripting/bindings/entity/ScVehicle.cpp index 90389d7157..2f4be2efcb 100644 --- a/src/openrct2/scripting/bindings/entity/ScVehicle.cpp +++ b/src/openrct2/scripting/bindings/entity/ScVehicle.cpp @@ -135,18 +135,18 @@ namespace OpenRCT2::Scripting } } - ride_id_t ScVehicle::ride_get() const + int32_t ScVehicle::ride_get() const { auto vehicle = GetVehicle(); - return vehicle != nullptr ? vehicle->ride : 0; + return EnumValue(vehicle != nullptr ? vehicle->ride : RIDE_ID_NULL); } - void ScVehicle::ride_set(ride_id_t value) + void ScVehicle::ride_set(int32_t value) { ThrowIfGameStateNotMutable(); auto vehicle = GetVehicle(); if (vehicle != nullptr) { - vehicle->ride = value; + vehicle->ride = static_cast(value); } } diff --git a/src/openrct2/scripting/bindings/entity/ScVehicle.hpp b/src/openrct2/scripting/bindings/entity/ScVehicle.hpp index 57d29c6194..c98cd5b3dc 100644 --- a/src/openrct2/scripting/bindings/entity/ScVehicle.hpp +++ b/src/openrct2/scripting/bindings/entity/ScVehicle.hpp @@ -35,8 +35,8 @@ namespace OpenRCT2::Scripting uint8_t spriteType_get() const; void spriteType_set(uint8_t value); - ride_id_t ride_get() const; - void ride_set(ride_id_t value); + int32_t ride_get() const; + void ride_set(int32_t value); uint8_t numSeats_get() const; void numSeats_set(uint8_t value); diff --git a/src/openrct2/scripting/bindings/ride/ScRide.cpp b/src/openrct2/scripting/bindings/ride/ScRide.cpp index 9e81db6ce2..d03c54d141 100644 --- a/src/openrct2/scripting/bindings/ride/ScRide.cpp +++ b/src/openrct2/scripting/bindings/ride/ScRide.cpp @@ -27,7 +27,7 @@ namespace OpenRCT2::Scripting int32_t ScRide::id_get() const { - return _rideId; + return EnumValue(_rideId); } std::shared_ptr ScRide::object_get() diff --git a/src/openrct2/scripting/bindings/world/ScTileElement.cpp b/src/openrct2/scripting/bindings/world/ScTileElement.cpp index 1cc7aadbfb..18f644c1f9 100644 --- a/src/openrct2/scripting/bindings/world/ScTileElement.cpp +++ b/src/openrct2/scripting/bindings/world/ScTileElement.cpp @@ -431,7 +431,7 @@ namespace OpenRCT2::Scripting { auto el = _element->AsPath(); if (el->IsQueue() && el->GetRideIndex() != RIDE_ID_NULL) - duk_push_int(ctx, el->GetRideIndex()); + duk_push_int(ctx, EnumValue(el->GetRideIndex())); else duk_push_null(ctx); break; @@ -439,13 +439,13 @@ namespace OpenRCT2::Scripting case TILE_ELEMENT_TYPE_TRACK: { auto el = _element->AsTrack(); - duk_push_int(ctx, el->GetRideIndex()); + duk_push_int(ctx, EnumValue(el->GetRideIndex())); break; } case TILE_ELEMENT_TYPE_ENTRANCE: { auto el = _element->AsEntrance(); - duk_push_int(ctx, el->GetRideIndex()); + duk_push_int(ctx, EnumValue(el->GetRideIndex())); break; } default: @@ -456,7 +456,7 @@ namespace OpenRCT2::Scripting } return DukValue::take_from_stack(ctx); } - void ScTileElement::ride_set(ride_id_t value) + void ScTileElement::ride_set(int32_t value) { ThrowIfGameStateNotMutable(); switch (_element->GetType()) @@ -466,7 +466,7 @@ namespace OpenRCT2::Scripting auto el = _element->AsPath(); if (!el->HasAddition()) { - el->SetRideIndex(value); + el->SetRideIndex(static_cast(value)); Invalidate(); } break; @@ -474,14 +474,14 @@ namespace OpenRCT2::Scripting case TILE_ELEMENT_TYPE_TRACK: { auto el = _element->AsTrack(); - el->SetRideIndex(value); + el->SetRideIndex(static_cast(value)); Invalidate(); break; } case TILE_ELEMENT_TYPE_ENTRANCE: { auto el = _element->AsEntrance(); - el->SetRideIndex(value); + el->SetRideIndex(static_cast(value)); Invalidate(); break; } diff --git a/src/openrct2/scripting/bindings/world/ScTileElement.hpp b/src/openrct2/scripting/bindings/world/ScTileElement.hpp index 9b0fcd7060..7fa36099ea 100644 --- a/src/openrct2/scripting/bindings/world/ScTileElement.hpp +++ b/src/openrct2/scripting/bindings/world/ScTileElement.hpp @@ -85,7 +85,7 @@ namespace OpenRCT2::Scripting void sequence_set(uint8_t value); DukValue ride_get() const; - void ride_set(ride_id_t value); + void ride_set(int32_t value); DukValue station_get() const; void station_set(uint8_t value);