Emblem Set Asset

From COD Engine Research
Revision as of 21:05, 25 January 2014 by CraigChrist8239 (talk | contribs) (Created page with "__NOTOC__ Category:Assets Category:BO1 Category:BO2 The emblemset asset is used on Black Ops 1 and 2 to predefine emblems. == Black Ops 1 == <syntaxhighlight lang=...")
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)

The emblemset asset is used on Black Ops 1 and 2 to predefine emblems.

Black Ops 1

struct IconInfo
{
  GfxImage * icon;
  char * unknownString;
  char unknown[0x20];
};

struct BackgroundInfo
{
  Material * background;
  char * unknownString;
  char unknown[0x10];
};

struct CategoryInfo
{
  char * unknownString1;
  char * unknownString2;
};

struct emblemlayer
{
  //Note: These are bit counts. Should add to 0xC bytes.
  int icon        : 9;
  int color       : 7;
  byte red        : 8;
  byte green      : 8;
  byte blue       : 8;
  byte alpha      : 8;
  int posx        : 9;
  int posy        : 9;
  int angle       : 9;
  int scalex      : 9;
  int scaley      : 9;
  int outline     : 1;
  int flip        : 1;
  int pad         : 1;
};

struct EmblemSet
{
       int unknown1;
  unsigned int layerCount;
  emblemlayer * layers;
  unsigned int categoryCount;
  CategoryInfo * categories;
  unsigned int iconCount;
  IconInfo * icons;
  unsigned int backgroundCount;
  BackgroundInfo * backgrounds;
  unsigned int backgroundLookupCount;
  short * backgroundLookup;
};

Black Ops 2

struct IconInfo
{
  GfxImage * icon;
  char * unknownString;
  char unknown[0x1C];
};

struct BackgroundInfo
{
  Material * background;
  char * unknownString;
  char unknown[0x18];
};

struct unknownEmblemSetStruct1
{
  char * unknownString1;
  char * unknownString2;
};

struct unknownEmblemSetStruct2
{
  char * unknownString1;
  char * unknownString2;
};

struct unknownEmblemSetStruct3
{
  char * unknownString1;
  char * unknownString2;
};

struct emblemlayer
{
  //Note: These are bit counts. Should add to 0xC bytes.
  int icon        : 9;
  int color       : 7;
  byte red        : 8;
  byte green      : 8;
  byte blue       : 8;
  byte alpha      : 8;
  int posx        : 9;
  int posy        : 9;
  int angle       : 9;
  int scalex      : 9;
  int scaley      : 9;
  int outline     : 1;
  int flip        : 1;
  int pad         : 1;
};

struct EmblemSet
{
       int unknown1;
  unsigned int layerCount;
  emblemlayer * layers;
  //Ideally, one of the following will be "categories"
       unsigned int unknownCount1;
       unknownEmblemSetStruct1 * unknownStruct1;
       unsigned int unknownCount2;
       unknownEmblemSetStruct2 * unknownStruct2;
       unsigned int unknown2;
       unknownEmblemSetStruct3 * unknownStruct3; //Count = unknownCount2
  unsigned int iconCount;
  IconInfo * icons;
  unsigned int backgroundCount;
  BackgroundInfo * backgrounds;
  unsigned int backgroundLookupCount;
  short * backgroundLookup;
};