TEX/v0: Difference between revisions

From wowdev
Jump to navigation Jump to search
mNo edit summary
mNo edit summary
Line 1: Line 1:
TEX files seem to have been introduced with Cataclysm. One per continent (e.g. Azeroth.tex). Chunked structure. Internally called 'TextureBlob'.
This is storing really low resolution textures for use if the real file is not yet loaded or streamed. One per continent (e.g. Azeroth.tex). [[Chunk|Chunked]] structure. Internally called 'TextureBlob'.


also see [[Cataclysm#tex_(new)]]
==structure==
===TXVR===
uint32_t version;


= Chunks =
== TXVR - Texture Version ==
As of 4.0.12479, 0
As of 4.0.12479, 0


Line 10: Line 10:
8 Byte of Data, actual only containing a 4 in the first Byte. (CataclysmCTF.tex)
8 Byte of Data, actual only containing a 4 in the first Byte. (CataclysmCTF.tex)


== TXBT - ? ==
===TXBT===
Unknown
struct SBlobTexture {
== TXFN - Texture Filenames ==
  uint32_t filenameOffset;
\0-delimited list of filenames
  uint32_t txmdOffset; // TXMD-chunk offset relative to end of TXFN-chunk.
== TXMD - ? ==
  uint8_t sizex;
Rest of the file is made up with TXMD chunks
  uint8_t sizey;
  uint8_t type; // 0x80 already loaded (set on runtime)
  uint8_t flags;
} entries[];
 
===TXFN===
char filenames[]; // zero-terminated, no file ending
===TXMD[]===
char textureData[]; // length depends on size, type and flags.
 


[[Category:Format]]
[[Category:Format]]

Revision as of 13:41, 20 May 2014

This is storing really low resolution textures for use if the real file is not yet loaded or streamed. One per continent (e.g. Azeroth.tex). Chunked structure. Internally called 'TextureBlob'.

structure

TXVR

uint32_t version;

As of 4.0.12479, 0

Rev 13329: 8 Byte of Data, actual only containing a 4 in the first Byte. (CataclysmCTF.tex)

TXBT

struct SBlobTexture {
  uint32_t filenameOffset;
  uint32_t txmdOffset; // TXMD-chunk offset relative to end of TXFN-chunk.
  uint8_t sizex;
  uint8_t sizey;
  uint8_t type; // 0x80 already loaded (set on runtime)
  uint8_t flags;
} entries[];

TXFN

char filenames[]; // zero-terminated, no file ending

TXMD[]

char textureData[]; // length depends on size, type and flags.