FTEX (File Format)

From MK8
Revision as of 17:50, 28 January 2015 by Chadderz (talk | contribs) (→‎Header (FTEX): I don't have time to do a proper analysis now, but I've added the infomation I could glean from my notes.)
Jump to navigation Jump to search
Under Construction
This article is not finished. Help improve it by adding accurate information or correcting grammar and spelling. Please do not add speculation here.

The FTEX texture format is a format for textures which appears as a subfile of a BFRES file.

Header (FTEX)

Every FTEX file begins with an 0xC0 byte FTEX header.

Offset Size Description
0x00 4 "FTEX" File identifier, ASCII string.
0x04 4 Unknown has value 0x01 in examined files. May be version number.
0x08 4 Texture Width. Width of the texture in pixels.
0x0C 4 Texture Height. Height of the texture in pixels.
0x10 4 Unknown has value 0x01 in examined files. May be a count of some form.
0x14 6 unknown
0x1A 1 Unknown seems related to the format.
0x1B 1 Texture Format. Values unknown.
0x1C 8 unknown
0x24 4 Data Length. Length of texture data in bytes.
0x28 0x88 unknown
0xB0 4 Data Offset. Offset to the texture data. Relative to this field.
0xB4 4 Mipmap Offset. Offset to the mipmap texture data. Relative to this field. 0 if not present.
0xB8 8 unknown
0xC0 End of FTEX header

Incomplete header documentation. Last 8 words (32 bytes) seem to change per file. Offset 160 (dec) from FTEX header always seems to be zero, followed by a single byte (value of 1), 3 padding bytes, then a relative offset to the string table, then a relative offset to UnknownDataA, a relative offset to UnknownDataB, a relative offset to unknown DataC, and then two more unknowns (usually zero).