Emblem Set Asset
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 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;
};