RELEASE [Release/Tutorial] Switch theme injector : Easily make custom themes

Discussion in 'Switch - ROM Hacking, Saves, Translations & Tools' started by exelix11, Sep 24, 2018.

  1. exelix11
    OP

    exelix11 GBAtemp Advanced Fan

    Member
    7
    Feb 25, 2015
    Italy
    C:\users\exelix11\
    Note that we still don't know if custom themes can cause bans, you should not be connected to the internet or use a dns while in cfw (even if you don't use themes).

    V3.5 Update : Theme shuffle, remote install, nxtheme background preview and direct extraction of the home menu on the console.

    What do you need:
    - a 720p (read faq to know why) background image
    - Switch theme Injector Online OR the offline windows application (Alternative download)
    - Only if you're using the web version : a way to convert pictures to DDS (the Windows version of this app, photoshop, paint.net, gimp, this website)
    - NXThemes Installer homebrew to install the themes on your switch (Alternative download, it's also available on the homebrew appstore)

    How to make a theme:

    [This is the new way for version 3.4, you can still use the old way]
    1) Open either the web injector or the windows app
    2) Go to the "nxtheme builder" tab
    3) Select the home menu part you want to theme
    4) Click on "Open image" on the web injector or on "..." in the windows app and select your image
    If you're using the web injector you can only use DDS images, the windows app supports JPG and PNG as well
    converting to dds for the web injector
    5) If you want, select a custom layout
    6) Click on "Build nxtheme"
    7) Profit !

    Installing your theme:
    Download the NXthemes installer homebrew (the nro file) and copy it in the switch folder on your sd card.
    Then make a folder called themes in the root of the sd card and copy your szs or nxtheme files in there.
    Run from your favorite cfw the installer and use it to install your themes.

    How to share a theme:
    As you may know themes come in two flavors: SZS files and the new NXTHEME format, the difference is that nxtheme is a custom format that doesn't contain any copyrighted data so you can just share the nxtheme version of your themes.
    Also nxtheme files can be installed on any firmware, no more compatibility issues!

    About custom layouts:
    To make custom layouts you need a tool to edit bflyt files such as Wexos's Toolbox, then you can use Switch theme injector to export your edits as JSON files (windows app only). These JSON patches are totally legal and can be shared, read how to create them here,when sharing you can optionally include a preview jpg file with the same name of the json.
    To use a JSON patch you downloaded from the internet copy it in the layouts folder and restart the injector, it will appear in the patch list when you open a compatible SZS. For Auto-Theme upload the JSON on a compatible host and create a link on the Auto-Theme page

    FAQ:

    Why are nxtheme files better than SZS ?

    They're legal, this means they can be freely shared and also they are firmware-independent so they can be installed on any firmware. It is also a more flexible format that can be extended in the future to support more features, such as theme packs.

    Why only 720p images, i want to use a 1080p or 4K one !?

    two reasons: first, the internal resolution of the home menu is 720p, no matter if docked or not, this means your image will automatically be scaled down to 720p. Second, bigger images seems more likely to crash the console during boot

    Do custom layouts work on 5.X ?
    Yes but you have to use ResidentMenu.szs instead of common.szs.

    I had a custom theme, then I updated my console and now it crashes on boot.
    This is because now you have a theme for a different firmware, delete the theme you have on the sd and dowload one for your new firmware.

    My switch crashes on boot.
    This should have been fixed with Switch Theme Injector 2.0 , maybe you are using a theme that was made with the older version.
    If you're encountering this issue with themes made with the latest version please let us know.

    The news applet crashes
    You're using the old bflyt patch (read spoiler at the start of the thread), use this tool to fix your themes

    Do themes work on firmwares older than 5.1.0 ?
    For older firmwares this tool should work but we didn't test. If you want to try you need to use a common.szs from the firmware you want to mod and follow this guide. If your theme works let us know !
    Note that if you encounter issues with older firmwares we may not be able to help.
    Edit:
    Version 4.0.1 works but has some issues (tested by hax4dayz).

    Does Switch theme injector app run on linux ?
    Yes, it's a simple winform application and works through wine, the ui won't look pretty tho.
    The image to DDS feature works only on windows because it requires DirectX.

    Can a custom theme brick my switch ?
    No, custom themes are applied through layered fs, no change is made to your nand

    To keep in touch with us, know about updates and more information join qcean's discord server: http://discord.gg/p27kEST
    Also follow this thread if you want to get notified about updates.
     
    Last edited by exelix11, Dec 31, 2018
  2. ernieshmitz

    ernieshmitz Member

    Newcomer
    1
    Jun 11, 2018
    United States
    THANKSSS!
    question tho. i have rei nx and the 0100000000001000 folder is not in it

    i do have a 010000000000100D folder tho, but it doesn't contain a romfs folder
     
  3. exelix11
    OP

    exelix11 GBAtemp Advanced Fan

    Member
    7
    Feb 25, 2015
    Italy
    C:\users\exelix11\
    0100000000001000 Is the titleid of the home menu, you have to create it
     
    Bushido1992 likes this.
  4. 8BitWonder

    8BitWonder Small Homebrew Dev

    Member
    9
    Jan 23, 2016
    United States
    47 4F 54 20 45 45 4D
    Very nice write-up. :)

    If I find the time later I'll try this on 2.2.0.
    I'll report back whether it was successful or not.

    Edit: Turns out layeredFS doesn't work on 2.X.0. Can't test it. :wink:
     
    Last edited by 8BitWonder, Sep 25, 2018
  5. jjbredesen

    jjbredesen WarezNX Owner

    Member
    13
    GBAtemp Patron
    jjbredesen is a Patron of GBAtemp and is helping us stay independent!

    Our Patreon
    Feb 16, 2018
    Norway
    Hyrule
    Great work!
     
  6. CobraX83

    CobraX83 Advanced Member

    Newcomer
    1
    Sep 13, 2015
    United States
    Not sure if it is a typo but you have "White1x1_180^3" when it should be "White1x1_180^r" .....at least on my app over here it is. Thank you for the tool as well, much appreciated!
     
  7. exelix11
    OP

    exelix11 GBAtemp Advanced Fan

    Member
    7
    Feb 25, 2015
    Italy
    C:\users\exelix11\
    yes, totally a typo, thanks
     
    CobraX83 likes this.
  8. CobraX83

    CobraX83 Advanced Member

    Newcomer
    1
    Sep 13, 2015
    United States
    No worries...the tool cuts down on some of the work for sure and works very well. Just tested it out and made a Zelda BOTW theme and it looks amazing. Thank you again!
     
  9. x0x0

    x0x0 GBAtemp Regular

    Member
    5
    Nov 15, 2017
    Poland
    Inside the code
    Not working SX OS 2.0.
     
  10. exelix11
    OP

    exelix11 GBAtemp Advanced Fan

    Member
    7
    Feb 25, 2015
    Italy
    C:\users\exelix11\
    Sx os is known to not work with themes, it's about layered fs for system titles, there's nothing we can do about it
     
  11. OkazakiTheOtaku

    OkazakiTheOtaku no thanks, I don't want a custom title

    Member
    8
    Jul 20, 2016
    Japan
    127.0.0.1
    Does this work on firmware 4.1 or is it for 5.x only?
     
  12. x0x0

    x0x0 GBAtemp Regular

    Member
    5
    Nov 15, 2017
    Poland
    Inside the code
    They working 2.0 has updated layeredFS, but with this method not..
     
  13. exelix11
    OP

    exelix11 GBAtemp Advanced Fan

    Member
    7
    Feb 25, 2015
    Italy
    C:\users\exelix11\
    I did not test cause my switch is on 5.1, it would be great if you could try it (keep in mind you need to use a common.szs from 4.1's home menu romfs)

    Home menu is a system application, their layeredFS implementation doesn't support that, it's said here as well : http://mike-dawson.com/threads/custom-home-menu-themes-and-edits.518446/
     
  14. Rasa39

    Rasa39 LovesCuteShiz

    Member
    4
    Aug 16, 2015
    United Kingdom
    Thanks for your effort with this, glad to see you got a release out so quick, congrats.
    But is the discord still up? invite is invalid.
     
  15. exelix11
    OP

    exelix11 GBAtemp Advanced Fan

    Member
    7
    Feb 25, 2015
    Italy
    C:\users\exelix11\
    it works for me :/
    Try this other one : http://discord.gg/GrKPJZt
     
  16. Rasa39

    Rasa39 LovesCuteShiz

    Member
    4
    Aug 16, 2015
    United Kingdom
    Got it, don't know why the op one didn't work for me, thanks.
     
  17. CatmanFan

    CatmanFan I actually prefer being an artist more now.

    Member
    7
    Aug 14, 2016
    Morocco
    Does this work on Hekate CFW w/ LayeredFS?
     
  18. SG911

    SG911 GBAtemp Fan

    Member
    3
    Dec 20, 2017
    United States
    Bronx, NY
    How do you get your hands on the Common.szs file?


    EDIT: Nevermind. Looked above & used discord link.

    EDIT 2: I'm on 5.1.0 using SX OS 2.0. My themed worked!

    EDIT 3: Here's my theme. I'll make myself a nicer one in the future. http://i.imgur.com/vOff9Pi.jpg
     
    Last edited by SG911, Sep 25, 2018
  19. Naked_Snake

    Naked_Snake Constant Miscreant

    Member
    6
    Oct 6, 2013
    Australia
    Hyrule Field
    A an I use this tool to edit lock screen text on a theme for 6.0?
     
  20. jakkal

    jakkal GBAtemp Addict

    Member
    12
    Apr 27, 2018
    United States
    works for me on sx os 2.0 with fw 5.1
     
Loading...