Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- template < typename T > T CallVirtual( PVOID Base, DWORD Index )
- {
- PDWORD* ptr = ( PDWORD* )( Base );
- PDWORD vtable = *ptr;
- DWORD fpFunc = vtable[Index];
- return ( T )( fpFunc );
- }
- enum ETraceFlags
- {
- // Bitflags.
- TRACE_Pawns = 0x00001, // Check collision with pawns.
- TRACE_Movers = 0x00002, // Check collision with movers.
- TRACE_Level = 0x00004, // Check collision with BSP level geometry.
- TRACE_Volumes = 0x00008, // Check collision with soft volume boundaries.
- TRACE_Others = 0x00010, // Check collision with all other kinds of actors.
- TRACE_OnlyProjActor = 0x00020, // Check collision with other actors only if they are projectile targets
- TRACE_Blocking = 0x00040, // Check collision with other actors only if they block the check actor
- TRACE_LevelGeometry = 0x00080, // Check collision with other actors which are static level geometry
- TRACE_ShadowCast = 0x00100, // Check collision with shadow casting actors
- TRACE_StopAtFirstHit = 0x00200, // Stop when find any collision (for visibility checks)
- TRACE_SingleResult = 0x00400, // Stop when find guaranteed first nearest collision (for SingleLineCheck)
- TRACE_Debug = 0x00800, // used for debugging specific traces
- TRACE_Material = 0x01000, // Request that Hit.Material return the material the trace hit.
- TRACE_Projectors = 0x02000, // Check collision with projectors
- TRACE_AcceptProjectors = 0x04000, // Check collision with Actors with bAcceptsProjectors == true
- TRACE_Visible = 0x08000,
- TRACE_Terrain = 0x10000, // Check collision with terrain
- TRACE_Water = 0x20000, // Check collision with water volumes (must have TRACE_Volumes also set)
- // Combinations.
- TRACE_Actors = TRACE_Pawns | TRACE_Movers | TRACE_Others | TRACE_LevelGeometry | TRACE_Terrain,
- TRACE_AllColliding = TRACE_Level | TRACE_Actors | TRACE_Volumes,
- TRACE_ProjTargets = TRACE_OnlyProjActor | TRACE_AllColliding,
- TRACE_AllBlocking = TRACE_Blocking | TRACE_AllColliding,
- TRACE_World = TRACE_Level | TRACE_Movers | TRACE_LevelGeometry | TRACE_Terrain,
- TRACE_Hash = TRACE_Pawns | TRACE_Movers | TRACE_Volumes | TRACE_Others | TRACE_LevelGeometry | TRACE_Terrain,
- };
- class MainClass;
- class UViewport;
- class UWindowViewport;
- class CPlayerController;
- class URenderDevice;
- class CRenderer;
- class UWindowGame;
- class UKeyboard;
- class UAPawn;
- class UWeapon;
- class ULevel;
- class UPlayerReplicationInfo;
- class PlayerName;
- class UTeam;
- class UWeaponCurrent;
- class Read;
- class UCanvas;
- class ModelFactory;
- class ModelTransform;
- class MeshInstance;
- class BoneCoords;
- class MainClass
- {
- public:
- UViewport * GetViewport; //0x0000
- char _0x0004[60];
- };//Size=0x0040
- class UViewport
- {
- public:
- char _0x0000[60];
- UWindowViewport* GetWindowViewport; //0x003C
- char _0x0040[64];
- };//Size=0x0080
- class UWindowViewport
- {
- public:
- char _0x0000[52];
- CPlayerController* Actor; //0x0034
- CPlayerController* ActorOld; //0x0038
- char _0x003C[4];
- DWORD ShowMouse; //0x0040
- char _0x0044[44];
- UWindowGame* WindowGame; //0x0070
- UCanvas* Canvas; //0x0074
- UKeyboard* Input; //0x0078
- URenderDevice* GetRenderDevice; //0x007C
- char _0x0080[1088];
- };//Size=0x04C0
- class UPRIArray
- {
- public:
- char pad_0x0000[0x64]; //0x0000
- UAPawn* Pawn; //0x0064
- }; //Size=0x0444
- class CGameReplicationInfo
- {
- public:
- char pad_0x0000[0xF0]; //0x0000
- UPRIArray* PRIArray; //0x00F0
- }; //Size=0x0128
- class CPlayerController
- {
- public:
- int SetLeaveRoom( int Code );
- CGameReplicationInfo* GameReplicationInfo()
- {
- return ( CGameReplicationInfo* )( ( DWORD )this + 0xA4 );
- }
- public:
- char _0x0000[716];
- WORD SetPitch; //0x02CC
- char _0x02CE[2];
- WORD SetYaw; //0x02D0
- char _0x02D2[58];
- WORD AngleNull; //0x030C
- char _0x030E[246];
- UAPawn* GetPawn; //0x0404
- char _0x0408[12];
- float FovAngle; //0x0414
- char _0x0418[72];
- BYTE ShiftPress; //0x0460
- BYTE CtrlPress; //0x0461
- BYTE LeftPress; //0x0462
- BYTE RightPress; //0x0463
- char _0x0464[558];
- BYTE BehindView; //0x0692
- char _0x0693[221];
- float DesiredFOV; //0x0770
- float DefaultFOV; //0x0774
- char _0x0778[1056];
- Vector CameraLocation; //0x0B98
- Vector CalcViewLocation; //0x0BA4
- __int32 CalcViewAnglePitch; //0x0BB0
- __int32 CalcViewAngleYaw; //0x0BB4
- __int32 CalcViewAngleRoll; //0x0BB8
- char _0x0BBC[1080];
- float CountToKick; //0x0FF4
- char _0x0FF8[2404];
- DWORD ChangeRadar; //0x195C
- char _0x1960[48];
- DWORD GodMode; //0x1990
- char _0x1994[784];
- };//Size=0x1CA4
- class URenderDevice
- {
- public:
- char _0x0000[18072];
- char DISPLAY1[12]; //0x4698
- char _0x46A4[172];
- CRenderer* pDevice; //0x4750
- char _0x4754[84];
- DWORD Width; //0x47A8
- DWORD Height; //0x47AC
- char _0x47B0[5744];
- D3DMATRIX mWorld; //0x5E20
- D3DMATRIX mView; //0x5E60
- D3DMATRIX mProj; //0x5EA0
- char _0x5EE0[1236];
- D3DMATRIX mWorldOld; //0x63B4
- D3DMATRIX mViewOld; //0x63F4
- D3DMATRIX mProjOld; //0x6434
- char _0x6474[3020];
- };//Size=0x7040
- class CRenderer
- {
- public:
- char _0x0000[728];
- DWORD WindowWidth; //0x02D8
- DWORD WindowHeight; //0x02DC
- char _0x02E0[348];
- };//Size=0x043C
- class UWindowGame
- {
- public:
- char _0x0000[44];
- DWORD WindowPopup; //0x002C
- UWindowViewport* GetWindowViewport; //0x0030
- char _0x0034[332];
- };//Size=0x0180
- class UKeyboard
- {
- public:
- char _0x0000[4160];
- };//Size=0x1040
- class UAPawn
- {
- public:
- void SetWalker( float val )
- {
- typedef void( __thiscall* OriginalFunc )( void*, float );
- return CallVirtual<OriginalFunc>( this, 75 )( this, val );
- }
- float* Transform( float* Transform )
- {
- typedef float*( __thiscall* OriginalFunc )( void*, float* );
- return CallVirtual<OriginalFunc>( this, 48 )( this, Transform );
- }
- UAPawn* pNext()
- {
- return ( UAPawn* )( ( DWORD ) + 0x8 );
- }
- public:
- char _0x0000[116];
- DWORD N0E80C43A; //0x0074
- char _0x0078[8];
- BYTE bFlags; //0x0080
- BYTE N19930D91; //0x0081
- BYTE N199315C2; //0x0082
- BYTE N19930D92; //0x0083
- char _0x0084[32];
- ULevel* Level; //0x00A4
- char _0x00A8[52];
- ModelFactory* pModelFactory; //0x00DC
- char _0x00E0[4];
- MeshInstance* MeshInstance; //0x00E4
- char _0x00E8[36];
- Vector MinBox; //0x010C
- Vector MaxBox; //0x0118
- char _0x0124[4];
- Vector GetLocalEyePos; //0x0128
- char _0x0134[32];
- Vector VolecityPitch; //0x0154
- Vector VolecityYaw; //0x0160
- char _0x016C[104];
- Vector N0E80C492; //0x01D4
- char _0x01E0[112];
- float PlayerScale; //0x0250
- char _0x0254[108];
- float BodySit; //0x02C0
- float BodyStand; //0x02C4
- DWORD WalkThrough; //0x02C8
- char _0x02CC[12];
- Vector SetLocalEyePos; //0x02D8
- char _0x02E4[52];
- Vector GetCameraPos; //0x0318
- char _0x0324[244];
- float FastWalk; //0x0418
- char _0x041C[4];
- float UnderWalk; //0x0420
- char _0x0424[188];
- UWeapon* Weapon; //0x04E0
- char _0x04E4[60];
- float GetMaxHealth; //0x0520
- char _0x0524[4];
- __int32 GetHealth; //0x0528
- char _0x052C[152];
- UPlayerReplicationInfo* PlayerReplicationInfo; //0x05C4
- char _0x05C8[88];
- BYTE N0E82C2E3; //0x0620
- char _0x0621[1631];
- DWORD N1870F843; //0x0C80
- DWORD CanWalk; //0x0C84
- char _0x0C88[112];
- DWORD N1870F861; //0x0CF8
- DWORD N1870F862; //0x0CFC
- char _0x0D00[832];
- };//Size=0x1040
- class ModelFactory
- {
- public:
- char _0x0000[76];
- UAPawn* Pawn; //0x004C
- char _0x0050[4];
- ModelTransform* pModelTransform; //0x0054
- char _0x0058[640];
- Vector N01F08016; //0x02D8
- char _0x02E4[348];
- };//Size=0x0440
- class ModelTransform
- {
- public:
- ModelFactory * pMesh; //0x0000
- char _0x0004[4];
- float OldTransform[16]; //0x0008
- float Transform[16]; //0x0048
- char _0x0088[156];
- };//Size=0x0124
- class MeshInstance
- {
- public:
- char _0x0000[188];
- BoneCoords* Bone; //0x00BC
- char _0x00C0[20];
- Vector Transform; //0x00D4
- char _0x00E0[864];
- };//Size=0x0440
- class BoneCoords
- {
- public:
- Vector Bone[68]; //0x0000
- char _0x000C[3172];
- };//Size=0x0C70
- class UWeapon
- {
- public:
- char _0x0000[1116];
- UWeaponCurrent* WeaponCurrent; //0x045C
- char _0x0460[224];
- };//Size=0x0540
- class ULevel
- {
- public:
- };//Size=0x0040
- class UPlayerReplicationInfo
- {
- public:
- char _0x0000[1132];
- PlayerName* GetName; //0x046C
- char _0x0470[56];
- __int32 PlayerID; //0x04A8
- UTeam* Team; //0x04AC
- __int32 TeamID; //0x04B0
- char _0x04B4[220];
- DWORD KillNum; //0x0590
- DWORD DeadNum; //0x0594
- char _0x0598[40];
- };//Size=0x05C0
- class PlayerName
- {
- public:
- wchar_t Name[32]; //0x0000
- };//Size=0x0020
- class UTeam
- {
- public:
- char _0x0000[1124];
- __int32 TeamIndex; //0x0464
- DWORD TeamColor; //0x0468
- DWORD AltTeamColor; //0x046C
- char _0x0470[208];
- };//Size=0x0540
- class UWeaponCurrent
- {
- public:
- char _0x0000[508];
- __int32 Crosshair; //0x01FC
- };//Size=0x0200
- class Read
- {
- public:
- MainClass * N0FBD9ABE; //0x0000
- char _0x0004[56];
- };//Size=0x003C
- class UCanvas
- {
- public:
- char _0x0000[192];
- };//Size=0x00C0
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement