User:Chipsnapper2/HL2 Xbox Research/Texture Research: Difference between revisions
Jump to navigation
Jump to search
Chipsnapper2 (talk | contribs) No edit summary |
Chipsnapper2 (talk | contribs) No edit summary |
||
Line 2: | Line 2: | ||
All VMTs are identical to those found in Source 2004 builds of HL2. | All VMTs are identical to those found in Source 2004 builds of HL2. | ||
== XTF header == | |||
<source lang="cpp"> | |||
struct VTFFileBaseHeader_t | |||
{ | |||
char fileTypeString[4]; // "VTF" Valve texture file | |||
int version[2]; // version[0].version[1] | |||
int headerSize; | |||
}; | |||
#define XTF_MAJOR_VERSION 5 | |||
#define XTF_MINOR_VERSION 0 | |||
struct XTFFileHeader_t : public VTFFileBaseHeader_t | |||
{ | |||
unsigned int flags; | |||
unsigned short width; // actual width | |||
unsigned short height; // actual height | |||
unsigned short depth; // always 1 | |||
unsigned short numFrames; | |||
unsigned short preloadDataSize; // exact size of preload data | |||
unsigned short imageDataOffset; // aligned to sector size | |||
Vector reflectivity; // Resides on 16 byte boundary! | |||
float bumpScale; | |||
ImageFormat imageFormat; | |||
unsigned char lowResImageWidth; | |||
unsigned char lowResImageHeight; | |||
unsigned char fallbackImageWidth; | |||
unsigned char fallbackImageHeight; | |||
unsigned char mipSkipCount; // used to resconstruct mapping dimensions | |||
unsigned char pad; // for alignment | |||
}; | |||
</source> |
Latest revision as of 17:43, 10 June 2020
HL2 Xbox doesn't use VTF files for materials - instead it uses the XTF file format. VTFEdit cannot open these files.
All VMTs are identical to those found in Source 2004 builds of HL2.
XTF header
struct VTFFileBaseHeader_t
{
char fileTypeString[4]; // "VTF" Valve texture file
int version[2]; // version[0].version[1]
int headerSize;
};
#define XTF_MAJOR_VERSION 5
#define XTF_MINOR_VERSION 0
struct XTFFileHeader_t : public VTFFileBaseHeader_t
{
unsigned int flags;
unsigned short width; // actual width
unsigned short height; // actual height
unsigned short depth; // always 1
unsigned short numFrames;
unsigned short preloadDataSize; // exact size of preload data
unsigned short imageDataOffset; // aligned to sector size
Vector reflectivity; // Resides on 16 byte boundary!
float bumpScale;
ImageFormat imageFormat;
unsigned char lowResImageWidth;
unsigned char lowResImageHeight;
unsigned char fallbackImageWidth;
unsigned char fallbackImageHeight;
unsigned char mipSkipCount; // used to resconstruct mapping dimensions
unsigned char pad; // for alignment
};