TEX/v0: Difference between revisions
Jump to navigation
Jump to search
m (→TXMD[]) |
mNo edit summary |
||
(4 intermediate revisions by the same user not shown) | |||
Line 1: | Line 1: | ||
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'. | {{Template:SectionBox/VersionRange|min_expansionlevel=4}} | ||
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) and some special ones (spell effects by class). [[Chunk|Chunked]] structure. Internally called 'TextureBlob'. | |||
==structure== | ==structure== | ||
While this is properly chunked, order is required. | |||
===TXVR=== | ===TXVR=== | ||
uint32_t version; | uint32_t version; // As of 4.0.12479 and 6.0.1.18179: 0. Not checked by client. | ||
As of 4.0.12479 | |||
===TXBT=== | ===TXBT=== | ||
struct SBlobTexture { | struct SBlobTexture { | ||
Line 21: | Line 17: | ||
uint4_t flags; // 1 = if dxt_type = Dxt1, prefer Argb1555 over Rgb565, if Dxt1 unavailable | uint4_t flags; // 1 = if dxt_type = Dxt1, prefer Argb1555 over Rgb565, if Dxt1 unavailable | ||
} entries[]; | } entries[]; | ||
===TXFN=== | ===TXFN=== | ||
char filenames[]; // zero-terminated, no file ending | char filenames[]; // zero-terminated, no file ending | ||
Line 28: | Line 23: | ||
Can contain multiple mipmap levels for one texture. See UpdateBlobTexture() for unpacking. | Can contain multiple mipmap levels for one texture. See UpdateBlobTexture() for unpacking. | ||
[[Category:Format]] | [[Category:Format]] |
Revision as of 12:00, 14 April 2016
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) and some special ones (spell effects by class). Chunked structure. Internally called 'TextureBlob'.
structure
While this is properly chunked, order is required.
TXVR
uint32_t version; // As of 4.0.12479 and 6.0.1.18179: 0. Not checked by client.
TXBT
struct SBlobTexture { uint32_t filenameOffset; uint32_t txmdOffset; // TXMD-chunk offset relative to end of TXFN-chunk. uint8_t sizex; uint8_t sizey; // special case: sizex = sizey * 6 uint7_t m_numLevels; // mipmaps uint1_t loaded; uint4_t dxt_type; // 0 = Dxt1, 1 = Dxt3, 2 = Dxt5 uint4_t flags; // 1 = if dxt_type = Dxt1, prefer Argb1555 over Rgb565, if Dxt1 unavailable } entries[];
TXFN
char filenames[]; // zero-terminated, no file ending
TXMD[]
char textureData[]; // length depends on size, type and flags.
Can contain multiple mipmap levels for one texture. See UpdateBlobTexture() for unpacking.