Moveset File Format (Brawl)

From OpenSA: Smash Engine Documentation Wiki
Revision as of 19:17, 13 September 2009 by 98.173.215.51 (talk) (Created page with '== Moveset file format == The moveset files can be broken up into several sections: # Header #* This contains information about the total filesize of the moveset portion, the siz…')

(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Jump to: navigation, search

Moveset file format

The moveset files can be broken up into several sections:

  1. Header
    • This contains information about the total filesize of the moveset portion, the size of the data section, and the amount of entries in the

other sections.

  1. Data
  2. Offsets
  3. Data Table
  4. External Data

Header

Header Size = 0x20
Offset(in hex) Data Note
0x00 Filesize Filesize
0x04 DataSize Skip to this offset+0x80(0x40 PAC Header + 0x20 PAC File Header +0x20 Moveset Header) to find the 1st offset table
0x08 Unknown Amount of entries in first offset table. Each entry is 0x4
0x0C Unknown Number of Character Specific Data Nodes. Each entry is 0x8
0x10 Unknown Number of External Subroutine Data Each entry is 0x8
0x14 Unknown Always 0?
0x18 Unknown Always 0?
0x1C Unknown Always 0?

Character Specific Data?

These are data nodes that seem to be character specific This information is found at 0x80+header[1]+header[2]*4. Each external subroutine is stored in this format.

Entry Size = 0x08
Offset(in hex) Data Note
0x00 Offset Offset where the data is stored
0x04 String Offset Offset to a null-terminated string that contains the name of this node

External Subroutines

These are subroutines that are defined in another file, most of the time, Fighter.pac. This information is found at 0x80+header[1]+header[2]*4+header[3]*8. Each external subroutine is stored in this format.

Entry Size = 0x08
Offset(in hex) Data Note
0x00 Offset Offset into the external file
0x04 String Offset Offset to a null-terminated string that contains the name of this node