VTFX file format: Difference between revisions

From Valve Developer Community
Jump to navigation Jump to search
(Created page with '{{stub}} 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 raw image data in an LZMA compressed Di…')
 
No edit summary
Line 1: Line 1:
{{stub}}
{{stub}}
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 raw image data in an LZMA compressed DirectDraw Surface. The start of the DDS section of the VTFx File can be found easily by searching for the text LZMA at the beginning of the DDS file. Easily converting VTFx to VTF files is not possible at this time, and requires lengthy hand-editing.
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.
 
=== VTFX header ===
#define VTF_X360_MAJOR_VERSION 0x0360
#define VTF_X360_MINOR_VERSION 8
 
struct VTFFileHeaderX360_t 
{
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];
};

Revision as of 06:40, 23 August 2009

Stub

This article or section is a stub. You can help by expanding it.

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.

VTFX header

  1. define VTF_X360_MAJOR_VERSION 0x0360
  2. define VTF_X360_MINOR_VERSION 8

struct VTFFileHeaderX360_t { 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]; };