Difference between revisions of "BRSAR (File Format)"

From Custom Mario Kart
Jump to navigation Jump to search
m
Line 1: Line 1:
 
{{Under-construction}}
 
{{Under-construction}}
  
This page describes the '''BRSAR''' ('''B'''inary '''R'''evolution '''S'''ound '''AR'''chive) format used to store sound effects and some music. It is used in [[Mario Kart Wii]], '''Super Smash Bros. Brawl''', '''The Legend of Zelda: Skyward Sword''', and other games.
+
This page describes the '''BRSAR''' ('''B'''inary '''R'''evolution '''S'''ound '''AR'''chive) format used to store sound effects and some music. It is used in [[Mario Kart Wii]], Super Smash Bros. Brawl, The Legend of Zelda: Skyward Sword and other games.
  
 
==File Header==
 
==File Header==
  
The file begins with a header of size 0x40 bytes. All lengths are in hexadecimal.
+
The file begins with a header of size 0x40 bytes.
  
 
{| class="wikitable"
 
{| class="wikitable"
Line 13: Line 13:
 
| Description
 
| Description
 
|-
 
|-
| 0x0
+
| 0x00
| 0x4
+
| 0x04
| File identifier: "RSAR" in ASCII
+
| File identifier: '''RSAR''' in ASCII
 
|-
 
|-
| 0x4
+
| 0x04
| 0x2
+
| 0x02
| Byte order mark. 0xFEFF is Big Endian, 0xFFFE is Little Endian.
+
| '''Byte order mark'''. 0xFEFF is Big Endian, 0xFFFE is Little Endian
 
|-
 
|-
| 0x6
+
| 0x06
| 0x2
+
| 0x02
| "VersionMajor" and "VersionMinor" flags from [[BrawlBox]]. Mario Kart Wii uses 01 04. HomeButtonSe.brsar (used for the Home Menu) uses 01 01. Unknown if it affects anything in-game.
+
| '''VersionMajor''' and '''VersionMinor''' flags from [[BrawlBox]]. Mario Kart Wii uses 01 04. HomeButtonSe.brsar (used for the Home Menu) uses 01 01. Unknown if it affects anything in-game.
 
|-
 
|-
| 0x8
+
| 0x08
| 0x4
+
| 0x04
 
| Length of the file (in bytes).
 
| Length of the file (in bytes).
 
|-
 
|-
| 0xC
+
| 0x0C
| 0x2
+
| 0x02
 
| Length of the header (in bytes) (always 0x0040)
 
| Length of the header (in bytes) (always 0x0040)
 
|-
 
|-
| 0xE
+
| 0x0E
| 0x2
+
| 0x02
 
| Unknown (usually 0x0003)
 
| Unknown (usually 0x0003)
 
|-
 
|-
 
| 0x10
 
| 0x10
| 0x4
+
| 0x04
 
| Offset to the SYMB section
 
| Offset to the SYMB section
 
|-
 
|-
 
| 0x14
 
| 0x14
| 0x4
+
| 0x04
 
| Size of the SYMB section
 
| Size of the SYMB section
 
|-
 
|-
 
| 0x18
 
| 0x18
| 0x4
+
| 0x04
 
| Offset to the INFO section
 
| Offset to the INFO section
 
|-
 
|-
 
| 0x1C
 
| 0x1C
| 0x4
+
| 0x04
 
| Size of the INFO section
 
| Size of the INFO section
 
|-
 
|-
 
| 0x20
 
| 0x20
| 0x4
+
| 0x04
 
| Offset to the FILE section
 
| Offset to the FILE section
 
|-
 
|-
 
| 0x24
 
| 0x24
| 0x4
+
| 0x04
 
| Size of the FILE section
 
| Size of the FILE section
 
|-
 
|-
Line 82: Line 82:
 
| Description
 
| Description
 
|-
 
|-
| 0x0
+
| 0x00
| 0x4
+
| 0x04
| File Identifier, SYMB in ASCII
+
| File Identifier, '''SYMB''' in ASCII
 
|-
 
|-
| 0x4
+
| 0x04
| 0x4
+
| 0x04
 
| Size of the SYMB section
 
| Size of the SYMB section
 
|-
 
|-
| 0x8
+
| 0x08
| 0x4
+
| 0x04
 
| Unknown
 
| Unknown
 
|-
 
|-
 
| 0x0C
 
| 0x0C
| 0x4
+
| 0x04
 
| Number of entries in the SYMB table
 
| Number of entries in the SYMB table
 
|-
 
|-
Line 102: Line 102:
 
|}
 
|}
  
[[Category: File Format]]
+
[[Category:File Format]]

Revision as of 00:22, 14 July 2016

Under Construction
This article is not finished. Help improve it by adding accurate information or correcting grammar and spelling.

This page describes the BRSAR (Binary Revolution Sound ARchive) format used to store sound effects and some music. It is used in Mario Kart Wii, Super Smash Bros. Brawl, The Legend of Zelda: Skyward Sword and other games.

File Header

The file begins with a header of size 0x40 bytes.

Offset Size Description
0x00 0x04 File identifier: RSAR in ASCII
0x04 0x02 Byte order mark. 0xFEFF is Big Endian, 0xFFFE is Little Endian
0x06 0x02 VersionMajor and VersionMinor flags from BrawlBox. Mario Kart Wii uses 01 04. HomeButtonSe.brsar (used for the Home Menu) uses 01 01. Unknown if it affects anything in-game.
0x08 0x04 Length of the file (in bytes).
0x0C 0x02 Length of the header (in bytes) (always 0x0040)
0x0E 0x02 Unknown (usually 0x0003)
0x10 0x04 Offset to the SYMB section
0x14 0x04 Size of the SYMB section
0x18 0x04 Offset to the INFO section
0x1C 0x04 Size of the INFO section
0x20 0x04 Offset to the FILE section
0x24 0x04 Size of the FILE section
0x28 0x18 Padding (0x00)
End of header

Sections

Unless otherwise noted, offsets in each section are relative to the start of the section block.

SYMB

The SYMB section consists of an FST-like data structure. It contains 3 header-less subsections.

Offset Size Description
0x00 0x04 File Identifier, SYMB in ASCII
0x04 0x04 Size of the SYMB section
0x08 0x04 Unknown
0x0C 0x04 Number of entries in the SYMB table
End of header