diff --git a/src/openrct2-ui/windows/ScenarioSelect.cpp b/src/openrct2-ui/windows/ScenarioSelect.cpp index bfecda1e51..5b57220234 100644 --- a/src/openrct2-ui/windows/ScenarioSelect.cpp +++ b/src/openrct2-ui/windows/ScenarioSelect.cpp @@ -245,7 +245,7 @@ namespace OpenRCT2::Ui::Windows return; auto& objManager = GetContext()->GetObjectManager(); - if (auto obj = objManager.LoadTempObject(source.textObjectId); obj != nullptr) + if (auto obj = objManager.LoadTempObject(source.textObjectId, true); obj != nullptr) { auto& scenarioMetaObj = reinterpret_cast(*obj); scenarioMetaObj.Load(); diff --git a/src/openrct2/object/ObjectManager.cpp b/src/openrct2/object/ObjectManager.cpp index 714d1290cc..d89f4ab9bf 100644 --- a/src/openrct2/object/ObjectManager.cpp +++ b/src/openrct2/object/ObjectManager.cpp @@ -165,7 +165,7 @@ namespace OpenRCT2 return objectList; } - std::unique_ptr LoadTempObject(std::string_view id) override + std::unique_ptr LoadTempObject(std::string_view id, bool loadImages) override { const ObjectRepositoryItem* ori = _objectRepository.FindObject(id); if (ori == nullptr) @@ -174,7 +174,7 @@ namespace OpenRCT2 return nullptr; } - auto object = _objectRepository.LoadObject(ori); + auto object = _objectRepository.LoadObject(ori, loadImages); return object; } diff --git a/src/openrct2/object/ObjectManager.h b/src/openrct2/object/ObjectManager.h index ebd128a314..947f1b7d26 100644 --- a/src/openrct2/object/ObjectManager.h +++ b/src/openrct2/object/ObjectManager.h @@ -39,7 +39,7 @@ namespace OpenRCT2 virtual ObjectEntryIndex GetLoadedObjectEntryIndex(const Object* object) = 0; virtual ObjectList GetLoadedObjects() = 0; - virtual std::unique_ptr LoadTempObject(std::string_view identifier) = 0; + virtual std::unique_ptr LoadTempObject(std::string_view identifier, bool loadImages) = 0; virtual Object* LoadObject(std::string_view identifier) = 0; virtual Object* LoadObject(const RCTObjectEntry* entry) = 0; virtual Object* LoadObject(const ObjectEntryDescriptor& descriptor) = 0; diff --git a/src/openrct2/rct1/S4Importer.cpp b/src/openrct2/rct1/S4Importer.cpp index 7e603fd9f0..c0cdf0e9b3 100644 --- a/src/openrct2/rct1/S4Importer.cpp +++ b/src/openrct2/rct1/S4Importer.cpp @@ -271,7 +271,7 @@ namespace OpenRCT2::RCT1 auto& objManager = GetContext()->GetObjectManager(); // Load the one specified - if (auto obj = objManager.LoadTempObject(desc.textObjectId); obj != nullptr) + if (auto obj = objManager.LoadTempObject(desc.textObjectId, false); obj != nullptr) { auto& textObject = reinterpret_cast(*obj); name = textObject.GetScenarioName(); @@ -2422,7 +2422,7 @@ namespace OpenRCT2::RCT1 { auto& objManager = GetContext()->GetObjectManager(); - if (auto obj = objManager.LoadTempObject(desc.textObjectId); obj != nullptr) + if (auto obj = objManager.LoadTempObject(desc.textObjectId, false); obj != nullptr) { auto& textObject = reinterpret_cast(*obj); name = textObject.GetScenarioName(); diff --git a/src/openrct2/rct2/S6Importer.cpp b/src/openrct2/rct2/S6Importer.cpp index 5bb9ee2961..6a9231ec8e 100644 --- a/src/openrct2/rct2/S6Importer.cpp +++ b/src/openrct2/rct2/S6Importer.cpp @@ -272,7 +272,7 @@ namespace OpenRCT2::RCT2 { auto& objManager = GetContext()->GetObjectManager(); - if (auto obj = objManager.LoadTempObject(desc.textObjectId); obj != nullptr) + if (auto obj = objManager.LoadTempObject(desc.textObjectId, false); obj != nullptr) { auto& textObject = reinterpret_cast(*obj); dst->Name = textObject.GetScenarioName();