Add OpenSFX and OpenMSX downloads

This commit is contained in:
Ted John 2022-10-15 00:34:34 +01:00 committed by Gymnasiast
parent 7dc0c1dddc
commit 4328860273
No known key found for this signature in database
GPG Key ID: DBFFF47AB2CA3EDD
5 changed files with 57 additions and 4 deletions

View File

@ -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")

View File

@ -47,6 +47,10 @@
<TitleSequencesSha1>4ab0065e5a4d9f9c77d94718bbdfcfcd5a389da0</TitleSequencesSha1>
<ObjectsUrl>https://github.com/OpenRCT2/objects/releases/download/v1.3.5/objects.zip</ObjectsUrl>
<ObjectsSha1>58bddc5f845d8c7eb5d9fd25e52ab1fed24c85db</ObjectsSha1>
<OpenSFXUrl>https://github.com/OpenRCT2/OpenSoundEffects/releases/download/v1.0.1/opensound.zip</OpenSFXUrl>
<OpenSFXSha1>8f04aea33f8034131c3069f6accacce0d94f80c1</OpenSFXSha1>
<OpenMSXUrl>https://github.com/OpenRCT2/OpenMusic/releases/download/v1.0.1/openmusic.zip</OpenMSXUrl>
<OpenMSXSha1>8ff94490180e2fbfdd13a4130eb300da726ca406</OpenMSXSha1>
<ReplaysUrl>https://github.com/OpenRCT2/replays/releases/download/v0.0.70/replays.zip</ReplaysUrl>
<ReplaysSha1>09B339E86AAE81580C5AC3E23AC4BC9E030DA076</ReplaysSha1>
</PropertyGroup>
@ -128,6 +132,24 @@
OutputDirectory="$(TargetDir)data\object" />
</Target>
<!-- Target to download OpenSFX -->
<Target Name="DownloadOpenSFX" AfterTargets="Build">
<DownloadDependency Name="OpenSFX"
Url="$(OpenSFXUrl)"
Sha1="$(OpenSFXSha1)"
CheckFile="$(DependenciesCheckFile)"
OutputDirectory="$(TargetDir)data" />
</Target>
<!-- Target to download OpenMSX -->
<Target Name="DownloadOpenMSX" AfterTargets="Build">
<DownloadDependency Name="OpenMSX"
Url="$(OpenMSXUrl)"
Sha1="$(OpenMSXSha1)"
CheckFile="$(DependenciesCheckFile)"
OutputDirectory="$(TargetDir)data" />
</Target>
<!-- Target to download replays -->
<Target Name="DownloadReplays" AfterTargets="Build">
<DownloadDependency Name="Replays"

View File

@ -232,7 +232,21 @@ if(MACOS_BUNDLE)
ZIP_URL ${TITLE_SEQUENCE_URL}
SHA1 ${TITLE_SEQUENCE_SHA1}
)
# download opensfx and openmsx
download_openrct2_zip(
ZIP_VERSION ${OPENSFX_VERSION}
DOWNLOAD_DIR ${CMAKE_BINARY_DIR}
ZIP_URL ${OPENSFX_URL}
SHA1 ${OPENSFX_SHA1}
)
download_openrct2_zip(
ZIP_VERSION ${OPENMSX_VERSION}
DOWNLOAD_DIR ${CMAKE_BINARY_DIR}
ZIP_URL ${OPENMSX_URL}
SHA1 ${OPENMSX_SHA1}
)
file(COPY ${OBJECTS_DIR} DESTINATION "${BUNDLE_RESOURCE_DIR}")
file(COPY ${TITLE_SEQUENCE_DIR} DESTINATION "${BUNDLE_RESOURCE_DIR}")

View File

@ -67,12 +67,20 @@ void AssetPackManager::Scan()
auto context = GetContext();
auto env = context->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())
{

View File

@ -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);