texHeaders.bin File Format

From Bohemia Interactive Community
Revision as of 01:49, 30 June 2010 by T D (talk | contribs)
Jump to navigation Jump to search
struct TexHeader.bin
{
 MimeType "0DHT" ;    // NOT asciiz. '0' = 0x30. This is mimetype "TexHeaDer0"
 ulong    version;    // 1
 ulong    nTextures; //ce 01 00 00 
 TexBody  TexBodies[nTextures];
};


TexBody
{
 TexBegin TexBegin;
 Asciiz   *PaaFile;//"data\icons\m4a3_cco_ca.paa"
                   //"fnfal\data\fnfal_smdi.paa"
 TexEnd   TexEnd;
};
  • Either BIS have finally learned to use relative file addressing (unlikely), or, more inconsistency for us

where the root is presumed to be \CA\ (or anything else they arbitrarily decide to use).

  • It looks like yet-another rule break with lack of ofpec_tags in front of pbo model names, but, it's their game, they can destroy it any way they want to.
TexBegin
{
 ulong Always1;
 ulong Always0;
 float Floats[4];
 byte  AverageColor[4]; //like AVGCTAGG in PAA file
 byte  MaxColor[4]; //like MAXCTAGG in PAA file
 ulong Always0;
 ulong AlwaysDefault;//0xFFFFFFFF
 ulong FlagBytes;    // 01 01 00 10 typical
 ulong SameCount;    // see note
 ulong TextureType; // 6 = DXT1, 10 = DXT5
 byte  Always1;
 byte  Always1;
};
TexEnd
{
 ulong      Flag;
 ulong      nMipmaps;
 MipMap     MipMaps[nMipmaps];
 ushort     SomeShort
 ushort     AnotherShort;
};
  • SameCount always == nMipmaps
MipMap
{
 ushort width;//typical 0040,0200
 ushort height;//typical 0020,0100
 ushort Always0;
 ushort value3;//generally 0x030a
 ulong  dataOffset; //position of mipmap data in paa file
};