If you want Structs more "clean" ( the ones on that source are a little ugly I admit..) here it is.typedef struct
{
char _0x0000[2];
SHORT Valid; //0x0002
char _0x0004[16];
Vector Origin; //0x0014
Vector Angles; //0x0020
char _0x002C[60];
int Flags; //0x0068
char _0x006C[12];
Vector OldOrigin; //0x0078
char _0x0084[76];
int ClientNum; //0x00D0
SHORT Type; //0x00D4
char _0x00D6[18];
Vector NewOrigin; //0x00E8
char _0x00F4[64];
BYTE OldWeaponID; //0x0134
char _0x0135[99];
BYTE WeaponID; //0x0198
char _0x0199[1];
SHORT Alive; //0x019A
char _0x019C[8];
float Flags2; //0x01A4
char _0x01A8[40];
int IsAlive; //0x01D0
char _0x01D4[36];
}entity_t;//Size=0x01F8
typedef struct
{
char _0x0000[0x8];
int Width;
int Height;
int FovX;
int FovY;
Vector ViewOrg;
Vector ViewAxis[3];
char _0x0048[0x24];
float ZoomProgress;
char _0x0070[0x4ABC];
float ViewAngles[3];
char _0x4B34[0x30];
float WeaponViewAngleX;
float WeaponViewAngleY;
}refdef_t;//Size=0x0070
typedef struct
{
int FrameTime; //0x0000
char _0x0004[168];
int N018AB3CE; //0x00AC
char _0x00B0[160];
int ClientNum; //0x0150
char _0x0154[72];
int Health; //0x019C
char _0x01A0[4];
int MaxHealth; //0x01A4
char _0x01A8[152];
int NextAttack; //0x0240
char _0x0244[16];
int Attacking; //0x0254
char _0x0258[320];
int SecondaryClipAmmo; //0x0398
char _0x039C[12];
int PrimaryClipAmmo; //0x03A8
char _0x03AC[100];
int SecondaryAmmo; //0x0410
char _0x0414[8];
int LethalAmmo; //0x041C
char _0x0420[8];
int PrimaryAmmo; //0x0428
char _0x042C[8];
int TacticalAmmo; //0x0434
}cg_t;//Size=0x0438
typedef struct
{
char _0x0000[8];
int Width; //0x0008
int Height; //0x000C
char _0x0010[20];
char GameType[4]; //0x0024
char _0x0028[28];
char HostName[64]; //0x0044
char _0x0084[196];
int MaxClients; //0x0148
char _0x014C[4];
char MapName[64]; //0x0150
}cgs_t;//Size=0x0190
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
}client_t; //[Addr: 0xAD28F8] [Size: 0x564]
typedef struct
{
Vector Recoil; //0x0044
Vector vOrigin; //0x0050
float DeltaOrigin[3]; //0x005C
float ReadViewAngleY; //0x0068
float ReadViewAngleX; //0x006C
char _0x0070[108];
float SetViewAngleY; //0x00DC
float SetViewAngleX; //0x00E0
}viewMatrix_t;//Size=0x00A4
float cMath::GetDistance ( Vector A, Vector B ) {
float dx = A.x - B.x;
float dy = A.y - B.y;
float dz = A.z - B.z;
return ( float ) sqrt ( ( dx * dx ) + ( dy * dy ) + ( dz * dz ) ) * 0.03048f;
}