Image Asset

From COD Engine Research
Revision as of 23:19, 20 January 2015 by CraigChrist8239 (Talk | contribs)

(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Jump to: navigation, search

Call of Duty 4 & World at War

union GfxTexture
{
	D3DBaseTexture *basemap;
	D3DTexture *map;
	D3DVolumeTexture *volmap;	// if GfxImageLoadDef::flags & 8
	D3DCubeTexture *cubemap;	// if GfxImageLoadDef::flags & 4
};
 
struct GfxImageLoadDef
{
	char levelCount;
	char flags;
	short dimensions[3];
	_D3DFormat format;
	GfxTexture texture;
};
 
struct GfxTextureLoad
{
	GfxImageLoadDef *loadDef;
};
 
struct GfxImage
{
	MapType mapType;
#ifdef PS3
	CellGcmTexture texture;	// size = 0x18
#elif defined XBOX
	GfxTextureLoad texture;
#endif
	CardMemory cardMemory;
	int size;
	unsigned short width;
	unsigned short height;
	unsigned short depth;
	char category;
	bool streaming;
	char *data;
#ifdef XBOX360
	char unknown[8];
#endif
	const char *name;
};

NOTE: In the zone file, if the streaming is set as true, then data is loaded at the end of the zone file.

Black Ops

union GfxTexture
{
	char *data;
	struct
	{
		char unknown[0x3C];
	};
};
 
struct GfxImage
{
#ifdef PS3
	CellGcmTexture texture; // size = 0x18
#endif
	char unknown1;
	char unknown2;
	char unknown3;
	char unknown4;
	int size;
	unsigned short height;
	unsigned short width;
	unsigned short depth;
	char unknown[6];
	GfxTexture textureDef;
	const char *name;
	int hash;
};

Modern Warfare 2 & 3 & Ghosts & Advanced Warfare

struct CardMemory
{
  int platform[1];
};
 
union GfxTexture
{
#ifdef _XBOX //size = 0x34
  D3DBaseTexture basemap;
  D3DTexture map;
  D3DVolumeTexture volmap;
  D3DCubeTexture cubemap;
#elif defined(PS3) //size = 0x18
	CellGcmTexture texture;	// size = 0x18
#endif
};
 
struct GfxImage
{
  GfxTexture texture;
#ifdef _XBOX
  	char unknown[4];
#endif
  char mapType;
  char semantic;
  char category;
  char flags;
  CardMemory cardMemory;
  unsigned __int16 width;
  unsigned __int16 height;
  unsigned __int16 depth;
	char mipmap;
  bool streaming;
  char *pixels;
	char unknownData[0x20];
  const char *name;
};

NOTE: In the zone file, if streaming is set as true, then data will be found in PAK files.

Black Ops 2

struct GfxImage
{
#ifdef PS3
	char unknown1[6];
	CellGcmTexture texture;	// modified, missing 10 bytes, size = 0xE
#elif defined (_XBOX)
	D3DBaseTexture basemap;
#endif
	char unknown2;
	char unknown3;
	char unknown4;
	char unknown5;
	int size;
  unsigned __int16 width;
  unsigned __int16 height;
  unsigned __int16 depth;
  char levelCount;
  char streaming;
  unsigned int baseSize;
  char *pixels;
	char unknownData2[0x80];
  const char *name;
  unsigned int hash;
};