aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorHorrorTroll <sonicvipduc@gmail.com>2019-04-25 20:03:00 +0700
committerjduncanator <1518948+jduncanator@users.noreply.github.com>2019-04-25 23:03:00 +1000
commit6e8c080968a3de33166c258512bd69e08b73aa69 (patch)
tree60e985956030663d0a513e21f7b1a1c4c147046a
parent26be1cb4e285ed275ee885ec398833b02345a0e7 (diff)
Updates to nifm, irs and nvdrv services (#679)
-rw-r--r--Ryujinx.HLE/HOS/Services/Friend/IFriendService.cs18
-rw-r--r--Ryujinx.HLE/HOS/Services/Irs/IIrSensorServer.cs20
-rw-r--r--Ryujinx.HLE/HOS/Services/Nv/INvDrvServices.cs24
3 files changed, 50 insertions, 12 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)
{
diff --git a/Ryujinx.HLE/HOS/Services/Irs/IIrSensorServer.cs b/Ryujinx.HLE/HOS/Services/Irs/IIrSensorServer.cs
index 500d5f10..f0864c58 100644
--- a/Ryujinx.HLE/HOS/Services/Irs/IIrSensorServer.cs
+++ b/Ryujinx.HLE/HOS/Services/Irs/IIrSensorServer.cs
@@ -20,10 +20,11 @@ namespace Ryujinx.HLE.HOS.Services.Irs
{
_commands = new Dictionary<int, ServiceProcessRequest>
{
- { 302, ActivateIrsensor },
- { 303, DeactivateIrsensor },
- { 304, GetIrsensorSharedMemoryHandle },
- { 311, GetNpadIrCameraHandle }
+ { 302, ActivateIrsensor },
+ { 303, DeactivateIrsensor },
+ { 304, GetIrsensorSharedMemoryHandle },
+ { 311, GetNpadIrCameraHandle },
+ { 319, ActivateIrsensorWithFunctionLevel }
};
_irsSharedMem = irsSharedMem;
@@ -103,5 +104,16 @@ namespace Ryujinx.HLE.HOS.Services.Irs
default: throw new ArgumentOutOfRangeException(nameof(npadId));
}
}
+
+ // ActivateIrsensorWithFunctionLevel(nn::applet::AppletResourceUserId, nn::irsensor::PackedFunctionLevel, pid)
+ public long ActivateIrsensorWithFunctionLevel(ServiceCtx context)
+ {
+ long appletResourceUserId = context.RequestData.ReadInt64();
+ long packedFunctionLevel = context.RequestData.ReadInt64();
+
+ Logger.PrintStub(LogClass.ServiceIrs, new { appletResourceUserId, packedFunctionLevel });
+
+ return 0;
+ }
}
} \ No newline at end of file
diff --git a/Ryujinx.HLE/HOS/Services/Nv/INvDrvServices.cs b/Ryujinx.HLE/HOS/Services/Nv/INvDrvServices.cs
index d93372e2..600a9667 100644
--- a/Ryujinx.HLE/HOS/Services/Nv/INvDrvServices.cs
+++ b/Ryujinx.HLE/HOS/Services/Nv/INvDrvServices.cs
@@ -42,14 +42,15 @@ namespace Ryujinx.HLE.HOS.Services.Nv
{
_commands = new Dictionary<int, ServiceProcessRequest>()
{
- { 0, Open },
- { 1, Ioctl },
- { 2, Close },
- { 3, Initialize },
- { 4, QueryEvent },
- { 8, SetClientPid },
- { 11, Ioctl },
- { 13, FinishInitialize }
+ { 0, Open },
+ { 1, Ioctl },
+ { 2, Close },
+ { 3, Initialize },
+ { 4, QueryEvent },
+ { 8, SetClientPid },
+ { 9, DumpGraphicsMemoryInfo },
+ { 11, Ioctl },
+ { 13, FinishInitialize }
};
_event = new KEvent(system);
@@ -148,6 +149,13 @@ namespace Ryujinx.HLE.HOS.Services.Nv
return 0;
}
+ public long DumpGraphicsMemoryInfo(ServiceCtx context)
+ {
+ Logger.PrintStub(LogClass.ServiceNv);
+
+ return 0;
+ }
+
public long FinishInitialize(ServiceCtx context)
{
Logger.PrintStub(LogClass.ServiceNv);