Emblem Set Asset: Difference between revisions

From COD Engine Research
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=..."
 
 
(One intermediate revision by the same user not shown)
Line 6: Line 6:
== Black Ops 1 ==
== Black Ops 1 ==
<syntaxhighlight lang="cpp">
<syntaxhighlight lang="cpp">
struct IconInfo
struct EmblemLayer
{
{
   GfxImage * icon;
   int cost;
   char * unknownString;
   int unlockLevel;
   char unknown[0x20];
   int unlockPLevel;
};
};


struct BackgroundInfo
struct EmblemCategory
{
{
   Material * background;
   const char *name;
   char * unknownString;
   const char *description;
  char unknown[0x10];
};
};


struct CategoryInfo
struct EmblemIcon
{
{
   char * unknownString1;
   GfxImage *image;
   char * unknownString2;
   const char *description;
  float outlineSize;
  int defaultColor;
  int cost;
  int unlockLevel;
  int unlockPLevel;
  int unclassifyAt;
  int sortKey;
  unsigned int category;
};
};


struct emblemlayer
struct EmblemBackground
{
{
   //Note: These are bit counts. Should add to 0xC bytes.
   Material *material;
  int icon        : 9;
   const char *description;
  int color      : 7;
   int cost;
  byte red        : 8;
   int unlockLevel;
  byte green      : 8;
   int unlockPLevel;
  byte blue      : 8;
   int unclassifyAt;
  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
struct EmblemSet
{
{
      int unknown1;
  int colorCount;
   unsigned int layerCount;
   int layerCount;
   emblemlayer * layers;
   EmblemLayer *layers;
   unsigned int categoryCount;
   int categoryCount;
   CategoryInfo * categories;
   EmblemCategory *categories;
   unsigned int iconCount;
   int iconCount;
   IconInfo * icons;
   EmblemIcon *icons;
   unsigned int backgroundCount;
   int backgroundCount;
   BackgroundInfo * backgrounds;
   EmblemBackground *backgrounds;
   unsigned int backgroundLookupCount;
   int backgroundLookupCount;
   short * backgroundLookup;
   __int16 *backgroundLookup;
};
};
</syntaxhighlight>
</syntaxhighlight>
== Black Ops 2 ==
== Black Ops 2 ==
<syntaxhighlight lang="cpp">
<syntaxhighlight lang="cpp">
struct IconInfo
struct EmblemIcon
{
{
   GfxImage * icon;
   GfxImage *image;
   char * unknownString;
   const char *description;
   char unknown[0x1C];
   float outlineSize;
  int cost;
  int unlockLevel;
  int unlockPLevel;
  int unclassifyAt;
  int sortKey;
  unsigned __int16 iconType;
  unsigned __int16 category;
};
};


struct BackgroundInfo
struct EmblemBackground
{
{
   Material * background;
   Material *material;
   char * unknownString;
   const char *description;
   char unknown[0x18];
   int cost;
  int unlockLevel;
  int unlockPLevel;
  int unclassifyAt;
  int sortKey;
  unsigned __int16 bgCategory;
  int mtxIndex;
};
};


struct unknownEmblemSetStruct1
struct EmblemCategory
{
{
   char * unknownString1;
   const char *name;
   char * unknownString2;
   const char *description;
};
};


struct unknownEmblemSetStruct2
struct EmblemIconType
{
{
   char * unknownString1;
   const char *name;
   char * unknownString2;
   const char *description;
};
};


struct unknownEmblemSetStruct3
struct EmblemBGCategory
{
{
   char * unknownString1;
   const char *name;
   char * unknownString2;
   const char *description;
};
};


struct emblemlayer
struct EmblemLayer
{
{
  //Note: These are bit counts. Should add to 0xC bytes.
   int cost;
  int icon        : 9;
   int unlockLevel;
  int color      : 7;
   int unlockPLevel;
  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
struct EmblemSet
{
{
      int unknown1;
  int colorCount;
   unsigned int layerCount;
   int layerCount;
   emblemlayer * layers;
   EmblemLayer *layers;
   //Ideally, one of the following will be "categories"
   int categoryCount;
      unsigned int unknownCount1;
  EmblemCategory *categories;
      unknownEmblemSetStruct1 * unknownStruct1;
  int iconTypeCount;
      unsigned int unknownCount2;
  EmblemIconType *iconTypes;
      unknownEmblemSetStruct2 * unknownStruct2;
  int bgCategoryCount;
      unsigned int unknown2;
  EmblemBGCategory *bgCategories;
      unknownEmblemSetStruct3 * unknownStruct3; //Count = unknownCount2
   int iconCount;
   unsigned int iconCount;
   EmblemIcon * icons;
   IconInfo * icons;
   int backgroundCount;
   unsigned int backgroundCount;
   EmblemBackground * backgrounds;
   BackgroundInfo * backgrounds;
   int backgroundLookupCount;
   unsigned int backgroundLookupCount;
   short * backgroundLookup;
   short * backgroundLookup;
};
};
</syntaxhighlight>
</syntaxhighlight>

Latest revision as of 19:47, 22 December 2014

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

Black Ops 1

struct EmblemLayer
{
  int cost;
  int unlockLevel;
  int unlockPLevel;
};

struct EmblemCategory
{
  const char *name;
  const char *description;
};

struct EmblemIcon
{
  GfxImage *image;
  const char *description;
  float outlineSize;
  int defaultColor;
  int cost;
  int unlockLevel;
  int unlockPLevel;
  int unclassifyAt;
  int sortKey;
  unsigned int category;
};

struct EmblemBackground
{
  Material *material;
  const char *description;
  int cost;
  int unlockLevel;
  int unlockPLevel;
  int unclassifyAt;
};

struct EmblemSet
{
  int colorCount;
  int layerCount;
  EmblemLayer *layers;
  int categoryCount;
  EmblemCategory *categories;
  int iconCount;
  EmblemIcon *icons;
  int backgroundCount;
  EmblemBackground *backgrounds;
  int backgroundLookupCount;
  __int16 *backgroundLookup;
};

Black Ops 2

struct EmblemIcon
{
  GfxImage *image;
  const char *description;
  float outlineSize;
  int cost;
  int unlockLevel;
  int unlockPLevel;
  int unclassifyAt;
  int sortKey;
  unsigned __int16 iconType;
  unsigned __int16 category;
};

struct EmblemBackground
{
  Material *material;
  const char *description;
  int cost;
  int unlockLevel;
  int unlockPLevel;
  int unclassifyAt;
  int sortKey;
  unsigned __int16 bgCategory;
  int mtxIndex;
};

struct EmblemCategory
{
  const char *name;
  const char *description;
};

struct EmblemIconType
{
  const char *name;
  const char *description;
};

struct EmblemBGCategory
{
  const char *name;
  const char *description;
};

struct EmblemLayer
{
  int cost;
  int unlockLevel;
  int unlockPLevel;
};

struct EmblemSet
{
  int colorCount;
  int layerCount;
  EmblemLayer *layers;
  int categoryCount;
  EmblemCategory *categories;
  int iconTypeCount;
  EmblemIconType *iconTypes;
  int bgCategoryCount;
  EmblemBGCategory *bgCategories;
  int iconCount;
  EmblemIcon * icons;
  int backgroundCount;
  EmblemBackground * backgrounds;
  int backgroundLookupCount;
  short * backgroundLookup;
};