From cbe533c5387a986aff872c1b907032e21b08f68f Mon Sep 17 00:00:00 2001 From: DeaTh-G Date: Wed, 19 Mar 2025 13:32:21 +0100 Subject: [PATCH] add argument to use current working directory --- UnleashedRecomp/main.cpp | 11 ++++++++--- 1 file changed, 8 insertions(+), 3 deletions(-) diff --git a/UnleashedRecomp/main.cpp b/UnleashedRecomp/main.cpp index 949e872f..81feb765 100644 --- a/UnleashedRecomp/main.cpp +++ b/UnleashedRecomp/main.cpp @@ -186,9 +186,6 @@ int main(int argc, char *argv[]) timeBeginPeriod(1); #endif - // Set the current working directory to the executable's path. - std::filesystem::current_path(os::process::GetExecutablePath().parent_path()); - os::process::CheckConsole(); if (!os::registry::Init()) @@ -198,12 +195,14 @@ int main(int argc, char *argv[]) bool forceInstaller = false; bool forceDLCInstaller = false; + bool useDefaultWorkingDirectory = false; const char *sdlVideoDriver = nullptr; for (uint32_t i = 1; i < argc; i++) { forceInstaller = forceInstaller || (strcmp(argv[i], "--install") == 0); forceDLCInstaller = forceDLCInstaller || (strcmp(argv[i], "--install-dlc") == 0); + useDefaultWorkingDirectory = useDefaultWorkingDirectory || (strcmp(argv[i], "--use-cwd") == 0); if (strcmp(argv[i], "--sdl-video-driver") == 0) { @@ -214,6 +213,12 @@ int main(int argc, char *argv[]) } } + if (!useDefaultWorkingDirectory) + { + // Set the current working directory to the executable's path. + std::filesystem::current_path(os::process::GetExecutablePath().parent_path()); + } + Config::Load(); #if defined(_WIN32) && defined(UNLEASHED_RECOMP_D3D12)