Difference between revisions of "BLIGHT (File Format)"
m (The LOBJ version in loser_demo / draw_demo is 0x01.) |
|||
Line 47: | Line 47: | ||
| 0x04 || UInt32 || '''Section size'''. Always 0x50. | | 0x04 || UInt32 || '''Section size'''. Always 0x50. | ||
|- | |- | ||
− | | 0x08 || Byte || '''Version'''. Always 02 in MKW | + | | 0x08 || Byte || '''Version'''. Always 02 in MKW, except for loser_demo and draw_demo, in which said value is 01. |
|- | |- | ||
| 0x09 || Byte[3] || Padding. | | 0x09 || Byte[3] || Padding. |
Revision as of 16:02, 20 May 2021
The BLIGHT (Binary LIGHT) filetype controls lighting effects on characters, karts, items and objects in a track. It is always seen in the posteffect folder inside an U8. This file is not required for a track to load, as there is a default.blight file inside Common.szs.
File Format
File Header
The following table describes the version 2 LIGHT header.
Offset | Type | Description |
---|---|---|
0x00 | String | File magic. Always LGHT in ASCII. |
0x04 | UInt32 | File size. Always 0x5A8 in MKW. |
0x08 | Byte | Version. Always 02 in MKW |
0x09 | Byte[3] | Padding. |
0x0C | UInt32 | Unknown. Always 00 00 00 00. |
0x10 | UInt16 | Number of LOBJs. Always 0x10 in MKW. |
0x12 | UInt16 | Number of Ambient Lights. Always 0x10 in MKW. |
0x14 | Byte | Unknown. Always 00 |
0x15 | Byte | Unknown. Always 00 |
0x16 | Byte | Unknown. Always 00 |
0x17 | Byte | Unknown. Always FF |
0x18 | Byte[16] | Padding. |
However, one thing to note is that although 16 lights are stored in this file, only 8 can be referenced by the KCL (IDs 00 to 07). This is because the KCL only has three binary digits to reference lights (and 111 in binary = 7).
Light Object data (LOBJ)
The first light object starts at 0x28. These addresses are relative to the start of the object.
Offset | Type | Description |
---|---|---|
0x00 | String | Section magic. Always LOBJ in ASCII. |
0x04 | UInt32 | Section size. Always 0x50. |
0x08 | Byte | Version. Always 02 in MKW, except for loser_demo and draw_demo, in which said value is 01. |
0x09 | Byte[3] | Padding. |
0x0C | Byte[4] | Unknown. Always 00 00 00 00. |
0x10 | UInt16 | Unknown. Always 00 00. |
0x12 | Byte | Light type? Always 00 on unused/undefined lights, 02 most common, 01 (CCW) and 04 (RR, TD) seen. |
0x13 | Byte | Unknown. Always 01. |
0x14 | UInt16 | This value stores the index of the ambient light this light uses. |
0x16 | UInt16 | Unknown. Always 06 41 or 06 21. |
0x18 | Float[3] | 3D origin vector. |
0x24 | Float[3] | 3D destination vector. |
0x30 | Float | This seems to control how large the color effect is on this light. |
0x34 | Byte[4] | RGBA light color. |
0x38 | UInt32 | Unknown. Always 00 00 00 FF. |
0x3C | Float | Unknown. Always 42 B4 00 00, 90 in float. |
0x40 | Float | Unknown. Always 3F 00 00 00, 0.5 in float. |
0x44 | Float | Unknown. Always 3F 00 00 00?, 0.5 in float. |
0x48 | UInt64 | Padding? Nearly always 00 00 00 00 00 00 00 00. Sometimes it's 00 00 00 FF 00 00 00 00 on the last light. |
0x50 | End of object, start of next |
Ambient Light data
Ambient colors are used by each light object. They are linked by a light.
Offset | Type | Information |
---|---|---|
0x00 | Byte[4] | RGBA ambient light color. |
0x04 | UInt32 | Padding. |
0x08 | End of color, start of next |
All unused ones are 64 64 64 FF (a neutral gray).
Tools
The following tools can handle BLIGHT files:
- Post-Effect Editor, by Wexos
- Wexos's Toolbox, by Wexos.