From 7fe4f9a18a4d50dc7f583e376a3d259fc087a42f Mon Sep 17 00:00:00 2001 From: Ted John Date: Tue, 27 Apr 2021 19:57:07 +0100 Subject: [PATCH] Increase object limits to fill bit range --- src/openrct2/object/ObjectLimits.h | 28 +++++++++++++++------------- 1 file changed, 15 insertions(+), 13 deletions(-) diff --git a/src/openrct2/object/ObjectLimits.h b/src/openrct2/object/ObjectLimits.h index c94eef8446..9f8094c6d0 100644 --- a/src/openrct2/object/ObjectLimits.h +++ b/src/openrct2/object/ObjectLimits.h @@ -11,23 +11,25 @@ #include -constexpr const uint16_t MAX_RIDE_OBJECTS = 1000; -constexpr const uint16_t MAX_SMALL_SCENERY_OBJECTS = 1000; -constexpr const uint16_t MAX_LARGE_SCENERY_OBJECTS = 1000; -constexpr const uint16_t MAX_WALL_SCENERY_OBJECTS = 1000; -constexpr const uint16_t MAX_BANNER_OBJECTS = 100; -constexpr const uint16_t MAX_PATH_OBJECTS = 100; -constexpr const uint16_t MAX_PATH_ADDITION_OBJECTS = 100; -constexpr const uint16_t MAX_SCENERY_GROUP_OBJECTS = 100; +// Maximums based on number of values that can be represented in bit group. +// Subtract 1 to reserve the NULL entry identifier. +constexpr const uint16_t MAX_RIDE_OBJECTS = 2047; +constexpr const uint16_t MAX_SMALL_SCENERY_OBJECTS = 2047; +constexpr const uint16_t MAX_LARGE_SCENERY_OBJECTS = 2047; +constexpr const uint16_t MAX_WALL_SCENERY_OBJECTS = 2047; +constexpr const uint16_t MAX_BANNER_OBJECTS = 255; +constexpr const uint16_t MAX_PATH_OBJECTS = 255; +constexpr const uint16_t MAX_PATH_ADDITION_OBJECTS = 255; +constexpr const uint16_t MAX_SCENERY_GROUP_OBJECTS = 255; constexpr const uint16_t MAX_PARK_ENTRANCE_OBJECTS = 1; constexpr const uint16_t MAX_WATER_OBJECTS = 1; constexpr const uint16_t MAX_SCENARIO_TEXT_OBJECTS = 0; -constexpr const uint16_t MAX_TERRAIN_SURFACE_OBJECTS = 100; -constexpr const uint16_t MAX_TERRAIN_EDGE_OBJECTS = 100; -constexpr const uint16_t MAX_STATION_OBJECTS = 100; +constexpr const uint16_t MAX_TERRAIN_SURFACE_OBJECTS = 255; +constexpr const uint16_t MAX_TERRAIN_EDGE_OBJECTS = 255; +constexpr const uint16_t MAX_STATION_OBJECTS = 255; constexpr const uint16_t MAX_MUSIC_OBJECTS = 255; -constexpr const uint16_t MAX_FOOTPATH_SURFACE_OBJECTS = 100; -constexpr const uint16_t MAX_FOOTPATH_RAILINGS_OBJECTS = 100; +constexpr const uint16_t MAX_FOOTPATH_SURFACE_OBJECTS = 255; +constexpr const uint16_t MAX_FOOTPATH_RAILINGS_OBJECTS = 255; // clang-format off constexpr const uint16_t OBJECT_ENTRY_COUNT =