summaryrefslogtreecommitdiffstats
path: root/src/core/hle/service/mii/mii_manager.cpp
diff options
context:
space:
mode:
authorZach Hilman <zachhilman@gmail.com>2018-12-28 02:54:44 +0100
committerZach Hilman <zachhilman@gmail.com>2019-04-25 14:07:57 +0200
commit1aa2b99a982e83022c9aae23c6a47eae119d21a4 (patch)
tree33f5c35625557c73998d48ca8f0d26dd0f986d84 /src/core/hle/service/mii/mii_manager.cpp
parentmii: Implement IsUpdated command (IPC 0) (diff)
downloadyuzu-1aa2b99a982e83022c9aae23c6a47eae119d21a4.tar
yuzu-1aa2b99a982e83022c9aae23c6a47eae119d21a4.tar.gz
yuzu-1aa2b99a982e83022c9aae23c6a47eae119d21a4.tar.bz2
yuzu-1aa2b99a982e83022c9aae23c6a47eae119d21a4.tar.lz
yuzu-1aa2b99a982e83022c9aae23c6a47eae119d21a4.tar.xz
yuzu-1aa2b99a982e83022c9aae23c6a47eae119d21a4.tar.zst
yuzu-1aa2b99a982e83022c9aae23c6a47eae119d21a4.zip
Diffstat (limited to 'src/core/hle/service/mii/mii_manager.cpp')
-rw-r--r--src/core/hle/service/mii/mii_manager.cpp27
1 files changed, 27 insertions, 0 deletions
diff --git a/src/core/hle/service/mii/mii_manager.cpp b/src/core/hle/service/mii/mii_manager.cpp
index 7011ea2bd..04fc2180b 100644
--- a/src/core/hle/service/mii/mii_manager.cpp
+++ b/src/core/hle/service/mii/mii_manager.cpp
@@ -32,6 +32,13 @@ constexpr MiiStoreData DEFAULT_MII = {
// Default values taken from multiple real databases
const MiiDatabase DEFAULT_MII_DATABASE{Common::MakeMagic('N', 'F', 'D', 'B'), {}, {1}, 0, 0};
+constexpr std::array<const char*, 4> SOURCE_NAMES{
+ "Database",
+ "Default",
+ "Account",
+ "Friend",
+};
+
template <typename T, std::size_t SourceArraySize, std::size_t DestArraySize>
std::array<T, DestArraySize> ResizeArray(const std::array<T, SourceArraySize>& in) {
std::array<T, DestArraySize> out{};
@@ -167,6 +174,11 @@ MiiStoreData ConvertInfoToStoreData(const MiiInfo& info) {
} // namespace
+std::ostream& operator<<(std::ostream& os,Source source) {
+ os << SOURCE_NAMES.at(static_cast<std::size_t>(source));
+ return os;
+}
+
std::u16string MiiInfo::Name() const {
return Common::UTF16StringFromFixedZeroTerminatedBuffer(name.data(), name.size());
}
@@ -212,6 +224,10 @@ void MiiManager::ResetUpdatedFlag() {
updated_flag = false;
}
+bool MiiManager::IsTestModeEnabled() const {
+ return is_test_mode_enabled;
+}
+
bool MiiManager::Empty() const {
return Size() == 0;
}
@@ -318,6 +334,17 @@ bool MiiManager::AddOrReplace(const MiiStoreData& data) {
return true;
}
+bool MiiManager::DestroyFile() {
+ database = DEFAULT_MII_DATABASE;
+ updated_flag = false;
+ return DeleteFile();
+}
+
+bool MiiManager::DeleteFile() {
+ const auto path = FileUtil::GetUserPath(FileUtil::UserPath::NANDDir) + MII_SAVE_DATABASE_PATH;
+ return FileUtil::Exists(path) && FileUtil::Delete(path);
+}
+
void MiiManager::WriteToFile() {
const auto raw_path =
FileUtil::GetUserPath(FileUtil::UserPath::NANDDir) + "/system/save/8000000000000030";