Difference between revisions of "BFASD (File Format)"
(Created page with "A '''BFASD''' file ('''B'''inary ca'''F'''e '''A'''nimation '''S'''ound '''D'''ata) contains information related to how certain models produce sound based on their skeleton an...") |
(No difference)
|
Revision as of 13:30, 25 February 2017
A BFASD file (Binary caFe Animation Sound Data) contains information related to how certain models produce sound based on their skeleton animation.
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. |
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 | UInt32 | Number of frames in corresponding animation. |
0x0C | UInt32 | Unknown. Always 01 00 00 00? |
0x10 | Start of Event Header |
Event Header
After the DATA header comes the header for the event.
Offset | Type | Description |
---|---|---|
0x00 | UInt32 | Unknown. Always 0x0C. |
0x04 | UInt32 | Number of events. |
0x08 | 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 BRSAR 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)