texHeaders.bin File Format: Difference between revisions
Jump to navigation
Jump to search
No edit summary |
m (→TexBody: textypes) |
||
Line 19: | Line 19: | ||
ulong Always0; | ulong Always0; | ||
floats AverageColor[r,g,b,a];//[[PAA_File_Format#AVGCTAGG|AVGCTAGG]] floating-point equivalent. Note that order is different | floats AverageColor[r,g,b,a];//[[PAA_File_Format#AVGCTAGG|AVGCTAGG]] floating-point equivalent. Note that order is different | ||
bytes AverageColor[b,g,r,a];//[[PAA_File_Format#AVGCTAGG|AVGCTAGG]] in | bytes AverageColor[b,g,r,a];//[[PAA_File_Format#AVGCTAGG|AVGCTAGG]] in PAx file | ||
bytes MaxColor[b,g,r,a]; //[[PAA_File_Format#AVGCTAGG|MAXCTAGG]] in | bytes MaxColor[b,g,r,a]; //[[PAA_File_Format#AVGCTAGG|MAXCTAGG]] in PAx file | ||
ulong Always0; | ulong Always0; | ||
ulong AlwaysDefault; // 0xFFFFFFFF | ulong AlwaysDefault; // 0xFFFFFFFF | ||
ulong FlagBytes; // 01 01 00 10 typical | ulong FlagBytes; // 01 01 00 10 typical | ||
ulong SameCount; // always == nMipmaps | ulong SameCount; // always == nMipmaps | ||
ulong TextureType; // | ulong TextureType; // see below | ||
byte Always1; | byte Always1; | ||
byte Always1; | byte Always1; | ||
Line 39: | Line 39: | ||
* BIS have finally learned to use relative file addressing. This might be the precursor to a better future where we leave oops modelling nightmares behind. | * BIS have finally learned to use relative file addressing. This might be the precursor to a better future where we leave oops modelling nightmares behind. | ||
===float | ===Texture Type=== | ||
values seen | |||
*0 GREY | |||
*4 RGB4 | |||
*6 DXT1 | |||
*10 DXT5 | |||
this value is repeated in each mipmap | |||
===Color float=== | |||
anyfloat= anybyte/255.0; | anyfloat= anybyte/255.0; | ||
===mipmap=== | ===mipmap=== | ||
MipMap | MipMap | ||
{ | { | ||
ushort width | ushort width,ushort height; //as per same mipmap in the pax | ||
ushort Always0; | ushort Always0; | ||
byte Always3; | |||
ulong dataOffset; //[[PAA_File_Format#AVGCTAGG|OFFSTAGG]] in | byte TextureType; //same value as above | ||
ulong dataOffset; //[[PAA_File_Format#AVGCTAGG|OFFSTAGG]] in PAx file. position of mipmap data in pax file | |||
}; | }; |
Revision as of 04:57, 21 June 2011
intro
TextHeader.bin is created by Binpbo personal edition 2.5 and greater. It is placed in the primary folder of the addon.pbo, and comprises of information from all pax files encountered in that addon from all it's possible data trees.
Conventions
see Generic FileFormat Data Types
File Structure
struct TexHeader.bin { MimeType "0DHT" ; // NOT asciiz. '0' = 0x30. This is mimetype "TexHeaDer0" ulong version; // 1 ulong nTextures; // TexBody TexBodies[nTextures]; };
TexBody
TexBody { ulong Always1; ulong Always0; floats AverageColor[r,g,b,a];//AVGCTAGG floating-point equivalent. Note that order is different bytes AverageColor[b,g,r,a];//AVGCTAGG in PAx file bytes MaxColor[b,g,r,a]; //MAXCTAGG in PAx file ulong Always0; ulong AlwaysDefault; // 0xFFFFFFFF ulong FlagBytes; // 01 01 00 10 typical ulong SameCount; // always == nMipmaps ulong TextureType; // see below byte Always1; byte Always1; Asciiz *PaaFile; //"data\icons\m4a3_cco_ca.paa" //"fnfal\data\fnfal_smdi.paa" ulong Flag; ulong nMipmaps; MipMap MipMaps[nMipmaps]; ushort SomeShort ushort AnotherShort; };
- BIS have finally learned to use relative file addressing. This might be the precursor to a better future where we leave oops modelling nightmares behind.
Texture Type
values seen
- 0 GREY
- 4 RGB4
- 6 DXT1
- 10 DXT5
this value is repeated in each mipmap
Color float
anyfloat= anybyte/255.0;
mipmap
MipMap { ushort width,ushort height; //as per same mipmap in the pax ushort Always0; byte Always3; byte TextureType; //same value as above ulong dataOffset; //OFFSTAGG in PAx file. position of mipmap data in pax file };