Image Asset: Difference between revisions

From COD Engine Research
No edit summary
Line 123: Line 123:
== Black Ops 2 ==
== Black Ops 2 ==
<source lang="cpp">
<source lang="cpp">
union GfxTexture
{
char *data;
struct
{
char unknown[0x68];
};
};
struct GfxImage
struct GfxImage
{
{
#ifdef PS3
char unknown1[6];
char unknown1[6];
#ifdef PS3
CellGcmTexture texture; // modified, missing 10 bytes, size = 0xE
CellGcmTexture texture; // modified, missing 10 bytes, size = 0xE
#elif defined (_XBOX)
D3DBaseTexture basemap;
#endif
#endif
char unknown2;
char unknown2;
Line 143: Line 136:
char unknown5;
char unknown5;
int size;
int size;
unsigned short width;
  unsigned __int16 width;
unsigned short height;
  unsigned __int16 height;
unsigned short depth;
  unsigned __int16 depth;
char unknown[6];
  char levelCount;
GfxTexture textureDef;
  char streaming;
const char *name;
  unsigned int baseSize;
int hash;
  char *pixels;
char unknownData2[0x80];
  const char *name;
  unsigned int hash;
};
};
</source>
</source>

Revision as of 06:47, 21 December 2014

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

union GfxTexture
{
	char *data;
	struct
	{
		char unknownData[0x24];
	};
};

struct GfxImage
{
#ifdef PS3
	CellGcmTexture texture;	// size = 0x18
#elif defined XBOX
	D3DTexture texture;
	_D3DFormat format;
#endif
	char unknown3;
	char unknown4;
	char unknown5;
	char unknown6;
	int size;
	unsigned short width;
	unsigned short height;
	unsigned short depth;
	char mipmap;
	bool streaming;
	GfxTexture textureDef;
	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;
};