diff options
author | Lioncash <mathew1800@gmail.com> | 2018-11-14 23:08:56 +0100 |
---|---|---|
committer | Lioncash <mathew1800@gmail.com> | 2018-11-14 23:08:59 +0100 |
commit | 1af13e0802e612c998c9d0382cfb8705c4d6591c (patch) | |
tree | 4939b391330c73d38511142e1e2c2ac7e4af8bb3 | |
parent | Merge pull request #1679 from DarkLordZach/deterministic-rng-2 (diff) | |
download | yuzu-1af13e0802e612c998c9d0382cfb8705c4d6591c.tar yuzu-1af13e0802e612c998c9d0382cfb8705c4d6591c.tar.gz yuzu-1af13e0802e612c998c9d0382cfb8705c4d6591c.tar.bz2 yuzu-1af13e0802e612c998c9d0382cfb8705c4d6591c.tar.lz yuzu-1af13e0802e612c998c9d0382cfb8705c4d6591c.tar.xz yuzu-1af13e0802e612c998c9d0382cfb8705c4d6591c.tar.zst yuzu-1af13e0802e612c998c9d0382cfb8705c4d6591c.zip |
-rw-r--r-- | src/core/hle/service/acc/profile_manager.cpp | 16 | ||||
-rw-r--r-- | src/core/hle/service/acc/profile_manager.h | 13 |
2 files changed, 18 insertions, 11 deletions
diff --git a/src/core/hle/service/acc/profile_manager.cpp b/src/core/hle/service/acc/profile_manager.cpp index c08394e4c..b66720415 100644 --- a/src/core/hle/service/acc/profile_manager.cpp +++ b/src/core/hle/service/acc/profile_manager.cpp @@ -2,8 +2,11 @@ // Licensed under GPLv2 or any later version // Refer to the license.txt file included. +#include <cstring> #include <random> +#include <fmt/format.h> + #include "common/file_util.h" #include "core/hle/service/acc/profile_manager.h" #include "core/settings.h" @@ -39,6 +42,19 @@ UUID UUID::Generate() { 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() { ParseUserSaveFile(); diff --git a/src/core/hle/service/acc/profile_manager.h b/src/core/hle/service/acc/profile_manager.h index 747c46c20..d2d8e6c6b 100644 --- a/src/core/hle/service/acc/profile_manager.h +++ b/src/core/hle/service/acc/profile_manager.h @@ -42,18 +42,9 @@ struct UUID { void Invalidate() { uuid = INVALID_UUID; } - std::string Format() const { - return fmt::format("0x{:016X}{:016X}", uuid[1], uuid[0]); - } - std::string 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]); - } + std::string Format() const; + std::string FormatSwitch() const; }; static_assert(sizeof(UUID) == 16, "UUID is an invalid size!"); |