BLIGHT (File Format)
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.
The following table describes the version 2 LIGHT header.
|0x00||String||File magic. Always LGHT in ASCII.|
|0x04||UInt32||File size. Always 0x5A8 in MKW.|
|0x08||Byte||Version. Always 02 in MKW|
|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||RGBA ambience black color. Always 00 00 00 FF.|
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.
|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.|
|0x0C||Byte||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||3D origin vector.|
|0x24||Float||3D destination vector.|
|0x30||Float||This seems to control how large the color effect is on this light.|
|0x34||Byte||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.
|0x00||Byte||RGBA ambient light color.|
|0x08||End of color, start of next|
All unused ones are 64 64 64 FF (a neutral gray).
The following tools can handle BLIGHT files: