Fix display of number of items in scenery group

This commit is contained in:
Gymnasiast 2021-05-26 17:00:50 +02:00
parent f2ac658935
commit 1d693f9751
No known key found for this signature in database
GPG Key ID: DBFFF47AB2CA3EDD
3 changed files with 16 additions and 2 deletions

View File

@ -28,6 +28,7 @@
#include <openrct2/object/ObjectManager.h>
#include <openrct2/object/ObjectRepository.h>
#include <openrct2/object/RideObject.h>
#include <openrct2/object/SceneryGroupObject.h>
#include <openrct2/platform/platform.h>
#include <openrct2/ride/RideData.h>
#include <openrct2/scenario/Scenario.h>
@ -1072,8 +1073,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<SceneryGroupObject*>(_loadedObject.get());
auto ft = Formatter();
ft.Add<uint16_t>(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<MusicObject*>(_loadedObject.get());

View File

@ -176,3 +176,8 @@ std::vector<ObjectEntryDescriptor> SceneryGroupObject::ReadJsonEntries(json_t& j
}
return entries;
}
uint16_t SceneryGroupObject::GetNumIncludedObjects() const
{
return static_cast<uint16_t>(_items.size());
}

View File

@ -45,6 +45,8 @@ public:
void SetRepositoryItem(ObjectRepositoryItem* item) const override;
uint16_t GetNumIncludedObjects() const;
private:
static std::vector<ObjectEntryDescriptor> ReadItems(OpenRCT2::IStream* stream);
static uint32_t ReadJsonEntertainerCostumes(json_t& jCostumes);