yuzu-emu
/
yuzu-mainline
Archived
1
0
Fork 0

Merge pull request #1697 from lioncash/acc

acc/profile_manager: Minor cleanup-related changes
This commit is contained in:
bunnei 2018-11-14 19:02:25 -08:00 committed by GitHub
commit c6c74248fe
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
2 changed files with 23 additions and 15 deletions

View File

@ -2,8 +2,11 @@
// Licensed under GPLv2 or any later version // Licensed under GPLv2 or any later version
// Refer to the license.txt file included. // Refer to the license.txt file included.
#include <cstring>
#include <random> #include <random>
#include <fmt/format.h>
#include "common/file_util.h" #include "common/file_util.h"
#include "core/hle/service/acc/profile_manager.h" #include "core/hle/service/acc/profile_manager.h"
#include "core/settings.h" #include "core/settings.h"
@ -39,6 +42,19 @@ UUID UUID::Generate() {
return UUID{distribution(gen), distribution(gen)}; return UUID{distribution(gen), distribution(gen)};
} }
std::string UUID::Format() const {
return fmt::format("0x{:016X}{:016X}", uuid[1], uuid[0]);
}
std::string UUID::FormatSwitch() const {
std::array<u8, 16> s{};
std::memcpy(s.data(), uuid.data(), sizeof(u128));
return fmt::format("{:02x}{:02x}{:02x}{:02x}-{:02x}{:02x}-{:02x}{:02x}-{:02x}{:02x}-{:02x}{"
":02x}{:02x}{:02x}{:02x}{:02x}",
s[0], s[1], s[2], s[3], s[4], s[5], s[6], s[7], s[8], s[9], s[10], s[11],
s[12], s[13], s[14], s[15]);
}
ProfileManager::ProfileManager() { ProfileManager::ProfileManager() {
ParseUserSaveFile(); ParseUserSaveFile();
@ -325,10 +341,11 @@ void ProfileManager::ParseUserSaveFile() {
return; return;
} }
for (std::size_t i = 0; i < MAX_USERS; ++i) { for (const auto& user : data.users) {
const auto& user = data.users[i]; if (user.uuid == UUID(INVALID_UUID)) {
continue;
}
if (user.uuid != UUID(INVALID_UUID))
AddUser({user.uuid, user.username, user.timestamp, {}, false}); AddUser({user.uuid, user.username, user.timestamp, {}, false});
} }

View File

@ -42,18 +42,9 @@ struct UUID {
void Invalidate() { void Invalidate() {
uuid = INVALID_UUID; uuid = INVALID_UUID;
} }
std::string Format() const {
return fmt::format("0x{:016X}{:016X}", uuid[1], uuid[0]);
}
std::string FormatSwitch() const { std::string Format() const;
std::array<u8, 16> s{}; std::string FormatSwitch() const;
std::memcpy(s.data(), uuid.data(), sizeof(u128));
return fmt::format("{:02x}{:02x}{:02x}{:02x}-{:02x}{:02x}-{:02x}{:02x}-{:02x}{:02x}-{:02x}{"
":02x}{:02x}{:02x}{:02x}{:02x}",
s[0], s[1], s[2], s[3], s[4], s[5], s[6], s[7], s[8], s[9], s[10], s[11],
s[12], s[13], s[14], s[15]);
}
}; };
static_assert(sizeof(UUID) == 16, "UUID is an invalid size!"); static_assert(sizeof(UUID) == 16, "UUID is an invalid size!");