astronautlevel2 / Anemone3DS

A theme and boot splash manager for the Nintendo 3DS console
GNU General Public License v3.0
881 stars 42 forks source link

Parental Control Options - Asking for Pin on a EC & E Rated Whitelist? #302

Closed tech097 closed 2 months ago

tech097 commented 2 months ago

So I hacked the old 2ds for my baby brother who has autism and is struggling to express himself. He's allowed to bring a game console on his bus but he can't bring a lot of games, and given he's got ADHD he may want to just, switch to a different game if he's stressed/impatient, hence me opting to download a bunch of SNES games for the system. That said I did find Anemone and thought it'd be a nice way to make it feel more personal to him, I even set up a Snorlax Theme for him. That said though, unlike the other apps in the CFW Anenome isn't Pin-Locked.

At first I thought he'd be fine since it's just, a way to add a theme but given there's a theme browser as well and some themes may not be appropriate for him (he's only 7), I wanna see if it's possible to make this homebrew pin-lockable via Parental Controls like The Homebrew Launcher, CIA and Universal Updater are. It seems like the way to do that is to give it an "M" rating since I have every other rating except EC and E Rated Games. If I can't have this app lockable via parental controls pin, I'm probably going to have to delete the app which would be a real shame.

Helloman892 commented 2 months ago

@LiquidFenrir I feel like we talked about this some time ago but I don't recall what the details are... any idea?

LiquidFenrir commented 2 months ago

It was mentioned for NSFW-labeled themes on ThemePlaza, using the same parameter of SMDH/icon files.
See https://github.com/Universal-Team/Universal-Updater/blob/master/Makefile#L274-L275 for a simple way to bake it in the cia at compile time, they use decimal 153 but it's really just 0x99 = 0x80 OR 0x19 so it's enabled and always pops up the pin if parental controls are on. you should be able to use any value between 146 (0x80 OR 18) and that, I think.
Probably depends on specific regions/countries requirements, so using their value is the right move in my opinion, they have a lot of users, must have reported non working stuff.
Seems to come from FBI (rip to the repo), but universal updater is GPLv3 like Anemone, so no worries there.

astronautlevel2 commented 2 months ago

I'll work on this when I have time, probably sometime this weekend. We should be able to make it so that age-restricted themes require the parental control PIN to access.

astronautlevel2 commented 2 months ago

Added in c6b6f56.

If you attempt to access the browser, and the Parental Controls setting to restrict online browser access is enabled, then Anemone will prompt you for the PIN and not allow browser access if the PIN is not provided.

Will be in future release; in the meantime, here's a compiled version of the most recent build. image