From 2bb9dbe8c139508c6965a9185d9a84a80bf2f044 Mon Sep 17 00:00:00 2001 From: Hielke Morsink Date: Sun, 9 Jan 2022 21:48:11 +0100 Subject: [PATCH 1/3] Fix: Title Sequence cannot load .park files --- src/openrct2/ParkImporter.cpp | 17 +++++++++++++---- src/openrct2/ParkImporter.h | 5 +++-- 2 files changed, 16 insertions(+), 6 deletions(-) diff --git a/src/openrct2/ParkImporter.cpp b/src/openrct2/ParkImporter.cpp index a8483a582d..a4c9815e35 100644 --- a/src/openrct2/ParkImporter.cpp +++ b/src/openrct2/ParkImporter.cpp @@ -23,24 +23,33 @@ namespace ParkImporter { std::unique_ptr parkImporter; std::string extension = Path::GetExtension(hintPath); - if (ExtensionIsRCT1(extension)) + auto* context = OpenRCT2::GetContext(); + if (ExtensionIsOpenRCT2ParkFile(extension)) + { + parkImporter = CreateParkFile(context->GetObjectRepository()); + } + else if (ExtensionIsRCT1(extension)) { parkImporter = CreateS4(); } else { - auto context = OpenRCT2::GetContext(); parkImporter = CreateS6(context->GetObjectRepository()); } return parkImporter; } - bool ExtensionIsRCT1(const std::string& extension) + bool ExtensionIsOpenRCT2ParkFile(std::string_view extension) + { + return String::Equals(extension, ".park", true); + } + + bool ExtensionIsRCT1(std::string_view extension) { return String::Equals(extension, ".sc4", true) || String::Equals(extension, ".sv4", true); } - bool ExtensionIsScenario(const std::string& extension) + bool ExtensionIsScenario(std::string_view extension) { return String::Equals(extension, ".sc4", true) || String::Equals(extension, ".sc6", true) || String::Equals(extension, ".sea", true); diff --git a/src/openrct2/ParkImporter.h b/src/openrct2/ParkImporter.h index db99c7576a..af3caf9fb7 100644 --- a/src/openrct2/ParkImporter.h +++ b/src/openrct2/ParkImporter.h @@ -64,8 +64,9 @@ namespace ParkImporter [[nodiscard]] std::unique_ptr CreateS6(IObjectRepository& objectRepository); [[nodiscard]] std::unique_ptr CreateParkFile(IObjectRepository& objectRepository); - bool ExtensionIsRCT1(const std::string& extension); - bool ExtensionIsScenario(const std::string& extension); + bool ExtensionIsOpenRCT2ParkFile(std::string_view extension); + bool ExtensionIsRCT1(std::string_view extension); + bool ExtensionIsScenario(std::string_view extension); } // namespace ParkImporter class ObjectLoadException : public std::exception From 5020f993b92808d3fbe54541618943289198fe0b Mon Sep 17 00:00:00 2001 From: Hielke Morsink Date: Sun, 9 Jan 2022 21:58:38 +0100 Subject: [PATCH 2/3] Do not skip .park files in save list --- src/openrct2/title/TitleSequence.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/openrct2/title/TitleSequence.cpp b/src/openrct2/title/TitleSequence.cpp index 99088af73c..4bb66640fa 100644 --- a/src/openrct2/title/TitleSequence.cpp +++ b/src/openrct2/title/TitleSequence.cpp @@ -309,7 +309,7 @@ static std::vector GetSaves(IZipArchive* zip) { auto name = zip->GetFileName(i); auto ext = Path::GetExtension(name); - if (String::Equals(ext, ".sv6", true) || String::Equals(ext, ".sc6", true)) + if (String::Equals(ext, ".sv6", true) || String::Equals(ext, ".sc6", true) || String::Equals(ext, ".park", true)) { saves.push_back(std::move(name)); } From 4494eb39490171347499537a102e4624246d0ef6 Mon Sep 17 00:00:00 2001 From: Hielke Morsink Date: Sun, 9 Jan 2022 22:11:09 +0100 Subject: [PATCH 3/3] Ensure parks are not paused in title sequence --- src/openrct2-ui/title/TitleSequencePlayer.cpp | 1 + 1 file changed, 1 insertion(+) diff --git a/src/openrct2-ui/title/TitleSequencePlayer.cpp b/src/openrct2-ui/title/TitleSequencePlayer.cpp index 51d46c8e7d..6189555c30 100644 --- a/src/openrct2-ui/title/TitleSequencePlayer.cpp +++ b/src/openrct2-ui/title/TitleSequencePlayer.cpp @@ -465,6 +465,7 @@ private: News::InitQueue(); load_palette(); gScreenAge = 0; + gGamePaused = false; gGameSpeed = 1; }