Okay, so I spent a while working away at this and figuring it all out in my head. The potential is limited, but this will buy time. Any additional features are far beyond my capability, but I'm sure eventually someone will attain them.
Whereas normally a texture or data .pac is loaded from /private/wii/app/RSBE/pf/... (/fighter/ or /stage/), this code changes the /pf/ directory to another one of the user's choice when a set of conditions are met. Thus, in order to use this code, you should place alternative replacement files you wish to use in another directory with a similar path. /pf/ can be changed to any other two-character name. For example, I may choose to load my alternate files from /private/wii/app/RSBE/lm/. Note that apart from this change of the /pf/ folder, the remaining file structure is the same, including the name of the replacement files.
For this code to operate, it is necessary that the File Replacement Code is also active. The code allows you to choose, prior to a game, whether or not you wish to play with an alternate data or texture .pac file for any character, or an alternate texture file for a stage. In order to choose which alternate files you have active, a data code is used with the following format:
Adding additional alternate files is done by repeating the XXXX... code block.
Filling in the gaps:
BYTECOUN: This is equal to 10 multiplied by the amount of alternate files you wish to have active. For example, if you wanted to have 5 alternate files, this would take the value 00000050. For more than 9 changes, it is important to remember to count in hex. E.g. 80, 90, A0, B0... F0, 100.
XXXXXXXX: This value is determined by the character you would wish to replace, and is taken from the list below (Thanks to Dantarion):
If you wish to replace a stage texture, this value should always be 45452F53
YY: This is a two digit value determined by the Select Screen slot of the character you are choosing. Because this is chosen by the Select Screen slot, it may vary slightly - for example, if you want a custom Sheik and are using the default Zelda/Sheik slot, you should put the value for Zelda in this section.
IDs:
The Random value can be used if you want an alternate character to only be accessible by getting them through selecting random. The button activator will still have to be used. If you wish to replace a stage texture, this value can be anything.
ZZZZ: This is a button activator that has to be held for the alternate file to be loaded. You can set up this value by visiting this link and using the bottom tab, "Game Cube Controller Joker Generator". Once you have decided on the button activator, add 80 in Hex to it. If you are unfamiliar with Hex, Calculator will happily do the job for you. It is recommended that you include the A button in your button activator, as it is likely that you will be pressing it at the appropriate moment anyway.
AAAA: This is the Hex-ASCII value of the alternate folder you wish to load files from. You can find a Hex-ASCII translator here. For example, if I decided to place my alternate files in /lm/ instead of /pf/, this would take the value of 6C6D.
Getting it to Work: You should place your alternate files in the directories you decided with the AAAA segment of the data code. Remember that they must still follow the normal file structure, save for the renaming of the /pf/ folder. In order for the replacement to take place in game, you must hold down the button activator at the appropriate times:
For Character Textures or Character Data .pacs: Hold down the button activator as you select the character. If you are changing between textures, hold down the button activator as you swap to your desired texture. Your alternate files will be in use until you de-select your character or texture, including between matches. If you play as an alternate texture one game and do not de-select it, you will be playing the same texture the next game. If you are using an alternate character and another player selects the same character as you, they will also be playing the alternate character. It is not possible to play matches of a character against their alternate version. It is recommended you hold down the button activator until you hear the Wii stop loading.
For Stage Textures: Hold down the button activator as you select the stage (e.g. as the match is beginning). This must be performed every game if you wish to reuse the alternate texture. This is only sensitive to Player 1 holding down the appropriate button.
The release of this code marks my retirement from coding. I hope you all enjoy it. I'm here to answer questions and solve bugs for a little while.
Code:
Alternate File Loader [Almas]
C23FA350 00000020
90C20000 90E20004
91620008 90A2000C
90620010 91220014
91420018 9182001C
3D800004 618C86C0
3D60805A 3CA0452F
60A57066 90AB7C14
816B7C22 3C608057
60639FF0 84A30010
2C050000 4182008C
7C055800 4082FFF0
3CC04545 60C62F53
7C062800 4082001C
3D60804D 616BE4B0
A16B0000 A1430008
7C0A5800 41820050
88A30004 A1430008
39200000 A0C30006
64C68152 7CC66214
3CE0804D 60E7E4A8
39290001 7CCC3050
38E70008 2C090005
4182FF94 89660000
7C0B2800 4082FFE4
A1670000 7C0B5000
4082FFD8 A143000A
3D60805A B14B7C16
80C20000 80E20004
81620008 80A2000C
80620010 81220014
81420018 8182001C
8C040001 00000000
For this code to operate, it is necessary that the File Replacement Code is also active. The code allows you to choose, prior to a game, whether or not you wish to play with an alternate data or texture .pac file for any character, or an alternate texture file for a stage. In order to choose which alternate files you have active, a data code is used with the following format:
Code:
Alternate File Data
0657A000 BYTECOUN
XXXXXXXX YY00E27B
ZZZZAAAA 00000000
Filling in the gaps:
BYTECOUN: This is equal to 10 multiplied by the amount of alternate files you wish to have active. For example, if you wanted to have 5 alternate files, this would take the value 00000050. For more than 9 changes, it is important to remember to count in hex. E.g. 80, 90, A0, B0... F0, 100.
XXXXXXXX: This value is determined by the character you would wish to replace, and is taken from the list below (Thanks to Dantarion):
Code:
Captain Falcon
61707461
King Dedede
65646564
Diddy Kong
69646479
Donkey Kong
6F6E6b65
Falco
616C636F
Fox
6F782F46
Mr Game & Watch
616D6577
Ganondorf
616E6F6E
Giga Bowser
6B6F6F70
Ike
6B652F46
Kirby
69726279
Bowser
6F6F7061
Link
696E6B2F
Lucario
75636172
Lucas
75636173
Luigi
75696769
Mario
6172696F
Marth
61727468
Metaknight
6574616B
Ness
6573732F
Peach
65616368
Pikachu
696B6163
Olimar
696B6D69
Pit
69742F46
Ivysaur
6F6B6566
Charizard
6F6B656C
Pokémon Trainer
6F6B6574
Squirtle
6F6B657A
Ice Climbers
6F706F2F
Jigglypuff
7572696E
ROB
6F626F74
Samus
616D7573
Sheik
6865696B
Snake
6E616B65
Sonic
6F6E6963
Zero Suit Samus
7A65726F
Toon Link
6F6F6E6C
Wario
6172696F
Wario Man
6172696F
Wolf
6F6C662F
Yoshi
6F736869
Zelda
656C6461
YY: This is a two digit value determined by the Select Screen slot of the character you are choosing. Because this is chosen by the Select Screen slot, it may vary slightly - for example, if you want a custom Sheik and are using the default Zelda/Sheik slot, you should put the value for Zelda in this section.
IDs:
Code:
Mario - 00
Donkey Kong - 01
Link - 02
Samus - 03
Yoshi - 05
Kirby - 06
Fox - 07
Pikachu - 08
Luigi - 09
Captain Falcon - 0A
Ness - 0B
Bowser - 0C
Peach - 0D
Zelda - 0E
Sheik - 0F
Ice Climbers - 10
Marth - 11
Mr. Game & Watch 12
Falco - 13
Ganondorf - 14
Wario - 15
Meta Knight - 16
Pit - 17
Zero Suit Samus - 04
Olimar - 18
Lucas - 19
Diddy Kong - 1A
Pokémon Trainer - 1B
Charizard - 1C
Squirtle - 1D
Ivysaur - 1E
King Dedede - 1F
Lucario - 20
Ike - 21
R.O.B - 22
Jigglypuff - 23
Toon Link - 24
Wolf - 25
Snake - 26
Sonic - 27
Random - 29
ZZZZ: This is a button activator that has to be held for the alternate file to be loaded. You can set up this value by visiting this link and using the bottom tab, "Game Cube Controller Joker Generator". Once you have decided on the button activator, add 80 in Hex to it. If you are unfamiliar with Hex, Calculator will happily do the job for you. It is recommended that you include the A button in your button activator, as it is likely that you will be pressing it at the appropriate moment anyway.
AAAA: This is the Hex-ASCII value of the alternate folder you wish to load files from. You can find a Hex-ASCII translator here. For example, if I decided to place my alternate files in /lm/ instead of /pf/, this would take the value of 6C6D.
Getting it to Work: You should place your alternate files in the directories you decided with the AAAA segment of the data code. Remember that they must still follow the normal file structure, save for the renaming of the /pf/ folder. In order for the replacement to take place in game, you must hold down the button activator at the appropriate times:
For Character Textures or Character Data .pacs: Hold down the button activator as you select the character. If you are changing between textures, hold down the button activator as you swap to your desired texture. Your alternate files will be in use until you de-select your character or texture, including between matches. If you play as an alternate texture one game and do not de-select it, you will be playing the same texture the next game. If you are using an alternate character and another player selects the same character as you, they will also be playing the alternate character. It is not possible to play matches of a character against their alternate version. It is recommended you hold down the button activator until you hear the Wii stop loading.
For Stage Textures: Hold down the button activator as you select the stage (e.g. as the match is beginning). This must be performed every game if you wish to reuse the alternate texture. This is only sensitive to Player 1 holding down the appropriate button.
The release of this code marks my retirement from coding. I hope you all enjoy it. I'm here to answer questions and solve bugs for a little while.