Home Gallery Resources The Team Rules chat Login Register
  Show Topics
Pages:  [1] 2 3 4 ... 7
1  Help & Tutorials / Texture and Portrait Tutorials / [Intermediate] Unbounded Team Color Engine Implementation Guide on: September 06, 2019, 06:44:25 PM
With the release of Legacy TE v2.5 comes DukeItOut's Unbounded Team Color Engine. While incompatible with Ex-based builds in its original state, DesiacX has made a branching version for Ex-based builds. This guide will tell you how to implement this system, based on the type of build you use.

Additionally, I strongly recommend implementing DukeItOut's 50CC into your build before starting. I have a separate guide on how to implement 50CC into your build, which you can follow with the link below.
http://forums.kc-mm.com/index.php?topic=80226.0

So with all that out of the way, let's get started!

First, you need to go through your codeset/GCT and remove the following codes, if present and based on your build type:

Non Ex-Based Builds (builds which don't use the BrawlEx Clone Engine):
Quote
Alt Color Engine 1.2 [Dantarion]
Alt Color Engine Data [Dantarion]
Masquerade Costume Flags [ds22]
Three Team Costumes for Ganon   Costume ID Fix [PyotrLuzhin]
Three Team Costume Preservation

Ex-Based Builds (builds which use the BrawlEx Clone Engine):
Quote
Alt Color Engine 1.2 [Dantarion]
Alt Color Engine Data PMEXv0.5 [Dantarion, PyotrLuzhin]
Masquerade Costume Flags [ds22]
Three Team Costumes for Ganon   Costume ID Fix [PyotrLuzhin]
Three Team Costume Preservation


Once the codes above have been removed, insert the following codes into your codeset/GCT, based on your build type:

Non Ex-Based Builds:
Quote
[Legacy TE] Masquerade Costume Flags V2 [ds22, DukeItOut]
* 0484CD48 381FFFCE
* 02AD817C 003200FF

[Legacy TE] Upload Character Masquerade Data At Startup [DukeItOut]
* 06546FE0 0000001C
* 2F696E66 6F2F636F
* 7374756D 65736C6F
* 74732F25 3032642E
* 6D617371 00000000
* C202D508 0000001F
* 9421FF10 7C0802A6
* 900100F4 93E1000C
* 93C10010 93A10014
* 93810018 90610024
* 90810028 90A1002C
* 3FE08045 63FF5450
* 93E1001C 3FE08054
* 63FF7000 93E10020
* 3BA00000 38610060
* 3C808054 60846FE0
* 7FA5EB78 3D80803F
* 618C89FC 7D8903A6
* 4E800421 80A10020
* 38610030 38810060
* 38C00000 38E00000
* 3D808002 618C239C
* 7D8903A6 4E800421
* 38610030 3D808001
* 618CBF0C 7D8903A6
* 4E800421 83C1001C
* 83E10020 281D0027
* 41A1000C 97FE0010
* 93C1001C 3BFF0066
* 93E10020 3BBD0001
* 281D0029 4081FF80
* 80610024 80810028
* 80A1002C 800100F4
* 83E1000C 83C10010
* 83A10014 83810018
* 7C0803A6 382100F0
* 88030278 00000000

[Legacy TE] Unbounded Team Color Engine [DukeItOut]
* 066998D0 00000010
* 3B9C0001 60000000
* 60000000 60000000
* 06699C14 00000010
* 3B9CFFFF 60000000
* 60000000 60000000
* 046974F8 4800001C
* 04699B8C 60000000
* 04699ED0 60000000
* C20AF520 0000001E
* 9421FFE0 9361000C
* 93410008 93810010
* 3B40FFFF 3B600000
* 3B800000 38A00000
* 3CC08058 60C65B00
* 38E28ED0 54602036
* 54A8083C 7D2720AE
* 7C660214 80E30008
* 7C674214 7CE63B78
* 2C190000 40A0003C
* 3B20FFFF 88030000
* 7C004800 4082000C
* 3B390001 7CBB2B78
* 2800000C 38630002
* 38A50001 4082FFE0
* 7F63DB78 48000054
* 38630002 38A50001
* 88030000 2800000C
* 41A20010 7C004800
* 41A20014 4BFFFFE4
* 3B200000 7F43D378
* 48000028 2C1A0000
* 40A00008 7CBA2B78
* 7CBB2B78 7C19E000
* 3B9C0001 41A0FFDC
* 4082FFB8 7CA32B78
* 8361000C 83410008
* 83810010 38210020
* 9B3E01C4 4E800020
* 60000000 00000000
* C2696628 00000015
* 9421FFE0 93C1001C
* 93A10018 93810014
* 93610010 9341000C
* 8BFE01C4 7C1A0378
* 2C1A0002 40820008
* 3B400003 3B600000
* 3B800000 3BA00000
* 3BC00000 3CA08058
* 38A55B00 546025B6
* 38C00000 7CA50214
* 80650008 4800000C
* 38630002 38C60001
* 8BC30000 2C1E000C
* 4182001C 7C1AF000
* 4082FFE8 7CDD3378
* 7C1CF800 3B9C0001
* 4180FFD8 7FA3EB78
* 83C1001C 83A10018
* 83810014 83610010
* 8341000C 38210020
* 60000000 00000000
* 046849A8 4BA2AB7D
* C20AF524 00000017
* 9421FFD0 93C1001C
* 93A10018 93810014
* 93610010 9341000C
* 90010020 801801C0
* 8BF801C4 7C1A0378
* 2C000002 40820008
* 3B400003 3B600000
* 3B800000 3BA00000
* 3BC00000 3CA08058
* 38A55B00 546025B6
* 38C00000 7CA50214
* 80650008 4800000C
* 38630002 38C60001
* 8BC30000 2C1E000C
* 4182001C 7C1AF000
* 4082FFE8 7CDD3378
* 7C1CF800 3B9C0001
* 4180FFD8 7FA3EB78
* 80010020 83C1001C
* 83A10018 83810014
* 83610010 8341000C
* 38210030 4E800020
* 60000000 00000000
* 04685C18 60000000
* 04685C08 7C050378
* C2685C10 00000017
* 80610050 9421FFE0
* 93C1000C 93A10008
* 93810004 90A10014
* 93410018 9361001C
* 54BC25B6 3FA08058
* 63BD5B00 7FBDE214
* 3F80FFFF 639CFFFF
* 83BD0008 7C1DE040
* 41820058 7C7A1B78
* 3BC00000 3B800000
* 3B600000 2C1A0002
* 40820008 3B400003
* 4800000C 3BBD0002
* 3B9C0001 8BDD0000
* 2C1E000C 41820020
* 7C1ED000 4082FFE8
* 8BDD0001 7C1C0000
* 4182000C 3B7B0001
* 4BFFFFD4 7F60DB78
* 8361001C 83410018
* 80A10014 83810004
* 83A10008 83C1000C
* 38210020 00000000
Ex-Based Builds:

Quote
Unbounded Team Color Engine (PMEX Variant) [DukeItOut, Desi]
* 066998D0 00000010
* 3B9C0001 60000000
* 60000000 60000000
* 06699C14 00000010
* 3B9CFFFF 60000000
* 60000000 60000000
* 046974F8 4800001C
* 04699B8C 60000000
* 04699ED0 60000000
* C20AF520 0000001E
* 9421FFE0 9361000C
* 93410008 93810010
* 3B40FFFF 3B600000
* 3B800000 38A00000
* 3CC0817D 60C652A0
* 38E28ED0 54602036
* 54A8083C 7D2720AE
* 7C660214 80E30008
* 7C674214 7CE63B78
* 2C190000 40A0003C
* 3B20FFFF 88030000
* 7C004800 4082000C
* 3B390001 7CBB2B78
* 2800000C 38630002
* 38A50001 4082FFE0
* 7F63DB78 48000054
* 38630002 38A50001
* 88030000 2800000C
* 41A20010 7C004800
* 41A20014 4BFFFFE4
* 3B200000 7F43D378
* 48000028 2C1A0000
* 40A00008 7CBA2B78
* 7CBB2B78 7C19E000
* 3B9C0001 41A0FFDC
* 4082FFB8 7CA32B78
* 8361000C 83410008
* 83810010 38210020
* 9B3E01C4 4E800020
* 60000000 00000000
* C2696628 00000015
* 9421FFE0 93C1001C
* 93A10018 93810014
* 93610010 9341000C
* 8BFE01C4 7C1A0378
* 2C1A0002 40820008
* 3B400003 3B600000
* 3B800000 3BA00000
* 3BC00000 3CA0817D
* 38A552A0 54602576
* 38C00000 7CA50214
* 80650008 4800000C
* 38630002 38C60001
* 8BC30000 2C1E000C
* 4182001C 7C1AF000
* 4082FFE8 7CDD3378
* 7C1CF800 3B9C0001
* 4180FFD8 7FA3EB78
* 83C1001C 83A10018
* 83810014 83610010
* 8341000C 38210020
* 60000000 00000000
* 046849A8 4BA2AB7D
* C20AF524 00000017
* 9421FFD0 93C1001C
* 93A10018 93810014
* 93610010 9341000C
* 90010020 801801C0
* 8BF801C4 7C1A0378
* 2C000002 40820008
* 3B400003 3B600000
* 3B800000 3BA00000
* 3BC00000 3CA0817D
* 38A552A0 54602576
* 38C00000 7CA50214
* 80650008 4800000C
* 38630002 38C60001
* 8BC30000 2C1E000C
* 4182001C 7C1AF000
* 4082FFE8 7CDD3378
* 7C1CF800 3B9C0001
* 4180FFD8 7FA3EB78
* 80010020 83C1001C
* 83A10018 83810014
* 83610010 8341000C
* 38210030 4E800020
* 60000000 00000000
* 04685C18 60000000
* 04685C08 7C050378
* C2685C10 00000017
* 80610050 9421FFE0
* 93C1000C 93A10008
* 93810004 90A10014
* 93410018 9361001C
* 54BC2576 3FA0817D
* 63BD52A0 7FBDE214
* 3F80FFFF 639CFFFF
* 83BD0008 7C1DE040
* 41820058 7C7A1B78
* 3BC00000 3B800000
* 3B600000 2C1A0002
* 40820008 3B400003
* 4800000C 3BBD0002
* 3B9C0001 8BDD0000
* 2C1E000C 41820020
* 7C1ED000 4082FFE8
* 8BDD0001 7C1C0000
* 4182000C 3B7B0001
* 4BFFFFD4 7F60DB78
* 8361001C 83410018
* 80A10014 83810004
* 83A10008 83C1000C
* 38210020 00000000

If you're a non-Ex user, then refer to the video guide below (by MetalLegacy34). While this guide is centered around LTE, this method can still be used for non LTE-based builds. Also take note you will also need to make use of the new .masq format:
https://www.youtube.com/watch?v=heDXDdiUcic

However, if you're an Ex user, then you'll instead need to modify the CSSSlotConfig file of your Fighter of choice to configure your team costumes. Refer to the image guide (made by ALM5252) below when setting things up:

The following color codes are used for teams:
00: Red Team
01: Blue Team
03: Green Team

And with that, you're done. However, I have one last note to make: When adding costume slots to anyone (regardless of build), avoid using 12 (0xC) and 13 (0xD), as those are the FitFighterDark and FitFighterFake slots respectively. So if you're already using either of these slots, change them after following this guide.
2  Super Smash Bros. Brawl Hacking / Programming / With Just a Single Line of Code, You Can Say Goodbye to PCS Files! on: April 09, 2019, 05:48:29 PM
TV-Advertisement clickbait aside, this code has been out for a while (starting with being included in Legacy TE), but I'm bringing it up on DukeItOut's behalf (since he's the one who made the code), as it seems the users here on KC-MM are out of the loop.

Code:
Always use PACs instead of PCS files [DukeItOut]
* 0484CB40 60000000
Here it is.

What this code does is simply remove the need for the FitFighterXX.pcs file, meaning you only need to insert your respective FitFighterXX.pac files into your fighter folders when inserting fighter model files.
3  Help & Tutorials / Texture and Portrait Tutorials / [Intermediate] 50 Costume Code Implementation Guide on: February 26, 2019, 04:16:52 PM
-Introduction-
For those out of the loop, PyotrLuzhin had plans for a 20 Costume Project (dubbed 20 CP), which would allow users to surpass Brawl's 10 costume limit (15 if you took the time to edit cosmetics to prevent cosmetic bleeding) with a new 20 costume limit. In Pyotr's absence, DukeItOut has released a 50 Costume Code (dubbed 50 CC), which further pushes that limit to 50 costumes. This guide will help you implement 50 CC into your custom build.

-Credits-
PyotrLuzhin: For his work on 20 CP.
DukeItOut: For his work on 50 CC.
Sammi_Husky: For his work on the bx_fighter.rel

-Requirements-
-Your sc_selcharacter.pac file (located in pf > menu2).
-Your info.pac file (if using a Project M-based build, located in pf > info2).
-Your STGRESULT.pac file (located in pf > stage > melee).
-Your InfFaceXXX.brres files (located in info > portrite). You must extract every single file and put them into their own folder. If you're missing any vBrawl files, then dump them from your ISO and insert them into the same folder (skip any file conflicts, as otherwise, you would be replacing your custom InfFace files by mistake).
-Duke's edited sora_menu_main.rel file (place this inside the pf > module directory)
-BrawlCrate (Current version is v0.23)

-Disclaimers-
General Disclaimer: In case of potential user-side mistakes, please back up your build before attempting to implement 50 CC into it as we will not be held responsible if something happens in your build.

Disclaimer for adding costumes: Avoid using Costume 12, as that's what FitFighterDark uses.

Disclaimer for Brawl users: The Stock Icons used on the Stage Selection Screen (sc_selmap.pac) are currently unsupported by the 50 CC Engine. While they can be converted to prevent crashing, I would recommend editing your sc_selmap.pac file to remove them them through other means, as I will not go over on how to convert your sc_selmap.pac file.

Disclaimer for BrawlEx/PMEX Users: In addition to the requirements above, you'll also need to replace your bx_fighter.rel (located in pf > module) with this edited version (made by Sammi_Husky and I). Additionally, you'll need to increase the size of whichever CSSSlotXX.dat files you plan on adding additional costumes to in addition to editing your FighterXX.dat files to enable the two unknown flags under the HasCostume flags (you can use BrawlCrate to do both of these tasks).

Note: This edited bx_fighter.rel is based off of BrawlEx v2.0.0.0, so make sure to update your common2 and common3 files to the latest version before progressing.

Disclaimer for adding more than 10 costumes: Upon adding an 11th costume, BrawlCrate's conversion will assume your 11th costume onward is a new Cosmetic ID and will require you to manually rename any associated textures and PAT0 entries, or else they will crash upon loading (because the game tried to find a texture that doesn't exist)

-Required Codes-
Before you begin, you'll need to insert the following codes into your codeset (GCT file):
Quote
Set Masquerade Costume Count to Zero to have up to 50 costumes [DukeItOut]
* C284CFFC 00000004
* 700CFFFE 41820014
* 3D808084 618CD004
* 7D8903A6 4E800420
* 7C600039 00000000
* 0484D00C 56E506BE
* 0481C3D4 540306BE
* 0045A374 00000034
* 020E1F0E 00000BB9
* C20E1F24 00000003
* 2C1F002D 40A2000C
* 38602328 48000008
* 1C630032 00000000
* C20E8B08 00000003
* 2C050035 40A2000C
* 38602328 48000008
* 1C630032 00000000
* C20E8C04 00000003
* 2C050035 40A2000C
* 38602328 48000008
* 1C630032 00000000
* 0484D518 56E606BE
* 0484D814 56E606BE
* 0484DAF0 56E606BE
* 0484DED4 56E506BE
* 0484CC28 56E006BE
* 0484CB6C 56E506BE
* C20E1F24 00000003
* 2C1F002D 40A2000C
* 38602328 48000008
* 1C630032 00000000
* 0482A830 54C016BA
* 0482AB20 54C016BA
* 0482AB3C 54C0073E
* 0482AB5C 54C0073E
* 0482AB6C 54C0073E
* 0482AB8C 54C0073E
* 0482ABAC 54C0073E
* 0482ABBC 54C0073E
* 0482ABDC 54C0073E
* 0482ABFC 54C0073E
* 0482AC0C 54C0073E
* 0482A84C 54C0073E
* 0482A86C 54C0073E
* 0482A87C 54C0073E
* 0482A89C 54C0073E
* 0482A8BC 54C0073E
* 0482A8CC 54C0073E
* 0482A8EC 54C0073E
* 0482A90C 54C0073E
* 0482A91C 54C0073E
This code is the 50 CC Engine and will require converting all your BPs and Stock Icons to work with the 50 CC system (I'll go over how to do so with the next section).

Quote
* 00692507 00000032
* 046A17D8 30346400
* 00692DA7 00000032
This code applies a patch to the Stock Icons used in the Classic Mode CSS and Co-Op Single Player Mode CSS. For organization purposes, you can just add this code to the end of the 50 CC Engine code.

Now this next code is entirely dependent on if you're using a Project M or PMEX based build.

If your build is based off Project M, then search for this code...
Quote
Individual Stock Icons (info.pac) V2.4 ASV [ds22, wiiztec]
* C20E2168 0000002C
* 818100E8 3D609018
* 896BF37F 2C0B0002
* 4082007C 392000A5
* 3D408058 614A8000
* 897F0002 1D6B00A0
* 7D4A5A14 896A009E
* 80BF0020 2C050006
* 41810020 2C050000
* 40820030 3CA08128
* 60A5AE64 80A50000
* 2C050006 4081001C
* 7D8A58AE 2C0C00CC
* 4082000C 39600003
* 48000008 396B0003
* 7D8A58AE 2C0C00CC
* 40820014 2C0B0000
* 4182000C 39600000
* 4BFFFFE8 3FA08045
* 38C0003D 3BBD56D8
* 38E00000 7CC903A6
* 88DD0002 7C0C3000
* 4182001C 88DD0003
* 7C0C3000 41820010
* 3BBD0010 38E70001
* 4200FFE0 2C07003D
* 4082000C 3FA08045
* 3BBD56D8 899D0000
* 2C0C0042 40A20008
* 39800025 88C100ED
* 2C0900A5 4082002C
* 7CCA582E 54C6801E
* 54C6463E 396B0003
* 996A009E 2C1B0004
* 40820010 892A009C
* 39290003 992A009E
* 1D8C000A 7D8C3214
* 38EC0001 2C1B0000
* 4082000C 7C882378
* 7FFCFB78 3D8080C2
* A18C4314 3BA05F65
* 7C0CE800 4182000C
* 6D1E8000 48000008
* 6CFE8000 83BC008C
* 60000000 00000000
* 040E215C 60000000
* 040E2160 60000000
* C203D8B4 00000005
* 2C09000B 40820018
* 3C600006 38631C00
* 3C800002 38847180
* 7C641A14 881B001C
* 60000000 00000000
* 044218EC 00095F00
* 0442190C 00180000
* 04494990 00095F00
* 044949EC 80C23A60
* 044949F0 00180000
..and replace it with this code.
Quote
Individual Stock Icons (info.pac) V2.6 50CC [ds22, wiiztec, DukeItOut]
* C20E2168 0000002C
* 818100E8 3D609018
* 896BF37F 2C0B0002
* 4082007C 392000A5
* 3D408058 614A8000
* 897F0002 1D6B00A0
* 7D4A5A14 896A009E
* 80BF0020 2C050006
* 41810020 2C050000
* 40820030 3CA08128
* 60A5AE64 80A50000
* 2C050006 4081001C
* 7D8A58AE 2C0C00CC
* 4082000C 39600003
* 48000008 396B0003
* 7D8A58AE 2C0C00CC
* 40820014 2C0B0000
* 4182000C 39600000
* 4BFFFFE8 3FA08045
* 38C0003D 3BBD56D8
* 7CC903A6 88DD0002
* 7C0C3000 41820020
* 88DD0003 7C0C3000
* 41820014 3BBD0010
* 4200FFE4 3FA08045
* 3BBD56D8 7D876378
* 899D0000 2C0C0042
* 40A20008 39800025
* 88C100ED 2C0900A5
* 4082002C 7CCA582E
* 54C6801E 54C6463E
* 396B0003 996A009E
* 2C1B0004 40820010
* 892A009C 39290003
* 992A009E 1D8C0032
* 2C07002D 40A20008
* 39802328 7D8C3214
* 38EC0001 2C1B0000
* 4082000C 7C882378
* 7FFCFB78 3D8080C2
* A18C4314 3BA05F65
* 7C0CE800 4182000C
* 6D1E8000 48000008
* 6CFE8000 83BC008C
* 60000000 00000000
* 040E215C 60000000
* 040E2160 60000000
* C203D8B4 00000005
* 2C09000B 40820018
* 3C600006 38631C00
* 3C800002 38847180
* 7C641A14 881B001C
* 60000000 00000000
* 044218EC 00095F00
* 0442190C 00180000
* 04494990 00095F00
* 044949EC 80C23A60
* 044949F0 00180000
This code replacement will convert the Stock Icons used in Multiplayer battles for 50 CP compatibility.

However, if your build is based off of PMEX, then you would instead search for this code...
Quote
[PMEX] Individual Stock Icons (info.pac) PMEX0.5 ASV [ds22, wiiztec, PyotrLuzhin]
* C20E2168 0000002C
* 818100E8 3D609018
* 896BF37F 2C0B0002
* 4082007C 392000A5
* 3D408058 614A8000
* 897F0002 1D6B00A0
* 7D4A5A14 896A009E
* 80BF0020 2C050006
* 41810020 2C050000
* 40820030 3CA08128
* 60A5AE64 80A50000
* 2C050006 4081001C
* 7D8A58AE 2C0C00CC
* 4082000C 39600003
* 48000008 396B0003
* 7D8A58AE 2C0C00CC
* 40820014 2C0B0000
* 4182000C 39600000
* 4BFFFFE8 3FA0817D
* 38C0007D 3BBD5AC0
* 38E00000 7CC903A6
* 88DD0002 7C0C3000
* 4182001C 88DD0003
* 7C0C3000 41820010
* 3BBD0010 38E70001
* 4200FFE0 2C07003D
* 4082000C 3FA0817D
* 3BBD5AC0 899D0000
* 2C0C0042 40A20008
* 39800025 88C100ED
* 2C0900A5 4082002C
* 7CCA582E 54C6801E
* 54C6463E 396B0003
* 996A009E 2C1B0004
* 40820010 892A009C
* 39290003 992A009E
* 1D8C000A 7D8C3214
* 38EC0001 2C1B0000
* 4082000C 7C882378
* 7FFCFB78 3D8080C2
* A18C4314 3BA05F65
* 7C0CE800 4182000C
* 6D1E8000 48000008
* 6CFE8000 83BC008C
* 60000000 00000000
* 040E215C 60000000
* 040E2160 60000000
* C203D8B4 00000005
* 2C09000B 40820018
* 3C600006 38631C00
* 3C800002 38847180
* 7C641A14 881B001C
* 60000000 00000000
* 044218EC 00095F00
* 0442190C 00180000
* 04494990 00095F00
* 044949EC 80C23A60
* 044949F0 00180000
...and replace it with this code.
Quote
Individual Stock Icons (info.pac) V2.6 PMEx + 50CC [ds22, wiiztec, DukeItOut, PyotrLuzhin, KingJigglypuff]
* C20E2168 0000002C
* 818100E8 3D609018
* 896BF37F 2C0B0002
* 4082007C 392000A5
* 3D408058 614A8000
* 897F0002 1D6B00A0
* 7D4A5A14 896A009E
* 80BF0020 2C050006
* 41810020 2C050000
* 40820030 3CA08128
* 60A5AE64 80A50000
* 2C050006 4081001C
* 7D8A58AE 2C0C00CC
* 4082000C 39600003
* 48000008 396B0003
* 7D8A58AE 2C0C00CC
* 40820014 2C0B0000
* 4182000C 39600000
* 4BFFFFE8 3FA0817D
* 38C0007D 3BBD5AC0
* 7CC903A6 88DD0002
* 7C0C3000 41820020
* 88DD0003 7C0C3000
* 41820014 3BBD0010
* 4200FFE4 3FA0817D
* 3BBD5AC0 7D876378
* 899D0000 2C0C0042
* 40A20008 39800025
* 88C100ED 2C0900A5
* 4082002C 7CCA582E
* 54C6801E 54C6463E
* 396B0003 996A009E
* 2C1B0004 40820010
* 892A009C 39290003
* 992A009E 1D8C0032
* 2C07002D 40A20008
* 39802328 7D8C3214
* 38EC0001 2C1B0000
* 4082000C 7C882378
* 7FFCFB78 3D8080C2
* A18C4314 3BA05F65
* 7C0CE800 4182000C
* 6D1E8000 48000008
* 6CFE8000 83BC008C
* 60000000 00000000
* 040E215C 60000000
* 040E2160 60000000
* C203D8B4 00000005
* 2C09000B 40820018
* 3C600006 38631C00
* 3C800002 38847180
* 7C641A14 881B001C
* 60000000 00000000
* 044218EC 00095F00
* 0442190C 00180000
* 04494990 00095F00
* 044949EC 80C23A60
* 044949F0 00180000
This code does the same thing as the previous, except edited to be compatible with PMEX's memory range.

Once you have your codes inserted and your files extracted, you'll then need to use BrawlCrate to convert your files.

-Converting sc_selcharacter.pac-
After opening your sc_selcharacter.pac in BrawlCrate, navigate to MiscData[90], right click on any of the Stock Icon textures and click "Convert to Expanded 50-Stock System". After converting, a PAT0 animation will be leftover. Delete this, as the sc_selcharacter's Stock Icons do not require a PAT0 animation to work. Save afterward.

-Converting info.pac-
After opening your info.pac in BrawlCrate, navigate to MiscData[30], right click on any of the Stock Icon textures and click "Convert to Expanded 50-Stock System". The associated PAT0 animation will automatically update alongside the conversion. Save afterward.

-Converting STGRESULT.pac-
After opening your STGRESULT.pac in BrawlCrate, navigate to MiscData[120], right click on any of the Stock Icon textures, and click "Convert to Expanded 50-Stock System". After converting, a PAT0 animation will be leftover. Open this PAT0 animation, rename its texture reference from "lambert87" to "stock_lambert87", export it, navigate to MiscData[110], and replace the PAT0 animation of the same name with the PAT0 you exported. You can then delete the leftover PAT0 in MiscData[120]. Save afterward.

-Converting StockFaceTex.brres-
After opening your StockFaceTex.brres in BrawlCrate, open the Textures folder, right click on any of the Stock Icon textures, and click "Convert to Expanded 50-Stock System". After converting, a PAT0 animation will be leftover. You can delete this PAT0 animation and save afterward.

-Converting InfFace files-
When converting any stock icons, you'll be met with a window asking if you want to convert your InfFace files. If this is your first time, click Yes, navigate to the folder you extracted your files to, select it, and click OK. After you've done this once, you can click No whenever the window pops up.

Update (01/11/2021): When I say to update the InfFace files, this means all of them, Single-Player content included. This post update includes a shared zip file to update the BPs for Sandbag, Master Hand, Crazy Hand, and the Alloys. https://cdn.discordapp.com/attachments/301887313708056588/798404965876891658/Single_Player_50CC.zip

Once you're done converting all your files, you can now insert them back into your SD Card (or Virtual SD Card if emulating) and enjoy the benefits of expanding your costume count.
4  Super Smash Bros. Brawl Hacking / Attacks and Animations / MOVED: Hitbox display Gecko OS code? on: May 08, 2018, 03:06:37 PM
This topic has been moved to Programming Help.

http://forums.kc-mm.com/index.php?topic=79227.0
5  Super Smash Bros. Brawl Hacking / Attacks and Animations / MOVED: [SSBB] Shadow the Hedgehog Import on: May 08, 2018, 03:06:05 PM
This topic has been moved to Model Help.

http://forums.kc-mm.com/index.php?topic=79460.0
6  Super Smash Bros. Brawl Hacking / Attacks and Animations / MOVED: Sparkling Effects on Hair? on: May 08, 2018, 03:05:26 PM
This topic has been moved to A/A Help.

http://forums.kc-mm.com/index.php?topic=79503.0
7  Super Smash Bros. Brawl Hacking / Attacks and Animations / MOVED: Speeding up attacks and movements in Brawlbox? on: April 25, 2018, 08:34:55 PM
This topic has been moved to A/A Help.

http://forums.kc-mm.com/index.php?topic=79485.0
8  Help & Tutorials / A/A Tutorials / [Novice] Character-Specific PSA Coding on: April 02, 2018, 11:53:07 AM
This guide is an updated revision to Leon Exodio's video tutorial.

This isn't much of a tutorial, but rather an explanation of how the process works, alongside its limitations.

The requirement is listed as "Turning With Item" in PSA and BrawlBox, but with PSA Compressor, it's unlabeled as Requirement 2724.

Here's a general template on how to have Character-Specific PSA coding.
Quote
If 2724: *Fighter's Slot ID (Value)*
    *Alternate Coding*
Else
    *Regular Coding*
EndIf
What this bit of coding will do is check to see which Fighter is in the match with your Fighter based on their Slot ID. You can use the image below as a reference of which Slot IDs each Fighter uses.
Note: If using Project M (or any build based off it), replace Petey Piranha with Roy and Rayquaza with Mewtwo.

The requirement also works with Expansion Slot IDs (BrawlEx/PMEx required).

To make explanation easier, I'm going to provide my own example coding, alongside a demonstration of its implications.
Quote
If 2724: 50
    Basic Variable Set: RA-Basic[10] = 8
Else If 2724: 4
    Basic Variable Set: RA-Basic[10] = 6
Else If 2724: 15
    Basic Variable Set: RA-Basic[10] = 4
Else
    Basic Variable Set: RA-Basic[10] = 2
EndIf
Here's the mentioned demonstration:

What this bit of coding does is check to see if Classic Ridley (0x50), Zero Suit Samus (0x4), or Falco (0x15) are in the same match as Fox before setting RA-Basic[10] to a custom value, which is then later applied to a hitbox (with its Damage Paramerter set to use RA-Basic[10]).

The coding works just how you'd expect it to with 1 v 1 matches, as I show each Fighter option one at a time (Mario is a stand-in for Fighters not specified in the coding block.

But the requirement shows its limitations once you enter a free-for-all. Like with the general demonstration, I'll also provide one for this next section as well.

As showcased by this demonstration, when I enter Classic Ridley and Falco in the same match, you'll notice the Classic Ridley-specific coding will apply to everyone. Because since the check for Classic Ridley's ID comes first in the coding stack, it'll apply the Classic Ridley-specific coding to everyone else in the match.

I then demonstrate a second scenario in which if I were to replace Ridley with Zero Suit Samus for the next match (while still keeping Falco), the Zero Suit Samus-specific coding will apply to everyone in the match, as her ID check comes after Classic Ridley's check.

After that, I conclude with replacing Zero Suit Samus with Mario. Hopefully, I don't need to explain what happens next.
9  Super Smash Bros. Brawl Hacking / Attacks and Animations / MOVED: [SOLVED] The game sometimes freezes when Kirby is used with BrawlEx. on: March 30, 2018, 03:00:52 PM
This topic has been moved to A/A Help.

http://forums.kc-mm.com/index.php?topic=79373.0
10  Help & Tutorials / A/A Tutorials / [Novice] Adding Sub Actions (Revised) on: March 21, 2018, 05:40:30 PM
While pikazz's tutorial is still relevant and works, it's been made outdated thanks to PSA Remaker. This tutorial will show you the new way to add Sub Actions to a character.

Requirements:
-PSA Remaker
-A hex editor. I personally recommend HxD.
-Your Fit*.pac file.
-Your ft_*.rel file.

If you have what you need, then let's move onto the tutorial itself. This tutorial will be split into two parts: PSA Remaker Usage and Hex Editing.

1.) PSA Remaker Usage.
Open PSA Remaker, and you'll be greeted with this window.

Drag and drop your moveset file into the window as instructed.

Next, toggle on Maximum Compress. You'll now be able to increase your number of Sub Actions. Remember the current Sub Action Count, as it will be important later.
Disclaimer: While you can add Actions, I would not recommend it, as this method does not cover Actions nor has testing resulted in positive results.

Here, you'll increase the Sub Action count by however many you need (just know that these values are Hexadecimal). With my example file, I'll add 4 Sub Actions.

Once you're done with that, click "Start". The window will then update to this. You can now close PSA Remaker and locate your altered file in the "Exported" folder.

2.) HxD Usage.
Open your module in your hex editor.

Press Ctrl + R, and the following window will appear.

Alter it to the following settings.

Next, you'll enter the following into the "Search for" bar.
XXXX = Old Sub Action Count.
38A0XXXX
In my example's case, I'll be entering 38A001DE

You'll then enter the following into the "Replace with" bar.
XXXX = New Sub Action Count.
38A0XXXX
In my example's case, I'll be entering 38A001E2

Once you have both fields filled out, click on "Replace All" before the following window appears.

Click "OK", save, exit your hex editor, and make any desired PSA edits to use your new Sub Actions.

I hope this will help those who were wondering what PSA Remaker is used for.
11  Help & Tutorials / A/A Tutorials / [Intermediate] How to Nullify an Action's Hard-Coding on: March 21, 2018, 09:20:12 AM
This tutorial wouldn't have been possible without being guided by ds22.

You know how sometimes when you're making a custom Special over a character, you just run into something truly bizarre, despite knowing you've done everything right with your PSA coding (assuming there's no other issues with your coding and/or file)? Then it might turn the Actions you're using have hard-coding that's messing with things. If that's the case, then there's one of two options you can do.
1.) Use a different Action.
2.) Nullify the associated hard-coding.

This tutorial will show you what you need to do to achieve the second method.

Requirements:
-BrawlBox v0.71 (later versions will corrupt your module, while earlier versions don't support module editing). Alternatively, you can use Module Editor, but this tutorial won't be covering that.
-Your character's module file (ft_*.rel)

Disclaimer: While you can null out the hard-coding of all your character's Special Actions, I would only recommend nulling out hard-coding you know you won't be using, since if you use unedited Specials with nulled hard-coding, they obviously won't work anymore.

Now that we have what we need, let's get started. This tutorial only has one part, which is for BrawlBox usage.

For this tutorial, I'll be using Lucario as a guide.

1.) BrawlBox Usage
Start things off by opening your character's module in BrawlBox.

Next, you'll open Section[5] by right-clicking on the entry, and selecting "Open in Memory Viewer", you'll then be greeted by this window.

Now scroll down until you see ft*StatusUniqProcess* text labels. If you're familiar with animation naming conventions, then these labels should pop out to you on what does what.

In this example case, I've highlighted ftLucarioStatusUniqProcessSpecialHiBound, which is executed when Lucario hits something during Extreme Speed. For the sake of this tutorial, this is what I'll be nulling.

What you need to do now is select any of the green byte strings, and look at the Relocation Command section on the bottom right of the window to see see if it targets Section[1]. If it does, then open up Section[1] in the Memory Viewer, and go to the listed Target Offset.

What we're looking for here is a blr function, which this Target Offset conveniently has. If your selected Target Offset doesn't use a blr function, then go back to the ft*StatusUniqProcess* part of Section[5], select a different byte string, and go to that Target Offset in Section[1] instead. Repeat this step until you run into a blr function in Section[1].

Now that you have your desired Target Offset, go back to the ft*StatusUniqProcess* of Section[5], and change all associated sections of your specific process which reference Section[1] with your Target Offset. Do not alter anything which references any other Section. Repeat this process (use the same Target Offset) with any other process you want to null. Once you're done, you can save, test, and PSA edit to your liking.

That concludes my tutorial, I hope this is able to help those experiencing the same issues I've had with this.
12  Help & Tutorials / A/A Tutorials / [Novice] Altering Hard-Coded Bone IDs, GFX, and SFX on: March 21, 2018, 08:22:30 AM
This tutorial wouldn't have been possible without being guided by Codes/TheGag96.

Have you ever ran into a situation when despite your efforts to completely change a character's Bone IDs, GFX, or SFX, but still end up with a leftover that you just can't seem to find? Chances are that Bone ID, GFX, or SFX call is hidden away somewhere in the respective character's module. This tutorial will show you what you need to do in order to locate and change these calls.

Requirements:
-CodeWrite .
-A hex editor. I personally recommend HxD.
-Your character's module file (ft_*.rel).

Now that we have what we need, let's get started. This tutorial will be split into two parts: CodeWrite Usage, and HxD Usage.

For this tutorial, I'll be altering the Bone ID, GFX, and SFX Pit calls when reflecting something with his Mirror Shield, since that's what I originally used this process for.

1.) CodeWrite Usage
Start by opening CodeWrite. You will be greeted with this window.

Here, you'll insert the following into the ASM section depending on whether you're looking for a Bone ID, GFX, or SFX. Once you've entered what you're going to be looking for, click the arrow near the bottom of the window.

Bone ID
X = Register (usually 4, but can sometimes be between 4 through 9)
Y = Bone ID (Hexadecimal)
li rX, 0xY

GFX
X = Register (usually 4, but can sometimes be between 4 through 9)
Y = Effect.pac ID (Hexadecimal)
Z = GFX ID (Hexadecimal)
lis rX, 0xYYYY
ori rX, rX, 0xZZZZ

SFX:
X: Register (usually 4, but can sometimes be between 4 through 9)
Y: SFX ID (Hexadecimal)
li rX, 0xY

So in my example cases, I'll be entering the following ASM. Notice the highlighted parts. This will be important later on.

Bone ID:
li r4, 0x2C

GFX:
lis r4, 0x0018
ori r4, r4, 0x0010

SFX:
li r4, 0x2C8

2.) HxD Usage
Now that you have the ASM you're wanting to look for, open your character's module in your hex editor, and one-by-one, search for your highlighted sections (only use my examples if you're making something over Pit). In HxD, press Ctrl + F, and the following window will appear.
Just change the "Datatype" from "Text-string" to "Hex-values", enter your highlighted section, and click "OK". If it says it can't find your value, go back to CodeWrite, change the Register, and search again. Repeat this process until the program finds something. If you've already found a previous value, I'd recommend going back to the top of the file and searching again (or change the "Search direction" from "Forward" to "Backward").

Bone ID (in my case, I had to change the Register from 4 to 5)

GFX ID [in my case, I didn't need to change the Register, the second part is highlighted because this contains both the Effect.pac and GFX IDs, but I only searched for the Effect.pac ID (the first selection is the Effect.pac ID, while the second selection is the GFX ID)]

SFX ID (in my case, I didn't need to change the Register)

Now that you have what you're looking for, just change the IDs to what you need (only edit the last 4 bytes of the highlighted entries), save, and test.

Bonus.) Troubleshooting
If you can't find what you're looking for with this method, despite entering all possible Register values, then your issue can be narrowed down into 3 different options.
1.) You just simply typo'd when searching and/or fixing something in either the module or moveset file. In that case, just go back, double-check, and fix your mistake.
2.) It turns out you missed something when editing your moveset file. Double check to make sure you're sure you're not missing anything.
3.) Your Bone ID, GFX ID, and/or SFX ID is located in the sora_melee.rel. This is the most difficult of all options, since it requires the use of making a gct code in order to alter your given ID (since it's not recommended to directly alter the sora_melee unless you know what you're doing). This is something I wouldn't know how to do. So unless you know someone who knows their way around the sora_melee, I'm afraid you're out of luck.

That concludes my tutorial, I hope this is able to help those experiencing the same issues I've had with this.
13  Help & Tutorials / General Tutorials / [Intermediate] How to Add Ex Fighters to All-Star Mode on: September 17, 2017, 07:59:17 AM
Hey there, here's yet again another tutorial from me, but this time, it's not something PSA-related. Rather, this tutorial will teach you how to add Ex Fighters to All-Star Mode.

Requirements:
-common2.pac. For BrawlEx/PMEx users, there's already a common2.pac file included, which is located under pf > system
-info_corps.pac. If you don't already have a modded file in your build, then you can rip it from the game itself. This file goes under pf > info2
-STGHEAL.pac. Like with info_corps.pac, if you don't already have a modded file in your build, then you can rip it from the game itself. This file goes under pf > stage > melee
-BrawlBox v0.78.
-Hex Editor. Optional, but it'll be used as a workaround in a certain section of the tutorial.

This tutorial will be split into 3 parts: Common2.pac, Info_corps.pac, and STGHEAL.pac. This tutorial will also assume you've already have your Ex Fighter set up and working with cosmetics.

Part 1: Common2.pac.
Start by opening your common2.pac file in BrawlBox, navigate to MiscData[7], and open it. Here, you'll see each stage of All-Star mode. To tell exactly which All-Star stage you're modifying, just select them. Each stage can have up to 5 stages, which are all randomized when going into the fight. For this tutorial, I'll be adding a Fighter to the Metroid stage, so in this case, it would be allstarStage7Tbl.
To actually add our Fighter to this stage, open the stage in question, and you'll see 5 sub entries. These are what contain the Fighters to be loaded in their specific All-Star stages. Here, you'll rename any of the 0x3E entries to the ID your Fighter uses. Like stages, you can have up to 5 Fighters in one entry. For this tutorial, I'll be adding Fighter 0x50 to allstarStage7Tbl.
Once your Fighter is inserted, open its entry to see its Difficulty-specific settings. Since the slot you inserted your Fighter over was never intended to have a Fighter there, you'll need to congifure all 5 of the Difficulty entries. To make things easier, just use the Difficulty settings of an existing Fighter.
Repeat these steps until you're satisfied. Save when you're done.

Part 2: Info_corps.pac.
Before you do anything, add these two codes to your GCT, or else your Stock Icon won't load.
Quote
Clone Engine Corps Stock Fix [ds22]
04952F14 2C04003A

BrawlEX Corps Fix V1[ds22]
04952F38 7C802378
All you need to do here is open your info_corps.pac, go to MiscData[110], and import your Fighter's InfStc.XXX1 texture. Make sure it's in CI4 format.

After you're done, save.

Part 3: STGHEAL.pac
Open your STGHEAL.pac, open the ARC entry with the label "2", go to TextureData[0], and import your Fighter's Battle Portrite Texture. Renaming the texture to match the naming conventions of the other textures is optional.

Next, open up ModelData[1], and go to the Objects section. Here, you'll be duplicating the icons of your choice. You also may have to delete existing icons to re-insert them as duplicate meshes to make everything fit. This step may take the longest, as you'll need to go through to see which icons you can duplicate for the best formatting. Once you're done with that, you just need to re-apply their materials and Visibility Bones (this is important, as it's based on the stage you'll be going into).

After you're done with the model editing part, save, close, and re-open your file. You need to do this in order to properly re-rig the duplicated models to the Visibility Bone they should be assigned to [info_stgXX (you can use BrawlBox's Weight Editor for this)]. While I'm not sure it's required, I'd do it anyway to make it look authentic.

Next you'll make a new material entry for ModelData[1]'s CLR0 animation, name it the material your added icons use, select the ColorRegister0 entry, and set its Constant Flag to False. The last few steps are a bit difficult to follow in image form, so I've recorded and uploaded three gfycat videos to help better guide people.

These next few steps are only required, due to BrawlBox not cooperating when it comes to replacing CLR0 Material entries (this entire section may be removed if it gets fixed in a later BrawlBox update). After you've added your CLR0 material entry, select the added Material Entry, and change its Mask to :0 R:255 G:255 B:255. After that, select all the keyframes (Right click + Select all), right click + Edit, then change both the starting and end points to one solid color. This will be important later on. After that, export the ColorRegister0 entry, alongside the ColorRegister0 entry of an existing Material entry (non-added) and the CLR0 animation.
https://gfycat.com/SardonicShockingJay

Here, you'll now open all three files in a Hex Editor, go to the added ColorRegister0, select everything past the first 0xC bytes, copy these values, go to the CLR0 animation, search for these copied bytes (Ctrl + F), then go to the existing ColorRegister0, copy all its values past the first 0xC bytes, go back to the CLR0 animation, replace the highlighted bytes with the ones you just copied (Ctrl + B in HxD), and save.
https://gfycat.com/GranularHighAmericanwarmblood

To finish things off, go back to BrawlBox, and replace the CLR0 animation with the one you hex edited.
https://gfycat.com/CourteousJampackedAsiaticgreaterfreshwaterclam
If you've followed everything correctly, you should get a result similar to this one.
14  Help & Tutorials / A/A Tutorials / [Intermediate] Effect.pac Expansion Usage Tutorial on: September 16, 2017, 02:18:24 PM
So with ony of many recent discoveries made by JOJI, we can now give Ex Fighters their own GFX IDs without needing to replace or share any.

Requirements:
-Your FitFighter.pac. Having your GFX already set up is optional. If you want to know how to add GFX entries to your Effect.pac before beginning this tutorial, then visit my other tutorial on the matter.
-BrawlBox v0.71 or higher.
-Either Project Smash Attacks (PSA), PSA Compressor, or BrawlBox v0.68b.
Note about BrawlBox v0.68b: See this thread for details on which Fighters are safe to edit if you plan on using BrawlBox v0.68b.
-JOJI's Effect.pac Expansion code. You'll have to navigate their website to find it, as they wish not to have their content distributed without their permission.
-Not really required, but this Google Spreadsheet contains a more accessible way to view all the IDs used with this whole expansion.

There's really no need to break this tutorial down into parts, as for the most part, this process is simple, yet tedious.

For the first bit, open your FitFighter.pac in BrawlBox v0.71 (or later), and you'll see an ARC entry named "ef_***" (Example: ef_mario). Rename this to ef_customXX (Example: ef_custom00). The lowest is ef_custom00, while the highest is ef_customFF.

If you want to use Sword Traces as well, you'd just import your trace texture, and name it TexCustomXXTrace0Y [XX=ef_custom entry, Y=Trace entry (Example: TexCustom00Trace00)]. Each of these newly added Graphic Banks can have up to 10 Traces, but no more (00 to 09).

You can now save and close BrawlBox, and open your FitFighter.pac in your moveset editing program of your choice. What you'll need to do here is figure out which Effect.pac ID your new Graphic Bank uses, and replace the Effect.pac ID of every single Graphic Effect command (you may also have to look through Articles and Sub Routines) that doesn't reference ef_common.pac [0000XXXX (XXXX=Graphic ID. Don't change this, as this is the GFX ID, not the Effect.pac ID)].

Example: If your original file used ef_mario and you're now using ef_custom00, then you would change 0001XXXX to 0137XXXX

Before (PSA/PSA Compressor):
After (PSA/PSA Compressor):

Before (BrawlBox v0.68b):
After: (BrawlBox v0.68b ):

Note: The reason why you're seeing different IDs between these two programs is because PSA and PSA Compressor use Hex for non Scalar values, while BrawlBox v0.68b uses Decimal for all values (Example: 0x137 = 311).

For sword traces, you'd do the same exact thing, except traces have their own IDs and only have one whole value to change.

Before (PSA/PSA Compressor):
After (PSA/PSA Compressor):

Before (BrawlBox v0.68b):
After: (BrawlBox v0.68b ):

After you're done editing, and you're missing some GFX when testing, then it's likely you missed something. Search through your Fighter's Sub Routines and/or Articles to make sure you've gotten everything.
15  Help & Tutorials / Programming Tutorials / [Intermediate] Custom My Music + Custom My Music Title Usage 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 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.
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 6829
XXXX
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 6829
0000
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
Pages:  [1] 2 3 4 ... 7