diff --git a/src/openrct2/management/Research.cpp b/src/openrct2/management/Research.cpp index 2b780c0f9e..61d56895fa 100644 --- a/src/openrct2/management/Research.cpp +++ b/src/openrct2/management/Research.cpp @@ -549,8 +549,11 @@ bool ride_type_is_invented(uint32_t rideType) return RideTypeIsValid(rideType) ? _researchedRideTypes[rideType] : false; } -bool ride_entry_is_invented(int32_t rideEntryIndex) +bool ride_entry_is_invented(ObjectEntryIndex rideEntryIndex) { + if (rideEntryIndex >= std::size(_researchedRideEntries)) + return false; + return _researchedRideEntries[rideEntryIndex]; } @@ -562,9 +565,12 @@ void ride_type_set_invented(uint32_t rideType) } } -void ride_entry_set_invented(int32_t rideEntryIndex) +void ride_entry_set_invented(ObjectEntryIndex rideEntryIndex) { - _researchedRideEntries[rideEntryIndex] = true; + if (rideEntryIndex >= std::size(_researchedRideEntries)) + log_error("Try setting ride entry %u as invented", rideEntryIndex); + else + _researchedRideEntries[rideEntryIndex] = true; } bool scenery_is_invented(const ScenerySelection& sceneryItem) diff --git a/src/openrct2/management/Research.h b/src/openrct2/management/Research.h index cbfa059335..df78517a66 100644 --- a/src/openrct2/management/Research.h +++ b/src/openrct2/management/Research.h @@ -138,11 +138,11 @@ void research_insert_ride_entry(ObjectEntryIndex entryIndex, bool researched); bool research_insert_scenery_group_entry(ObjectEntryIndex entryIndex, bool researched); void ride_type_set_invented(uint32_t rideType); -void ride_entry_set_invented(int32_t rideEntryIndex); +void ride_entry_set_invented(ObjectEntryIndex rideEntryIndex); void scenery_set_invented(const ScenerySelection& sceneryItem); void scenery_set_not_invented(const ScenerySelection& sceneryItem); bool ride_type_is_invented(uint32_t rideType); -bool ride_entry_is_invented(int32_t rideEntryIndex); +bool ride_entry_is_invented(ObjectEntryIndex rideEntryIndex); bool scenery_group_is_invented(int32_t sgIndex); void scenery_group_set_invented(int32_t sgIndex); bool scenery_is_invented(const ScenerySelection& sceneryItem);