Post: [SPRX/1.40] Forgotten V1 UPDATED!
11-13-2017, 09:42 PM #1
TheGreenPlanet
Do a barrel roll!
(adsbygoogle = window.adsbygoogle || []).push({});
You must login or register to view this content.
Hello NGU! Today I'm releasing my COD4 non-host .sprx menu. I've been working on this project for about a year now because of lack of enthusiasm for it. Though i finally pulled myself together and completed it. I'd also like to share all of my structs and addresses that I've reversed in hope that the community can learn something new. ps. I couldn't get No Spread to work.
Hope you enjoy!
Smile


Structs:
    
struct sWeapon
{
char WeaponShader[64];//Weapon Shader
};
struct Material
{
sWeapon * sWeapon;
};
typedef struct
{
int state; //0x0000
char _0x04[0x1C]; //0x0004
int type; //0x0020
char _0x24[0x14]; //0x0024
int *IP[4]; //0x0038
char _0x3C[0x2124C]; //0x003C
char *name; //0x21288
char _0x2128C[0x81A00]; //0x2128C
//size: 0xA2C8C
}client_t;

struct CWeaponInfo
{
char* ViewMode; //0000
char unknown1[216];
char* WeaponFx; //00DC
};

typedef struct
{
char _0x0000[0x4]; //0x0000
CWeaponInfo* WeaponInfo; //0x0004
char _0x0008[0x30]; //0x0008
char *Name; //0x0038
char _0x003C[0x8]; //0x003C
//size: 0x0044
}weaponinfo_t, *pWeaponinfo_t;

struct weapDef
{
char _0x0000[0x12C]; //0x0000
weapType_t weapType; //0x012C
int weapClass; //0x0130
int penetrateType; //0x0134
char _0x0138[0x3E0]; //0x0138
Material *sWeapon_t; //0x0518
int killIconRatio; //0x051C
int flipKillIcon; //0x0520
char _0x0524[0x64]; //0x0524
weapProjExposion_t projExplosion; //0x0588
char _0x058C[0x20]; //0x058C
int timedDetonation; //0x05AC
char _0x05B0[0x16C]; //0x05B0
float fAdsSpread; //0x071C
char _0x0720[0xEC]; //0x0720
float fMinDamageRange; //0x080C
};

typedef struct
{
int ServerTime; //0x0000
int buttons; //0x0004
int ViewAngles[3]; //0x0008
char weaponindex; //0x0014
char offhand; //0x0015
char forwardmove; //0x0016
char sidemove; //0x0017
char pad[0x8]; //0x0018
//size: 0x0020
} usercmd_s;

typedef struct
{
char _0x0000[0x8]; //0x0000
int Width; //0x0008
int Height; //0x000C
char _0x0010[0x10]; //0x0010
char GameType[0x04]; //0x0020
char _0x0024[0x1C]; //0x0024
char HostName[0x10]; //0x0040
char _0x0050[0xF0]; //0x0050
int MaxClients; //0x0140
char _0x0144[0x04]; //0x0144
char MapName[0x40]; //0x0148
char _0x014C[0x3D18]; //0x014C
//size: 0x3E64
}cgs_s, *pcgs_s;

typedef struct
{
char _0x0000[0x88]; //0x0000
Vector3 BaseAngles; //0x0088
char _0x0094[0x2549C]; //0x0094
Vector3 ViewAngles; //0x25530
int serverId; //0x2553C
char _0x25540[0x40010]; //0x25540
usercmd_s UserCommands[128]; //0x65550
int CommandNumber; //0x66550
} ClientActive_s, *pclientActive_s;

typedef struct
{
short CurrentVaild; //0x0000
short ItemValid; //0x0002
char _0x0004[0x16]; //0x0004
Vector3 Origin; //0x001C
Vector3 Angles; //0x0028
char _0x0034[0x40]; //0x0034
int otherEntityNum; //0x0074
int otherEntityNum2; //0x0078
char _0x007C[0xC]; //0x007C
int Item; //0x0088
char _0x008C[0x34]; //0x008C
int clientNum; //0x00C0
int eType; //0x00C4
int eFlags; //0x00C8
char _0x00CC[0x70]; //0x00CC
int groundEntityNum; //0x013C
char _0x0140[0x8]; //0x0140
int pickupId; //0x0148
char _0x014C[0x38]; //0x014C
int Weapon; //0x0184
char _0x0188[0x2C]; //0x0188
char Alive; //0x01B4
char _0x01B8[0x18]; //0x01B8
//size: 0x01D0
}Centity_s, *pCentity_s;

typedef struct
{
char _0x0000[0xC]; //0x0000
char Name[0x20]; //0x000C
int team; //0x002C
char _0x0030[0xC]; //0x0030
short perks[2]; //0x003C
char Clan; //0x0040
char _0x0044[0x1E7]; //0x0044
int isAiming; //0x022C
char _0x0230[0x1CC]; //0x0230
Vector3 playerAngles; //0x03FC
char _0x0408[0xE0]; //0x0408
//size: 0x04E4
} ClientInfo_t;

typedef struct
{
int x; //0x0000
int y; //0x0004
int Width; //0x0008
int Height; //0x000C
Vector2 Fov; //0x0010
Vector3 Origin; //0x0018
Vector3 ViewAxis[3]; //0x0024
//size: 0x0048
} refdef_s;

typedef struct
{
int time; //0x0000
char _0x0004[0xF4]; //0x0004
float fWeaponPosFrac; //0x00F8
char _0x00FC[0x10]; //0x00FC
Vector3 ViewAngles; //0x010C
//size: 0x0118
} playerState_s;

typedef struct
{
int snapFlags; //0x0000
int ping; //0x0004
int serverTime; //0x0008
char _0x000C[0x2F68]; //0x000C
int entities; //0x2F78
int numEntities; //0x2F7C
} Snapshot_t;


typedef struct
{
int clientNum; //0x0000
char _0x0004[0x1C]; //0x0004
Snapshot_t *Snap; //0x0020
Snapshot_t *NextSnap; //0x0024
char _0x0028[0xC]; //0x0028
int time; //0x0034
char _0x0038[0x148]; //0x0038
float Health; //0x0180
char _0x0184[0x4]; //0x0184
float MaxHealth; //0x0188
char _0x018C[0x43FB4]; //0x018C
int renderingThirdPerson; //0x44140
playerState_s pps; //0x44144
char _0x4425C[0x514]; //0x4425C
float spreadMultiplier; //0x44770
char _0x44774[0x2B54]; //0x44774
refdef_s refdef; //0x472C8
char _0x47310[0x4050]; //0x47310
Vector3 refdefViewAngles; //0x4B360
char _0x4B36C[0x29B4]; //0x4B36C
Vector2 gunAngles; //0x4DD20
char _0x4DD2C[0x9AB40]; //0x4DD28
ClientInfo_t clientInfo[18]; //0xE8868
char _0xEE070[0x55C]; //0xEE070
float aimSpreadScale; //0xEE5CC
char pad10[0x88]; //0xEE5D0
//size: 0xEE658
}cg_s, *pcg_s;

//WeaponInfo_t = 0x1022C7E4;
//cgArray_s = 0x1022C7DC;
//clientActive_s = 0x10267CE0;
//centity_s = 0x1022C7F4;
//cgState_s = 0x1022C7E0;



Functions:
    namespace adresses
{
int UI_ClanKeyboard_a = 0x026F5BC;
int Trace_GetEntityHitID_a = 0x157F30;
int cBuff_AddText_a = 0x15EC18;
int Dvar_GetBool_a = 0x1D4F10;
int AimTarget_GetTagPos_a = 0x015100;
int SL_GetStringOfSize_a = 0x17FD28;
int Atan_a = 0x3596D0;
int CG_LocationalTrace_a = 0x79098;
int Dvar_GetString_a = 0x1D4E48;
int BG_GetSpreadForWeapon_a = 0x29DD8;
int BG_GetWeaponDef_a = 0x29978;
int CG_GoodRandomFloat_a = 0x6FF28;
int BG_GetSurfacePenetrationDepth_a = 0x298E8;
int BG_AdvanceTrace_a = 0x2CC28;
int BulletTraceO_a = 0x71370;
int Sys_Milliseconds_a = 0x257938;
int R_AddCmdDrawStretchPicRotateXY_a = 0x30F780;
int R_RegisterFont_a = 0x2F6C60;
int Material_RegisterHandle_a = 0x3076F8;
int R_AddCmdDrawText_a = 0x30DF20;
int R_AddCmdDrawStretchPic_a = 0x30F158;
int R_AddCmdDrawTextWithEffects_a = 0x30DCF0;
int R_TextWidth_a = 0x2F6E68;
int R_TextHeight_a = 0x2F6C50;
int R_NormalizedTextScale_a = 0x2F6C00;
}


Controls:
OPEN MENU - DPAD UP + R3
SCROLL UP / DOWN - DPAD UP / DPAD DOWN
CLOSE - R3
SELECT - SQUARE

Changelog:
    
Update 1.
Added CEX support! (haven't been tested yet)
Removed No Spread since it wasn't working.
Fixed some UI.


Video showcase:


Download:
You must login or register to view this content.

Credits: TheGreenPlanet for everything Smile, kokole for his original "Perfect Autowall" code and Mr.Hankey for his "Movement Correction" source code.
Last edited by TheGreenPlanet ; 12-19-2017 at 04:54 PM.

The following 12 users say thank you to TheGreenPlanet for this useful post:

codybenti, dah, DoraTheKiller97, Father Luckeyy, Fixed Username, illusional, kiwi_modz, Link033, lucasaf01, Skonafid, tobi59320, xcodshots

The following user groaned TheGreenPlanet for this awful post:

Callumeleyy
11-27-2017, 09:14 AM #11
illusional
Climbing up the ladder
Originally posted by TheGreenPlanet View Post
You must login or register to view this content.
Hello NGU! Today I'm releasing my COD4 non-host .sprx menu. I've been working on this project for about a year now because of lack of enthusiasm for it. Though i finally pulled myself together and completed it. I'd also like to share all of my structs and addresses that I've reversed in hope that the community can learn something new. ps. I couldn't get No Spread to work.
Hope you enjoy!
Smile


Structs:
    
struct sWeapon
{
char WeaponShader[64];//Weapon Shader
};
struct Material
{
sWeapon * sWeapon;
};
typedef struct
{
int state; //0x0000
char _0x04[0x1C]; //0x0004
int type; //0x0020
char _0x24[0x14]; //0x0024
int *IP[4]; //0x0038
char _0x3C[0x2124C]; //0x003C
char *name; //0x21288
char _0x2128C[0x81A00]; //0x2128C
//size: 0xA2C8C
}client_t;

struct CWeaponInfo
{
char* ViewMode; //0000
char unknown1[216];
char* WeaponFx; //00DC
};

typedef struct
{
char _0x0000[0x4]; //0x0000
CWeaponInfo* WeaponInfo; //0x0004
char _0x0008[0x30]; //0x0008
char *Name; //0x0038
char _0x003C[0x8]; //0x003C
//size: 0x0044
}weaponinfo_t, *pWeaponinfo_t;

struct weapDef
{
char _0x0000[0x12C]; //0x0000
weapType_t weapType; //0x012C
int weapClass; //0x0130
int penetrateType; //0x0134
char _0x0138[0x3E0]; //0x0138
Material *sWeapon_t; //0x0518
int killIconRatio; //0x051C
int flipKillIcon; //0x0520
char _0x0524[0x64]; //0x0524
weapProjExposion_t projExplosion; //0x0588
char _0x058C[0x20]; //0x058C
int timedDetonation; //0x05AC
char _0x05B0[0x16C]; //0x05B0
float fAdsSpread; //0x071C
char _0x0720[0xEC]; //0x0720
float fMinDamageRange; //0x080C
};

typedef struct
{
int ServerTime; //0x0000
int buttons; //0x0004
int ViewAngles[3]; //0x0008
char weaponindex; //0x0014
char offhand; //0x0015
char forwardmove; //0x0016
char sidemove; //0x0017
char pad[0x8]; //0x0018
//size: 0x0020
} usercmd_s;

typedef struct
{
char _0x0000[0x8]; //0x0000
int Width; //0x0008
int Height; //0x000C
char _0x0010[0x10]; //0x0010
char GameType[0x04]; //0x0020
char _0x0024[0x1C]; //0x0024
char HostName[0x10]; //0x0040
char _0x0050[0xF0]; //0x0050
int MaxClients; //0x0140
char _0x0144[0x04]; //0x0144
char MapName[0x40]; //0x0148
char _0x014C[0x3D18]; //0x014C
//size: 0x3E64
}cgs_s, *pcgs_s;

typedef struct
{
char _0x0000[0x88]; //0x0000
Vector3 BaseAngles; //0x0088
char _0x0094[0x2549C]; //0x0094
Vector3 ViewAngles; //0x25530
int serverId; //0x2553C
char _0x25540[0x40010]; //0x25540
usercmd_s UserCommands[128]; //0x65550
int CommandNumber; //0x66550
} ClientActive_s, *pclientActive_s;

typedef struct
{
short CurrentVaild; //0x0000
short ItemValid; //0x0002
char _0x0004[0x16]; //0x0004
Vector3 Origin; //0x001C
Vector3 Angles; //0x0028
char _0x0034[0x40]; //0x0034
int otherEntityNum; //0x0074
int otherEntityNum2; //0x0078
char _0x007C[0xC]; //0x007C
int Item; //0x0088
char _0x008C[0x34]; //0x008C
int clientNum; //0x00C0
int eType; //0x00C4
int eFlags; //0x00C8
char _0x00CC[0x70]; //0x00CC
int groundEntityNum; //0x013C
char _0x0140[0x8]; //0x0140
int pickupId; //0x0148
char _0x014C[0x38]; //0x014C
int Weapon; //0x0184
char _0x0188[0x2C]; //0x0188
char Alive; //0x01B4
char _0x01B8[0x18]; //0x01B8
//size: 0x01D0
}Centity_s, *pCentity_s;

typedef struct
{
char _0x0000[0xC]; //0x0000
char Name[0x20]; //0x000C
int team; //0x002C
char _0x0030[0xC]; //0x0030
short perks[2]; //0x003C
char Clan; //0x0040
char _0x0044[0x1E7]; //0x0044
int isAiming; //0x022C
char _0x0230[0x1CC]; //0x0230
Vector3 playerAngles; //0x03FC
char _0x0408[0xE0]; //0x0408
//size: 0x04E4
} ClientInfo_t;

typedef struct
{
int x; //0x0000
int y; //0x0004
int Width; //0x0008
int Height; //0x000C
Vector2 Fov; //0x0010
Vector3 Origin; //0x0018
Vector3 ViewAxis[3]; //0x0024
//size: 0x0048
} refdef_s;

typedef struct
{
int time; //0x0000
char _0x0004[0xF4]; //0x0004
float fWeaponPosFrac; //0x00F8
char _0x00FC[0x10]; //0x00FC
Vector3 ViewAngles; //0x010C
//size: 0x0118
} playerState_s;

typedef struct
{
int snapFlags; //0x0000
int ping; //0x0004
int serverTime; //0x0008
char _0x000C[0x2F68]; //0x000C
int entities; //0x2F78
int numEntities; //0x2F7C
} Snapshot_t;


typedef struct
{
int clientNum; //0x0000
char _0x0004[0x1C]; //0x0004
Snapshot_t *Snap; //0x0020
Snapshot_t *NextSnap; //0x0024
char _0x0028[0xC]; //0x0028
int time; //0x0034
char _0x0038[0x148]; //0x0038
float Health; //0x0180
char _0x0184[0x4]; //0x0184
float MaxHealth; //0x0188
char _0x018C[0x43FB4]; //0x018C
int renderingThirdPerson; //0x44140
playerState_s pps; //0x44144
char _0x4425C[0x514]; //0x4425C
float spreadMultiplier; //0x44770
char _0x44774[0x2B54]; //0x44774
refdef_s refdef; //0x472C8
char _0x47310[0x4050]; //0x47310
Vector3 refdefViewAngles; //0x4B360
char _0x4B36C[0x29B4]; //0x4B36C
Vector2 gunAngles; //0x4DD20
char _0x4DD2C[0x9AB40]; //0x4DD28
ClientInfo_t clientInfo[18]; //0xE8868
char _0xEE070[0x55C]; //0xEE070
float aimSpreadScale; //0xEE5CC
char pad10[0x88]; //0xEE5D0
//size: 0xEE658
}cg_s, *pcg_s;

//WeaponInfo_t = 0x1022C7E4;
//cgArray_s = 0x1022C7DC;
//clientActive_s = 0x10267CE0;
//centity_s = 0x1022C7F4;
//cgState_s = 0x1022C7E0;



Functions:
    namespace adresses
{
int UI_ClanKeyboard_a = 0x026F5BC;
int Trace_GetEntityHitID_a = 0x157F30;
int cBuff_AddText_a = 0x15EC18;
int Dvar_GetBool_a = 0x1D4F10;
int AimTarget_GetTagPos_a = 0x015100;
int SL_GetStringOfSize_a = 0x17FD28;
int Atan_a = 0x3596D0;
int CG_LocationalTrace_a = 0x79098;
int Dvar_GetString_a = 0x1D4E48;
int BG_GetSpreadForWeapon_a = 0x29DD8;
int BG_GetWeaponDef_a = 0x29978;
int CG_GoodRandomFloat_a = 0x6FF28;
int BG_GetSurfacePenetrationDepth_a = 0x298E8;
int BG_AdvanceTrace_a = 0x2CC28;
int BulletTraceO_a = 0x71370;
int Sys_Milliseconds_a = 0x257938;
int R_AddCmdDrawStretchPicRotateXY_a = 0x30F780;
int R_RegisterFont_a = 0x2F6C60;
int Material_RegisterHandle_a = 0x3076F8;
int R_AddCmdDrawText_a = 0x30DF20;
int R_AddCmdDrawStretchPic_a = 0x30F158;
int R_AddCmdDrawTextWithEffects_a = 0x30DCF0;
int R_TextWidth_a = 0x2F6E68;
int R_TextHeight_a = 0x2F6C50;
int R_NormalizedTextScale_a = 0x2F6C00;
}


Controls:
OPEN MENU - DPAD UP + R3
SCROLL UP / DOWN - DPAD UP / DPAD DOWN
CLOSE - R3
SELECT - SQUARE


Video showcase:


Download:
You must login or register to view this content.

Credits: TheGreenPlanet for everything Smile, kokole for his original "Perfect Autowall" code and Mr.Hankey for his "Movement Correction" source code.


This gonna be updated sometime?
or is it gonna be another one to stay in beta/unfinished?
Last edited by illusional ; 11-27-2017 at 09:19 AM.
11-27-2017, 07:27 PM #12
TheGreenPlanet
Do a barrel roll!
Originally posted by illusional View Post
This gonna be updated sometime?
or is it gonna be another one to stay in beta/unfinished?


it will get updated. (mostly bug fixes and no spread)
11-30-2017, 07:47 PM #13
mano69
Gobble
tanks
12-03-2017, 11:05 PM #14
TheGreenPlanet
Do a barrel roll!
Originally posted by illusional View Post
This gonna be updated sometime?
or is it gonna be another one to stay in beta/unfinished?

I will release an update soon thats gonna fix some freeze and UI bugs.
12-06-2017, 04:50 PM #15
dah
yt/dah
Keep us updated with this menu, don't let this menu die out.
I recorded this on my Youtube Channel.
A job well done on your release. Ninja
12-06-2017, 07:18 PM #16
matrixmods
Pokemon Trainer
Originally posted by TheGreenPlanet View Post
You must login or register to view this content.
Hello NGU! Today I'm releasing my COD4 non-host .sprx menu. I've been working on this project for about a year now because of lack of enthusiasm for it. Though i finally pulled myself together and completed it. I'd also like to share all of my structs and addresses that I've reversed in hope that the community can learn something new. ps. I couldn't get No Spread to work.
Hope you enjoy!
Smile


Structs:
    
struct sWeapon
{
char WeaponShader[64];//Weapon Shader
};
struct Material
{
sWeapon * sWeapon;
};
typedef struct
{
int state; //0x0000
char _0x04[0x1C]; //0x0004
int type; //0x0020
char _0x24[0x14]; //0x0024
int *IP[4]; //0x0038
char _0x3C[0x2124C]; //0x003C
char *name; //0x21288
char _0x2128C[0x81A00]; //0x2128C
//size: 0xA2C8C
}client_t;

struct CWeaponInfo
{
char* ViewMode; //0000
char unknown1[216];
char* WeaponFx; //00DC
};

typedef struct
{
char _0x0000[0x4]; //0x0000
CWeaponInfo* WeaponInfo; //0x0004
char _0x0008[0x30]; //0x0008
char *Name; //0x0038
char _0x003C[0x8]; //0x003C
//size: 0x0044
}weaponinfo_t, *pWeaponinfo_t;

struct weapDef
{
char _0x0000[0x12C]; //0x0000
weapType_t weapType; //0x012C
int weapClass; //0x0130
int penetrateType; //0x0134
char _0x0138[0x3E0]; //0x0138
Material *sWeapon_t; //0x0518
int killIconRatio; //0x051C
int flipKillIcon; //0x0520
char _0x0524[0x64]; //0x0524
weapProjExposion_t projExplosion; //0x0588
char _0x058C[0x20]; //0x058C
int timedDetonation; //0x05AC
char _0x05B0[0x16C]; //0x05B0
float fAdsSpread; //0x071C
char _0x0720[0xEC]; //0x0720
float fMinDamageRange; //0x080C
};

typedef struct
{
int ServerTime; //0x0000
int buttons; //0x0004
int ViewAngles[3]; //0x0008
char weaponindex; //0x0014
char offhand; //0x0015
char forwardmove; //0x0016
char sidemove; //0x0017
char pad[0x8]; //0x0018
//size: 0x0020
} usercmd_s;

typedef struct
{
char _0x0000[0x8]; //0x0000
int Width; //0x0008
int Height; //0x000C
char _0x0010[0x10]; //0x0010
char GameType[0x04]; //0x0020
char _0x0024[0x1C]; //0x0024
char HostName[0x10]; //0x0040
char _0x0050[0xF0]; //0x0050
int MaxClients; //0x0140
char _0x0144[0x04]; //0x0144
char MapName[0x40]; //0x0148
char _0x014C[0x3D18]; //0x014C
//size: 0x3E64
}cgs_s, *pcgs_s;

typedef struct
{
char _0x0000[0x88]; //0x0000
Vector3 BaseAngles; //0x0088
char _0x0094[0x2549C]; //0x0094
Vector3 ViewAngles; //0x25530
int serverId; //0x2553C
char _0x25540[0x40010]; //0x25540
usercmd_s UserCommands[128]; //0x65550
int CommandNumber; //0x66550
} ClientActive_s, *pclientActive_s;

typedef struct
{
short CurrentVaild; //0x0000
short ItemValid; //0x0002
char _0x0004[0x16]; //0x0004
Vector3 Origin; //0x001C
Vector3 Angles; //0x0028
char _0x0034[0x40]; //0x0034
int otherEntityNum; //0x0074
int otherEntityNum2; //0x0078
char _0x007C[0xC]; //0x007C
int Item; //0x0088
char _0x008C[0x34]; //0x008C
int clientNum; //0x00C0
int eType; //0x00C4
int eFlags; //0x00C8
char _0x00CC[0x70]; //0x00CC
int groundEntityNum; //0x013C
char _0x0140[0x8]; //0x0140
int pickupId; //0x0148
char _0x014C[0x38]; //0x014C
int Weapon; //0x0184
char _0x0188[0x2C]; //0x0188
char Alive; //0x01B4
char _0x01B8[0x18]; //0x01B8
//size: 0x01D0
}Centity_s, *pCentity_s;

typedef struct
{
char _0x0000[0xC]; //0x0000
char Name[0x20]; //0x000C
int team; //0x002C
char _0x0030[0xC]; //0x0030
short perks[2]; //0x003C
char Clan; //0x0040
char _0x0044[0x1E7]; //0x0044
int isAiming; //0x022C
char _0x0230[0x1CC]; //0x0230
Vector3 playerAngles; //0x03FC
char _0x0408[0xE0]; //0x0408
//size: 0x04E4
} ClientInfo_t;

typedef struct
{
int x; //0x0000
int y; //0x0004
int Width; //0x0008
int Height; //0x000C
Vector2 Fov; //0x0010
Vector3 Origin; //0x0018
Vector3 ViewAxis[3]; //0x0024
//size: 0x0048
} refdef_s;

typedef struct
{
int time; //0x0000
char _0x0004[0xF4]; //0x0004
float fWeaponPosFrac; //0x00F8
char _0x00FC[0x10]; //0x00FC
Vector3 ViewAngles; //0x010C
//size: 0x0118
} playerState_s;

typedef struct
{
int snapFlags; //0x0000
int ping; //0x0004
int serverTime; //0x0008
char _0x000C[0x2F68]; //0x000C
int entities; //0x2F78
int numEntities; //0x2F7C
} Snapshot_t;


typedef struct
{
int clientNum; //0x0000
char _0x0004[0x1C]; //0x0004
Snapshot_t *Snap; //0x0020
Snapshot_t *NextSnap; //0x0024
char _0x0028[0xC]; //0x0028
int time; //0x0034
char _0x0038[0x148]; //0x0038
float Health; //0x0180
char _0x0184[0x4]; //0x0184
float MaxHealth; //0x0188
char _0x018C[0x43FB4]; //0x018C
int renderingThirdPerson; //0x44140
playerState_s pps; //0x44144
char _0x4425C[0x514]; //0x4425C
float spreadMultiplier; //0x44770
char _0x44774[0x2B54]; //0x44774
refdef_s refdef; //0x472C8
char _0x47310[0x4050]; //0x47310
Vector3 refdefViewAngles; //0x4B360
char _0x4B36C[0x29B4]; //0x4B36C
Vector2 gunAngles; //0x4DD20
char _0x4DD2C[0x9AB40]; //0x4DD28
ClientInfo_t clientInfo[18]; //0xE8868
char _0xEE070[0x55C]; //0xEE070
float aimSpreadScale; //0xEE5CC
char pad10[0x88]; //0xEE5D0
//size: 0xEE658
}cg_s, *pcg_s;

//WeaponInfo_t = 0x1022C7E4;
//cgArray_s = 0x1022C7DC;
//clientActive_s = 0x10267CE0;
//centity_s = 0x1022C7F4;
//cgState_s = 0x1022C7E0;



Functions:
    namespace adresses
{
int UI_ClanKeyboard_a = 0x026F5BC;
int Trace_GetEntityHitID_a = 0x157F30;
int cBuff_AddText_a = 0x15EC18;
int Dvar_GetBool_a = 0x1D4F10;
int AimTarget_GetTagPos_a = 0x015100;
int SL_GetStringOfSize_a = 0x17FD28;
int Atan_a = 0x3596D0;
int CG_LocationalTrace_a = 0x79098;
int Dvar_GetString_a = 0x1D4E48;
int BG_GetSpreadForWeapon_a = 0x29DD8;
int BG_GetWeaponDef_a = 0x29978;
int CG_GoodRandomFloat_a = 0x6FF28;
int BG_GetSurfacePenetrationDepth_a = 0x298E8;
int BG_AdvanceTrace_a = 0x2CC28;
int BulletTraceO_a = 0x71370;
int Sys_Milliseconds_a = 0x257938;
int R_AddCmdDrawStretchPicRotateXY_a = 0x30F780;
int R_RegisterFont_a = 0x2F6C60;
int Material_RegisterHandle_a = 0x3076F8;
int R_AddCmdDrawText_a = 0x30DF20;
int R_AddCmdDrawStretchPic_a = 0x30F158;
int R_AddCmdDrawTextWithEffects_a = 0x30DCF0;
int R_TextWidth_a = 0x2F6E68;
int R_TextHeight_a = 0x2F6C50;
int R_NormalizedTextScale_a = 0x2F6C00;
}


Controls:
OPEN MENU - DPAD UP + R3
SCROLL UP / DOWN - DPAD UP / DPAD DOWN
CLOSE - R3
SELECT - SQUARE


Video showcase:


Download:
You must login or register to view this content.

Credits: TheGreenPlanet for everything Smile, kokole for his original "Perfect Autowall" code and Mr.Hankey for his "Movement Correction" source code.


Idk if you use skype anymore or not, but I added you on there. Need to show you something. Also I tried PMing you on here but your inbox is full
12-06-2017, 07:54 PM #17
Tristen
Who’s Jim Erased?
Originally posted by TheGreenPlanet View Post
You must login or register to view this content.
Hello NGU! Today I'm releasing my COD4 non-host .sprx menu. I've been working on this project for about a year now because of lack of enthusiasm for it. Though i finally pulled myself together and completed it. I'd also like to share all of my structs and addresses that I've reversed in hope that the community can learn something new. ps. I couldn't get No Spread to work.
Hope you enjoy!
Smile


Structs:
    
struct sWeapon
{
char WeaponShader[64];//Weapon Shader
};
struct Material
{
sWeapon * sWeapon;
};
typedef struct
{
int state; //0x0000
char _0x04[0x1C]; //0x0004
int type; //0x0020
char _0x24[0x14]; //0x0024
int *IP[4]; //0x0038
char _0x3C[0x2124C]; //0x003C
char *name; //0x21288
char _0x2128C[0x81A00]; //0x2128C
//size: 0xA2C8C
}client_t;

struct CWeaponInfo
{
char* ViewMode; //0000
char unknown1[216];
char* WeaponFx; //00DC
};

typedef struct
{
char _0x0000[0x4]; //0x0000
CWeaponInfo* WeaponInfo; //0x0004
char _0x0008[0x30]; //0x0008
char *Name; //0x0038
char _0x003C[0x8]; //0x003C
//size: 0x0044
}weaponinfo_t, *pWeaponinfo_t;

struct weapDef
{
char _0x0000[0x12C]; //0x0000
weapType_t weapType; //0x012C
int weapClass; //0x0130
int penetrateType; //0x0134
char _0x0138[0x3E0]; //0x0138
Material *sWeapon_t; //0x0518
int killIconRatio; //0x051C
int flipKillIcon; //0x0520
char _0x0524[0x64]; //0x0524
weapProjExposion_t projExplosion; //0x0588
char _0x058C[0x20]; //0x058C
int timedDetonation; //0x05AC
char _0x05B0[0x16C]; //0x05B0
float fAdsSpread; //0x071C
char _0x0720[0xEC]; //0x0720
float fMinDamageRange; //0x080C
};

typedef struct
{
int ServerTime; //0x0000
int buttons; //0x0004
int ViewAngles[3]; //0x0008
char weaponindex; //0x0014
char offhand; //0x0015
char forwardmove; //0x0016
char sidemove; //0x0017
char pad[0x8]; //0x0018
//size: 0x0020
} usercmd_s;

typedef struct
{
char _0x0000[0x8]; //0x0000
int Width; //0x0008
int Height; //0x000C
char _0x0010[0x10]; //0x0010
char GameType[0x04]; //0x0020
char _0x0024[0x1C]; //0x0024
char HostName[0x10]; //0x0040
char _0x0050[0xF0]; //0x0050
int MaxClients; //0x0140
char _0x0144[0x04]; //0x0144
char MapName[0x40]; //0x0148
char _0x014C[0x3D18]; //0x014C
//size: 0x3E64
}cgs_s, *pcgs_s;

typedef struct
{
char _0x0000[0x88]; //0x0000
Vector3 BaseAngles; //0x0088
char _0x0094[0x2549C]; //0x0094
Vector3 ViewAngles; //0x25530
int serverId; //0x2553C
char _0x25540[0x40010]; //0x25540
usercmd_s UserCommands[128]; //0x65550
int CommandNumber; //0x66550
} ClientActive_s, *pclientActive_s;

typedef struct
{
short CurrentVaild; //0x0000
short ItemValid; //0x0002
char _0x0004[0x16]; //0x0004
Vector3 Origin; //0x001C
Vector3 Angles; //0x0028
char _0x0034[0x40]; //0x0034
int otherEntityNum; //0x0074
int otherEntityNum2; //0x0078
char _0x007C[0xC]; //0x007C
int Item; //0x0088
char _0x008C[0x34]; //0x008C
int clientNum; //0x00C0
int eType; //0x00C4
int eFlags; //0x00C8
char _0x00CC[0x70]; //0x00CC
int groundEntityNum; //0x013C
char _0x0140[0x8]; //0x0140
int pickupId; //0x0148
char _0x014C[0x38]; //0x014C
int Weapon; //0x0184
char _0x0188[0x2C]; //0x0188
char Alive; //0x01B4
char _0x01B8[0x18]; //0x01B8
//size: 0x01D0
}Centity_s, *pCentity_s;

typedef struct
{
char _0x0000[0xC]; //0x0000
char Name[0x20]; //0x000C
int team; //0x002C
char _0x0030[0xC]; //0x0030
short perks[2]; //0x003C
char Clan; //0x0040
char _0x0044[0x1E7]; //0x0044
int isAiming; //0x022C
char _0x0230[0x1CC]; //0x0230
Vector3 playerAngles; //0x03FC
char _0x0408[0xE0]; //0x0408
//size: 0x04E4
} ClientInfo_t;

typedef struct
{
int x; //0x0000
int y; //0x0004
int Width; //0x0008
int Height; //0x000C
Vector2 Fov; //0x0010
Vector3 Origin; //0x0018
Vector3 ViewAxis[3]; //0x0024
//size: 0x0048
} refdef_s;

typedef struct
{
int time; //0x0000
char _0x0004[0xF4]; //0x0004
float fWeaponPosFrac; //0x00F8
char _0x00FC[0x10]; //0x00FC
Vector3 ViewAngles; //0x010C
//size: 0x0118
} playerState_s;

typedef struct
{
int snapFlags; //0x0000
int ping; //0x0004
int serverTime; //0x0008
char _0x000C[0x2F68]; //0x000C
int entities; //0x2F78
int numEntities; //0x2F7C
} Snapshot_t;


typedef struct
{
int clientNum; //0x0000
char _0x0004[0x1C]; //0x0004
Snapshot_t *Snap; //0x0020
Snapshot_t *NextSnap; //0x0024
char _0x0028[0xC]; //0x0028
int time; //0x0034
char _0x0038[0x148]; //0x0038
float Health; //0x0180
char _0x0184[0x4]; //0x0184
float MaxHealth; //0x0188
char _0x018C[0x43FB4]; //0x018C
int renderingThirdPerson; //0x44140
playerState_s pps; //0x44144
char _0x4425C[0x514]; //0x4425C
float spreadMultiplier; //0x44770
char _0x44774[0x2B54]; //0x44774
refdef_s refdef; //0x472C8
char _0x47310[0x4050]; //0x47310
Vector3 refdefViewAngles; //0x4B360
char _0x4B36C[0x29B4]; //0x4B36C
Vector2 gunAngles; //0x4DD20
char _0x4DD2C[0x9AB40]; //0x4DD28
ClientInfo_t clientInfo[18]; //0xE8868
char _0xEE070[0x55C]; //0xEE070
float aimSpreadScale; //0xEE5CC
char pad10[0x88]; //0xEE5D0
//size: 0xEE658
}cg_s, *pcg_s;

//WeaponInfo_t = 0x1022C7E4;
//cgArray_s = 0x1022C7DC;
//clientActive_s = 0x10267CE0;
//centity_s = 0x1022C7F4;
//cgState_s = 0x1022C7E0;



Functions:
    namespace adresses
{
int UI_ClanKeyboard_a = 0x026F5BC;
int Trace_GetEntityHitID_a = 0x157F30;
int cBuff_AddText_a = 0x15EC18;
int Dvar_GetBool_a = 0x1D4F10;
int AimTarget_GetTagPos_a = 0x015100;
int SL_GetStringOfSize_a = 0x17FD28;
int Atan_a = 0x3596D0;
int CG_LocationalTrace_a = 0x79098;
int Dvar_GetString_a = 0x1D4E48;
int BG_GetSpreadForWeapon_a = 0x29DD8;
int BG_GetWeaponDef_a = 0x29978;
int CG_GoodRandomFloat_a = 0x6FF28;
int BG_GetSurfacePenetrationDepth_a = 0x298E8;
int BG_AdvanceTrace_a = 0x2CC28;
int BulletTraceO_a = 0x71370;
int Sys_Milliseconds_a = 0x257938;
int R_AddCmdDrawStretchPicRotateXY_a = 0x30F780;
int R_RegisterFont_a = 0x2F6C60;
int Material_RegisterHandle_a = 0x3076F8;
int R_AddCmdDrawText_a = 0x30DF20;
int R_AddCmdDrawStretchPic_a = 0x30F158;
int R_AddCmdDrawTextWithEffects_a = 0x30DCF0;
int R_TextWidth_a = 0x2F6E68;
int R_TextHeight_a = 0x2F6C50;
int R_NormalizedTextScale_a = 0x2F6C00;
}


Controls:
OPEN MENU - DPAD UP + R3
SCROLL UP / DOWN - DPAD UP / DPAD DOWN
CLOSE - R3
SELECT - SQUARE


Video showcase:


Download:
You must login or register to view this content.

Credits: TheGreenPlanet for everything Smile, kokole for his original "Perfect Autowall" code and Mr.Hankey for his "Movement Correction" source code.


I miss this game lol I'm gonna play with it later
12-10-2017, 09:02 AM #18
dvourz
Gobble
get the cracked message but menu wont open any ideas ?
12-10-2017, 09:57 PM #19
Originally posted by dvourz View Post
get the cracked message but menu wont open any ideas ?


yup, same

Copyright © 2024, NextGenUpdate.
All Rights Reserved.

Gray NextGenUpdate Logo