Font Asset: Difference between revisions

From COD Engine Research
Red-EyeX32 (talk | contribs)
No edit summary
 
(One intermediate revision by one other user not shown)
Line 9: Line 9:
[[Category:BO1]]
[[Category:BO1]]
[[Category:BO2]]
[[Category:BO2]]
[[Category:BO3]]
Font assets control what else; the fonts! Every Call of Duty game so far has had a font asset type, and it has changed very little.
Font assets control what else; the fonts! Every Call of Duty game so far has had a font asset type, and it has changed very little.
== Infinity Ward Games & World at War & Black Ops 1 ==
== Infinity Ward Games & World at War & Black Ops 1 ==
Line 41: Line 42:
</syntaxhighlight>
</syntaxhighlight>


== Black Ops 2 ==
== Black Ops 2 & 3 ==
Black Ops 2 is proving to be the only game that changes the font structure so far.
Black Ops 2, and subsequently Black Ops 3, are proving to be the only games that change the font structure so far.
<syntaxhighlight lang="cpp">
<syntaxhighlight lang="cpp">
#pragma pack(push, 2)
#pragma pack(push, 2)
Line 59: Line 60:
};
};
#pragma pack(pop)
#pragma pack(pop)
 
struct KerningPairs
{
  unsigned __int16 wFirst;
  unsigned __int16 wSecond;
  int iKernAmount;
};
 
struct Font_s
struct Font_s
{
{
   const char * name;
   const char *fontName;
   int pixelHeight;
   int pixelHeight;
   int unknown2;
   int isScalingAllowed;
   int glyphCount;
   int glyphCount;
   int unknownCount1;
   int kerningPairsCount;
   Material * material;
   Material *material;
   Material * glowMaterial;
   Material *glowMaterial;
   Glyph * glyphs;
   Glyph *glyphs;
   char * unknownData; //Size = unknownCount1 << 3
   KerningPairs *kerningPairs;
};
};
</syntaxhighlight>
</syntaxhighlight>

Latest revision as of 07:28, 31 October 2015

Font assets control what else; the fonts! Every Call of Duty game so far has had a font asset type, and it has changed very little.

Infinity Ward Games & World at War & Black Ops 1

Modern Warfare 2 font image for PS3

Note that S1 (Advanced Warfare) is an extension of IW6, therefore it fits here.

#pragma pack(push, 2)
struct Glyph
{
  unsigned __int16 letter;
  char x0;
  char y0;
  char dx;
  char pixelWidth;
  char pixelHeight;
  float s0;
  float t0;
  float s1;
  float t1;
};
#pragma pack(pop)

struct Font_s
{
  const char * name;
  int pixelHeight;
  int glyphCount;
  Material * material;
  Material * glowMaterial;
  Glyph * glyphs;
};

Black Ops 2 & 3

Black Ops 2, and subsequently Black Ops 3, are proving to be the only games that change the font structure so far.

#pragma pack(push, 2)
struct Glyph
{
  unsigned __int16 letter;
  char x0;
  char y0;
  char dx;
  char pixelWidth;
  char pixelHeight;
  float s0;
  float t0;
  float s1;
  float t1;
};
#pragma pack(pop)

struct KerningPairs
{
  unsigned __int16 wFirst;
  unsigned __int16 wSecond;
  int iKernAmount;
};

struct Font_s
{
  const char *fontName;
  int pixelHeight;
  int isScalingAllowed;
  int glyphCount;
  int kerningPairsCount;
  Material *material;
  Material *glowMaterial;
  Glyph *glyphs;
  KerningPairs *kerningPairs;
};