VTFX file format
Jump to navigation
Jump to search
VTFx is a file format used by Valve to store textures on the Xbox 360. It has a different header from normal VTF files and stores it's data in a compressed DirectDraw Surface. Conversion or reading from a VTFX file is not possible at this time. Compression seems to be varied depending on what game is using the vtfx
VTFX file format
VTFX layout
(estimated based on VTF)
VTFX Header VTFX Low Resolution Image Data For Each Mipmap (Smallest to Largest) For Each Frame (First to Last) For Each Face (First to Last) For Each Z Slice (Min to Max; Varies with Mipmap) VTFX High Resolution Image Data
VTFX header
typedef struct tagVTFXHEADER { char fileTypeString[4]; // VTFX. int version[2]; // version[0].version[1]. int headerSize; unsigned int flags; unsigned short width; // actual width of data in file. unsigned short height; // actual height of data in file. unsigned short depth; // actual depth of data in file. unsigned short numFrames; unsigned short preloadDataSize; // exact size of preload data (may extend into image!). unsigned char mipSkipCount; // used to resconstruct mapping dimensions. unsigned char numResources; Vector reflectivity; // Resides on 16 byte boundary!. float bumpScale; ImageFormat imageFormat; unsigned char lowResImageSample[4]; unsigned int compressedSize; // *** followed by *** ResourceEntryInfo resources[0]; } VTFXHEADER; #define VTF_X360_MAJOR_VERSION 0x0360 #define VTF_X360_MINOR_VERSION 8