Kitty Corp Meow Mix Forums

Help & Tutorials => Programming Tutorials => Topic started by: KingJigglypuff on September 12, 2017, 09:50:55 PM



Title: [Intermediate] Custom My Music + Custom My Music Title Usage
Post by: KingJigglypuff on September 12, 2017, 09:50:55 PM
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 (https://smashboards.com/threads/cse-custom-sound-engine-v2-5-works-with-geckoos-and-riivolution.300069/) or Custom Sound Engine Code v3.0. (https://smashboards.com/threads/custom-sound-engine-v3-0-currently-in-public-testing-phase.431467/)
-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 (https://docs.google.com/spreadsheets/d/e/2PACX-1vTqObO7j8JE2szmu7PlExloYHnbR8GWApEO1Eo9tD9mHUjBV7ACTYlvgqIvlNTGN1HyQ8oIvoqxCNhT/pubhtml) 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/ (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.
Quote
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).
Quote
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.
Quote
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.
Quote
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:
Quote
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:
Quote
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.

Quote
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: ! No longer available (http://www.youtube.com/watch?v=ZCu0fHrU6yM#)


Title: Re: [Intermediate] Custom My Music + Custom My Music Title Usage
Post by: Afterthought on September 13, 2017, 06:42:00 AM
This is a wonderful tutorial and I'm looking forward to tinkering with it (granted I have a lot of deleting and rewriting to do) but I have a question.

CMM:Custom My Music [JOJI]: Each stage of the CMM Setting Codes must be used, or the game will crash. This code also breaks My Music for non modded play.

CMM:Custom My Music (Not crash.Ver) [JOJI]: This code doesn't have the crashing issue, nor does it break My Music for non-modded play, but the My Music settings are not saved.

CMM:Custom My Music V2 [JOJI]: I'm not sure if v2 has the same issues as v1, but v2 enables My Music settings being saved. From what I'm understanding, it saves where Names are stored, but its settings are deleted if you make more than 107 Names. I'm not sure what it means when it says Names though.

Now you say that we're able to pick one of the three codes to use, but it would be counterproductive to pick dated codes or codes that aren't as refined. Which code did you use for your experiment, and by extension, which would you recommend?


Title: Re: [Intermediate] Custom My Music + Custom My Music Title Usage
Post by: KingJigglypuff on September 13, 2017, 02:10:46 PM
Now you say that we're able to pick one of the three codes to use, but it would be counterproductive to pick dated codes or codes that aren't as refined. Which code did you use for your experiment, and by extension, which would you recommend?
For my experimentation, I used v2 of the CMM code.


Title: Re: [Intermediate] Custom My Music + Custom My Music Title Usage
Post by: Afterthought on September 13, 2017, 03:21:25 PM
And you said EVERY CMM Setting code was required. Does this mean that you need the setting code for EVERY stage in order to avoid crashes, or just setting codes for stages you want to affect?


Title: Re: [Intermediate] Custom My Music + Custom My Music Title Usage
Post by: KingJigglypuff on September 13, 2017, 03:53:58 PM
Every stage at the moment.

Edit: So a bit of a minor update. It's either a coincidence, or JOJI's seen this thread. Because they've updated their site with a message relating to the Custom My Music Title codes.

From what I could understand, they mention the codes were made with CSE v2.5 in mind [with Song IDs 286C through 2AC4 (IDs higher than 2AC4 are likely to crash)], but they'll be later updating to support CSE v3.0, [with Song IDs E500 to E852 (IDs higher than E852 are likely to crash].

So in the meantime, if you're using CSE v3.0 and don't want to wait for their update, then downgrade your CSE to v2.5, and use Song IDs 286C through 2AC4.

With this information in mind, I'll be updating the OP to reflect this information, so I'm not unintentionally misinforming people.

Also, if there's any way to contact JOJI, please let me know, as I've searched through their website, but I haven't found any sort of contact info.


Title: Re: [Intermediate] Custom My Music + Custom My Music Title Usage
Post by: Spigel on September 24, 2017, 03:36:02 PM
Could this fix the OnlineTraining Stage issue on My Music menu?


Title: Re: [Intermediate] Custom My Music + Custom My Music Title Usage
Post by: KingJigglypuff on September 24, 2017, 06:02:38 PM
There are codes to enable My Music for Special Stages (OnlineTraining is one of them), so you might be able to solve the issue for it.

Edit: For those using expansion stages, there's an additional code you'll need to insert. Said code is "Tracklist Modifier v1.0 (For CMM:Custom My Music) [JOJI]". This code is needed to give the expansion stages their own tracklists, as without the code, expansion stages will use Battlefield's tracklist by default.

Here's a video showcasing an expansion stage with its own tracklist.
https://www.youtube.com/watch?v=sc64NX4WpXg (https://www.youtube.com/watch?v=sc64NX4WpXg)


Title: Re: [Intermediate] Custom My Music + Custom My Music Title Usage
Post by: Ricardo­ on September 28, 2017, 05:06:08 PM
Quote
CMM:Custom My Music V2 [JOJI]: I'm not sure if v2 has the same issues as v1, but v2 enables My Music settings being saved. From what I'm understanding, it saves where Names are stored, but its settings are deleted if you make more than 107 Names. I'm not sure what it means when it says Names though.

The names you create for your name tags. Basically this code writes your My Music settings data where names #107 and further would be stored, so if you create a 107th name, it will overwrite the data stored and all CMM settings will be lost.


Title: Re: [Intermediate] Custom My Music + Custom My Music Title Usage
Post by: KingJigglypuff on September 28, 2017, 07:58:15 PM
Yeah, that's what I was thinking. Thanks for confirming my suspicions, which means you can use the code without messing your game save, if I'm right.

I'm gonna update the OP to only include usage of CMM v2.


Title: Re: [Intermediate] Custom My Music + Custom My Music Title Usage
Post by: Ricardo­ on September 28, 2017, 09:06:42 PM
Don't mention it. By the way...

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.LLLLLL = Special(?) ID (See the Google Spreadsheet for the respective IDs)
XXXXXXXX XXXXXXXX = Your title converted into Hex (Example: Test = 54657374)
YY = Amount of Bytes your Title has (Example: Test = 54657374. which is 4 Bytes)

Although you probably just forgot to specify, I believe YY is supposed to be not the amount of bytes per se (in decimal), but that amount in hex? It'd be best to clarify just in case.


Title: Re: [Intermediate] Custom My Music + Custom My Music Title Usage
Post by: KingJigglypuff on September 28, 2017, 09:13:59 PM
Yes, that's correct.


Title: Re: [Intermediate] Custom My Music + Custom My Music Title Usage
Post by: Ricardo­ on October 11, 2017, 05:37:00 PM
Will this tutorial be updated to CSE 3.0?


Title: Re: [Intermediate] Custom My Music + Custom My Music Title Usage
Post by: Afterthought on October 12, 2017, 05:44:30 AM
The hope is that it will. The codes for Custom My Music Titles WERE updated to work with CSE 3.0, but there doesn't seem to be a change with the engine codes themselves. Considerably odd, in my opinion.


Title: Re: [Intermediate] Custom My Music + Custom My Music Title Usage
Post by: KingJigglypuff on October 12, 2017, 06:29:00 AM
Will this tutorial be updated to CSE 3.0?
The hope is that it will.
I just updated the OP with details for the update to support CSE v3.0. The only difference is that the song IDs you can use are from E500 to E851.


Title: Re: [Intermediate] Custom My Music + Custom My Music Title Usage
Post by: jackal27 on February 25, 2018, 02:11:56 PM
I'm confused.

So do I need to add a code for every single stage, even the ones that aren't using custom My Music entries?

Also, if I ever wish to change any of my song titles, do I have to always do that through HEX? Does this make the song lists in my MiscData7 within the mu_menumain.pac useless?


Title: Re: [Intermediate] Custom My Music + Custom My Music Title Usage
Post by: KingJigglypuff on February 25, 2018, 02:21:37 PM
So do I need to add a code for every single stage, even the ones that aren't using custom My Music entries?
Yes, or else those stages will be silent, in addition to being locked if selecting them in My Music.

Also, if I ever wish to change any of my song titles, do I have to always do that through HEX?
Yes, in addition to altering the amount of bytes your name length is in the code itself.

Does this make the song lists in my MiscData7 within the mu_menumain.pac useless?
If you already have a title for a specific track ID, you won't need a code for that specific track. If you want to use your mu_menumain.pac over the title codes, you can do just that.


Title: Re: [Intermediate] Custom My Music + Custom My Music Title Usage
Post by: jackal27 on February 27, 2018, 10:59:27 PM
Ok, thanks for the quick reply! Still trying to wrap my head around this, but I'm learning as I go. A couple more questions if that's alright.

If I don't add the codes for the special stages, will those stages be silent like you said? Also, can I add my Song Title Setting Codes into one long code in Code Manager or do they each need to be added individually? Does that just help keep them sorted and labeled? Just asking because I have a lot of additional music using the CSE. Something like 300 additional songs so that will really crowd my RSBE01.txt lol.

Also, you said I could use my mu_menumain.pac over the title codes. Does that mean a method like this (I've used this method before) would also work for adding My Music song titles? http://forums.kc-mm.com/index.php?topic=72406.0 (http://forums.kc-mm.com/index.php?topic=72406.0)

EDIT: Last one. Where would I find out how to expand my gameconfig.txt if I need to? Things seem to be working right now, but I'm afraid if I keep adding these song title codes, eventually I'll hit a code limit.


Title: Re: [Intermediate] Custom My Music + Custom My Music Title Usage
Post by: KingJigglypuff on February 28, 2018, 07:38:01 AM
If I don't add the codes for the special stages, will those stages be silent like you said?
Special stages (Target Test, Homerun Contest, etc) require its own code to enable expanded tracks, so unless you have that code, you don't need to use the specific codes for Special Stages.

Also, can I add my Song Title Setting Codes into one long code in Code Manager or do they each need to be added individually? Does that just help keep them sorted and labeled? Just asking because I have a lot of additional music using the CSE. Something like 300 additional songs so that will really crowd my RSBE01.txt lol.
I have a feeling you would get conflicts if you tried to merge everything into one code. Even if it didn't, it would be hell to try and find out which track was which if you ever wanted to go back and alter your track name.

Also, you said I could use my mu_menumain.pac over the title codes. Does that mean a method like this (I've used this method before) would also work for adding My Music song titles? [url]http://forums.kc-mm.com/index.php?topic=72406.0[/url] ([url]http://forums.kc-mm.com/index.php?topic=72406.0[/url])
Yes, that should work. Except you would use the Expansion IDs instead.

Last one. Where would I find out how to expand my gameconfig.txt if I need to? Things seem to be working right now, but I'm afraid if I keep adding these song title codes, eventually I'll hit a code limit.
Go to JOJI's website, go to the SSBB Codes section, and look for "256 lines unlimited text V2". That's what I use for my gameconfig.txt.


Title: Re: [Intermediate] Custom My Music + Custom My Music Title Usage
Post by: jackal27 on February 28, 2018, 10:12:51 AM
Awesome! Thank you so much for all of this! This code is literally a dream of mine since Brawl's release!

If I end up getting my mu_menumain.pac working for this, I'll make a version to upload here with title slots for CSE3.0's brstms.

Post Merge: March 02, 2018, 01:01:26 AM
Heya! SO new problem. Everything seems to be working fine on my regular stages, but with my Expansion stages (I'm testing with Custom01) the added music slots pop up in My Music just fine, but then when I go to play the game, I just get what I believe is Final Destination's theme? Is there an extra step for custom stages that I'm missing? Do I need to do or change something with the Stage Expansion Tool? Is there a code I missed somewhere?

EDIT: Taking a 2nd look at it, it appears that this code hasn't been working for me Expansion stages from the beginning, because the code even says to play the SSBB Main Theme and they don't.

EDIT 2: NEVERMIND! I figured it out. This expansion template had some left over Stage Dependent Song Loader code that was interfering and had to be removed. I'll leave this post up for anyone else who runs into the same situation.


Title: Re: [Intermediate] Custom My Music + Custom My Music Title Usage
Post by: Tyshy on July 22, 2019, 07:17:59 PM
ok so mine work, but for some reason after the first match the custom songs become silent am I missing a code?