PyotrLuzhin
Smash Journeyman
EDIT 12/20/15: IF YOU'RE HAVING PROBLEMS PORTING OVER A CERTAIN GOLDEN SUN CHARACTER: READ THIS:
STEP 1: Download HxD
STEP 2: Open RSBE01.gct in the "codes" folder on your SD Card or sd.raw file
STEP 3: CTRL+F for the following code (MAKE SURE that your search type is "hex"):
80000000 80B0B9B0
80000001 80B0BBA8
8A003801 00000000
STEP 4: Delete the highlighted hexadecimal code
I've been sitting on these for a while, so with all of the awesome PSAs being released/worked on right now for P:M, I've decided to make a formal thread for these files. Credit goes to PhantomWings for creating the bases for these modules; I made the additions/modifications, but he serves as the giant shoulders upon which I stand.
Port-Specific Fixes:
Isaac compatible .GCT: http://www22.zippyshare.com/v/qt8x9O1X/file.html
G+W Costume Fix:
I will add more as I create them
PM P+P .RELS (FOR PM'S CLONE ENGINE OR BRAWLEX NON-CLONE PORTS)
PIT
RIDLEY (CONTAINS PREMADE PORTS)
MARIO (OVER OLIMAR BY DEFAULT)
SNAKE
PIKACHU
MARTH
LINK
SONIC (NEEDS A SONIC RESULT.PAC [rename to fit your characters])
LUCARIO
IKE
PEACH
OOT GANONDORF (BGG's mod)
COMING SOON:
GANONDORF
LUIGI
FOX
CAPTAIN FALCON
ROB
PM EXModules:
COMING SOON
OTHER PROJECTS RIGHT NOW:
BOMBERMAN FOR PM (USES LUIGI AS A BASE)
SOUNDBANK CODES:
04AD8XXX YYYYYYYY
Replace XXX with (9E0+Char ID*4)
Replace YYYYYYYY with a soundbank ID
CHAR IDs
SOUNDBANK IDs (Under Construction)
FAQ:
What is a Plug+Play .REL?
A .REL, or a relocatable module file, is one of the key file types in Wii programming. They enable the Wii to dynamically load and unload programs with ease.
What does this mean in the context of Brawl/P:M? Essentially, they act as blueprints that the game uses to build characters at the beginning of a given match. Every character has a module, except for characters who exist in one module (Shiek, ZSS, Giga and Warioman) or inhabit a single collective module (PokeTrainer Pokemon and the Alloys). In order for a character (FitMario.pac) to operate properly, the correct module with the correct functions for this given character (ft_mario.rel) must exist in the filesystem.
These P+P .RELs have been specially modified to contain the adjustments necessary to function during gameplay in P:M.
How do I use this file?
Let's say you have a PSA that you'd like to place over another character (i.e. Goku). Goku has Pit as a base, so you'd need to download the P+P .REL earlier in the OP for Pit and place the file in your pf/module directory on your SD Card, being sure to rename the module to fit the character being replaced (i.e. ft_mario if you want to replace Mario).
Download the module editor HERE, and open the newly-renamed P+P module. Navigate to Section[8] of the module, and replace the first 8 bytes with the character id that matches the name of your module. If you download the Marth module, for example, the first 8 bytes of Section[8] will read 00000011. To replace Mario, you'd copy and paste his char id over the Marth ID.
CHAR IDs (Replace the first 8 bytes of Section[8] of the module)
Does this work for BrawlEX?
No, and it never will.
Is this Glitch-Free?
That's for you to tell me lol. In my time using these modules, I haven't encountered any issues. However, you will NOT have a good time if you try to replace Pokemon Trainer. For now, avoid replacing any transforming characters, and report any freezes with SPECIFIC INSTRUCTIONS on how to replicate this issue. Otherwise, I can't debug and fix the problem.
Can you please make (insert character here)?
Maybe. There's a second method that I use to make patched modules with which I'm much more comfortable, and I'd be more inclined to use that method for characters that PW hasn't done already. If you don't know how to edit a .gct codeset (the file that makes P:M P:M), don't expect it to be easy. I've done this for Captain Falcon and Fox, and I could do it for anyone in the cast.
STEP 1: Download HxD
STEP 2: Open RSBE01.gct in the "codes" folder on your SD Card or sd.raw file
STEP 3: CTRL+F for the following code (MAKE SURE that your search type is "hex"):
80000000 80B0B9B0
80000001 80B0BBA8
8A003801 00000000
STEP 4: Delete the highlighted hexadecimal code
I've been sitting on these for a while, so with all of the awesome PSAs being released/worked on right now for P:M, I've decided to make a formal thread for these files. Credit goes to PhantomWings for creating the bases for these modules; I made the additions/modifications, but he serves as the giant shoulders upon which I stand.
Port-Specific Fixes:
Isaac compatible .GCT: http://www22.zippyshare.com/v/qt8x9O1X/file.html
G+W Costume Fix:
I will add more as I create them
PM P+P .RELS (FOR PM'S CLONE ENGINE OR BRAWLEX NON-CLONE PORTS)
PIT
RIDLEY (CONTAINS PREMADE PORTS)
MARIO (OVER OLIMAR BY DEFAULT)
SNAKE
PIKACHU
MARTH
LINK
SONIC (NEEDS A SONIC RESULT.PAC [rename to fit your characters])
LUCARIO
IKE
PEACH
OOT GANONDORF (BGG's mod)
COMING SOON:
PM EXModules:
COMING SOON
OTHER PROJECTS RIGHT NOW:
BOMBERMAN FOR PM (USES LUIGI AS A BASE)
SOUNDBANK CODES:
04AD8XXX YYYYYYYY
Replace XXX with (9E0+Char ID*4)
Replace YYYYYYYY with a soundbank ID
CHAR IDs
MARIO: 00000000
DONKEY: 00000001
LINK: 00000002
SAMUS: 00000003
YOSHI: 00000004
KIRBY: 00000005
FOX: 00000006
PIKACHU: 00000007
LUIGI: 00000008
CAPTAIN: 00000009
NESS: 0000000A
KOOPA: 0000000B
PEACH: 0000000C
ZELDA: 0000000D
SHEIK: 0000000E
POPO: 0000000F
NANA: 000000010 (SOPO/UNUSED)
MARTH: 00000011
GAMEWATCH: 00000012
FALCO: 00000013
GANON: 00000014
WARIO: 00000015
METAKNIGHT: 00000016
PIT: 00000017
SZEROSUIT: 00000018
PIKMIN: 00000019
LUCAS: 0000001A
DIDDY: 0000001B
POKETRAINER: 0000001C
POKELIZARDON: 0000001D
POKEZENIGAME: 0000001E
POKEFUSHIGISOU: 0000001F
DEDEDE: 00000020
LUCARIO: 00000021
IKE: 00000022
ROBOT: 00000023
LYN: 00000024
PURIN: 00000025
MEWTWO: 00000026
ROY: 00000027
SAMI: 00000028
TOONLINK: 00000029
TOONZELDA: 0000002A (UNUSED)
ISAAC: 0000002B
WOLF: 0000002C
KNUCKLES: 0000002D
SNAKE: 0000002E
SONIC: 0000002F
DONKEY: 00000001
LINK: 00000002
SAMUS: 00000003
YOSHI: 00000004
KIRBY: 00000005
FOX: 00000006
PIKACHU: 00000007
LUIGI: 00000008
CAPTAIN: 00000009
NESS: 0000000A
KOOPA: 0000000B
PEACH: 0000000C
ZELDA: 0000000D
SHEIK: 0000000E
POPO: 0000000F
NANA: 000000010 (SOPO/UNUSED)
MARTH: 00000011
GAMEWATCH: 00000012
FALCO: 00000013
GANON: 00000014
WARIO: 00000015
METAKNIGHT: 00000016
PIT: 00000017
SZEROSUIT: 00000018
PIKMIN: 00000019
LUCAS: 0000001A
DIDDY: 0000001B
POKETRAINER: 0000001C
POKELIZARDON: 0000001D
POKEZENIGAME: 0000001E
POKEFUSHIGISOU: 0000001F
DEDEDE: 00000020
LUCARIO: 00000021
IKE: 00000022
ROBOT: 00000023
LYN: 00000024
PURIN: 00000025
MEWTWO: 00000026
ROY: 00000027
SAMI: 00000028
TOONLINK: 00000029
TOONZELDA: 0000002A (UNUSED)
ISAAC: 0000002B
WOLF: 0000002C
KNUCKLES: 0000002D
SNAKE: 0000002E
SONIC: 0000002F
MARIO: 00000001
CRAZY HAND (OOT GANON): 00000142
CRAZY HAND (OOT GANON): 00000142
What is a Plug+Play .REL?
A .REL, or a relocatable module file, is one of the key file types in Wii programming. They enable the Wii to dynamically load and unload programs with ease.
What does this mean in the context of Brawl/P:M? Essentially, they act as blueprints that the game uses to build characters at the beginning of a given match. Every character has a module, except for characters who exist in one module (Shiek, ZSS, Giga and Warioman) or inhabit a single collective module (PokeTrainer Pokemon and the Alloys). In order for a character (FitMario.pac) to operate properly, the correct module with the correct functions for this given character (ft_mario.rel) must exist in the filesystem.
These P+P .RELs have been specially modified to contain the adjustments necessary to function during gameplay in P:M.
How do I use this file?
Let's say you have a PSA that you'd like to place over another character (i.e. Goku). Goku has Pit as a base, so you'd need to download the P+P .REL earlier in the OP for Pit and place the file in your pf/module directory on your SD Card, being sure to rename the module to fit the character being replaced (i.e. ft_mario if you want to replace Mario).
Download the module editor HERE, and open the newly-renamed P+P module. Navigate to Section[8] of the module, and replace the first 8 bytes with the character id that matches the name of your module. If you download the Marth module, for example, the first 8 bytes of Section[8] will read 00000011. To replace Mario, you'd copy and paste his char id over the Marth ID.
CHAR IDs (Replace the first 8 bytes of Section[8] of the module)
MARIO: 00000000
DONKEY: 00000001
LINK: 00000002
SAMUS: 00000003
YOSHI: 00000004
KIRBY: 00000005
FOX: 00000006
PIKACHU: 00000007
LUIGI: 00000008
CAPTAIN: 00000009
NESS: 0000000A
KOOPA: 0000000B
PEACH: 0000000C
ZELDA: 0000000D
SHEIK: 0000000E
POPO: 0000000F
NANA: 000000010 (SOPO/UNUSED)
MARTH: 00000011
GAMEWATCH: 00000012
FALCO: 00000013
GANON: 00000014
WARIO: 00000015
METAKNIGHT: 00000016
PIT: 00000017
SZEROSUIT: 00000018
PIKMIN: 00000019
LUCAS: 0000001A
DIDDY: 0000001B
POKETRAINER: 0000001C
POKELIZARDON: 0000001D
POKEZENIGAME: 0000001E
POKEFUSHIGISOU: 0000001F
DEDEDE: 00000020
LUCARIO: 00000021
IKE: 00000022
ROBOT: 00000023
PRAMAI: 00000024 (UNUSED)
PURIN: 00000025
MEWTWO: 00000026 (UNUSED IN BRAWL)
ROY: 00000027 (UNUSED IN BRAWL)
DR_MARIO: 00000028 (UNUSED)
TOONLINK: 00000029
TOONZELDA: 0000002A (UNUSED)
TOONSHEIK: 0000002B (UNUSED)
WOLF: 0000002C
DIXIE: 0000002D (UNUSED)
SNAKE: 0000002E
SONIC: 0000002F
DONKEY: 00000001
LINK: 00000002
SAMUS: 00000003
YOSHI: 00000004
KIRBY: 00000005
FOX: 00000006
PIKACHU: 00000007
LUIGI: 00000008
CAPTAIN: 00000009
NESS: 0000000A
KOOPA: 0000000B
PEACH: 0000000C
ZELDA: 0000000D
SHEIK: 0000000E
POPO: 0000000F
NANA: 000000010 (SOPO/UNUSED)
MARTH: 00000011
GAMEWATCH: 00000012
FALCO: 00000013
GANON: 00000014
WARIO: 00000015
METAKNIGHT: 00000016
PIT: 00000017
SZEROSUIT: 00000018
PIKMIN: 00000019
LUCAS: 0000001A
DIDDY: 0000001B
POKETRAINER: 0000001C
POKELIZARDON: 0000001D
POKEZENIGAME: 0000001E
POKEFUSHIGISOU: 0000001F
DEDEDE: 00000020
LUCARIO: 00000021
IKE: 00000022
ROBOT: 00000023
PRAMAI: 00000024 (UNUSED)
PURIN: 00000025
MEWTWO: 00000026 (UNUSED IN BRAWL)
ROY: 00000027 (UNUSED IN BRAWL)
DR_MARIO: 00000028 (UNUSED)
TOONLINK: 00000029
TOONZELDA: 0000002A (UNUSED)
TOONSHEIK: 0000002B (UNUSED)
WOLF: 0000002C
DIXIE: 0000002D (UNUSED)
SNAKE: 0000002E
SONIC: 0000002F
Does this work for BrawlEX?
No, and it never will.
Is this Glitch-Free?
That's for you to tell me lol. In my time using these modules, I haven't encountered any issues. However, you will NOT have a good time if you try to replace Pokemon Trainer. For now, avoid replacing any transforming characters, and report any freezes with SPECIFIC INSTRUCTIONS on how to replicate this issue. Otherwise, I can't debug and fix the problem.
Can you please make (insert character here)?
Maybe. There's a second method that I use to make patched modules with which I'm much more comfortable, and I'd be more inclined to use that method for characters that PW hasn't done already. If you don't know how to edit a .gct codeset (the file that makes P:M P:M), don't expect it to be easy. I've done this for Captain Falcon and Fox, and I could do it for anyone in the cast.
Last edited: