mirror of
https://github.com/Ryujinx/Ryujinx.git
synced 2024-12-23 11:01:20 -08:00
Updates to nifm, irs and nvdrv services (#679)
This commit is contained in:
parent
26be1cb4e2
commit
6e8c080968
@ -17,6 +17,7 @@ namespace Ryujinx.HLE.HOS.Services.Friend
|
|||||||
_commands = new Dictionary<int, ServiceProcessRequest>
|
_commands = new Dictionary<int, ServiceProcessRequest>
|
||||||
{
|
{
|
||||||
{ 10101, GetFriendList },
|
{ 10101, GetFriendList },
|
||||||
|
{ 10600, DeclareOpenOnlinePlaySession },
|
||||||
{ 10601, DeclareCloseOnlinePlaySession },
|
{ 10601, DeclareCloseOnlinePlaySession },
|
||||||
{ 10610, UpdateUserPresence }
|
{ 10610, UpdateUserPresence }
|
||||||
};
|
};
|
||||||
@ -61,6 +62,23 @@ namespace Ryujinx.HLE.HOS.Services.Friend
|
|||||||
return 0;
|
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)
|
// DeclareCloseOnlinePlaySession(nn::account::Uid)
|
||||||
public long DeclareCloseOnlinePlaySession(ServiceCtx context)
|
public long DeclareCloseOnlinePlaySession(ServiceCtx context)
|
||||||
{
|
{
|
||||||
|
@ -20,10 +20,11 @@ namespace Ryujinx.HLE.HOS.Services.Irs
|
|||||||
{
|
{
|
||||||
_commands = new Dictionary<int, ServiceProcessRequest>
|
_commands = new Dictionary<int, ServiceProcessRequest>
|
||||||
{
|
{
|
||||||
{ 302, ActivateIrsensor },
|
{ 302, ActivateIrsensor },
|
||||||
{ 303, DeactivateIrsensor },
|
{ 303, DeactivateIrsensor },
|
||||||
{ 304, GetIrsensorSharedMemoryHandle },
|
{ 304, GetIrsensorSharedMemoryHandle },
|
||||||
{ 311, GetNpadIrCameraHandle }
|
{ 311, GetNpadIrCameraHandle },
|
||||||
|
{ 319, ActivateIrsensorWithFunctionLevel }
|
||||||
};
|
};
|
||||||
|
|
||||||
_irsSharedMem = irsSharedMem;
|
_irsSharedMem = irsSharedMem;
|
||||||
@ -103,5 +104,16 @@ namespace Ryujinx.HLE.HOS.Services.Irs
|
|||||||
default: throw new ArgumentOutOfRangeException(nameof(npadId));
|
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;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
@ -42,14 +42,15 @@ namespace Ryujinx.HLE.HOS.Services.Nv
|
|||||||
{
|
{
|
||||||
_commands = new Dictionary<int, ServiceProcessRequest>()
|
_commands = new Dictionary<int, ServiceProcessRequest>()
|
||||||
{
|
{
|
||||||
{ 0, Open },
|
{ 0, Open },
|
||||||
{ 1, Ioctl },
|
{ 1, Ioctl },
|
||||||
{ 2, Close },
|
{ 2, Close },
|
||||||
{ 3, Initialize },
|
{ 3, Initialize },
|
||||||
{ 4, QueryEvent },
|
{ 4, QueryEvent },
|
||||||
{ 8, SetClientPid },
|
{ 8, SetClientPid },
|
||||||
{ 11, Ioctl },
|
{ 9, DumpGraphicsMemoryInfo },
|
||||||
{ 13, FinishInitialize }
|
{ 11, Ioctl },
|
||||||
|
{ 13, FinishInitialize }
|
||||||
};
|
};
|
||||||
|
|
||||||
_event = new KEvent(system);
|
_event = new KEvent(system);
|
||||||
@ -148,6 +149,13 @@ namespace Ryujinx.HLE.HOS.Services.Nv
|
|||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public long DumpGraphicsMemoryInfo(ServiceCtx context)
|
||||||
|
{
|
||||||
|
Logger.PrintStub(LogClass.ServiceNv);
|
||||||
|
|
||||||
|
return 0;
|
||||||
|
}
|
||||||
|
|
||||||
public long FinishInitialize(ServiceCtx context)
|
public long FinishInitialize(ServiceCtx context)
|
||||||
{
|
{
|
||||||
Logger.PrintStub(LogClass.ServiceNv);
|
Logger.PrintStub(LogClass.ServiceNv);
|
||||||
|
Loading…
Reference in New Issue
Block a user