From 2b43fb247455e2eb0dffc2aa0d62739f88dd83e0 Mon Sep 17 00:00:00 2001 From: mchughalex <25671999+mchughalex@users.noreply.github.com> Date: Tue, 21 Jul 2026 11:01:12 +0100 Subject: [PATCH] macos: self-contained application bundle with user files beside it (SDK bump) --- README.md | 2 +- src/skate3_app_common.cpp | 6 +++--- third_party/rexglue-sdk | 2 +- 3 files changed, 5 insertions(+), 5 deletions(-) diff --git a/README.md b/README.md index 6e1a03e..2f11f8d 100644 --- a/README.md +++ b/README.md @@ -48,7 +48,7 @@ Notes: 1. Download the latest release Skate3Recomp-macOS.zip from the releases page. 2. Extract it anywhere you like, to a folder you control. -3. Run the game by opening the "Skate 3 Recomp" app (or "./skate3" from a terminal). The app must stay in the extracted folder next to the other files. +3. Run the game by opening the Skate3Recomp app. Game files, saves and settings are kept in the folder containing the app, so keep it in a folder you control rather than in Downloads or Applications. 4. The first time, right-click the app and choose Open, or approve it under System Settings > Privacy & Security, before macOS will allow it to run. 5. Click "Select ISO" to select your legally obtained copy of Skate 3. 6. Wait for the installer to extract the game files. diff --git a/src/skate3_app_common.cpp b/src/skate3_app_common.cpp index 4266aff..e5d9c49 100644 --- a/src/skate3_app_common.cpp +++ b/src/skate3_app_common.cpp @@ -339,7 +339,7 @@ std::filesystem::path DefaultRoamingUserRoot() { } std::filesystem::path ResolveSkate3UserRoot(const rex::PathConfig& paths) { - const auto executable_root = rex::filesystem::GetExecutableFolder(); + const auto executable_root = rex::filesystem::GetAppRootFolder(); if (std::filesystem::exists(executable_root / "portable.txt")) { return executable_root; } @@ -778,7 +778,7 @@ void Skate3BaseApp::OnPostSetup() { // content tree, and without the folder the default location is unchanged. { const auto portable_saves = - rex::filesystem::GetExecutableFolder() / std::string(kSavesDirectoryName); + rex::filesystem::GetAppRootFolder() / std::string(kSavesDirectoryName); if (std::filesystem::is_directory(portable_saves) && runtime()->kernel_state() && runtime()->kernel_state()->content_manager()) { runtime()->kernel_state()->content_manager()->SetContentTypeRoot( @@ -1271,7 +1271,7 @@ void Skate3BaseApp::InstallDlcPackages() { } const auto source_dirs = - DiscoverDlcSourceDirectories(rex::filesystem::GetExecutableFolder(), + DiscoverDlcSourceDirectories(rex::filesystem::GetAppRootFolder(), runtime()->game_data_root(), runtime()->user_data_root()); std::unordered_set seen_packages; size_t installed_count = 0; diff --git a/third_party/rexglue-sdk b/third_party/rexglue-sdk index 705b78f..3e842e6 160000 --- a/third_party/rexglue-sdk +++ b/third_party/rexglue-sdk @@ -1 +1 @@ -Subproject commit 705b78f53e11e4a29c4f9b58ca2d041bab8ecd3d +Subproject commit 3e842e62a6f9ad260399f44d9797380e53e157d0