From 7b2554cdae914e4b4d3e6ea3790d71df39917537 Mon Sep 17 00:00:00 2001 From: Michael Steenbeek Date: Sun, 5 Sep 2021 16:06:34 +0200 Subject: [PATCH] Addendum to #15340: guard size of object_entry_group_counts --- src/openrct2/object/ObjectList.cpp | 2 ++ test/testpaint/Compat.cpp | 30 +++++++++++++++++++----------- 2 files changed, 21 insertions(+), 11 deletions(-) diff --git a/src/openrct2/object/ObjectList.cpp b/src/openrct2/object/ObjectList.cpp index 967ccef4a8..76f1a92a74 100644 --- a/src/openrct2/object/ObjectList.cpp +++ b/src/openrct2/object/ObjectList.cpp @@ -18,6 +18,7 @@ #include "ObjectRepository.h" #include +#include #include // 98DA00 @@ -41,6 +42,7 @@ int32_t object_entry_group_counts[] = { MAX_FOOTPATH_SURFACE_OBJECTS, MAX_FOOTPATH_RAILINGS_OBJECTS, }; +static_assert(std::size(object_entry_group_counts) == EnumValue(ObjectType::Count)); // 98DA2C int32_t object_entry_group_encoding[] = { diff --git a/test/testpaint/Compat.cpp b/test/testpaint/Compat.cpp index 5c23207e35..d0a62db3bf 100644 --- a/test/testpaint/Compat.cpp +++ b/test/testpaint/Compat.cpp @@ -9,6 +9,7 @@ #include "Addresses.h" +#include #include #include #include @@ -72,18 +73,25 @@ uint8_t get_current_rotation() } int object_entry_group_counts[] = { - 128, // rides - 252, // small scenery - 128, // large scenery - 128, // walls - 32, // banners - 16, // paths - 15, // path bits - 19, // scenery sets - 1, // park entrance - 1, // water - 1 // scenario text + 128, // ObjectType::Ride + 252, // ObjectType::SmallScenery + 128, // ObjectType::LargeScenery + 128, // ObjectType::Walls + 32, // ObjectType::Banners + 16, // ObjectType::Paths + 15, // ObjectType::PathBits + 19, // ObjectType::SceneryGroup + 1, // ObjectType::ParkEntrance + 1, // ObjectType::Water + 1, // ObjectType::ScenarioText + 0, // ObjectType::TerrainSurface + 0, // ObjectType::TerrainEdge + 0, // ObjectType::Station + 0, // ObjectType::Music + 0, // ObjectType::FootpathSurface + 0, // ObjectType::FootpathRailings }; +static_assert(std::size(object_entry_group_counts) == EnumValue(ObjectType::Count)); GeneralConfiguration gConfigGeneral; uint16_t gMapSelectFlags;