Due to a recent discovery made by JOJI (Japanese user), we can now have custom tracklists, and have them appear in My Music. This tutorial will tell you what you need to do.
Here's what you're going to need before we can start though:
-
Custom Sound Engine Code v2.5 or
Custom Sound Engine Code v3.0.-BRSTM of your choice.
-Any source of Text to Hex conversion.
-*CMM:Custom My Music V2
-*CMM Setting Codes
-*(Optional) CMM Option: Special Stages
-*CNMT:Custom New Music Title (RSBE.Ver)
-*Song Title Setting Code
-*Tracklist Modifier v1.0 (For CMM:Custom My Music).
-
This Google Spreadsheet which the Track IDs you can use for the most part
*Since the creator of these codes (JOJI) wishes not to have their content distributed outside their website, please visit
http://ssbbhack.web.fc2.com/ to receive these codes, though I will explain the two Setting codes.
So what does this allow us to do? This allows us to actually add new tracks to stages (including stages used with Stage Expansions), up to 15 (including the vanilla tracks) to be exact, each with their own titles (you also don't need to edit files like BrawlDJ or anything similar). The only exception is Mushroomy Kingdom, in which you can only have up to 7 tracks (including the vanilla tracks).
Limitations:
-You must use every CMM Setting Code (except Custom Stages if you don't have any), or else the stages that don't have their respective codes inserted won't play their music, nor will you be able to access them in My Music (you'll be locked in there, unable to exit).
-Tracks are automatically set to the minimum occurrence, but they can have their occurrences altered and saved.
-The initial codes were made for CSE v2.5, and song IDs must be between 286C and 2AC4 (which gives you 600 songs to add). IDs higher than 2AC4 are likely to crash. If you're using CSE v3.0, then use the My Music Title Engine code JOJI recently made for CSE v3.0, which alters your range to E500 to E851.
-If you're using a larger codeset (Example: Project M), then you'll need to modify your gameconfig.txt to expand the size of your codeset, or else you'll get an error when attempting to boot up your codelist through Gecko.
Credits:
-Dantarion: For creating the original Custom Sound Engine Code.
-JOJI: For creating the codes needed for this tutorial to even be possible.
This tutorial will be split into two parts: Custom My Music Entries and Custom New Music Titles.
[WARNING]: This entire concept is uncharted territory, so use these codes at your own risk. I highly recommend you back up your Brawl save before attempting this. You're responsible if anything goes wrong with your save upon using these codes. These codes date back to 2014, so who knows how long these issues have been known for.So if you're willing to take the risks, then let's step into adding new tracks to My Music!
Part 1: My Music Entries.
I highly recommend you make a backup of your save, as previous knowledge indicates altering My Music also alters your save.
CMM:Custom My Music V2 is the main engine behind Custom My Music, which saves its settings under the name tag memory from where names #107 onward would be stored, so upon making a 107th name, all CMM settings would be overwritten.
Now that we have the main engine out of the way, let's get to actually adding those slots.
For this example, we'll use Battlefield's Custom My Music Setting Code (taken from JOJI's description).
CMM Setting Code (Battlefield) [JOJI]
0853D006 000000FF
000E0008 00000000
0853D006 00000000
00ZZ0008 00000000
0053CEA0 000000YY
4A000000 8053D000
14000000 0000XXXX
14000008 0000XXXX
14000010 0000XXXX
14000018 0000XXXX
14000020 0000XXXX
14000028 0000XXXX
14000030 0000XXXX
14000038 0000XXXX
14000040 0000XXXX
14000048 0000XXXX
14000050 0000XXXX
14000058 0000XXXX
14000060 0000XXXX
14000068 0000XXXX
14000070 0000XXXX
E0000000 80008000
ZZ = Hex Value of the amount of tracks -1 (Example: Vanilla Battlefield has 5 tracks, so ZZ would be 4)
YY = Hex Value of the amount of tracks (Example: Vanilla Battlefield has 5 tracks, so YY would be 5.
XXXX = Track ID in Hex (See the Google Spreadsheet for the usable IDs).
So for example, if we wanted to add 1 track to Battlefield and use 286C for the Track ID, this is how the code would look.
0853D006 000000FF
000E0008 00000000
0853D006 00000000
00050008 00000000
0053CEA0 00000006
4A000000 8053D000
14000000 000026FC
14000008 000027EE
14000010 00002711
14000018 00002813
14000020 00002815
14000028 0000286C
14000030 00000000
14000038 00000000
14000040 00000000
14000048 00000000
14000050 00000000
14000058 00000000
14000060 00000000
14000068 00000000
14000070 00000000
E0000000 80008000
We now have Track 286C added to Battlefield. Take your BRSTM, and name it 0000286C.brstm, and insert it into pf > sound > sfx
Part 2: Custom New Music Titles.
Since there's only one engine code for this, there's no need for me to explain anything. We can go straight to making our titles.
CNMT Setting Code [JOJI]
06LLLLLL 000000YY
XXXXXXXX XXXXXXXX
LLLLLL = Special(?) ID (See the Google Spreadsheet for the respective IDs)
XXXXXXXX XXXXXXXX = Your title converted into Hex (Example: Test = 54657374)
YY = Amount (in hex) of Bytes your Title has (Example: Test = 54657374. which is 4 Bytes)
So if we wanted to name this new track Test, this is how the code would look:
286C - Test [JOJI]
06544140 00000004
54657374 00000000
Now we both have our added track and its label. You're all done. If you've followed every thing correctly, you'll now have your new track.
Note: If you have a Music Title Code, and it looks incomplete, finish it off with zeroes.
Example:
286C - All Star (Smash Mouth) [JOJI]
06544140 00000016
416C6C20 53746172
2028536D 61736820
4D6F7574 6829XXXX
Here, you have 2 bytes of empty space. Fill that in with zeroes.
286C - All Star (Smash Mouth) [JOJI]
06544140 00000016
416C6C20 53746172
2028536D 61736820
4D6F7574 68290000
And with that, you're all done. You may repeat this tutorial as much as you need until you've hit the limit of tracks per stage.
Demonstration: