From e1c0b3acabee5635fa94d2fd9fb289e759595828 Mon Sep 17 00:00:00 2001 From: GreemDev Date: Wed, 14 May 2025 18:10:54 -0500 Subject: [PATCH] hle: fix: TargetInvocationException when initializing IParentalControlService The original implementation was a little overengineered (and didn't work). I suppose the games I tested simply didn't init the service. --- .../IParentalControlService.cs | 8 +++----- 1 file changed, 3 insertions(+), 5 deletions(-) diff --git a/src/Ryujinx.HLE/HOS/Services/Pctl/ParentalControlServiceFactory/IParentalControlService.cs b/src/Ryujinx.HLE/HOS/Services/Pctl/ParentalControlServiceFactory/IParentalControlService.cs index 21a873393..6ba6db8ba 100644 --- a/src/Ryujinx.HLE/HOS/Services/Pctl/ParentalControlServiceFactory/IParentalControlService.cs +++ b/src/Ryujinx.HLE/HOS/Services/Pctl/ParentalControlServiceFactory/IParentalControlService.cs @@ -56,15 +56,13 @@ namespace Ryujinx.HLE.HOS.Services.Pctl.ParentalControlServiceFactory // TODO: Call nn::arp::GetApplicationControlProperty here when implemented, if it return ResultCode.Success we assign fields. - int[] tempRatingAge = new int[32]; + _ratingAge = new int[context.Device.Processes.ActiveApplication.ApplicationControlProperties.RatingAge.Length]; - for (int i = 0; i < 32; i++) + for (int i = 0; i < _ratingAge.Length; i++) { - tempRatingAge[i] = Convert.ToInt32(context.Device.Processes.ActiveApplication.ApplicationControlProperties.RatingAge[i]); + _ratingAge[i] = Convert.ToInt32(context.Device.Processes.ActiveApplication.ApplicationControlProperties.RatingAge[i]); } - Array.Copy(tempRatingAge, _ratingAge, tempRatingAge.Length); - _parentalControlFlag = context.Device.Processes.ActiveApplication.ApplicationControlProperties.ParentalControlFlag; } }