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.  };  /**  | 
