Просмотр исходного кода

prepo: Update implementation for 10.x changes (#1361)

* prepo: Update implementation for 10.x changes

On 10.x, Nintendo changed yet another time the prepo SaveReport &
SaveReportWithUser command ids.

This PR add support for command 10104 & 10105 and update naming of the
old variants to match switchbrew.

* Fix misalign and remove a ToString

* Address jD's comment
Mary 5 лет назад
Родитель
Сommit
43b78ae157
1 измененных файлов с 8 добавлено и 20 удалено
  1. 8 20
      Ryujinx.HLE/HOS/Services/Prepo/IPrepoService.cs

+ 8 - 20
Ryujinx.HLE/HOS/Services/Prepo/IPrepoService.cs

@@ -17,22 +17,8 @@ namespace Ryujinx.HLE.HOS.Services.Prepo
         public IPrepoService(ServiceCtx context) { }
 
         [Command(10100)] // 1.0.0-5.1.0
-        // SaveReport(u64, pid, buffer<u8, 9>, buffer<bytes, 5>)
-        public ResultCode SaveReportOld(ServiceCtx context)
-        {
-            // We don't care about the differences since we don't use the play report.
-            return ProcessReport(context, withUserID: false);
-        }
-
-        [Command(10101)] // 1.0.0-5.1.0
-        // SaveReportWithUserOld(nn::account::Uid, u64, pid, buffer<u8, 9>, buffer<bytes, 5>)
-        public ResultCode SaveReportWithUserOld(ServiceCtx context)
-        {
-            // We don't care about the differences since we don't use the play report.
-            return ProcessReport(context, withUserID: true);
-        }
-
-        [Command(10102)] // 6.0.0+
+        [Command(10102)] // 6.0.0-9.2.0
+        [Command(10104)] // 10.0.0+
         // SaveReport(u64, pid, buffer<u8, 9>, buffer<bytes, 5>)
         public ResultCode SaveReport(ServiceCtx context)
         {
@@ -40,7 +26,9 @@ namespace Ryujinx.HLE.HOS.Services.Prepo
             return ProcessReport(context, withUserID: false);
         }
 
-        [Command(10103)] // 6.0.0+
+        [Command(10101)] // 1.0.0-5.1.0
+        [Command(10103)] // 6.0.0-9.2.0
+        [Command(10105)] // 10.0.0+
         // SaveReportWithUser(nn::account::Uid, u64, pid, buffer<u8, 9>, buffer<bytes, 5>)
         public ResultCode SaveReportWithUser(ServiceCtx context)
         {
@@ -71,8 +59,8 @@ namespace Ryujinx.HLE.HOS.Services.Prepo
 
         private ResultCode ProcessReport(ServiceCtx context, bool withUserID)
         {
-            UserId  userId   = withUserID ? context.RequestData.ReadStruct<UserId>() : new UserId();
-            string  gameRoom = StringUtils.ReadUtf8String(context);
+            UserId userId   = withUserID ? context.RequestData.ReadStruct<UserId>() : new UserId();
+            string gameRoom = StringUtils.ReadUtf8String(context);
 
             if (withUserID)
             {
@@ -114,7 +102,7 @@ namespace Ryujinx.HLE.HOS.Services.Prepo
 
             if (!userId.IsNull)
             {
-                builder.AppendLine($" UserId: {userId.ToString()}");
+                builder.AppendLine($" UserId: {userId}");
             }
 
             builder.AppendLine($" Room: {room}");