Home Gallery Resources The Team Rules chat Login Register
Pages:  [1] 2 3 4 ... 8
Author Topic: [8/1/14] The New File Research Thread | New video series on SSE files!  (Read 51176 times)
0 Members and 1 Guest are viewing this topic.
Sammi Husky
Lol Kitten
*********
Offline Offline

Posts: 873


  • Awards Fiery Topic Renowned Hacker >9000 King for a Day

  • View Profile Awards
    « on: March 18, 2014, 07:24:13 PM »


    Hello all, In the past there have been a few Threads about unknown Brawl files,  but most of them are long forgotten and died out before things could really be finished. Alot of information was discovered in those threads, but sadly there isn't one central point to keep this information, or to continue research. So, that's where this thread comes in. While most of brawl's files have been parsed and are now editable, i feel there is still potential in the files that remain mostly un-touched.One of the mostly untouched areas in Brawl modding is SSE. Some files have been partially decoded as of now, but with full knowledge over the files, we may be able to write a completely new SSE. From that, someone would be able to write a tool to edit the files. That's just one possibility of uncovering the unknown files, just think of the other files that are still unknown.

    This thread is going to serve as a place for people to help with parsing Brawl files and figuring out exactly what they do. I'll post some of the information from the previous threads here as well to try and keep everything centralized. Hence why this post will borrow almost copy paste from previous threads. Thank you to all who helped uncover these files and wrote these out.



    Tutorials

        Intro to Hexing
    For those completely new to hexing, let's do a quick little exercise. Open Brawlbox, select File --> New --> BRRES. Right-Click the BRRES and select New --> Character Animation. Finally, Right-Click the animation and create a new bone animation. You should end up with this:

    Now you should have a basic animation file, 1 frame without any animation data. Right-Click and export the NEWCHR animation (CHR0) so it can be hexed. Open up the animation CHR0 in your hex editor, any hex editor will work, I'll be using Notepad++ but the results will be the same. Assuming you didn't rename the CHR0, it should look more or less like this, depending on your view settings:

    So you might be thinking "i could never read what these random numbers mean!" but let's get into that right now. Since there aren't any animations in this file, it's pretty much empty. Open the animation in Brawlbox and change the Translation X keyframe value to 1, export the CHR0 and open it in hex again.

    You can see some changes here and there, but how do we find out what they mean? Thanks to Brawlbox, we know that this animation file has a single keyframe with a value of 1. That number (keyframe value, not amount of keyframes) was translated into a 8-digit value called a Float value, which can be translated with this webpage. Tools like these are a hexer's best friend.

    Using that webpage, you can see that 1.0 in hexidecimal is 3F 80 00 00. You should be able to find that number in your hex editor: if not, then It's highlighted in the previous image. Any single number, even 99999 or 3.14, will be displayed as an 8-digit float value. If you change the keyframe value in Brawlbox, then the only difference will be that float value: everything else remains the same.

    Now let's do something cool with your hex editor: Click on the beginning of the float value and type 44 a7 20 00, save and open in Brawlbox. You just hexed the keyframe value from 1 to 1337. Pretty neat, right?

    This is what Brawl hackers do to change simple number values that aren't editable in Brawlbox, as well as hacking computer files in general. Try using your new knowledge of float values and hexing to change numbers in other Brawl files, or add more keyframes with numbers and see where each number ends up.

    In the meantime, I'll set up the next tutorial about identifying file structures.

    Videos *Update
    Proofs of concept / teasers
    <a href="http://youtu.be/jbW3r-WALX0" target="_blank" class="aeva_link bbc_link new_win">http://youtu.be/jbW3r-WALX0</a>

    <a href="http://youtu.be/kTWW_ooBJh4" target="_blank" class="aeva_link bbc_link new_win">http://youtu.be/kTWW_ooBJh4</a>


    Introductory video to new SSE series.

    <a href="http://youtu.be/GXJ9EfzQTJ0" target="_blank" class="aeva_link bbc_link new_win">http://youtu.be/GXJ9EfzQTJ0</a>


    Download links:
    HXD, a commonly-used hex editor.
    Notepad++, a handy program based off of Notepad with a Hex Plugin.
    Hexidecimal Number Converter (website, not a download)

    File Structures:

    General / stage related:

        BLOC
    Varies. commonly found in miscdata[5]
    The BLOC format is an archive that can hold many different types of files, similar to BRRES and ARC files.

    0x00(4) - BLOC
    0x04(4) - # of Files in Archive
    0x08(4) - unknown/always 80
    0x0C(4) - Nulls?
    0x10  - offset table begins
       ADSJ
    Adventure_Common under 'jump'
    =======================================================================
    ADSJ:      
    The jumps from doors to different stages, can be used to add new stages up to 999999e
    =======================================================================

    Header:
    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.

    Jump Data:
    0x00(4) - Possibly File ID of door to 'jump' to. (decimal) 4th byte denotes door Index
    0x04(4) - Possibly flags for the jump
    0x08(4) - possibly File ID of door jumping from (hex) 4th byte denotes door Index
    0x12 -String name of stepjump bone
       GDOR
    In BLOC files, most often miscdata[5]
    =======================================================================
    GDOR
    Controls the doors inside each stage, including where each door leads to.
    Needs appropriate info in adventure common.
    =======================================================================

    Header:
    0x00 - GDOR
    0x04 - Number of entries
    0x08 - Offset section begins

    Door Data:
    0x24 - Unknown Float
    0x28 - Unknown Float
    0x2C - unknown Float
    0x30 - Stage File ID
    0x33 - Door Index
    0x34 - Unknown
    0x38 - StepJump "to" bone x-translation
    0x3C - StepJump "to" bone z-translation

       GNDV
    Inside BLOC files

    =======================================================================
    GNDV:
    Seems to have to do with animations, possibly ground based VIS0 animations. also controls the sound that is played upon activation
    Found in Skyworlds collapsing clouds
    =======================================================================

    Header:
    size- 0x08
    0x00 -GNDV
    0x04-Number of entries in the file

    Offset section:
    The offset section comes right after the header in most files, and contains offsets to each Ground data entry in the file

    Ground data:
    Entry size -0x30

    0x00 - string of entry / bone that triggers the animation

    after the string entry The next data you will see will be the hexadecimal representation of the Infoindex for the sound that is played when the animation is triggered. In this example it is '22 9F'

    Example:
    00 00 00 00 | 53 74 65 70 | 43 6F 6C 6C | 61 70 73 65 |    ....StepCollapse0
    30 38 00 00 | 00 00 00 00 | 00 00 00 00 | 00 00 00 00 |   8..............
    00 00 00 00 | 00 00 22 9F | 00 67 00 02 | 00 D0 01 00 |   ......"Ÿ.g...Ð..

       SCLA
    Miscdata[30] in *most* stages
    =======================================================================
    SCLA
    Possibly Data table for stages
    Seems to be tied to the collision data in miscdata[2]
    =======================================================================

    All stages have a SCLA file, most have an index of MiscData[30]. Possibly Data table for stages
    Seems to be tied to the collision data in miscdata[2]. This file is almost completely untouched, aside from the ground data that i uncovered recently. There are likely MANY more data types within this file, its all a matter of finding out what they do.

    Here's the ones that have a different index:

    STGJUNGLE.pac       MiscData[100]
    STGPICTCHAT_xx.pac  MiscData[8]
    STGDXBIGBLUE.pac    MiscData[70]
    STGEDIT_0.pac       MiscData[903]
    STGEDIT_1.pac       MiscData[1903]
    STGEDIT_2.pac       MiscData[2903]
    STGTARGETLV1.pac    MiscData[50]
    STGTARGETLV2.pac    MiscData[50]
    STGTARGETLv3.pac    MiscData[50]
    STGTARGETLv4.pac    MiscData[50]
    STGTARGETLv5.pac    MiscData[50]

    *STGCHARAROLL_xx.pac doesn't have any.

    There's also a SCLA in adventure_common_en.pac (MiscData[0]).

    Header:
    size -0x0F
    0x04 - Number of entries in offset section


    Offset section:
    The offset section comes directly after the header in all files i've found. The File's values seem to be static between files.
    The offsets values here are 4 bytes long and point to offsets later in the file that contain data.

    Notable Offsets:
    Offsets to these data tables change depending on the collision data in miscdata[2] it seems, so these will be descriptions of offsets that i know are contained in this file

    -ground Collision data. Contains step + landing sounds, ground traction(Float value), and somewhat controls gfx played when dashing on ground

    Ground DATA:
    Size of entry - 0x54
    0x00 - Numeric ID of the entry
    0x04 - Float value for ground traction. 0 = never ending slide. 10 = immediate stop with no slide.

    Example of ground data:
                                                               00 00 00 17
    3F 80 00 00 00 00 00 00 01 01 00 00 00 00 00 00
    00 00 00 DD 00 00 00 DD 00 00 00 DD 00 00 00 DD
    01 01 00 00 00 00 00 00 00 00 00 E0 00 00 00 E0
    00 00 00 E0 00 00 00 E0 01 01 00 00 00 00 00 00
    00 00 00 E0 00 00 00 E0 00 00 00 E0 00 00 00 E0
       GSND
    Miscdata[8] in some single room battle stages

    ===================================================================
    GSND
    Sounds played on stage. found in single room battle stages
    (rooms like level 1, Mario vs Kirby) Labled as miscdata[8]
    Always contained within BLOC files.
    ===================================================================

    Header:
    size -0x08

    0x00 - GSND
    0X04 - Number of entries in the file
    0x08 Offset section begins

    Data:
    each offset in the offset section is relative to the beginning of the GSND file.
    The data the offsets point to are the Info index of sounds in smashbros_sound.brsar
    represented as hex. Convert these numbers to decimal to find the sound that gets played.

    0x00 - Info index of sound represented in Hex
    ox04 - String beginning flag? always followed by 16 null bytes
    0x14 - unknown float value.
    0x18 - nulls
    0x1C - string of stage?
    0x3C - Trigger ID?
       BGMG
    Adventure_Common labeled miscdata[4]

    ===================================================================
    BGMG
    Music properties for SSE Stages/Boss Battles/Classic Mode (final stage)
    ===================================================================

    Header (0x10)

    0x00(4)   BGMG
    0x04(4)   # of entries (0x10F)
    0x08(4)   Nulls
    0x0C(4)   Nulls
    0x10 - offset section begins

    Entry (0x10)

    0x00(4)   Stage/file ID
    0x04(4)   Song ID
    0x08(4)   Volume(?) (Always 0x64 (100))
    0x0C(4)   Nulls

    Stage ID list:
    01 00 01 00 Midair Stadium
    03 00 01 00 Midair Stadium
    03 01 01 00 Midair Stadium (Vs. Petey Pirahna)

    04 00 01 00 Sky World
    04 01 01 00 Sky World
    04 02 01 00 Sky World
    04 02 01 01 Sky World

    05 00 01 00 Sea of Clouds
    05 01 02 00 Sea of Clouds
    05 01 02 01 Sea of Clouds
    05 01 03 00 Sea of Clouds

    06 00 01 00 The Jungle
    06 00 02 00 The Jungle
    06 00 02 01 The Jungle
    06 00 03 00 The Jungle
    06 00 04 00 The Jungle
    06 00 04 01 The Jungle

    07 00 01 00 The Plain
    07 00 01 01 The Plain
    07 00 02 00 The Plain

    08 00 01 00 The Lake (Vs. Rayquaza)
    08 01 01 00 The Lake
    08 01 02 00 The Lake
    08 01 03 00 The Lake
    08 01 03 01 The Lake
    08 01 03 02 The Lake
    08 01 04 00 The Lake
    08 01 04 01 The Lake
    08 01 04 02 The Lake
    08 01 05 00 The Lake
    08 01 05 01 The Lake
    08 02 01 00 The Lake
    08 03 01 00 The Lake

    09 00 01 00 The Ruined Zoo
    09 01 01 00 The Ruined Zoo (Vs. Porky)
    09 02 01 00 The Ruined Zoo
    09 02 02 00 The Ruined Zoo
    09 02 03 00 The Ruined Zoo
    09 02 03 01 The Ruined Zoo

    0A 00 01 00 The Battlefield Fortress
    0A 00 01 01 The Battlefield Fortress
    0A 00 02 00 The Battlefield Fortress
    0A 01 01 00 The Battlefield Fortress
    0A 02 01 00 The Battlefield Fortress
    0A 02 02 00 The Battlefield Fortress
    0A 02 02 01 The Battlefield Fortress
    0A 02 03 00 The Battlefield Fortress
    0A 02 05 00 The Battlefield Fortress

    0C 00 01 00 The Forest
    0C 00 01 01 The Forest
    0C 00 02 00 The Forest
    0C 00 03 00 The Forest

    0E 00 01 00 The Research Facility
    0E 00 05 00 The Research Facility
    0E 01 01 00 The Research Facility
    0E 01 02 00 The Research Facility
    0E 01 03 00 The Research Facility
    0E 01 04 00 The Research Facility
    0E 01 05 00 The Research Facility
    0E 01 06 00 The Research Facility

    10 00 01 00 The Lake Shore
    10 00 02 00 The Lake Shore
    10 01 01 00 The Lake Shore
    10 01 02 00 The Lake Shore
    10 02 01 00 The Lake Shore
    10 02 02 00 The Lake Shore
    10 03 01 00 The Lake Shore
    10 03 01 01 The Lake Shore
    10 03 01 02 The Lake Shore
    10 03 01 03 The Lake Shore

    12 00 01 00 The Path to the Ruins
    12 00 01 01 The Path to the Ruins
    12 00 02 00 The Path to the Ruins
    12 00 03 00 The Path to the Ruins
    12 01 01 00 The Path to the Ruins

    14 00 01 00 The Cave
    14 00 01 01 The Cave
    14 00 02 00 The Cave
    14 00 03 00 The Cave
    14 00 03 01 The Cave

    16 00 01 00 The Ruins
    16 00 02 00 The Ruins
    16 00 02 01 The Ruins
    16 00 03 00 The Ruins
    16 00 03 01 The Ruins
    16 01 01 00 The Ruins

    18 00 01 00 The Wilds
    18 00 01 01 The Wilds
    18 00 02 00 The Wilds
    18 00 02 01 The Wilds
    18 00 02 02 The Wilds
    18 01 01 00 The Wilds (Vs. Galleom)

    19 00 01 00 The Ruined Hall (Vs. Galleom)

    1A 00 01 00 The Wilds
    1A 00 01 01 The Wilds
    1A 00 02 00 The Wilds

    1B 00 01 00 The Swamp
    1B 00 02 00 The Swamp
    1B 00 02 01 The Swamp
    1B 01 01 00 The Swamp
    1B 02 01 00 The Swamp
    1B 02 02 00 The Swamp
    1B 02 02 01 The Swamp
    1B 02 03 00 The Swamp

    1C 00 02 00 The Research Facility
    1C 00 02 01 The Research Facility
    1C 00 03 00 The Research Facility
    1C 01 01 00 The Research Facility
    1C 02 01 00 The Research Facility
    1C 02 02 00 The Research Facility
    1C 02 02 01 The Research Facility
    1C 02 03 00 The Research Facility
    1C 02 04 00 The Research Facility
    1C 03 01 00 The Research Facility (Vs. Ridley)

    1D 00 01 00 Outside the Ancient Ruins
    1D 00 01 01 Outside the Ancient Ruins
    1D 00 01 02 Outside the Ancient Ruins

    1E 00 01 00

    1F 00 01 00 The Glacial Peak
    1F 00 02 00 The Glacial Peak
    1F 00 03 00 The Glacial Peak
    1F 00 03 01 The Glacial Peak
    1F 00 03 02 The Glacial Peak
    1F 01 01 00 The Glacial Peak

    20 00 01 00 The Canyon

    21 00 01 00 Battleship Halberd Interior
    21 00 02 00 Battleship Halberd Interior
    21 00 02 01 Battleship Halberd Interior
    21 01 01 00 Battleship Halberd Interior
    21 01 01 01 Battleship Halberd Interior
    21 01 02 00 Battleship Halberd Interior
    21 01 03 00 Battleship Halberd Interior
    21 01 04 00 Battleship Halberd Interior
    21 02 01 00 Battleship Halberd Interior

    22 00 01 00 Battleship Halberd Exterior
    22 00 02 00 Battleship Halberd Exterior
    22 00 03 00 Battleship Halberd Exterior
    22 00 04 00 Battleship Halberd Exterior
    22 00 05 00 Battleship Halberd Exterior

    23 00 01 00 Battleship Halberd Bridge (Vs. Duon)

    24 00 01 00 The Subspace Bomb Factory
    24 00 01 01 The Subspace Bomb Factory
    24 00 01 02 The Subspace Bomb Factory
    24 00 01 03 The Subspace Bomb Factory
    24 00 02 00 The Subspace Bomb Factory

    25 00 01 00 The Subspace Bomb Factory
    25 00 01 01 The Subspace Bomb Factory
    25 00 02 00 The Subspace Bomb Factory
    25 00 02 01 The Subspace Bomb Factory
    25 00 03 00 The Subspace Bomb Factory
    25 01 01 00 The Subspace Bomb Factory
    25 02 01 00 The Subspace Bomb Factory
    25 02 02 00 The Subspace Bomb Factory
    25 02 03 00 The Subspace Bomb Factory
    25 03 01 00 The Subspace Bomb Factory (Vs. Metaridley)

    27 00 01 00 Entrance to Subspace

    28 00 01 00 Subspace
    28 00 02 00 Subspace
    28 00 03 00 Subspace
    28 00 04 00 Subspace
    28 00 05 00 Subspace
    28 00 06 00 Subspace
    28 00 07 00 Subspace
    28 00 08 00 Subspace
    28 00 09 00 Subspace
    28 01 01 00 Subspace

    29 00 01 00 Subspace
    29 00 02 00 Subspace
    29 00 03 00 Subspace

    2A 00 01 01 The Great Maze
    2A 00 01 02 The Great Maze
    2A 00 01 03 The Great Maze
    2A 00 01 04 The Great Maze
    2A 00 02 01 The Great Maze
    2A 00 02 02 The Great Maze
    2A 00 02 03 The Great Maze
    2A 00 02 04 The Great Maze
    2A 00 02 05 The Great Maze
    2A 00 03 01 The Great Maze
    2A 00 05 01 The Great Maze
    2A 00 05 02 The Great Maze
    2A 00 05 03 The Great Maze
    2A 00 07 01 The Great Maze
    2A 00 07 02 The Great Maze
    2A 00 07 03 The Great Maze
    2A 00 09 01 The Great Maze
    2A 00 09 02 The Great Maze
    2A 00 09 03 The Great Maze
    2A 00 0B 01 The Great Maze
    2A 00 0D 01 The Great Maze
    2A 00 0D 02 The Great Maze
    2A 00 0F 01 The Great Maze
    2A 00 11 01 The Great Maze
    2A 00 11 02 The Great Maze
    2A 00 11 03 The Great Maze
    2A 00 13 01 The Great Maze
    2A 00 13 02 The Great Maze
    2A 00 15 01 The Great Maze
    2A 00 15 03 The Great Maze
    2A 00 15 04 The Great Maze
    2A 00 15 05 The Great Maze
    2A 00 17 01 The Great Maze
    2A 00 17 02 The Great Maze
    2A 00 17 03 The Great Maze
    2A 00 19 01 The Great Maze
    2A 00 19 02 The Great Maze
    2A 00 19 03 The Great Maze
    2A 00 1B 01 The Great Maze
    2A 00 1B 02 The Great Maze
    2A 00 1B 03 The Great Maze
    2A 00 1D 02 The Great Maze
    2A 00 1F 01 The Great Maze
    2A 00 1F 02 The Great Maze
    2A 00 1F 03 The Great Maze
    2A 00 21 01 The Great Maze
    2A 00 21 02 The Great Maze
    2A 00 23 01 The Great Maze
    2A 00 25 01 The Great Maze
    2A 00 29 00 The Great Maze (Vs. Petey Pirahna)
    2A 00 2A 00 The Great Maze (Vs. Porky)
    2A 00 2B 00 The Great Maze (Vs. Duon)
    2A 00 2C 00 The Great Maze (Vs. Ridley)
    2A 00 2D 00 The Great Maze (Vs. Metaridley)
    2A 00 2E 00 The Great Maze (Vs. Galleom (The Wilds))
    2A 00 2F 00 The Great Maze (Vs. Rayquaza)
    2A 00 33 00 The Great Maze (Shadow bug)
    2A 00 34 00 The Great Maze (Shadow bug)
    2A 00 35 00 The Great Maze (Shadow bug)
    2A 00 36 00 The Great Maze (Shadow bug)
    2A 00 37 00 The Great Maze (Shadow bug)
    2A 00 38 00 The Great Maze (Shadow bug)
    2A 00 39 00 The Great Maze (Shadow bug)
    2A 00 3A 00 The Great Maze (Shadow bug)
    2A 00 3B 00 The Great Maze (Shadow bug)
    2A 00 3C 00 The Great Maze (Shadow bug)
    2A 00 3D 00 The Great Maze (Shadow bug)
    2A 00 3E 00 The Great Maze (Shadow bug)
    2A 00 3F 00 The Great Maze (Shadow bug)
    2A 00 40 00 The Great Maze (Shadow bug)
    2A 00 41 00 The Great Maze (Shadow bug)
    2A 00 42 00 The Great Maze (Shadow bug)
    2A 00 43 00 The Great Maze (Shadow bug)
    2A 00 44 00 The Great Maze (Shadow bug)
    2A 00 45 00 The Great Maze (Shadow bug)
    2A 00 46 00 The Great Maze (Shadow bug)
    2A 00 47 00 The Great Maze (Shadow bug)
    2A 00 48 00 The Great Maze (Shadow bug)
    2A 00 49 00 The Great Maze (Shadow bug)
    2A 00 4A 00 The Great Maze (Shadow bug)
    2A 00 4B 00 The Great Maze (Shadow bug)
    2A 00 4C 00 The Great Maze (Shadow bug)
    2A 00 4D 00 The Great Maze (Shadow bug)
    2A 00 4E 00 The Great Maze (Shadow bug)
    2A 00 4F 00 The Great Maze (Shadow bug)
    2A 00 50 00 The Great Maze (Shadow bug)
    2A 00 51 00 The Great Maze (Shadow bug)
    2A 01 01 00 The Great Maze (Vs. Tabuu)

    5A 00 01 00 Classic Mode Master/Crazy Hand
    5A 01 01 00 Master Hand
    5A 02 01 00 Crazy Hand

    5B 00 01 00 All-Star Rest Area?
    5B 01 01 00 All-Star Rest Area?

    5C 00 01 00 Petey Pirahna
    5C 01 01 00 Rayquaza
    5C 02 01 00 Porky
    5C 03 01 00 Galleom (The Wilds)
    5C 04 01 00 Galleom (The Ruined Hall)
    5C 05 01 00 Ridley
    5C 06 01 00 Duon
    5C 07 01 00 Metaridley
    5C 08 01 00 Tabuu

    Music ID list:
    26F9 Menu 1
    26FA Menu 1
    26FB Menu 2
    26FC Battlefield
    26FD Final Destination
    26FE
    26FF Online Practice Stage
    2700 Results Display Screen
    2701 Tournament Registration
    2702 Tournament Grid
    2703 Tournament Match End
     2704
    2705 Classic: Results Screen
     2706
    2707 All-Star Rest Area
    2708 Home-Run Contest
    2709 Cruel Brawl
    270A Boss Battle
    270B Trophy Gallery
    270C Sticker Album / Album / Chronicle
    270D Coin Launcher
     270E
    270F Stage Builder
     2710
     2711
    2712 Target Smash!!
    2713 Credits
    2714 Ground Theme (Super Mario Bros.)
    2715 Underground Theme (Super Mario Bros.)
    2716 Underwater Theme (Super Mario Bros.)
    2717 Underground Theme (Super Mario Land)
    2718 Airship Theme (Super Mario Bros. 3)
    2719 Castle / Boss Fortress (Super Mario World / SMB 3)
    271A Title / Ending (Super Mario World)
    271B Main Theme (New Super Mario Bros.)
    271C Luigi's Mansion Theme
    271D Gritzy Desert
     271E
     271F
    2720 Delfino Plaza
    2721 Ricco Harbor
    2722 Main Theme (Super Mario 64)
    2723 Ground Theme 2 (Super Mario Bros.)
    2724 Mario Bros.
    2725 Mario Circuit
    2726 Luigi Circuit
    2727 Waluigi Pinball
    2728 Rainbow Road
    2729 Jungle Level Ver.2
    272A The Map Page / Bonus Level
    272B Opening (Donkey Kong)
    272C Donkey Kong
    272D King K.Rool / Ship Deck 2
    272E Bramble Blast
    272F Battle for Storm Hill
    2730 Jungle Level
    2731 25m BGM
    2732 DK Jungle 1 Theme (Barrel Blast)
    2733 Title (The Legend of Zelda)
    2734 Main Theme (The Legend of Zelda)
    2735 Great Temple / Temple
    2736 The Dark World
    2737 Hidden Mountain & Forest
     2738
    2739 Tal Tal Heights
    273A Hyrule Field Theme
    273B Ocarina of Time Medley
    273C Song of Storms
    273D Molgera Battle
    273E Village of the Blue Maiden
    273F Gerudo Valley
    2740 Termina Field
    2741 Dragon Roost Island
    2742 The Great Sea
    2743 Main Theme (Twilight Princess)
    2744 The Hidden Village
    2745 Midna's Lament
    2746 Main Theme (Metroid)
    2747 Norfair
    2748 Ending (Metroid)
    2749 Vs. Ridley
    274A Theme of Samus Aran, Space Warrior
    274B Sector 1
    274C Opening / Menu (Metroid Prime)
    274D Vs. Parasite Queen
    274E Vs. Meta Ridley
    274F Multiplayer (Metroid Prime 2)
    2750 Ending (Yoshi's Story)
    2751 Obstacle Course
    2752 Yoshi's Island
     2753
    2754 Flower Field
    2755 Wildlands
     2756 ATHLETIC2 (Obstacle Course (Winter))
    2757 The Legendary Air Ride Machine
    2758 King Dedede's Theme
    2759 Boss Theme Medley
    275A Butter Building
    275B Gourmet Race
    275C Meta Knight's Revenge
    275D Vs. Marx
    275E O2 Battle
    275F Forest / Nature Area
    2760 Checker Knights
    2761 Frozen Hillside
    2762 Squeak Squad Theme
    2763 Main Theme (Star Fox)
    2764 Corneria
    2765 Main Theme (Star Fox 64)
    2766 Area 6
    2767 Star Wolf
     2768
    2769 Space Battleground
    276A Break Through the Ice
    276B Star Wolf (Star Fox: Assault)
    276C Space Armada
    276D Area 6 Ver. 2
    276E Pokémon Main Theme
    276F Pokémon Center
    2770 Road to Viridian City (From Pallet Town / Pewter City)
    2771 Pokémon Gym / Evolution
    2772 Wild Pokémon Battle! (Ruby / Sapphire)
    2773 Victory Road
    2774 Wild Pokémon Battle! (Diamond / Pearl)
    2775 Dialga / Palkia Battle at Spear Pillar!
    2776 Team Galactic Battle!
    2777 Route 209
    2778 Mute City
    2779 White Land
    277A Fire Field
    277B Car Select
    277C Dream Chaser
    277D Devil's Call in Your Heart
    277E
    277F Brain Cleaner
    2780 Shotgun Kiss
    2781 Planet Colors
     2782
    2783 Fire Emblem Theme
    2784 Shadow Dragon Medley
    2785 With Mila's Divine Protection (Celica Map 1)
     2786
    2787 Preparing to Advance
    2788 Winning Road - Roy's Hope
    2789 Attack!
    278A Against the Dark Knight
    278B Crimean Army Sortie
    278C Power-Hungry Fool
    278D Victory Is Near
    278E Ike's Theme
    278F Snowman
    2790 SENTOUONIISAN (Unused)
    2791 EIGHTMELODIES (Unused)
    2792 SMILEANDTEARS (Unused)
    2793 Humoresque of a Little Dog
     2794
    2795 Porky's Theme
    2796 Mother 3 Love Theme
    2797 Unfounded Revenge / Smashing Song of Praise
    2798 You Call This a Utopia?!
    2799 World Map (Pikmin 2)
    279A Forest of Hope
    279B Environmental Noises
    279C Ai no Uta
    279D Tane no Uta
    279E Main Theme (Pikmin)
    279F Stage Clear / Title (Pikmin)
    27A0 Ai no Uta (French Version)
    27A1 WarioWare, Inc.
    27A2 WarioWare, Inc. Medley
    27A3 Mona Pizza's Song (Japanese Version)
    27A4 Mona Pizza's Song (English Version)
    27A5 Mike's Song (Japanese Version)
    27A6 Mike's Song (English Version)
    27A7 Ashley's Song (Japanese Version)
    27A8 Ashley's Song (English Version)

    27B3 Title (Animal Crossing)
    27B4 Go K.K. Rider!
    27B5 2:00 a.m.
     27B6
    27B7 The Roost
    27B8 Town Hall and Tom Nook's Store
    27B9 K.K. Crusin'
    27BA K.K. Western
    27BB K.K. Gumbo
    27BC Rockin' K.K.
    27BD DJ K.K.
    27BE K.K. Condor
    27BF Underworld
    27C0 Title (Kid Icarus)
    27C1 Skyworld
    27C2 Kid Icarus Original Medley
    27C3 Famicom Medley
    27C4 Gyromite
     27C5
    27C6 Chill (Dr. Mario)
    27C7 Clu Clu Land
    27C8 Balloon Trip
    27C9 Ice Climber
    27CA Shin Onigashima
    27CB Title (3D Hot Rally)
    27CC Tetris: Type A
    27CD Tetris: Type B
    27CE Tunnel Scene (X)
    27CF Power-Up Music
    27D0 Douchuumen (Nazo no Murasamejo)
     27D1
    27D2 PictoChat
     27D3 ELECTRO (Hanenbow)
    27D4 Flat Zone 2
    27D5 Mario Tennis / Mario Golf
    27D6 Lip's Theme (Panel de Pon)
    27D7 Marionation Gear
    27D8 Title (Big Brain Academy)
    27D9 Golden Forest (1080 Snowboarding)
    27DA Mii Channel
    27DB Wii Shop Channel
    27DC Battle Scene / Final Boss (Golden Sun)
    27DD Shaberu! DS Cooking Navi
    27DE Excite Truck
    27DF Brain Age: Train Your Brain in Minutes a Day
    27E0 Opening Theme (Wii Sports)
    27E1 Charge! (Wii Play)
     27E2 MAINTHEME
    27E3 Encounter
    27E4 Theme of Tara
    27E5 Yell "Dead Cell"
    27E6 Snake Eater (Instrumental)
    27E7 MGS4 Theme of Love Smash Bros. Brawl Version
    27E8 Cavern
    27E9 Battle in the Base
    27EA BEATMANIA (Unused)
    27EB Theme of Solid Snake
    27EC Calling to the Night
    27ED Credits (Super Smash Bros.)
    27EE Menu (Super Smash Bros. Melee)
    27EF Opening (Super Smash Bros. Melee)
     27F0
     27F1 DXTERMINAL (Master Hand)
    27F2 Green Hill Zone
    27F3 Scrap Brain Zone
    27F4 Emerald Hill Zone
    27F5 Angel Island Zone
     27F6
    27F7 Sonic Boom
    27F8 Super Sonic Racing
    27F9 Open Your Heart
    27FA Live & Learn
    27FB Sonic Heroes
    27FC Right There, Ride On
    27FD HIS WORLD (Instrumental)
    27FE Seven Rings In Hand
    27FF Princess Peach's Castle (Melee)
    2800 Rainbow Cruise (Melee)
    2801 Jungle Japes (Melee)
    2802 Brinstar Depths (Melee)
    2803 Yoshi's Island (Melee)
    2804 Fountain of Dreams (Melee)
    2805 Green Greens (Melee)
    2806 Corneria (Melee)
    2807 Pokémon Stadium (Melee)
    2808 Poké Floats (Melee)
    2809 Big Blue (Melee)
    280A Mother (Melee)
    280B Icicle Mountain (Melee)
    280C Flat Zone (Melee)
    280D Super Mario Bros. 3 (Melee)
    280E Battle Theme (Melee)
    280F Fire Emblem (Melee)
    2810 Mach Rider (Melee)
    2811 Mother 2 (Melee)
    2812 Dr. Mario (Melee)
    2813 Battlefield (Melee)
     2814
    2815 Multi-Man Melee 1 (Melee)
    2816 Temple (Melee)
    2817 Final Destination (Melee)
    2818 Kongo Jungle (Melee)
    2819 Brinstar (Melee)
    281A Venom (Melee)
    281B Mute City (Melee)
    281C Menu (Melee)
    281D Giga Bowser (Melee)
     281E
    281F Adventure Map
    2820 Step: The Plain
    2821 Step: The Cave
    2822 Step: Subspace
    2823 Boss Battle Song 1
     2824 SSE Results
    2825 Boss Battle Song 2
    2826 Save Point
     2827 SSE DK Jungle
     2828 SSE Airship theme
     2829 SSE Halberd Interior
     282A SSE Metroid Prime Data Select
     282B SSE Brinstar
    282C Step: Subspace Ver.2
    282D Step: Subspace Ver.3
     282E SSE Halberd Moving
       GMTA*Updated
    Inside BLOC files, most often in miscdata[5]
    ===================================================================
    GMTA
    Stage Hitboxes!
    ===================================================================
    Header:
    0x00 - GMTA
    0X04 - number of entries
    0x08 - offset section begins

    ==Hitbox Data==
    *there are ALOT of unknown values here, but these are what i've found so far*

    0x3C - File index of model specifying hitbox bone and location
    0x1E4 - Damage Multiplier (Scales with Difficulty)
    0x1E8 - Hitbox Size
    0x20C - Hitbox Effect
    0x228 - Hitbox sfx
       GMWA*NEW
    Inside BLOC files, most often in miscdata[5]
    ===================================================================
    GMWA
    Controls all buttons placed in the level
    ===================================================================
    Header:
    0x00 - GMWA
    0x04 - Number of entries
    0x08 - Offset section begins

    ==Button Data==
    0x0C - Y-rotation
    0x20(2) - Always 0x0001?
    0x22(2) - positioning model File index. if 0xFF(none) position will be overridden with local float values?
    0x28(4) - Button ID?
    0x2C(4) - Trigger ID of this button
    0x30(4) - Trigger ID to activate
    0x88(4) - Hurtbox size
       GMOT
    Inside BLOC files, most often in miscdata[5]
    ===================================================================
    GMOT(grAdventureMotionGround)
    It's currently unknown what the applicable difference is between GMOT and GMOV, Both seem to move objects with collisions attached to them
    ===================================================================
    Header:
    0x00 - GMOT
    0x04 - Number of entries
    0x08 - Offset section begins

    ==Data==
    0x00(3C) - Unknown float values
    0x3C(1) - Hexadecimal File Index of Model data in BBox associated with the object to be moved
    0x3D(1) - Hexadecimal File Index of Collision Data in BBox associated with the object to be moved
    0x118(4) - Hexadecimal Info index of sound to be played
       GMOV
    Inside BLOC files, most often in miscdata[5]
    ===================================================================
    GMOV(grAdventureMoveGround)
    It's currently unknown what the applicable difference is between GMOT and GMOV, Both seem to move objects with collisions attached to them
    ===================================================================
    Header:
    0x00 - GMOV
    0x04 - Number of entries
    0x08 - Offset section begins

    ==Data==
    0x00(44) - Unknown float values
    0x3C(1) - Hexadecimal File Index of Model data in BBox associated with the object to be moved
    0x3D(1) - Hexadecimal File Index of Collision Data in BBox associated with the object to be moved
       GBLK
    Inside BLOC files, most often in miscdata[5]
    ===================================================================
    GBLK
    Breakable blocks placed within levels
    ===================================================================
    Header:
    0x00 - GBLK
    0x04 - Number of entries
    0x08 - Offset section begins

    ==Data==
    0x00(18) - Nulls
    0x18(4) - Hurtbox size
    0x1C(4) - Nulls
    0x20(4) - Unknown
    0x24(4) - Flags?
    0x28(1) - unknown
    0x29(1) - Base Block Model
    0x2C(1) - Block Position Model
    0x2D(1) - Collision Definition of block
    0x30(4) - 0xFFFFFFFF
    0x34(4) - 0xFFFFFFFF
       GFPR*NEW
    Inside BLOC files, most often in miscdata[5]
    ===================================================================
    GFPR (grAdventureFirePillar)
    Pillars of fire!
    ===================================================================
    ==Hitbox Data==
    *there are many unknown values here, but these are what i've found so far*

    0x00(3C) - Padding
    0x3C - File index of model
    0x20c - Hitbox effect
    0x228 - Hitbox sfx
    0x240 - x-translation
    0x244 - y-translation
    0x248 - z-translation
    0x264(3C) - Padding
       GEFF*NEW
    Inside BLOC files, most often in miscdata[8]
    ===================================================================
    GEFF
    Backround Graphical effects
    ===================================================================

    Header:
    0x00 - GEFF
    0x04 - Number of entries
    0x08 - Offset section begins

    ==Data==
    0x00(18) Nulls?
    0x18(4) Unknown
    0x1C(4) Unknown
    0x20(4) Graphic ID
    0x24(4) nulls?

    Enemy Files:

        GEG1*Updated
    Inside BLOC files, most often in miscdata[7]

    ===================================================================
    GEG1:
    Number Of enemies spawned / positions, type, spawn time, and AI behaviour of enemies
    ===================================================================
    Header:
    0x00 - GEG1
    0X04 - number of entries
    0x08 - offset section begins

    Enemy Data:
    0x1D - Enemy type
    0x20 - AI type?
    0x7C(4) - Trigger ID of this enemy
    0x80(4) - Trigger ID to activate when this enemy is destroyed

    ==Enemy Types==
    -0F spaak | AI type 05
    -17 Prim | AI type 00
    -14 boxer prim | AI type 00
    -20 Boom prim | AI type 00
    -23 sword prim | AI type 00
     
    Files that need parsing:
    -EPSP [enemy AI]
    -GLAD [Ladders]
    -GIB2 [Item Blocks]
    -GMTA [Stage Hitboxes!]
    -GMWA [Buttons]
    -GLOK
    -GFSR
    -GMOT
    -GFT2
    -GENC
    -GEPT
    -GNDV
    -GITM
    -GASD
    -GET1
    « Last Edit: August 02, 2014, 12:41:02 AM by Sammi Husky » Logged

    Sammi Husky
    Lol Kitten
    *********
    Offline Offline

    Posts: 873


  • Awards Fiery Topic Renowned Hacker >9000 King for a Day

  • View Profile Awards
    « Reply #1 on: March 23, 2014, 02:03:43 AM »


    Turns out GEG1 and the EPSP files are directly related and control the enemy spawns and AI behavior respectively. will update the OP with new information accordingly. Currently, i can almost 100% rebuild the files that spawn enemies. i can spawn any type of enemy from prims to spaak, as well as when and where they are spawned.

    (BTW im taking this post in case i run out of room in the OP)
    « Last Edit: March 23, 2014, 02:05:59 AM by Sammi Husky » Logged

    pikazz
    Heroic Kitten
    **
    Offline Offline

    Posts: 2286


    Machinimator!

  • Awards Renowned Hacker Pin Collector Good Citizen Helping Hand

  • View Profile Awards
    « Reply #2 on: March 23, 2014, 04:08:11 AM »


    yay! more filetypes to explore ;w;
    Logged

    Stupid Tinypic :C

    Sammi Husky
    Lol Kitten
    *********
    Offline Offline

    Posts: 873


  • Awards Fiery Topic Renowned Hacker >9000 King for a Day

  • View Profile Awards
    « Reply #3 on: March 23, 2014, 12:59:55 PM »


    Luckily after looking the module for adventure stages, it seems that almost all of SSE is dictated through files. Which is good, because that means we really can have complete control. Incidentally, if you look through the module's objects section (section[5]) you'll find a list of all SSE files. I actually have a hunch that ADPM files dictate what mode the stage is. (e.g boss battle, melee battle) though this is just suspicions Tongue

    Deviating from SSE files a little bit SCLA seems to control nitty gritty details about stage collisions. Such as step sound, landing sound, whether dash gfx are played, and global ground friction. And that's only one of the sections in SCLA out of 30. Though I don't think all stages use ALL the parameters, or even most. AND depending on the collision data (miscdata[2]) it seems that the data locations within the file are shifted, or maybe just use different sections....I haven't quite figured that file out yet.
    « Last Edit: March 23, 2014, 05:03:51 PM by Sammi Husky » Logged

    Gamma Ridley
    ~Mercenary~
    Boss Kitten
    ****
    Offline Offline

    Posts: 4606


  • Awards Featured Super Saiyan Topic Heart Container Famous Hacker

  • View Profile WWW Awards
    « Reply #4 on: March 23, 2014, 06:09:52 PM »


    Can enemies only be spawned within the SSE? Or would it be possible to spawn them outside of it by, say, a character, or on a stage? Just a thought, I know nothing of this stuff.

    Wish I could help, but for now I'll be cheering here on the sidelines, hoping you find something juicy that could help with stage making. :1
    Logged


    Sammi Husky
    Lol Kitten
    *********
    Offline Offline

    Posts: 873


  • Awards Fiery Topic Renowned Hacker >9000 King for a Day

  • View Profile Awards
    « Reply #5 on: March 23, 2014, 09:06:27 PM »


    I haven't experimented with the Spawning the enemies in a normal stage, that would be interesting! it's a good idea, i'll have to give it a shot sometime. I do have my suspicions that it wont work, but i'll give it a go either way.

    The SCLA file isn't mapped much yet, but it in particular seems to be the juicy stuff inside normal stages. Like traction / step sound and landing sounds. Hopefully i can find some really nice stuff in there after i map it! Smiley
    Logged

    Spex130
    Holy Kitten
    *
    Offline Offline

    Posts: 1958


    So very Spexcellent.

  • Awards Super Saiyan Topic Starstormer Hyperactive Contributor Renowned Hacker

  • View Profile Awards
    « Reply #6 on: March 23, 2014, 09:26:34 PM »


    Nice work here! Always a fan of modifying the SSE. I'm with Grav here in that I really want to help, but it seems kinda out of my expertise.

    Is there any way we can help out? If you can tutorialize the process of mapping into a replicable general workflow, crowdsourcing might be of use to you!

    Among other things, I'm fairly sure that SSE enemies have a PSA-like component to them as well. Maybe checking the Brawlbox Source (or PSA, if the source is around) might give some leads into cracking it? I'll try looking into it, too, but I'm no professional.

    In any case, good luck! Cheering for you!
    Logged


    pikazz
    Heroic Kitten
    **
    Offline Offline

    Posts: 2286


    Machinimator!

  • Awards Renowned Hacker Pin Collector Good Citizen Helping Hand

  • View Profile Awards
    « Reply #7 on: March 24, 2014, 05:50:28 AM »


    the enemy data is awesome!

    but using that data in stage is harder than it looks, it needs to be loaded in the module aswell :/
    Logged

    Stupid Tinypic :C

    Sky Grounder
    Lol Kitten
    *********
    Offline Offline

    Posts: 978


  • Awards Heart Container Tutorial Writer

  • View Profile Awards
    « Reply #8 on: March 24, 2014, 11:33:00 AM »


    Subbed to thread. I worked on SSE files a long time ago, and had some data on the different types. Sadly, I think most of it is gone, due to my PC breaking some time ago.
    I posted some information in the SSE collab thread, if you want to add it to the OP.
    Logged

    3DS FC: 5370-0958-4818
    Wii U NNID: Doraleus

    Sammi Husky
    Lol Kitten
    *********
    Offline Offline

    Posts: 873


  • Awards Fiery Topic Renowned Hacker >9000 King for a Day

  • View Profile Awards
    « Reply #9 on: March 24, 2014, 01:56:41 PM »


    Sweet! i'll go nab that

    but using that data in stage is harder than it looks, it needs to be loaded in the module aswell :/

    Yea using it in anything but an adventure stage won't work, because the module  sora_adv_stage is programmed to load these files and act a certain way, while sora_melee is not. What makes SSE so customizable, is that it uses a single generic module to govern ALL adventure stages. That means that anything thats different between skyworld and halberd or any other stage, is completely controlled by these files and not the module. Tongue
    Logged

    pikazz
    Heroic Kitten
    **
    Offline Offline

    Posts: 2286


    Machinimator!

  • Awards Renowned Hacker Pin Collector Good Citizen Helping Hand

  • View Profile Awards
    « Reply #10 on: March 24, 2014, 02:19:10 PM »


    Sweet! i'll go nab that
    Yea using it in anything but an adventure stage won't work, because the module  sora_adv_stage is programmed to load these files and act a certain way, while sora_melee is not. What makes SSE so customizable, is that it uses a single generic module to govern ALL adventure stages. That means that anything thats different between skyworld and halberd or any other stage, is completely controlled by these files and not the module. Tongue
    I know that, together that the enemy module data is inside Sora_Enemy, which controlls the "PSA" of the enemies just like Ft_Char does to a character. so to add a enemy to a regular VS stage, the Stage module need the Sora_Enemy "enemy" part together with the part of Sora_Adv_Stage to have it work
    Logged

    Stupid Tinypic :C

    Sammi Husky
    Lol Kitten
    *********
    Offline Offline

    Posts: 873


  • Awards Fiery Topic Renowned Hacker >9000 King for a Day

  • View Profile Awards
    « Reply #11 on: March 26, 2014, 12:59:22 PM »


    Well, it seems my suspicions about ADPM were correct, it controls the game mode of the level, whether it be a boss battle, normal battle, or what have you. I haven't documented the file itself yet, but soon. I have succeeded in changing the first level (where you fight kirby) from fighting a char, to fighting in an arena full of enemies. However, the enemies don't spawn, and the match instantly ends as it starts since no enemies were spawned. I hope i can find the file that's responsible for this..hmm..

    But hey progress is progress and im one step closer to being able to rebuild a single level into something completely different
    Logged

    pikazz
    Heroic Kitten
    **
    Offline Offline

    Posts: 2286


    Machinimator!

  • Awards Renowned Hacker Pin Collector Good Citizen Helping Hand

  • View Profile Awards
    « Reply #12 on: March 28, 2014, 04:53:42 AM »


    something I am really curious about is how to change the stages, example changing the first kirby/Mario match to another stage, making the stage seceltion load another stage or make the Masterhand Boss in Classic mode being another boss

    also, do you know that the filetypes is nickname for what actually doing?
    BGMG can be Background Music Generator
    GSND can be Generate Sound
    GMOV can be Generate Movie
    GITM can be Generate Item
    GEG1 can be Generate Enemy Generator 1
    « Last Edit: March 28, 2014, 05:12:30 AM by pikazz » Logged

    Stupid Tinypic :C

    Sammi Husky
    Lol Kitten
    *********
    Offline Offline

    Posts: 873


  • Awards Fiery Topic Renowned Hacker >9000 King for a Day

  • View Profile Awards
    « Reply #13 on: March 28, 2014, 03:35:13 PM »


    Of course Tongue i know the filtype is an acronym for what the file does, however i felt i would just leave figuring out the acronym to others, and focus on what the files actually do instead Wink

    incidentally, it seems that anything that MOVES uses GMOV.
    Take a look at the BLOC archive in 280202a, there are a few helpful filetypes there. It's a fairly simple room with only a few notable things within it. Such as the door and the falling block. The falling block is what im really interested in, as it has hitboxes attached to it.
    Logged

    pikazz
    Heroic Kitten
    **
    Offline Offline

    Posts: 2286


    Machinimator!

  • Awards Renowned Hacker Pin Collector Good Citizen Helping Hand

  • View Profile Awards
    « Reply #14 on: March 28, 2014, 05:50:28 PM »


    the sad thing we cant use that into to the fighter or the Brawl stage themself D;
    imaging how easy it would be if we could use that moving block in 280202a to a stage example final destination!
    Logged

    Stupid Tinypic :C

    Pages:  [1] 2 3 4 ... 8
    Print
    Jump to: