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