Hello guys,
This night for first time i tried to reverse some classes more seriously... I am releasing them for you to see it they are correct. And if they are feel free to use them. If there is something wrong please tell me.
@
~FALLEN~ i know you think me for noob and etc... but please see what i did and tell me if i am wrong and where is my mistake... if there is such
Code:
Code:
#define LTClientOffset 0x004989FC
#define ClientShellOffset 0x00498A08 - LTClientOffset - 4
class cObject
{
public:
char spacer00[4];
D3DXVECTOR3 HeadPosition;
D3DXVECTOR3 OriginPosition;
char spacer01[196];
D3DXVECTOR3 BasePosition;
};
class cPlayerInfo
{
public:
float f_Yaw;
float f_Pitch;
char Spacer00[408];
bool b_IsDead;
char Spacer01[5703];
short sh_CurrentGun;
char Spacer02[2];
bool b_IsMutant;
};
class cPlayer
{
public:
unsigned int ui_LocalIndex;
cObject *Object;
unsigned char uch_Index;
unsigned char uch_Team;
char ch_Name[12];
char Spacer01[2];
cPlayerInfo *PlayerInfo;
char Spacer02[9];
bool b_HasC4;
int i_State;
int i_Rank;
char Spacer03[10];
short sh_Health;
short sh_Kills;
short sh_Deaths;
char Spacer04[1158];
};
class cPlayerClient
{
public:
char Spacer00[256];
cObject *PlayerObject;
char Spacer01[8];
float f_Pitch;
float f_Yaw;
};
class cClientShell
{
public:
char Spacer00[76];
bool b_IsAlive;
char Spacer01[7];
cPlayerClient *PlayerClient;
bool b_IsInGame;
char Spacer02[29667];
cPlayer PlayerList[16];
};
class cTransform
{
public:
D3DXVECTOR3 Pos;
};
class ILTMessage_Write
{
public:
int Message;
};
class cLTCommon
{
public:
virtual void Spacer00();
virtual void Spacer01();
virtual void Spacer02();
virtual void Spacer03();
virtual void Spacer04();
virtual void Spacer05();
virtual void Spacer06();
virtual void Spacer07();
virtual UINT32 CreateMessage(ILTMessage_Write* &pMsg);
};
class cLTPhysics
{
public:
virtual void Spacer00();
virtual void Spacer01();
virtual void Spacer02();
virtual void Spacer03();
virtual void Spacer04();
virtual void Spacer05();
virtual void Spacer06();
virtual void Spacer07();
virtual void Spacer08();
virtual void Spacer09();
virtual UINT32 SetVelocity(cObject *hObj, const D3DXVECTOR3 *v) = 0;
virtual void Spacer10();
virtual UINT32 SetForceIgnoreLimit(cObject *hObj, float f);
};
class cLTModelClient
{
public:
virtual void Spacer00();
virtual void Spacer01();
virtual void Spacer02();
virtual void Spacer03();
virtual UINT32 GetSocket(cObject *hObj, const char *pSocketName, UINT32 &hSocket);
virtual UINT32 GetSocketTransform(cObject *hObj, UINT32 hSocket, cTransform &transform, bool bWorldSpace);
virtual void Spacer04();
virtual void Spacer05();
virtual void Spacer06();
virtual void Spacer07();
virtual UINT32 GetNode(cObject *hObj, const char *pNodeName, UINT32 &hNode);
virtual UINT32 GetNodeName(cObject *hObj, UINT32 hNode, char *name, UINT32 maxlen);
virtual UINT32 GetNodeTransform(cObject *hObj, UINT32 hNode, cTransform &transform, bool bWorldSpace);
};
class cLTSoundMgr;
class cFontManager;
class cLTRenderMgr;
class cLTVideoMgr;
class cLTBase
{
public:
virtual cLTCommon *LTCommon();
virtual cLTPhysics *LTPhysics();
virtual cLTModelClient *LTModelClient();
virtual cLTSoundMgr *LTSoundMgr();
virtual cFontManager *FontManager();
virtual cLTRenderMgr *LTRenderMgr();
virtual cLTVideoMgr *LTVideoMgr();
};
class cLTClient
{
public:
cLTBase *LTBase;
char Spacer00[508];
void (*PushToConsole)(char* Command);
};
extern class cCShell
{
public:
char Spacer01[LTClientOffset];
cLTClient *LTClient;
char Spacer00[ClientShellOffset];
cClientShell *ClientShell;
};