From 6a43aff745e7b22b8d465a8f6c9e287206aff2f8 Mon Sep 17 00:00:00 2001 From: Narr the Reg Date: Tue, 8 Aug 2023 16:47:39 -0600 Subject: service: pctl: Partially revert 11221 --- src/core/hle/service/pctl/pctl_module.cpp | 24 +++++++++++++++--------- 1 file changed, 15 insertions(+), 9 deletions(-) diff --git a/src/core/hle/service/pctl/pctl_module.cpp b/src/core/hle/service/pctl/pctl_module.cpp index 7c8a539b8..5db1703d1 100644 --- a/src/core/hle/service/pctl/pctl_module.cpp +++ b/src/core/hle/service/pctl/pctl_module.cpp @@ -152,7 +152,7 @@ private: if (pin_code[0] == '\0') { return true; } - if (!restriction_settings.is_free_communication_default_on) { + if (!settings.is_free_communication_default_on) { return true; } // TODO(ogniK): Check for blacklisted/exempted applications. Return false can happen here @@ -168,21 +168,21 @@ private: if (pin_code[0] == '\0') { return true; } - if (!restriction_settings.is_stero_vision_restricted) { + if (!settings.is_stero_vision_restricted) { return false; } return true; } void SetStereoVisionRestrictionImpl(bool is_restricted) { - if (restriction_settings.disabled) { + if (settings.disabled) { return; } if (pin_code[0] == '\0') { return; } - restriction_settings.is_stero_vision_restricted = is_restricted; + settings.is_stero_vision_restricted = is_restricted; } void Initialize(HLERequestContext& ctx) { @@ -430,7 +430,7 @@ private: } rb.Push(ResultSuccess); - rb.Push(restriction_settings.is_stero_vision_restricted); + rb.Push(settings.is_stero_vision_restricted); } void ResetConfirmedStereoVisionPermission(HLERequestContext& ctx) { @@ -460,22 +460,28 @@ private: bool stereo_vision{}; }; - // This is nn::pctl::RestrictionSettings - struct RestrictionSettings { + struct ParentalControlSettings { bool is_stero_vision_restricted{}; bool is_free_communication_default_on{}; bool disabled{}; }; + + // This is nn::pctl::RestrictionSettings + struct RestrictionSettings { + u8 rating_age; + bool sns_post_restriction; + bool free_communication_restriction; + }; static_assert(sizeof(RestrictionSettings) == 0x3, "RestrictionSettings has incorrect size."); // This is nn::pctl::PlayTimerSettings struct PlayTimerSettings { - // TODO: RE the actual contents of this struct - std::array settings; + std::array settings; }; static_assert(sizeof(PlayTimerSettings) == 0x34, "PlayTimerSettings has incorrect size."); States states{}; + ParentalControlSettings settings{}; RestrictionSettings restriction_settings{}; std::array pin_code{}; Capability capability{}; -- cgit v1.2.3