Any tools out there for BFFNT handling?

I started documenting the Hex:


46 46 4E 54 = header magic (FFNT) FF FE 14 00 > FF FE = > = Byte Order > 14 00 = 20 = Header length 00 00 00 04 = Version (v4) 40 82 26 00 = File size (0x268240 => 2523712 => 2.523 MB ) 0C 00 00 00 = FFNT Content (0x00000C)


46 49 4E 46 = header magic (FINF) 20 00 00 00 = 32 length (from header magic to the end, so 8 bytes wasted on MAGIC + LENGTH) 01 12 0F 0E > 01 = 1 = Font Type > 12 = 18 = Height > 0F = 15 = Width > 0E = 14 = Ascent
12 00 00 00 > 12 00 = 18 = Line Feed > 00 00 = 0 = Alter Character Width 00 0F 0F 01 > 00 = 0 = Default Left Width > 0F = 15 = Default Glyph Width > 0F = 15 = Default Character Width > 01 = 1 = Encoding 3C 00 00 00 = TGLP Offset (0x00003C) 08 20 26 00 = CWDH Offset (0x262008) 20 4D 26 00 = CMAP Offset (0x264F20)


54 47 4C 50 = header magic (TGLP - starts at 0x00003C as specified above) CC 1F 26 00 = section size (very big..., its all the glyph info) (header is only 20(16)/32(10) long) 0F 12 13 0F > 0F = 15 = Cell Width > 12 = 18 = Cell Height > 13 = 19 = Sheet Count > 0F = 15 = Max Character Width 00 00 02 00 = 131072 (sheet size) 0E 00 04 00 > 0E 00 = 15 = sheet baseline position > 04 00 = 4 = sheet pixel format (RGBA4) 10 00 0D 00 > 10 00 = 16 = # sheet cols > 0D 00 = 13 = # sheet rows 00 01 00 01 > 00 01 = 256 = sheet width > 00 01 = 256 = sheet height 00 20 00 00 = Sheet Data Offset (0x002000)


/r/3dshacks Thread