diff --git a/src/Ryujinx.HLE/HOS/Applets/PlayerSelect/PlayerSelectApplet.cs b/src/Ryujinx.HLE/HOS/Applets/PlayerSelect/PlayerSelectApplet.cs index 2b426787b..e4c79e2a6 100644 --- a/src/Ryujinx.HLE/HOS/Applets/PlayerSelect/PlayerSelectApplet.cs +++ b/src/Ryujinx.HLE/HOS/Applets/PlayerSelect/PlayerSelectApplet.cs @@ -1,3 +1,4 @@ +using Ryujinx.Common; using Ryujinx.Common.Logging; using Ryujinx.Common.Memory; using Ryujinx.HLE.HOS.Services.Account.Acc; @@ -29,7 +30,15 @@ namespace Ryujinx.HLE.HOS.Applets _interactiveSession = interactiveSession; UserProfile selected = _system.Device.UIHandler.ShowPlayerSelectDialog(); - _normalSession.Push(BuildResponse(selected)); + if (selected.UserId == new UserId("00000000000000000000000000000080")) + { + _normalSession.Push(BuildGuestResponse()); + Logger.Info?.Print(LogClass.Service,$"[Player Select] Guest Selected"); + } + else + { + _normalSession.Push(BuildResponse(selected)); + } AppletStateChanged?.Invoke(this, null); _system.ReturnFocus(); @@ -48,5 +57,15 @@ namespace Ryujinx.HLE.HOS.Applets return stream.ToArray(); } + + private byte[] BuildGuestResponse() + { + using MemoryStream stream = MemoryStreamManager.Shared.GetStream(); + using BinaryWriter writer = new(stream); + + writer.Write(new byte()); + + return stream.ToArray(); + } } } diff --git a/src/Ryujinx/Headless/WindowBase.cs b/src/Ryujinx/Headless/WindowBase.cs index 6ca11f51c..4e6848449 100644 --- a/src/Ryujinx/Headless/WindowBase.cs +++ b/src/Ryujinx/Headless/WindowBase.cs @@ -576,7 +576,7 @@ namespace Ryujinx.Headless public UserProfile ShowPlayerSelectDialog() { - throw new NotImplementedException(); + return AccountSaveDataManager.GetLastUsedUser(); } } }