Difference between revisions of "BRCTR (File Format)"

From Custom Mario Kart
Jump to navigation Jump to search
(Created page with "The '''BRCTR''' ('''B'''inary '''R'''evolution '''C'''on'''TR'''ol) filetype applies specific settings for BRLYT files and makes possible the use of ...")
(No difference)

Revision as of 13:48, 4 June 2016

The BRCTR (Binary Revolution ConTRol) filetype applies specific settings for BRLYT files and makes possible the use of BRLAN animation files in Mario Kart Wii's User Interface elements, such as buttons, backgrounds and layouts. This kind of file is always found into the UI directory from the game's filesystem, and specifically into SZS files. They're located into ctrl folders.

File Header

Offset Size Description
0x00 string "bctr" magic
0x04 UInt16 Version?
0x06 UInt16 Number of sections?
0x08 UInt16 Size? Offset?
0x0A UInt16 Unknown
0x0C UInt16 Offset to Section 1 Header
0x0E UInt16 Offset to Section 2 Header
0x10 UInt16 Offset to NameTable
0x12 UInt16 Unknown

Sub-Header 1

Offset Size Description
0x00 UInt16 Header size
0x02 UInt16 Number of Sub-Section 1 entries
0x04 UInt16 Offset of first Sub-Section 2 entry
0x06 UInt16 Number of Sub-Section 2 entries

Section 1

Offset Size Description
0x00 UInt16[2] Name offsets (0 = no name)
0x04 UInt16 Unknown
0x06 UInt16 Unknown

Section 2

Offset Size Description
0x00 UInt16[4] Name offsets (0 = no name)
0x08 Float Unknown

Sub-Header 2

Offset Size Description
0x00 UInt16 Always 00 0C (identifier?)
0x02 UInt16 Number of entries
0x04 UInt16 SectionSize (including header size)
0x06 UInt16 Number of flags?
0x08 UInt16 SectionSize + Flag(?) size
0x0A UInt16 Unknown

Section 3

This is probably the only section we have some useful info about. It contains float data specifying where to set the final position of a BRLYT pane, in widescreen (4:3 mode in Dolphin) and normal screen (16:9) modes.

Offset Size Description
0x00 UInt16 Name offset (0 = no name)
0x02 UInt16 Always 00 FF
0x04 UInt32 Always 00 01 00 00
0x08 Float Unknown
0x0C Float Translation X (widescreen)
0x10 Float Translation Y (widescreen)
0x14 Float Translation Z (widescreen)
0x18 Float Scale X (widescreen)
0x1C Float Scale Y (widescreen)
0x20 Float Translation X
0x24 Float Translation Y
0x28 Float Translation Z
0x2C Float Scale X
0x30 Float Scale Y
0x34 UInt32 Pre/Next?
0x38 Float/UInt32 Padding?

Section 4

This section maybe refers to specific flags for button and layout references.

Offset Size Description
0x00 UInt32 Unknown
0x04 UInt32 Unknown

NameTable

At the end of the file, there's a section which makes reference to BRLYT pane names, layout objects names (as they're found in StaticR.rel) and BRLAN files, which probably establish a link between them (they're configured in the previous sections) to load correctly in the game.