BRWSD (File Format)
(Redirected from BRWSD)
Jump to navigation
Jump to search
Under Construction
This article is not finished. Help improve it by adding accurate information or correcting grammar and spelling.
BRWSD (Binary Revolution Wave Sound Data) is a sub file format found in BRSAR files from many Wii games. It consists of a table of instance parameters that link to direct audios found into BRWAR files.
File Format
File Header
Offset | Type | Description |
---|---|---|
0x00 | String | File magic. Always RWSD in ASCII. |
0x04 | UInt16 | Byte order mark (BOM): The value is always 0xFEFF. If value 0xFFFE is read, then the false endian is used. Mario Kart Wii uses nearly always big endian (bytes 0xFE,0xFF). |
0x06 | UInt16 | Version number of the file format. (?) |
0x08 | UInt32 | Length of the file in bytes. |
0x0C | UInt16 | Length of this header in bytes. |
0x0E | UInt16 | Number of sections. |
0x10 | UInt32 | Offset to DATA section. |
0x14 | UInt32 | Length of DATA section. |
0x18 | UInt32 | Offset to WAVE section. |
0x1C | UInt32 | Length of WAVE section. |
DATA
The DATA section starts with a header.
Offset | Type | Description |
---|---|---|
0x00 | String | Section magic. Always DATA in ASCII. |
0x04 | UInt32 | Length of this section. |
0x08 | UInt32 | N = Number of Wave Information Data Entries. |
0x0C | DataRef[N] | References to Wave Information Data Entries. |
Wave Information Data Table
The DATA header is followed by a table that lists the entries of wave information data. All offsets are relative to the start of this table.
Offset | Type | Description |
---|---|---|
0x00 | DataRef | Reference to WSD Information Data Entry. |
0x08 | DataRef | Reference to Track Table. |
0x10 | DataRef | Reference to Note Table. |
WSD Information Data Entry
Offset | Type | Description |
---|---|---|
0x00 | Float | Pitch |
0x04 | Byte | Pan (0–127) |
0x05 | Byte | SurroundPan (0–127) |
0x06 | Byte | FxSendA |
0x07 | Byte | FxSendB |
0x08 | Byte | FxSendC |
0x09 | SByte | MainSend |
0x0A | Byte[2] | Padding |
0x0C | DataRef | Reference to address to Graph Enviroment Table. Always 0. |
0x14 | DataRef | Reference to address to Randomizer Table. Always 0. |
0x1C | UInt32 | Reserved. |
Track Table
All offsets are relative to the Wave Information Data Table.
Offset | Type | Description |
---|---|---|
0x00 | UInt32 | N = Number of Track Infos. |
0x04 | DataRef[N] | References to Track Info. |
Track Info
Offset | Type | Description |
---|---|---|
0x00 | DataRef | Reference to Note Event Table. |
Note Event Table
Offset | Type | Description |
---|---|---|
0x00 | UInt32 | N = Number of Note Events. |
0x04 | DataRef[N] | References to Note Events. |
Note Event
Offset | Type | Description |
---|---|---|
0x00 | Float | Position |
0x04 | Float | Length |
0x08 | UInt32 | Note Index. |
0x10 | UInt32 | Reserved |
Note Table
All offsets are relative to the Wave Information Data Table.
Offset | Type | Description |
---|---|---|
0x00 | UInt32 | N = Number of Note Information Entries. |
0x04 | DataRef[N] | References to Note Information Entries. |
Note Information Entry
Offset | Type | Description |
---|---|---|
0x00 | Int32 | Wave Index |
0x04 | Byte | Attack (-1–127) |
0x05 | Byte | InfoDecay (-1–127) |
0x06 | Byte | Sustain (-1–127) |
0x07 | Byte | Release (-1–127) |
0x08 | Byte | Hold (-1–127) |
0x09 | Byte[3] | Padding |
0x0C | Byte | OriginalKey |
0x0D | Byte | Volume (0–127) |
0x0E | Byte | InfoPan (0–127) |
0x0F | Byte | InfoSurroundPan (0–127) |
0x10 | Float | InfoPitch |
0x14 | DataRef | Reference to address to LFO Table. Always 0. |
0x1C | DataRef | Reference to address to Graph Enviroment Table. Always 0. |
0x24 | DataRef | Reference to address to Randomizer Table. Always 0. |
0x2C | UInt32 | Reserved |
WAVE
The WAVE section starts with a header.
Offset | Type | Description |
---|---|---|
0x00 | String | Section magic. Always WAVE in ASCII. |
0x04 | UInt32 | Length of this section. |
0x08 | UInt32 | N = Number of offsets. |
0x0C | UInt32[N] | Offsets to Wave Infos. |
Data Reference
The Data Reference structure is used to point to other data types.
Offset | Type | Description |
---|---|---|
0x00 | Byte | Reference type. (0 = Address, 1 = Offset). |
0x01 | Byte | Data type. Usually 0x00. |
0x02 | UInt16 | Reserved. |
0x04 | UInt32 | Value. |
Tools
The following tools can handle BRWSD files:
- BrawlBox, by Kryal and BlackJax96