aboutsummaryrefslogtreecommitdiff
path: root/src/core/hle/service/acc/profile_manager.cpp
diff options
context:
space:
mode:
authorZach Hilman <zachhilman@gmail.com>2018-11-26 17:11:12 -0500
committerZach Hilman <zachhilman@gmail.com>2018-11-26 17:11:12 -0500
commitdac0c33fd219e7f3fadbb85e0fcd2005f8f9c338 (patch)
tree285accc2e3341050c3abb14dcf2aaeff6cb53e04 /src/core/hle/service/acc/profile_manager.cpp
parentf7a1827aaa384863c1a2bdff13a322aa9d89dfd2 (diff)
profile_manager: Save and load ProfileData from disk
The ProfileData is a 0x80-sized structure that stores various pieces of miscellaneous data for the account.
Diffstat (limited to 'src/core/hle/service/acc/profile_manager.cpp')
-rw-r--r--src/core/hle/service/acc/profile_manager.cpp5
1 files changed, 3 insertions, 2 deletions
diff --git a/src/core/hle/service/acc/profile_manager.cpp b/src/core/hle/service/acc/profile_manager.cpp
index 968263846..1316d0b07 100644
--- a/src/core/hle/service/acc/profile_manager.cpp
+++ b/src/core/hle/service/acc/profile_manager.cpp
@@ -18,7 +18,7 @@ struct UserRaw {
UUID uuid2;
u64 timestamp;
ProfileUsername username;
- INSERT_PADDING_BYTES(0x80);
+ ProfileData extra_data;
};
static_assert(sizeof(UserRaw) == 0xC8, "UserRaw has incorrect size.");
@@ -346,7 +346,7 @@ void ProfileManager::ParseUserSaveFile() {
continue;
}
- AddUser({user.uuid, user.username, user.timestamp, {}, false});
+ AddUser({user.uuid, user.username, user.timestamp, user.extra_data, false});
}
std::stable_partition(profiles.begin(), profiles.end(),
@@ -361,6 +361,7 @@ void ProfileManager::WriteUserSaveFile() {
raw.users[i].uuid2 = profiles[i].user_uuid;
raw.users[i].uuid = profiles[i].user_uuid;
raw.users[i].timestamp = profiles[i].creation_time;
+ raw.users[i].extra_data = profiles[i].data;
}
const auto raw_path =