Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- /*******************************************************/
- /* Classes */
- /*******************************************************/
- #include "Message.h"
- class cPlayerMgr; class cLTDrawPrim;
- class cClientWeapon; class cClientWeaponMgr;
- class PlayerInfo; class CILTDrawPrim;
- struct CharacterFX; class cLTCientShellBase;
- class cGameClientShell; class cClientWeapon;
- class cClientInfoMgr; class c_player;
- class PointerTo; class _Object;
- class CILTDrawPrim; class LTObjectInfo;
- class cLTDrawPrim; class cLTBase;
- class cLTModel; struct __Object;
- cLTModel* pLTModel;
- cLTBase* pLTBase;
- cLTDrawPrim* pLTDrawPrim;
- cGameClientShell* pGameClientShell;
- cClientInfoMgr* pClientInfoMgr;
- cPlayerMgr* pPlayerManager;
- CModelLT* g_ModelLT;
- #define M_PI 3.14159265358979323846f
- #define DegToRad(degree) ((degree) * (3.141592654f / 180.0f))
- #define PITCH 0
- #define YAW 1
- #define ROLL 2
- #define PACKBOOL(name) union {bool name; unsigned int padding_##name;}
- int CanUse3DNow = -1;
- struct __Object
- {
- public:
- DWORD Unknown; //0x0000
- float xBound1; //0x0004
- float yBound1; //0x0008
- float zBound1; //0x000C
- float xBound2; //0x0010
- float yBound2; //0x0014
- float zBound2; //0x0018
- char unknown28[172]; //0x001C
- LTVector Pos; //0x00C8
- LTRotation Rot; //0x00D4
- char unknown228[180]; //0x00E4
- LTVector Vel; //0x0198
- CHAR Pad[4];
- D3DXVECTOR3 origin;
- };
- cLTModel* GetLTModel()
- {
- return pLTModel;
- }
- cLTBase* GetLTBase()
- {
- return pLTBase;
- }
- cLTDrawPrim* GetLTDrawPrim()
- {
- return pLTDrawPrim;
- }
- bool ValidPointer(void* p)
- {
- return !IsBadReadPtr(p, 4) && p;
- }
- class cCharacterFX
- {
- public:
- char unk1[16];
- int* Object; //0x10
- char unk2[44];
- int IsPlayer; //0x40
- char unk3[40];
- unsigned char Index; //0x6C
- char unknown112[8]; //0x0070
- float fStartPitch; //0x0078
- float fStartYaw; //0x007C
- char unknown128[1224]; //0x0080
- BYTE unk1287; //0x0548
- bool bIsDead; //0x0549
- bool bSpawnSheild; //0x054A
- BYTE unk5563; //0x054B
- char unknown1356[12]; //0x054C
- int* hHitbox; //0x0558
- char unknown1372[96]; //0x055C
- WORD wUnk; //0x05BC
- WORD nHealth; //0x05BE
- WORD nArmor; //0x05C0
- };
- class cSFXList
- {
- public:
- unsigned long unk0;
- unsigned long* List;
- unsigned long unk1;
- int Num;
- };
- class cSFXMgr
- {
- public:
- cSFXList SFXList[0x3D];
- };
- class cGameClientShell
- {
- 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 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 DWORD GetClientInfoMgr();
- virtual DWORD GetInterfaceManager();
- virtual DWORD GetPlayerManager();
- 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 cSFXMgr* GetSFXMgr();
- };
- class PointerTo
- {
- public:
- CHAR pad[4];
- PlayerInfo *first;
- __int32 index;
- };
- class _Object
- {
- public:
- CHAR Pad[4];
- D3DXVECTOR3 origin;
- };
- class cClientInfo
- {
- public:
- __int32 pPing; //0x0000
- __int32 Index; //0x0004
- char _0x0008[8];
- char pName[12]; //0x0010
- char _0x001C[12];
- int* Object; //0x0028
- __int32 pKills; //0x002C
- __int32 pDeaths; //0x0030
- char _0x0034[52];
- __int32 pFTMission; //0x0068
- char _0x006C[4];
- __int32 pTeam; //0x0070
- char _0x0074[4];
- BYTE pIsDead; //0x0078
- char _0x0079[319];
- __int32 pRank; //0x01B8
- char _0x01BC[80];
- __int32 pFTScore; //0x020C
- BYTE pFTSpawn; //0x0210
- char _0x0211[3];
- __int32 pFTLongestLife; //0x0214
- __int32 pFTKill; //0x0218
- char _0x021C[84];
- cClientInfo* PlayerNext; //0x0270
- };//Size=0x0274
- class CILTDrawPrim
- {
- public:
- virtual HRESULT Project(float x, float y, float z, D3DXVECTOR3 *pProjectOut, D3DXVECTOR3 *pTransformOut);
- char unknown[17232]; //0x0004
- D3DXMATRIX World; //0x4354
- D3DXMATRIX View; //0x4394
- D3DXMATRIX Projection; //0x43D4
- };
- class cWeaponInfo
- {
- public:
- char unknown0[12]; //0x0000
- DWORD dwClientWeaponType; //0x000C
- char unknown16[16]; //0x0010
- DWORD dwAlt_InstDamage; //0x0020
- DWORD dwInstDamage; //0x0024
- DWORD UNK; //0x0028
- char unknown44[104]; //0x002C
- DWORD dwFireSnd; //0x0094
- char unknown152[108]; //0x0098
- float fFireDelay1; //0x0104
- float ffiredelay1; //0x0108
- DWORD dwMaxAmmo3; //0x010C
- DWORD dwMaxAmmo2; //0x0110
- char unknown276[276]; //0x0114
- DWORD dwCrossHairA; //0x0228
- DWORD dwCrossHairR; //0x022C
- DWORD dwCrossHairG; //0x0230
- DWORD dwCrossHairB; //0x0234
- BYTE TripleShotMode; //0x0238
- char unknown569[3]; //0x0239
- DWORD dwTripleShotRoundNum; //0x023C
- float fDamageRFacter; //0x0240
- char unknown580[28]; //0x0244
- DWORD dwInfiAmmo2;
- DWORD dwInfiniteAmmo; //0x0264
- DWORD dwHideWhenEmpty; //0x0268
- DWORD dwIsAmmo; //0x026C
- char unknown624[4]; //0x0270
- DWORD dwShotsPerClip; //0x0274
- char unknown632[52]; //0x0278
- float fZoomTime; //0x02AC
- DWORD dwMinPerturb; //0x02B0
- DWORD dwMaxPerturb; //0x02B4
- float fDuckPerturb; //0x02B8
- float fMoveDuckPerturb; //0x02BC
- DWORD dwZoomedMinPerturb; //0x02C0
- DWORD dwZoomedMaxPerturb; //0x02C4
- DWORD dwRange; //0x02C8
- char unknown716[12]; //0x02CC
- DWORD VectorsPerRound; //0x02D8
- char unknown732[40]; //0x02DC
- float fPerturbIncSpeed; //0x0304
- float fPerturbDecSpeed; //0x0308
- char unknown780[4]; //0x030C
- float fZoomedPerturbIncSpeed; //0x0310
- float fZoomedPerturbDecSpeed; //0x0314
- char unknown792[4]; //0x0318
- float fBaseCamRecoilPitch; //0x031C
- float fBaseCamRecoilAccelPitch; //0x0320
- char unknown804[36]; //0x0324
- float fTripleShotMaxCamRecoilPitch; //0x0348
- float fTripleShotBaseCamRecoilPitch; //0x034C
- char unknown848[8]; //0x0350
- DWORD dwTripleShotMinPerturb; //0x0358
- DWORD dwTripleShotMaxPerturb; //0x035C
- float fTripleShotPerturbIncSpeed; //0x0360
- float fTripleShotPerturbDecSpeed; //0x0364
- char unknown872[112]; //0x0368
- DWORD dwFireRate; //0x03D8
- DWORD dwMoveSpeed; //0x03DC
- DWORD ID03B39CC0; //0x03E0
- char unknown996[32]; //0x03E4
- BYTE DisableCrosshair; //0x0404
- char unknown1029[27]; //0x0405
- float fCameraSwayXFreq; //0x0420
- float fCameraSwayYFreq; //0x0424
- char unknown1064[12]; //0x0428
- DWORD dwTargetCrosshairFlag; //0x0434
- DWORD dwEffectRange; //0x0438
- char unknown1084[192]; //0x043C
- DWORD dwFireDelay; //0x04FC
- };
- class cWeaponMgr
- {
- public:
- char unknown0[5564];
- cWeaponInfo** Weapons; //15BC
- __int32 WeaponCount; //15C0
- };
- class cClientWeaponMgr
- {
- public:
- cClientWeapon** WeaponList; //0000
- __int32 MaxWeapons; //0004
- __int32 WeapIndex; //0008
- cClientWeapon* CurrentWeapon; //000C
- BYTE WeaponsEnabled; //0010
- BYTE WeaponsVisible; //0011
- char unknown16[20];
- __int32 nCurrentWeaponID; //0x0024
- };
- class cPlayerMgr
- {
- public:
- char pad[24];
- cClientWeaponMgr* WeaponMgr; //0018
- char unknown0[48];
- float Pitch; //0048
- float Yaw; //004C
- float Roll;
- char unknown3[220];
- int* CameraObject; //012C
- __inline cClientWeapon* GetCurrentWeapon()
- {
- if(WeaponMgr && WeaponMgr->CurrentWeapon)
- return WeaponMgr->CurrentWeapon;
- return NULL;
- }
- };
- class PlayerInfo
- {
- public:
- __int32 Unknown0;
- __int32 index;
- __int32 Unknown1;
- __int32 Unknown2;
- CHAR Name[12];
- CHAR unknown3[12];
- _Object *obj;
- CHAR unknown4[68];
- __int32 Team;
- __int32 unknown5;
- __int8 IsDead;
- };
- class pPlayerInfo
- {
- public:
- __int32 Unknown0;
- __int32 index;
- __int32 Unknown1;
- __int32 Unknown2;
- CHAR Name[12];
- CHAR unknown3[12];
- __Object* Object;
- CHAR unknown4[68];
- __int32 Team;
- __int32 unknown5;
- __int8 IsDead;
- };
- class cLTClientShellBase
- {
- public:
- cLTBase* ILTBase; //0x0000
- char unknown4[16];
- cLTDrawPrim** ILTDrawPrim; //0x0014
- char unknown24[4];
- cLTModel** ILTModel; //0x001C
- char unknown32[136];
- cGameClientShell* ILTGameClientShell; //0x00A8
- };
- struct CharacterFX
- {
- char unknown0[16]; //0x0000
- union
- {
- __Object* ObjInfo; //0x0010 (HOBJECT)
- HOBJECT hObj; //0x0010
- };
- char unknown20[40]; //0x0014
- union
- {
- __Object* ServObjInfo; //0x003C
- HOBJECT hServObj; //0x003C
- };
- PACKBOOL(bIsPlayer); //0x0040
- char unknown96[12]; //0x0060
- unsigned int nID; //0x006C
- char unknown112[8]; //0x0070
- float fStartPitch; //0x0078
- float fStartYaw; //0x007C
- float fPitchVel; //0x0080
- float fYawVel; //0x0084
- float fPitchAccel; //0x0088
- float fYawAccel; //0x008C
- char unknown144[1192]; //0x0090
- DWORD nSpawnShield; //0x0538
- char unknown1340[12]; //0x053C
- HOBJECT hHitbox; //0x0548
- char unknown1356[98]; //0x054C
- short nHealth; //0x05AE
- short nArmor; //0x05B0
- char unknown1458[62]; //0x05B2
- float fPitch; //0x05F0
- float fYaw; //0x05F4
- char unknown1528[440]; //0x05F8
- PACKBOOL(bIsShooting); //0x07B0
- }; //Size is at least 0x7E0
- //0x00F8 = model
- D3DXMATRIX* MatrixMultiply(D3DXMATRIX* pOut, const D3DXMATRIX* pM1, const D3DXMATRIX* pM2)
- {
- for (int i = 0; i < 4; ++i)
- {
- for (int j = 0; j < 4; ++j)
- {
- (*pOut)(i, j) = 0.0f;
- for (int k = 0; k < 4; ++k)
- (*pOut)(i, j) += (*pM1)(i, k) * (*pM2)(k, j);
- }
- }
- return pOut;
- }
- __declspec(naked) D3DXVECTOR3* _3DNowVec3TransformCoord(D3DXVECTOR3* pOut, const D3DXVECTOR3* pV, const D3DXMATRIX* pM)
- {
- __asm
- {
- push ebp
- mov ebp, esp
- femms
- mov eax,dword ptr [ebp+0Ch]
- mov edx,dword ptr [ebp+10h]
- mov ecx,dword ptr [ebp+8]
- movq mm0,mmword ptr [eax]
- movq mm1,mm0
- punpckldq mm0,mm0
- punpckhdq mm1,mm1
- movd mm2,dword ptr [eax+8]
- punpckldq mm2,mm2
- movq mm3,mm0
- pfmul mm0,mmword ptr [edx]
- movq mm4,mm1
- pfmul mm1,mmword ptr [edx+10h]
- movq mm5,mm2
- pfmul mm2,mmword ptr [edx+20h]
- pfadd mm0,mmword ptr [edx+30h]
- pfmul mm3,mmword ptr [edx+8]
- pfadd mm1,mm2
- pfmul mm4,mmword ptr [edx+18h]
- pfmul mm5,mmword ptr [edx+28h]
- pfadd mm3,mmword ptr [edx+38h]
- pfadd mm0,mm1
- pfadd mm4,mm5
- pfadd mm3,mm4
- movq mm5,mm3
- punpckhdq mm5,mm5
- pfrcp mm4,mm5
- pfrcpit1 mm5,mm4
- pfrcpit2 mm5,mm4
- pfmul mm0,mm5
- pfmul mm3,mm5
- movq mmword ptr [ecx],mm0
- movd dword ptr [ecx+8],mm3
- femms
- mov eax,dword ptr [ebp+8]
- pop ebp
- ret
- }
- }
- D3DXVECTOR3* Vec3TransformCoord(D3DXVECTOR3* pOut, const D3DXVECTOR3* pV, const D3DXMATRIX* pM)
- {
- if (CanUse3DNow == -1)
- CanUse3DNow = IsProcessorFeaturePresent(PF_3DNOW_INSTRUCTIONS_AVAILABLE);
- if (!CanUse3DNow)
- {
- pOut->x = (pV->x * pM->_11) + (pV->y * pM->_21) + (pV->z * pM->_31) + pM->_41;
- pOut->y = (pV->x * pM->_12) + (pV->y * pM->_22) + (pV->z * pM->_32) + pM->_42;
- pOut->z = (pV->x * pM->_13) + (pV->y * pM->_23) + (pV->z * pM->_33) + pM->_43;
- (*pOut) /= (pV->x * pM->_14) + (pV->y * pM->_24) + (pV->z * pM->_34) + pM->_44;
- return pOut;
- } else {
- return _3DNowVec3TransformCoord(pOut, pV, pM);
- }
- }
- D3DXVECTOR3* Vec3Project(D3DXVECTOR3* pOut, const D3DXVECTOR3* pV, const D3DVIEWPORT9* pViewport, const D3DXMATRIX* pProjection, const D3DXMATRIX* pView, const D3DXMATRIX* pWorld)
- {
- D3DXMATRIX m1, m2;
- D3DXVECTOR3 vec;
- MatrixMultiply(&m1, pWorld, pView);
- MatrixMultiply(&m2, &m1, pProjection);
- Vec3TransformCoord(&vec, pV, &m2);
- pOut->x = pViewport->X + (1.0f + vec.x) * pViewport->Width / 2.0f;
- pOut->y = pViewport->Y + (1.0f - vec.y) * pViewport->Height / 2.0f;
- pOut->z = pViewport->MinZ + vec.z * (pViewport->MaxZ - pViewport->MinZ);
- return pOut;
- }
- typedef PlayerInfo *(__thiscall *lpGetPlayerByIndex)(unsigned long ulThis, INT index, INT unk);
- lpGetPlayerByIndex GetPlayerByIndex;
- typedef PlayerInfo *(__thiscall *lpGetLocalPlayer)(unsigned long ulThis);
- lpGetLocalPlayer GetLocalPlayer;
- typedef cClientInfo *(__thiscall *lpGetPlayerByIndex2)(unsigned long ulThis, INT index, INT unk);
- lpGetPlayerByIndex2 GetPlayerByIndex2;
- typedef cClientInfo *(__thiscall *lpGetLocalPlayer2)(unsigned long ulThis);
- lpGetLocalPlayer2 GetLocalPlayer2;
- typedef pPlayerInfo *(__thiscall *lpGetPlayerByIndex3)(unsigned long ulThis, INT index, INT unk);
- lpGetPlayerByIndex3 GetPlayerByIndex3;
- typedef pPlayerInfo *(__thiscall *lpGetLocalPlayer3)(unsigned long ulThis);
- lpGetLocalPlayer3 GetLocalPlayer3;
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement