Advertisement
Guest User

Untitled

a guest
Apr 27th, 2017
102
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 13.61 KB | None | 0 0
  1. #pragma once
  2. #include <Windows.h>
  3. #include <d3d11.h>
  4.  
  5. #include "enttypes.h"
  6. #include "boneid.h"
  7.  
  8. //using namespace DirectX;
  9.  
  10. // Generated using ReClass 2016
  11.  
  12. class CGame;
  13. class CClientGameLogic;
  14. class CPlayerThing;
  15. class CNetwork;
  16. class CObject;
  17. class AClass;
  18. class StringContainer;
  19. class CRenderPtr;
  20. class CRenderer;
  21. class CCamera;
  22. class CPlayer;
  23. class r3dBones;
  24. class r3dSkeleton;
  25.  
  26. class CGame
  27. {
  28. public:
  29.     CClientGameLogic* m_pClientInfo; //0x0000
  30.     char pad_0x0004[0x8FC]; //0x0004
  31.  
  32. }; //Size=0x0900
  33.  
  34. class StringContainer
  35. {
  36. public:
  37.     char* Text; //0x0000
  38.     __int32 Count; //0x0004
  39.     __int32 Max; //0x0008
  40.  
  41. }; //Size=0x000C
  42.  
  43. class CPlayerThing
  44. {
  45. public:
  46.     __int32 m_iIndex; //0x0000
  47.     char pad_0x0004[0x8]; //0x0004
  48.     __int32 m_iUnknown; //0x000C
  49.     char pad_0x0010[0xC]; //0x0010
  50.     char m_strPlayerName[60]; //0x15A7888
  51.     char pad_0x0058[0x60C]; //0x0058
  52.     __int32 N0000060E; //0x0664
  53.     __int32 N0000060F; //0x0668
  54.     char pad_0x066C[0x28]; //0x066C
  55.  
  56. }; //Size=0x0694
  57.  
  58. class CClientGameLogic
  59. {
  60. public:
  61.     virtual void Function0(); //
  62.     virtual void OnPairConnect(DWORD id); //
  63.     virtual void OnPairDisconnect(DWORD id); //
  64.     virtual void Function3(); //
  65.     virtual void Function4(); //
  66.     virtual void Function5(); //
  67.  
  68.     CNetwork* m_Network; //0x0004
  69.     char pad_0x0008[0x4]; //0x0008
  70.     __int32 m_dumpStats_; //0x000C
  71.     __int32 m_iPing; //0x0010
  72.     char pad_0x0014[0x718]; //0x0014
  73.     __int32 m_iMaxPlayers; //0x072C
  74.     __int32 m_iPlayerCount; //0x0730
  75.     CPlayerThing PlayerInfo[512]; //0x0734
  76.     char pad_0xD2F34[0x71C]; //0xD2F34
  77.     __int32 m_iIsConnected; //0xD3650
  78.     char pad_0xD3654[0x8]; //0xD3654
  79.     __int32 m_iLocalIndex; //0xD365C
  80.     __int32 m_iIsInGame; //0xD3660
  81.     char pad_0xD3664[0x4]; //0xD3664
  82.     char m_strServerName[16]; //0x15A7888
  83.     unsigned char m_mapId; //0xD3678
  84.     unsigned char m_mapType; //0xD3679
  85.     unsigned char m_maxPlayers; //0xD367A
  86.     unsigned char m_minPlayers; //0xD367B
  87.     WORD startTickets; //0xD367C
  88.     WORD timeLimit; //0xD367E
  89.     WORD respawnDelay; //0xD3680
  90.     unsigned char N00000AA4; //0xD3682
  91.     unsigned char N00000AA2; //0xD3683
  92.     unsigned char N00000A85; //0xD3684
  93.     unsigned char N00000AA9; //0xD3685
  94.     unsigned char N00000AAC; //0xD3686
  95.     unsigned char N00000AAA; //0xD3687
  96.     unsigned char N00000877; //0xD3688
  97.     WORD N00000ABC; //0xD3689
  98.     unsigned char N00000AC2; //0xD368B
  99.     char pad_0xD368C[0x14]; //0xD368C
  100.     __int32 N0000087D; //0xD36A0
  101.     __int32 N0000087E; //0xD36A4
  102.     char pad_0xD36A8[0x2C8]; //0xD36A8
  103.  
  104. }; //Size=0xD3970
  105.  
  106. class CNetwork
  107. {
  108. public:
  109.     char pad_0x0000[0x8]; //0x0000
  110.     __int32 m_iPing; //0x0008
  111.     char pad_0x000C[0x8F8]; //0x000C
  112. }; //Size=0x0904
  113.  
  114. class CUberAnim
  115. {
  116. public:
  117.     char pad_0x0000[0x4]; //0x0000
  118.     CPlayer* m_Player; //0x0004
  119.     char pad_0x0008[0xC]; //0x0008
  120.     __int32 m_bInit; //0x0014
  121.     unsigned char m_bCoppied; //0x0018
  122.     char pad_0x0019[0x3]; //0x0019
  123.     r3dSkeleton* m_Skeleton; //0x001C
  124.     Matrix m_RotMat; //0x0020
  125.     Vector3 m_offsetPos; //0x0060
  126.     char pad_0x006C[0x398]; //0x006C
  127. }; //Size=0x0404
  128.  
  129. class r3dMesh
  130. {
  131. public:
  132.     char pad_0x0000[0xB8]; //0x0000
  133.     Vector3 LocalBBoxOrigin; //0x00B8
  134.     Vector3 LocalBBoxSize; //0x00C4
  135.     char pad_0x00D0[0x370]; //0x00D0
  136.  
  137. }; //Size=0x0440
  138.  
  139. class r3dSkeleton
  140. {
  141. public:
  142.     char* m_FileName; //0x0000
  143.     void(*m_AdjustBoneCallback)(DWORD dwData, int boneId, Matrix &mp, Matrix &anim); //0x0004
  144.     DWORD m_CallbackData; //0x0008
  145.     unsigned char m_bLoaded; //0x000C
  146.     unsigned char m_bCloned; //0x000D
  147.     char pad_0x000E[0x2]; //0x000E
  148.     DWORD m_SkeletonID; //0x0010
  149.     __int32 m_NumBones; //0x0014
  150.     r3dBones* m_Bones; //0x0018
  151.     char* m_BoneNames; //0x001C
  152.  
  153. }; //Size=0x0020
  154.  
  155. class r3dBones
  156. {
  157. public:
  158.     char* m_Name; //0x0000
  159.     __int32 m_BoneID; //0x0004
  160.     __int32 m_ParentID; //0x0008
  161.     float m_Length; //0x000C
  162.     float m_CollisionRadius; //0x0010
  163.     Matrix m_AbsPlacement; //0x0014
  164.     Vector4 m_RelPlacementQuat; //0x0054
  165.     Vector3 m_RelPlacementVec; //0x0064
  166.     Vector4 m_CurQuat; //0x0070
  167.     Vector3 m_CurPos; //0x0080
  168.     Matrix m_BonePlacement; //0x008C
  169.     Matrix m_CurrentTransMat; //0x00CC
  170. }; //Size=0x010C
  171.  
  172. enum EGameObjectFlags
  173. {
  174.     // object need be skipped in world object list when user traverse objects,
  175.     // usually used for all special objects like terrain, etc..
  176.     OBJFLAG_SkipCastRay = (1<<4),
  177.     // object need be skipped when ObjectManager::Draw() loop occur.
  178.     // usually used for objects with special drawing order.
  179.     OBJFLAG_SkipDraw    = (1<<5),      
  180.  
  181.     // do not check occlusion for this object (usually huge objects, or objects that do not have proper aabb for whatever reason)
  182.     //OBJFLAG_SkipOcclusionCheck = (1<<6),
  183.  
  184.     OBJFLAG_ForceSceneBoxBBox = (1<<7),
  185.  
  186.     OBJFLAG_DisableShadows = (1<<8),
  187.  
  188.     // for editor and debug, will always draw an object, no matter what
  189.     OBJFLAG_AlwaysDraw  = (1<<9),      
  190.  
  191.     OBJFLAG_PlayerCollisionOnly = (1<<10), // object is collision only for player only
  192.  
  193.     OBJFLAG_AsyncLoading = (1<<11),
  194.  
  195.     // internal flags
  196.     OBJFLAG_JustCreated = (1<<20),      // object is just created
  197.  
  198.     OBJFLAG_Removed = (1<<23),          // in undo buffer
  199.  
  200.     //  Is object should be culled using map detailed objects cull radius
  201.     OBJFLAG_Detailed = (1<<24),
  202.  
  203.     OBJFLAG_ForceSleep = (1<<25),
  204. };
  205.  
  206. class CObject
  207. {
  208. public:
  209.     virtual void Function0(); //
  210.     virtual void Function1(); //
  211.     virtual void Function2(); //
  212.     virtual void Function3(); //
  213.     virtual void Function4(); //
  214.     virtual void Function5(); //
  215.     virtual void Function6(); //
  216.     virtual void Function7(); //
  217.     virtual void Function8(); //
  218.     virtual void Function9(); //
  219.     virtual void SetScale(XMFLOAT3 &scale); //
  220.     virtual void SetObjFlag(int objFlags); //
  221.     virtual void ClearObjFlag(int objFlags); //
  222.     virtual void Function13(); //
  223.     virtual void Function14(); //
  224.     virtual r3dMesh* GetObjectMesh(); //
  225.     virtual void Function16(); //
  226.     virtual void SetPosition(const XMFLOAT3& pos); //
  227.     virtual void SetRotationVector(const XMFLOAT3& Angles); //
  228.     virtual void Function19(); //
  229.     virtual void Function20(); //
  230.     virtual void Function21(); //
  231.     virtual void Function22(); //
  232.     virtual void Function23(); //
  233.     virtual void Function24(); //
  234.     virtual void Function25(); //
  235.  
  236.     void UpdateTransformCustom()
  237.     {
  238.         // calc mTransform
  239.         Matrix mS, mR, mT;
  240.         mT = XMMatrixTranslation(m_vecPosition.x, m_vecPosition.y, m_vecPosition.z);
  241.         mR = XMMatrixRotationRollPitchYaw(m_vecRot2.x, m_vecRot2.y, m_vecRot2.z);
  242.         mS = XMMatrixScaling(m_vecScale.x, m_vecScale.y, m_vecScale.z);
  243.  
  244.         m_transform = (mS * mR * mT);
  245.     }
  246.  
  247.     void SetPositionCustom(Vector3 newPos)
  248.     {
  249.         m_vecPosition = newPos;
  250.         UpdateTransformCustom();
  251.     }
  252.  
  253.     AClass* m_Class; //0x0004
  254.     __int32 hashID; //0x0008
  255.     Vector3 m_vecPosition; //0x000C
  256.     Vector3 m_vecScale; //0x0018
  257.     Vector3 m_vecRot; //0x0024
  258.     Vector3 m_vecRot2; //0x0030
  259.     char pad_0x003C[0x4]; //0x003C
  260.     __int32 m_NetworkID; //0x0040
  261.     char pad_0x0044[ 0x4 ]; //0x0044
  262.     CObject* m_PrevObject; // 0x0048
  263.     CObject* m_NextObject; //0x004C
  264.     char pad_0x0050[0xE4]; //0x0050
  265.     Matrix m_transform; //0x0134
  266.     char pad_0x0174[0x24]; //0x0174
  267.     __int32 m_ObjTypeFlags; //0x0198
  268.     char pad_0x019C[0x30]; //0x019C
  269.     XMFLOAT3 m_Velocity; //0x01CC
  270.     char pad_0x01D8[0x48]; //0x01D8
  271.  
  272.     CObject* GetNextObject()
  273.     {
  274.         for ( CObject* curr_obj = m_NextObject; curr_obj; curr_obj = curr_obj->m_NextObject )
  275.         {
  276.             if ( !( ObjectFlags( ) & OBJFLAG_Removed ) )
  277.                 return curr_obj;
  278.         }
  279.         return nullptr;
  280.     }
  281.  
  282.     EGameObjectFlags ObjectFlags( ) { return *(EGameObjectFlags*) ( ( DWORD )this + 0x16C); }
  283. }; //Size=0x0220
  284.  
  285. class AClass
  286. {
  287. public:
  288.     __int32 m_ID; //0x0000
  289.     StringContainer m_Name; //0x0004
  290.     StringContainer m_Type; //0x0010
  291.     AClass* m_BaseType; //0x001C
  292.  
  293. }; //Size=0x0020
  294.  
  295. class RenderMatrices
  296. {
  297. public:
  298.     Matrix ViewMatrix; //0x0400
  299.     Matrix InverseViewMatrix; //0x0440
  300.     Matrix Projection; //0x0480
  301.     Matrix UnkMat1; //0x04C0
  302.     Matrix UnkMat2; //0x0500
  303.     Matrix UnkMat3; //0x0540
  304.     Matrix UnkMat4; //0x0580
  305. }; //Size=0x1040
  306.  
  307. class CRenderPtr
  308. {
  309. public:
  310.     CRenderer* m_Renderer; //0x0000
  311.     char pad_0x0004[0x83C]; //0x0004
  312.  
  313. }; //Size=0x0840
  314.  
  315. struct RenderD3D11Container
  316. {
  317.     ID3D11Device* m_pd3dDev; //0x66B08
  318.     ID3D11DeviceContext* m_pd3dContext; //0x66B0C
  319.     IDXGIFactory* m_pDXGIFactory; //0x66B10
  320.     char pad_0x66B14[0x8]; //0x66B14
  321.     IDXGISwapChain* m_SwapChain; //0x66B1C
  322.     wchar_t m_GfxCardName[32]; //0x66B20
  323. };
  324.  
  325. class CRenderer
  326. {
  327. public:
  328.     virtual void Function0(); //
  329.     virtual void Function1(); //
  330.     virtual void Function2(); //
  331.  
  332. private:
  333.     char pad_0x0004[0x4]; //0x0004
  334. public:
  335.     __int32 bInited; //0x0008
  336.     __int32 m_iVersion; //0x000C
  337.     HWND m_HWND; //0x0010
  338.     IDirectInput8A * m_pInput; //0x0014
  339. private:
  340.     char pad_0x0018[0x168]; //0x0018
  341. public:
  342.     CCamera* m_pCamera; //0x0180
  343. private:
  344.     char pad_0x0184[0x140]; //0x0184
  345. public:
  346.     __int32 nCurrBPP; //0x02C4
  347.     float m_ScreenWidth; //0x02C8
  348.     float m_ScreenHeight; //0x02CC
  349.     float m_unkWidth2; //0x02D0
  350.     float m_unkHeight2; //0x02D4
  351.     float m_ViewX; //0x02D8
  352.     float m_ViewY; //0x02DC
  353.     float m_ViewW; //0x02E0
  354.     float m_ViewH; //0x02E4
  355.     float m_ViewZNear; //0x02E8
  356.     float m_ViewZFar; //0x02EC
  357. private:
  358.     char pad_0x02F0[0x2E0]; //0x02F0
  359. public:
  360.  
  361.     inline RenderD3D11Container* GetD3D11()
  362.     {
  363.         return (RenderD3D11Container*)((DWORD)this + 0x66B88);
  364.     }
  365.  
  366.     inline ID3D11Device* GetDevice( )
  367.     {
  368.         return GetD3D11( )->m_pd3dDev;
  369.     }
  370.  
  371.     inline ID3D11DeviceContext* GetDeviceContext( )
  372.     {
  373.         return GetD3D11( )->m_pd3dContext;
  374.     }
  375.  
  376.     inline IDXGISwapChain* GetSwapChain( )
  377.     {
  378.         return GetD3D11( )->m_SwapChain;
  379.     }
  380.  
  381.     inline IDXGIFactory* GetDXGIFactory( )
  382.     {
  383.         return GetD3D11( )->m_pDXGIFactory;
  384.     }
  385.  
  386.     inline RenderMatrices* GetMatrices()
  387.     {
  388.         return reinterpret_cast<RenderMatrices*>((DWORD)(this) + 0x66488);
  389.     }
  390.  
  391. }; //Size=0x0804
  392.  
  393. class CCamera
  394. {
  395. public:
  396.     Vector3 m_Position; //0x0000
  397.     float m_viewNear; //0x000C
  398.     float m_viewFar; //0x0010
  399.     Vector3 m_vecForward; //0x0014
  400.     Vector3 m_vecUp; //0x0020
  401.     float m_fov; //0x002C
  402.     char pad_0x0030[0x68]; //0x0030
  403.  
  404. }; //Size=0x0098
  405.  
  406. class CBoneInfo
  407. {
  408. public:
  409.     char* m_BoneName; //0x0000
  410.     __int32 m_BoneID; //0x0004
  411.     __int32 m_iSomething; //0x0008
  412.     float m_fSomething; //0x000C
  413.     char pad_0x0010[0x4]; //0x0010
  414.  
  415. }; //Size=0x0014
  416.  
  417. class CIdkModelInfo
  418. {
  419. public:
  420.     char pad_0x0000[0x58]; //0x0000
  421.     char str_ModelName[76]; //0x1407888
  422.     char pad_0x00A4[0x40]; //0x00A4
  423.  
  424. }; //Size=0x00E4
  425.  
  426. class CNetCellMover
  427. {
  428. public:
  429.     CObject* owner; //0x0000
  430.     float updateDelta; //0x0004
  431.     float nextUpdate; //0x0008
  432.     float cellsize; //0x000C
  433.     Vector3 cell; //0x0010
  434.     Vector3 pos; //0x001C
  435. private:
  436.     char pad_0x0028[0x8]; //0x0028
  437. public:
  438.     Vector3 lastPos; //0x0030
  439. private:
  440.     char pad_0x003C[0x10]; //0x003C
  441.  
  442. }; //Size=0x004C
  443.  
  444. class BoneIDOnwards
  445. {
  446. public:
  447.     DWORD Bip01; //0x0000
  448.     DWORD Bip01_Spine; //0x0004
  449.     DWORD Bip01_Spine1; //0x0008
  450.     DWORD Bip01_Spine2; //0x000C
  451.     DWORD Bip01_Spine3; //0x0010
  452.     DWORD Bip01_Neck; //0x0014
  453.     DWORD Bip01_L_UpperArm; //0x0018
  454.     DWORD Bip01_R_UpperArm; //0x001C
  455.     DWORD Bip01_Head; //0x0020
  456.     DWORD CameraPosBoneID; //0x0024
  457.     float CameraPosBoneFloat; //0x0028
  458.     DWORD PrimaryWeaponBone; //0x002C
  459.     DWORD Bip01_R_Hand; //0x0030
  460.     DWORD Bip01_L_Hand; //0x0034
  461. private:
  462.     char pad_0x0038[0x4]; //0x0038
  463. public:
  464.     Vector3 localplayervecloty; //0x003C
  465. private:
  466.     char pad_0x0048[0x1694]; //0x0048
  467. public:
  468.     Vector3 m_vecPositionOfDeath; //0x16DC
  469. private:
  470.     char pad_0x16E8[0x4]; //0x16E8
  471. public:
  472.     unsigned char bCrouch; //0x16EC
  473.     unsigned char bProne; //0x16ED
  474. private:
  475.     char pad_0x16EE[0x6]; //0x16EE
  476. public:
  477.     unsigned char bOnGround; //0x16F4
  478. private:
  479.     char pad_0x16F5[0xF4B]; //0x16F5
  480. public:
  481.     Vector3 RealAcceleration; //0x2640
  482.     Vector3 InputAcceleration; //0x264C
  483. private:
  484.     char pad_0x2658[0x4]; //0x2658
  485. public:
  486.     Vector3 m_vecVision; //0x265C
  487.     Matrix DrawRotMatrix; //0x2668
  488.     Matrix DrawFullMatrix; //0x26A8
  489.     Matrix DrawFullMatrix_Localized; //0x26E8
  490.     Matrix MoveMatrix; //0x2728
  491.     float m_fPlayerRotation; //0x2768
  492.     float m_fPlayerRotationTarget; //0x276C
  493.     CNetCellMover netcellmover; //0x2770
  494.     float lasttimeweaponSwitch; //0x27BC
  495.     Vector3 viewTargetPos; //0x27C0
  496.     Vector3 viewTargetNorm; //0x27CC
  497.     float m_ReticleTargetScale; //0x27D8
  498.     float m_ReticleCurrentScale; //0x27DC
  499.  
  500. }; //Size=0x27E0
  501.  
  502. class CPlayer : public CObject
  503. {
  504. public:
  505.     char pad_0x0220[0xBC]; //0x0220
  506.     CIdkModelInfo* m_playerModel; //0x02DC
  507.     char pad_0x02E0[0x14]; //0x02E0
  508.     CBoneInfo m_BoneArray[24]; //0x02F4
  509.     char pad_0x04D4[0xA78]; //0x04D4
  510.  
  511.     // something wrong with dis
  512.     BoneIDOnwards* GetBoneIDCache()
  513.     {
  514.         DWORD meme = (DWORD)this;
  515.         meme += 0x15C80;
  516.         return reinterpret_cast<BoneIDOnwards*>(meme);
  517.     }
  518.  
  519.     CUberAnim* GetUberAnim()
  520.     {
  521.         return (CUberAnim*)*(DWORD*)(((DWORD)this) + 0x1168c);
  522.     }
  523.  
  524.     inline void Get3DBonePos(int nBoneID, Vector3 *vBonePos)
  525.     {
  526.         if (nBoneID > 0 && nBoneID < GetUberAnim()->m_Skeleton->m_NumBones)
  527.         {
  528.             Matrix mLocal = GetUberAnim()->m_Skeleton->m_Bones[nBoneID].m_BonePlacement;
  529.             mLocal = XMMatrixMultiply(mLocal, m_transform);
  530.             *vBonePos = Vector3(mLocal._41, mLocal._42, mLocal._43);
  531.         }
  532.     }
  533.  
  534. }; //Size=0x0F4C
  535.  
  536. class CDroppedItem : public CObject
  537. {
  538. public:
  539.     char pad_0x0220[0x28]; //0x0220
  540.     char* m_strObjectFileName; //0x0248
  541.     char pad_0x024C[0x124]; //0x024C
  542.     char* m_ItemNameHTML; //0x0370
  543.     char pad_0x0374[0x17A8]; //0x0374
  544.  
  545. }; //Size=0x1B1C
  546.  
  547. class CGameWorld
  548. {
  549. public:
  550. private:
  551.     char pad_0x0000[0x30]; //0x0000
  552. public:
  553.     CObject* m_pFirstEntity; //0x0030
  554. private:
  555.     char pad_0x0034[0x180C]; //0x0034
  556. public:
  557.  
  558.     CObject* GetFirstObject()
  559.     {
  560.         CObject* i;
  561.  
  562.         for (i = m_pFirstEntity; i; i = i->m_NextObject)
  563.         {
  564.             if (!(i->ObjectFlags() & OBJFLAG_Removed))
  565.                 return i;
  566.         }
  567.  
  568.         return nullptr;
  569.     }
  570.  
  571. }; //Size=0x1840
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement