How to make a Custom 3ds Theme

Hello everyone! This is my first tutorial writeup, so I may make errors. Also, this process is not well documented yet, so my knowledge still has heavy limitations and there are others out there who are far more successful at performing this task than I am. That said, none of them have written a tutorial yet, so I will go ahead and do so. Lets get Started!


I. Downloads
To make a theme, you will need:
- Theme Customization Tools by Roxas75
- ExtDataTool by Yellow8, uploaded by piratesephiroth
- a Method of loading ExtDataTool, either using Smea's Ninjhax or Installed CIA through devmenu
- a theme from the theme shop on your system.

For Audio, you will need:
- Every File Explorer by Gericom
- Audacity
- Format Factory

II. Getting Theme Files
1. Load the theme you want to modify so it is your current active theme. (Stock will not work)
2. Run ExtDataTool
3. Select the Third option. (Activate cache)
4. Select option to copy cache from extdata to SD
5. Power off 3ds, put SD card in PC

You will find two files on the root of your SD, Bodycache.bin and BgmCache.bin. Copy these to your PC in a convenient location.

III. Changing the Look of the Theme
1. Rename Bodycache.bin to body_LZ.bin
2. Run Theme Customization Tools (3DS_ThemeEditor.exe)
3. Arrow next to file -> Open -> body_LZ.bin, where you renamed it
4. This is where things get more Theme-specific. You generally want to replace the images found here with images of identical size. This is best achieved by exporting the image you want to edit, loading it into your favorite image-editing program, and modifying it to your heart's content. Once you are done, import it back into the editor.
5. Click "Simulator". This will help you to know if you have your images aligned properly. If you are modifying a theme with a panning top screen, this will not pan as the theme would.
6. Once you have the theme looking right, save the file as body_LZ.bin
7. Rename body_LZ.bin to BodyCache.bin

IV. (Optional) Changing the background music
I barely got this working. In it's current state, you cannot make the sound loop nor have the filesize exceed ~3.3Mb. With these issues, you can still change the music. I use audacity for this, it's a great sound editor worth getting.

1. Locate MP3 or WAV file with your music
2. Load it into Audacity
3. Export as WAV
4. Open Every File Exporer, file -> new from file -> Nintendo 3ds Plugin -> CTR Stream
5. Select your WAV, push play to see if it works.
6. File -> Save As untitled.bstrm
7. Rename untitled.bstrm to BgmCache.bin and place on SD card

Now, you may notice that your wav and bstrm file are exorbantly large! They may be more than 3 times the size limit! Unfortunately, wav is an uncompressed format and thus has a very large file size. You have a few options on shrinking the file size:

1. Load the sound file into audacity
2. Find the part of the song you don't want
3. Hit Delete
4. Export as wav
1. Load the sound file into audacity
2. Click Track -> Stereo to Mono
3. Export as wav
1. Run Format Factory
2. Under the audio drop down on the left side, click "-> WAV"
3. Click "Output Setting"
4. On the drop down, select "Low Quality"
5. In the Settings below, change Sample Rate to 11025
6. Click Ok
7. Click Add File and select your sound file
8. Hit OK, then Start.
9. Click Output Folder to get to your sound file
Unfortunately, we have not yet worked out song looping, we have! so whatever you play will only play once unless you go to the power off screen and back to home.

V. "Installing" the theme
Alright, technically you are loading the theme into the cache. It's more of a load and less of an install.

1. Boot 3ds, load the theme you want to override
2. Load ExtDataTool
3. Copy Cache from SD to extdata
4. Once it complete and goes back to the ExtDataTool Menu, hit power, then home.
5. Your Theme should have loaded!

If at this point you have no theme, or the music didn't change, here is what could have happened:

- You didn't name the files properly
- You weren't on a downloaded theme when you ran the tool
- Your theme file is invalid, make sure you saved/copied it properly and are using Theme Customization Tools for body_LZ.bin and not Every File Explorer.
- If sound isn't playing, make sure your bcstm is valid. I really don't know how to help you here.


VI. Other Stuff

I wrote this up pretty quickly, and this tutorial is based on my own experience. If anyone has any improvements for the guide, please post! I can edit the guide with any new information. Hopefully someone will figure out looping sound soon, as this is the one main thing that is missing from (public) custom themes at this point.
 

Reisyukaku

Onii-sama~
Developer
Joined
Feb 11, 2014
Messages
1,534
Trophies
2
Website
reisyukaku.org
XP
5,422
Country
United States
After smacking my head against the wall for a few hours i figured out how to make custom theme packs
I can only get it to work on cfw for now, but...
5lOQn9j.jpg
 

weatMod

Well-Known Member
Member
Joined
Aug 24, 2013
Messages
3,305
Trophies
2
Age
47
XP
3,350
Country
United States
Make sure the directory it's in has no spaces in the name (along with the files you use) ex. Instead of "my 3ds theme" as the folder change it to "my3dstheme" or"my_3ds_theme"

EDIT: ok make sure the body_LZ.bin file is in a folder with no spaces and no spaces in the folder path
i didn't know they meant the bin file i thought they were talking about the tool.exe itself had to be in a folder with no spaces , or maybe its both
anyway i put the .exe in folder with no spaces and it didn't work till i put the .bin file there too
 

shadowofdarkness

Well-Known Member
Member
Joined
Apr 17, 2007
Messages
536
Trophies
1
XP
2,253
Country
Canada
Any idea what I'm doing wrong. I loaded the Sonic Boom theme then using the extdatatool I enabled the cache and exported to sd.
Then replaced the files with my modified ones or even ones from the custom theme thread.
When I load the new files with extdatatool and then go to power off screen then hit home. It just takes me to the stock 3ds theme.

I'm on a 9.4 emunand with a 9.2 sysnand. I have tried a half dozen from the theme thread so they can't be the problem it must be my importing.
 

chicodiesel

Well-Known Member
Newcomer
Joined
Jul 29, 2011
Messages
61
Trophies
0
Location
New York
XP
166
Country
United States
Any idea what I'm doing wrong. I loaded the Sonic Boom theme then using the extdatatool I enabled the cache and exported to sd.
Then replaced the files with my modified ones or even ones from the custom theme thread.
When I load the new files with extdatatool and then go to power off screen then hit home. It just takes me to the stock 3ds theme.

I'm on a 9.4 emunand with a 9.2 sysnand. I have tried a half dozen from the theme thread so they can't be the problem it must be my importing.


Did you delete ThemeManage.bin?
 

Vahnyyz

Well-Known Member
Member
Joined
Aug 2, 2007
Messages
262
Trophies
1
Location
Branford Fl
Website
Visit site
XP
500
Country
United States
Is there any way that this could be updated to reflect some of the tools and things that have been made for the bcstm and everything, and maybe something specific for Gateway? I've looked around and unless you're doing ninjahax you're doing things like you would on a dev 3ds. So my understanding is the steps are just slightly different. If that's at all possible that would be great, but I guess I could just be blowing steam cause I made a legends of legaia theme that I'm kinda happy with that won't work for me even if I delete this, and redo that and everything lol. (I'm pretty useless I guess)
 

Site & Scene News

Popular threads in this forum

General chit-chat
Help Users
    Veho @ Veho: Musk sues Hyundai in 3... 2... 1...