[XAM] Fixed issue with achievements saving in Forza series.

Remove this ducktape asap and remove hardcodes
This commit is contained in:
Gliniak
2025-03-15 23:59:34 +01:00
parent 9132035a51
commit 8926bdcdd6
3 changed files with 9 additions and 6 deletions

View File

@@ -183,7 +183,8 @@ bool ProfileManager::LoadAccount(const uint64_t xuid) {
MountProfile(xuid);
const std::string guest_path = xuid_as_string + ":\\Account";
const std::string guest_path =
fmt::format(kDefaultMountFormat, xuid) + ":\\Account";
xe::vfs::File* output_file;
xe::vfs::FileAction action = {};
@@ -257,7 +258,7 @@ void ProfileManager::ModifyGamertag(const uint64_t xuid, std::string gamertag) {
bool ProfileManager::MountProfile(const uint64_t xuid, std::string mount_path) {
std::filesystem::path profile_path = GetProfilePath(xuid);
if (mount_path.empty()) {
mount_path = fmt::format("{:016X}", xuid);
mount_path = fmt::format(kDefaultMountFormat, xuid);
}
mount_path += ':';
@@ -275,7 +276,7 @@ bool ProfileManager::MountProfile(const uint64_t xuid, std::string mount_path) {
bool ProfileManager::DismountProfile(const uint64_t xuid) {
return kernel_state_->file_system()->UnregisterDevice(
fmt::format("{:016X}", xuid) + ':');
fmt::format(kDefaultMountFormat, xuid) + ':');
}
void ProfileManager::Login(const uint64_t xuid, const uint8_t user_index,