Просмотр исходного кода

profile_manager: Load users from emulator settings

Zach Hilman 7 лет назад
Родитель
Сommit
aeffd4b436
2 измененных файлов с 7 добавлено и 5 удалено
  1. 6 4
      src/core/hle/service/acc/profile_manager.cpp
  2. 1 1
      src/core/hle/service/acc/profile_manager.h

+ 6 - 4
src/core/hle/service/acc/profile_manager.cpp

@@ -23,10 +23,12 @@ const UUID& UUID::Generate() {
 }
 }
 
 
 ProfileManager::ProfileManager() {
 ProfileManager::ProfileManager() {
-    // TODO(ogniK): Create the default user we have for now until loading/saving users is added
-    auto user_uuid = UUID{1, 0};
-    ASSERT(CreateNewUser(user_uuid, Settings::values.username).IsSuccess());
-    OpenUser(user_uuid);
+    for (std::size_t i = 0; i < Settings::values.users.size(); ++i) {
+        const auto& val = Settings::values.users[i];
+        ASSERT(CreateNewUser(val.second, val.first).IsSuccess());
+    }
+
+    OpenUser(Settings::values.users[Settings::values.current_user].second);
 }
 }
 
 
 ProfileManager::~ProfileManager() = default;
 ProfileManager::~ProfileManager() = default;

+ 1 - 1
src/core/hle/service/acc/profile_manager.h

@@ -81,7 +81,7 @@ static_assert(sizeof(ProfileBase) == 0x38, "ProfileBase is an invalid size");
 /// objects
 /// objects
 class ProfileManager {
 class ProfileManager {
 public:
 public:
-    ProfileManager(); // TODO(ogniK): Load from system save
+    ProfileManager();
     ~ProfileManager();
     ~ProfileManager();
 
 
     ResultCode AddUser(const ProfileInfo& user);
     ResultCode AddUser(const ProfileInfo& user);