Moveset File Format (Melee)
The moveset files can be broken up into several sections:
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.
|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...?|
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.
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.
This section defines the FtData section, giving it a name and a pointer to its header.
|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.|
This is the header for the data, containing the offsets to the subactions and attributes.
|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.|
|0000C||04||Subactions Start||The offset to the beginning of the Subactions section.|
|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.|
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)
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)
|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.|