Fixed alignment of GamerHandle to match the game's. (#163)
Added some of the classes I ported from Phantom for the game's camera.
This commit is contained in:
parent
f91b409aac
commit
a3031a8978
@ -4,9 +4,14 @@
|
||||
|
||||
class CCameraAngles
|
||||
{
|
||||
private:
|
||||
char pad_0000[704]; //0x0000
|
||||
public:
|
||||
char pad_0000[960]; //0x0000
|
||||
CPlayerAngles* angles; //0x03C0
|
||||
char pad_03C8[60]; //0x03C8
|
||||
}; //Size: 0x0408
|
||||
static_assert(sizeof(CCameraAngles) == 0x408);
|
||||
CPlayerAngles* m_vehicle; //0x02C0
|
||||
CPlayerAngles* m_vehicle_two; //0x02C8
|
||||
private:
|
||||
char pad_02D0[240]; //0x02D0
|
||||
public:
|
||||
CPlayerAngles* m_player_first_person; //0x03C0
|
||||
}; //Size: 0x03C8
|
||||
static_assert(sizeof(CCameraAngles) == 0x3C8);
|
BIN
gtav.rcnet
BIN
gtav.rcnet
Binary file not shown.
@ -3,19 +3,46 @@
|
||||
#include "../rage/vector.hpp"
|
||||
#include "CPlayerCameraData.hpp"
|
||||
|
||||
#pragma pack(push, 4)
|
||||
class CPlayerAngles
|
||||
{
|
||||
public:
|
||||
private:
|
||||
char pad_0000[16]; //0x0000
|
||||
public:
|
||||
CPlayerCameraData* m_cam_data; //0x0010
|
||||
private:
|
||||
char pad_0018[24]; //0x0018
|
||||
rage::fvector3 m_right; //0x0030
|
||||
public:
|
||||
rage::fvector3 m_theta_angles; //0x0030
|
||||
private:
|
||||
char pad_003C[4]; //0x003C
|
||||
rage::fvector3 m_forward; //0x0040
|
||||
public:
|
||||
rage::fvector3 m_camera_rotation_first_person; //0x0040
|
||||
private:
|
||||
char pad_004C[4]; //0x004C
|
||||
rage::fvector3 m_up; //0x0050
|
||||
public:
|
||||
rage::fvector3 m_omega_angles; //0x0050
|
||||
private:
|
||||
char pad_005C[4]; //0x005C
|
||||
rage::fvector3 m_position; //0x0060
|
||||
public:
|
||||
rage::fvector3 m_location; //0x0060
|
||||
private:
|
||||
char pad_006C[36]; //0x006C
|
||||
}; //Size: 0x0090
|
||||
static_assert(sizeof(CPlayerAngles) == 0x90);
|
||||
public:
|
||||
float m_fov; //0x0090
|
||||
private:
|
||||
char pad_0094[828]; //0x0094
|
||||
public:
|
||||
rage::fvector3 m_camera_rotation; //0x03D0
|
||||
|
||||
void set_camera(rage::fvector3 new_angles)
|
||||
{
|
||||
m_camera_rotation = new_angles;
|
||||
}
|
||||
void set_fps_camera(rage::fvector3 new_angles)
|
||||
{
|
||||
m_camera_rotation_first_person = new_angles;
|
||||
}
|
||||
}; //Size: 0x03DC
|
||||
#pragma pack(pop)
|
||||
static_assert(sizeof(CPlayerAngles) == 0x3DC, "CPlayerAngles is not properly sized!");
|
@ -4,20 +4,28 @@
|
||||
|
||||
namespace rage
|
||||
{
|
||||
enum rlPlatforms : uint8_t
|
||||
{
|
||||
UNK0,
|
||||
XBOX,
|
||||
PLAYSTATION,
|
||||
PC,
|
||||
};
|
||||
|
||||
#pragma pack(push,8)
|
||||
class rlGamerHandle
|
||||
{
|
||||
public:
|
||||
uint64_t m_rockstar_id; //0x0000
|
||||
uint8_t m_platform; //0x0008
|
||||
uint8_t unk_0009; //0x0009
|
||||
uint8_t m_padding; //0x0009
|
||||
|
||||
inline rlGamerHandle() = default;
|
||||
|
||||
inline rlGamerHandle(uint64_t rockstar_id) :
|
||||
m_rockstar_id(rockstar_id),
|
||||
m_platform(3),
|
||||
unk_0009(0)
|
||||
m_platform(rlPlatforms::PC),
|
||||
m_padding(0)
|
||||
{
|
||||
}
|
||||
}; //Size: 0x0010
|
||||
|
Loading…
Reference in New Issue
Block a user