Difference between revisions of "BFASD (File Format)"
m (→Event) |
m |
||
Line 43: | Line 43: | ||
| 0x04 || UInt32 || Length of this section. | | 0x04 || UInt32 || Length of this section. | ||
|- | |- | ||
− | | 0x08 | + | | 0x08 || colspan=2 {{Unknown|Start of Event Header}} |
− | |||
− | |||
− | |||
− | |||
|} | |} | ||
Line 57: | Line 53: | ||
! Offset !! Type !! Description | ! Offset !! Type !! Description | ||
|- | |- | ||
− | | 0x00 || UInt32 || '''Unknown'''. Always 0x0C. | + | | 0x00 || UInt32 || Number of frames in corresponding animation. |
+ | |- | ||
+ | | 0x04 || UInt32 || '''Unknown'''. | ||
+ | |- | ||
+ | | 0x08 || UInt32 || '''Unknown'''. Always 0x0C. | ||
|- | |- | ||
− | | | + | | 0x0C || UInt32 || Number of [[#Event|event]]s. |
|- | |- | ||
− | | | + | | 0x10 || colspan=2 {{Unknown|Start of first event}} |
|} | |} | ||
Revision as of 11:04, 26 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 | 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)