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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 QAJ#Gd<{ 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