Extra Character Slot

Started by ASF1nk, May 08, 2013, 08:11:24 AM

Previous topic - Next topic

0 Members and 1 Guest are viewing this topic.

May 08, 2013, 08:11:24 AM Last Edit: May 15, 2013, 03:00:47 AM by ASF1nk
Te lo dije?

This tutorial will give you +1 character in you roster.

I know this is more like a tutorial but it seems to fit in this section the most; at least for now...

Aaaaaaaand of course not everything is as good as it seems...
-Still not able to replace the cosmetics for the new character. [CSPs, Names, BPs, Result Portraits, Stock Icons]
-Gfx still mess up when the base character is in-game.
-Probably still doesnt work on Wi-Fi. [Haven't tested]

Regarding two posts, I would like to recommend to keep a backup of your save file.
Use at your own risk.
Like I said, I've been using this for over a year with no negative results.

I also want to point out that, besides putting this puzzle together most of this is not my work.
A lot of credit goes to Dantarion, Spunit262, and PhantomWings for this to be possible.

So let's get started!
---------------------------------------------------------------------------------------------
1. Using the Custom CSS code we will create a cloned CSS slot for a character. In this case Marth.

Custom CSS V3 [spunit262]

0668310C 00000030
387E006C 3B600000
3C808068 38840DE0
7CBB20AE 7CA50775
41800014 94A30004
3B7B0001 2C1B0032
4180FFE8 48000038
04690338 48000068
066900d8 00000008
2c170028 41820168
02680DE0 0022FFFF
06680DE0 000000YY
ZZZZZZZZ ZZZZZZZZ

To create a cloned slot we just add 64 decimal or 0x40 hex to the character ID you desire to clone. [Mario, Zelda, CF, Kirby, ICs, ROB, Pokemon, Bowser, and Wario cannot be used]
In this case we take Marth's character ID 0x11 and add 0x40 and we get 0x51.

0x11 + 0x40 = 0x51

We take the Custom CSS code and add the value of 51 along we the characters that we want in the
CSS.

YY = number of characters in hex.
ZZ = character IDs.

Final Result should be something like the following code.


Extra Slot Custom CSS v2 [spunit262]
0668310C 00000030
387E006C 3B600000
3C808068 38840DE0
7CBB20AE 7CA50775
41800014 94A30004
3B7B0001 2C1B0032
4180FFE8 48000038
04690338 48000068
066900D8 00000008
2C170028 41820168
02680DE0 0022FFFF
06680DE0 00000025
00010203 05060708
090A0B0C 0D0E1011
12131415 16171819
1A1B1F20 21222324
25262729 51000000


For a guide to the CSS code go here.

2. Along the Custom CSS code we will also need these two codes:


Independent Pokemon Engine +no wreck My Music V2 [spunit262]
06407BD0 0000000E
04030F0D 1E1B1F1B
201B211B 221B0000
C2684964 00000007
881400B8 2C00003F
41A00028 2C03001D
40A20008 3860001E
2C03001F 40A20008
38600020 2C030021
40A20008 38600022
987400B8 00000000

CSS fixes for Giga and Company V2 [spunit262]
C2684940 00000002
9BB400B8 57BD06BE
2C1D001B 00000000
040AF8D4 546025B6
040AF964 546025B6
040AF830 546025B6
040AF528 546025B6
040AF810 546025B6
040AF880 546025B6
040AF848 546025B6


3. Next we use the following codes by Dantarion:


Usage Storage Engine (Dont Wreck My Music) [Dantarion]
060AF160 0000000C
3C808120 3800000B
38840B10 00000000

Usage Storage Engine Data
07200B10 00000018
110E120E 04030F0D
1D1B1F1B 211B1E1B
201B221B 32110000

"This code is needed to stop the game from saving usage data into an invalid location.
That is what causes My Music to freeze after using Alloys.
This code only lets you use independent Pokemon and Roy.
I need to v2 it for all the other characters that the other No Wreck My Music Code does."


Roy Instance Slot File [Dantarion]
07200A00 00000020
726F792F 46697452
6F792E70 61632E00
66745F72 6F792E72
656C0000 00000000
04AD813C 81200A10
04AD7EDC 81200A00

"This code has 2 parts.
Part 1 writes "roy/FitRoy.pac" and "ft_roy.rel" to a empty space in memory.
Part 2 writes pointers to those two strings in the instance slot positions for ROY"


MarioD Character Slot->Roy Instance [Dantarion]
06AD8578 00000010
00000027 FFFFFFFF
FFFFFFFF FFFFFFFF
04455568 13321D10
044557D8 10011332

"This code makes it so that the character slot for MarioD loads ROY. It also...does...TODO"

4. We now add the missing piece to the puzzle. The Character/Costume Replacement code.

We will take the cloned Marth and replace him with MarioD.
MarioD will then load the Roy instance slot [27] thanks to the codes in step 3.

Character/Costume Replacement [spunit262]

80000000 90180B48
80000001 90180BF8
60000003 00000000

4A001000 00000000
38000002 00FFWW00 <---ID of Character being replaced In this case Marth
4A001001 00000000
38000004 FF0000 XX <---Costume to replace [FitMarthXX]
10000000 000000 YY <---Character slot ID of New Character
100003C5 000Q00 ZZ <---New Costume <--Also Q
E0000000 80008000

86000000 00000004
86000001 0000005C
62000000 00000000

In this case we replace WW with 0x51 [Cloned Marth] and YY with 0x32 for MarioD Character Slot.
For the Costumes just replace XX and ZZ with the same value for each section. There will be 1 section per costume.
leave Q as zero.

Ex.
Begining of codes

80000000 90180B48
80000001 90180BF8
60000003 00000000

First Section FitChar00
4A001000 00000000
38000002 00FF5100
4A001001 00000000
38000004 FF000000
10000000 00000032
100003C5 00000000
E0000000 80008000

Second Section FitChar01
4A001000 00000000
38000002 00FF5100
4A001001 00000000
38000004 FF000001
10000000 00000032
100003C5 00000001
E0000000 80008000

etc.

We will do this for all the costumes of Marth.
After we are finished with each costume we will add the end of the code.

End of code

86000000 00000004
86000001 0000005C
62000000 00000000

The begining and end of the code need no editing.
You might also need to add sections depending on the character.

The end result will look like this:



Roy Over Cloned Marth
80000000 90180B48
80000001 90180BF8
60000003 00000000
4A001000 00000000
38000002 00FF5100
4A001001 00000000
38000004 FF000000
10000000 00000032
100003C5 00000000
E0000000 80008000
4A001000 00000000
38000002 00FF5100
4A001001 00000000
38000004 FF000001
10000000 00000032
100003C5 00000001
E0000000 80008000
4A001000 00000000
38000002 00FF5100
4A001001 00000000
38000004 FF000002
10000000 00000032
100003C5 00000002
E0000000 80008000
4A001000 00000000
38000002 00FF5100
4A001001 00000000
38000004 FF000003
10000000 00000032
100003C5 00000005
E0000000 80008000
4A001000 00000000
38000002 00FF5100
4A001001 00000000
38000004 FF000004
10000000 00000032
100003C5 00000004
E0000000 80008000
4A001000 00000000
38000002 00FF5100
4A001001 00000000
38000004 FF000005
10000000 00000032
100003C5 00000003
E0000000 80008000
86000000 00000004
86000001 0000005C
62000000 00000000


5. Finally we add the last piece; the module.

Luckily, thanks to the awesome work of PhantomWings we will skip most of the hexing and use his new Plug&Play modules.
We can use any of his modules. Which one to use depends on who your new character is based from.
In this case we will use Marth's Plug&Play module.

We take Marth's P&P module and open it in Module Editor v3.2.
We will skip the Module ID, and go straight to selecting section[8] and then the Memory Viewer.


In the memory viewer we will change the first value [11]


To Roy's Character ID [27]



After that don't forget to save the module.

Character ID will always be 27 for any module, be it Ike's P&P or Lucario's P&P, since we are using Roy's instance slot.

6. Only thing left now is to set up our SD cards.
We will use Roy for the file names, though it can be changed.

a. Inside the pf/fighter folder we need to create a folder named 'roy' Inside there we will need:
  -FitRoy.pac
  -FotRoy00-05.pac [Depending on the character you might need different pac numbers]
  -FitRoyFinal.pac
  -FitRoyMotionEtc.pac
b. Inside the pf/module folder:  
  -ft_roy.rel

At the end your codes should look like this:

Extra Slot Custom CSS v2 [spunit262]
0668310C 00000030
387E006C 3B600000
3C808068 38840DE0
7CBB20AE 7CA50775
41800014 94A30004
3B7B0001 2C1B0032
4180FFE8 48000038
04690338 48000068
066900D8 00000008
2C170028 41820168
02680DE0 0022FFFF
06680DE0 00000025
00010203 05060708
090A0B0C 0D0E1011
12131415 16171819
1A1B1F20 21222324
25262729 51000000

Independent Pokemon Engine +no wreck My Music V2 [spunit262]
06407BD0 0000000E
04030F0D 1E1B1F1B
201B211B 221B0000
C2684964 00000007
881400B8 2C00003F
41A00028 2C03001D
40A20008 3860001E
2C03001F 40A20008
38600020 2C030021
40A20008 38600022
987400B8 00000000

CSS fixes for Giga and Company V2 [spunit262]
C2684940 00000002
9BB400B8 57BD06BE
2C1D001B 00000000
040AF8D4 546025B6
040AF964 546025B6
040AF830 546025B6
040AF528 546025B6
040AF810 546025B6
040AF880 546025B6
040AF848 546025B6

Usage Storage Engine (Dont Wreck My Music) [Dantarion]
060AF160 0000000C
3C808120 3800000B
38840B10 00000000

Usage Storage Engine Data
07200B10 00000018
110E120E 04030F0D
1D1B1F1B 211B1E1B
201B221B 32110000

Roy Instance Slot File [Dantarion]
07200A00 00000020
726F792F 46697452
6F792E70 61630000
66745F72 6F792E72
656C0000 00000000
04AD813C 81200A10
04AD7EDC 81200A00

MarioD Character Slot->Roy Instance [Dantarion]
06AD8578 00000010
00000027 FFFFFFFF
FFFFFFFF FFFFFFFF
04455568 13321D10
044557D8 10011332

Roy has Marth's Soundbank-
4A000000 80AD89E0
1400009C 00000013
E0000000 80008000

Roy Over Cloned Marth
80000000 90180B48
80000001 90180BF8
60000003 00000000
4A001000 00000000
38000002 00FF5100
4A001001 00000000
38000004 FF000000
10000000 00000032
100003C5 00000000
E0000000 80008000
4A001000 00000000
38000002 00FF5100
4A001001 00000000
38000004 FF000001
10000000 00000032
100003C5 00000001
E0000000 80008000
4A001000 00000000
38000002 00FF5100
4A001001 00000000
38000004 FF000002
10000000 00000032
100003C5 00000002
E0000000 80008000
4A001000 00000000
38000002 00FF5100
4A001001 00000000
38000004 FF000003
10000000 00000032
100003C5 00000005
E0000000 80008000
4A001000 00000000
38000002 00FF5100
4A001001 00000000
38000004 FF000004
10000000 00000032
100003C5 00000004
E0000000 80008000
4A001000 00000000
38000002 00FF5100
4A001001 00000000
38000004 FF000005
10000000 00000032
100003C5 00000003
E0000000 80008000
86000000 00000004
86000001 0000005C
62000000 00000000


And that's it!!! Enjoy your full roster +1 character.


-----------------------------------------------------------------------------------------------
Optional:

-You might want your new character to appear in random, in that case use the Custom Random code.  

-The P&P currently only play the character's sound bank after the 1st match, so you might want to use the Sound Bank codes.
Here are a few pre-made:

Roy has Marth's Sound Bank

4A000000 80AD89E0
1400009C 00000013
E0000000 80008000

Roy has Ike's Sound Bank
4A000000 80AD89E0
1400009C 00000020
E0000000 80008000

Roy has Lucario's Sound Bank
4A000000 80AD89E0
1400009C 0000001F
E0000000 80008000

-If you want to change the file names used in the SD card you need to change the "Roy Instance Slot File" code on step 3 for one of these I edited.

Custom Instance Slot File

07200A00 00000028
63757374 6f6d2f46
69744375 73746f6d
2e706163 00000000
66745f63 7573746f
6d2e7265 6c000000
04AD813C 81200A18
04AD7EDC 81200A00
Uses 'fighter/custom', 'FitCustom.pac' and 'ft_custom.rel'

Mewtwo Instance Slot File

07200A00 00000028
6d657774 776f2f46
69744d65 7774776f
2e706163 00000000
66745f6d 65777477
6f2e7265 6c000000
04AD813C 81200A18
04AD7EDC 81200A00
Uses 'fighter/mewtwo', 'FitMewtwo.pac' and 'ft_mewtwo.rel'

Cloud Instance Slot File

07200A00 00000028
636C6F75 642F4669
74436c6F 75642E70
61630000 00000000
66745F63 6C6F7564
2e72656C 00000000
04AD813C 81200A18
04AD7EDC 81200A00
Uses 'fighter/cloud', 'FitCloud.pac' and 'ft_cloud.rel'

-If you want Mario's BPs Instead of Marth's use this code instead.

MarioD Character Slot->Roy Instance [Dantarion]

06AD8578 00000010
00000027 FFFFFFFF
FFFFFFFF FFFFFFFF
04455568 13121D10
044557D8 10011312
--------------------------------------------------------------------------------------------
Now you can use any Marth PSA using this tutorial.
I recommend Thany's Roy!!!

Here is a sample with a GCT and the module.
Inside the 'roy' folder just copy what's inside the 'Costumes and moveset files' folder in Decloned Roy's rar.
Copy the files as is.









Skype: ASF1nk



awesome!!
finnaly it is possible
hope its soon possible to add more xd
I Dont Take Requests & Dont Do Brawl Mods anymore Maybe Sm4sh modz later

this is awesome
too bad how hardcoded everything is in project M

Anyone have video of this working.

Looking at it, wouldn't it be possible to get cosmetics by using codes and pointing them to the empty/additional places in the games memory?

For example, in sc_selcharacter.pac if we could point the CSPs to [MiscData20] or the empty [MiscData41].

Excellent job with this though. I had tried it a while back and hadn't thought to try it again with the new module's. Now, if my theory for the characters sfx pans out...
I'm no longer around. If you really need to get my attention, send a PM

This is pretty cool. o.o

If we can find a way to add all the cosmetic stuff, soundpacks, and one more slot, I'd be excited to have both Roy and Mewtwo back in here. :3


Awesome code! Would this work if you have all extra characters already added(ZSS, Sheik, independent Pokemon, Wario Man, Giga Bowser, separate Popo and Nana, and alloys) or would I have to get rid of one?

May 08, 2013, 06:26:35 PM #7 Last Edit: May 08, 2013, 06:27:57 PM by SiLeNtDo0m
Wouldn't recommend using these codes.  They're borked and will most likely mess up your save file in some way because the codes being used here for the most part are outdated and unstable.

In other words, move along people there's not really much to see here.

Though I'm still super hyped for the CSS

Quote from: joke king on May 08, 2013, 08:31:08 AM
this is awesome
too bad how hardcoded everything is in project M

If it was hardcoded we wouldn't have been able to edit it in the first place.  The coders have merely coded it in such a way so that it's difficult for most people to edit.

Quote from: SiLeNtDo0m on May 08, 2013, 06:26:35 PM
Wouldn't recommend using these codes.  They're borked and will most likely mess up your save file in some way because the codes being used here for the most part are outdated and unstable.

In other words, move along people there's not really much to see here.

Though I'm still super hyped for the CSS

If it was hardcoded we wouldn't have been able to edit it in the first place.  The coders have merely coded it in such a way so that it's difficult for most people to edit.
its better then nothing still so finnaly can ppl use the red haired melee Marth with Fire hit effects/GFXs without replace anyone else
I Dont Take Requests & Dont Do Brawl Mods anymore Maybe Sm4sh modz later

Been using it over a year no problems. =)

But I guess it couldn't hurt to back up your save.

Oh yeah and use at your own risk, I guess.
Skype: ASF1nk



May 08, 2013, 06:48:06 PM #10 Last Edit: May 08, 2013, 06:49:07 PM by ds22
Quote from: Mariodk on May 08, 2013, 06:40:24 PM
its better then nothing still so finnaly can ppl use the red haired melee Marth with Fire hit effects/GFXs without replace anyone else
Well, unless you don't mind having a bugged save, a reasonable change of borked tags and occasional crashes (especially on the title screen), along with the more random things like DDD freezing the game when hit and sudden increases in character momentum that is.
So yeah, like SDo0m said, there isn't much to see here and unless you REALLY want to, you're better off not using these codes and just port characters like Roy and Mewtwo over already existing characters.

I'm sure people will be amazed at this no matter if the savegame gets corrupted.

So, well, at least backup your save with savegame manager or something if you care about it  :-\

ASF1nk, if you've been able to use this for a whole year, how it comes you're sharing it now?  :-X
SW FC: SW-5958-4724-5095
Wii FC: 1247-2259-6207
Twitch: http://twitch.tv/mewtwo2000
Visit my stage thread here


Stage light and fog tutorial
Stage shadows tutorial

May 08, 2013, 07:53:59 PM #12 Last Edit: May 08, 2013, 07:55:05 PM by ASF1nk
ummm

http://www.youtube.com/watch?v=dRWd73ZzYzE#

Quote from: Mewtwo2000 on May 08, 2013, 07:44:03 PM
I'm sure people will be amazed at this no matter if the savegame gets corrupted.

So, well, at least backup your save with savegame manager or something if you care about it  :-\

ASF1nk, if you've been able to use this for a whole year, how it comes you're sharing it now?  :-X

I know... sorry for keeping this. :(

I would have thought someone would have figured it out by now.
Skype: ASF1nk



An extra Marth slot would be nice. Thanks for this.

On another note, your SSS looks really great.

Quote from: SiLeNtDo0m on May 08, 2013, 06:26:35 PM


If it was hardcoded we wouldn&#039;t have been able to edit it in the first place.&nbsp; The coders have merely coded it in such a way so that it&#039;s difficult for most people to edit.

of course im not talking about hardcoded so the developers cant edit it, i mean a regular user cant modify anything, i cant even get mewtwo in it replacing one of the unfinished characters