diff --git a/Ryujinx.HLE/HOS/Services/Irs/IIrSensorServer.cs b/Ryujinx.HLE/HOS/Services/Irs/IIrSensorServer.cs index 2f43a22e3d..9ecacc52ff 100644 --- a/Ryujinx.HLE/HOS/Services/Irs/IIrSensorServer.cs +++ b/Ryujinx.HLE/HOS/Services/Irs/IIrSensorServer.cs @@ -48,7 +48,10 @@ namespace Ryujinx.HLE.HOS.Services.Irs // GetIrsensorSharedMemoryHandle(nn::applet::AppletResourceUserId, pid) -> handle public long GetIrsensorSharedMemoryHandle(ServiceCtx context) { - if (context.Process.HandleTable.GenerateHandle(context.Device.System.IirsSharedMem, out int handle) != KernelResult.Success) + Horizon system = context.Device.System; + KHandleTable handleTable = context.Process.HandleTable; + + if (handleTable.GenerateHandle(system.IirsSharedMem, out int handle) != KernelResult.Success) { throw new InvalidOperationException("Out of handles!"); } diff --git a/Ryujinx.HLE/HOS/Services/ServiceFactory.cs b/Ryujinx.HLE/HOS/Services/ServiceFactory.cs index 31fde5fec4..59f861451b 100644 --- a/Ryujinx.HLE/HOS/Services/ServiceFactory.cs +++ b/Ryujinx.HLE/HOS/Services/ServiceFactory.cs @@ -43,6 +43,8 @@ namespace Ryujinx.HLE.HOS.Services switch (name) { case "acc:u0": + return new IAccountService(); + case "acc:u1": return new IAccountService(); @@ -50,6 +52,8 @@ namespace Ryujinx.HLE.HOS.Services return new IAddOnContentManager(); case "apm": + return new IManager(); + case "apm:p": return new IManager(); @@ -66,8 +70,14 @@ namespace Ryujinx.HLE.HOS.Services return new IAudioRendererManager(); case "bcat:a": + return new Bcat.IServiceCreator(); + case "bcat:m": + return new Bcat.IServiceCreator(); + case "bcat:u": + return new Bcat.IServiceCreator(); + case "bcat:s": return new Bcat.IServiceCreator(); @@ -90,6 +100,8 @@ namespace Ryujinx.HLE.HOS.Services return new IeTicketService(); case "friend:a": + return new Friend.IServiceCreator(); + case "friend:u": return new Friend.IServiceCreator(); @@ -127,6 +139,8 @@ namespace Ryujinx.HLE.HOS.Services return new IApplicationManagerInterface(); case "ns:am2": + return new IServiceGetterInterface(); + case "ns:ec": return new IServiceGetterInterface(); @@ -137,12 +151,20 @@ namespace Ryujinx.HLE.HOS.Services return new IVulnerabilityManagerInterface(); case "nvdrv": + return new INvDrvServices(system); + case "nvdrv:a": return new INvDrvServices(system); case "pctl:s": + return new IParentalControlServiceFactory(); + case "pctl:r": + return new IParentalControlServiceFactory(); + case "pctl:a": + return new IParentalControlServiceFactory(); + case "pctl": return new IParentalControlServiceFactory(); @@ -153,6 +175,8 @@ namespace Ryujinx.HLE.HOS.Services return new IShellInterface(); case "prepo:a": + return new IPrepoService(); + case "prepo:u": return new IPrepoService(); @@ -175,7 +199,11 @@ namespace Ryujinx.HLE.HOS.Services return new ISslService(); case "time:a": + return new Time.IStaticService(); + case "time:s": + return new Time.IStaticService(); + case "time:u": return new Time.IStaticService();