1. HeyItsJono

    OP HeyItsJono Breath of Fresh Heir
    Member

    Joined:
    Mar 26, 2011
    Messages:
    210
    Country:
    [​IMG]

    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, Jan 11, 2016
  2. Yangarang

    Yangarang GBAtemp Regular
    Member

    Joined:
    Nov 14, 2015
    Messages:
    188
    Country:
    Australia
    This looks really useful, I'm trying it out now
     
  3. JJTapia19

    JJTapia19 I fight for my friends.
    Member

    Joined:
    May 31, 2015
    Messages:
    2,170
    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
     
  4. RainCode

    RainCode   
    Member

    Joined:
    Sep 29, 2015
    Messages:
    164
    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. ;)
     
    ihaveamac likes this.
  5. robot56

    robot56 Advanced Member
    Newcomer

    Joined:
    Sep 13, 2015
    Messages:
    94
    Country:
    United States
    You might be able to poll themes directly from 3dsthem.es also.

    I think Rinnegatamante was working on it for CHMM2.
     
  6. Buttsnake

    Buttsnake "Mods please close this thread"
    Member

    Joined:
    Aug 23, 2015
    Messages:
    207
    Country:
    United States
    You are freaking genius man thank you
     
    DarkRioru likes this.
  7. Damon_girl

    Damon_girl GBAtemp Advanced Fan
    Member

    Joined:
    Oct 27, 2015
    Messages:
    960
    Country:
    United States
    Sweet! I'm definitely gonna use this. I've missed my custom themes.
     
  8. srwgin

    srwgin GBAtemp Advanced Fan
    Member

    Joined:
    Aug 13, 2013
    Messages:
    519
    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, Dec 31, 2015
  9. ihaveamac

    ihaveamac GBAtemp Guru
    Member

    Joined:
    Apr 20, 2015
    Messages:
    5,952
    Country:
    United States
    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
     
  10. dazindude

    dazindude Advanced Member
    Newcomer

    Joined:
    Nov 20, 2011
    Messages:
    75
    Country:
    United States
    it black screens whenever it starts up for me does anyone else have this problem on n3ds
     
  11. royant1

    royant1 GBAtemp Regular
    Member

    Joined:
    Sep 17, 2015
    Messages:
    188
    Country:
    Iceland
  12. SomeGamer

    SomeGamer GBAtemp Guru
    Member

    Joined:
    Dec 19, 2014
    Messages:
    6,821
    Country:
    Hungary
    This is beautiful! I love material design, so thank you.
     
  13. Yangarang

    Yangarang GBAtemp Regular
    Member

    Joined:
    Nov 14, 2015
    Messages:
    188
    Country:
    Australia
    This is what I'm getting when I launch it, any way to solve this?
     

    Attached Files:

  14. hnguyen2010

    hnguyen2010 Advanced Member
    Newcomer

    Joined:
    Dec 18, 2009
    Messages:
    51
    Country:
    United States
    I have the same problem when I launch it on my 2DS.
     
  15. Hayleia

    Hayleia GBAtemp Maniac
    Member

    Joined:
    Feb 26, 2015
    Messages:
    1,485
    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 ?
     
  16. leonmagnus99

    leonmagnus99 GBAtemp Psycho!
    Member

    Joined:
    Apr 2, 2013
    Messages:
    3,678
    Country:
    Iraq
    this looks like my Nexus6 phone, material design o-o good job
     
  17. HeyItsJono

    OP HeyItsJono Breath of Fresh Heir
    Member

    Joined:
    Mar 26, 2011
    Messages:
    210
    Country:
    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.
     
    Last edited by HeyItsJono, Dec 31, 2015
    JJTapia19 likes this.
  18. BurningDesire

    BurningDesire GBAtemp Guru
    Member

    Joined:
    Jan 27, 2015
    Messages:
    5,000
    Country:
    United States
    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
     
  19. DeslotlCL

    DeslotlCL GBAtemp's scalie trash
    Member

    Joined:
    Oct 28, 2015
    Messages:
    2,847
    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.
     
Draft saved Draft deleted
Loading...

Hide similar threads Similar threads with keywords - [Shuffle, Manager], Menuhax