From 40282da93a45c90b3d5a696199ee353a1ae8c730 Mon Sep 17 00:00:00 2001 From: Ac_K Date: Wed, 26 Sep 2018 00:59:29 +0200 Subject: [PATCH] Implement friend:a IFriendService: 10101 (#429) * Implement friend:a IFriendService: 10101 * Update Profile Picture * Update IFriendServiceTypes.cs * Update IFriendServiceTypes.cs * Update IFriendService.cs * Update IFriendServiceTypes.cs * Update IFriendServiceTypes.cs * Update IFriendService.cs --- .../HOS/Services/Friend/IFriendService.cs | 56 +++++++++++++++++- .../Services/Friend/IFriendServiceTypes.cs | 20 +++++++ Ryujinx.HLE/RyujinxProfileImage.jpg | Bin 5394 -> 52969 bytes 3 files changed, 73 insertions(+), 3 deletions(-) create mode 100644 Ryujinx.HLE/HOS/Services/Friend/IFriendServiceTypes.cs diff --git a/Ryujinx.HLE/HOS/Services/Friend/IFriendService.cs b/Ryujinx.HLE/HOS/Services/Friend/IFriendService.cs index 3b06ba8af..d476f5d02 100644 --- a/Ryujinx.HLE/HOS/Services/Friend/IFriendService.cs +++ b/Ryujinx.HLE/HOS/Services/Friend/IFriendService.cs @@ -15,11 +15,50 @@ namespace Ryujinx.HLE.HOS.Services.Friend { m_Commands = new Dictionary() { + { 10101, GetFriendList }, { 10601, DeclareCloseOnlinePlaySession }, { 10610, UpdateUserPresence } }; } + // nn::friends::GetFriendListGetFriendListIds(nn::account::Uid, int Unknown0, nn::friends::detail::ipc::SizedFriendFilter, ulong Unknown1) -> int CounterIds, array + public long GetFriendList(ServiceCtx Context) + { + UserId Uuid = new UserId( + Context.RequestData.ReadInt64(), + Context.RequestData.ReadInt64()); + + int Unknown0 = Context.RequestData.ReadInt32(); + + FriendFilter Filter = new FriendFilter() + { + PresenceStatus = (PresenceStatusFilter)Context.RequestData.ReadInt32(), + IsFavoriteOnly = Context.RequestData.ReadBoolean(), + IsSameAppPresenceOnly = Context.RequestData.ReadBoolean(), + IsSameAppPlayedOnly = Context.RequestData.ReadBoolean(), + IsArbitraryAppPlayedOnly = Context.RequestData.ReadBoolean(), + PresenceGroupId = Context.RequestData.ReadInt64() + }; + + long Unknown1 = Context.RequestData.ReadInt64(); + + // There are no friends online, so we return 0 because the nn::account::NetworkServiceAccountId array is empty. + Context.ResponseData.Write(0); + + Context.Device.Log.PrintStub(LogClass.ServiceFriend, $"Stubbed. UserId: {Uuid.UserIdHex} - " + + $"Unknown0: {Unknown0} - " + + $"PresenceStatus: {Filter.PresenceStatus} - " + + $"IsFavoriteOnly: {Filter.IsFavoriteOnly} - " + + $"IsSameAppPresenceOnly: {Filter.IsSameAppPresenceOnly} - " + + $"IsSameAppPlayedOnly: {Filter.IsSameAppPlayedOnly} - " + + $"IsArbitraryAppPlayedOnly: {Filter.IsArbitraryAppPlayedOnly} - " + + $"PresenceGroupId: {Filter.PresenceGroupId} - " + + $"Unknown1: {Unknown1}"); + + return 0; + } + + // DeclareCloseOnlinePlaySession(nn::account::Uid) public long DeclareCloseOnlinePlaySession(ServiceCtx Context) { UserId Uuid = new UserId( @@ -31,19 +70,30 @@ namespace Ryujinx.HLE.HOS.Services.Friend Profile.OnlinePlayState = OpenCloseState.Closed; } + Context.Device.Log.PrintStub(LogClass.ServiceFriend, $"Stubbed. Uuid: {Uuid.UserIdHex} - " + + $"OnlinePlayState: {Profile.OnlinePlayState}"); + return 0; } + // UpdateUserPresence(nn::account::Uid, ulong Unknown0) -> buffer public long UpdateUserPresence(ServiceCtx Context) { UserId Uuid = new UserId( Context.RequestData.ReadInt64(), Context.RequestData.ReadInt64()); - //TODO. - Context.Device.Log.PrintStub(LogClass.ServiceFriend, "Stubbed."); + long Unknown0 = Context.RequestData.ReadInt64(); + + long Position = Context.Request.PtrBuff[0].Position; + long Size = Context.Request.PtrBuff[0].Size; + + //Todo: Write the buffer content. + + Context.Device.Log.PrintStub(LogClass.ServiceFriend, $"Stubbed. Uuid: {Uuid.UserIdHex} - " + + $"Unknown0: {Unknown0}"); return 0; } } -} \ No newline at end of file +} diff --git a/Ryujinx.HLE/HOS/Services/Friend/IFriendServiceTypes.cs b/Ryujinx.HLE/HOS/Services/Friend/IFriendServiceTypes.cs new file mode 100644 index 000000000..31459f7d6 --- /dev/null +++ b/Ryujinx.HLE/HOS/Services/Friend/IFriendServiceTypes.cs @@ -0,0 +1,20 @@ +namespace Ryujinx.HLE.HOS.Services.Friend +{ + enum PresenceStatusFilter + { + None, + Online, + OnlinePlay, + OnlineOrOnlinePlay + } + + struct FriendFilter + { + public PresenceStatusFilter PresenceStatus; + public bool IsFavoriteOnly; + public bool IsSameAppPresenceOnly; + public bool IsSameAppPlayedOnly; + public bool IsArbitraryAppPlayedOnly; + public long PresenceGroupId; + } +} diff --git a/Ryujinx.HLE/RyujinxProfileImage.jpg b/Ryujinx.HLE/RyujinxProfileImage.jpg index fe9ec2a9590d2d53ef1dcffc8078f5bd04e7b00f..55e4c43cf2c110b7a9fd17177e0056b15f0ac47e 100644 GIT binary patch literal 52969 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