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:
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.
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
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
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
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
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.