class MW3_ClientInfo
{
public:
char Unknown1[12];
char Name[16]; //0x000C
__int32 Team; //0x001C
__int32 Team2; //0x0020
char unknown36[8]; //0x0024
__int32 perk; //0x002C
char unknown48[16]; //0x0030
char BodyModel[64]; //0x0040
char HeadModel[64]; //0x0080
char WeaponModel[64]; //0x00C0
char WeaponModel2[64]; //0x0100
char WeaponExplosive[64]; //0x0140
char unknown372[552]; //0x0180
__int32 Pose; //0x03A8
char unknown936[96]; //0x03AC
__int32 pose2; //0x040C
char unknown1028[284]; //0x0410
};
class MW3_CG_T
{
public:
int servertime; //0x0000
int playerstate; //0x0004
int staminatimer; //0x0008
unsigned short playerstance; //0x000C
char _pad[10];
int velocity; //0x0018
Vector Origin; //0x001C
Vector Velocity; //0x0028
char _pad1[44];
float refdefViewAngleY; //0x0060
float refdefViewAngleX; //0x0064
char _pad2[232];
int ClientNumber; //0x0150
char _pad3[4];
float viewAngleY; //0x0158
float viewAngleX; //0x015C
char _pad4[4];
int playerStanceInt; //0x0164
float playerStanceFlt; //0x0168
char _pad5[80];
int MaxEntities; //0x01BC
char _pad6[432];
int WeaponNum; //0x0370
unsigned short EquipmentState; //0x0374 2 = inhand
unsigned short WeaponSwapState; //0x0376
float WeaponZoomFlt; //0x0378
float MovementSpreadMultiplier; //0x037C
char _pad7[4];
float DefaultSpreadMultiplier; //0x0384
int WeaponState; //0x0388
char _pad8[352];
BYTE perkslot3; //0x04EC
char _pad9[19];
};
CG 0x008FF100
CLIENTINFO 0x009FC748
#include <Windows.h>
#include <iostream>
#include <math.h>
#define M_PI 3.14159265358979323846
typedef struct
{
int Valid; //0x0 (0xAD28F8)
char _0x0004[0x8]; //0x4
char Name[16]; //0xC (0xAD2904)
int Team; //0x1C (0xAD2914)
char _0x0020[0x4]; //0x20
int Rank; //0x24 (0xAD291C)
char _0x0028[0x10]; //0x28
int Perk; //0x38 (0xAD2930)
char _0x003C[0x8]; //0x3C
int Score; //0x44 (0xAD293C)
char _0x0048[0x458]; //0x48
int Attacking; //0x4A0 (0xAD2D98)
char _0x04A4[0x4]; //0x4A4
int Zooming; //0x4A8 (0xAD2DA0)
char _0x04AC[0xB8]; //0x4AC
}ClientInfo_T; //[Addr: 0xAD28F8] [Size: 0x564]
typedef struct
{
char _0x0000[0x8]; //0x0
int Width; //0x8 (0xA40438)
int Height; //0xC (0xA4043C)
int FovX; //0x10 (0xA40440)
int FovY; //0x14 (0xA40444)
float Origin[3]; //0x18 (0xA40448)
float ViewAngles[3][3]; //0x24 (0xA40454)
char _0x0048[0x24]; //0x48
float ZoomProgress; //0x6C (0xA4049C)
char _0x0070[0x4ABC]; //0x70
float RefViewAngleY; //0x4B2C (0xA44F5C)
float RefViewAngleX; //0x4B30 (0xA44F60)
char _0x4B34[0x34]; //0x4B34
float WeaponViewAngleX; //0x4B68 (0xA44F98)
float WeaponViewAngleY; //0x4B6C (0xA44F9C)
}RefDef_T; //[Addr: 0xA40430] [Size: 0x4B70]
typedef struct
{
float Recoil[3]; //0x0 (0x1139E48)
float Origin[3]; //0xC (0x1139E54)
char _0x0018[0x80]; //0x18
float ViewAngleY; //0x98 (0x1139EE0)
float ViewAngleX; //0x9C (0x1139EE4)
}viewmatrix_t; //[Addr: 0x1139E48] [Size: 0xA0]
typedef struct
{
char _0x0000[0x2]; //0x0
short Valid; //0x2 (0xADE82A)
char _0x0004[0x10]; //0x4
float Origin[3]; //0x14 (0xADE83C)
float Angles[3]; //0x20 (0xADE848)
char _0x002C[0x3C]; //0x2C
int Flags; //0x68 (0xADE890)
char _0x006C[0xC]; //0x6C
float OldOrigin[3]; //0x78 (0xADE8A0)
char _0x0084[0x18]; //0x84
float OldAngles[3]; //0x9C (0xADE8C4)
char _0x00A8[0x28]; //0xA8
int ClientNumber; //0xD0 (0xADE8F8)
short Type; //0xD4 (0xADE8FC)
char _0x00D6[0x12]; //0xD6
float NewOrigin[3]; //0xE8 (0xADE910)
char _0x00F4[0x1C]; //0xF4
float NewAngles[3]; //0x110 (0xADE938)
char _0x011C[0x7C]; //0x11C
byte WeaponID; //0x198 (0xADE9C0)
char _0x0199[0x37]; //0x199
int IsAlive; //0x1D0 (0xADE9F8)
char _0x01D4[0x24]; //0x1D4
}Entity_T; //[Addr: 0xADE828] [Size: 0x1F8]
typedef struct
{
int ServerTime; //0x0 (0x9D5220)
int PlayerState; //0x4 (0x9D5224)
int StaminaTimer; //0x8 (0x9D5228)
unsigned short PlayerStance; //0xC (0x9D522C)
char _0x000E[0x2]; //0xE
int IsIngame; //0x10 (0x9D5230)
char _0x0014[0x4]; //0x14
int iVelocity; //0x18 (0x9D5238)
float Origin[3]; //0x1C (0x9D523C)
float Velocity[3]; //0x28 (0x9D5248)
char _0x0034[0x2C]; //0x34
float RefViewAngleY; //0x60 (0x9D5280)
float RefViewAngleX; //0x64 (0x9D5284)
char _0x0068[0xE8]; //0x68
int ClientNumber; //0x150 (0x9D5370)
char _0x0154[0x4]; //0x154
float ViewAngleY; //0x158 (0x9D5378)
float ViewAngleX; //0x15C (0x9D537C)
char _0x0160[0x3C]; //0x160
int Health; //0x19C (0x9D53BC)
char _0x01A0[0x1C]; //0x1A0
int MaxEntities; //0x1BC (0x9D53DC)
char _0x01C0[0x44]; //0x1C0
int AdvancedUAV; //0x204 (0x9D5424)
}CG_T; //[Addr: 0x9D5220] [Size: 0x205608]
typedef struct
{
char _0x0000[0x8]; //0x0
int Width; //0x8 (0x9D0CA8)
int Height; //0xC (0x9D0CAC)
char _0x0010[0x14]; //0x10
char GameType[4]; //0x24 (0x9D0CC4)
char _0x0028[0x1C]; //0x28
char HostName[64]; //0x44 (0x9D0CE4)
char _0x0084[0xC4]; //0x84
int MaxClients; //0x148 (0x9D0DE8)
char _0x014C[0x4]; //0x14C
char MapName[64]; //0x150 (0x9D0DF0)
char _0x0190[0x43F0]; //0x190
}CGS_T; //[Addr: 0x9D0CA0] [Size: 0x45C0]
enum entity_type_t
{
ET_GENERAL = 0,
ET_PLAYER = 1,
ET_PLAYER_CORPSE = 2,
ET_ITEM = 3,
ET_EXPLOSIVE = 4,
ET_INVISIBLE = 5,
ET_SCRIPTMOVER = 6,
ET_SOUND_BLEND = 7,
ET_FX = 8,
ET_LOOP_FX = 9,
ET_PRIMARY_LIGHT = 10,
ET_TURRET = 11,
ET_HELICOPTER = 12,
ET_PLANE = 13,
ET_VEHICLE = 14,
ET_VEHICLE_COLLMAP = 15,
ET_VEHICLE_CORPSE = 16,
ET_VEHICLE_SPAWNER = 17
};
#define FLAGS_CROUCHED 0x0004
#define FLAGS_PRONE 0x0008
#define FLAGS_FIRING 0x0200
#define REFDEF 0x00A414B0 //
#define CG 0x009D62A0
#define CGS 0x009D1D20
#define ENTITY 0x00ADF8C0 //
#define CLIENTINFO 0x00AD3978
#define VIEWMATRIX 0x0113AE9C
#define ISINGAME 0x009D62B0
#define PLAYERMAX 18
#define ENTITIESMAX 2048
#define NORECOIL_ADDRESS 0x572DC9
#define FONT_SMALL_DEV "fonts/smallDevFont"
#define FONT_BIG_DEV "fonts/bigDevFont"
#define FONT_CONSOLE "fonts/consoleFont"
#define FONT_BIG "fonts/bigFont"
#define FONT_SMALL "fonts/smallFont"
#define FONT_BOLD "fonts/boldFont"
#define FONT_NORMAL "fonts/normalFont"
#define FONT_EXTRA_BIG "fonts/extraBigFont"
#define FONT_OBJECTIVE "fonts/objectiveFont"
typedef float vec_t;
typedef vec_t vec4_t[4];
class CScreenMatrix
{
public:
char _0x0000[64];
};

