feat(Data Nodes): Add ped inventory and vehicle gadget nodes. (#67)

This commit is contained in:
Reece Watson 2022-11-11 10:09:09 -05:00 committed by GitHub
parent 46b025293a
commit d84b63357a
2 changed files with 61 additions and 0 deletions

View File

@ -0,0 +1,22 @@
#pragma once
#include <cstdint>
#pragma pack(push,1)
class CPedInventoryDataNode
{
public:
char pad_0000[4812]; //0x0000
uint32_t m_items[105]; //0x12CC
uint32_t m_num_items; //0x1470
uint32_t m_ammos[65]; //0x1474
uint32_t m_ammo_quantities[65]; //0x1578
uint32_t m_num_ammos; //0x167C
uint8_t unk_1680[105]; //0x1680
uint8_t unk_16E9[105]; //0x16E9
char pad_1680[1155]; //0x1752
bool m_infinite_ammos[65]; //0x1BD5
bool m_ammo_all_infinite; //0x1C16
}; //Size: 0x1C17
static_assert(sizeof(CPedInventoryDataNode) == 0x1C17);
#pragma pack(pop)

View File

@ -0,0 +1,39 @@
#pragma once
#include <cstdint>
enum eVehicleGadgetType : uint32_t
{
FORKS,
SEARCH_LIGHT,
PICK_UP_ROPE_WITH_HOOK,
PICK_UP_ROPE_WITH_MAGNET,
DIGGER_ARM,
HANDLER_FRAME,
BOMB_BAY,
};
#pragma pack(push,4)
class CVehicleGadgetData
{
public:
eVehicleGadgetType m_gadget_type; //0x0000
uint8_t m_data[94]; //0x0004
}; //Size: 0x64
static_assert(sizeof(CVehicleGadgetData) == 0x64);
class CVehicleGadgetDataNode
{
public:
char pad_0000[192]; //0x0000
bool m_has_parent_offset; //0x00C0
char pad_00C1[15]; //0x00C1
uint32_t m_parent_offset_x; //0x00D0
uint32_t m_parent_offset_y; //0x00D4
uint32_t m_parent_offset_z; //0x00D8
uint32_t m_parent_offset_w; //0x00DC
uint32_t m_gadget_count; //0x00E0
CVehicleGadgetData m_gadget_data[2]; //0x00E4
}; //Size: 0x01AC
static_assert(sizeof(CVehicleGadgetDataNode) == 0x1AC);
#pragma pack(pop)