Tutorial  Updated

How to Make 3DS Custom Themes *2020 Updated*

After much struggle I have made some critical break through in regards to music formatting, cropping resolutions and theme creation. So I thought I would update my old 2018 guide.

Tools Needed
Step One: Adjust the Image
Put your desired image over the scrolling (blue) or regular (red) layer as desired. Use the Unified Transform Tool to resize the image to fit within the parameters (it's right next to the crop tool).

A: The gap between 3DS screens on the XL is 56 pixels, and all other 3DS models have a similar sized gap. Lots of theme makers ignore the gap, but certain things can look weird if there's that few mm gap where someone's arm or head is supposed to be.

A: Usagi combines themes left to right, so when you crop at 512 it cuts off 100 pixels on the right side, but this also means the bottom screen crop won't be positioned even with the top screen so we need to have its position at 146 by 396. Bottom resolution is 320x240 > 320 - 412 = 92, divide that by 2 and we get 46 pixels, so to get them pixel perfect we take the 100 x position and add 46 to get the perfect bottom screen crop.

upload_2020-6-27_18-59-37.png

Step Two: Crop The Images

Use the cropping tool on GIMP to select the appropriate areas for both top and bottom screens.

Regular top and bottom crops will be done at 512x256, HOWEVER only the area in the RED will be visible.
Position 100 by 100 for top images
Position 146 by 396 for bottom images.​
Scrolling themes are 1024x256 but only the area in BLUE will display on your 3DS.
Position 100 by 100 for top images
Position 100 by 396 for bottom images.​

1.) nicer image quality, 2.) scrolling themes sometimes have glitches and not reach properly. I cropped all my old themes according to internal resolution and the images came out with glitches, didn't align properly, and looked especially bad on scrolling themes.

upload_2020-6-27_19-6-10.png

Step Three: Usagi Theme Editor
Place the top and bottom image into Usagi as shown below. You can play around within here to get background music or custom colors.

upload_2020-6-27_18-53-42.png

Step Four: Looping Audio Converter
Using Looping Audio Converter 1.3.3 find the appropriate song, and convert from MP3 to BCSTM using BrawlLib RSTM decoder.

The bgm file MUST be under 3.3mb and you can ensure this by converting to mono and lowering the Hz of the audio. Please note that a 3.3mb mp3 might be 10mb as an unmodified bcstm which is why mono and new sample rates are helpful in getting the file size where we want it. Use audacity or other tools to edit.

In the old days of theme creation, we had to convert mp3 to wav, then to bcsrm, then bcstm but using 1.3.3 and the brawl plugin you'll always create compatible bgm. You don't need to convert between any additional formats.

upload_2020-6-27_19-10-56.png

Once you have the music file under 3.3mb rename it bgm.bcstm and place it in the folder with the other saved usagi files. If you want to put it on your 3ds without uploading to themeplaza.eu then you best put it in a .ZIP file.

I've made a lot of 3ds themes, but I made many of them WRONG. So this guide is a way of helping other people avoid the mistakes I've made. The biggest one I've done was cropping the images. Originally I did so at the 3ds resolution instead of Usagi's 512x256 (or 1024x256 for scrolling themes) and this created lots of streching or glitches with the image themselves, especially in scrolling themes. My old 2018 crop tool didn't work very well, and my newer one didn't account for that new piece of information. So the one I have uploaded here is positioned in a way to allow perfect scrolling.
 
Last edited by ,

The_Monado_Satyr

Well-Known Member
Member
Joined
Feb 25, 2020
Messages
112
Trophies
0
Age
24
Website
linktr.ee
XP
846
Country
United States
sorry if this isnt the right place to ask but how can i fix this error? i have the bin,preview, and bgm.bcstm in the same folder but i keep getting this error and made sure the bgm was under .3mb. first time making a them btw
Screenshot (4).png


had to fix typos
 
D

Deleted User

Guest
OP
sorry if this isnt the right place to ask but how can i fix this error? i have the bin,preview, and bgm.bcstm in the same folder but i keep getting this error and made sure the bgm was under .3mb. first time making a them btwView attachment 219127

had to fix typos

I would click "ok" on that flag and then on the BGM side click "load" and then the play button to see if it works. Then, if the bgm works I would re-save the theme just so everything is good next time you need to load it.
 

The_Monado_Satyr

Well-Known Member
Member
Joined
Feb 25, 2020
Messages
112
Trophies
0
Age
24
Website
linktr.ee
XP
846
Country
United States
I would click "ok" on that flag and then on the BGM side click "load" and then the play button to see if it works. Then, if the bgm works I would re-save the theme just so everything is good next time you need to load it.
any idea what i messed up? i saved over a old version of theme and it enable the bgm but i still cant play it, tried moving it to the themes and it crashes my 3ds oof
 
Last edited by The_Monado_Satyr,
D

Deleted User

Guest
OP
any idea what i messed up? i saved over a old version of theme and it enable the bgm but i still cant play it, tried moving it to the themes and it crashes my 3ds oof

The music is probably crashing your system. The 3ds is very finicky with how it accepts the audio files, not only do they have to be bcstm they need to be under 3.3mb AND they need to be encoded using the BrawlLib plugin. I would suggest re-converting the mp3 to bcstm and being very sure you're using that plugin.
 

The_Monado_Satyr

Well-Known Member
Member
Joined
Feb 25, 2020
Messages
112
Trophies
0
Age
24
Website
linktr.ee
XP
846
Country
United States
The music is probably crashing your system. The 3ds is very finicky with how it accepts the audio files, not only do they have to be bcstm they need to be under 3.3mb AND they need to be encoded using the BrawlLib plugin. I would suggest re-converting the mp3 to bcstm and being very sure you're using that plugin.
i ditched the music and just went to make it and it crashes is there a way i can upload crash dumps? yo i got the music to work yee. not sure if it will crash my 3ds tho haven't tested ill let you know, how big do cwav files can get?
f-WBlXTIflCWt3KtiBDsIDsy27xA4cUUmgRssnPYIHnbqLl42EtQUM-xir3KYwL-cYUo9h8wDnkXJS8lXK-DKGAbEeHR1o1G40bszG2Q
 
Last edited by The_Monado_Satyr,

The_Monado_Satyr

Well-Known Member
Member
Joined
Feb 25, 2020
Messages
112
Trophies
0
Age
24
Website
linktr.ee
XP
846
Country
United States
i ditched the music and just went to make it and it crashes is there a way i can upload crash dumps? yo i got the music to work yee. not sure if it will crash my 3ds tho haven't tested ill let you know, how big do cwav files can get?


update the music works problem is when moving to my sd and using anemone it crashes when changing the theme and the music didnt work in the preview so guessing its still causing problems reply when ya can.
f-WBlXTIflCWt3KtiBDsIDsy27xA4cUUmgRssnPYIHnbqLl42EtQUM-xir3KYwL-cYUo9h8wDnkXJS8lXK-DKGAbEeHR1o1G40bszG2Q
 

Dragon_Types

Active Member
Newcomer
Joined
Jul 14, 2018
Messages
39
Trophies
0
Age
34
XP
561
Country
Sweden
I have a strange issue. When I open Usagi and load a theme that already has a bgm, it then will get an error and crashes and exits. I get this message:

NAudio.MmException: BadDeviceId calling waveOutOpen
at NAudio.Wave.WaveOut.Init(IWaveProvider waveProvider)
at ThemeEditor.WPF.AudioPlayer.SetAudioData(Byte[] wavData) i D:\GIT\Projects\3DS Theme Editor\ThemeEditor.WPF\AudioPlayer.cs:rad 81
at ThemeEditor.WPF.MainWindow.LoadBGM_PostExecute(LoadBGMResults result) i D:\GIT\Projects\3DS Theme Editor\ThemeEditor.WPF\MainWindow.BGM.cs:rad 17
at ThemeEditor.WPF.RelayCommandAsync`1.<Execute>d__11.MoveNext() i D:\GIT\Projects\3DS Theme Editor\ThemeEditor.WPF\RelayCommand.cs:rad 0
--- End of stack trace from previous location where exception was thrown ---
at System.Runtime.CompilerServices.AsyncMethodBuilderCore.<>c.<ThrowAsync>b__6_0(Object state)
at System.Windows.Threading.ExceptionWrapper.InternalRealCall(Delegate callback, Object args, Int32 numArgs)
at System.Windows.Threading.ExceptionWrapper.TryCatchWhen(Object source, Delegate callback, Object args, Int32 numArgs, Delegate catchHandler)

Without bgm, Usagi works.Importing a bgm will generate the same crash and same message and closes. Any fixes?
 
D

Deleted User

Guest
OP
I have a strange issue. When I open Usagi and load a theme that already has a bgm, it then will get an error and crashes and exits. I get this message:

NAudio.MmException: BadDeviceId calling waveOutOpen
at NAudio.Wave.WaveOut.Init(IWaveProvider waveProvider)
at ThemeEditor.WPF.AudioPlayer.SetAudioData(Byte[] wavData) i D:\GIT\Projects\3DS Theme Editor\ThemeEditor.WPF\AudioPlayer.cs:rad 81
at ThemeEditor.WPF.MainWindow.LoadBGM_PostExecute(LoadBGMResults result) i D:\GIT\Projects\3DS Theme Editor\ThemeEditor.WPF\MainWindow.BGM.cs:rad 17
at ThemeEditor.WPF.RelayCommandAsync`1.<Execute>d__11.MoveNext() i D:\GIT\Projects\3DS Theme Editor\ThemeEditor.WPF\RelayCommand.cs:rad 0
--- End of stack trace from previous location where exception was thrown ---
at System.Runtime.CompilerServices.AsyncMethodBuilderCore.<>c.<ThrowAsync>b__6_0(Object state)
at System.Windows.Threading.ExceptionWrapper.InternalRealCall(Delegate callback, Object args, Int32 numArgs)
at System.Windows.Threading.ExceptionWrapper.TryCatchWhen(Object source, Delegate callback, Object args, Int32 numArgs, Delegate catchHandler)

Without bgm, Usagi works.Importing a bgm will generate the same crash and same message and closes. Any fixes?

I've never seen that error before. I would double check that you're doing everything correct. The installation is correct, the files are all correct. Try redoing the theme from scratch (use the same images) and see if that works.
 
D

Deleted User

Guest
OP
Some people seem to be having strange issues with bgm or the application itself. My advice is this: double check to see if the files are all correct, that the music has been correctly converted and is the right size. Sometimes a dumb mistake might be blocking progress on your theme.

Download a theme from the plaza (themeplaza.eu) and take it apart, see what the structure inside the zip looks like.
 

PizzaBitez

Shadow Clone Justu.
Member
Joined
Dec 2, 2016
Messages
115
Trophies
0
Age
30
XP
213
Country
United States
Some people seem to be having strange issues with bgm or the application itself. My advice is this: double check to see if the files are all correct, that the music has been correctly converted and is the right size. Sometimes a dumb mistake might be blocking progress on your theme.

Download a theme from the plaza (themeplaza.eu) and take it apart, see what the structure inside the zip looks like.
That's actually what I was doing lol!
 

Dragon_Types

Active Member
Newcomer
Joined
Jul 14, 2018
Messages
39
Trophies
0
Age
34
XP
561
Country
Sweden
I've never seen that error before. I would double check that you're doing everything correct. The installation is correct, the files are all correct. Try redoing the theme from scratch (use the same images) and see if that works.
Not working. Same error message and crashes. Usagi worked fine like 2 months ago. Must have to do with the updates from Windows 10?
 

Vaisalterego

Member
Newcomer
Joined
Jul 19, 2020
Messages
11
Trophies
0
XP
139
Country
Jamaica
hi,

i have a problem with a bgm.

i've got a theme from themeplaza (Pixel Metro Train) where i wanted to just change the music.
so i converted a mp3 with LoopingAudioConverter, tested it with the theme in 3DS Theme Editor (worked), saved it again and tried to install it with anemone, but when i try to install the new altered theme, it says i've got no body_LZ.bin (i have) and when i just try to install the BGM, it crashes my 3DS.

In the original Theme zip File, theres also a .ogg file, but i guess thats just because of the preview on the site...?

So, there must be something wrong with the bgm, i think its because i didn't use BrawlLib... where do i get that plugin and how do i use it with LoopingAudioConverter?
 
Last edited by Vaisalterego,

Site & Scene News

Popular threads in this forum

General chit-chat
Help Users
    Psionic Roshambo @ Psionic Roshambo: Just 6 but dual band 6 lol