mirror of
https://github.com/Mr-X-GTA/GTAV-Classes-1.git
synced 2024-12-22 22:47:32 +08:00
feat: Updated classes
This commit is contained in:
parent
f55c2bfe39
commit
5abdecaa82
@ -2,52 +2,44 @@
|
||||
#include "CHandlingData.hpp"
|
||||
#include "CVehicleDrawHandler.hpp"
|
||||
#include "CVehicleModelInfo.hpp"
|
||||
#include "pgBase.hpp"
|
||||
#include "fwEntity.hpp"
|
||||
|
||||
class CAutomobile
|
||||
class CAutomobile : public rage::fwEntity
|
||||
{
|
||||
public:
|
||||
char pad_0000[32]; //0x0000
|
||||
class CVehicleModelInfo* m_vehicle_model; //0x0020
|
||||
char pad_0028[8]; //0x0028
|
||||
class pgBase* m_posbase; //0x0030
|
||||
char pad_0038[16]; //0x0038
|
||||
class CVehicleDrawHandler* m_mods; //0x0048
|
||||
char pad_0050[313]; //0x0050
|
||||
uint8_t m_godmode; //0x0189
|
||||
char pad_018A[246]; //0x018A
|
||||
float m_health; //0x0280
|
||||
char pad_0284[28]; //0x0284
|
||||
float m_health_max; //0x02A0
|
||||
char pad_02A4[116]; //0x02A4
|
||||
uint8_t m_boost_state; //0x0318
|
||||
char pad_0319[2]; //0x0319
|
||||
uint8_t m_boost_allow_recharge; //0x031B
|
||||
char pad_031C[4]; //0x031C
|
||||
float m_boost; //0x0320
|
||||
float m_rocket_recharge_speed; //0x0324
|
||||
char pad_0328[136]; //0x0328
|
||||
float m_jump_boost_charge; //0x03B0
|
||||
char pad_03B4[1164]; //0x03B4
|
||||
float m_body_health; //0x0840
|
||||
float m_petrol_tank_health; //0x0844
|
||||
char pad_0848[192]; //0x0848
|
||||
float m_engine_health; //0x0908
|
||||
char pad_090C[44]; //0x090C
|
||||
class CHandlingData* m_handling; //0x0938
|
||||
char pad_0940[2]; //0x0940
|
||||
uint8_t m_is_drivable; //0x0942
|
||||
uint8_t m_tyres_can_burst; //0x0943
|
||||
uint8_t m_deform_god; //0x0944
|
||||
char pad_0945[179]; //0x0945
|
||||
float m_dirt_level; //0x09F8
|
||||
char pad_09FC[194]; //0x09FC
|
||||
uint8_t m_is_targetable; //0x0ABE
|
||||
char pad_0ABF[413]; //0x0ABF
|
||||
float m_gravity; //0x0C5C
|
||||
char pad_0C60[8]; //0x0C60
|
||||
class CPed* m_driver; //0x0C68
|
||||
class CPed* m_passengers[15]; //0x0C70
|
||||
class CPed* m_last_driver; //0x0CE8
|
||||
}; //Size: 0x0CF0
|
||||
static_assert(sizeof(CAutomobile) == 0xCF0);
|
||||
char pad_018C[240]; //0x018C
|
||||
float m_health; //0x027C
|
||||
char pad_0280[28]; //0x0280
|
||||
float m_health_max; //0x029C
|
||||
char pad_02A0[116]; //0x02A0
|
||||
uint8_t m_boost_state; //0x0314
|
||||
char pad_0315[2]; //0x0315
|
||||
uint8_t m_boost_allow_recharge; //0x0317
|
||||
char pad_0318[4]; //0x0318
|
||||
float m_boost; //0x031C
|
||||
float m_rocket_recharge_speed; //0x0320
|
||||
char pad_0324[136]; //0x0324
|
||||
float m_jump_boost_charge; //0x03AC
|
||||
char pad_03B0[1164]; //0x03B0
|
||||
float m_body_health; //0x083C
|
||||
float m_petrol_tank_health; //0x0840
|
||||
char pad_0844[192]; //0x0844
|
||||
float m_engine_health; //0x0904
|
||||
char pad_0908[44]; //0x0908
|
||||
class CHandlingData *m_handling; //0x0934
|
||||
char pad_093C[2]; //0x093C
|
||||
uint8_t m_is_drivable; //0x093E
|
||||
uint8_t m_tyres_can_burst; //0x093F
|
||||
uint8_t m_deform_god; //0x0940
|
||||
char pad_0941[179]; //0x0941
|
||||
float m_dirt_level; //0x09F4
|
||||
char pad_09F8[194]; //0x09F8
|
||||
uint8_t m_is_targetable; //0x0ABA
|
||||
char pad_0ABB[413]; //0x0ABB
|
||||
float m_gravity; //0x0C58
|
||||
char pad_0C5C[8]; //0x0C5C
|
||||
class CPed *m_driver; //0x0C64
|
||||
class CPed *m_passengers[15]; //0x0C6C
|
||||
class CPed *m_last_driver; //0x0CE4
|
||||
}; //Size: 0x0CEC
|
||||
static_assert(sizeof(CAutomobile) == 0xCEC);
|
||||
|
9
CBaseModelInfo.hpp
Normal file
9
CBaseModelInfo.hpp
Normal file
@ -0,0 +1,9 @@
|
||||
#pragma once
|
||||
|
||||
class CBaseModelInfo
|
||||
{
|
||||
public:
|
||||
char pad_0000[24]; //0x0000
|
||||
uint32_t m_model_hash; //0x0018
|
||||
}; //Size: 0x001C
|
||||
static_assert(sizeof(CBaseModelInfo) == 0x1C);
|
14
CNavigation.hpp
Normal file
14
CNavigation.hpp
Normal file
@ -0,0 +1,14 @@
|
||||
#pragma once
|
||||
|
||||
class CNavigation
|
||||
{
|
||||
public:
|
||||
char pad_0000[32]; //0x0000
|
||||
float m_heading; //0x0020
|
||||
float m_heading2; //0x0024
|
||||
char pad_0028[8]; //0x0028
|
||||
rage::vector3 m_rotation; //0x0030
|
||||
char pad_003C[24]; //0x003C
|
||||
rage::vector3 m_position; //0x0054
|
||||
}; //Size: 0x0060
|
||||
static_assert(sizeof(CNavigation) == 0x60);
|
@ -1,18 +1,18 @@
|
||||
#pragma once
|
||||
#include "CPlayerInfo.hpp"
|
||||
#include "CNonPhysicalPlayerData.hpp"
|
||||
#include "netPlayer.hpp"
|
||||
|
||||
class CNetGamePlayer
|
||||
class CNetGamePlayer : public rage::netPlayer
|
||||
{
|
||||
public:
|
||||
char pad_0000[24]; //0x0000
|
||||
char pad_0008[8]; //0x0008
|
||||
class CNonPhysicalPlayerData *m_non_physical_player; //0x0010
|
||||
uint32_t m_msg_id; //0x0018
|
||||
char pad_001C[4]; //0x001C
|
||||
uint8_t m_active_id; //0x0020
|
||||
uint8_t m_player_id; //0x0021
|
||||
char pad_0022[110]; //0x0022
|
||||
uint8_t m_player_flag; //0x0090
|
||||
char pad_0091[15]; //0x0091
|
||||
class CPlayerInfo* m_player_info; //0x00A0
|
||||
char pad_00A8[40]; //0x00A8
|
||||
uint32_t m_bubble_id; //0x00D0
|
||||
}; //Size: 0x00D4
|
||||
static_assert(sizeof(CNetGamePlayer) == 0xD4);
|
||||
char pad_0022[126]; //0x0022
|
||||
class CPlayerInfo *m_player_info; //0x00A0
|
||||
}; //Size: 0x00A8
|
||||
static_assert(sizeof(CNetGamePlayer) == 0xA8);
|
||||
|
33
CNetworkPlayerMgr.hpp
Normal file
33
CNetworkPlayerMgr.hpp
Normal file
@ -0,0 +1,33 @@
|
||||
#pragma once
|
||||
#include "CNetGamePlayer.hpp"
|
||||
#include "CNonPhysicalPlayerData.hpp"
|
||||
|
||||
namespace rage
|
||||
{
|
||||
class netPlayerMgrBase
|
||||
{
|
||||
public:
|
||||
virtual ~netPlayerMgrBase() = default;
|
||||
virtual void Initialize() = 0;
|
||||
virtual void Shutdown() = 0;
|
||||
virtual void unk_0x18() = 0;
|
||||
virtual CNetGamePlayer* AddPlayer_raw(void* a1, void* a2, void* a3, rage::netPlayerData* net_player_data, CNonPhysicalPlayerData* non_physical_player_data) = 0;
|
||||
virtual void RemovePlayer(CNetGamePlayer* net_game_player) = 0;
|
||||
virtual void UpdatePlayerListsForPlayer(CNetGamePlayer* net_game_player) = 0;
|
||||
virtual CNetGamePlayer* AddPlayer(void* a1, void* a2, void* a3, rage::netPlayerData* net_player_data, CNonPhysicalPlayerData* non_physical_player_data) = 0;
|
||||
}; //Size: 0x0008
|
||||
static_assert(sizeof(netPlayerMgrBase) == 0x8);
|
||||
}
|
||||
|
||||
class CNetworkPlayerMgr : public rage::netPlayerMgrBase
|
||||
{
|
||||
public:
|
||||
char pad_0008[224]; //0x0008
|
||||
class CNetGamePlayer* m_local_net_player; //0x00E8
|
||||
char pad_00F0[144]; //0x00F0
|
||||
class CNetGamePlayer* m_player_list[32]; //0x0180
|
||||
uint16_t m_player_limit; //0x0280
|
||||
char pad_0282[10]; //0x0282
|
||||
uint16_t m_player_count; //0x028C
|
||||
}; //Size: 0x028E
|
||||
static_assert(sizeof(CNetworkPlayerMgr) == 0x28E);
|
24
CNonPhysicalPlayerData.hpp
Normal file
24
CNonPhysicalPlayerData.hpp
Normal file
@ -0,0 +1,24 @@
|
||||
#pragma once
|
||||
|
||||
namespace rage
|
||||
{
|
||||
class nonPhysicalPlayerDataBase
|
||||
{
|
||||
public:
|
||||
virtual ~nonPhysicalPlayerDataBase();
|
||||
virtual void _0x08();
|
||||
virtual void _0x10();
|
||||
virtual void _0x18();
|
||||
virtual void log();
|
||||
}; //Size: 0x0008
|
||||
static_assert(sizeof(nonPhysicalPlayerDataBase) == 0x8);
|
||||
}
|
||||
|
||||
class CNonPhysicalPlayerData : public rage::nonPhysicalPlayerDataBase
|
||||
{
|
||||
public:
|
||||
int32_t m_bubble_id; //0x0008
|
||||
int32_t m_player_id; //0x000C
|
||||
rage::vector3 m_position; //0x0010
|
||||
}; //Size: 0x001C
|
||||
static_assert(sizeof(CNonPhysicalPlayerData) == 0x1C);
|
18
CPed.hpp
18
CPed.hpp
@ -3,27 +3,13 @@
|
||||
#include "CPedModelInfo.hpp"
|
||||
#include "CPedWeaponManager.hpp"
|
||||
#include "CPlayerInfo.hpp"
|
||||
#include "pgBase.hpp"
|
||||
#include "fwEntity.hpp"
|
||||
|
||||
#pragma pack(push, 1)
|
||||
|
||||
class CPed
|
||||
class CPed : public rage::fwEntity
|
||||
{
|
||||
public:
|
||||
char pad_0000[32]; //0x0000
|
||||
class CPedModelInfo *m_ped_model_info; //0x0020
|
||||
uint8_t m_entity_type; //0x0028
|
||||
char pad_0029[3]; //0x0029
|
||||
uint8_t m_invisible; //0x002C
|
||||
char pad_002D[1]; //0x002D
|
||||
uint8_t m_freeze_momentum; //0x002E
|
||||
char pad_002F[1]; //0x002F
|
||||
class pgBase *m_posbase; //0x0030
|
||||
char pad_0038[88]; //0x0038
|
||||
rage::vector3 m_camera; //0x0090
|
||||
char pad_009C[237]; //0x009C
|
||||
uint8_t m_godmode; //0x0189
|
||||
char pad_018A[2]; //0x018A
|
||||
uint8_t m_hostility; //0x018C
|
||||
char pad_018D[243]; //0x018D
|
||||
float m_health; //0x0280
|
||||
|
@ -1,49 +1,19 @@
|
||||
#pragma once
|
||||
|
||||
class netAddress
|
||||
{
|
||||
public:
|
||||
uint8_t m_field4; //0x0000
|
||||
uint8_t m_field3; //0x0001
|
||||
uint8_t m_field2; //0x0002
|
||||
uint8_t m_field1; //0x0003
|
||||
}; //Size: 0x0004
|
||||
static_assert(sizeof(netAddress) == 0x4);
|
||||
|
||||
class netPlayerData
|
||||
{
|
||||
public:
|
||||
char pad_0000[8]; //0x0000
|
||||
uint64_t m_rockstar_id; //0x0008
|
||||
char pad_0010[52]; //0x0010
|
||||
class netAddress m_relay_ip; //0x0044
|
||||
uint16_t m_relay_port; //0x0048
|
||||
char pad_004A[2]; //0x004A
|
||||
class netAddress m_external_ip; //0x004C
|
||||
uint16_t m_external_port; //0x0050
|
||||
char pad_0052[2]; //0x0052
|
||||
class netAddress m_internal_ip; //0x0054
|
||||
uint16_t m_internal_port; //0x0058
|
||||
char pad_005A[6]; //0x005A
|
||||
uint64_t m_host_token; //0x0060
|
||||
uint64_t m_peer_id; //0x0068
|
||||
uint64_t m_rockstar_id2; //0x0070
|
||||
char pad_0078[12]; //0x0078
|
||||
char m_name[20]; //0x0084
|
||||
}; //Size: 0x0098
|
||||
static_assert(sizeof(netPlayerData) == 0x98);
|
||||
#include "netPlayerData.hpp"
|
||||
|
||||
#pragma pack(push, 1)
|
||||
class CPlayerInfo
|
||||
{
|
||||
public:
|
||||
char pad_0000[32]; //0x0000
|
||||
class netPlayerData m_net_player_data; //0x0020
|
||||
class rage::netPlayerData m_net_player_data; //0x0020
|
||||
char pad_00B8[184]; //0x00B8
|
||||
float m_swim_speed; //0x0170
|
||||
char pad_0174[20]; //0x0174
|
||||
uint32_t m_water_proof; //0x0188
|
||||
char pad_018C[92]; //0x018C
|
||||
char pad_018C[76]; //0x018C
|
||||
eGameState m_game_state; //0x01D8
|
||||
char pad_01DC[12]; //0x01DC
|
||||
class CPed *m_ped; //0x01E8
|
||||
char pad_01F0[40]; //0x01F0
|
||||
uint32_t m_frame_flags; //0x0218
|
||||
|
73
fwDrawData.hpp
Normal file
73
fwDrawData.hpp
Normal file
@ -0,0 +1,73 @@
|
||||
#pragma once
|
||||
|
||||
namespace rage
|
||||
{
|
||||
class fwDrawData
|
||||
{
|
||||
public:
|
||||
char pad_0000[904]; //0x0000
|
||||
uint8_t m_primary_color; //0x0388
|
||||
char pad_0389[3]; //0x0389
|
||||
uint8_t m_pearlescent; //0x038C
|
||||
char pad_038D[3]; //0x038D
|
||||
uint8_t m_secondary_color; //0x0390
|
||||
char pad_0391[15]; //0x0391
|
||||
uint8_t m_neon_blue; //0x03A0
|
||||
uint8_t m_neon_green; //0x03A1
|
||||
uint8_t m_neon_red; //0x03A2
|
||||
char pad_03A3[15]; //0x03A3
|
||||
uint8_t m_spoiler; //0x03B2
|
||||
uint8_t m_bumper_front; //0x03B3
|
||||
uint8_t m_bumper_rear; //0x03B4
|
||||
uint8_t m_sideskirts; //0x03B5
|
||||
uint8_t m_exhaust; //0x03B6
|
||||
uint8_t m_frame; //0x03B7
|
||||
uint8_t m_grille; //0x03B8
|
||||
uint8_t m_hood; //0x03B9
|
||||
uint8_t m_fenders; //0x03BA
|
||||
uint8_t m_bullbars; //0x03BB
|
||||
uint8_t m_roof; //0x03BC
|
||||
char pad_03BD[3]; //0x03BD
|
||||
uint8_t m_ornaments; //0x03C0
|
||||
char pad_03C1[1]; //0x03C1
|
||||
uint8_t m_dail_design; //0x03C2
|
||||
uint8_t m_sunstrips; //0x03C3
|
||||
uint8_t m_seats; //0x03C4
|
||||
uint8_t m_steering_wheel; //0x03C5
|
||||
uint8_t m_column_shifter_levers; //0x03C6
|
||||
char pad_03C7[2]; //0x03C7
|
||||
uint8_t m_truck_beds; //0x03C9
|
||||
char pad_03CA[4]; //0x03CA
|
||||
uint8_t m_roll_cages; //0x03CE
|
||||
uint8_t m_skid_plate; //0x03CF
|
||||
uint8_t m_secondary_light_surrounds; //0x03D0
|
||||
uint8_t m_hood_accessories; //0x03D1
|
||||
uint8_t m_doors; //0x03D2
|
||||
uint8_t m_snorkel; //0x03D3
|
||||
uint8_t m_livery; //0x03D4
|
||||
char pad_03D5[1]; //0x03D5
|
||||
uint8_t m_engine; //0x03D6
|
||||
uint8_t m_brakes; //0x03D7
|
||||
uint8_t m_transmission; //0x03D8
|
||||
uint8_t m_horn; //0x03D9
|
||||
uint8_t m_suspension; //0x03DA
|
||||
uint8_t m_armor; //0x03DB
|
||||
char pad_03DC[1]; //0x03DC
|
||||
uint8_t m_turbo; //0x03DD
|
||||
char pad_03DE[3]; //0x03DE
|
||||
uint8_t m_xenon; //0x03E1
|
||||
uint8_t m_tire_design; //0x03E2
|
||||
char pad_03E3[16]; //0x03E3
|
||||
uint8_t m_truck_bed; //0x03F3
|
||||
char pad_03F4[5]; //0x03F4
|
||||
uint8_t m_wheel_color; //0x03F9
|
||||
char pad_03FA[5]; //0x03FA
|
||||
uint8_t m_window; //0x03FF
|
||||
char pad_0400[2]; //0x0400
|
||||
uint8_t m_neon_left; //0x0402
|
||||
uint8_t m_neon_right; //0x0403
|
||||
uint8_t m_neon_front; //0x0404
|
||||
uint8_t m_neon_rear; //0x0405
|
||||
}; //Size: 0x0406
|
||||
static_assert(sizeof(fwDrawData) == 0x406);
|
||||
}
|
28
fwEntity.hpp
Normal file
28
fwEntity.hpp
Normal file
@ -0,0 +1,28 @@
|
||||
#pragma once
|
||||
#include "CBaseModelInfo.hpp"
|
||||
#include "CNavigation.hpp"
|
||||
#include "fwDrawData.hpp"
|
||||
#include "netObject.hpp"
|
||||
|
||||
namespace rage
|
||||
{
|
||||
class fwEntity
|
||||
{
|
||||
public:
|
||||
char pad_0000[32]; //0x0000
|
||||
class CBaseModelInfo *m_model_info; //0x0020
|
||||
char pad_0028[1]; //0x0028
|
||||
int8_t m_entity_type; //0x0029
|
||||
char pad_002A[2]; //0x002A
|
||||
uint8_t m_invisible; //0x002C
|
||||
char pad_002D[3]; //0x002D
|
||||
class CNavigation *m_navigation; //0x0030
|
||||
char pad_0038[16]; //0x0038
|
||||
class rage::fwDrawData *m_draw_data; //0x0048
|
||||
char pad_0050[128]; //0x0050
|
||||
class rage::netObject *m_net_object; //0x00D0
|
||||
char pad_00D8[176]; //0x00D8
|
||||
uint32_t m_damage_bits; //0x0188
|
||||
}; //Size: 0x018C
|
||||
static_assert(sizeof(fwEntity) == 0x18C);
|
||||
}
|
BIN
gtav.rcnet
BIN
gtav.rcnet
Binary file not shown.
123
netObject.hpp
Normal file
123
netObject.hpp
Normal file
@ -0,0 +1,123 @@
|
||||
#pragma once
|
||||
|
||||
namespace rage
|
||||
{
|
||||
class netObject
|
||||
{
|
||||
public:
|
||||
int16_t m_object_type; //0x0008
|
||||
int16_t m_object_id; //0x000A
|
||||
char pad_000C[61]; //0x000C
|
||||
int8_t m_owner_id; //0x0049
|
||||
int8_t m_control_id; //0x004A
|
||||
int8_t m_next_owner_id; //0x004B
|
||||
bool m_is_remote; //0x004C
|
||||
bool m_wants_to_delete; //0x004D
|
||||
char pad_004E[1]; //0x004E
|
||||
bool m_should_not_be_delete; //0x004F
|
||||
|
||||
virtual ~netObject();
|
||||
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 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 void Function61();
|
||||
virtual void Function62();
|
||||
virtual void Function63();
|
||||
virtual void Function64();
|
||||
virtual void Function65();
|
||||
virtual void Function66();
|
||||
virtual void Function67();
|
||||
virtual void Function68();
|
||||
virtual void Function69();
|
||||
virtual void Function70();
|
||||
virtual void Function71();
|
||||
virtual void Function72();
|
||||
virtual void Function73();
|
||||
virtual void Function74();
|
||||
virtual void Function75();
|
||||
virtual void Function76();
|
||||
virtual void Function77();
|
||||
virtual void Function78();
|
||||
virtual void Function79();
|
||||
virtual void Function80();
|
||||
virtual void Function81();
|
||||
virtual void Function82();
|
||||
virtual void Function83();
|
||||
virtual void Function84();
|
||||
virtual void Function85();
|
||||
virtual void Function86();
|
||||
virtual void Function87();
|
||||
virtual void Function88();
|
||||
virtual void Function89();
|
||||
virtual void Function90();
|
||||
virtual void Function91();
|
||||
virtual void Function92();
|
||||
virtual void Function93();
|
||||
virtual void Function94();
|
||||
virtual void Function95();
|
||||
virtual void Function96();
|
||||
virtual void Function97();
|
||||
virtual void Function98();
|
||||
virtual void Function99();
|
||||
virtual void Function100();
|
||||
virtual void Function101();
|
||||
}; //Size: 0x0050
|
||||
static_assert(sizeof(netObject) == 0x50);
|
||||
}
|
19
netPlayer.hpp
Normal file
19
netPlayer.hpp
Normal file
@ -0,0 +1,19 @@
|
||||
#pragma once
|
||||
#include "netPlayerData.hpp"
|
||||
|
||||
namespace rage
|
||||
{
|
||||
class netPlayer
|
||||
{
|
||||
public:
|
||||
virtual void ~netPlayer();
|
||||
virtual void reset();
|
||||
virtual bool is_valid();
|
||||
virtual const char* get_name();
|
||||
virtual void _0x20();
|
||||
virtual bool is_host();
|
||||
virtual netPlayerData* get_net_data();
|
||||
virtual void _0x38();
|
||||
}; //Size: 0x0008
|
||||
static_assert(sizeof(netPlayer) == 0x8);
|
||||
}
|
37
netPlayerData.hpp
Normal file
37
netPlayerData.hpp
Normal file
@ -0,0 +1,37 @@
|
||||
#pragma once
|
||||
|
||||
namespace rage
|
||||
{
|
||||
class netAddress
|
||||
{
|
||||
public:
|
||||
uint8_t m_field4; //0x0000
|
||||
uint8_t m_field3; //0x0001
|
||||
uint8_t m_field2; //0x0002
|
||||
uint8_t m_field1; //0x0003
|
||||
}; //Size: 0x0004
|
||||
static_assert(sizeof(netAddress) == 0x4);
|
||||
|
||||
class netPlayerData
|
||||
{
|
||||
public:
|
||||
char pad_0000[8]; //0x0000
|
||||
uint64_t m_rockstar_id; //0x0008
|
||||
char pad_0010[52]; //0x0010
|
||||
class netAddress m_relay_ip; //0x0044
|
||||
uint16_t m_relay_port; //0x0048
|
||||
char pad_004A[2]; //0x004A
|
||||
class netAddress m_external_ip; //0x004C
|
||||
uint16_t m_external_port; //0x0050
|
||||
char pad_0052[2]; //0x0052
|
||||
class netAddress m_internal_ip; //0x0054
|
||||
uint16_t m_internal_port; //0x0058
|
||||
char pad_005A[6]; //0x005A
|
||||
uint64_t m_host_token; //0x0060
|
||||
uint64_t m_peer_id; //0x0068
|
||||
uint64_t m_rockstar_id2; //0x0070
|
||||
char pad_0078[12]; //0x0078
|
||||
char m_name[20]; //0x0084
|
||||
}; //Size: 0x0098
|
||||
static_assert(sizeof(netPlayerData) == 0x98);
|
||||
}
|
@ -1,9 +0,0 @@
|
||||
#pragma once
|
||||
|
||||
class pgBase
|
||||
{
|
||||
public:
|
||||
char pad_0000[80]; //0x0000
|
||||
rage::vector3 m_pos; //0x0050
|
||||
}; //Size: 0x005C
|
||||
static_assert(sizeof(pgBase) == 0x5C);
|
Loading…
Reference in New Issue
Block a user