Difference between revisions of "Memory Addresses (GTA4)"

From GTAMods Wiki
Jump to navigation Jump to search
(Structures)
(WEAPON)
Line 27: Line 27:
 
===WEAPON===
 
===WEAPON===
 
The following is how the structure containing each weapon's properties looks like.
 
The following is how the structure containing each weapon's properties looks like.
Info was obtained from GTA:IV v1.0.7.0. First entry is "UNARMED" at 0x024D0A34. Offset of next entry is +0x110, et cetera.
+
Info was obtained from GTA:IV v1.0.7.0.
 +
Pointer to the array of weaponinfo's can be found at GTAIV.exe+0x940114. Note that this does not point to the first element in the array (perhaps it does, but the data it points to hasn't been identified yet) - you need to add an offset of 0x10.
  
NOTE: work in progress :)
+
NOTE: work in progress
  
 
<source lang="cpp">struct WEAPON
 
<source lang="cpp">struct WEAPON

Revision as of 20:17, 9 March 2011

GTA4 for PC Memory Addresses

Structures

A list of Structures that occur in GTA IV's memory.

VECTOR

struct VECTOR
{
	float	x;	// 0x0 | 0
	float	y;	// 0x4 | 4
	float	z;	// 0x8 | 8
	float	unk;
};

CVector

struct CVector
{
	VECTOR	bodyHeading;		// 0x0 | 0
	VECTOR	visionHeading;		// 0x10 | 16
	VECTOR	unkVector;			// 0x20 | 32
	VECTOR	position;			// 0x30 | 48
};

WEAPON

The following is how the structure containing each weapon's properties looks like. Info was obtained from GTA:IV v1.0.7.0. Pointer to the array of weaponinfo's can be found at GTAIV.exe+0x940114. Note that this does not point to the first element in the array (perhaps it does, but the data it points to hasn't been identified yet) - you need to add an offset of 0x10.

NOTE: work in progress

struct WEAPON
{
        // slottype (index of array element)
	int slot;                // 0x0 | 0
	
        // firetype (index of array element)     
        int firetype;            // 0x4 | 4

        // damagetype (index of array element)
        int damagetype;          // 0x8 | 8

        // group (index of array element
        int group;               // 0xC | 12

        float targetrange;       // 0x10 | 16
        float weaponrange;       // 0x14 | 20
        float aimaccuracy;       // 0x30 | 48
        float offset_x;          // 0x3C | 52
        float offset_y;          // 0x40 | 56
        float offset_z;          // 0x44 | 60
        float crouchoffset_x;    // 0x4C | 76
        float crouchoffset_y;    // 0x50 | 80
        float crouchoffset_z;    // 0x54 | 84
        float reticule_standing; // 0x60 | 96
        float reticule_ducked;   // 0x64 | 100
        float reticule_scale;    // 0x68 | 104
        int pickup_regentime;    // 0x74 | 116  
        
        // damage:
        int damage;              // 0x7E | 126

        int ammomax;             // 0x84 | 132
        int timebetweenshots;    // 0x88 | 136
        float physicsforce;      // 0x8C | 140
        int reloadtime_normal;   // 0x90 | 146
        int reloadtime_fast;     // 0x94 | 150
        int reloadtime_crouch;   // 0x98 | 154

        // damage, continued:
        float networkplayermod;  // 0xEC | 236
        float networkpedmod;     // 0xF0 | 240
};

Classes

A list of Classes that occur in GTA IV's memory.

scrThread

class scrThread
{
public:
	virtual ~scrThread();
	virtual int reset(int i1,int i2,int i3);
	virtual int run(int i1);
	virtual int loop(int i1);
	virtual int closeDown();

	DWORD	threadId;
	DWORD	scriptHash;
	DWORD	state;
	DWORD	IP;
	DWORD	currentFrame;
	DWORD	SP;
	DWORD	timerA;
	DWORD	timerB;
	DWORD	timerC;
	float	waitTime;
	BYTE	zPadding1[28];
	DWORD	exIP;
	DWORD	exFrameSP;
	BYTE	zPadding2[4];
	void*	stack;
	BYTE	zPadding3[4];
	void*	XLiveBuffer;
	BYTE	zPadding4[8];
	char*	exitMessage;
	char	programName[54];
	BYTE	zPadding5[14];
	bool	saveScript;
	bool	playerControlOnInMissionCleanup;
	bool	clearHelpInMissionCleanup;
	BYTE	zPadding6[1];
	bool	allowNonMinigameTextMessages;
	BYTE	zPadding7[1];
	bool	errorInScript;
	bool	canBePaused;
	BYTE	zPadding8[3];
	bool	canRemoveBlipsCreatedByAnyScript;
	BYTE	zPadding9[7];
	DWORD	flags;
};

Functions

A list of Functions that occur in GTA IV's memory.

/* 0x4581C0 */ unsigned int __cdecl CRC32(char* text,unsigned int mask); // 1.0.2.0

Variables

A list of Variables that occur in GTA IV's memory.

/* 0xF56BC4 */ BYTE AESEncryptionKey[32]; // 1.0.2.0
/* 0x15AD8B4 */ DWORD* globalVariablesPool; // 1.0.2.0

External Links