It's a shame that we've been hacking this game for quite a while, but no one has looked into SSE files.
This collab will hopefully get us enough information to start changing them. The eventual goal being a full editor of SSE files, able to set enemy spawn points, put in obstacles, etc.
If you want to contribute, just start posting whatever findings you can!
INFORMATION:-The first division of all stage files appears to be enemies you have to load all the information of to use. Melee stages also have this, maybe making some interesting things possible without .rel editing.
-Common enemies such as primids, as well as some SSE items, are loaded from Adventure_Common.arc
-The logic for enemies ( bosses included ) is located in the division NOT containing brres in its name. It is MiscData[0] there, and looks to be similar to PSA code in hex.
- Adventure_Common.arc also contains an ARC division called "Jump" that appears to control room transitions. It has 29 ADSJ (Adventure Stage Jump) files in it. Here's some basic notes on the file format, by Sky Grounder:
QuoteSorry but you are not allowed to view spoiler contents.
Interesting. I wonder, has anyone ever looked at boss files?
There's one division containing art assets, and another containing a single file... probably the logic, possibly in a PSA-like format (though probably uneditable by PSA itself).
Edit: From what I can tell from the hex code, it appears very similar indeed. However, it is still uneditable by PSA.
Although really, it has no reason to be that much different... this needs looking into by someone who knows the layout of PSA files in hex.
I mainly want to know so I can take a look at IDs in ef_taboo.pac.
\stage\adventure\adventure_common.pac this file contains alot of adventure data.
There's an ARC in it named 'jump', which contains MiscDatas with the letters 'ADSJ'. I believe it contains information about where you "jump" to, when the stage's loading from a new stage file (.pac).
EDIT:
Quote from: ForOhFor Error on November 16, 2011, 12:01:58 AM
-The first division of all stage files appears to be enemies you have to load all the information of to use. Melee stages also have this, maybe making some interesting things possible without .rel editing.
From what I know, the enemies are loaded through RELs, so if we were to make them work in regular brawl, it would require some heavy REL editing :(
EDIT2:
MiscData[4] contains BGMG, which seems to control which song the different stages (to be more exact, files) uses.
Making them work in regular brawl would be epic, just like the ones in Melee. XD
But I mostly want to find out how SSE effect files are loaded.
Quote from: Tabuu Forte Akugun on November 17, 2011, 12:37:06 AM
Making them work in regular brawl would be epic, just like the ones in Melee. XD
But I mostly want to find out how SSE effect files are loaded.
The effect files are most likely loaded through enemy PSA/AI, as for the stages.
Well, someone needs to make them work in PSA, because I'd like to know what their files' IDs are.
I will have more for you saturday...
but at least now I know I'm not the only one looking into this :)
Ooh, schweet. I look forward to your findings, Tcll!
This is what I have about the BGMG format:
Header:
Size - 0x0F
0x00(4): BGMG
0x04(4): Number of strings to entries (0x010F (271))
0x08(4): Nulls
0x0C(4): Nulls
Strings:
Size - 0x03
Every string is 4 bytes and leads to the entries.
Entries:
Size - 0x0F
Starts when the string list ends.
0x00(4): Stage ID
0x04(4): Song ID*
0x08(4): Song volume? (always 0x64 (100))
0x0C(4): Nulls
*FFFFFFFF = No song?
Song IDs (The ones with the * don't exist):
Sorry but you are not allowed to view spoiler contents.
Quote from: Tabuu Forte Akugun on December 01, 2011, 03:13:43 PMOoh, schweet. I look forward to your findings, Tcll!
well... eh-heh... I hate to be a heartbreaker,
but I havn't really been doing too much research into the SSE...
however, I was looking through the stages recently to see if I couldn't find the scripting for them >_>
I didn't quite succeed at that, but I did manage to stumble over the BLOC format, which contains alot more unheard of formats >_>
meh...
I'm not into scripting yet anyways...
need to finish models first...
TBH, I havn't been into the SSE because there wasn't really much going around about it...
as well as me and my large list of big things to do...
these being a few of them:
Sorry but you are not allowed to view spoiler contents.
I will get more into the SSE now ;)
I've had a few plans for my own adventure mode from my game "Exp:824"
(something I'd <3 to see in brawl)
I think I might look into that "jump" ARC. Linking stages in different ways would be useful, especially if we discover what triggers room (file) transitions. After all, the fist step to editing any SSE stage would be defining the layout - collisions, rooms, and such.
Quote from: ForOhFor Error on December 06, 2011, 05:26:23 AM
I think I might look into that "jump" ARC. Linking stages in different ways would be useful, especially if we discover what triggers room (file) transitions. After all, the fist step to editing any SSE stage would be defining the layout - collisions, rooms, and such.
heh
that's exactly the reason I was looking into the stages XDD
the first one I opened was the one with that trap room... go figure XD
(open the door and fall into a lava pit)
anyways...
that's where I found the BLOC and ADPM files...
there's another one that doesn't seem to have a header magic...
I'm guessing that's the logic...
I guess what you want would prbly be in the logic, as I didn't see any scripts...
however, the BLOC file contains quite a few magics...
here's a part from it:
00000000 | 42 4C 4F 43 00 00 00 08 00 00 00 80 00 00 00 00 - BLOC.......€....
00000016 | 00 00 00 30 00 00 00 48 00 00 00 6C 00 00 02 48 - ...0...H...l...H
00000032 | 00 00 05 3C 00 00 0B 14 00 00 0B 70 00 00 0B B4 - ...<.......p...´
00000048 | 47 4D 53 4A 00 00 00 01 00 00 00 0C 09 00 01 01 - GMSJ............
00000064 | 00 01 00 00 00 C9 01 00 47 45 54 32 00 00 00 01 - .....É..GET2....
00000080 | 00 00 00 0C 01 01 00 00 45 2B 40 00 C3 7F 00 00 - ........E+@.Ã..
00000096 | 45 37 20 00 42 92 00 00 00 C9 01 00 47 4D 57 41 - E7 .B'...É..GMWA
00000112 | 00 00 00 03 00 00 00 14 00 00 00 AC 00 00 01 44 - ...........¬...D
00000128 | 44 BA 40 00 C2 F0 00 00 00 00 00 00 42 B4 00 00 - Dº@.Âð......B´..
00000144 | 00 6C FF 00 3F 80 00 00 00 00 00 00 3F 80 00 00 - .lÿ.?€......?€..
00000160 | 00 01 FF 00 00 00 00 00 00 00 01 00 00 00 01 00 - ..ÿ.............
00000176 | 00 DC 01 00 00 00 00 00 00 00 00 00 00 00 00 00 - .Ü..............
00000192 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 - ................lemme know if you find out anything more ;)
It's great to know that I'm not the only one interested in figuring out the SSE files :D
Quote from: ForOhFor Error on December 06, 2011, 05:26:23 AM
I think I might look into that "jump" ARC. Linking stages in different ways would be useful, especially if we discover what triggers room (file) transitions. After all, the fist step to editing any SSE stage would be defining the layout - collisions, rooms, and such.
Well the "jump" ARC contains 29 files which all have the format "ADSJ". The format is really simple, just like the "BGMG" format.
Here's my specs:
Sorry but you are not allowed to view spoiler contents.
I believe the bytes in green loads the file with those numbers, for example:
04 00 01 00 loads 040001.pac,
04 01 01 00 loads 040101.pac,
04 02 01 00 loads 040201.pac and
04 02 01 01 loads 040201a.pac (the last digit most likely adds a letter to the name if over 00 (alphabetically).
Some of the entries loads the same file. I guess it's because there are multiple entrances and exits.
The rest of the bytes likely contains some other IDs.[/spoiler]
@Tcll: Maybe the "BLOC" file is a container for other files just like "ARC" and "BRRES"?
ADSJ Most likely stands for "Adventure Stage Jump"
May I suggest that we find one of the simplest stages (1 room to a sub-room, preferably) and modify it so that instead of jumping to the sub-room, it jumps to, say, Tabuu?
The Plains would probably fit:
The Plains
070001 : After the Minister!
070001a: Sub-room
070002 : The Floating Platform
Quote from: ForOhFor Error on December 06, 2011, 08:17:39 PM
ADSJ Most likely stands for "Adventure Stage Jump"
May I suggest that we find one of the simplest stages (1 room to a sub-room, preferably) and modify it so that instead of jumping to the sub-room, it jumps to, say, Tabuu?
The Plains would probably fit:
The Plains
070001 : After the Minister!
070001a: Sub-room
070002 : The Floating Platform
I think that's just a coincidental acro 0.o
I think there'd more likely be an ID offset to jump to... >_>
It's a useful acronym nonetheless; We'll never know what it stands for for sure, but we can damn well guess.
Besides, it's easy enough to remember.
Oh, in this:
http://forums.kc-mm.com/index.php?topic=3609.0
there are 34 divisions into stages. 5 are one-room. That makes 29 that need to 'jump' between rooms, the amount of ADSJ files in the Jump ARC.
I'm willing to guess that the first 2 digits in each division correspond to the MiscData file id.
Seems to fit, no?
This seems really important for my project.
What SSE files do you guys want me to check out?
If you could check various files to see if you can find enemy spawns, or find in the stages how doors and stage transitions are placed, that would be good.
I'd also be interested in knowing how Boss files work, and how to properly port their effects.
MiscData[2] in SSE stages contain respawn points for stages that have multiple respawn points (maybe you respawn to the closest one?) and
MiscData[9] contains stepjump, which should be directly related to the stage's ADSJ file.
I hope someday someone makes an editor for those files. I'm really curious to see how they work.
The one I mentioned in my previous post is actually MDL0 files with only bones. (I forgot to say it >.< )
Only bones? Seems a little odd.
Not at all. In my casual looks through the files, I found a lot of them. Each of the bones loads an instance, or triggers something, etc.
ModelData[9] contains one of such models that has bones with names that correspond to the strings in the entries in ADSJ files. Presumably, some programming makes this model activate a transition corresponding to the bone name, and uses the "unknowns" in the entries to load a stage with a corresponding number. The question is - why are there two of the "unknowns" in the entry?
Anyway, It's finally the weekend, so I can totally work on this now (also, I finished Skyward Sword).
Already?? It's barely come out! XD
Found something i don't know if it will be useful:
Sorry but you are not allowed to view spoiler contents.
Sorry but you are not allowed to view spoiler contents.
They were in MiscData[100] in 920801.
That's the structure for regular stages. That's the Tabuu battle, so I guess the "proper" fights (those that P2 can't teleport in) only need the normal Melee stage bone setup.
I've extracted the files from the jump ARC (the one with the ADSJ files) and added stage names that I think the files refers to.
http://www.mediafire.com/?6fn7uudfvubdteo
Also, the stage IDs aren't exactly like the file names (at least not with every stage), but I still think they are stage IDs.
Sorry but you are not allowed to view spoiler contents.
Blue: 3 first bytes read as dec, not sure about the 4th. (Stage ID also?)
Green: Each byte read as hex. (Stage ID?)
Red: Entrance/exit properties?
About the BLOC format, it's really simple:
Sorry but you are not allowed to view spoiler contents.
Bump. Did everyone lose interest? :-\
Nah, I just was busy w/ schoolwork (and still am, for today)
Quote from: ForOhFor Error on January 01, 2012, 08:44:54 PM
Nah, I just was busy w/ schoolwork (and still am, for today)
In the christmas holidays? D:
That's what you get with a difficult science course. It's just writing equations and gas laws now, though. Tedious, but easy.
I would like to help sse is my favorite mode in the game
I know this thread is long dead by now, but since somebody ELSE bumped it, i might as well share some info.
The miscdata[0] contained in the enemy files are indeed moveset files. While they themselves cannot be edited in PSA, you CAN extract the miscdata[0] and import it into someone else's file. (mario for example) using brawlbox. Then, opening that modified mario in PSAmod will reveal the PSA coding and it does indeed load it fine.
It's absolutely essential to use PSAmod though. OpenSA and tabuu will not work. The files don't seem to have any MAIN coding in the subactions whatsoever, only actions. and ALOT of actions might i add. Many of the commands in the PSA are unknown though, and sifting through and figuring out what they do will likely be a lengthy process. You can occasionally find hitboxes though, as well as a few other notable commands. Though the gfx tab in the subactions seem to hold alot of information. Just no MAIN coding.
Well, that's all i got for now. i don't believe posting here was breaking any rules since it's been bumped, but i apologize if it does. One last thing to note, Tabuu himself has well over 1,200 actions.
=========================================================================
I also have more info on the ADJS files.
Header:
Size - 0x0F
0x00(4): ADSJ
0x04(4): Number of Entries in the offset section
0x08(4): Nulls
0x0C(4): Nulls
Offset section:
The offset section comes right after the header in most files, and contains offsets to each jump data within the file. The "sj_" Jumps are triggered by the StepJump bones that were found prior.
every 4 bytes is an offset within the file that where the jump data begins, i used miscdata[42] as an example here:
00 00 04 1C | 00 00 04 48 | 00 00 04 74 | 00 00 04 A0 |
00 00 04 CC | 00 00 04 F8 | 00 00 05 24 | 00 00 05 50 |
00 00 05 7C | 00 00 05 A8 | 00 00 05 D4 | 00 00 06 00 |
00 00 06 2C | 00 00 06 58 | 00 00 06 84 | 00 00 06 B0 |
These offsets point to the beginning of each jump, in this example, i go to the first offset (41C) and because it is the first offset, it is also the first entry in the jumps data
Beginning of Jump data / unknown
1st 4 bytes are possibly flags for the jump, second is the file ID. #'s are in hex, convert to decimal to find filename. The last byte indicates sub-room
String name of the jump
Sorry but you are not allowed to view spoiler contents.
These are still just speculation, but it's a good start. i AM 100% sure about the offset section and the offset entries count though.
Nice. I worked on this a long time ago, until my laptop stopped working, and I lost all my work.
Still, I do have a link to a folder containing all the exported ADSJ files:
http://www.mediafire.com/download/6fn7uudfvubdteo/jump_(ADSJ).zip (http://www.mediafire.com/download/6fn7uudfvubdteo/jump_(ADSJ).zip)
These stages don't contain ADSJ files, due to being only one-room stages or coded differently:
Midair stadium (3 stages, but still doesn't use ADSJ)
The Ruined Hall
The Glacial Peak
Battleship Halberd Bridge
ADSJ files connects the different parts of stages. It uses offsets to refer to the stage-ID, and I believe the flags are for which entrance / outrance are used (perhaps Bone-IDs?)
---
EDIT: I also have the format for BGMG files, which controls which song is played in which stage (room) in SSE:
http://www.mediafire.com/view/jhelruref80vne9/BGMG_simple.txt (http://www.mediafire.com/view/jhelruref80vne9/BGMG_simple.txt)
Going to lock this thread, just so anything newly found doesn't go in this dead topic.