diff --git a/src/xenia/kernel/xam/user_profile.cc b/src/xenia/kernel/xam/user_profile.cc index da0f6f43f..27ce77d89 100644 --- a/src/xenia/kernel/xam/user_profile.cc +++ b/src/xenia/kernel/xam/user_profile.cc @@ -290,8 +290,8 @@ bool UserProfile::Login(uint64_t offline_xuid) { xuid_offline_ = offline_xuid; auto profile_path = path(xuid_offline_); - if (xuid_offline_ == 1) { - // XUID = 1, login as the first non-signed-in profile + if (!xuid_offline_) { + // Try logging in as any non-signed-in profile... profile_path.clear(); auto profiles = Enumerate(kernel_state_, true); @@ -302,7 +302,7 @@ bool UserProfile::Login(uint64_t offline_xuid) { } } - if (!xuid_offline_ || profile_path.empty()) { + if (profile_path.empty()) { XELOGW( "UserProfile::Login: Couldn't find available profile to login to, " "using temp. profile"); diff --git a/src/xenia/kernel/xam/user_profile.h b/src/xenia/kernel/xam/user_profile.h index c37d88023..798988109 100644 --- a/src/xenia/kernel/xam/user_profile.h +++ b/src/xenia/kernel/xam/user_profile.h @@ -210,9 +210,10 @@ class UserProfile { bool UpdateAllGpds(); // Tries logging this user into a profile - // If XUID == 0, will use Xenia generated profile - // If XUID == 1, will try loading from any available profile - // If XUID is any other ID, will try loading from the profile it belongs to + // If XUID is set, will try signing into the profile it belongs to + // Otherwise will try signing into any available (not already signed in) + // profile + // If no profiles are available, will use a Xenia-generated one bool Login(uint64_t offline_xuid = 0); void Logout();