BREFT (File Format)
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
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 | 4 | 4 | 32 bytes | Palette (IA8, RGB565, RGB5A3) |
0x0E | CMPR | 4 | 8 | 8 | 32 bytes | Color + optional Alpha (compressed) |
Tools
The following tools can handle BREFT files:
- BrawlBox, by Kryal & BlackJax
- SZS Modifier, by MrBean35000vr and Chadderz
- Wiimms SZS Tools, by Wiimm