I'm honestly surprised nobody else decided to make a stage hacking guide so i guess i'll do it
But Before i start here are some useful links for stage makers
Bero's Mod of BrawlBoxBrawlWallStage H.A.C.K.ing threadGuide For Builder Block Stages
1.The Basic File Structure:For this part i'll be explaining the file structure of Final Destination and what each number does
Note: Every Stage Follows this structure just for this tutorial i decided to use FD for an example
1.Main Stage-
This is the main stage of the file for final destination. It's pretty much where you'll spend most of your time editing while viewing the file
2.Stage Position-
This is the spawn points for the stage. You'll probably won't have to to touch this if you're doing a background swap but if you're making a custom stage then this is a major thing that will help make the stage better
3.Collision Editor-
Self Explanatory really. Not going to go too much into it as it'd take forever but know this when creating a custom stage this is what determines what is ground and what isn't
4.Texture Data-
Not much to say on this really just that it holds all of the textures for the stage.
(You can have more than one texture data in a stage just be careful of filesize limit which i'll explain later)
5.Scene Data-
Determines how dark/light characters are on the stage.
Scene data is easily editable as the B1-B3 are RGB values
6.Stage Effect-
Honestly you'll probably never touch this part of the file as all it does is give graphic effects to certain stage elements. If you want said stage graphic removed all you do is just delete the ef_ file.
2.What's in the modeldatasFor this part i'll be explaining what's inside the modeldatas and what each does
This is what is inside of modeldata 1 for Final Destination looks somewhat confusing at first but really it's not.
MDL0-
The grey one in pictured . This is the actual model that is used for the stage. There is no limit on how many can be imported however too many in one modeldata (15 is a good number to stop at) will cause the game to lag so be careful when importing models.
CHR0-
The blue one pictured above. The Chr0 data is the file that makes things animate and such but there can only be one chr0 file in an modeldata unless there's more than one already in it(ones from the subspace as good examples and so are the onett ones) or the second chr0 file won't work
VIS0-
The brown one pictured above. The Vis0 data is the part of the file that makes parts of a model appear and disappear at different times. Wouldn't recommend editing this unless you really know what you're doing
CLR0-
The yellow one picture above. Not much to say on this one other than it makes the textures change colors
SRT0-
The white one pictured above. This one controls texture movement (think of clouds for this)
Really weird one out of all of them but does awesome effects (don't worry about this as it can't be edited yet)
3. Making A Stage (Background Elements)Now that the basic background information is done i'll show you how to make a background swap type stage
For this part i'm going to try and add Luigi's Mansion's Moon to FD
1.For me to be able to do this i'm going to have to download the original Luigi Mansion File2.Now that i've downloaded the file i've got it open and looking through the file the moon model is inside modeldata0 and now that i know which model data it is in i'll export it for later
3.Now that i've located the moon model i would go under textures 1 to see what textures it needs4.Now that i know what textures it uses i would go to the texturedata and remove all the textures but those 3 and export the texture data
5.Since FD's Scene Data changes i'm going to export the scene data 6.Now that i'm done saving what i need from Luigi's Mansion's file i'm going to open FD's file and replace the space model data with the one with the moon in it:7.Since FD's space model is now gone that means that some textures aren't needed anymore so i would go to textures1 and see which textures are needed and delete the ones not neededThose are the textures need by FD's stage everything else isn't needed
8.Now that i know the list of textures needed i'll delete the unneeded ones
That is my end result9.Next thing i need to do is import Luigi's Mansion's Textures into the fileNow that the brres is imported into the file there'll be a couple of issuesLooking at the top left will be this:
If i were to leave it as it is the stage would crash so i have to change it to this:10.Now the last thing to replace is FD's Scene Data with Luigi's Mansions
But to guarantee it won't freeze rename it to StgFinal0011.Now that everything is in order i'll delete the Ef_stgfinal pac as it's not needed anymoreNow i save the file and try in-game
Result:
Congratulations you can now make BG Swapped Stages!
Here's The File if you want to use it as a referenceNote:This is also how you would get elements from other stages to work as well it's limited to background swaps
4.How To Lower Filesize
For this part of the guide i'll be showing a good way to lower the filesize for a stage
Note:Every stage has a buffer zone of .5mb to 1.5mb anything higher than that range WILL cause a freeze
1.Open an un-edited BF pac and go to the texture data2.Looking through the texture data you'll notice the main image sizes are 256x256 and 512x512 reducing those will help reduce the filesize greatly
3.Export all the textures into a folder for later use4.Now open all of the textures in a image editor(preferably Paint.Net as it's very simple)5.(optional) Find some tunes to listen to as this takes a while
6.In Paint.Net find all images that are 256x256(or have a 256 in the image size) and 512x512(or again has that number in the image size) and close all the others
7.Once that is done start resizing according to these pics:
That is for the 256 image ones
For 512 image one
8.Now that's finished replace the textures with the resized onesNote:you can also do it the regular way but it takes longer however it has the possibility of lower the filesize even more by editing the level of detail when importing a texture
By lowering it to 1 you can reduce the size the image adds to a negative increase to the file compared to the original(which is what i did to the file)9.Now that i've replaced all the textures i'll save the file and see how much the filesize changedThat was the original filesize New filesize
As you can see that's a huge difference
I'm not going to upload the file as some of the images got really pixelated when i resized them (Paint.net failed me for once >.>)
But this is basically a good way to lower filesize if the stage is going over the limit however don't do all of the images that are big like i did only a couple to 5 are really needed to to push the stage back under the filesize
5.Tips For Stage Making
1.There's no limit to models that can be inside a model data
2.Don't save files edited in brawlwall as it's very glitchy instead transfer the changes over into brawlbox by edited the bones of the stgposition inside modeldata 100 (only mess with translation point nothing else!!!)
3.If you need to condense a file you can free up modeldata 101 by moving the poketrainer00 model into modeldata 100 thus leaving a free modeldata for you to use
4.There is also no limit to texture datas that can be inside a file as long as the file is under the filesize limit
5.Textures can also be inside of the modeldata
Hope this helped!
Guide is currently a WIP however i do hoped it helped a bit
Feedback wanted