From 43288602730a4e2c9906cf026e7485264e2e13a9 Mon Sep 17 00:00:00 2001 From: Ted John Date: Sat, 15 Oct 2022 00:34:34 +0100 Subject: [PATCH] Add OpenSFX and OpenMSX downloads --- CMakeLists.txt | 8 ++++++++ openrct2.proj | 22 ++++++++++++++++++++++ src/openrct2-ui/CMakeLists.txt | 16 +++++++++++++++- src/openrct2/AssetPackManager.cpp | 14 +++++++++++--- src/openrct2/AssetPackManager.h | 1 + 5 files changed, 57 insertions(+), 4 deletions(-) diff --git a/CMakeLists.txt b/CMakeLists.txt index eba549e5f0..a5d404bae6 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -68,6 +68,14 @@ set(OBJECTS_VERSION "1.3.5") set(OBJECTS_URL "https://github.com/OpenRCT2/objects/releases/download/v${OBJECTS_VERSION}/objects.zip") set(OBJECTS_SHA1 "58bddc5f845d8c7eb5d9fd25e52ab1fed24c85db") +set(OPENSFX_VERSION "1.0.1") +set(OPENSFX_URL "https://github.com/OpenRCT2/OpenSoundEffects/releases/download/v${OPENSFX_VERSION}/opensound.zip") +set(OPENSFX_SHA1 "8f04aea33f8034131c3069f6accacce0d94f80c1") + +set(OPENMSX_VERSION "1.0.1") +set(OPENMSX_URL "https://github.com/OpenRCT2/OpenMusic/releases/download/v${OPENMSX_VERSION}/openmusic.zip") +set(OPENMSX_SHA1 "8ff94490180e2fbfdd13a4130eb300da726ca406") + set(REPLAYS_VERSION "0.0.70") set(REPLAYS_URL "https://github.com/OpenRCT2/replays/releases/download/v${REPLAYS_VERSION}/replays.zip") set(REPLAYS_SHA1 "09B339E86AAE81580C5AC3E23AC4BC9E030DA076") diff --git a/openrct2.proj b/openrct2.proj index 43ae29076a..ac8ed9258a 100644 --- a/openrct2.proj +++ b/openrct2.proj @@ -47,6 +47,10 @@ 4ab0065e5a4d9f9c77d94718bbdfcfcd5a389da0 https://github.com/OpenRCT2/objects/releases/download/v1.3.5/objects.zip 58bddc5f845d8c7eb5d9fd25e52ab1fed24c85db + https://github.com/OpenRCT2/OpenSoundEffects/releases/download/v1.0.1/opensound.zip + 8f04aea33f8034131c3069f6accacce0d94f80c1 + https://github.com/OpenRCT2/OpenMusic/releases/download/v1.0.1/openmusic.zip + 8ff94490180e2fbfdd13a4130eb300da726ca406 https://github.com/OpenRCT2/replays/releases/download/v0.0.70/replays.zip 09B339E86AAE81580C5AC3E23AC4BC9E030DA076 @@ -128,6 +132,24 @@ OutputDirectory="$(TargetDir)data\object" /> + + + + + + + + + + GetPlatformEnvironment(); - auto assetPackDirectory = fs::u8path(env->GetDirectoryPath(DIRBASE::USER, DIRID::ASSET_PACK)); - Platform::EnsureDirectoryExists(assetPackDirectory.u8string()); + auto openrct2Dir = fs::u8path(env->GetDirectoryPath(DIRBASE::OPENRCT2, DIRID::ASSET_PACK)); + Scan(openrct2Dir); + + auto userDirectory = fs::u8path(env->GetDirectoryPath(DIRBASE::USER, DIRID::ASSET_PACK)); + Platform::EnsureDirectoryExists(userDirectory.u8string()); + Scan(userDirectory); +} + +void AssetPackManager::Scan(const fs::path& directory) +{ // Recursively scan for .parkap files std::error_code ec; - for (const fs::directory_entry& entry : fs::recursive_directory_iterator(assetPackDirectory, ec)) + for (const fs::directory_entry& entry : fs::recursive_directory_iterator(directory, ec)) { if (!entry.is_directory()) { diff --git a/src/openrct2/AssetPackManager.h b/src/openrct2/AssetPackManager.h index f345cf68b5..c33344025d 100644 --- a/src/openrct2/AssetPackManager.h +++ b/src/openrct2/AssetPackManager.h @@ -36,6 +36,7 @@ namespace OpenRCT2 size_t GetAssetPackIndex(std::string_view id); void Scan(); + void Scan(const fs::path& directory); void Reload(); void Swap(size_t index, size_t otherIndex);