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 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;
};