Difference between revisions of "BFASD (File Format)"
m |
|||
Line 11: | Line 11: | ||
| 0x00 || String || '''File magic'''. Always ''FASD'' in ASCII. | | 0x00 || String || '''File magic'''. Always ''FASD'' in ASCII. | ||
|- | |- | ||
− | | 0x04 || UInt16 || | + | | 0x04 || UInt16 || {{BOM}} |
|- | |- | ||
| 0x06 || UInt16 || Header size. Always 00 14. | | 0x06 || UInt16 || Header size. Always 00 14. |
Revision as of 14:07, 18 July 2017
A BFASD file (Binary caFe Animation Sound Data) contains information related to how certain models produce sound based on their skeleton animation. It is a direct update of the Wii format BRASD.
File Format
File Header
This is the structure for a BFASD header.
Offset | Type | Description |
---|---|---|
0x00 | String | File magic. Always FASD in ASCII. |
0x04 | UInt16 | Byte Order Mark (BOM): 0xFEFF for big endian and 0xFFFE for little endian. |
0x06 | UInt16 | Header size. Always 00 14. |
0x08 | UInt32 | Version. Always 01 00 00 00. |
0x0C | UInt32 | Length of the file in bytes. |
0x10 | UInt16 | Number of sections. Always 00 01. |
0x12 | UInt16 | Unknown. Always 00 00. |
0x14 | UInt32 | Section 1 flag. Always 80 00 00 00. |
0x18 | UInt32 | Offset to DATA section. |
0x1C | UInt32 | Length of DATA section. |
0x20 | End of this file header |
DATA
The DATA section starts with a section header.
Offset | Type | Description |
---|---|---|
0x00 | String | Section magic. Always DATA in ASCII. |
0x04 | UInt32 | Length of this section. |
0x08 | Start of Event Header |
Event Header
After the DATA header comes the header for the event.
Offset | Type | Description |
---|---|---|
0x00 | UInt32 | Number of frames in corresponding animation. |
0x04 | UInt32 | Unknown. |
0x08 | UInt32 | Unknown. Always 0x0C. |
0x0C | UInt32 | Number of events. |
0x10 | Start of first event |
Event
An event is split up into two structures. The first event structure contains information about the frames and the second event structure contains information about the sound. In a file all the event structure 1 comes first, and after that, all the event structure 2. It is the event that controls the info about the animation sound and stores a reference to a BFSAR sound effect.
Offset | Type | Description |
---|---|---|
0x00 | UInt32 | Start frame. |
0x04 | Int32 | End frame. If no end frame is used, this is set to -1. |
0x08 | Byte | Type and Playback Interval. The first bit is Type (0 = Range, 1 = Trigger). The second bit is Playback Interval (0 = true, 1 = false). |
0x09 | Byte | Padding? |
0x0A | Byte | Unknown. |
0x0B | Byte | Padding? |
0x0C | UInt32 | Unknown. |
0x10 | UInt32 | Offset to start of the event structure 2 used in this event. Relative to the start of this event entry. |
Event structure 2 is more unknown. It has a string reference stored to a BFSAR sound effect and some sound settings.
Offset | Type | Description |
---|---|---|
0x00 | UInt32 | Unknown. |
0x04 | UInt32 | Unknown. Always 0xFFFFFFFF. |
0x08 | Byte | Unknown. |
0x09 | Byte | Unknown. |
0x0A | Byte | Unknown. |
0x0B | Byte | Unknown. |
0x0C | UInt32 | Unknown. |
0x10 | Byte | Sound volume. |
0x11 | Byte[3] | Padding? |
0x14 | Float | Pitch. |
0x18 | Byte[4] | Padding? |
0x1C | UInt32 | User Parameter. Unknown meaning. |
0x20 | String | Sound Name. This string is null-termined ASCII string and refers to a BFSAR sound effect. |
Tools
The following tools can handle BFASD files:
- (none)