From 8852f91437b09e18b9d9bece43d23219ec80ac97 Mon Sep 17 00:00:00 2001 From: Gymnasiast Date: Wed, 26 May 2021 17:00:50 +0200 Subject: [PATCH] Fix display of number of items in scenery group --- src/openrct2-ui/windows/EditorObjectSelection.cpp | 11 +++++++++-- src/openrct2/object/SceneryGroupObject.cpp | 6 ++++++ src/openrct2/object/SceneryGroupObject.h | 2 ++ 3 files changed, 17 insertions(+), 2 deletions(-) diff --git a/src/openrct2-ui/windows/EditorObjectSelection.cpp b/src/openrct2-ui/windows/EditorObjectSelection.cpp index 971fb5c5b8..db6ea3dca5 100644 --- a/src/openrct2-ui/windows/EditorObjectSelection.cpp +++ b/src/openrct2-ui/windows/EditorObjectSelection.cpp @@ -28,6 +28,7 @@ #include #include #include +#include #include #include #include @@ -1071,8 +1072,14 @@ static void window_editor_object_selection_paint(rct_window* w, rct_drawpixelinf screenPos.y += DrawTextWrapped(dpi, screenPos, width, STR_WINDOW_COLOUR_2_STRINGID, ft); } - - if (get_selected_object_type(w) == ObjectType::Music) + if (get_selected_object_type(w) == ObjectType::SceneryGroup) + { + const auto* sceneryGroupObject = reinterpret_cast(_loadedObject.get()); + auto ft = Formatter(); + ft.Add(sceneryGroupObject->GetNumIncludedObjects()); + screenPos.y += DrawTextWrapped(dpi, screenPos, width, STR_INCLUDES_X_OBJECTS, ft) + 2; + } + else if (get_selected_object_type(w) == ObjectType::Music) { screenPos.y += DrawTextWrapped(dpi, screenPos, width, STR_MUSIC_OBJECT_TRACK_HEADER) + 2; const auto* musicObject = reinterpret_cast(_loadedObject.get()); diff --git a/src/openrct2/object/SceneryGroupObject.cpp b/src/openrct2/object/SceneryGroupObject.cpp index 9287f6230e..4721872918 100644 --- a/src/openrct2/object/SceneryGroupObject.cpp +++ b/src/openrct2/object/SceneryGroupObject.cpp @@ -195,3 +195,9 @@ std::vector SceneryGroupObject::ReadJsonEntries(json_t& j } return entries; } + +uint16_t SceneryGroupObject::GetNumIncludedObjects() const +{ + log_error("%d objects", _items.size()); + return _items.size(); +} diff --git a/src/openrct2/object/SceneryGroupObject.h b/src/openrct2/object/SceneryGroupObject.h index d6e41a6f27..fed7094cb5 100644 --- a/src/openrct2/object/SceneryGroupObject.h +++ b/src/openrct2/object/SceneryGroupObject.h @@ -40,6 +40,8 @@ public: void SetRepositoryItem(ObjectRepositoryItem* item) const override; + uint16_t GetNumIncludedObjects() const; + private: static std::vector ReadItems(OpenRCT2::IStream* stream); static uint32_t ReadJsonEntertainerCostumes(json_t& jCostumes);