diff --git a/datanodes/CAutomobileCreationNode.hpp b/datanodes/CAutomobileCreationNode.hpp new file mode 100644 index 0000000..aeb8c1d --- /dev/null +++ b/datanodes/CAutomobileCreationNode.hpp @@ -0,0 +1,10 @@ +#pragma once + +class CAutomobileCreationDataNode +{ +public: + char pad_0000[192]; //0x0000 + bool m_all_doors_closed; //0x00C0 + bool m_door_closed[10]; //0x00C1 +}; //Size: 0x00CB +static_assert(sizeof(CAutomobileCreationDataNode) == 0xCB); \ No newline at end of file diff --git a/datanodes/CDoorCreationDataNode.hpp b/datanodes/CDoorCreationDataNode.hpp new file mode 100644 index 0000000..9cb8399 --- /dev/null +++ b/datanodes/CDoorCreationDataNode.hpp @@ -0,0 +1,17 @@ +#pragma once + +#include +#include "rage/vector.hpp" + +class CDoorCreationDataNode +{ +public: + char pad_0000[192]; //0x0000 + uint32_t m_model; //0x00C0 + char pad_00C4[12]; //0x00C4 + rage::fvector3 m_pos; //0x00D0 + char pad_00DC[12]; //0x00DC + bool m_is_script_door; //0x00E8 + bool m_player_wants_control; //0x00E9 +}; //Size: 0x00EC +static_assert(sizeof(CDoorCreationDataNode) == 0xEC); diff --git a/datanodes/CPedScriptCreationDataNode.hpp b/datanodes/CPedScriptCreationDataNode.hpp new file mode 100644 index 0000000..3245205 --- /dev/null +++ b/datanodes/CPedScriptCreationDataNode.hpp @@ -0,0 +1,9 @@ +#pragma once + +class CPedScriptCreationDataNode +{ +public: + char pad_0x0[192]; //0x0000 + bool m_stay_in_car_when_jacked; //0x00C0 +}; //Size: 0x00C1 +static_assert(sizeof(CPedScriptCreationDataNode) == 0xC1); \ No newline at end of file diff --git a/datanodes/CPickupCreationDataNode.hpp b/datanodes/CPickupCreationDataNode.hpp new file mode 100644 index 0000000..67ab261 --- /dev/null +++ b/datanodes/CPickupCreationDataNode.hpp @@ -0,0 +1,28 @@ +#pragma once + +#include + +class CPickupCreationDataNode +{ +public: + char pad_0000[192]; //0x0000 + bool m_has_placement; //0x00C0 + char pad_00C1[7]; //0x00C1 + uint64_t *unk_struct_00C8; //0x00C8 + uint32_t unk_00D0; //0x00D0 + uint16_t unk_00D4; //0x00D4 + char pad_00D6[66]; //0x00D6 + uint32_t m_pickup_hash; //0x0118 + uint32_t m_amount; //0x011C + uint32_t m_custom_model; //0x0120 + uint32_t m_life_time; //0x0124 + uint32_t m_weapon_component[11]; //0x0128 + uint32_t m_num_weapon_components; //0x0154 + uint32_t m_tint_index; //0x0158 + bool m_player_gift; //0x015C + bool unk_015D; //0x015D + char pad_015E[6]; //0x015E + uint32_t unk_0164; //0x0164 + bool unk_0168; //0x0168 +}; //Size: 0x0170 +static_assert(sizeof(CPickupCreationDataNode) == 0x170); diff --git a/datanodes/CPickupPlacementCreationDataNode.hpp b/datanodes/CPickupPlacementCreationDataNode.hpp new file mode 100644 index 0000000..950fb72 --- /dev/null +++ b/datanodes/CPickupPlacementCreationDataNode.hpp @@ -0,0 +1,23 @@ +#pragma once + +#include +#include "rage/vector.hpp" + +class CPickupPlacementCreationDataNode +{ +public: + char pad_0000[192]; //0x0000 + bool m_has_pickup_data; //0x00C0 + char pad_00C1[15]; //0x00C1 + rage::fvector3 m_pickup_pos; //0x00D0 + char pad_00DC[4]; //0x00DC + rage::fvector4 m_pickup_orientation; //0x00E0 + uint32_t m_pickup_type; //0x00F0 + uint32_t m_pickup_flags; //0x00F4 + uint32_t m_amount; //0x00F8 + uint32_t m_custom_model; //0x00FC + uint32_t m_custom_regeneration_time; //0x0100 + uint32_t m_team_permits; //0x0104 + uint64_t *unk_struct_0108; //0x0108 +}; //Size: 0x0110 +static_assert(sizeof(CPickupPlacementCreationDataNode) == 0x110); \ No newline at end of file diff --git a/datanodes/CPlayerCreationDataNode.hpp b/datanodes/CPlayerCreationDataNode.hpp new file mode 100644 index 0000000..e659647 --- /dev/null +++ b/datanodes/CPlayerCreationDataNode.hpp @@ -0,0 +1,20 @@ +#pragma once + +#include + +#pragma pack(push,4) +class CPlayerCreationDataNode +{ +public: + char pad_0000[192]; //0x0000 + uint32_t m_model; //0x00C0 + uint32_t m_num_scars; //0x00C4 + char unk_struct_0xC8[192]; //0x00C8 + uint32_t unk_0188; //0x0188 + char pad_018C[4]; //0x018C + char m_scar_struct[176]; //0x0190 + bool unk_0240; //0x0240 + char pad_0241[19]; //0x0241 +}; //Size: 0x0254 +static_assert(sizeof(CPlayerCreationDataNode) == 0x254); +#pragma pack(pop) \ No newline at end of file