I had an idea to make stages flat like flat zone. So I'm guessing that the loading of the stage has the dimensions of the stage.The file that holds the loading data is the corresponding .rel to the stage. So if I could find the part that loads dimensions I could compare a flat stage with a 3d stage and make the necessary changes.
the .rel is a relocatable file, it will be in memory when the game needs it. you can make a memdump and disassemble from that to see how it's used
Well I've looked in the actual .rel with a hex editor and compared them. The problem is that the file has a lot of hex and lots of differences so it's hard to find the one difference between flat and normal stages.
they're small relocatable code pieces. they're dynamically linked at runtime. looking in a hex editor won't do you much good. you want to see how it looks when linked in. for this you should dump memory while game is running and you'll see how the Rso*() code links them into the main.dol
What's the Rso*?
Sorry feel like a noob doing this but.... how would I find that in a mem dump.
RsoLink, RsoBlah, RsoIDontRememberNames are all the functions that are in the sdk to dynamically link relocatable objects.
to find them in memory... find a string in the .rso and search for it in memory. then trace back to find where the start is.
Ok but where to find the rso file.
Alright did a little research for the rso file and all that came up in a lot of places was some lego sound file. :-\ Do you mind explaining what one is and where to find it.
the .rel is an rso file.
relocatable source file
you can see other rso-esque files with extension: .rso, .rel, .sel
.sel is mainly just for symbols and can be used to get the linking info for other types
Wow I feel a little dumb :D Anyways back to hunting.
I think I found something so how would I trace back to the start?
Alright I just talked to a guy called mewtwo2000 a legendary stage builder for brawl. He said that I should be able to flatten the stage in brawl box. I'll do that and if it works I can make a code by comparing the edited files in a hex editor and use the offset to make the code.