Difference between revisions of "BLO (File Format)"

From Custom Mario Kart
Jump to navigation Jump to search
(Create BLO page.)
 
(Parameter fixes.)
 
Line 51: Line 51:
 
|-
 
|-
 
| 0x08 || Byte || Number of parameters.
 
| 0x08 || Byte || Number of parameters.
 +
|}
 +
 +
The parameters are defined right after. The are in the following order:
 +
 +
{|class="wikitable"
 +
|-
 +
! Offset !! Type !! Description
 
|-
 
|-
 
| 0x09 || Byte || Is Visible.
 
| 0x09 || Byte || Is Visible.
Line 65: Line 72:
 
|-
 
|-
 
| 0x16 || UInt16 || Panel width.
 
| 0x16 || UInt16 || Panel width.
|}
 
 
The number of parameters is actually ''value - 6''. It is unknown how this value is determined. If the value is still above 0, the parameters are listed in this order:
 
 
{|class="wikitable"
 
|-
 
! Offset !! Type !! Description
 
 
|-
 
|-
 
| 0x18 || UInt16 || Angle.
 
| 0x18 || UInt16 || Angle.

Latest revision as of 01:38, 22 April 2019

BLO is a format used to define layouts in Gamecube games, such as Super Mario Sunshine and Luigi's Mansion. There are two versions of BLO, which are marked as blo1 and blo2: differences will be noted between the two formats.

File Format

The file begins with the string "SCRN" in ASCII.

blo1/blo2

Right after the SCRN magic, the blo section is described.

Offset Type Description
0x00 String File magic. Always blo1/blo2 in ASCII.
0x04 UInt32 File Size.
0x08 UInt32 Number of sections.
0x0C Byte[0x10] Padding. In blo2, this is an empty SVR1 section with 0xC bytes of padding (0xFF.)

INF1

INF1 stores basic information on the layout.

Offset Type Description
0x00 String Header magic. Always INF1 in ASCII.
0x04 UInt32 Section Size.
0x08 UInt16 Layout width.
0x0A UInt16 Layout height.
0x0C UInt32 Tint Color. (RGBA)

PAN1/PAN2

PAN defines a null panel.

PAN1

Offset Type Description
0x00 String Header magic. Always PAN1 in ASCII.
0x04 UInt32 Section Size.
0x08 Byte Number of parameters.

The parameters are defined right after. The are in the following order:

Offset Type Description
0x09 Byte Is Visible.
0x0A UInt16 Padding.
0x0C String Panel name. String is always 0x4 in length.
0x10 UInt16 Left?
0x12 UInt16 Top?
0x14 UInt16 Panel height.
0x16 UInt16 Panel width.
0x18 UInt16 Angle.
0x1A Byte Anchor.
0x1B Byte Alpha.
0x1C Byte Inherit Alpha.

PAN2

todo

BGN1

BGN1 begins all child panel data.

Offset Type Description
0x00 String Header magic. Always BGN1 in ASCII.
0x04 UInt32 Section Size.

END1

END1 ends all child panel data.

Offset Type Description
0x00 String Header magic. Always END1 in ASCII.
0x04 UInt32 Section Size.