PHP Code:
class CPlayerInfo;
class CHealth;
class CPhysicsNode;
class CTemplate;
class CWeapon;
class CDeviation;
class CStealthed;
class CSkeleton;
class CBone;
class CInfo;
class CViewMatrix;
class CScoreBoard;
class CRenderer;
class CPlayerManager;
class CPlayer;
class CClassManager;
class CGame;
class CBreathingComponent;
class CMainConsole;
class CConsole;
class CConsoleInput;
class CDebugTextWriter;
class CSettingsRepository;
class CInputManager;
class CActionBuffer;
class CObjectManager;
class CRayTest;
class CSpreadTable;
class CPlayerInfo
{
public:
char unknown0[20]; //0x0000
__int32 flags; //0x0014
char unknown24[4]; //0x0018
CPlayerInfo* object_root; //0x001C
char unknown32[4]; //0x0020
CTemplate* object_template; //0x0024
char unknown40[28]; //0x0028
CHealth* Health; //0x0044
char unknown72[4]; //0x0048
CPhysicsNode* object_physics; //0x004C
char unknown80[96]; //0x0050
D3DXMATRIX object_matrix; //0x00B0
char unknown240[268]; //0x00F0
CWeapon* player_weapon; //0x01FC
char unknown512[16]; //0x0200
CStealthed* Stealthed; //0x0210
char unknown532[56]; //0x0214
__int32 activeWeapon; //0x024C
__int32 activeAbility1; //0x0250 elixir 5
__int32 activeAbility2; //0x0254 2 stealthed, -1 nothing
char unknown600[68]; //0x0258
float body_yaw; //0x029C
float LeftRightForce; //0x02A0
float ForwardBackwardForce; //0x02A4
__int32 posture; //0x02A8
__int32 posture2; //0x02AC same
float HeadPitch; //0x02B0 Negative Reversed?
float HeadPitchChange; //0x02B4
float HeadYaw; //0x02B8
char unknown700[4]; //0x02BC
float HeadYawChange; //0x02C0
__int32 posture3; //0x02C4 same
char unknown712[56]; //0x02C8
CSkeleton* Skeleton1p; //0x0300
char unknown772[4]; //0x0304
CSkeleton* Skeleton3p; //0x0308
char unknown780[16]; //0x030C
__int32 iStance; //0x031C posture4, same
char unknown800[9]; //0x0320
BYTE IsLandingPos; //0x0329 landing jump
BYTE IsJumping; //0x032A
};//Size=0x032B(811)
class CHealth
{
public:
char ID03E2D5F0[16]; //0x0000
float Health; //0x0010
};//Size=0x0014(20)
class CPhysicsNode
{
public:
char unknown0[68]; //0x0000
D3DXVECTOR3 impulse_force; //0x0044
char unknown80[28]; //0x0050
D3DXVECTOR3 position; //0x006C
D3DXVECTOR3 speed; //0x0078
char unknown132[80]; //0x0084
D3DXVECTOR3 rotation; //0x00D4
};//Size=0x00E0(224)
class CTemplate
{
public:
char unknown0[32]; //0x0000
__int32 object_id; //0x0020
__int32 template_type; //0x0024
char unknown40[28]; //0x0028
__int32 template_id; //0x0044
char unknown72[696]; //0x0048
float weapon_velocity; //0x0300
};//Size=0x0304(772)
class CWeapon
{
public:
char unknown0[36]; //0x0000
CTemplate* weapon_template; //0x0024
char unknown40[460]; //0x0028
CDeviation* weapon_deviation; //0x01F4
char unknown504[4]; //0x01F8
CBreathingComponent* weapon_breathing; //0x01FC
};//Size=0x0200(512)
class CDeviation
{
public:
char unknown0[4]; //0x0000
float total_deviation; //0x0004
char unknown8[4]; //0x0008
float up_deviation_add; //0x000C
float right_deviation_add; //0x0010
};//Size=0x0014(20)
class CStealthed
{
public:
char ID029910E8[552]; //0x0000
BYTE Stealthed; //0x0228
};//Size=0x0229(553)
class CSkeleton
{
public:
char ID0388C5E0[8]; //0x0000
CBone* bones; //0x0008
char ID13CE1D80[4]; //0x000C
D3DXMATRIX* matrices; //0x0010
__int32 number_of_bones; //0x0014 74
};//Size=0x0018(24)
class CBone
{
public:
__int32 bone_num; //0x0000
__int16 bone_code; //0x0004
__int16 parent; //0x0006
__int32 unknown; //0x0008
float offset_x; //0x000C
float offset_y; //0x0010
float offset_z; //0x0014
float length; //0x0018
float radius; //0x001C
__int32 material; //0x0020
};//Size=0x0024(36)
class CInfo
{
public:
char unknown0[4]; //0x0000
CPlayerInfo* PlayerInfo; //0x0004
};//Size=0x0008(8)
class CViewMatrix
{
public:
virtual void function0(); //
virtual void function1(); //
virtual void function2(); //
virtual void function3(); //
virtual void function4(); //
virtual void function5(); //
virtual void function6(); //
virtual void function7(); //
virtual void function8(); //
virtual void function9(); //
virtual void function10(); //
virtual void function11(); //
virtual void function12(); //
virtual void function13(); //
virtual void function14(); //
virtual void function15(); //
virtual void function16(); //
virtual void function17(); //
virtual void function18(); //
virtual void function19(); //
virtual void function20(); //
virtual void function21(); //
virtual void function22(); //
virtual void function23(); //
virtual float GetInsideFieldOfView(); //
char unknown4[252]; //0x0004
D3DXMATRIX Matrix; //0x0100
D3DXMATRIX Matrix1; //0x0140
};//Size=0x0144(324)
class CScoreBoard
{
public:
char unknown0[4]; //0x0000
__int32 Score; //0x0004
__int32 TotalScore; //0x0008
char unknown12[36]; //0x000C
__int32 Deaths; //0x0030
__int32 Kills; //0x0034
char unknown56[16]; //0x0038
__int32 Rank; //0x0048
};//Size=0x004C(76)
class CRenderer
{
public:
virtual void AddRef( void ); //
virtual void GetRef( void ); //
virtual void function2(); //
virtual void function3(); //
virtual void function4(); //
virtual void function5(); //
virtual void function6(); //
virtual void function7(); //
virtual void function8(); //
virtual void function9(); //
virtual void RenderScreen (void* param1, void* param2, void* param3); //
virtual void function11(); //
virtual void function12(); //
virtual void function13(); //
virtual void function14(); //
virtual void function15(); //
virtual void function16(); //
virtual void function17(); //
virtual void function18(); //
virtual void function19(); //
virtual void function20(); //
virtual void function21(); //
virtual void function22(); //
virtual void function23(); //
virtual void function24(); //
virtual void DrawConsole( void ); //
virtual void function26(); //
virtual void function27(); //
virtual void function28(); //
virtual void function29(); //
virtual void function30(); //
virtual void function31(); //
virtual void function32(); //
virtual void function33(); //
virtual void function34(); //
virtual void function35(); //
virtual void function36(); //
virtual void function37(); //
virtual void function38(); //
virtual void function39(); //
virtual void function40(); //
virtual void function41(); //
virtual void function42(); //
virtual void function43(); //
virtual void function44(); //
virtual void function45(); //
virtual void function46(); //
virtual void function47(); //
virtual void function48(); //
virtual void function49(); //
virtual void function50(); //
virtual void function51(); //
virtual void function52(); //
virtual void function53(); //
virtual BYTE DrawOverlay( void ); //
virtual BYTE Present( int code ); //
virtual void function56(); //
virtual void function57(); //
char unknown4[4]; //0x0004
IDirect3D9* pDirect3D; //0x0008
IDirect3DDevice9* pDirect3Ddev; //0x000C
char unknown16[20]; //0x0010
__int32 vid_width; //0x0024
__int32 vid_height; //0x0028
char unknown44[1240]; //0x002C
float viewDistance; //0x0504
char unknown1288[420]; //0x0508
BYTE drawObjects; //0x06AC
char unknown1709[1]; //0x06AD
BYTE drawSmoke; //0x06AE
char unknown1711[3]; //0x06AF
BYTE drawSoldier1; //0x06B2
BYTE drawFog; //0x06B3
BYTE drawTerrain; //0x06B4
char unknown1717[1]; //0x06B5
BYTE drawUndergrowth; //0x06B6
BYTE drawOvergrowth; //0x06B7
BYTE drawTags; //0x06B8
char unknown1721[1]; //0x06B9
BYTE drawDirectXInfo; //0x06BA
BYTE drawSoldier2; //0x06BB
BYTE drawFPS; //0x06BC
char unknown1725[4]; //0x06BD
BYTE drawHUD; //0x06C1
BYTE drawSky; //0x06C2
BYTE drawSunFlare; //0x06C3
};//Size=0x06C4(1732)
class CPlayerManager
{
public:
virtual void AddRef(); //
virtual void GetRef(); //
virtual void Release(); //
virtual void function3(); //
virtual void function4(); //
virtual void function5(); //
virtual void function6(); //
virtual void function7(); //
virtual CPlayer* GetPlayerByIndex( int Index ); //
virtual void function9(); //
virtual void function10(); //
virtual void function11(); //
virtual CPlayer* GetLocalPlayer(); //
char unknown4[16]; //0x0004
__int32 AmountOfPlayers; //0x0014
char unknown24[84]; //0x0018
CPlayer* LocalPlayer; //0x006C
};//Size=0x0070(112)
class CPlayer
{
public:
char unknown0[96]; //0x0000
__int32 Kit; //0x0060
char unknown100[4]; //0x0064
string Name; //0x0068 Hero name
string PlayerName; //0x0084 Player name
char unknown160[4]; //0x00A0
CInfo* Soldier; //0x00A4
CViewMatrix* ViewMatrix; //0x00A8 ViewMatrix
char unknown172[156]; //0x00AC
float zoom; //0x0148
float zoom_cur; //0x014C exact, use
char unknown336[4]; //0x0150
CInfo* SoldierObj; //0x0154
char unknown344[5]; //0x0158
BYTE Alive; //0x015D
char unknown350[6]; //0x015E
__int32 Team; //0x0164
char unknown360[28]; //0x0168
__int32 Ping; //0x0184
char unknown392[12]; //0x0188
CScoreBoard* ScoreBoard; //0x0194
char unknown408[160]; //0x0198
__int32 InVehicle; //0x0238
char unknown572[80]; //0x023C
__int32 Bullets; //0x028C
char unknown656[8]; //0x0290
__int32 TotalBulletsInClip; //0x0298
};//Size=0x029C(668)
class CClassManager
{
public:
virtual void function0(); //
virtual void function1(); //
virtual void function2(); //
virtual void function3(); //
virtual void function4(); //
virtual void function5(); //
virtual void function6(); //
virtual void function7(); //
virtual void function8(); //
virtual void function9(); //
virtual void function10(); //
virtual void function11(); //
virtual void function12(); //
virtual void function13(); //
virtual void function14(); //
virtual void function15(); //
virtual void function16(); //
virtual void function17(); //
virtual void* GetClassPointerByName(string* pszClassname); //
};//Size=0x0004(4)
class CGame
{
public:
virtual void function0(); //
virtual void function1(); //
virtual void function2(); //
virtual void function3(); //
virtual void function4(); //
virtual void function5(); //
virtual void function6(); //
virtual void function7(); //
virtual void function8(); //
virtual void function9(); //
virtual void function10(); //
virtual void function11(); //
virtual void function12(); //
virtual void function13(); //
virtual void function14(); //
virtual void function15(); //
virtual void function16(); //
virtual void function17(); //
virtual void function18(); //
virtual void function19(); //
virtual void function20(); //
virtual void function21(); //
virtual void function22(); //
virtual void function23(); //
virtual void function24(); //
virtual void function25(); //
virtual int getCounter( void ); //
virtual void function27(); //
virtual void function28(); //
virtual void function29(); //
virtual void function30(); //
virtual void function31(); //
virtual void function32(); //
virtual void function33(); //
virtual void function34(); //
virtual void function35(); //
virtual void function36(); //
virtual void function37(); //
virtual void function38(); //
virtual void function39(); //
virtual void function40(); //
virtual void function41(); //
virtual void function42(); //
virtual void function43(); //
virtual void function44(); //
virtual void function45(); //
virtual void function46(); //
virtual void function47(); //
virtual void function48(); //
virtual void function49(); //
virtual void function50(); //
virtual void function51(); //
virtual void function52(); //
virtual void function53(); //
virtual void function54(); //
virtual void function55(); //
virtual void function56(); //
virtual void function57(); //
virtual void function58(); //
virtual void function59(); //
virtual void function60(); //
virtual string* getMapName( void ); //
virtual string* getGameMode( void ); //
};//Size=0x0004(4)
class CBreathingComponent
{
public:
char unknown0[20]; //0x0000
float breathing_counter1; //0x0014 half cycle
char unknown24[8]; //0x0018
float breathing_direction; //0x0020
char unknown36[4]; //0x0024
float breathing_time; //0x0028
char unknown44[8]; //0x002C
float breathing_counter2; //0x0034 full cycle
};//Size=0x0038(56)
class CMainConsole
{
public:
virtual void function0(); //
virtual void function1(); //
virtual void execCommand( string* command, string* result, BYTE echocommand, BYTE echoresult, BYTE addcommandtolist, BYTE unknown0, BYTE adminusage, BYTE unknown1 ); //
BYTE m_bOpen; //0x0004
};//Size=0x0005(5)
class CConsole
{
public:
bool ProcessInputs; //0x0000
};//Size=0x0004(4)
class CConsoleInput
{
public:
char unknown0[20]; //0x0000
CConsole* Console; //0x0014
};//Size=0x0018(24)
class CSettingsRepository
{
public:
virtual void function0(); //
virtual void function1(); //
virtual void function2(); //
virtual void function3(); //
virtual UINT* Get_UINT(string* name, UINT* def); //
virtual int Set_UINT(string* name, UINT* val); //
virtual void function6(); //
virtual void function7(); //
virtual float* Get_float(string* name, float* def); //
virtual int Set_float(string* name, float* val); //
virtual void function10(); //
virtual void function11(); //
virtual int* Get_int(string* name, int* def); //
virtual int Set_int(string* name, int* val); //
virtual void function14(); //
virtual void function15(); //
virtual string* Get_string(string* name, string* def); //
virtual int Set_string(string* name, string* val); //
virtual void function18(); //
virtual void function19(); //
virtual bool* Get_bool(string* name, bool* def); //
virtual int Set_bool(string* name, bool* val); //
};//Size=0x0004(4)
class CInputManager
{
public:
virtual void function0(); //
virtual void function1(); //
virtual void function2(); //
virtual void function3(); //
virtual void function4(); //
virtual void function5(); //
virtual void function6(); //
virtual void function7(); //
virtual void function8(); //
virtual void function9(); //
virtual void function10(); //
virtual void function11(); //
virtual void function12(); //
};//Size=0x0004(4)
class CActionBuffer
{
public:
float InputFlags[64]; //0x0000
};//Size=0x0040(64)
class CObjectManager
{
public:
virtual void function0(); //
virtual void function1(); //
virtual void function2(); //
virtual void function3(); //
virtual void function4(); //
virtual void function5(); //
virtual void function6(); //
virtual void function7(); //
virtual void function8(); //
virtual void function9(); //
virtual void function10(); //
virtual void function11(); //
virtual void function12(); //
virtual CPlayerInfo* GetObjectByIndex(int Index); //
virtual void function14(); //
virtual void function15(); //
virtual void function16(); //
virtual void function17(); //
virtual void function18(); //
virtual void function19(); //
virtual void function20(); //
virtual void function21(); //
virtual void function22(); //
virtual void function23(); //
virtual void function24(); //
virtual void function25(); //
virtual void function26(); //
virtual void function27(); //
virtual BYTE Intersect( CPlayerInfo** inter_obj, D3DXVECTOR3* inter_point, D3DXVECTOR3* inter_angle, int* inter_mat, D3DXVECTOR3* ray_start, D3DXVECTOR3* ray_end, CRayTest* ray, BOOL unk1, BOOL unk2, BOOL unk3, BOOL unk4, BOOL unk5 );; //
};//Size=0x0004(4)
class CRayTest
{
public:
CRayTest( CPlayerInfo* obj );
virtual BYTE TestObject(CPlayerInfo* obj); //
virtual int iGetMask(void); //
virtual BYTE function2(int a); //
virtual BYTE TestMaterial(int material); //
virtual BYTE function3(int unknown); //
CPlayerInfo* ignore_object; //0x0004
__int32 mask; //0x0008
};//Size=0x000C(12)
class CSpreadTable
{
public:
float table[1024]; //0x0000
};//Size=0x0400(1024)
const D3DCOLOR TextOutline = D3DCOLOR_RGBA( 0, 0, 0, 200 );
class CDebugTextWriter
{
public:
virtual void AddRef( void );
virtual int GetRef( void );
virtual void Destructor( void );
virtual bool bVerifyGUID( DWORD dwId );
virtual bool bSetFontNeedsReload( bool bTest );
virtual bool bIsFontLoaded( void );
virtual bool bSetVisible( bool bVisible );
virtual DWORD dwGetTextColor();
virtual void SetColor( DWORD dwColor );
virtual void DrawColouredTextin3dSpaceEX( void );
virtual void DrawColouredTextin3dSpace( D3DXVECTOR3* pPos, DWORD dwColor, string* strText, float flTest );
virtual void DrawTextColouredEX();
virtual void DrawTextColoured( int x, int y, DWORD dwTextColor, string* strText, BOOL bIsConFont = 0 );
virtual void DrawTextCenteredin3dSpaceEX();
virtual void DrawTextCenteredin3dSpace( D3DXVECTOR3* pPos, string* strText, float flTest );
virtual void DrawTextEx( int x, int y, BOOL bIsConFont, BOOL bIsUnknown = 0, string* strText = NULL, BOOL bIsUnknown2 = 0 );
virtual void DrawText( int x, int y, string* strText, BOOL bIsConFont = 0 );
virtual void LoadFont();
virtual void DestroyFont();
DWORD m_dwUnknown;
void* m_pOverlay;
void LoadNewFont( string* pstrFont ) // Fonts/BF1942.font // Fonts/system_8x11
{
// if( m_pOverlay )
// m_pOverlay->Load( pstrFont );
}
// 2D is font loaded
// 30 is color
void OutlinedText( int x, int y, DWORD dwTextColor, string* strText, BOOL bIsConFont = 0 )
{
DrawTextColoured( x-1, y, TextOutline, strText );
DrawTextColoured( x+1, y, TextOutline, strText );
DrawTextColoured( x, y-1, TextOutline, strText );
DrawTextColoured( x, y+1, TextOutline, strText );
DrawTextColoured( x, y, dwTextColor, strText );
}
};
Credits to uc-forum.