diff --git a/datanodes/ped/CPedInventoryDataNode.hpp b/datanodes/ped/CPedInventoryDataNode.hpp new file mode 100644 index 0000000..633308c --- /dev/null +++ b/datanodes/ped/CPedInventoryDataNode.hpp @@ -0,0 +1,22 @@ +#pragma once + +#include + +#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) \ No newline at end of file diff --git a/datanodes/vehicle/CVehicleGadgetDataNode.hpp b/datanodes/vehicle/CVehicleGadgetDataNode.hpp new file mode 100644 index 0000000..c0ea42b --- /dev/null +++ b/datanodes/vehicle/CVehicleGadgetDataNode.hpp @@ -0,0 +1,39 @@ +#pragma once + +#include + +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) \ No newline at end of file