diff options
| author | bunnei <bunneidev@gmail.com> | 2018-11-27 16:36:23 -0500 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2018-11-27 16:36:23 -0500 |
| commit | 3cc204aff87b48be4e3a8e5ab84aaf73ffde7136 (patch) | |
| tree | 705b0d990b092ceccd999640b5f7e50f4b47b1b5 /src/core/hle/service/acc/acc.cpp | |
| parent | bf055e14ab17a3fdc21be2be2c2ce852103980c7 (diff) | |
| parent | dac0c33fd219e7f3fadbb85e0fcd2005f8f9c338 (diff) | |
Merge pull request #1802 from DarkLordZach/user-data-storage
profile_manager: Save and load ProfileData from disk
Diffstat (limited to 'src/core/hle/service/acc/acc.cpp')
| -rw-r--r-- | src/core/hle/service/acc/acc.cpp | 17 |
1 files changed, 4 insertions, 13 deletions
diff --git a/src/core/hle/service/acc/acc.cpp b/src/core/hle/service/acc/acc.cpp index c629f9357..9521431bb 100644 --- a/src/core/hle/service/acc/acc.cpp +++ b/src/core/hle/service/acc/acc.cpp @@ -21,17 +21,6 @@ namespace Service::Account { -// TODO: RE this structure -struct UserData { - INSERT_PADDING_WORDS(1); - u32 icon_id; - u8 bg_color_id; - INSERT_PADDING_BYTES(0x7); - INSERT_PADDING_BYTES(0x10); - INSERT_PADDING_BYTES(0x60); -}; -static_assert(sizeof(UserData) == 0x80, "UserData structure has incorrect size"); - // Smallest JPEG https://github.com/mathiasbynens/small/blob/master/jpeg.jpg // used as a backup should the one on disk not exist constexpr u32 backup_jpeg_size = 107; @@ -72,9 +61,11 @@ private: void Get(Kernel::HLERequestContext& ctx) { LOG_INFO(Service_ACC, "called user_id={}", user_id.Format()); ProfileBase profile_base{}; - std::array<u8, MAX_DATA> data{}; + ProfileData data{}; if (profile_manager.GetProfileBaseAndData(user_id, profile_base, data)) { - ctx.WriteBuffer(data); + std::array<u8, sizeof(ProfileData)> raw_data; + std::memcpy(raw_data.data(), &data, sizeof(ProfileData)); + ctx.WriteBuffer(raw_data); IPC::ResponseBuilder rb{ctx, 16}; rb.Push(RESULT_SUCCESS); rb.PushRaw(profile_base); |
