Răsfoiți Sursa

nifm: Fix returned buffer size of GetClientId (#2036)

This PR fix an issue introduced on last IPC rewrite PRs where some returned buffer size have to be explicit now.
`GetClientId` without an explicit buffer size return some garbage to the guest and then `nifm` service crashes because of a wrong ClientId. It's fixed now.

Horizon Chase Turbo and Doom regression are fixed now.  (Probably some other games too)
Ac_K 5 ani în urmă
părinte
comite
b93fe5979a

+ 2 - 1
Ryujinx.HLE/HOS/Services/Nifm/StaticService/IGeneralService.cs

@@ -27,7 +27,8 @@ namespace Ryujinx.HLE.HOS.Services.Nifm.StaticService
         public ResultCode GetClientId(ServiceCtx context)
         {
             long position = context.Request.RecvListBuff[0].Position;
-            long size     = context.Request.RecvListBuff[0].Size;
+
+            context.Response.PtrBuff[0] = context.Response.PtrBuff[0].WithSize(4);
 
             context.Memory.Write((ulong)position, _generalServiceDetail.ClientId);