diff --git a/src/openrct2/management/Research.cpp b/src/openrct2/management/Research.cpp index 13e5f6240e..18d8698ba1 100644 --- a/src/openrct2/management/Research.cpp +++ b/src/openrct2/management/Research.cpp @@ -669,8 +669,9 @@ void research_insert_scenery_group_entry(uint8 entryIndex, bool researched) research_insert(researched, entryIndex, RESEARCH_CATEGORY_SCENERY_GROUP); } -bool ride_type_is_invented(sint32 rideType) +bool ride_type_is_invented(uint32 rideType) { + Guard::Assert(rideType < Util::CountOf(_researchedRideTypes), GUARD_LINE); return _researchedRideTypes[rideType]; } @@ -684,8 +685,9 @@ bool track_piece_is_available_for_ride_type(uint8 rideType, sint32 trackType) return RideTypePossibleTrackConfigurations[rideType] & (1ULL << trackType); } -void ride_type_set_invented(sint32 rideType) +void ride_type_set_invented(uint32 rideType) { + Guard::Assert(rideType < Util::CountOf(_researchedRideTypes), GUARD_LINE); _researchedRideTypes[rideType] = true; } diff --git a/src/openrct2/management/Research.h b/src/openrct2/management/Research.h index 50991f8b77..188b3ddcfe 100644 --- a/src/openrct2/management/Research.h +++ b/src/openrct2/management/Research.h @@ -125,11 +125,11 @@ void research_remove(rct_research_item * researchItem); void research_insert_ride_entry(uint8 entryIndex, bool researched); void research_insert_scenery_group_entry(uint8 entryIndex, bool researched); -void ride_type_set_invented(sint32 rideType); +void ride_type_set_invented(uint32 rideType); void ride_entry_set_invented(sint32 rideEntryIndex); void scenery_set_invented(uint16 sceneryItem); void scenery_set_not_invented(uint16 sceneryItem); -bool ride_type_is_invented(sint32 rideType); +bool ride_type_is_invented(uint32 rideType); bool ride_entry_is_invented(sint32 rideEntryIndex); bool track_piece_is_available_for_ride_type(uint8 rideType, sint32 trackType); bool scenery_group_is_invented(sint32 sgIndex); diff --git a/src/openrct2/peep/Peep.cpp b/src/openrct2/peep/Peep.cpp index 9a2763b525..fb74b13bac 100644 --- a/src/openrct2/peep/Peep.cpp +++ b/src/openrct2/peep/Peep.cpp @@ -3622,6 +3622,7 @@ static void peep_update_ride_prepare_for_state_9(rct_peep * peep) { Ride * ride = get_ride(peep->current_ride); + Guard::Assert(peep->current_ride_station < Util::CountOf(ride->exits), GUARD_LINE); sint16 x = ride->exits[peep->current_ride_station].x; sint16 y = ride->exits[peep->current_ride_station].y; sint16 z = ride->station_heights[peep->current_ride_station];