Homebrew Tinker [Shuffle/Menuhax Theme Manager]

HeyItsJono

Breath of Fresh Heir
OP
Member
Joined
Mar 26, 2011
Messages
213
Trophies
1
XP
285
Country
751cheX.png


Hi everyone, I've always thought it was a bit of a hassle having to manually copy/paste files to apply custom themes to Shufflehax/Menuhax/Themehax, so I put together a little theme manager to take care of the process. It's heavily inspired by CHMM2 and made using Rinnegatamante's lpp-3ds. I tried to make it work in a similar way to CHMM2.

You can find the source code here.

FOR THOSE OF YOU WITH SysNAND+EmuNAND (CtrBootManager+Menuhax):
Tinker will ONLY apply themes to SysNAND. To apply themes to EmuNAND you can safely use CHMM2 after launching HBL from within EmuNAND (via .cia or some other method).

Installation
  1. Download the latest .zip file here.
  2. Extract it to the 3ds folder on your SD Card; the path should look like this:
    Code:
    /3ds/Tinker/
  3. Place your themes in a Themes folder at the root of your SD Card, just like you would for CHMM2. Themes should each have their own folder with their contents in them like so:
    Code:
    /Themes/Theme1/
    /Themes/Theme2/
    etc
(Theme1, Theme2, etc are just examples of theme names, your theme folders can be named anything, as long as they are in /Themes/)

NOTE: If you have a Japanese 3DS console, there is a bug in the 3dsx file which stops Tinker from running. You'll need to download 15avaughn's patched Tinker.3dsx file and replace /3ds/Tinker/Tinker.3dsx with that patched Tinker.3dsx. Furthermore, launching 3dsx files doesn't work either, meaning after you press A to install a theme from the popup, you need to manually exit out of Tinker, enter Menuhax Manager and select Install Theme. These problems are only present on Japanese 3DS's.

Usage Guide
  • Browse the available themes on the bottom screen using the DPad arrow keys.
  • Press Y while over a theme to bring up a theme preview on the top screen. Once Y is pressed, the top screen portion of the preview should appear. It will last about 5 seconds, then the bottom screen portion will appear. That will disappear after about 5 seconds and you should be able to move again.
  • Press A to apply the theme, this will bring up a confirmation dialogue. Pressing A will open up Menuhax Manager, choose Install Custom Theme to install the theme. Pressing B will close the dialogue box and the theme will not be applied.
  • Press the Start button to exit the application and return to the Homebrew Launcher. This glitches out if you're using the Gridlauncher so you'll have to hold Right Bumper+Left Bumper+Down Arrow+B button to exit.
Notes
  • You can't use the touchscreen or circlepad to navigate, circlepad is planned for a future release but touchscreen support probably won't happen because effort.
  • The Settings button (blue circle with the gear in it) is inaccessible for now, that'll be implemented later when I actually find settings worth implementing.
  • No support for theme shuffling just yet, I'm looking into it to see if it's possible to implement. UPDATE: Looks like Menuhax/etc doesn't support shuffling yet. If it's ever implemented, I'll add support for it in Tinker.
  • This only works for Menuhax theme implementation, use CHMM2 if you're looking for standard custom theme installation.
  • If you have a very large number of themes then the app will likely hang at a black screen on start up for a long time as it loads them all
Changelog
  • v1.0.2 (3/1/16)
    • Introduced proper error dialogue for when Tinker detects Menuhax Manager is not installed, rather than having it throw a Lua-style error.
    • Added banners for use with Masher's Gridlauncher (a standard one which is used by default, and a 3dsflow one which can be used by renaming the standard one to something else, and renaming the 3dsflow one to "Tinker-banner-fullscreen.png")
    • Added a .3ds file - this has not been tested at all, I have no idea if it works or what it does. I don't have any means of testing it currently. Feel free to try it, but I'm not responsible for any damage that might occur as a result (although the worst that should happen is that it just doesn't work).
  • v1.0.1 (1/1/16)
    • Introduced proper error dialogue for when no themes are detected, rather than having it throw a Lua-style error.
  • v1.0.0 (31/12/15)
    • Initial release
Credits
  • Rinnegatamante for lpp-3ds and also for their incredible work on CHMM2 and Sunshell. Without all of those things this project would not be possible.
  • ihaveamac for guidance and support in getting features like .3dsx launching working.
  • 15avaughn for his patched Tinker.3dsx file which works on Japanese consoles.

Hopefully some people find this useful!
 
Last edited by HeyItsJono,

JJTapia19

I fight for my friends.
Member
Joined
May 31, 2015
Messages
2,171
Trophies
1
Age
32
XP
2,438
Country
Puerto Rico
This is just amazing! from the UI elements to the functionality it's great. Now that homemenuhax works on the latest firmware I find this more useful than it could had ever been so great timing also! When I run it on 9.5 I get a black screen until I remove the sd card. I think it's because it's loading the .smdh's or something like that and I have more than 100 themes. On my 9.0 firmware it get's stuck on red screen while booting but many other lpp apps do this also. Since you are so good with design could you consider creating a 3DSflow homebrew box art for it? I wanted to make one but it would be cool having an official one. Thanks for your work!

3DSFlow project thread
 

NodePoint

  
Member
Joined
Sep 29, 2015
Messages
164
Trophies
0
Location
that was a lie -- actually somewhere in europe
XP
178
Country
United States
An application that uses material design? That sure feels rare to me when it comes to the 3DS.
Looks like something I could give a spin later on. I currently don't have a custom theme set for themehax and I for some reason can't be bothered moving and renaming a theme file every time. So I suppose this would be a sweet addition. ;)
 
  • Like
Reactions: ihaveahax

robot56

Well-Known Member
Newcomer
Joined
Sep 13, 2015
Messages
94
Trophies
0
Age
34
XP
111
Country
United States
You might be able to poll themes directly from 3dsthem.es also.

I think Rinnegatamante was working on it for CHMM2.
 

srwgin

Well-Known Member
Member
Joined
Aug 13, 2013
Messages
520
Trophies
0
XP
425
Country
China
is this means we can use shuffle customtheme with homethemehax?

O3DS 10.3-28J use themehax
when I run this give me redscreen

I try ninjahax themehax browserhax
only work if I write a xml named thinker.xml and put it with .3dsx
Code:
<targets selectable="false">
    <title mediatype="1">00040000000D3000</title>
</targets>
 
Last edited by srwgin,

ihaveahax

Well-Known Member
Member
Joined
Apr 20, 2015
Messages
6,069
Trophies
2
XP
7,804
Country
United States
You can't use the touchscreen or circlepad to navigate, as far as I know there's no touchscreen support in lpp-3ds just yet.
there is. :)
Code:
touching = Controls.check(Controls.read(), KEY_TOUCH)
touch_x, touch_y = Controls.readTouch()
cpad_x, cpad_y = Controls.readCirclePad()

anyway this is a pretty cool idea
 

Harps

Well-Known Member
Member
Joined
Nov 14, 2015
Messages
188
Trophies
0
Age
25
Location
Australia
XP
263
Country
Australia
This is what I'm getting when I launch it, any way to solve this?
 

Attachments

  • IMG_20151231_202455.jpg
    IMG_20151231_202455.jpg
    1 MB · Views: 790

Hayleia

Well-Known Member
Member
Joined
Feb 26, 2015
Messages
1,485
Trophies
0
XP
1,294
Country
France
Wow, if there was one thing I disliked a lot with CHMM2, it was its interface (the irony when you're an application that manages interfaces...). But yours looks great and usable :D
Congrats for it. Any plans to have it manage home menu themes too or only menuhax ones ?
 

HeyItsJono

Breath of Fresh Heir
OP
Member
Joined
Mar 26, 2011
Messages
213
Trophies
1
XP
285
Country
Thanks for all the kind words guys :)

This is just amazing! from the UI elements to the functionality it's great. Now that homemenuhax works on the latest firmware I find this more useful than it could had ever been so great timing also! When I run it on 9.5 I get a black screen until I remove the sd card. I think it's because it's loading the .smdh's or something like that and I have more than 100 themes. On my 9.0 firmware it get's stuck on red screen while booting but many other lpp apps do this also. Since you are so good with design could you consider creating a 3DSflow homebrew box art for it? I wanted to make one but it would be cool having an official one. Thanks for your work!

3DSFlow project thread

Thanks c: I'll look into the 3DSflow thing and see what I can do when I have some more spare time. As for the black and red screens and such, I unfortunately only have a 3DS on 10.3 so I'm not sure how to go about troubleshooting those problems. It's probably viable that it's taking a while to load all the smdh's if you have lots of them. I've only really tested it with like 10 themes myself.

You might be able to poll themes directly from 3dsthem.es also.

I think Rinnegatamante was working on it for CHMM2.

That's certainly a possibility, though I think that's too big of a project for my very limited programming skills. I could always give it a shot, but I think if you want something reliable you'd be better off waiting until Rinnegatamante implements the feature in CHMM2 then using that to download the themes. They should download to the same directory Tinker reads themes from so you can then just open up Tinker and apply them like normal. I know it's a hassle but I feel like Rinnegatamante has the skills to pull it off better than I do, I'm only just mediocre with design stuff my programming is actually kind of messy and poor haha.

is this means we can use shuffle customtheme with homethemehax?

O3DS 10.3-28J use themehax
when I run this give me redscreen

I try ninjahax themehax browserhax
only work if I write a xml named thinker.xml and put it with .3dsx
Code:
<targets selectable="false">
    <title mediatype="1">00040000000D3000</title>
</targets>

I'm not so sure about the shuffle option, I've only tested applying single themes with Shufflehax/Menuhax and this. The shuffle option might take some extra doing, I'll look into it though. As for the error, I have no idea why that's happening but hopefully that .xml trick fixed it. If you're still having issues let me know and I'll do my best to help fix them!

there is. :)
Code:
touching = Controls.check(Controls.read(), KEY_TOUCH)
touch_x, touch_y = Controls.readTouch()
cpad_x, cpad_y = Controls.readCirclePad()

anyway this is a pretty cool idea

Oh woops, I completely missed that part in the docs, my bad! I guess this is something to try and implement in the next version, thanks for the heads up! :)

it black screens whenever it starts up for me does anyone else have this problem on n3ds

Hey there, I remember I was getting that issue during bug testing when my files weren't located in the right directories. Would you mind posting the layout of your SD card here, then I can take a look and see if everything is in order (if you don't feel comfortable posting it, feel free to PM me). JJTapia19 also reported a black screen occurring possibly due to having lots of themes, that might be an issue as well. I've only tested this with about 10 themes but if you have lots and lots I imagine it will take a while to read them all and load them all, so the program might hang for a while when you start it.

This is what I'm getting when I launch it, any way to solve this?
I have the same problem when I launch it on my 2DS.

Hey guys, I have an idea of what may be causing the issue but to confirm it I need you to post here/PM me the layouts of your SD Card and whatever themes you may have installed to confirm the issue. Hopefully I can get it fixed for you guys. Thanks!

Wow, if there was one thing I disliked a lot with CHMM2, it was its interface (the irony when you're an application that manages interfaces...). But yours looks great and usable :D
Congrats for it. Any plans to have it manage home menu themes too or only menuhax ones ?

Hi there! I'm glad to hear you like the design :) I think I'm just going to stick to menuhax ones because they require pretty much no programming skills to install. All I need to do is copy files from the theme directory to the menuhax manager directory and the menuhax_manager takes care of the actual installation itself. I took a look at CHMM2's source code and home menu theme installation seems way over my head. Also, Rinnegatamante did a great job with CHMM2 so I don't see much reason to make something that does the same thing.
 
Last edited by HeyItsJono,
  • Like
Reactions: JJTapia19

DeslotlCL

GBAtemp's scalie trash
Member
Joined
Oct 28, 2015
Messages
2,847
Trophies
0
XP
2,755
Country
United States
Just wondering, does this works with any entrypoint? Like, an alternative to CHMM2. Also, does this loop the theme BGM? I just learned that installing themes with menuhax makes the BGM not loop correctly.
 

Site & Scene News

Popular threads in this forum

General chit-chat
Help Users
  • K3Nv2 @ K3Nv2:
    Those IHOP chips are actually pretty damn good
  • BigOnYa @ BigOnYa:
    They're made with left over pancake/wafle batter, that's been sitting out all day.
  • BigOnYa @ BigOnYa:
    3 hours on a riding lawn mower, my butt is numb and my whole body is still vibrating. Gonna be a long summer. :cry: I just need to buy some goats.
    +1
  • SylverReZ @ SylverReZ:
    @BigOnYa, Did you leave your buttplug in?
    +2
  • BigOnYa @ BigOnYa:
    I feel like I spent the night with Ancientboi
    +3
  • Flame @ Flame:
    Ancientboi at it again.
    +2
  • Flame @ Flame:
    is it a bird is it a plane... no its Ancientboi banging your ass away !
    +3
  • K3Nv2 @ K3Nv2:
    Took along time to fit it in?
  • K3Nv2 @ K3Nv2:
    Snow days $25 on steam may grab it
  • SylverReZ @ SylverReZ:
    Measuring sizes with AncientBoi, I see.
  • K3Nv2 @ K3Nv2:
    I guess Ancientboi would be Peter
    +2
  • SylverReZ @ SylverReZ:
    Loooooool :rofl2:
  • SylverReZ @ SylverReZ:
    So true
  • BigOnYa @ BigOnYa:
    @K3Nv2 Snow Day is pretty fun. My only bitch would be the camera controls, when you move around, say down, you have to move the right stick left or right to get camera to turn and get your view, other than that I like it so far.
  • K3Nv2 @ K3Nv2:
    From what people say pvp isn't even worth it
  • BigOnYa @ BigOnYa:
    I just been playing offline, and they give you a few bots here n there on your team to help battle. I don't think it's as funny as the other games tho, more battle oriented than humor, which kinda sucks, but I'm still early in it
  • Xdqwerty @ Xdqwerty:
    @BigOnYa, doesnt the game have a campaign mode?
  • BigOnYa @ BigOnYa:
    Yea, and co-op, but you can also start a pvp session and battle just with friends
  • K3Nv2 @ K3Nv2:
    If you can find enough for it
    K3Nv2 @ K3Nv2: If you can find enough for it