Kitty Corp Meow Mix Forums

Super Smash Bros. Brawl Hacking => Programming => Topic started by: pikazz on February 25, 2014, 10:34:31 AM



Title: Let the Swap Begin! (under constructions!)
Post by: pikazz on February 25, 2014, 10:34:31 AM
note: the project is not done and will include much more modules until I found a fix for a bug!
Also note that Wii's Module Memory isnt big so we cant transform any character at the moment


https://www.youtube.com/watch?v=Z77UL_4Gyco (http://www.youtube.com/watch?v=Z77UL_4Gyco#ws)

Hi and welcome to the project Let the Swap Begin!
some info before I continue on the real deal!
This "Modules" are pure edited of the PW's Modules of the Clone Engine "BrawlEx", meaning that you need BrawlEx for it to work (both over an existing and over "extra clone" slot).
If you dont know what it is or dont have it, I suggest to go to there first!
http://forums.kc-mm.com/index.php?topic=65113.0 (http://forums.kc-mm.com/index.php?topic=65113.0)

How to Set it up
first you need to set up both character to a slot together with character 1 and character 2 with the BrawlEx Engine!
I assume you already know how to set up a BrawlEx slot, otherwise head here first: http://forums.kc-mm.com/index.php?topic=65113.0 (http://forums.kc-mm.com/index.php?topic=65113.0)

PSA content
so, lets start with the PSA editing! first you need 2 PSAs, one each for the characters.
the only thing we need to edit is the enable the Transforming and its pretty simple!
take a Action/SubAction you want and give it the command "Terminate Instance" anywhere in there.
this command does that every time you use that Action/Subaction and on that frame, the character will start transform to the other character!

Module Editing
I have already done the heavy work for you in the Module Editing so all the left you have to do is just Customize it!
how to Customize it is to open the Module in PW's Module Editor 3.3!
you will notice 2 more extra Sections if you have seen the BrawlEx before it!

so lets edit the Action you want the Transformation will use (when they appear after transform)
open up Section 9 in the Memory Viewer and go to offset "0x38"!
(https://cdn.discordapp.com/attachments/278000207906734081/783156400209526825/LtSB_1.PNG)
here is the Action you want to be used when you transforming into this character in the Black Box!
simply editing the last 2 Hex into the Actions Hex number! in this pic, everytime this character appears after the Transformation, the Down B (277 in Dec, 115 in Hex) is used!

if you want to edit the Grapfic that will be under transformation, open up Section A in Memory Viewer!
and scroll down to offset "0x180" and "0x184"
(https://cdn.discordapp.com/attachments/278000207906734081/783156402935693312/LtSB_2.PNG)
the offset 0x180 (red box) is calling what "ef_fighter" ID it will load!
and offset 0X184 (green box) is calling what Grapfic inside the "ef_fighter" will load!
simply change the last hex of both offset to your choice!
in the pic example, it will load ef_ganon and his "Entry" grapfic!

Slot Config File
the only thing in the BrawlEx files that needs to be edited!
first you need to set the 0xC to "1" and give 0x13 this character ID and 0x17 the Next character ID!
(https://cdn.discordapp.com/attachments/278000207906734081/783156405888483358/LtSB_3.PNG)
0xC (Black box) needs to be set to 1
0x13 (green box) is this SlotConfig ID
0x17 (red box) is the next SlotConfig ID
it needs to be on both characters SlotConfig files! meaning 40 -> 3F and 3F -> 40

in this Pic example, this is "SlotConfig40" and his first ID is 40 and his next ID is Fighter 3F!
in "SlotConfig3F", its first ID is 3F and next ID is 40!

The rest of the work should be normally done by the BrawlEx clone itself (all the config files + the edit on the Module ID inside section 8 )

Troubleshooting

the character works ingame but their transforming doesnt work!
make sure it has the "Ternimate Instance" on its PSA on the Action/subaction you want it to be! on both the character!

one character wants the transforming but the second character doesnt
see the above answer

when I select the slot on the CSS, the wii freezes like 1-2 seconds after but the music is still going
that means the modules you used together are too big! meaning they are out!
It will be fixed when we find a way to increase the module memory!

The wii freezes when it tries to load a stage with the transforming character with!
I honestly dont know what causes it, but as soon I know what I will tell you what!

Known Bugs

*Using the same Soundbank on both the characters will make the second character silent the first time on transforming, its fixed however when you transform to it second time!

*the Character Portrait doesnt change/updates with the character transforming unless over a already transforming character! meaning it will use the first Character's portrait through the match!

Download!
note: at the moment, I am trying to put more character on download, as soon I find some bugs on 2 modules!
http://forums.kc-mm.com/Gallery/BrawlView.php?Number=35845 (http://forums.kc-mm.com/Gallery/BrawlView.php?Number=35845) (Marth and Jigglypuff Modules)

Thanks to:
A huge thanks for PhantomWings (and all who helped him) by making BrawlEx possible!
also thanks to him for his notes on the Modules on the transforming part and his Module Editior programs!


Title: Re: Let the Swap Begin! (under constructions!)
Post by: KingJigglypuff on February 25, 2014, 10:37:02 AM
You should have put this in A/A Tutorials, so I could sticky it. :L

But regardless, I have been waiting for this tutorial for a while.


Title: Re: Let the Swap Begin! (under constructions!)
Post by: pikazz on February 25, 2014, 10:40:58 AM
You should have put this in A/A Tutorials, so I could sticky it. :L

But regardless, I have been waiting for this tutorial for a while.
if you wait a little bit longer, I will put a download for Ganondorf, Pit and Metaknight LtSB Modules!


Title: Re: Let the Swap Begin! (under constructions!)
Post by: Hedger01 on February 26, 2014, 05:02:44 PM
Do you know how to do this with more than two characters?


Title: Re: Let the Swap Begin! (under constructions!)
Post by: pikazz on February 26, 2014, 05:09:48 PM
Do you know how to do this with more than two characters?
i tried to do a swap with 3 characters, but only the first 2 transformed with eachother!


Title: Re: Let the Swap Begin! (under constructions!)
Post by: Hedger01 on February 26, 2014, 05:11:53 PM
And can you do it with more than two characters?

Post Merge: February 26, 2014, 05:12:23 PM
Ok thank you.


Title: Re: Let the Swap Begin! (under constructions!)
Post by: pikazz on February 26, 2014, 05:26:04 PM
And can you do it with more than two characters?

Post Merge: February 26, 2014, 05:12:23 PM
Ok thank you.

you mean that you have one character transforming to another and when a next character transforming to another? (like jigglypuff <-> Ganon and Metaknight <-> Marth) when yes it is!

Pikamaxi's Slot! (http://www.youtube.com/watch?v=c-pwOTnyMJg#ws)
ganondorf works, sneak peak into my personal PSA dont ya?


Title: Re: Let the Swap Begin! (under constructions!)
Post by: Hedger01 on February 27, 2014, 10:25:12 AM
you mean that you have one character transforming to another and when a next character transforming to another? (like jigglypuff <-> Ganon and Metaknight <-> Marth) when yes it is!

ganondorf works, sneak peak into my personal PSA dont ya?

Ex:Well I was trying to make it so that Sonic can transform to Super Sonic, not brawl's Super Sonic but a personalized PSA of it, through the Final Smash and then make it so that Super Sonic would transform into Hyper Sonic through the Final Smash and after he was Hyper Sonic, if he used the Final Smash, he would revert back to regular Sonic. Is this what you meant by the transforming.


Title: Re: Let the Swap Begin! (under constructions!)
Post by: pikazz on February 27, 2014, 10:38:15 AM
Ex:Well I was trying to make it so that Sonic can transform to Super Sonic, not brawl's Super Sonic but a personalized PSA of it, through the Final Smash and then make it so that Super Sonic would transform into Hyper Sonic through the Final Smash and after he was Hyper Sonic, if he used the Final Smash, he would revert back to regular Sonic. Is this what you meant by the transforming.
no sadly, it would only do that Super Sonic transform back to Regular Sonic :/ cant get it to work with 3 or more!


Title: Re: Let the Swap Begin! (under constructions!)
Post by: KingJigglypuff on February 27, 2014, 10:43:35 AM
Isn't the main reason for not being able to do more than 2 characters is because of the rel file size?

If so, could there be a way to compress or allocate the data?


Title: Re: Let the Swap Begin! (under constructions!)
Post by: pikazz on February 27, 2014, 11:31:59 AM
Isn't the main reason for not being able to do more than 2 characters is because of the rel file size?

If so, could there be a way to compress or allocate the data?
that might be, but I used 3 Jigglypuff modules (their filesize is acceptable) but only the 2 first worked D:

it might be that it needs more information about it like from Pokemon trainer and his pokemon, but the information of that stuff is compact and not customize friendly :/ (not being able to choose action or Grapfic)

I heard Sammi-husky was going to look into the Module Memory if its is anyway to increase it! meaning we can have bigger files and its still acceptable!


Title: Re: Let the Swap Begin! (under constructions!)
Post by: Mariohuge on February 28, 2014, 10:10:37 PM
Absolutely amazing work, pikazz! To think, at the start of 2014 all these impossible things are suddenly possible! Again, incredible work. Here's hopin for a Mario module soon!


Title: Re: Let the Swap Begin! (under constructions!)
Post by: SonicBrawler on March 01, 2014, 10:38:08 AM
awesome


Title: Re: Let the Swap Begin! (under constructions!)
Post by: pikazz on March 01, 2014, 03:48:46 PM
there is one irritating bug with Metaknight and Pit which I cant seem to fix, when I am trying those 2 together as one character, it freezes as soon you selected it ;_; I am still trying to find what it is!

yet, Metaknight + Metaknight works flawless!

ganondorfs is 100% flawless it seems


Title: Re: Let the Swap Begin! (under constructions!)
Post by: shadowXtreme on March 01, 2014, 11:10:20 PM
can 2 clone characters swap, sharing the same rel?
i mean, Ganondorf-Taboo, but both using 1 single rel (ft_ganon.rel for example)


Title: Re: Let the Swap Begin! (under constructions!)
Post by: ASF1nk on March 02, 2014, 03:45:56 AM
Pikazz are you taking into account the resource memory restrictions?

Each Player (p1,p2,p3,p4) has 2 reserved memory resources (besides KirbyCopy stuff) to load the stuff the characters they chose needs.

FighterResource1 and FighterResource2
FighterResource1 has a limit of 5.33MB
FighterResource2 has a limit of 0.53MB
FighterResource1 takes into account the FitCharMotionEtc.pac and the FitCharXX.pac
FighterResource2 ONLY Takes into Account the FitChar.pac (PSA)

With FighterResource1 you probably won't run into much trouble, because the game only loads the FitCharXX.pac and FitCharMotionEtc.pac at the CSS of ONLY the first selected character. If it has a second character it will load the FitCharXX and FitCharMotion on the fly while transforming in battle. At least that's what happens with Zelda/ Sheik and Samus/Zss.

Now FighterResource2 has a very small allocated memory of .53MB and will give you trouble. Whenever you chose a transforming character at the CSS it will load both their FitChar.pacs; this is the reason why transforming character have a very small file size limit on their FitChar.pacs. What happens when you go pass the limit? Instant freeze after selecting the character.

Puff + Marth:
Puff ~ 0.235MB
Marth ~ 0.268MB
0.235 + 0.268 = 0.503MB

MK + Pit:
MK ~ 0.463MB
Pit ~ 0.397MB
0.463 + 0.397 = 0.86MB

So yeah, the limit on FR2 will stop you from pairing many of the characters together.

Maybe now that online is going down, we can use the 1.40MB memory reserved for network for other stuff. :P





Title: Re: Let the Swap Begin! (under constructions!)
Post by: pikazz on March 02, 2014, 03:57:16 AM
huge post
Pikazz are you taking into account the resource memory restrictions?

Each Player (p1,p2,p3,p4) has 2 reserved memory resources (besides KirbyCopy stuff) to load the stuff the characters they chose needs.

FighterResource1 and FighterResource2
FighterResource1 has a limit of 5.33MB
FighterResource2 has a limit of 0.53MB
FighterResource1 takes into account the FitCharMotionEtc.pac and the FitCharXX.pac
FighterResource2 ONLY Takes into Account the FitChar.pac (PSA)

With FighterResource1 you probably won't run into much trouble, because the game only loads the FitCharXX.pac and FitCharMotionEtc.pac at the CSS of ONLY the first selected character. If it has a second character it will load the FitCharXX and FitCharMotion on the fly while transforming in battle. At least that's what happens with Zelda/ Sheik and Samus/Zss.

Now FighterResource2 has a very small allocated memory of .53MB and will give you trouble. Whenever you chose a transforming character at the CSS it will load both their FitChar.pacs; this is the reason why transforming character have a very small file size limit on their FitChar.pacs. What happens when you go pass the limit? Instant freeze after selecting the character.

Puff + Marth:
Puff ~ 0.235MB
Marth ~ 0.268MB
0.235 + 0.268 = 0.503MB

MK + Pit:
MK ~ 0.463MB
Pit ~ 0.397MB
0.463 + 0.397 = 0.86MB

So yeah, the limit on FR2 will stop you from pairing many of the characters together.

Maybe now that online is going down, we can use the 1.40MB memory reserved for network for other stuff. :P

I never thought of that way, thought it would only be the module memory!
but now I know that FitChar.pac is the biggest problem, the project is now more on ice now D: maybe the whole project is in vain until we can get some more memory!

can 2 clone characters swap, sharing the same rel?
i mean, Ganondorf-Taboo, but both using 1 single rel (ft_ganon.rel for example)
no, each characher needs his own module, so Ganondorf need his and tabuu need his module (example ft_ganon and ft_tabuu)


Title: Re: Let the Swap Begin! (under constructions!)
Post by: ASF1nk on March 02, 2014, 07:19:52 PM
Hello pikazz can you please test this code for me?
Use the MK + Pit combo.

Fighter1Resource2 Expansion [ASF1nk]
04421B54 000EBC00

The code expands the FR2 for Player 1 only, from 0.53MB to 0.92MB

(http://i105.photobucket.com/albums/m202/antjor_s38/FR2Ex.png)

Keep in mind this is just a test code, and if it works we would need to distribute the available free memory between all players.


Title: Re: Let the Swap Begin! (under constructions!)
Post by: Sammi Husky on March 02, 2014, 11:01:30 PM
Hello pikazz can you please test this code for me?
Use the MK + Pit combo.

Fighter1Resource2 Expansion [ASF1nk]
04421B54 00EBC00

The code expands the FR2 for Player 1 only, from 0.53MB to 0.92MB

([url]http://i105.photobucket.com/albums/m202/antjor_s38/FR2Ex.png[/url])

Keep in mind this is just a test code, and if it works we would need to distribute the available free memory between all players.


This is great. I was trying to Write a code for this as well, but i had no idea what memory address dictated the allocated Memory. How did you happen to get that Location? :o


Title: Re: Let the Swap Begin! (under constructions!)
Post by: pikazz on March 03, 2014, 04:01:57 AM
Hello pikazz can you please test this code for me?
Use the MK + Pit combo.

Fighter1Resource2 Expansion [ASF1nk]
04421B54 00EBC00

The code expands the FR2 for Player 1 only, from 0.53MB to 0.92MB

([url]http://i105.photobucket.com/albums/m202/antjor_s38/FR2Ex.png[/url])

Keep in mind this is just a test code, and if it works we would need to distribute the available free memory between all players.

the code works great on normal play (doesnt work on training). can be selected now and continue to SSS
but now it comes that bug I hate, they get a silent freeze after selecting a stage! dont know exactly whats causing this if its lack of Module Memory or something else!


Title: Re: Let the Swap Begin! (under constructions!)
Post by: Mariohuge on March 03, 2014, 04:18:09 AM
Well, it's definitely a module thing, though I'm not sure what...
can this somehow work with plug-and-play rels, if you edited them the same way? Maybe it's brawlex itself that's not letting it load.


Title: Re: Let the Swap Begin! (under constructions!)
Post by: pikazz on March 03, 2014, 04:52:55 AM
Well, it's definitely a module thing, though I'm not sure what...
can this somehow work with plug-and-play rels, if you edited them the same way? Maybe it's brawlex itself that's not letting it load.
nah, it works only with brawlex for now cause we can much easier edit the "slot", its that thing that makes it possible for Terminate Instance to work

might be something I did screw up, I will try to redo both Metaknight and Pits module again


Title: Re: Let the Swap Begin! (under constructions!)
Post by: Dantarion on March 04, 2014, 12:14:36 PM
ASF1nk, you are on the right track! However, theres more!

What is REALLY becoming the problem is the INSTANCE memory section I think.

That is why the game freezes after the stage finishes loading, it can't find enough room in memory to create the second character instance.

This is why when I messed with the IC's loading routine, it worked on DK, Marth, Jiggs, but NOT most other characters....


Title: Re: Let the Swap Begin! (under constructions!)
Post by: pikazz on March 04, 2014, 01:01:04 PM
ASF1nk, you are on the right track! However, theres more!

What is REALLY becoming the problem is the INSTANCE memory section I think.

That is why the game freezes after the stage finishes loading, it can't find enough room in memory to create the second character instance.

This is why when I messed with the IC's loading routine, it worked on DK, Marth, Jiggs, but NOT most other characters....
maybe need to learn more of the Wii's Hardware and limits

but that must explains it! but thats totally sad cause it does sounds hard to find it and increase its memory!
so 3 memories needs to be in mind!
Fighter Memory, Module Memory and Instance Memory!

now the project is more on ice ;-; maybe even closed

but I am still curious, what did you use with the IC loading instance?


Title: Re: Let the Swap Begin! (under constructions!)
Post by: Riddler on March 04, 2014, 01:19:28 PM
The project doesn't need to be totally dead. If it works for Marth, Jiggs, and DK, I'm sure we can find a bunch of pairings that fit. It's better than nothing.


Title: Re: Let the Swap Begin! (under constructions!)
Post by: KingJigglypuff on March 04, 2014, 01:21:33 PM
Could we try allocating the memory of the Wifi related stuff and put the memory into the modules? With the servers going down on May 20th, it would be cool to make the most of all that memory.


Title: Re: Let the Swap Begin! (under constructions!)
Post by: pikazz on March 04, 2014, 01:29:35 PM
The project doesn't need to be totally dead. If it works for Marth, Jiggs, and DK, I'm sure we can find a bunch of pairings that fit. It's better than nothing.
it also works with Ganon, will try Captain once the Final Smash work!

Metaknight is a "so-so" atm, works with itself but will test it with others too

KingEvilPuff: might work, but might be a problem with that instance memory :/


Title: Re: Let the Swap Begin! (under constructions!)
Post by: Sammi Husky on March 05, 2014, 12:14:01 AM
Again, I would work on allocating memory as well to help towards this, but I need to find out how the game dictates its memory management (hence why I asked how ASF got that mem address)


Title: Re: Let the Swap Begin! (under constructions!)
Post by: Tyshy on March 05, 2014, 07:31:38 AM
can this be used without using the clone engine


Title: Re: Let the Swap Begin! (under constructions!)
Post by: KingJigglypuff on March 05, 2014, 07:36:19 AM
can this be used without using the clone engine
No.


Title: Re: Let the Swap Begin! (under constructions!)
Post by: superluigi220 on February 06, 2015, 07:41:13 PM
so can i make a transformation final smash like wario/warioman bowser/gigabowser?


Title: Re: Let the Swap Begin! (under constructions!)
Post by: JPW62490 on May 31, 2016, 10:18:44 PM
so can i make a transformation final smash like wario/warioman bowser/gigabowser?

I'd like to know too. It'd make custom Super Sonics a hella lot easier.


Title: Re: Let the Swap Begin! (under constructions!)
Post by: Bent 00 on December 02, 2020, 03:16:21 AM
Pyro from the Custom Brawl Modding discord provided these backups of the three images in the first post, which have gone down:

(https://cdn.discordapp.com/attachments/278000207906734081/783156400209526825/LtSB_1.PNG)
(https://cdn.discordapp.com/attachments/278000207906734081/783156402935693312/LtSB_2.PNG)
(https://cdn.discordapp.com/attachments/278000207906734081/783156405888483358/LtSB_3.PNG)



Title: Re: Let the Swap Begin! (under constructions!)
Post by: Ricky (Br3) on December 04, 2020, 07:58:37 PM
FTFY :police: