Found & posted here by me:
Code:
CGS ptr: 0xD2B6E0
CG ptr: 0xD2B710
Entity ptr: 0xD2E8F0
Entity size: 0x328
ClientInfo ptr: 0x05EFE8
ClientInfo size: 0x5C8
IsInGame ptr(?): (*(DWORD*)0xD2EB9C)+0x18
Credits to cardoow(posted by House on page 2):
Code:
DrawStretchPic 0x6EA5B0
RegisterFont 0x6E8FD0
RegisterShader 0x6CDE40
DrawEngineText 0x6EAAE0
SendConsoleCommand 0x5C9DA0
RegisterTag 0x5B5B30
getTagOrigin 0x7A0BE0
getWeaponinfo 0x503960
CRefdef 0x2ABDAFC0
credits to cypherPresents, king-orgy, cardoow, raiders(posted by Hahaz on page 2)
Code:
DrawPic
0x6EA5B0
x8bx44x24x28xd9x44x24x20x8bx4cx24x24x50x51x83xecx24 xxxxxxxxxxxxxxxxx
DrawText
0x006EAAE0
x55x8bx6cx24x08x80x7dx00x00x56x57x0fx84x00x00x00x00x8bxc5x8dx50x01 xxxxxxxxxxxxx????xxxxx
RegisterFont
0x6E8FD0
x8bx44x24x04x6axffx6ax01x50x6ax14xe8x00x00x00x00 xxxxxxxxxxxx????
CG_ClientFrame
0x4CA8C0
x83xecx34x53x55x56x57xe8x00x00x00x00 xxxxxxxx????
CG_Trace
0x426CB0
x8bx44x24x20x8bx4cx24x1cx8bx54x24x08x81xecx00x00x00x00x53 xxxxxxxxxxxxxx????x
CG_Obituary
int __usercall sub_7C96F0<eax>(int a1<eax>, int a2)
0x7C96F0
x83xecx7cx0fxbfx88xc6x00x00x00xf3x0fx10x05x00x00x00x00x53x55x0fxbfxa8xc4x00x00x00x56x33xdb xxxxxxxxxxxxxx????xxxxxxxxxxxx
CG_FireWeapon
int __cdecl sub_43DA80(int a1, int a2, int a3, int a4, unsigned int a5, int a6, char a7)
0x43DA80
x83xecx58x55x8bx6cx24x64x56x8bx74x24x74x85xf6x75x00 xxxxxxxxxxxxxxxx?
CG_FireWeaponRecoil
void __cdecl sub_643F60(int a1, int a2, int a3, int a4)
0x643F60
x51x8bx54x24x0cx66x83xbaxa6x02x00x00x02x57x8bx3dx00x00x00x00x0fx84x00x00x00x00 xxxxxxxxxxxxxxxx????xx????
CG_DrawBulletsImpacts
int __cdecl sub_7F62B0(int a1, int a2, unsigned __int16 a3, int a4, int a5, int a6, char a7)
0x7F62B0
x81xecx00x00x00x00x8bx84x24x50x01x00x00x53x55x8bxacx24x4cx01x00x00 xx????xxxxxxxxxxxxxxxx
R_RenderScene
signed int __cdecl sub_6DF8F0(int a1, int a2)
0x6DF8F0
x55x8bxecx83xe4xf8xb8x00x00x00x00xe8x00x00x00x00x80x3dx00x00x00x00x00 xxxxxxx????x????xx?????
RegisterShader
0x6CDE40
x8bx4cx24x04x80x39x00x75x00xa1x00x00x00x00xc3 xxxxxxxx?x????x
RegisterTag
0x5B5B30
x8bx54x24x04x8bxc2x56x8dx70x01x8dx9bx00x00x00x00 xxxxxxxxxxxxxxxx
getTagOrigin
0x7A0BE0
x51x66x83xbexa6x02x00x00x01x53x8bx5cx24x0cx75x00x8bx86xe8x01x00x00x0fxb6x4ex04 xxxxxxxxxxxxxxx?xxxxxxxxxx
getWeaponinfo
0x503960
x8bx44x24x04x8bx0cx85x00x00x00x00x8bx41x08xc3 xxxxxxx????xxxx
SendConsoleCommand
0x5C9DA0
x6ax35xe8x00x00x00x00x8bx44x24x0cx8ax08x83xc4x04x80xf9x70x74x00 xxx????xxxxxxxxxxxxx?
Have fun
~ Hell
P.S. I'll start reversing the classes this weekend(hopefully the game will be patched by then)
Credit: cardoow
Code:
DWORD CBot::GetWeaponOffset(DWORD WeaponNum)
{
static DWORD dwCall = 0x503960;
static DWORD dwReturn;
__asm{
PUSH WeaponNum
CALL [dwCall]
mov dwReturn, eax
ADD ESP,0x4
}
return dwReturn;
}
Code:
void CBot::xHair()
{
CClientInfo* pLocal = GetLocalClient();
cWeaponInfo* WeapInfo = (cWeaponInfo*)(GetWeaponOffset(pLocal->Weapon));
if(WeapInfo)
{
WeapInfo->xHair;//reverse class yourself
}
}
Code:
enum eTypes
{
ET_GENERAL,
ET_PLAYER,
ET_PLAYER_CORPSE,
ET_ITEM,
ET_MISSILE,
ET_INVISIBLE,
ET_SCRIPTMOVER,
ET_SOUND_BLEND,
ET_FX,
ET_LOOP_FX,
ET_PRIMARY_LIGHT,
ET_MG42,
ET_HELICOPTER,
ET_PLANE,
ET_VEHICLE,
ET_VEHICLE_COLLMAP,
ET_VEHICLE_CORPSE,
ET_ACTOR,
ET_ACTOR_SPAWNER,
ET_ACTOR_CORPSE,
ET_STREAMER_HINT,
};//this is complete
DWORD CBot::GetType(CEntity* pEnt)
{
static DWORD dwReturn;
__asm mov esi, pEnt
__asm movsx eax, WORD PTR DS:[esi+0x2A6]
__asm mov dwReturn, eax
return dwReturn;
}
Code:
int CBot::GetPlayerTag(WORD TagName, CEntity* Entity, float* Origin)
{
static DWORD dwCall = 0x7A0BE0;
static DWORD dwLpTag = GetLpTag(Entity);//reverse the getLpTag yourself
__asm{
MOV ESI, Entity
MOV ECX, dwLpTag
MOVZX EDI,WORD PTR DS:[0x3EDB1EA]//headbone
push Origin
CALL [dwCall]
ADD ESP, 0x4
}
}