From 43b78ae157eed5c9436dc19a6d498655891202d8 Mon Sep 17 00:00:00 2001 From: Mary Date: Sun, 5 Jul 2020 02:58:11 +0200 Subject: [PATCH] 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 --- .../HOS/Services/Prepo/IPrepoService.cs | 28 ++++++------------- 1 file changed, 8 insertions(+), 20 deletions(-) diff --git a/Ryujinx.HLE/HOS/Services/Prepo/IPrepoService.cs b/Ryujinx.HLE/HOS/Services/Prepo/IPrepoService.cs index 966e45968..15ef357f0 100644 --- a/Ryujinx.HLE/HOS/Services/Prepo/IPrepoService.cs +++ b/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, buffer) - 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, buffer) - 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, buffer) 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, buffer) 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() : new UserId(); - string gameRoom = StringUtils.ReadUtf8String(context); + UserId userId = withUserID ? context.RequestData.ReadStruct() : 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}");