mirror of
https://github.com/Mr-X-GTA/GTAV-Classes-1.git
synced 2024-12-22 22:47:32 +08:00
feat(DataNodes): Reorganize and add data nodes. (#22)
This commit is contained in:
parent
423658872b
commit
cd201dff22
10
datanodes/automobile/CAutomobileCreationNode.hpp
Normal file
10
datanodes/automobile/CAutomobileCreationNode.hpp
Normal file
@ -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);
|
19
datanodes/door/CDoorCreationDataNode.hpp
Normal file
19
datanodes/door/CDoorCreationDataNode.hpp
Normal file
@ -0,0 +1,19 @@
|
||||
#pragma once
|
||||
|
||||
#include <cstdint>
|
||||
#include "rage/vector.hpp"
|
||||
|
||||
#pragma pack(push, 4)
|
||||
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);
|
||||
#pragma pack(pop)
|
19
datanodes/dynamic_entity/CDynamicEntityGameStateDataNode.hpp
Normal file
19
datanodes/dynamic_entity/CDynamicEntityGameStateDataNode.hpp
Normal file
@ -0,0 +1,19 @@
|
||||
#pragma once
|
||||
|
||||
#include <cstdint>
|
||||
|
||||
#pragma pack(push, 4)
|
||||
class CDynamicEntityGameStateDataNode
|
||||
{
|
||||
public:
|
||||
char pad_0000[192]; // 0x0000
|
||||
uint32_t m_interior_index; // 0x00C0
|
||||
bool unk_00C4; // 0x00C4
|
||||
bool unk_00C5; // 0x00C5
|
||||
uint32_t m_decor_count; // 0x00C8
|
||||
uint32_t m_decor_type[12]; // 0x00CC
|
||||
uint32_t m_decor_value[12]; // 0x00FC
|
||||
uint32_t m_decor_name_hash[12]; // 0x012C
|
||||
}; //Size: 0x15C
|
||||
static_assert(sizeof(CDynamicEntityGameStateDataNode) == 0x15C);
|
||||
#pragma pack(pop)
|
11
datanodes/entity/CEntityOrientationDataNode.hpp
Normal file
11
datanodes/entity/CEntityOrientationDataNode.hpp
Normal file
@ -0,0 +1,11 @@
|
||||
#pragma once
|
||||
|
||||
#pragma pack(push, 4)
|
||||
class CEntityOrientationDataNode
|
||||
{
|
||||
public:
|
||||
char pad_0x0[192]; //0x0000
|
||||
float m_eulers[11]; //0x00C0
|
||||
}; //Size: 0x00EC
|
||||
static_assert(sizeof(CEntityOrientationDataNode) == 0xEC);
|
||||
#pragma pack(pop)
|
10
datanodes/entity/CEntityScriptGameStateDataNode.hpp
Normal file
10
datanodes/entity/CEntityScriptGameStateDataNode.hpp
Normal file
@ -0,0 +1,10 @@
|
||||
#pragma once
|
||||
|
||||
struct CEntityScriptGameStateDataNode
|
||||
{
|
||||
char pad_0x0[192]; //0x0000
|
||||
bool m_visible; //0x00C0
|
||||
bool m_uses_collision; //0x00C1
|
||||
bool m_fixed; //0x00C2
|
||||
}; //Size: 0x00C3
|
||||
static_assert(sizeof(CEntityScriptGameStateDataNode) == 0xC3);
|
@ -1,20 +1,16 @@
|
||||
#pragma once
|
||||
|
||||
#include <cstdint>
|
||||
#include "vector.hpp"
|
||||
|
||||
#pragma pack(push,4)
|
||||
class CPedAttachDataNode
|
||||
{
|
||||
public:
|
||||
char pad_0000[192]; //0x0000
|
||||
float m_offset_x; //0x00C0
|
||||
float m_offset_y; //0x00C4
|
||||
float m_offset_z; //0x00C8
|
||||
rage::fvector3 m_offset; //0x00C0
|
||||
char pad_00CC[4]; //0x00CC
|
||||
float m_orientation_x; //0x00D0
|
||||
float m_orientation_y; //0x00D4
|
||||
float m_orientation_z; //0x00D8
|
||||
float m_orientation_w; //0x00DC
|
||||
rage::fvector4 m_orientation; //0x00D0
|
||||
uint16_t m_attached_to; //0x00E0
|
||||
uint16_t m_attachment_bone; //0x00E2
|
||||
uint32_t m_attachment_flags; //0x00E4
|
9
datanodes/ped/CPedScriptCreationDataNode.hpp
Normal file
9
datanodes/ped/CPedScriptCreationDataNode.hpp
Normal file
@ -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);
|
15
datanodes/physical/CPhysicalAngVelocityDataNode.hpp
Normal file
15
datanodes/physical/CPhysicalAngVelocityDataNode.hpp
Normal file
@ -0,0 +1,15 @@
|
||||
#pragma once
|
||||
|
||||
#include <cstdint>
|
||||
|
||||
#pragma pack(push, 4)
|
||||
class CPhysicalAngVelocityDataNode
|
||||
{
|
||||
public:
|
||||
char pad_0000[192]; //0x0000
|
||||
int32_t m_ang_velocity_x; //0x00C0 Divide by 16.
|
||||
int32_t m_ang_velocity_y; //0x00C4 Divide by 16.
|
||||
int32_t m_ang_velocity_z; //0x00C8 Divide by 16.
|
||||
}; // 0x00CC
|
||||
static_assert(sizeof(CPhysicalAngVelocityDataNode) == 0xCC);
|
||||
#pragma pack(pop);
|
@ -1,8 +1,9 @@
|
||||
#pragma once
|
||||
|
||||
#include <cstdint>
|
||||
#include "vector.hpp"
|
||||
|
||||
#pragma pack(push,2)
|
||||
#pragma pack(push,4)
|
||||
class CPhysicalAttachDataNode
|
||||
{
|
||||
public:
|
||||
@ -11,17 +12,10 @@ public:
|
||||
bool unk_00C1; //0x00C1
|
||||
uint16_t m_attached_to; //0x00C2
|
||||
char pad_00C4[12]; //0x00C4
|
||||
float m_offset_x; //0x00D0
|
||||
float m_offset_y; //0x00D4
|
||||
float m_offset_z; //0x00D8
|
||||
rage::fvector3 m_offset; //0x00D0
|
||||
char pad_00DC[4]; //0x00DC
|
||||
float m_orientation_x; //0x00E0
|
||||
float m_orientation_y; //0x00E4
|
||||
float m_orientation_z; //0x00E8
|
||||
float m_orientation_w; //0x00EC
|
||||
float m_parent_offset_x; //0x00F0
|
||||
float m_parent_offset_y; //0x00F4
|
||||
float m_parent_offset_z; //0x00F8
|
||||
rage::fvector4 m_orientation; //0x00E0
|
||||
rage::fvector3 m_parent_offset; //0x00F0
|
||||
char pad_00FC[4]; //0x00FC
|
||||
uint16_t m_other_attach_bone; //0x0100
|
||||
uint16_t m_attach_bone; //0x0102
|
18
datanodes/physical/CPhysicalHealthDataNode.hpp
Normal file
18
datanodes/physical/CPhysicalHealthDataNode.hpp
Normal file
@ -0,0 +1,18 @@
|
||||
#pragma once
|
||||
|
||||
#include <cstdint>
|
||||
|
||||
#pragma pack(push, 8)
|
||||
struct CPhysicalHealthDataNode
|
||||
{
|
||||
char pad_0000[192]; //0x0000
|
||||
bool unk_00C0; //0x00C0
|
||||
bool m_has_max_health_changed; //0x00C1
|
||||
uint32_t m_max_health; //0x00C4
|
||||
uint32_t m_current_health; //0x00C8
|
||||
uint16_t m_weapon_damage_entity; //0x00CC
|
||||
uint32_t m_weapon_damage_hash; //0x00D0
|
||||
uint64_t unk_00D8; //0x00D8
|
||||
};
|
||||
static_assert(sizeof(CPhysicalHealthDataNode) == 0xE0);
|
||||
#pragma pack(pop)
|
15
datanodes/physical/CPhysicalVelocityDataNode.hpp
Normal file
15
datanodes/physical/CPhysicalVelocityDataNode.hpp
Normal file
@ -0,0 +1,15 @@
|
||||
#pragma once
|
||||
|
||||
#include <cstdint>
|
||||
|
||||
#pragma pack(push, 4)
|
||||
class CPhysicalVelocityDataNode
|
||||
{
|
||||
public:
|
||||
char pad_0000[192]; //0x0000
|
||||
int32_t m_velocity_x; //0x00C0 Divide by 16.
|
||||
int32_t m_velocity_y; //0x00C4 Divide by 16.
|
||||
int32_t m_velocity_z; //0x00C8 Divide by 16.
|
||||
}; // 0x00CC
|
||||
static_assert(sizeof(CPhysicalVelocityDataNode) == 0xCC);
|
||||
#pragma pack(pop)
|
30
datanodes/pickup/CPickupCreationDataNode.hpp
Normal file
30
datanodes/pickup/CPickupCreationDataNode.hpp
Normal file
@ -0,0 +1,30 @@
|
||||
#pragma once
|
||||
|
||||
#include <cstdint>
|
||||
|
||||
#pragma pack(push, 8)
|
||||
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);
|
||||
#pragma pack(pop)
|
@ -0,0 +1,25 @@
|
||||
#pragma once
|
||||
|
||||
#include <cstdint>
|
||||
#include "rage/vector.hpp"
|
||||
|
||||
#pragma pack(push, 8)
|
||||
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);
|
||||
#pragma pack(pop)
|
20
datanodes/player/CPlayerCreationDataNode.hpp
Normal file
20
datanodes/player/CPlayerCreationDataNode.hpp
Normal file
@ -0,0 +1,20 @@
|
||||
#pragma once
|
||||
|
||||
#include <cstdint>
|
||||
|
||||
#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)
|
@ -95,15 +95,9 @@ public:
|
||||
uint32_t unk_0154; //0x0154
|
||||
bool unk_0158; //0x0158
|
||||
uint32_t m_decor_count; //0x015C
|
||||
uint32_t m_decor_1_type; //0x0160
|
||||
uint32_t m_decor_1_value; //0x0164
|
||||
uint32_t m_decor_1_name; //0x0168
|
||||
uint32_t m_decor_2_type; //0x016C
|
||||
uint32_t m_decor_2_value; //0x0170
|
||||
uint32_t m_decor_2_name; //0x0174
|
||||
uint32_t m_decor_3_type; //0x0178
|
||||
uint32_t m_decor_3_value; //0x017C
|
||||
uint32_t m_decor_3_name; //0x0180
|
||||
uint32_t m_decor_type[3]; // 0x0160
|
||||
uint32_t m_decor_value[3]; // 0x016C
|
||||
uint32_t m_decor_name_hash[3]; // 0x0178
|
||||
bool m_friendly_fire_allowed; //0x0184
|
||||
bool unk_0185; //0x0185
|
||||
uint8_t m_current_garage_instance_index; //0x0186
|
@ -1,24 +1,21 @@
|
||||
#pragma once
|
||||
|
||||
#include <cstdint>
|
||||
#include "vector.hpp"
|
||||
|
||||
#pragma pack(push,4)
|
||||
class CPlayerSectorPosNode
|
||||
{
|
||||
public:
|
||||
char pax_0000[192]; //0x0000
|
||||
float m_sector_pos_x; //0x00C0
|
||||
float m_sector_pos_y; //0x00C4
|
||||
float m_sector_pos_z; //0x00C8
|
||||
rage::fvector3 m_sector_pos; //0x00C0
|
||||
bool m_is_standing_on_entity; //0x00CC
|
||||
bool unk_00CD; //0x00CD
|
||||
bool unk_00CE; //0x00CE
|
||||
char pad_00CF[1]; //0x00CF
|
||||
uint16_t m_entity_standing_on; //0x00D0
|
||||
char pad_00D2[12]; //0x00D2
|
||||
float m_standing_on_entity_offset_x; //0x00E0
|
||||
float m_standing_on_entity_offset_y; //0x00E4
|
||||
float m_standing_on_entity_offset_z; //0x00E8
|
||||
rage::fvector3 m_standing_on_entity_offset; //0x00E0
|
||||
char pad_00EC[8]; //0x00EC
|
||||
uint32_t m_stealth_noise; //0x00F4
|
||||
}; //Size: 0x00F8
|
14
datanodes/proximity_migrateable/CGlobalFlagsDataNode.hpp
Normal file
14
datanodes/proximity_migrateable/CGlobalFlagsDataNode.hpp
Normal file
@ -0,0 +1,14 @@
|
||||
#pragma once
|
||||
|
||||
#include <cstdint>
|
||||
|
||||
#pragma pack(push, 4)
|
||||
class CGlobalFlagsDataNode
|
||||
{
|
||||
public:
|
||||
char pad_0000[192]; //0x0000
|
||||
uint32_t m_global_flags; //0x00C0
|
||||
uint32_t m_ownership_token; //0x00C4
|
||||
}; //Size: 0x00C8
|
||||
static_assert(sizeof(CGlobalFlagsDataNode) == 0xC8);
|
||||
#pragma pack(pop)
|
15
datanodes/proximity_migrateable/CMigrationDataNode.hpp
Normal file
15
datanodes/proximity_migrateable/CMigrationDataNode.hpp
Normal file
@ -0,0 +1,15 @@
|
||||
#pragma once
|
||||
|
||||
#include <cstdint>
|
||||
|
||||
#pragma pack(push, 4)
|
||||
class CMigrationDataNode
|
||||
{
|
||||
public:
|
||||
char pad_0000[192]; //0x0000
|
||||
uint32_t m_cloned_state; //0x00C0
|
||||
uint32_t m_cloned_players_that_left; //0x00C4
|
||||
uint32_t m_unsynced_nodes; //0x00C8
|
||||
}; //Size: 0x00CC
|
||||
static_assert(sizeof(CMigrationDataNode) == 0xCC);
|
||||
#pragma pack(pop)
|
15
datanodes/proximity_migrateable/CSectorDataNode.hpp
Normal file
15
datanodes/proximity_migrateable/CSectorDataNode.hpp
Normal file
@ -0,0 +1,15 @@
|
||||
#pragma once
|
||||
|
||||
#include <cstdint>
|
||||
|
||||
#pragma pack(push, 2)
|
||||
class CSectorDataNode
|
||||
{
|
||||
public:
|
||||
char pad_0x0[192]; //0x0
|
||||
uint16_t m_pos_x; //0xC0
|
||||
uint16_t m_pos_y; //0xC2
|
||||
uint16_t m_pos_z; //0xC4
|
||||
};
|
||||
static_assert(sizeof(CSectorDataNode) == 0xC6);
|
||||
#pragma pack(pop)
|
13
datanodes/proximity_migrateable/CSectorPositionDataNode.hpp
Normal file
13
datanodes/proximity_migrateable/CSectorPositionDataNode.hpp
Normal file
@ -0,0 +1,13 @@
|
||||
#pragma once
|
||||
|
||||
#pragma pack(push, 4)
|
||||
class CSectorPositionDataNode
|
||||
{
|
||||
public:
|
||||
char pad_0000[192]; //0x0000
|
||||
float m_sector_pos_x; //0x00C0
|
||||
float m_sector_pos_y; //0x00C4
|
||||
float m_sector_pos_z; //0x00C8
|
||||
}; //Size: 0x00CC
|
||||
static_assert(sizeof(CSectorPositionDataNode) == 0xCC);
|
||||
#pragma pack(pop)
|
Loading…
Reference in New Issue
Block a user