Tutorial [Tutorial] How to make a Custom 3ds Theme

misterb98

Moral Gateway User. Wat.
OP
Member
Joined
Aug 24, 2010
Messages
449
Trophies
0
XP
289
Country
United States
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
0
Website
reisyukaku.org
XP
5,379
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,212
Trophies
1
Age
44
XP
2,779
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
528
Trophies
0
XP
1,643
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
162
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
0
Location
Branford Fl
Website
Visit site
XP
459
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)
 
General chit-chat
Help Users
  • Sicklyboy @ Sicklyboy:
    like an sd card slot extension thing?
    Gift
  • MightyJAK @ MightyJAK:
    Yeah, to load from (and save data to) an SD card plugged into the serial port.
    Gift
  • Sicklyboy @ Sicklyboy:
    You test that extension thing through a regular usb reader on your pc? Could just be a shit one. Bought one for my 3d printer and it just straight up doesn't work
    Gift
  • MightyJAK @ MightyJAK:
    it can't be plugged into a USB reader (it's made from a regular SD card to USB adapter, but with the USB end modded to a Dreamcast serial plug)
    Gift
  • MightyJAK @ MightyJAK:
    It was working fine before I installed the GDEMU, but now the Dreamcast doesn't recognize it when I boot up Dreamshell.
    Gift
  • Sicklyboy @ Sicklyboy:
    ahhh I gotcha. yeah haven't looked at it that much so I'm not super familiar with the hardware
    Gift
  • MightyJAK @ MightyJAK:
    Can't find any threads about this particular issue on GBAtemp or the wider intarwebz. Saw one video on YouTube that seemed relevant, but it was some dude with the same issue, no solutions offered in the comments. :/
    Gift
  • Julie_Pilgrim @ Julie_Pilgrim:
    my teacher was showing me something and i noticed they had gbatemp open in another window
    Gift
  • SpazzyShinobi @ SpazzyShinobi:
    when worlds collide
    +1
    Gift
  • MightyJAK @ MightyJAK:
    Your teacher is ONE OF US... ONE OF US...
    +2
    Gift
  • Julie_Pilgrim @ Julie_Pilgrim:
    they could be in this very chat, they could be any one of us
    Gift
  • MightyJAK @ MightyJAK:
    InB4 "Julie, get back to work on your homework, that assignment is due tomorrow."
    +1
    Gift
  • Julie_Pilgrim @ Julie_Pilgrim:
    god damn no one ever wants to talk to me but the MOMENT i start studying everyone got shit to say to me
    Gift
  • Gift
  • Julie_Pilgrim @ Julie_Pilgrim:
    (not you guys tho, you guys are cool :)
    Gift
  • Julie_Pilgrim @ Julie_Pilgrim:
    fuck how do i use emoticons within parenthesis
    Gift
  • Julie_Pilgrim @ Julie_Pilgrim:
    i left out the closing bracket but that just looks incomplete
    Gift
  • RichardTheKing @ RichardTheKing:
    https://gbatemp.net/chat/message/110146/view
    Imagine if that teacher was, I dunno, pingpong or DinohScene or some other mod or admin...that'd be something, huh.
    +1
    Gift
  • Veho @ Veho:
    The teacher just wanted to know what kind of perverted debauchery Julie was watching on the school computer instead of studying.
    +2
    Gift
  • Julie_Pilgrim @ Julie_Pilgrim:
    what? no, i totalllyyyyy do all my schoolwork
    Gift
  • Julie_Pilgrim @ Julie_Pilgrim:
    aw, who am i kidding, if i did my work i wouldnt be talking to you guys right now
    +1
    Gift
  • Gift
  • Freezer6 @ Freezer6:
    That's right @Julie_Pilgrim
    +2
    Gift
  • Julie_Pilgrim @ Julie_Pilgrim:
    are there people out there actually insane enough to pay $20/month for photoshop
    Gift
  • Chaosta @ Chaosta:
    considering theres people out there who pay to watch anime. yeah.
    Gift
    Chaosta @ Chaosta: considering theres people out there who pay to watch anime. yeah.