• Welcome to Smashboards, the world's largest Super Smash Brothers community! Over 250,000 Smash Bros. fans from around the world have come to discuss these great games in over 19 million posts!

    You are currently viewing our boards as a visitor. Click here to sign up right now and start on your path in the Smash community!

Stage Roster Expansion --COMPLETE--

Phantom Wings

Smash Apprentice
Joined
Jul 29, 2008
Messages
150
Hi everyone!!:bee:

I was feeling abnormally productive the other day - in a nostalgic sort of way - so I decided to perfect the Stage Roster Expansion code.

So without further ado. (and rest assured, there wasn't any to begin with.)

Code:
Stage Roster Expansion System v2.0: [Phantom Wings]
E0000000 80008000
04043B20 380000FF
04043B40 1C060018
04043B58 38840018
04949C8C 3884B460
04949D10 3884B460
04949E20 3884B460
04949EFC 3884B460
C294A588 00000003
A063001A 2C030040
41800008 38600000
60000000 00000000
C294A1D0 00000003
7C7D1B78 2C03FFFF
40820008 3FA0003F
60000000 00000000
04015564 48000010
2042AEB0 00000041
0442AEB0 00000000
80000000 8042AEB0
80000001 8042AEB0
60000030 00000000
8A001801 00000000
86000000 00000024
86000001 00000018
62000000 00000000
0042B348 024B0000
0442B348 00000040
0642B34C 00000010
73745F63 7573746F
6D00002E 72656C00
80000000 8042BC18
80000001 8042B460
8A010001 00000000
0442B560 8042BC14
0042BC18 010F0000
0642BC14 00000008
43757374 6F6D0000
E0000000 80008000
04043B34 483E783C
0642B370 00000050
2C060031 4080000C
80040000 48000040
3806000F 7C030000
40820030 3866FFD0
38C4000F 38860001
3CA08042 60A5B450
38E00000 7E6802A6
4BFCB811 7E6803A6
38C00031 4BC1878C
3884FFE8 4BC1877C
04949C88 4BAE1749
04949D0C 4BAE16C5
04949E1C 4BAE15B5
04949F08 4BAE14C9
0642B3D0 00000060
9421FF80 BC610010
7C6802A6 9061000C
2C000040 41800030
7C030378 3863FFC1
3CC08042 60C6BC1C
38860001 3CA08042
60A5B450 38E00000
39200000 4BFCB7AD
38000040 540013BA
8061000C 7C6803A6
B8610010 80210000
4E800020 00000000
0042B455 00000078
0442B45C 00000002
The code now allows up to 255 (untested mind you) custom stages. The only difference is that the number for the .pacs and .rels must be padded to two digits (1 becomes 01, 9 becomes 09 and whatnot) and that the numbers must be in hex.

Here's a new Stage Select Screen with 15 custom stages just so you can see where it's all going.

Code:
[Custom SSS]
046B8F5C 7C802378
046B8F64 7C6300AE
040AF618 5460083C
040AF68C 38840002
040AF6AC 5463083C
040AF6C0 88030001
040AF6E8 3860FFFF
040AF59C 3860000C
060B91C8 00000018
BFA10014 7CDF3378
7CBE2B78 7C7D1B78
2D05FFFF 418A0014
006B929C 0000001F
066B99D8 0000001F
00010203 04050709
080A0B0C 0D0E0F10
11141516 1A191217
0618131D 1E1B1C00
006B92A4 00000019
066B9A58 00000019
1F202122 25242326
27282A2B 2C2D2E2F
30313233 34353637
38000000 00000000
06407AAC 00000078
01010202 03030404
05050606 07070808
0909330A 0B0B0C0C
0D0D0E0E 130F1410
15111612 17131814
19151C16 1D171E18
1F19201A 211B221C
231D241E 251F2932
2A332B34 2C352D36
2F373038 3139323A
2E3BFFFF 40024101
42024301 44024501
46024701 48024901
4A024B01 4C024D01
4E020000 00000000
And finally - I know there's a lot of people out there who want this - the Tracklist Modifier. This code allows you to set the tracklist that a stage will use.

Code:
[Tracklist Modifier v1.0]
0610F9BC 00000014
60000000 60000000
3C80811A 7C601B78
608447E7 00000000
4A000000 81000000
301A46F8 6D755072
1417DF44 7CE03B78
1417DF4C 7C0400AE
161A47E8 000000[COLOR="Purple"]LL << Bytes of data[/COLOR]
[COLOR="Lime"]00000102 03040607 << Default Stages
08090A0B 0C0D0E0E
0E0E0E0F 10111213
14151515 16171819
1A1B1C1D 1E1F2D2D
2D202122 23242526
2728290A 2D2D2D2D
2D2D2D2D 2D2D2D2D[/COLOR]
[COLOR="DarkRed"]X1X2X3X4 X5X6X7X8 << Custom Stage Tracklists
-------- --------[/COLOR]
E0000000 80008000

Tracklists:
00 Battlefield
01 Final Destination
02 Delphino
03 Luigi's Mansion
04 Mushroomy Kingdom (1-1)
05 Mushroomy Kingdom (1-2)
06 Mario Circuit
07 75m
08 Rumble Falls
09 Pirate Ship
0A Eldin Bridge
0B Norfair
0C Frigate Orpheon
0D Yoshi's Island
0E Halberd
0F Lylat Cruise
10 Pokemon Stadium 2
11 Spear Pillar
12 Port Town Aero Dive
13 Summit
14 Flat Zone
15 Castle Siege
16 WarioWare, inc.
17 Distant Planet
18 Skyworld
19 Mario Bros.
1A Newpork City
1B Smashville
1C Shadow Moses Island
1D Green Hill Zone
1E Pictochat
1F Hanenbow
20 Temple
21 Yoshi's Island
22 Jungle Japes
23 Onett
24 Green Greens
25 Pokemon Stadium
26 Rainbow Cruise
27 Corneria
28 Big Blue
29 Brinstar
2A Menu
2B Empty
2C Empty
2D Empty
Now, before any of you ask, yes it is possible to create new tracklists, but the total number of songs you have between all the tracklists is constant. (unless you really want to mess with your save file.) And while it is possible to create additional tracklists by taking songs from other tracklists, that has the unfortunate repercussion of making some of your game's music unusable when you're not using codes. So as a result, I didn't build a code for adjusting the tracklists. (although you still have the MyMusic Modifier.)



Finally, (I guess I lied, the Stage Roster Expansion system hasn't quite perfected yet.) I have a personal request to the Brawl Lib Development team.

This would be it:
Code:
[B]PAT0[/B]

[B]Header:
[/B]char[4] PAT0
int Runtime Copy Range
int unk
int unk
int Pattern Table offset
int Texture File Table offset
int Palette File Table offset
int Runtime Texture Ptr Table offset
int Runtime Palette Ptr Table offset
int File Name Table offset
int pad
short unk //0x006F
short unk //0x0001
short Runtime Texture Ptr Table Count
short Runtime Palette Ptr Table Count
int pad

*Runtime Copy Range is the length of the Header, 
 Entry Table, both String Offset Tables and the Runtime Ptr Tables.
 This is usually the address of the String Table, but sometimes
 there's a bit discarded before it as well...
**The amount of available space in the Runtime Tables
  MUST reflect their Counts (in entries of 32-bit integers).


[B]Pattern Table:[/B]
int Total Length
int Entry Index Count
int unk
int unk
int unk
Entry Indices

[B]Pattern Index:[/B]
int unk
int unk
int Name Offset (base=this)
int Pattern Offset (base=Pattern Table)

[B]Pattern:[/B]
int Name Offset (base=this)
bit[8][4] Flagsets
int Texture Table Offset(base=this)

[B]Flags:[/B]
0x1 Use Flagset
0x2 Inline Texture
0x4 Has Texture
0x8 Has Palette

*There are 8 Flagsets (one  32-bit int) that will each be attempted
 if their first bit is set - usually the first one is only used.
**When InlineTexture is set, Texture Table Offset becomes:
  short Texture File Name Index
  short Palette File Name Index



[B]Texture Table:[/B]
short Texture Count
short pad
int unk
Textures

[B]Texture:[/B]
float Key
short Texture File Index
short Palette File Index



[B]Texture File Table Entry:
[/B]int File Name offset(base=Texture File Table)

[B]Palette File Table Entry:[/B]
int File Name offset(base=Palette File Table)
Provide Brawlbox with support for the PAT0 files and you'll be able to add new stage icons in addition to the default ones using the Custom Stage Select Screen code.



And that's everything. The Stage Roster Expansion System is complete. I'll be here to answer questions or take bug reports for the weekend, but after that - poof! I'm gone.

Nice to see you back Kryal. Dant, good work as always. I'm going grocery shopping now.
 

ds22

Smash Lord
Joined
Aug 30, 2009
Messages
1,662
Location
Rotterdam, The Netherlands
If you could help with the Clone Engine that would be great.
But all aside, this is FREAKING AWESOME!
Now I won't have any problem with picking stages over others.
 

Mr.Chuy

Chuy
Joined
Dec 29, 2009
Messages
1,817
Location
Somewhere in Texas
My God man my heart skipped 2 beats when i read that
You sir are epic if anybody had any doubts about that this got rid of them
 

GHNeko

Sega Stockholm Syndrome.
Joined
Aug 13, 2007
Messages
20,009
Location
テキサス、アメリカ
NNID
GHNeko
Rival PW appeared!

Rival PW sends out new code!

The masses are wowed!

What will Magician Dantarion do...?

Magician Dantarion is still away...
 

Kaye Cruiser

Waveshocker Sigma
Joined
Aug 11, 2009
Messages
8,032
NNID
KayeCruiser
Switch FC
0740-7501-7043
Phantom Wings, I ****ing love you. ;~; <3

Looks like I can rearrange my stages now that I won't need to have every stage completely replaced except Battlefield, Final Destination and Lylat Cruise. XD

Now to figure out how this works...*never messed with the roster expansion himself*
 

NO@H

Smash Journeyman
Joined
Jul 11, 2009
Messages
279
ohmygawd
too bad 255 stages wouldn't fit on a 2g SD card...
 

GP&B

Ike 'n' Ike
Joined
May 8, 2009
Messages
4,609
Location
Orlando, FL
NNID
MetalDude
Son of a *****. This was completely unexpected.

Very awesome stuff, PW.
 

Eternal Yoshi

I've covered ban wars, you know
Joined
Mar 3, 2007
Messages
5,450
Location
Playing different games
NNID
EternalYoshi
3DS FC
3394-4459-7089
AMAZING.

The Smash Sage strikes again.

I'm man enough to do that because of how many I have in my game.....

Seriously, my stages folder takes up as much room than the fighter folder.

Edited with obnoxious sized letters in the hopes that people will see this post.



OK. For those who are lazy or don't know what hex is, I included a SSS which maxes out both menus.


Code:
046B8F5C 7C802378
046B8F64 7C6300AE
040AF618 5460083C
040AF68C 38840002
040AF6AC 5463083C
040AF6C0 88030001
040AF6E8 3860FFFF
040AF59C 3860000C
060B91C8 00000018
BFA10014 7CDF3378
7CBE2B78 7C7D1B78
2D05FFFF 418A0014
006B929C 00000027
066B99D8 00000027[COLOR="Blue"]
00010203 04050908
0A0B0C0D 0E0F1114
151A1917 06131D1B
1C1F2021 22252423
27280710 12161800[/COLOR]
006B92A4 00000027
066B9A58 00000027[COLOR="Red"]
1E262A2B 2C2D2E2F
30313233 34353637
38393A3B 3C3D3E3F
40414243 44454647
48494A4B 4C4D4E00[/COLOR]
06407AAC 000000A0[COLOR="Lime"]
01010202 03030404
05050606 07070808
0909330A 0B0B0C0C
0D0D0E0E 130F1410
15111612 17131814
19151C16 1D171E18
1F19201A 211B221C
231D241E 251F2932
2A332B34 2C352D36
2F373038 3139323A
2E3BFFFF 400E4101
420F4308 441C4505
4602470C 4839491C
4A024B01 4C024D01
4E024F02 50025102
52015301 54015501
56015701 58015901
5A015B01 5C015D01
5E015F01 60016101
62016301 64016501[/COLOR]

Brawl Page

Melee Page



Stage ID/Icon ID
 

br3compactor

Smash Ace
Joined
Apr 6, 2010
Messages
792
Location
Brazil
I have no words to express myself. But people say that a picture is worth a thousand words... but still I'd need a lot of pictures. And audio.

But imagine Kenshiro, Captain Falcon, Bruce Lee & Chuck Norris in a line waiting to bro-fist you.

EDIT: Show us how to make codes for more stages. 15 is too few.
Also please elaborate your post more so noob people can use it too.

What is people supposed to put in these LL in music?
What you'd need to rename stage? STGCUSTOM50.PAC and st_custom50.rel?
Would the custom stages be Final Destination based stages? If people don't know, they'd not be able to create proper .rels.
 

Eternal Yoshi

I've covered ban wars, you know
Joined
Mar 3, 2007
Messages
5,450
Location
Playing different games
NNID
EternalYoshi
3DS FC
3394-4459-7089
Combine this with Dant's ASL code and we could have a maximum of 6630 stages.

That is awesome.

I'm going to try this out after taking Snapshots of all the stage I have.

When I return, I'll help the people here comprehend this code.
 

JetAurion

Smash Journeyman
Joined
Apr 19, 2009
Messages
392
Location
Bay Area
WTFHAX.

No one is going to lack room for stages they want anymore.

Big cookiez for you.
 

DiamondbodySharpshooter

Smash Journeyman
Joined
Nov 3, 2009
Messages
416
A bit of ed-u-ma-cation!
Phantom built code on HEX! The names of each stage must thus follow the laws of HEX! Which is why instead of stgcustom1.pac, we have stgcustom01.pac, and instead of st_custom1.rel, we have st_custom01.rel. All those planning to test this code, keep that in mind! Rather than saying stgcustom15.pac, it would be the HEX value for 15, 0F. So that's stgcustom0F.pac.

Also, those using Riivolution, be sure to rename the files there as well!

Code:
		<file external="/private/wii/app/RSBE/pf/module/st_custom01.rel" disc="/module/st_custom01.rel" create="true" />
		<file external="/private/wii/app/RSBE/pf/module/st_custom02.rel" disc="/module/st_custom02.rel" create="true" />
		<file external="/private/wii/app/RSBE/pf/module/st_custom03.rel" disc="/module/st_custom03.rel" create="true" />
		<file external="/private/wii/app/RSBE/pf/module/st_custom04.rel" disc="/module/st_custom04.rel" create="true" />
		<file external="/private/wii/app/RSBE/pf/module/st_custom05.rel" disc="/module/st_custom05.rel" create="true" />
		<file external="/private/wii/app/RSBE/pf/module/st_custom06.rel" disc="/module/st_custom06.rel" create="true" />
		<file external="/private/wii/app/RSBE/pf/module/st_custom07.rel" disc="/module/st_custom07.rel" create="true" />
		<file external="/private/wii/app/RSBE/pf/module/st_custom08.rel" disc="/module/st_custom08.rel" create="true" />
		<file external="/private/wii/app/RSBE/pf/module/st_custom09.rel" disc="/module/st_custom09.rel" create="true" />
		<file external="/private/wii/app/RSBE/pf/module/st_custom0A.rel" disc="/module/st_custom0A.rel" create="true" />
		<file external="/private/wii/app/RSBE/pf/module/st_custom0B.rel" disc="/module/st_custom0B.rel" create="true" />
		<file external="/private/wii/app/RSBE/pf/module/st_custom0C.rel" disc="/module/st_custom0C.rel" create="true" />
		<file external="/private/wii/app/RSBE/pf/module/st_custom0D.rel" disc="/module/st_custom0D.rel" create="true" />
		<file external="/private/wii/app/RSBE/pf/module/st_custom0E.rel" disc="/module/st_custom0E.rel" create="true" />
		<file external="/private/wii/app/RSBE/pf/module/st_custom0F.rel" disc="/module/st_custom0F.rel" create="true" />
		<file external="/private/wii/app/RSBE/pf/stage/melee/STGCUSTOM01.pac" disc="/stage/melee/STGCUSTOM01.pac" create="true" />
		<file external="/private/wii/app/RSBE/pf/stage/melee/STGCUSTOM02.pac" disc="/stage/melee/STGCUSTOM02.pac" create="true" />
		<file external="/private/wii/app/RSBE/pf/stage/melee/STGCUSTOM03.pac" disc="/stage/melee/STGCUSTOM03.pac" create="true" />
		<file external="/private/wii/app/RSBE/pf/stage/melee/STGCUSTOM04.pac" disc="/stage/melee/STGCUSTOM04.pac" create="true" />
		<file external="/private/wii/app/RSBE/pf/stage/melee/STGCUSTOM05.pac" disc="/stage/melee/STGCUSTOM05.pac" create="true" />
		<file external="/private/wii/app/RSBE/pf/stage/melee/STGCUSTOM06.pac" disc="/stage/melee/STGCUSTOM06.pac" create="true" />
		<file external="/private/wii/app/RSBE/pf/stage/melee/STGCUSTOM07.pac" disc="/stage/melee/STGCUSTOM07.pac" create="true" />
		<file external="/private/wii/app/RSBE/pf/stage/melee/STGCUSTOM08.pac" disc="/stage/melee/STGCUSTOM08.pac" create="true" />
		<file external="/private/wii/app/RSBE/pf/stage/melee/STGCUSTOM09.pac" disc="/stage/melee/STGCUSTOM09.pac" create="true" />
		<file external="/private/wii/app/RSBE/pf/stage/melee/STGCUSTOM0A.pac" disc="/stage/melee/STGCUSTOM0A.pac" create="true" />
		<file external="/private/wii/app/RSBE/pf/stage/melee/STGCUSTOM0B.pac" disc="/stage/melee/STGCUSTOM0B.pac" create="true" />
		<file external="/private/wii/app/RSBE/pf/stage/melee/STGCUSTOM0C.pac" disc="/stage/melee/STGCUSTOM0C.pac" create="true" />
		<file external="/private/wii/app/RSBE/pf/stage/melee/STGCUSTOM0D.pac" disc="/stage/melee/STGCUSTOM0D.pac" create="true" />
		<file external="/private/wii/app/RSBE/pf/stage/melee/STGCUSTOM0E.pac" disc="/stage/melee/STGCUSTOM0E.pac" create="true" />
		<file external="/private/wii/app/RSBE/pf/stage/melee/STGCUSTOM0F.pac" disc="/stage/melee/STGCUSTOM0F.pac" create="true" />
I assume the reason there can be a maximum of 255 stages is because 255 in hex is FF, still following the two digit thing. However, you'd need to make a custom SSS to accommodate that.

Gonna try the music thing in a second. So far, the code works like a charm! Time to experiment with this music stuff.
 

hero1771

Smash Journeyman
Joined
Jul 3, 2009
Messages
293
Location
somewhere in wisconsin
ph-h-h- phantom wings? the legend? :D
let me say something, YOU ARE AWESOME. I love you. [/no homo]
THIS IS AWESOME

also, 1 more thing I would like to ask you.
 

Phantom Wings

Smash Apprentice
Joined
Jul 29, 2008
Messages
150
I love you. I love you so much. I love you so. Much.

EDIT: Quick question: With this tracklist modifier, if two stages share a tracklist, and I change the music priority of one, does it change the other?
A tracklist is a single entity. So even if two stages access it, the tracklist is the same for both.

I have no words to express myself. But people say that a picture is worth a thousand words... but still I'd need a lot of pictures. And audio.

But imagine Kenshiro, Captain Falcon, Bruce Lee & Chuck Norris in a line waiting to bro-fist you.

EDIT: Show us how to make codes for more stages. 15 is too few.
Also please elaborate your post more so noob people can use it too.

What is people supposed to put in these LL in music?
What you'd need to rename stage? STGCUSTOM50.PAC and st_custom50.rel?
Would the custom stages be Final Destination based stages? If people don't know, they'd not be able to create proper .rels.
This is the rawest form of the Custom Stage Select Screen.

Code:
Custom SSS: Spunit, Phantom Wings
046B8F5C 7C802378
046B8F64 7C6300AE
040AF618 5460083C
040AF68C 38840002
040AF6AC 5463083C
040AF6C0 88030001
040AF6E8 3860FFFF
040AF59C 3860000C
060B91C8 00000018
BFA10014 7CDF3378
7CBE2B78 7C7D1B78
2D05FFFF 418A0014
006B929C 000000[COLOR="Red"]XX[/COLOR]
066B99D8 000000[COLOR="Red"]XX << Brawl Stage Count[/COLOR]
[COLOR="Red"]------------------------
S1S2S3S4 S5S6S7S8 << Brawl Stages
------------------------[/COLOR]
0618131D 1E1B1C00
006B92A4 000000[COLOR="DarkRed"]YY[/COLOR]
066B9A58 000000[COLOR="DarkRed"]YY << Melee Stage Count[/COLOR]
[COLOR="DarkRed"]------------------------
M1M2M3M4 M5M6M7M8 << Melee Stages
------------------------[/COLOR]
06407AAC 000000[COLOR="Lime"]NN << Stage Data Byte Count[/COLOR]
------------------------
[COLOR="SeaGreen"]Z1[/COLOR][COLOR="RoyalBlue"]W1[/COLOR][COLOR="SeaGreen"]Z2[/COLOR][COLOR="RoyalBlue"]W2 [/COLOR][COLOR="SeaGreen"]Z3[/COLOR][COLOR="RoyalBlue"]W3[/COLOR][COLOR="SeaGreen"]Z4[/COLOR][COLOR="RoyalBlue"]W4[/COLOR][COLOR="Lime"] << Stage Data[/COLOR]
------------------------

[COLOR="SeaGreen"]Stages: (use these to fill the ZZ spaces)[/COLOR]
01 BattleField
02 Final Destination
03 Delphino
04 Luigi's Mansion
05 Mushroomy Kingdom
06 Mario Circuit
07 75m
08 Rumble Falls
09 Pirate Ship
0B Norfair
0C Orpheon
0D Yoshi's Island
0E Halberd
13 Lylat Cruise
14 Pokèmon Stadium 2
15 Spear Pillar
16 Port Town Aero Dive
17 Summit
18 Flat Zone 2
19 Castle Siege
1C Warioware, inc.
1D Distant Planet
1E Skyworld
1F Mario Bros.
20 Newpork City
21 Smashville
22 Shadow Moses Island
23 Greenhill Zone
24 Pictochat
25 Hanenbow
26 Control Config
28 Results Screen
29 Temple
2A Yoshi's Island
2B Jungle Japes
2C Onett
2D Green Greens
2E Pokèmon Stadium
2F Rainbow Cruise
30 Corneria
31 Big Blue
32 Brinstar
33 Eldin Bridge
34 Homerun Contest
35 Stage Builder Stage
36 Allstar Healing Room
37 Wifi Waiting Room
38 Break the Targets

40 Custom01
41 Custom02
42 Custom03
43 Custom04
44 Custom05
45 Custom06
46 Custom07
47 Custom08
48 Custom09
49 Custom0A
4A Custom0B
etc.

[COLOR="RoyalBlue"]Icons: (use these to fill the WW spaces)[/COLOR]
01 Battlefield
02 Fine Destination
03 Delphino
04 Luigi's Mansion
05 Mushroomy Kingdom
06 Mario Circuit
07 75m
08 Rumble Falls
09 Pirate Ship
0A Eldin Bridge
0B Norfair
0C Orpheon
0D Yoshi's Island
0E Halberd
0F Lylat Cruise
10 Pokèmon Stadium 2
11 Spear Pillar
12 Port Town Aero Dive
13 Summit
14 Flat Zone
15 Castle Siege
16 Warioware, inc.
17 Distant Planet
18 Skyworld
19 Mario Bros.
1A Newpork City
1B Smashville
1C Shadow Moses Island
1D Greenhill Zone
1E Pictochat
1F+ Hanenbow

32 Temple
33 Yoshi's Island
34 Jungle Japes
35 Onett
36 Green Greens
37 Rainbow Cruise
38 Corneria
39 Big Blue
3A Brinstar
3B Pokèmon Stadium
(Note that the 41st stage/icon value must be FFFF as it is reserved for the Menu Music selection)

(Oh, and incidentally, the icon values are what you would use once PAT0 editing is completed.)

The Z/W pairs are your index for the stages in the Brawl and Melee roster.

The code in the first post is already filled out with the default roster and 15 custom stages, so its mostly a matter of adding 4F, 50, 51 etc. into the Z data with your preferred icons and then adding them into the rosters as 39, 3A, 3B etc.


The LL value is a bytecount value - this is a simple matter of counting the two digit pairs in the data below - or counting the number of lines and multiplying by 8 (all in hex)

As for renaming goes... if your custom stage has a name with a single digit number in it (like 6) then change it to a two digit number by adding a zero before it (to 06)

Finally, you can use any module for any stage you like - just follow this tutorial to adjust the module accordingly



Fire away Hero1771 I'm listening right now.
 

hero1771

Smash Journeyman
Joined
Jul 3, 2009
Messages
293
Location
somewhere in wisconsin
allright. its an honor talking to you.

1. So basically, this is to add stages to the roster and we can add up to 255 stages??Will the.rels work the same? (such as St_sustom03 and etc?) and is the program by bero STAGE SWITCHER compatible?)
2. is it possible to use char. rels to replace other characters, like stages
 

Eternal Yoshi

I've covered ban wars, you know
Joined
Mar 3, 2007
Messages
5,450
Location
Playing different games
NNID
EternalYoshi
3DS FC
3394-4459-7089
.....You Ninja'd my post explaing the SSS code before I can type a letter.

Thanks for this.

One question I was I was wondering was are you going to provide a hand on the Clone engine or give some information that can greatly help it?

Like say, for instance, what you learned from your time trying to develop one?
 

DiamondbodySharpshooter

Smash Journeyman
Joined
Nov 3, 2009
Messages
416
Oh nice, the tracklist code is working like a charm as well. So, PW, is there any way to add new pages to Stage Selection screen?
 

br3compactor

Smash Ace
Joined
Apr 6, 2010
Messages
792
Location
Brazil
Thanks PW, I understand it now.

I'll try to write a code for more stages now.

Please BrawlBox bosses! Create the PAT0 support then it'll be perfect.

Oh nice, the tracklist code is working like a charm as well. So, PW, is there any way to add new pages to Stage Selection screen?
So now the icons shrink or something? O.o
 

Phantom Wings

Smash Apprentice
Joined
Jul 29, 2008
Messages
150
allright. its an honor talking to you.

1. So basically, this is to add stages to the roster and we can add up to 255 stages??Will the.rels work the same? (such as St_sustom03 and etc?) and is the program by bero STAGE SWITCHER compatible?)
2. is it possible to use char. rels to replace other characters, like stages
Yeah, .rels fall under the same naming scheme. I found a ToString function in Brawl and the new code uses it to append a number onto a generic name as opposed to explicitly naming each file. As for the STAGE SWITCHER, that's probably something you'll have to ask Bero about - I haven't used it so I can't say for sure.

The Clone Engine (ARF Engine... whatever.) runs under the same concept. The first version of this code was initially a test run to see if something like the Clone Engine was even possible. However, characters are much more complex than stages as they draw upon a lot more resources and there can be multiple of them in a match at once as opposed to stages which use only two resources and can only exist one per match.

.....You Ninja'd my post explaing the SSS code before I can type a letter.

Thanks for this.

One question I was I was wondering was are you going to provide a hand on the Clone engine or give some information that can greatly help it?

Like say, for instance, what you learned from your time trying to develop one?
As much as I'd like to, I really don't have the time these days for longterm hacking. I was only able to do this one because I knew exactly where to look (even down to where I could find the ToString function) and how to implement it properly (simple adjustments to the preexisting code and a short function for the Tracklist switcher which I already knew how - but didn't do because modules seemed like a better alternative at the time).

The clone engine is much more fuzzy and rest assured, it most definitely involves heavy modification of not only the character modules, but also the generic runtime modules. While it is possible per se to do it with codes, it would more likely involve handling every exception with its own personal counter code.

I usually keep notes on my work, but they're more short-term memory notes. As time goes on, it gets harder to remember what a short title and a number were supposed to represent. While I do remember basic concepts, from what I've seen of Dantarion's work I don't think it'd be anything more than he knows.

Oh nice, the tracklist code is working like a charm as well. So, PW, is there any way to add new pages to Stage Selection screen?
Which sort of brings me to this third question. As you can see (well sort of) with the with the Custom SSS code, the two stage pages are explicitly built Meaning that a new page would need to be directly programmed into Brawl. Given enough knowledge of modules, I don't doubt that the creation of menues and possibly even an in-game SD file browser would be too hard. But it's really the same reason for why making the clone engine with codes alone would be so much work as you would need to just about build a module from the ground up using codes - in which just making the module and loading it would be easier.
 

xANDERssbb

Smash Journeyman
Joined
Feb 20, 2010
Messages
200
Location
Canton Georgia
:O :O :O:I .......O..............My.............God................
WOOOOOOOOOOOOOOT! YEAHHHH! OMFG YES!! I LOVE YOU!
Now all we need is the character roster clone engine and my wildest dreams will come ture : ) :) :)

eOh yeah an mayamoto can suck it!
 

Fijoe

Smash Journeyman
Joined
Nov 18, 2009
Messages
339
This code will not work for me...I have 15 stage files named STGCUSTOM01 to STGCUSTOM0E and 15 .rels named st_custom01 to st_custom0E. I ran the 15-stages code you gave and the FPC. The 15 stages showed up but whenever I clicked one, the game froze(the wii didn't though). All the stages work fine with the 9-stage code. What am I doing wrong? :/
 

br3compactor

Smash Ace
Joined
Apr 6, 2010
Messages
792
Location
Brazil
I've made tests. I created a code for having 255 extra stages.

It works, but...

- It only shows 15 stages on the CSS.
- Since I don't know what to name the stages/modules or based in what they're supposed to be... I mean, I get a FD based stage, so since I don't know what is the custom stage based off of, I need a module. But to what should I convert the FD module?
 

Eternal Yoshi

I've covered ban wars, you know
Joined
Mar 3, 2007
Messages
5,450
Location
Playing different games
NNID
EternalYoshi
3DS FC
3394-4459-7089
I'm STILL making my own code as we speak.
I plan to have Brawl and Melee's stages on one page, and all of my custom/hacked stages on the second page.

I have 55 custom stages to insert so that would make the hex value 37.
Now to see where the custom stages ID's begin. in the first part of the code....
 

Eternal Yoshi

I've covered ban wars, you know
Joined
Mar 3, 2007
Messages
5,450
Location
Playing different games
NNID
EternalYoshi
3DS FC
3394-4459-7089
Almost.

Just so everyone knows, the Stage Data Byte Count refers to the bytes below where the value would go.
You know, where the ZZWWs are.

I intend to move the Melee stages and Brawl stages all at the first page.

All of my custom hacked stages are on the second.

I have 55 custom stages.

Is this correct?

Code:
Eternal Yoshi's SSS

046B8F5C 7C802378
046B8F64 7C6300AE
040AF618 5460083C
040AF68C 38840002
040AF6AC 5463083C
040AF6C0 88030001
040AF6E8 3860FFFF
040AF59C 3860000C
060B91C8 00000018
BFA10014 7CDF3378
7CBE2B78 7C7D1B78
2D05FFFF 418A0014
006B929C 00000028
066B99D8 00000028
00010203 04050709
080A0B0C 0D0E0F10
11141516 1A191217
0618131D 1E1B1C1F
20212225 24232627
28000000 00000000
006B92A4 00000037
066B9A58 00000037
2A2B2C2D 2E2F3031
32333435 36373839
3A3B3C3D 3E3F4041
42434445 46474849
4A4B4C4D 4E4F5051
52535455 56575859
5A5B5C5D 5E5F6000
06407AAC 000000C8
01010202 03030404
05050606 07070808
0909330A 0B0B0C0C
0D0D0E0E 130F1410
15111612 17131814
19151C16 1D171E18
1F19201A 211B221C
231D241E 251F2932
2A332B34 2C352D36
2F373038 3139323A
2E3BFFFF 40024101
42024301 44024501
46024701 48024901
4A024B01 4C024D01
4E024F02 50025102
52015301 54015501
56015701 58015901
5A015B01 5C015D01
5E015F01 60016101
62016301 64016501
66016701 68016901
6A016B01 6C016D01
6E016F01 70017101
72017301 74017501
76010000 00000000
 

Phantom Wings

Smash Apprentice
Joined
Jul 29, 2008
Messages
150
I've made tests. I created a code for having 255 extra stages.

It works, but...

- It only shows 15 stages on the CSS.
- Since I don't know what to name the stages/modules or based in what they're supposed to be... I mean, I get a FD based stage, so since I don't know what is the custom stage based off of, I need a module. But to what should I convert the FD module?
Ah, sorry about that. I forgot to mention that the code uses its own override id of 00.
Anyways, don't forget that once you've added the stages to the index, you also need to add them to the roster (either the Brawl one or the Melee one.)

Almost.

Just so everyone knows, the Stage Data Byte Count refers to the bytes below where the value would go.
You know, where the ZZWWs are.

I intend to move the Melee stages and Brawl stages all at the first page.

All of my custom hacked stages are on the second.

I have 55 custom stages.

Is this correct?

Code:
Eternal Yoshi's SSS
I was kinda' considering that idea as well - it has a certain practicality to it. So far it looks like your code is alright - have you had a chance to test it yet?
 

shanus

Smash Hero
Joined
Nov 17, 2005
Messages
6,055
PW, this is awesome. Nice work. This will definitely be included in Project M.

Let me know if you want access to the clone engine files (and Project M svn) and contribute to Dantarions work :)

(That or landing detection - PM team will love you forever!)
 

Fijoe

Smash Journeyman
Joined
Nov 18, 2009
Messages
339
This code will not work for me...I have 15 stage files named STGCUSTOM01 to STGCUSTOM0E and 15 .rels named st_custom01 to st_custom0E. I ran the 15-stages code you gave and the FPC. The 15 stages showed up but whenever I clicked one, the game froze(the wii didn't though). All the stages work fine with the 9-stage code. What am I doing wrong? :/
Anyone? :c
 
Top Bottom