Get hyped!
http://www.youtube.com/watch?v=lMXBwpjshn4
As many of you know, we now have the ability to play on SSE Stages. However, we are limited in what stages we can replace with these new SSE stages. A solution is here to how to choose these stages without replacing other ones.
This code is based on Almas's Alternate File Engine, and the findings that took place in this effort will eventually be backported to the original code.
Okay, who those who used versions before v1.1, the code AND the data code have changed. The data format hasn't changed, but the surrounding lines have.
Code:
Alternate Stage Loader v1.1 [Dantarion, Almas]
C23FA360 00000024
91620000 90E20004
91820008 90620010
91220014 7D800026
3C602F70 60637269
80E10020 7C033800
408200D4 3C602F53
60635447 80E10044
7C033800 408200C0
80E10048 3D60DFDF
616BDFDF 7CE75838
3D60805A 616B7D00
816B0000 806B0000
892B0004 880B0005
2C030DED 41820090
7C033800 41820014
396B0008 1D290008
7D6B4814 4BFFFFD8
2C090000 41820030
396B0008 A0EB0000
3C60815E 60638420
A0630002 7C071800
4182000C 3929FFFF
4BFFFFD8 886B0003
48000024 2C000000
4182003C 3C60815E
606325D0 80630000
7D2303D6 7D2049D6
7C691810 38E05F41
7CE71A14 B0E6FFFC
3C602E50 60634143
9066FFFE 38A5FFFE
38C60002 7D8FF120
81620000 80E20004
81820008 80620010
81220014 38000000
60000000 00000000
Alternate Stage Loader Data v1.1
46000010 00000000
44000000 005A7D00
6620[COLOR=SandyBrown]LLLL[/COLOR] 00000000
[COLOR=Silver]DATADATA DATADATA[/COLOR]
00000DED FADEDEAD
E0000000 80008000
Heres a little overview about how it all works.
This code allows you to have multiple .pac files for one stage. These could be textures, model replacements, whatever. However, it is very flexible in how you can replace the stages.
For each replacement stage, you can choose.
1) The button combination that the stage will be loaded by.
2) If the stage appears randomly when the original stage is selected.
Whereas the Alternate File Engine used multiple folders, this uses modified filenames.
For example, if you had 3 Final Destination textures, you would name them STGFINAL_A.pac,STGFINAL_B.pac, and
STGFINAL_C.pac.
The code will NEVER load STGFINAL.pac off your SD card if you define any other files to be loaded! However, if you want the original FD to be loaded, simply add 1 to the count of random stages, or define a button activator with someting not on your SD card, like "Z". When the game tries to load STGFINAL_Z.pac, and doesn't find it on your SD, it will just fall back to STGFINAL.pac from disk.
Heres how the data section of the code will be set up.
UPDATED FOR v1.1
Code:
AT THE BEGINNING ONCE:
46000010 00000000
44000000 005A7D00
6620[COLOR=SandyBrown]LLLL[/COLOR] 00000000
-----------------------------------
[COLOR=SandyBrown]LLLL[/COLOR] = The number of lines of stage data, +1. If you have 9 lines of stage data, input 10, which is A in hex, so "000A"
------------------------------------
FOR EACH ORIGINAL STAGE YOU HAVE REPLACEMENTS FOR:
[COLOR=Yellow]SSSSSSSS[/COLOR] [COLOR=Red]BB[/COLOR][COLOR=Blue]RR[/COLOR]0000
-----------------------------
[COLOR=Yellow]SSSSSSSS[/COLOR] = Stage ASCII Data(Take from the chart below)
[COLOR=Red]BB[/COLOR] = number of replacement stages with button activators (Max 26 _A-_Z)
[COLOR=Blue]RR[/COLOR] = Number of Randomly Selected Textures (Max 26 _A-_Z)
---------------------------------
FOR EACH BUTTON ACTIVATED STAGE
[COLOR=DarkGreen]JJJJ[/COLOR]00[COLOR=PaleGreen]II[/COLOR] 00000000
[COLOR=DarkGreen]JJJJ[/COLOR] = Button Activator from list below. All players controllers affect the activator.
[COLOR=PaleGreen]II[/COLOR] = Filename #- _A = 00, _B = 01, etc. Remember, 10 in hex is 0A
This is complex. It is complex, because it allows you to set things up the way you want them to be. For example, you could have 10 FD textures, 5 that appear randomly, and 5 only accessible though button combinations. You could have some of the 5 random ones also have button inputs if you wanted, too.
Stage ASCII Data
Code:
STGBATTLEFIELD.PAC (BATT)
42415454
STGCHARAROLL.PAC (CHAR)
43484152
STGCONFIGTEST.PAC (CONF)
434f4e46
STGCRAYON.PAC (CRAY)
43524159
STGDOLPIC.PAC (DOLP)
444f4c50
STGDONKEY.PAC (DONK)
444f4e4b
STGDXBIGBLUE.PAC (DXBI)
44584249
STGDXCORNERIA.PAC (DXCO)
4458434f
STGDXGARDEN.PAC (DXGA)
44584741
STGDXGREENS.PAC (DXGR)
44584752
STGDXONETT.PAC (DXON)
44584f4e
STGDXONETT_en.PAC (DXON)
44584f4e
STGDXPSTADIUM_en.PAC (DXPS)
44585053
STGDXRCRUISE.PAC (DXRC)
44585243
STGDXSHRINE.PAC (DXSH)
44585348
STGDXYORSTER.PAC (DXYO)
4458594f
STGDXZEBES.PAC (DXZE)
44585a45
STGEARTH.PAC (EART)
45415254
STGEDIT_0.PAC (EDIT)
45444954
STGEDIT_1.PAC (EDIT)
45444954
STGEDIT_2.PAC (EDIT)
45444954
STGEMBLEM.PAC (EMBL)
454d424c
STGEMBLEM_00.PAC (EMBL)
454d424c
STGEMBLEM_01.PAC (EMBL)
454d424c
STGEMBLEM_02.PAC (EMBL)
454d424c
STGFAMICOM.PAC (FAMI)
46414d49
STGFINAL.PAC (FINA)
46494e41
STGFZERO.PAC (FZER)
465a4552
STGGREENHILL.PAC (GREE)
47524545
STGGW.PAC (GW.P)
47572e50
STGGW_en.PAC (GW_e)
47575f65
STGHALBERD.PAC (HALB)
48414c42
STGHEAL.PAC (HEAL)
4845414c
STGHOMERUN.PAC (HOME)
484f4d45
STGHOMERUN_en.PAC (HOME)
484f4d45
STGICE.PAC (ICE.)
4943452e
STGJUNGLE.PAC (JUNG)
4a554e47
STGKART.PAC (KART)
4b415254
STGMADEIN_en.PAC (MADE)
4d414445
STGMANSION.PAC (MANS)
4d414e53
STGMARIOPAST_00.PAC (MARI)
4d415249
STGMARIOPAST_01.PAC (MARI)
4d415249
STGMETALGEAR_00.PAC (META)
4d455441
STGMETALGEAR_01.PAC (META)
4d455441
STGMETALGEAR_02.PAC (META)
4d455441
STGNEWPORK_en.PAC (NEWP)
4e455750
STGNORFAIR.PAC (NORF)
4e4f5246
STGOLDIN.PAC (OLDI)
4f4c4449
STGONLINETRAINING.PAC (ONLI)
4f4e4c49
STGORPHEON.PAC (ORPH)
4f525048
STGPALUTENA.PAC (PALU)
50414c55
STGPICTCHAT_en.PAC (PICT)
50494354
STGPIRATES.PAC (PIRA)
50495241
STGPLANKTON.PAC (PLAN)
504c414e
STGRESULT_en.PAC (RESU)
52455355
STGSTADIUM_en.PAC (STAD)
53544144
STGSTARFOX_ASTEROID.PAC (STAR)
53544152
STGSTARFOX_BATTLESHIP.PAC (STAR)
53544152
STGSTARFOX_CORNERIA.PAC (STAR)
53544152
STGSTARFOX_GDIFF.PAC (STAR)
53544152
STGSTARFOX_SPACE.PAC (STAR)
53544152
STGTARGETLV1.PAC (TARG)
54415247
STGTARGETLV2.PAC (TARG)
54415247
STGTARGETLv3.PAC (TARG)
54415247
STGTARGETLv4.PAC (TARG)
54415247
STGTARGETLv5.PAC (TARG)
54415247
STGTENGAN_1.PAC (TENG)
54454e47
STGTENGAN_2.PAC (TENG)
54454e47
STGTENGAN_3.PAC (TENG)
54454e47
STGVILLAGE_00_en.PAC (VILL)
56494c4c
STGVILLAGE_01_en.PAC (VILL)
56494c4c
STGVILLAGE_02_en.PAC (VILL)
56494c4c
STGVILLAGE_03_en.PAC (VILL)
56494c4c
STGVILLAGE_04_en.PAC (VILL)
56494c4c
Button Trigger Info
For combinations, add together IN HEX.
All controllers together are checked.
This means that all players can affect the stage.
Also, note that A and Start have values.
You have to LET GO of the button you use to select the stage pretty quickly.
I recommend using combination like A+ANOTHER BUTTON because its easier than having to remember to let go of A.
Code:
0 = No Buttons Held
1 = Left (GC,CC,Wiimote D-Pad or GC,CC Analog)
2 = Right (GC,CC,Wiimote D-Pad or GC,CC Analog)
4 = Down (GC,CC,Wiimote D-Pad or GC,CC Analog)
8 = Up (GC,CC,Wiimote D-Pad or GC,CC Analog)
10 = (GC Z)(CC ZL)(CC ZR)
20 = (GC R)(CC R)
40 = (GC L)(Wiimote B)(CC L)
100 = (GC,CC A)
200 = (GC,CC B)(Wiimote 1)
400 = (GC,CC X)
800 = (GC,CC Y)
1000 = (GC Start)(Wiimote +)
4000 = (CC ZL)
8000 = (CC ZR)
Todo List
Figure out how the hell the Clone Engine works (DONE THANKS ALMAS)
Get it working with alternate folders.(DONE)
Get alternate filenames working (DONE)
Create reliable random(DONE - Using what appears to be a animation timer for the menus)
Implement reading of Data(DONE IN ALPHA 1)
Implement reading button input (DONE IN v1)
Implement custom song asm injection(HARDER THAN IT LOOKS)