Oh snap. The Smash Sage Phantom Wings strikes again!
This post has the updated modset of Brawlbox.
PAT0 editing works, which means we can add icons.
However, the file size limit is very strict.
http://www.smashboards.com/showpost.php?p=12035248&postcount=531The tutorial is over here:
http://www.smashboards.com/showpost.php?p=11670735&postcount=297This is copied from his post
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.)
Stage Roster Exp, 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.
[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.
[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:
[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 Entry Offset (base=Entry 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 Name Index
short Palette 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.
OK. For those who are lazy or don't know what hex is, I included a SSS which maxes out both menus.
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
00010203 04050908
0A0B0C0D 0E0F1114
151A1917 06131D1B
1C1F2021 22252423
27280710 12161800
006B92A4 00000027
066B9A58 00000027
1E262A2B 2C2D2E2F
30313233 34353637
38393A3B 3C3D3E3F
40414243 44454647
48494A4B 4C4D4E00
06407AAC 000000A0
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
I turned off the Tracklist modifier since it was responsible for a bug where if you go back to the title screen and return to the main menu, the game would freeze.
Other than that, the tracklist modifier works great.
If you want to risk it, Try this:
0610F9BC 00000014
60000000 60000000
3C80811A 7C601B78
608447E7 00000000
4A000000 81000000
301A46F8 6D755072
1417DF44 7CE03B78
1417DF4C 7C0400AE
161A47E8 00000068
00000102 03040607
08090A0B 0C0D0E0E
0E0E0E0F 10111213
14151515 16171819
1A1B1C1D 1E1F2D2D
2D202122 23242526
2728290A 2D2D2D2D
2D2D2D2D 2D2D2D2D
00000F22 1C26010C
121C0A03 03270C0D
05060C1A 150A1D08
101D000A 0A180305
27000000 00000000
E0000000 80008000
The 68 is where the value that LL is in this code.
The highlighted is where the custom stages' tracklists are.
Edit them how you please.
Yes, it's meant to be used with maxed out SSS.
This part of post was copied from Gokuguy's thread so that anyone who needs appropriate .rels can DL his link instead of asking the same questions time and time again.Sorry if this is in the wrong section, I'm kinda new here, & haven't learned much about this site in general.
When I first started SSBB hacks, everything was great, then came stage expansion, & I was clueless about the new rel files, for a time. I want to help prevent my issues from happening with others, as well as save them time. After finally understanding them, I decided to make a rar, full of these rel files, already made, for others. The rel files are easily named, & there is an easy guide for completely new people in with them. I hope I have made some headache or confusion disappear with this pack. Credit is also given in the readme to everyone that helped me get these set up.
Here is the download.
http://www.mediafire.com/?6htiy5ry6jpy88yOther useful links:
Stage Expansion + Fixed SSS Code
http://allisbrawl.com/forum/topic.aspx?pid=1312951Module Files Info
http://ssbbcustom.wikia.com/wiki/Module_files