mirror of
https://git.suyu.dev/suyu/suyu.git
synced 2024-11-30 23:36:26 -05:00
Merge pull request #1697 from lioncash/acc
acc/profile_manager: Minor cleanup-related changes
This commit is contained in:
commit
c6c74248fe
2 changed files with 23 additions and 15 deletions
|
@ -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,11 +341,12 @@ 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});
|
|
||||||
}
|
}
|
||||||
|
|
||||||
std::stable_partition(profiles.begin(), profiles.end(),
|
std::stable_partition(profiles.begin(), profiles.end(),
|
||||||
|
|
|
@ -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!");
|
||||||
|
|
||||||
|
|
Loading…
Reference in a new issue