Advertisement
pavedaf

MAT [TH] Class

Aug 29th, 2018
132
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 8.93 KB | None | 0 0
  1. template < typename T > T CallVirtual( PVOID Base, DWORD Index )
  2. {
  3.     PDWORD* ptr = ( PDWORD* )( Base );
  4.     PDWORD vtable = *ptr;
  5.     DWORD fpFunc = vtable[Index];
  6.     return ( T )( fpFunc );
  7. }
  8.  
  9.  
  10. enum ETraceFlags
  11. {
  12.     // Bitflags.
  13.     TRACE_Pawns = 0x00001, // Check collision with pawns.
  14.     TRACE_Movers = 0x00002, // Check collision with movers.
  15.     TRACE_Level = 0x00004, // Check collision with BSP level geometry.
  16.     TRACE_Volumes = 0x00008, // Check collision with soft volume boundaries.
  17.     TRACE_Others = 0x00010, // Check collision with all other kinds of actors.
  18.     TRACE_OnlyProjActor = 0x00020, // Check collision with other actors only if they are projectile targets
  19.     TRACE_Blocking = 0x00040, // Check collision with other actors only if they block the check actor
  20.     TRACE_LevelGeometry = 0x00080, // Check collision with other actors which are static level geometry
  21.     TRACE_ShadowCast = 0x00100, // Check collision with shadow casting actors
  22.     TRACE_StopAtFirstHit = 0x00200, // Stop when find any collision (for visibility checks)
  23.     TRACE_SingleResult = 0x00400, // Stop when find guaranteed first nearest collision (for SingleLineCheck)
  24.     TRACE_Debug = 0x00800, // used for debugging specific traces
  25.     TRACE_Material = 0x01000, // Request that Hit.Material return the material the trace hit.
  26.     TRACE_Projectors = 0x02000, // Check collision with projectors
  27.     TRACE_AcceptProjectors = 0x04000, // Check collision with Actors with bAcceptsProjectors == true
  28.     TRACE_Visible = 0x08000,
  29.     TRACE_Terrain = 0x10000, // Check collision with terrain
  30.     TRACE_Water = 0x20000, // Check collision with water volumes (must have TRACE_Volumes also set)
  31.  
  32.                            // Combinations.
  33.                            TRACE_Actors = TRACE_Pawns | TRACE_Movers | TRACE_Others | TRACE_LevelGeometry | TRACE_Terrain,
  34.                            TRACE_AllColliding = TRACE_Level | TRACE_Actors | TRACE_Volumes,
  35.                            TRACE_ProjTargets = TRACE_OnlyProjActor | TRACE_AllColliding,
  36.                            TRACE_AllBlocking = TRACE_Blocking | TRACE_AllColliding,
  37.                            TRACE_World = TRACE_Level | TRACE_Movers | TRACE_LevelGeometry | TRACE_Terrain,
  38.                            TRACE_Hash = TRACE_Pawns | TRACE_Movers | TRACE_Volumes | TRACE_Others | TRACE_LevelGeometry | TRACE_Terrain,
  39. };
  40.  
  41.  
  42.  
  43. class MainClass;
  44. class UViewport;
  45. class UWindowViewport;
  46. class CPlayerController;
  47. class URenderDevice;
  48. class CRenderer;
  49. class UWindowGame;
  50. class UKeyboard;
  51. class UAPawn;
  52. class UWeapon;
  53. class ULevel;
  54. class UPlayerReplicationInfo;
  55. class PlayerName;
  56. class UTeam;
  57. class UWeaponCurrent;
  58. class Read;
  59. class UCanvas;
  60. class ModelFactory;
  61. class ModelTransform;
  62. class MeshInstance;
  63. class BoneCoords;
  64.  
  65.  
  66. class MainClass
  67. {
  68. public:
  69.     UViewport * GetViewport; //0x0000
  70.     char _0x0004[60];
  71.  
  72. };//Size=0x0040
  73.  
  74. class UViewport
  75. {
  76. public:
  77.     char _0x0000[60];
  78.     UWindowViewport* GetWindowViewport; //0x003C
  79.     char _0x0040[64];
  80.  
  81. };//Size=0x0080
  82.  
  83. class UWindowViewport
  84. {
  85. public:
  86.     char _0x0000[52];
  87.     CPlayerController* Actor; //0x0034
  88.     CPlayerController* ActorOld; //0x0038
  89.     char _0x003C[4];
  90.     DWORD ShowMouse; //0x0040
  91.     char _0x0044[44];
  92.     UWindowGame* WindowGame; //0x0070
  93.     UCanvas* Canvas; //0x0074
  94.     UKeyboard* Input; //0x0078
  95.     URenderDevice* GetRenderDevice; //0x007C
  96.     char _0x0080[1088];
  97.  
  98. };//Size=0x04C0
  99.  
  100.  
  101.  
  102. class UPRIArray
  103. {
  104. public:
  105.     char pad_0x0000[0x64]; //0x0000
  106.     UAPawn* Pawn; //0x0064
  107. }; //Size=0x0444
  108.  
  109. class CGameReplicationInfo
  110. {
  111. public:
  112.     char pad_0x0000[0xF0]; //0x0000
  113.     UPRIArray* PRIArray; //0x00F0
  114. }; //Size=0x0128
  115.  
  116. class CPlayerController
  117. {
  118. public:
  119.  
  120.     int SetLeaveRoom( int Code );
  121.  
  122.     CGameReplicationInfo* GameReplicationInfo()
  123.     {
  124.         return ( CGameReplicationInfo* )( ( DWORD )this + 0xA4 );
  125.     }
  126.  
  127. public:
  128.  
  129.     char _0x0000[716];
  130.     WORD SetPitch; //0x02CC
  131.     char _0x02CE[2];
  132.     WORD SetYaw; //0x02D0
  133.     char _0x02D2[58];
  134.     WORD AngleNull; //0x030C
  135.     char _0x030E[246];
  136.     UAPawn* GetPawn; //0x0404
  137.     char _0x0408[12];
  138.     float FovAngle; //0x0414
  139.     char _0x0418[72];
  140.     BYTE ShiftPress; //0x0460
  141.     BYTE CtrlPress; //0x0461
  142.     BYTE LeftPress; //0x0462
  143.     BYTE RightPress; //0x0463
  144.     char _0x0464[558];
  145.     BYTE BehindView; //0x0692
  146.     char _0x0693[221];
  147.     float DesiredFOV; //0x0770
  148.     float DefaultFOV; //0x0774
  149.     char _0x0778[1056];
  150.     Vector CameraLocation; //0x0B98
  151.     Vector CalcViewLocation; //0x0BA4
  152.     __int32 CalcViewAnglePitch; //0x0BB0
  153.     __int32 CalcViewAngleYaw; //0x0BB4
  154.     __int32 CalcViewAngleRoll; //0x0BB8
  155.     char _0x0BBC[1080];
  156.     float CountToKick; //0x0FF4
  157.     char _0x0FF8[2404];
  158.     DWORD ChangeRadar; //0x195C
  159.     char _0x1960[48];
  160.     DWORD GodMode; //0x1990
  161.     char _0x1994[784];
  162.  
  163. };//Size=0x1CA4
  164.  
  165. class URenderDevice
  166. {
  167. public:
  168.     char _0x0000[18072];
  169.     char DISPLAY1[12]; //0x4698
  170.     char _0x46A4[172];
  171.     CRenderer* pDevice; //0x4750
  172.     char _0x4754[84];
  173.     DWORD Width; //0x47A8
  174.     DWORD Height; //0x47AC
  175.     char _0x47B0[5744];
  176.     D3DMATRIX mWorld; //0x5E20
  177.     D3DMATRIX mView; //0x5E60
  178.     D3DMATRIX mProj; //0x5EA0
  179.     char _0x5EE0[1236];
  180.     D3DMATRIX mWorldOld; //0x63B4
  181.     D3DMATRIX mViewOld; //0x63F4
  182.     D3DMATRIX mProjOld; //0x6434
  183.     char _0x6474[3020];
  184.  
  185. };//Size=0x7040
  186.  
  187. class CRenderer
  188. {
  189. public:
  190.     char _0x0000[728];
  191.     DWORD WindowWidth; //0x02D8
  192.     DWORD WindowHeight; //0x02DC
  193.     char _0x02E0[348];
  194.  
  195. };//Size=0x043C
  196.  
  197. class UWindowGame
  198. {
  199. public:
  200.     char _0x0000[44];
  201.     DWORD WindowPopup; //0x002C
  202.     UWindowViewport* GetWindowViewport; //0x0030
  203.     char _0x0034[332];
  204.  
  205. };//Size=0x0180
  206.  
  207. class UKeyboard
  208. {
  209. public:
  210.     char _0x0000[4160];
  211.  
  212. };//Size=0x1040
  213.  
  214. class UAPawn
  215. {
  216. public:
  217.  
  218.     void SetWalker( float val )
  219.     {
  220.         typedef void( __thiscall* OriginalFunc )( void*, float );
  221.         return CallVirtual<OriginalFunc>( this, 75 )( this, val );
  222.     }
  223.  
  224.     float* Transform( float* Transform )
  225.     {
  226.         typedef float*( __thiscall* OriginalFunc )( void*, float* );
  227.         return CallVirtual<OriginalFunc>( this, 48 )( this, Transform );
  228.     }
  229.  
  230.     UAPawn* pNext()
  231.     {
  232.         return ( UAPawn* )( ( DWORD ) + 0x8 );
  233.     }
  234.  
  235. public:
  236.  
  237.     char _0x0000[116];
  238.     DWORD N0E80C43A; //0x0074
  239.     char _0x0078[8];
  240.     BYTE bFlags; //0x0080
  241.     BYTE N19930D91; //0x0081
  242.     BYTE N199315C2; //0x0082
  243.     BYTE N19930D92; //0x0083
  244.     char _0x0084[32];
  245.     ULevel* Level; //0x00A4
  246.     char _0x00A8[52];
  247.     ModelFactory* pModelFactory; //0x00DC
  248.     char _0x00E0[4];
  249.     MeshInstance* MeshInstance; //0x00E4
  250.     char _0x00E8[36];
  251.     Vector MinBox; //0x010C
  252.     Vector MaxBox; //0x0118
  253.     char _0x0124[4];
  254.     Vector GetLocalEyePos; //0x0128
  255.     char _0x0134[32];
  256.     Vector VolecityPitch; //0x0154
  257.     Vector VolecityYaw; //0x0160
  258.     char _0x016C[104];
  259.     Vector N0E80C492; //0x01D4
  260.     char _0x01E0[112];
  261.     float PlayerScale; //0x0250
  262.     char _0x0254[108];
  263.     float BodySit; //0x02C0
  264.     float BodyStand; //0x02C4
  265.     DWORD WalkThrough; //0x02C8
  266.     char _0x02CC[12];
  267.     Vector SetLocalEyePos; //0x02D8
  268.     char _0x02E4[52];
  269.     Vector GetCameraPos; //0x0318
  270.     char _0x0324[244];
  271.     float FastWalk; //0x0418
  272.     char _0x041C[4];
  273.     float UnderWalk; //0x0420
  274.     char _0x0424[188];
  275.     UWeapon* Weapon; //0x04E0
  276.     char _0x04E4[60];
  277.     float GetMaxHealth; //0x0520
  278.     char _0x0524[4];
  279.     __int32 GetHealth; //0x0528
  280.     char _0x052C[152];
  281.     UPlayerReplicationInfo* PlayerReplicationInfo; //0x05C4
  282.     char _0x05C8[88];
  283.     BYTE N0E82C2E3; //0x0620
  284.     char _0x0621[1631];
  285.     DWORD N1870F843; //0x0C80
  286.     DWORD CanWalk; //0x0C84
  287.     char _0x0C88[112];
  288.     DWORD N1870F861; //0x0CF8
  289.     DWORD N1870F862; //0x0CFC
  290.     char _0x0D00[832];
  291.  
  292. };//Size=0x1040
  293.  
  294. class ModelFactory
  295. {
  296. public:
  297.     char _0x0000[76];
  298.     UAPawn* Pawn; //0x004C
  299.     char _0x0050[4];
  300.     ModelTransform* pModelTransform; //0x0054
  301.     char _0x0058[640];
  302.     Vector N01F08016; //0x02D8
  303.     char _0x02E4[348];
  304.  
  305. };//Size=0x0440
  306.  
  307. class ModelTransform
  308. {
  309. public:
  310.     ModelFactory * pMesh; //0x0000
  311.     char _0x0004[4];
  312.     float OldTransform[16]; //0x0008
  313.     float Transform[16]; //0x0048
  314.     char _0x0088[156];
  315.  
  316. };//Size=0x0124
  317.  
  318. class MeshInstance
  319. {
  320. public:
  321.     char _0x0000[188];
  322.     BoneCoords* Bone; //0x00BC
  323.     char _0x00C0[20];
  324.     Vector Transform; //0x00D4
  325.     char _0x00E0[864];
  326.  
  327. };//Size=0x0440
  328.  
  329. class BoneCoords
  330. {
  331. public:
  332.     Vector Bone[68]; //0x0000
  333.     char _0x000C[3172];
  334.  
  335. };//Size=0x0C70
  336.  
  337. class UWeapon
  338. {
  339. public:
  340.     char _0x0000[1116];
  341.     UWeaponCurrent* WeaponCurrent; //0x045C
  342.     char _0x0460[224];
  343.  
  344. };//Size=0x0540
  345.  
  346. class ULevel
  347. {
  348. public:
  349.  
  350. };//Size=0x0040
  351.  
  352. class UPlayerReplicationInfo
  353. {
  354. public:
  355.     char _0x0000[1132];
  356.     PlayerName* GetName; //0x046C
  357.     char _0x0470[56];
  358.     __int32 PlayerID; //0x04A8
  359.     UTeam* Team; //0x04AC
  360.     __int32 TeamID; //0x04B0
  361.     char _0x04B4[220];
  362.     DWORD KillNum; //0x0590
  363.     DWORD DeadNum; //0x0594
  364.     char _0x0598[40];
  365.  
  366. };//Size=0x05C0
  367.  
  368. class PlayerName
  369. {
  370. public:
  371.     wchar_t Name[32]; //0x0000
  372.  
  373. };//Size=0x0020
  374.  
  375. class UTeam
  376. {
  377. public:
  378.     char _0x0000[1124];
  379.     __int32 TeamIndex; //0x0464
  380.     DWORD TeamColor; //0x0468
  381.     DWORD AltTeamColor; //0x046C
  382.     char _0x0470[208];
  383.  
  384. };//Size=0x0540
  385.  
  386. class UWeaponCurrent
  387. {
  388. public:
  389.     char _0x0000[508];
  390.     __int32 Crosshair; //0x01FC
  391.  
  392. };//Size=0x0200
  393.  
  394. class Read
  395. {
  396. public:
  397.     MainClass * N0FBD9ABE; //0x0000
  398.     char _0x0004[56];
  399.  
  400. };//Size=0x003C
  401.  
  402. class UCanvas
  403. {
  404. public:
  405.     char _0x0000[192];
  406.  
  407. };//Size=0x00C0
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement