texHeaders.bin File Format: Difference between revisions

From Bohemia Interactive Community
Jump to navigation Jump to search
No edit summary
No edit summary
Line 24: Line 24:
   ulong Always1;
   ulong Always1;
   ulong Always0;
   ulong Always0;
   float Floats[4];
   _bgraDecimal AvgerageColorDecimal; //AVGCTAGG in PAA (reversed argb format) floating-point equivalent
   byte  AverageColor[4]; //like AVGCTAGG in PAA file
   _bgraHex AverageColorHex; //AVGCTAGG in PAA file (reversed argb format)
   byte  MaxColor[4]; //like MAXCTAGG in PAA file
   _bgraHex MaxColorHex; //MAXCTAGG in PAA file
   ulong Always0;
   ulong Always0;
   ulong AlwaysDefault;//0xFFFFFFFF
   ulong AlwaysDefault;//0xFFFFFFFF
Line 55: Line 55:
   ulong  dataOffset; //position of mipmap data in paa file
   ulong  dataOffset; //position of mipmap data in paa file
  };
  };
_bgraHex
{
  byte blue, green, red, alpha;
};
_bgraDecimal
{
  float blue, green, red, alpha;
};

Revision as of 04:06, 1 July 2010

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;

};