Image Asset: Difference between revisions

From COD Engine Research
mNo edit summary
No edit summary
Line 10: Line 10:
== Call of Duty 4 & World at War ==
== Call of Duty 4 & World at War ==
<source lang="cpp">
<source lang="cpp">
== Call of Duty 4 & World at War ==
<source lang="cpp">
union GfxTexture
{
D3DBaseTexture *basemap;
D3DTexture *map;
D3DVolumeTexture *volmap; // if GfxImageLoadDef::flags & 8
D3DCubeTexture *cubemap; // if GfxImageLoadDef::flags & 4
};
struct GfxImageLoadDef
{
char levelCount;
char flags;
__int16 dimensions[3];
_D3DFormat format;
GfxTexture texture;
};
struct GfxTextureLoad
{
GfxImageLoadDef *loadDef;
};
struct GfxImage
struct GfxImage
{
{
int unknown;
MapType mapType;
#ifdef PS3
#ifdef PS3
CellGcmTexture texture; // size = 0x18
CellGcmTexture texture; // size = 0x18
#elif defined XBOX360
GfxTextureLoad texture;
#endif
#endif
char unknown1;
CardMemory cardMemory;
char unknown2;
char unknown3;
char unknown4;
int size;
int size;
unsigned short width;
unsigned short width;
unsigned short height;
unsigned short height;
unsigned short depth;
unsigned short depth;
char unknown5;
char category;
bool streaming;
bool streaming;
char *data;
char *data;
#ifdef XBOX360
char unknown[8];
#endif
const char *name;
const char *name;
};
};
</source>
NOTE: In the zone file, if the streaming is set as true, then data is loaded at the end of the zone file.
</source>
</source>
NOTE: In the zone file, if the streaming is set as true, then data is loaded at the end of the zone file.
NOTE: In the zone file, if the streaming is set as true, then data is loaded at the end of the zone file.
Line 77: Line 105:
CellGcmTexture texture; // size = 0x18
CellGcmTexture texture; // size = 0x18
#elif defined XBOX360
#elif defined XBOX360
int unknown1; // 0x3000000
D3DTexture texture;
unsigned char unknown2[0x38];
_D3DFormat format;
#endif
#endif
char unknown3;
char unknown3;

Revision as of 22:27, 21 January 2014

Call of Duty 4 & World at War

== Call of Duty 4 & World at War ==
<source lang="cpp">
union GfxTexture
{
	D3DBaseTexture *basemap;
	D3DTexture *map;
	D3DVolumeTexture *volmap;	// if GfxImageLoadDef::flags & 8
	D3DCubeTexture *cubemap;	// if GfxImageLoadDef::flags & 4
};

struct GfxImageLoadDef
{
	char levelCount;
	char flags;
	__int16 dimensions[3];
	_D3DFormat format;
	GfxTexture texture;
};

struct GfxTextureLoad
{
	GfxImageLoadDef *loadDef;
};

struct GfxImage
{
	MapType mapType;
#ifdef PS3
	CellGcmTexture texture;	// size = 0x18
#elif defined XBOX360
	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. </source> 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

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

struct GfxImage
{
#ifdef PS3
	CellGcmTexture texture;	// size = 0x18
#elif defined XBOX360
	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

union GfxTexture
{
	char *data;
	struct 
	{
		char unknown[0x68];
	};
};

struct GfxImage
{
	char unknown1[6];
#ifdef PS3
	CellGcmTexture texture;	// modified, missing 10 bytes, size = 0xE
#endif
	char unknown2;
	char unknown3;
	char unknown4;
	char unknown5;
	int size;
	unsigned short width;
	unsigned short height;
	unsigned short depth;
	char unknown[6];
	GfxTexture textureDef;
	const char *name;
	int hash;
};