VTFX file format: Difference between revisions

From Valve Developer Community
Jump to navigation Jump to search
mNo edit summary
mNo edit summary
Line 5: Line 5:


=== VTFX header ===
=== VTFX header ===
\#define VTF_X360_MAJOR_VERSION 0x0360
##define VTF_X360_MAJOR_VERSION 0x0360
\#define VTF_X360_MINOR_VERSION 8
##define VTF_X360_MINOR_VERSION 8


struct VTFFileHeaderX360_t   
struct VTFFileHeaderX360_t   
{
{
char fileTypeString[4];        // VTFX
char fileTypeString[4];        // VTFX.
int version[2]; // version[0].version[1]
int version[2]; // version[0].version[1].
int headerSize;
int headerSize;
unsigned int flags;
unsigned int flags;
unsigned short width; // actual width of data in file
unsigned short width; // actual width of data in file.
unsigned short height; // actual height of data in file
unsigned short height; // actual height of data in file.
unsigned short depth; // actual depth of data in file
unsigned short depth; // actual depth of data in file.
unsigned short numFrames;
unsigned short numFrames;
unsigned short preloadDataSize; // exact size of preload data (may extend into image!)
unsigned short preloadDataSize; // exact size of preload data (may extend into image!).
unsigned char mipSkipCount; // used to resconstruct mapping dimensions
unsigned char mipSkipCount; // used to resconstruct mapping dimensions.
unsigned char numResources;
unsigned char numResources;
Vector reflectivity; // Resides on 16 byte boundary!
Vector reflectivity; // Resides on 16 byte boundary!.
float bumpScale;
float bumpScale;
ImageFormat imageFormat;
ImageFormat imageFormat;

Revision as of 06:42, 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]; };