feat(vendor): Updated GTAV-Classes

This commit is contained in:
Yimura
2022-01-30 00:23:26 +01:00
parent 23f088ec8c
commit 9726d96c6a
19 changed files with 21 additions and 157 deletions

View File

@ -629,7 +629,7 @@ enum WindowTints //m8 do you even int tint?
#define TIRESMOKE_COLOR_BROWN 180, 130, 97
#define TIRESMOKE_COLOR_PATRIOT 0, 0, 0
static bool GetVehicleInfoForClanLogo(Hash vehicleModel, rage::vector3& x, rage::vector3& y, rage::vector3& z, float& scale)
static bool GetVehicleInfoForClanLogo(Hash vehicleModel, rage::fvector3& x, rage::fvector3& y, rage::fvector3& z, float& scale)
{
switch (vehicleModel)
{

View File

@ -1,17 +1,6 @@
#pragma once
#include <cstdint>
enum class eGameState : std::uint32_t
{
Playing,
Died,
Arrested,
FailedMission,
LeftGame,
Respawn,
InMPCutScene
};
constexpr auto MAX_PLAYERS = 32;
enum class ControllerInputs : std::uint32_t

View File

@ -8,62 +8,6 @@
#pragma pack(push, 1)
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
char pad_0068[8]; //0x0068
uint64_t m_rockstar_id2; //0x0070
char pad_0078[12]; //0x0078
char m_name[20]; //0x0084
}; //Size: 0x0098
static_assert(sizeof(netPlayerData) == 0x98);
class nonPhysicalPlayerDataBase
{
public:
virtual ~nonPhysicalPlayerDataBase() = default; // 0 (0x00)
virtual void unk_0x08() = 0; // 1 (0x08)
virtual void unk_0x10() = 0; // 2 (0x10)
virtual void unk_0x18() = 0; // 3 (0x18)
virtual void log(netLoggingInterface* logger) = 0; // 4 (0x20)
};
class netPlayer
{
public:
virtual ~netPlayer() = default; // 0 (0x00)
virtual void reset() = 0; // 1 (0x08)
virtual bool is_valid() const = 0; // 2 (0x10)
virtual const char *get_name() const = 0; // 3 (0x18)
virtual void _0x20() = 0; // 4 (0x20)
virtual bool is_host() = 0; // 5 (0x28)
virtual netPlayerData *get_net_data() = 0; // 6 (0x30)
virtual void _0x38() = 0; // 7 (0x38)
};
class netPlayerMgrBase
{
public:
@ -76,34 +20,6 @@ namespace gta
inline constexpr auto num_players = 32;
}
class CNonPhysicalPlayerData : public rage::nonPhysicalPlayerDataBase
{
public:
std::int32_t m_bubble_id; // 0x08
std::int32_t m_player_id; // 0x0C
rage::vector3 m_position; // 0x10
};
class CNetGamePlayer : public rage::netPlayer
{
public:
char pad_0x0008[0x10]; //0x0008
std::uint32_t msg_id; // 0x18
char pad_0x001C[0x4]; //0x001C
std::int8_t active_id; //0x0020
std::int8_t player_id; //0x0021
char pad_0x0022[0x6E]; //0x0022
BYTE local_player_check;//0x0090
char pad_0x00A1[0xF]; //0x0091
CPlayerInfo* player_info; //0x00A0
inline bool is_local_player()
{
return local_player_check & 1;
}
};
static_assert(sizeof(CNetGamePlayer) == 0xA8);
//class CPlayerInfo : public rage::fwExtensibleBase
//{
//public:
@ -144,5 +60,4 @@ static_assert(sizeof(CNetGamePlayer) == 0xA8);
//}; //Size: 0x0869
//static_assert(sizeof(CPlayerInfo) == 0x869);
static_assert(sizeof(CNonPhysicalPlayerData) == 0x1C);
#pragma pack(pop)

View File

@ -6,28 +6,6 @@
namespace rage
{
class fwEntity
{
public:
char pad_0000[32]; //0x0000
class CBaseModelInfo* m_model_info; //0x0020
int8_t m_invisible; //0x0028
char pad_0029[7]; //0x0029
class CNavigation* m_navigation; //0x0030
char pad_0038[1]; //0x0038
int8_t m_entity_type; //0x0039
char pad_003A[150]; //0x003A
class netObject* m_net_object; //0x00D0
char pad_00D8[176]; //0x00D8
uint32_t m_damage_bits; //0x0188
bool is_invincible() { return(m_damage_bits & (1 << 8)); }
void enable_invincible() { m_damage_bits |= (1 << 8); }
void disable_invincible() { m_damage_bits &= ~(1 << 8); }
}; //Size: 0x018C
static_assert(sizeof(fwEntity) == 0x18C, "fwEntity is not properly sized");
class CVehicle : public fwEntity
{
public:
@ -36,18 +14,6 @@ namespace rage
//class CPed* m_occupants[8]; //0x0C30
}; //Size: 0x018C
class CNavigation
{
public:
char pad_0000[32]; //0x0000
float m_heading; //0x0020
float m_heading2; //0x0024
char pad_0028[8]; //0x0028
vector3 m_rotation; //0x0030
char pad_003C[20]; //0x003C
vector3 m_position; //0x0050
}; //Size: 0x005C
class CPed : public fwEntity
{
public:

View File

@ -31,6 +31,7 @@ namespace rage
std::uint32_t m_stack_size; // 0x50
char m_padding2[0x54]; // 0x54
};
static_assert(sizeof(scrThreadContext) == 0xA8);
class scrThread
{
@ -54,8 +55,6 @@ namespace rage
scriptHandler *m_handler; // 0x110
scriptHandlerNetComponent *m_net_component; // 0x118
};
static_assert(sizeof(scrThreadContext) == 0xA8);
static_assert(sizeof(scrThread) == 0x120);
}

View File

@ -18,6 +18,5 @@ namespace rage
return *reinterpret_cast<tlsContext**>(__readgsqword(0x58));
}
};
static_assert(sizeof(tlsContext) == 0x838);
}

View File

@ -8,13 +8,6 @@ namespace rage
float y{};
};
struct vector3
{
float x{};
float y{};
float z{};
};
struct vector4
{
float x{};