BFLAN (File Format)
BFLAN (Binary caFe Layout ANimation) is an updated format for BRLAN files on the Wii.
File Header (FLAN)
|0x04||2||Byte Order Mark (BOM): 0xFEFF for big endian and 0xFFFE for little endian.|
|0x06||2||Header size (always 0x14)|
|0x0C||4||Size of entire file|
|0x10||2||Number of sections|
pat1 Section (???)
BFLAN files have a tree-like structure, FLAN encompasses the whole file, pat1 looks like a header for pai1, pai1 holds all entry data.
|0x04||4||Section size (all sub-data)|
|0x08||4||Unknown, seems to always be 1, probably number of entries|
|0x0C||4||Offset to first file string (Dunno what used for, always 0x1C?)|
|0x10||4||Offset to second file string (Dunno what used for)|
|0x14||4||Unknown, seems to be number of string entries minus 1 (0x14A -> 0x149)|
After is two strings, each padded to 4 bytes. After that is a bunch of zeroes (section padded to 8 or 16 bytes? Reference files have 0x44, 0x48, and 0x50 as size.
Texture Pattern (FLTP)
|0x00||4||Magic (caFe Layout Texture Pattern)|
|0x04||4||Unknown (Always 0x01000000 ???)|
|0x08||4||Unknown, usually 0x0C, could be offset or header length|
|0x0C||4||Unknown (probably flags, usually 0x100)|
|0x10||2||Number of entries (padded to 4 bytes/shifted ????)|
|0x14||4||0x0C again, probably another section size|
Each entry is 8 bytes, seems to a float, followed by flags (second byte looks like a sorting/matching number with strings).
The following tool can handle BFLAN files: