texHeaders.bin File Format
Jump to navigation
Jump to search
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.
Information here has been gleaned from the very few texheaders in Arrowhead (approx 24) and won't necessarily be complete as a result.
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 byteBool OnOff[4]; // 01 01 00 01 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]; ulong EndOfMipMaps; //offset in pax to last (dummy) mipmap };
- 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 TextureType; //same value as above byte Always3; ulong dataOffset; //OFFSTAGG in PAx file. position of mipmap data in pax file };