UICommon: Don't check the registry key or use the old user directory path on Windows builds for Steam
This commit is contained in:
parent
7240290382
commit
234de8af09
|
@ -295,7 +295,22 @@ void SetUserDirectory(std::string custom_path)
|
||||||
// -> Use AppData\Roaming\Dolphin Emulator as the User directory path
|
// -> Use AppData\Roaming\Dolphin Emulator as the User directory path
|
||||||
// 6. Default
|
// 6. Default
|
||||||
// -> Use GetExeDirectory()\User
|
// -> Use GetExeDirectory()\User
|
||||||
|
//
|
||||||
|
// On Steam builds, we take a simplified approach:
|
||||||
|
// 1. GetExeDirectory()\portable.txt exists
|
||||||
|
// -> Use GetExeDirectory()\User
|
||||||
|
// 2. AppData\Roaming exists
|
||||||
|
// -> Use AppData\Roaming\Dolphin Emulator (Steam) as the User directory path
|
||||||
|
// 3. Default
|
||||||
|
// -> Use GetExeDirectory()\User
|
||||||
|
|
||||||
|
// Get AppData path in case we need it.
|
||||||
|
// TODO: Maybe use WIL when it's available?
|
||||||
|
PWSTR appdata = nullptr;
|
||||||
|
bool appdata_found =
|
||||||
|
SUCCEEDED(SHGetKnownFolderPath(FOLDERID_RoamingAppData, KF_FLAG_DEFAULT, nullptr, &appdata));
|
||||||
|
|
||||||
|
#ifndef STEAM
|
||||||
// Check our registry keys
|
// Check our registry keys
|
||||||
// TODO: Maybe use WIL when it's available?
|
// TODO: Maybe use WIL when it's available?
|
||||||
HKEY hkey;
|
HKEY hkey;
|
||||||
|
@ -325,12 +340,6 @@ void SetUserDirectory(std::string custom_path)
|
||||||
|
|
||||||
local = local != 0 || File::Exists(File::GetExeDirectory() + DIR_SEP "portable.txt");
|
local = local != 0 || File::Exists(File::GetExeDirectory() + DIR_SEP "portable.txt");
|
||||||
|
|
||||||
// Get AppData path in case we need it.
|
|
||||||
// TODO: Maybe use WIL when it's available?
|
|
||||||
PWSTR appdata = nullptr;
|
|
||||||
bool appdata_found =
|
|
||||||
SUCCEEDED(SHGetKnownFolderPath(FOLDERID_RoamingAppData, KF_FLAG_DEFAULT, nullptr, &appdata));
|
|
||||||
|
|
||||||
// Attempt to check if the old User directory exists in My Documents.
|
// Attempt to check if the old User directory exists in My Documents.
|
||||||
// TODO: Maybe use WIL when it's available?
|
// TODO: Maybe use WIL when it's available?
|
||||||
PWSTR documents = nullptr;
|
PWSTR documents = nullptr;
|
||||||
|
@ -373,8 +382,23 @@ void SetUserDirectory(std::string custom_path)
|
||||||
user_path = File::GetExeDirectory() + DIR_SEP PORTABLE_USER_DIR DIR_SEP;
|
user_path = File::GetExeDirectory() + DIR_SEP PORTABLE_USER_DIR DIR_SEP;
|
||||||
}
|
}
|
||||||
|
|
||||||
CoTaskMemFree(appdata);
|
|
||||||
CoTaskMemFree(documents);
|
CoTaskMemFree(documents);
|
||||||
|
#else // ifndef STEAM
|
||||||
|
if (File::Exists(File::GetExeDirectory() + DIR_SEP "portable.txt")) // Case 1
|
||||||
|
{
|
||||||
|
user_path = File::GetExeDirectory() + DIR_SEP PORTABLE_USER_DIR DIR_SEP;
|
||||||
|
}
|
||||||
|
else if (appdata_found) // Case 2
|
||||||
|
{
|
||||||
|
user_path = TStrToUTF8(appdata) + DIR_SEP NORMAL_USER_DIR DIR_SEP;
|
||||||
|
}
|
||||||
|
else // Case 3
|
||||||
|
{
|
||||||
|
user_path = File::GetExeDirectory() + DIR_SEP PORTABLE_USER_DIR DIR_SEP;
|
||||||
|
}
|
||||||
|
#endif
|
||||||
|
|
||||||
|
CoTaskMemFree(appdata);
|
||||||
#else
|
#else
|
||||||
if (File::IsDirectory(ROOT_DIR DIR_SEP EMBEDDED_USER_DIR))
|
if (File::IsDirectory(ROOT_DIR DIR_SEP EMBEDDED_USER_DIR))
|
||||||
{
|
{
|
||||||
|
|
Loading…
Reference in New Issue