Homebrew Tinker [Shuffle/Menuhax Theme Manager]

NodePoint

  
Member
Joined
Sep 29, 2015
Messages
164
Trophies
0
Location
that was a lie -- actually somewhere in europe
XP
178
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.
This uses the menuhax manager. This application allows you to pick a theme to move/copy over and rename the file to the directory that menuhax would only install custom themes in. You would have to select the 'install custom theme' option in menuhax manager once Tinker launches it.
 

DeslotlCL

GBAtemp's scalie trash
Member
Joined
Oct 28, 2015
Messages
2,847
Trophies
0
XP
2,755
Country
United States
This uses the menuhax manager. This application allows you to pick a theme to move/copy over and rename the file to the directory that menuhax would only install custom themes in. You would have to select the 'install custom theme' option in menuhax manager once Tinker launches it.

Oh geez, but it's good news too. This will be usefull for my other 3ds without ironfall.

Thanks.
 

dazindude

Well-Known Member
Newcomer
Joined
Nov 20, 2011
Messages
83
Trophies
1
Location
The depths of Naraka
XP
1,076
Country
United States
Thanks for all the kind words guys :)



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.



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.



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!



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! :)



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.




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!



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.


I figured it out i had way too many themes thank for trying to help though
 

Hagslayer5

Well-Known Member
Newcomer
Joined
Nov 9, 2015
Messages
72
Trophies
0
Website
www.gateway-3ds.com
XP
75
Country
United States
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.

Installation
  1. Download the .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
Usage Instructions
  • 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, as far as I know there's no touchscreen support in lpp-3ds just yet.
  • The Settings button (blue circle with the gear in it) is inaccessible for now, that'll be implemented later

Hopefully some people find this useful!
will this work on menuhax loader if i install a theme

--------------------- MERGED ---------------------------

will this work on menuhax loader if i insta ll a theme on this app
 

Harps

Well-Known Member
Member
Joined
Nov 14, 2015
Messages
188
Trophies
0
Age
26
Location
Australia
XP
273
Country
Australia
Thanks for all the kind words guys :)



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.



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.



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!



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! :)



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.




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!



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.

Here's the layout of my SD card, I've got 4 themes, can't remember which is which off the top of my head though.
Screen Shot 2016-01-01 at 8.06.37 AM.png
 

15avaughn

Well-Known Member
Newcomer
Joined
Dec 1, 2015
Messages
46
Trophies
0
XP
89
Country
United States
I'm just getting an error, "Error: index.lua not found"

Here are some of my folder layouts. I already tried deleting settings.cfg and renaming all the themes to Theme1, Theme2, etc., but that didn't do anything.
eJUHX0c.png
 
Last edited by 15avaughn,

HeyItsJono

Breath of Fresh Heir
OP
Member
Joined
Mar 26, 2011
Messages
213
Trophies
1
XP
285
Country
What code did you use to get alerts to work? They look really nice and I would like to implement one in my future homebrews hahaha
Basically I made the dialog box in photoshop and saved it as a PNG file (it's the install_dialog.png you'll find it in the Tinker folder). Then I did something like this:
Code:
Graphics.init()
-- declare global variable to tell program if dialog is on screen and another to load the image as a GPU texture
dialog_open = false
install_dialog = Graphics.loadImage(System.currentDirectory()..'/install_dialog.png')

-- define install function to close the dialog if install is confirmed
function Install()
    dialog_open = false
    --other install code here
end

-- main while true loop for the program
while true do
    pad = Controls.read()
    Screen.refresh()
    Graphics.initBlend(BOTTOM_SCREEN)
    if dialog_open:
        -- if the dialog is open then draw the image on screen
        Graphics.drawImage(15, 31, install_dialog)
    end
    if (Controls.check(pad, KEY_A)) and not (Controls.check(oldpad, KEY_A)) and not dialog_open then
        -- if A is pressed on a theme and the dialog isn't already open, open the dialog
        dialog_open = true
    elseif (Controls.check(pad, KEY_A)) and not (Controls.check(oldpad, KEY_A)) and dialog_open then
        -- if A is pressed and the dialog is open, run the Install() function
        Install()
    elseif (Controls.check(pad, KEY_B)) and not (Controls.check(oldpad, KEY_B)) and dialog_open then
        -- if B is pressed and the dialog is open, dismiss it
        dialog_open = false
    end
    Graphics.termBlend()
    oldpad = pad
end

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.
It's only made to apply themes to Menuhax and its namesakes because they rely on a custom theme to deliver the HBL code, which means you can't just set a theme as normal with them, you need to use a different process to change themes. This was made to simplify the process a little. My code actually only moves the theme files to where they need to be for Menuhax_manager to pick them up, Menuhax_manager does the rest, so any bugs with that would be present as usual when using Tinker. As for CHMM2, it's not intended to be an alternative. I think CHMM2 does a great job for non-menuhax theme management so I don't feel the need to add support for regular custom theme installation (also I don't know how haha). Hopefully this cleared some things up for you, if you have more questions feel free to ask :)

Does this load all themes' info at once or does it load them dynamically?
It loads them all up at once as soon as the program opens. It basically just lists the contents of Themes directory, stores those contents (and their smdh info) in a Lua table and then parses that table into a paged version. That's why it takes a long time to start up if you have many themes, unfortunately. Sorry for the lack of source code guys! I'll post it on Github in a second so you can feel free to look at it, I just didn't have the time last night because NYE and all :)


will this work on menuhax loader if i install a theme

--------------------- MERGED ---------------------------

will this work on menuhax loader if i insta ll a theme on this app

Yup! That's what it's made for.

Misread the original post, my bad.
Just moved the themes to the Themes folder on the root and now it's working fine
Thanks for the help
Glad you got it working :)

I'm just getting an error, "Error: index.lua not found"

Here are some of my folder layouts. I already tried deleting settings.cfg and renaming all the themes to Theme1, Theme2, etc., but that didn't do anything.
eJUHX0c.png
That's so odd, that error is only supposed to appear when the index.lua file is missing from /3ds/Tinker but it's clearly there so I have no idea what's going on... I'll post in the lpp-3ds thread to see if maybe there's another reason that the .3dsx file isn't recognising the index.lua. Sorry about the trouble! Also just a heads up, the Theme1, Theme2, Theme3 thing was just an example of theme names, your theme folders can be named stuff like "Rewrite" or "Zelda - Dire Moon" and it should still work just fine!

EDIT: Version 1.0.1 released (added proper error dialogue when no themes are detected. I also put the source code up on Github, link is in the OP.
 
Last edited by HeyItsJono,
  • Like
Reactions: BurningDesire

15avaughn

Well-Known Member
Newcomer
Joined
Dec 1, 2015
Messages
46
Trophies
0
XP
89
Country
United States
okay. Sorry I was out. It works on my us system which is strange. I wonder if lua doesn't work on jpn consoles
No, it does, you just need to put all the files other than the 3dsx and smdh on the root. Right now there's some problem between lpp-3ds and the Homebrew Launcher that makes it not able to determine filepaths on Japanese systems for some reason.
 

ihaveahax

Well-Known Member
Member
Joined
Apr 20, 2015
Messages
6,070
Trophies
2
XP
7,839
Country
United States
No, it does, you just need to put all the files other than the 3dsx and smdh on the root. Right now there's some problem between lpp-3ds and the Homebrew Launcher that makes it not able to determine filepaths on Japanese systems for some reason.
I asked someone outside of GBAtemp to test it on their JPN system, and the same thing happened. it's probably a payload issue.
 

Site & Scene News

Popular threads in this forum

General chit-chat
Help Users
  • K3Nv2
  • Xdqwerty
    what are you looking at?
  • BakerMan
    I rather enjoy a life of taking it easy. I haven't reached that life yet though.
    K3Nv2 @ K3Nv2: https://youtube.com/shorts/Tt5J7AfCK6E?si=g4dGzOkhACLJAovM