Moveset File Format (Melee)
Contents
Format Overview
The moveset files can be broken up into several sections:
Header
This contains information about the total filesize of the moveset portion, the size of the data section, and the number of entries in the other sections.
Offset | Size | Label | Note |
---|---|---|---|
(Hex) | |||
00000 | 04 | Filesize | The total filesize of the file. |
00004 | 04 | Datasize | The size of the Data section. |
00008 | 04 | Offset Count | The number of entries in the Offset section. |
0000C | 04 | FtData Count | The number of FtData sections in the file |
00010 | 04 | "Section Type 2" Count | The number of secondary sections in the file. Certain characters such as Game & Watch have these. |
00014 | 04 | Version | The version number of the file...? |
00018 | 04 | Undefined | |
0001C | 04 | Undefined |
Data Section
This section starts at the end of the header, and all offsets within this section are therefore -0x20 relative to their absolute offset within the file.
FtData Sections
These sections contain information about the character's properties and moveset. They each have a definition and a header which points to offsets for the character's attributes and subactions.
Definition
This section defines the FtData section, giving it a name and a pointer to its header.
Offset | Size | Label | Note |
---|---|---|---|
(Hex) | |||
00000 | 04 | Header | The offset to the Header section of this FtData section. |
00004 | 04 | Name | The offset to the null-terminated string representing the name of this section. |
Header
This is the header for the data, containing the offsets to the subactions and attributes.
Offset | Size | Label | Note |
---|---|---|---|
(Hex) | |||
00000 | 04 | Attributes Start | The offset to the beginning of the Attributes section. |
00004 | 04 | Attributes End | The offset to the end of the Attributes section. |
00008 | 04 | Undefined | |
0000C | 04 | Subactions Start | The offset to the beginning of the Subactions section. |
00010 | 04 | Undefined | |
00014 | 04 | Subactions End | The offset to the end of the Attributes section. |
00018 | 18 | Undefined | These values are likely more offsets to sections that are yet unknown. |
Attributes
This section describes properties of the character such as physics and number of jumps. Each entry is 8 bytes long and can either be an integral or floating point value.
Main article: Attributes (Melee)
Subactions
This section describes the commands and flags for each animation the character has. Each one has a header and an offset to a set of events. They are in roughly the same order for every character.
Main article: Subactions (Melee)
Header
Offset | Size | Label | Note |
---|---|---|---|
(Hex) | |||
00000 | 04 | Name | The offset to the null-terminated string representing the name of this section. |
00004 | 04 | Animation Offset | The offset to the animation for this subaction, relative to the start of PlXxAJ.dat. |
00008 | 04 | Animation Size | The filesize of the animation. |
0000C | 04 | Events | The offset to the Events section of this subaction. |
00010 | 04 | Character ID? | Character ID in the lowest-order byte. Some other piece of data is occasionally present in the highest-order byte? |
00014 | 04 | 00000000 | When the file is loaded by the game, this space is filled in with a pointer to the animation in ARAM for use when loading the animation into RAM. |