diff options
Diffstat (limited to 'Ryujinx.HLE/HOS/Services/Friend')
| -rw-r--r-- | Ryujinx.HLE/HOS/Services/Friend/IFriendService.cs | 18 |
1 files changed, 18 insertions, 0 deletions
diff --git a/Ryujinx.HLE/HOS/Services/Friend/IFriendService.cs b/Ryujinx.HLE/HOS/Services/Friend/IFriendService.cs index 54d85ea5..1a60a78b 100644 --- a/Ryujinx.HLE/HOS/Services/Friend/IFriendService.cs +++ b/Ryujinx.HLE/HOS/Services/Friend/IFriendService.cs @@ -17,6 +17,7 @@ namespace Ryujinx.HLE.HOS.Services.Friend _commands = new Dictionary<int, ServiceProcessRequest> { { 10101, GetFriendList }, + { 10600, DeclareOpenOnlinePlaySession }, { 10601, DeclareCloseOnlinePlaySession }, { 10610, UpdateUserPresence } }; @@ -61,6 +62,23 @@ namespace Ryujinx.HLE.HOS.Services.Friend return 0; } + // DeclareOpenOnlinePlaySession(nn::account::Uid) + public long DeclareOpenOnlinePlaySession(ServiceCtx context) + { + UInt128 uuid = new UInt128( + context.RequestData.ReadInt64(), + context.RequestData.ReadInt64()); + + if (context.Device.System.State.TryGetUser(uuid, out UserProfile profile)) + { + profile.OnlinePlayState = OpenCloseState.Open; + } + + Logger.PrintStub(LogClass.ServiceFriend, new { UserId = uuid.ToString(), profile.OnlinePlayState }); + + return 0; + } + // DeclareCloseOnlinePlaySession(nn::account::Uid) public long DeclareCloseOnlinePlaySession(ServiceCtx context) { |
