From d9aa15eb243bc1b40892c9fcfcbb0e9ef66cfa63 Mon Sep 17 00:00:00 2001 From: Ac_K Date: Wed, 24 Aug 2022 23:41:13 +0200 Subject: [PATCH] pctl: Implement EndFreeCommunication This PR Implement `EndFreeCommunication` (checked by RE). Nothing more. Closes #2420 --- .../IParentalControlService.cs | 14 +++++++++++++- 1 file changed, 13 insertions(+), 1 deletion(-) diff --git a/Ryujinx.HLE/HOS/Services/Pctl/ParentalControlServiceFactory/IParentalControlService.cs b/Ryujinx.HLE/HOS/Services/Pctl/ParentalControlServiceFactory/IParentalControlService.cs index 1ccf0fb42..e0017808d 100644 --- a/Ryujinx.HLE/HOS/Services/Pctl/ParentalControlServiceFactory/IParentalControlService.cs +++ b/Ryujinx.HLE/HOS/Services/Pctl/ParentalControlServiceFactory/IParentalControlService.cs @@ -14,11 +14,14 @@ namespace Ryujinx.HLE.HOS.Services.Pctl.ParentalControlServiceFactory private ParentalControlFlagValue _parentalControlFlag; private int[] _ratingAge; +#pragma warning disable CS0414 // TODO: Find where they are set. private bool _restrictionEnabled = false; private bool _featuresRestriction = false; + private bool _freeCommunicationEnabled = false; private bool _stereoVisionRestrictionConfigurable = true; private bool _stereoVisionRestriction = false; +#pragma warning restore CS0414 public IParentalControlService(ServiceCtx context, ulong pid, bool withInitialize, int permissionFlag) { @@ -88,13 +91,22 @@ namespace Ryujinx.HLE.HOS.Services.Pctl.ParentalControlServiceFactory return ResultCode.FreeCommunicationDisabled; } - // NOTE: This sets an internal field to true. Usage have to be determined. + _freeCommunicationEnabled = true; Logger.Stub?.PrintStub(LogClass.ServicePctl); return ResultCode.Success; } + [CommandHipc(1017)] // 10.0.0+ + // EndFreeCommunication() + public ResultCode EndFreeCommunication(ServiceCtx context) + { + _freeCommunicationEnabled = false; + + return ResultCode.Success; + } + [CommandHipc(1013)] // 4.0.0+ // ConfirmStereoVisionPermission() public ResultCode ConfirmStereoVisionPermission(ServiceCtx context)