From cbc74a3c519b673f960e290c3c09ecc9a1ca0421 Mon Sep 17 00:00:00 2001 From: Ted John Date: Sun, 4 Aug 2019 20:44:11 +0100 Subject: [PATCH] Fix GetOrAllocateRide --- src/openrct2/ride/Ride.cpp | 12 +++++------- 1 file changed, 5 insertions(+), 7 deletions(-) diff --git a/src/openrct2/ride/Ride.cpp b/src/openrct2/ride/Ride.cpp index 12cb216280..68c2f638ab 100644 --- a/src/openrct2/ride/Ride.cpp +++ b/src/openrct2/ride/Ride.cpp @@ -184,15 +184,12 @@ ride_id_t GetNextFreeRideId() Ride* GetOrAllocateRide(ride_id_t index) { - Ride* result{}; - if (index < _rides.size()) + if (_rides.size() <= index) { - result = &_rides[index]; - } - else - { - result = &_rides.emplace_back(); + _rides.resize(index + 1); } + + auto result = &_rides[index]; result->id = index; return result; } @@ -204,6 +201,7 @@ Ride* get_ride(ride_id_t index) auto& ride = _rides[index]; if (ride.type != RIDE_TYPE_NULL) { + assert(ride.id == index); return &ride; } }