FTEX (File Format)

From MK8
Revision as of 11:38, 19 May 2017 by Aboood40091 (talk | contribs)
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.

The FTEX texture format is a format for textures which appears as a subfile of a BFRES file. It appears in the 1:st index group in a BFRES file. Unless otherwise noted, all offsets in the file are relative to themselves.

Header (FTEX)

A FTEX file begins with an 0xC0 byte header that starts with the file identifier, followed by info about the image.

Offset Size Description
0x00 4 "FTEX" File identifier, ASCII string.
0x04 4 Dimension. Indicates the "shape" of a given surface or texture (see line 849 here).
0x08 4 Texture Width. Width of the texture in pixels.
0x0C 4 Texture Height. Height of the texture in pixels.
0x10 4 Depth.
0x14 4 Number of Mipmaps.
0x18 4 Texture Format. Go to line 589 on this page for explanation and format values.
0x1C 4 AA Mode. Indicates the AA mode (number of samples) for the surface (see line 865 here).
0x20 4 Usage. Indicates how the given surface may be used (see line 823 here).
0x24 4 Data Length. Length of texture data in bytes.
0x28 4 Data Pointer?
0x2C 4 Mipmaps Data Length. Length of mipmaps data in bytes.
0x30 4 Mipmaps Pointer?
0x34 4 Tile Mode. Indicates the desired tiling mode for the surface (see line 795 here).
0x38 4 Swizzle Value.
0x3C 4 Alignment. Always 512 * bytes per pixel.
0x40 4 Pitch.
0x44 0x0D Mip Offset?. Offset for each mipmap?
0x51 0x2B Unknown. Mipmaps related? (Almost always 0 in textures with no mipmaps)
0x7C 4 Number of Mipmaps. Again...
0x80 4 Unknown. Always 0.
0x84 4 Unknown. Always 1.
0x88 4 Unknown.
0x8C 0x1C Unknown.
0xA8 4 Offset to the name of this file.
0xAC 4 Offset to the end of the string table.
0xB0 4 Data Offset. Offset to the texture data.
0xB4 4 Mipmap Offset. Offset to the mipmap texture data.
0xB8 4 Offset to the user data.
0xBC 2 Number of user data.
0xBE 2 Unknown.
0xC0 End of FTEX header

Image Data

The image and mipmap data is not present after the header. It comes after the BFRES string table instead. This seems to be a caching optimization, since the CPU generally don't need to handle the image data. Instead it is sent directly to the GPU.

User Data

Template:NW4F User Data