forked from Mirror/Ryujinx
pctl: Implement IsRestrictionEnabled and fix CheckFreeCommunicationPermission (#1747)
* pctl: Implement IsRestrictionEnabled and fix CheckFreeCommunicationPermission * fix comment
This commit is contained in:
parent
44c1f16280
commit
632a84155b
1 changed files with 22 additions and 2 deletions
|
@ -10,8 +10,12 @@ namespace Ryujinx.HLE.HOS.Services.Pctl.ParentalControlServiceFactory
|
|||
private ulong _titleId;
|
||||
private bool _freeCommunicationEnabled;
|
||||
private int[] _ratingAge;
|
||||
|
||||
// TODO: Find where they are set.
|
||||
private bool _restrictionEnabled = false;
|
||||
private bool _featuresRestriction = false;
|
||||
private bool _stereoVisionRestrictionConfigurable = true;
|
||||
|
||||
private bool _stereoVisionRestriction = false;
|
||||
|
||||
public IParentalControlService(ServiceCtx context, bool withInitialize, int permissionFlag)
|
||||
|
@ -73,13 +77,15 @@ namespace Ryujinx.HLE.HOS.Services.Pctl.ParentalControlServiceFactory
|
|||
// CheckFreeCommunicationPermission()
|
||||
public ResultCode CheckFreeCommunicationPermission(ServiceCtx context)
|
||||
{
|
||||
Logger.Stub?.PrintStub(LogClass.ServicePctl);
|
||||
// TODO: This checks some extra internal fields which are to be determined.
|
||||
|
||||
if (!_freeCommunicationEnabled)
|
||||
if (!_freeCommunicationEnabled && _restrictionEnabled)
|
||||
{
|
||||
return ResultCode.FreeCommunicationDisabled;
|
||||
}
|
||||
|
||||
Logger.Stub?.PrintStub(LogClass.ServicePctl);
|
||||
|
||||
return ResultCode.Success;
|
||||
}
|
||||
|
||||
|
@ -90,6 +96,20 @@ namespace Ryujinx.HLE.HOS.Services.Pctl.ParentalControlServiceFactory
|
|||
return IsStereoVisionPermittedImpl();
|
||||
}
|
||||
|
||||
[Command(1031)]
|
||||
// IsRestrictionEnabled() -> b8
|
||||
public ResultCode IsRestrictionEnabled(ServiceCtx context)
|
||||
{
|
||||
if ((_permissionFlag & 0x140) == 0)
|
||||
{
|
||||
return ResultCode.PermissionDenied;
|
||||
}
|
||||
|
||||
context.ResponseData.Write(_restrictionEnabled);
|
||||
|
||||
return ResultCode.Success;
|
||||
}
|
||||
|
||||
[Command(1061)] // 4.0.0+
|
||||
// ConfirmStereoVisionRestrictionConfigurable()
|
||||
public ResultCode ConfirmStereoVisionRestrictionConfigurable(ServiceCtx context)
|
||||
|
|
Loading…
Reference in a new issue