BRSAR (File Format)

From Custom Mario Kart
Revision as of 16:32, 9 March 2017 by Wexos (talk | contribs) (→‎Tools)
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.

The BRSAR (Binary Revolution Sound ARchive) format is 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. An index list of the known values of the revo_kart.brsar file used in Mario Kart Wii can be found here.

File Header

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

Offset Type Description
0x00 String File magic. RSAR 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 of the file format. "revo_kart.brsar" uses 01 04. "HomeButtonSe.brsar" (used for the Home Menu) uses 01 01.
0x08 UInt32 Length of the file.
0x0C UInt16 Length of the header (always 0x40).
0x0E UInt16 Number of sections.
0x10 UInt32 Offset to the SYMB section.
0x14 UInt32 Size of the SYMB section.
0x18 UInt32 Offset to the INFO section.
0x1C UInt32 Size of the INFO section.
0x20 UInt32 Offset to the FILE section.
0x24 UInt32 Size of the FILE section.
0x28 Byte[24] Padding.
0x40 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 Type Description
0x00 String Section magic. SYMB in ASCII.
0x04 UInt32 Size of the SYMB section.
0x08 UInt32 Unknown.
0x0C UInt32 Number of entries in the SYMB table.
0x10 End of header

Tools

The following tools can handle BRSAR files: