diff options
Diffstat (limited to 'src/common/fs')
-rw-r--r-- | src/common/fs/fs_paths.h | 1 | ||||
-rw-r--r-- | src/common/fs/path_util.cpp | 28 | ||||
-rw-r--r-- | src/common/fs/path_util.h | 1 |
3 files changed, 18 insertions, 12 deletions
diff --git a/src/common/fs/fs_paths.h b/src/common/fs/fs_paths.h index b32614797..5d447f108 100644 --- a/src/common/fs/fs_paths.h +++ b/src/common/fs/fs_paths.h @@ -21,6 +21,7 @@ #define SCREENSHOTS_DIR "screenshots" #define SDMC_DIR "sdmc" #define SHADER_DIR "shader" +#define TAS_DIR "tas" // yuzu-specific files diff --git a/src/common/fs/path_util.cpp b/src/common/fs/path_util.cpp index 6cdd14f13..1bcb897b5 100644 --- a/src/common/fs/path_util.cpp +++ b/src/common/fs/path_util.cpp @@ -82,32 +82,35 @@ public: private: PathManagerImpl() { + fs::path yuzu_path; + fs::path yuzu_path_cache; + fs::path yuzu_path_config; + #ifdef _WIN32 - auto yuzu_path = GetExeDirectory() / PORTABLE_DIR; + yuzu_path = GetExeDirectory() / PORTABLE_DIR; if (!IsDir(yuzu_path)) { yuzu_path = GetAppDataRoamingDirectory() / YUZU_DIR; } - GenerateYuzuPath(YuzuPath::YuzuDir, yuzu_path); - GenerateYuzuPath(YuzuPath::CacheDir, yuzu_path / CACHE_DIR); - GenerateYuzuPath(YuzuPath::ConfigDir, yuzu_path / CONFIG_DIR); + yuzu_path_cache = yuzu_path / CACHE_DIR; + yuzu_path_config = yuzu_path / CONFIG_DIR; #else - auto yuzu_path = GetCurrentDir() / PORTABLE_DIR; + yuzu_path = GetCurrentDir() / PORTABLE_DIR; if (Exists(yuzu_path) && IsDir(yuzu_path)) { - GenerateYuzuPath(YuzuPath::YuzuDir, yuzu_path); - GenerateYuzuPath(YuzuPath::CacheDir, yuzu_path / CACHE_DIR); - GenerateYuzuPath(YuzuPath::ConfigDir, yuzu_path / CONFIG_DIR); + yuzu_path_cache = yuzu_path / CACHE_DIR; + yuzu_path_config = yuzu_path / CONFIG_DIR; } else { yuzu_path = GetDataDirectory("XDG_DATA_HOME") / YUZU_DIR; - - GenerateYuzuPath(YuzuPath::YuzuDir, yuzu_path); - GenerateYuzuPath(YuzuPath::CacheDir, GetDataDirectory("XDG_CACHE_HOME") / YUZU_DIR); - GenerateYuzuPath(YuzuPath::ConfigDir, GetDataDirectory("XDG_CONFIG_HOME") / YUZU_DIR); + yuzu_path_cache = GetDataDirectory("XDG_CACHE_HOME") / YUZU_DIR; + yuzu_path_config = GetDataDirectory("XDG_CONFIG_HOME") / YUZU_DIR; } #endif + GenerateYuzuPath(YuzuPath::YuzuDir, yuzu_path); + GenerateYuzuPath(YuzuPath::CacheDir, yuzu_path_cache); + GenerateYuzuPath(YuzuPath::ConfigDir, yuzu_path_config); GenerateYuzuPath(YuzuPath::DumpDir, yuzu_path / DUMP_DIR); GenerateYuzuPath(YuzuPath::KeysDir, yuzu_path / KEYS_DIR); GenerateYuzuPath(YuzuPath::LoadDir, yuzu_path / LOAD_DIR); @@ -116,6 +119,7 @@ private: GenerateYuzuPath(YuzuPath::ScreenshotsDir, yuzu_path / SCREENSHOTS_DIR); GenerateYuzuPath(YuzuPath::SDMCDir, yuzu_path / SDMC_DIR); GenerateYuzuPath(YuzuPath::ShaderDir, yuzu_path / SHADER_DIR); + GenerateYuzuPath(YuzuPath::TASDir, yuzu_path / TAS_DIR); } ~PathManagerImpl() = default; diff --git a/src/common/fs/path_util.h b/src/common/fs/path_util.h index f956ac9a2..0a9e3a145 100644 --- a/src/common/fs/path_util.h +++ b/src/common/fs/path_util.h @@ -23,6 +23,7 @@ enum class YuzuPath { ScreenshotsDir, // Where yuzu screenshots are stored. SDMCDir, // Where the emulated SDMC is stored. ShaderDir, // Where shaders are stored. + TASDir, // Where TAS scripts are stored. }; /** |