BREFT (File Format)

From Custom Mario Kart
(Redirected from BREFT)
Jump to: navigation, search

Introduction

Read BREFF and BREFT (File Format) for an introduction.

File Format

A BREFT sub file starts with a header of 32 bytes followed by the image data. The sub file item explained here points to this header. The size of the sub file item only counts the size of the image data.

Offset Size Type Description
0x00 0x04 UInt32 Unknown. Null for all 1200 BREFT files in Mario Kart Wii.
0x04 0x02 UInt16 Width of the image in pixels (values in the range 0x8-0x100).
0x06 0x02 UInt16 Height of the image in pixels (values in the range 0x10-0x100).
0x08 0x04 UInt32 I = size of image data.
0x0C 0x01 Byte Image format of the image.

Found in MKW: 7* 0x00, 675* 0x01, 462* 0x03, 5* 0x04, 25* 0x05, 2* 0x06, 24* 0x0E

0x0D 0x01 Byte Palette format of the image.
0x0E 0x02 UInt16 Number of palette entries.
0x10 0x04 UInt32 P = Size of the palette data.
0x14 0x01 Byte 0 or total number of images (main image + mipmaps). In Mario Kart Wii only 2 files have the value of 2 here (factory_course.szs and _d variant, effect/Alarm/rk_alarm.breft, alarmMip). For all other files the value is 0.
0x15 0x01 Byte Mipmap min filter.
0x16 0x01 Byte Mipmap mag filter.
0x17 0x01 Byte Unknown. 0 for all 1200 BREFT files in Mario Kart Wii.
0x18 0x04 Float LOD bias.
0x1C 0x04 UInt32 Unknown. 0 for all 1200 BREFT files in Mario Kart Wii..
0x20 I Byte[I] Image data.
0x20 + I P Byte[P] Palette data, if it exists.
0x20 + I + P End of sub file

Image Formats

Image Formats
ID Name Bits per pixel Block width Block height Block size Type
0x00 I4 4 8 8 32 bytes gray
0x01 I8 8 8 4 32 bytes gray
0x02 IA4 8 8 4 32 bytes gray+alpha
0x03 IA8 16 4 4 32 bytes gray+alpha
0x04 RGB565 16 4 4 32 bytes color
0x05 RGB5A3 16 4 4 32 bytes color+alpha
0x06 RGBA32 (RGBA8) 32 4 4 64 bytes color+alpha
0x08 C4 (CI4) 4 8 8 32 bytes palette (IA8,RGB565,RGB5A3)
0x09 C8 (CI8) 8 8 4 32 bytes palette (IA8,RGB565,RGB5A3)
0x0A C14X2 (CI14x2) 16
(only 14 used)
4 4 32 bytes palette (IA8,RGB565,RGB5A3)
0x0E CMPR 4 8 8 32 bytes mini palettes in each block
RGB565 or transparent

Tools

The following tools can handle BREFT files: