texHeaders.bin File Format

From Bohemia Interactive Community
Revision as of 05:06, 1 July 2010 by Synide (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;
 _bgraDecimal AvgerageColorDecimal; //AVGCTAGG in PAA (reversed argb format) floating-point equivalent
 _bgraHex AverageColorHex; //AVGCTAGG in PAA file (reversed argb format)
 _bgraHex MaxColorHex; //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
};


_bgraHex {

 byte blue, green, red, alpha;

}; _bgraDecimal {

 float blue, green, red, alpha;

};