From 8f375405dfb164bd140110fe786f160e65c11b0a Mon Sep 17 00:00:00 2001 From: Yimura Date: Sun, 25 Jul 2021 21:02:25 +0200 Subject: [PATCH] feat(GTA): Updated classes --- BigBaseV2/src/core/class/CAutomobile.hpp | 29 +++---------------- BigBaseV2/src/core/class/CHandlingData.hpp | 25 ++++++++-------- BigBaseV2/src/core/class/CPed.hpp | 20 ++++--------- BigBaseV2/src/core/class/CPedFactory.hpp | 1 - BigBaseV2/src/core/class/CPedModelInfo.hpp | 13 +++++++++ .../src/core/class/CPedWeaponManager.hpp | 11 +++---- BigBaseV2/src/core/class/CPlayerInfo.hpp | 7 ++--- .../src/core/class/CVehicleDrawHandler.hpp | 25 +++++++++------- BigBaseV2/src/core/class/CWeaponInfo.hpp | 13 +++++++++ 9 files changed, 69 insertions(+), 75 deletions(-) create mode 100644 BigBaseV2/src/core/class/CPedModelInfo.hpp create mode 100644 BigBaseV2/src/core/class/CWeaponInfo.hpp diff --git a/BigBaseV2/src/core/class/CAutomobile.hpp b/BigBaseV2/src/core/class/CAutomobile.hpp index 2b8d9d2f..2837cf4a 100644 --- a/BigBaseV2/src/core/class/CAutomobile.hpp +++ b/BigBaseV2/src/core/class/CAutomobile.hpp @@ -2,6 +2,7 @@ #include "CHandlingData.hpp" #include "CVehicleDrawHandler.hpp" +#pragma pack(push, 1) class CAutomobile { public: @@ -19,31 +20,9 @@ public: char pad_090C[44]; //0x090C class CHandlingData* m_handling; //0x0938 char pad_0940[2]; //0x0940 - uint8_t m_bulletproof_tyres; //0x0942 - char pad_0943[685]; //0x0943 - class WheelArray* m_wheels; //0x0BF0 - char pad_0BF8[100]; //0x0BF8 + uint8_t m_bullet_proof_tyres; //0x0942 + char pad_0943[793]; //0x0943 float m_gravity; //0x0C5C }; //Size: 0x0C60 static_assert(sizeof(CAutomobile) == 0xC60); - -class CWheel -{ -public: - char pad_0000[8]; //0x0000 - float m_camber; //0x0008 - float m_camber_inverted; //0x000C - char pad_0010[552]; //0x0010 -}; //Size: 0x0238 -static_assert(sizeof(CWheel) == 0x238); - -class WheelArray -{ -public: - class CWheel* m_wheel1; //0x0000 - class CWheel* m_wheel2; //0x0008 - class CWheel* m_wheel3; //0x0010 - class CWheel* m_wheel4; //0x0018 - char pad_0020[88]; //0x0020 -}; //Size: 0x0078 -static_assert(sizeof(WheelArray) == 0x78); \ No newline at end of file +#pragma pack(pop) \ No newline at end of file diff --git a/BigBaseV2/src/core/class/CHandlingData.hpp b/BigBaseV2/src/core/class/CHandlingData.hpp index 25aa4545..4ad0d40a 100644 --- a/BigBaseV2/src/core/class/CHandlingData.hpp +++ b/BigBaseV2/src/core/class/CHandlingData.hpp @@ -1,18 +1,19 @@ #pragma once +#pragma pack(push, 1) class CHandlingData { public: char pad_0000[8]; //0x0000 - uint32_t m_name_hash; //0x0008 + uint32_t m_model_hash; //0x0008 float m_mass; //0x000C float m_initial_drag_coeff; //0x0010 - float m_downforce_modifier; //0x0014 + float m_downforce_multiplier; //0x0014 float m_popup_light_rotation; //0x0018 char pad_001C[4]; //0x001C rage::vector3 m_centre_of_mass; //0x0020 char pad_002C[4]; //0x002C - rage::vector3 m_inertia_multiplier; //0x0030 + rage::vector3 m_inertia_mult; //0x0030 char pad_003C[4]; //0x003C float m_buoyancy; //0x0040 float m_drive_bias_rear; //0x0044 @@ -24,9 +25,9 @@ public: float m_upshift; //0x0058 float m_downshift; //0x005C float m_initial_drive_force; //0x0060 - float m_drive_max_flat_vel; //0x0064 + float m_drive_max_flat_velocity; //0x0064 float m_initial_drive_max_flat_vel; //0x0068 - float m_brake_force; //0x006C + float m_brakeforce; //0x006C char pad_0070[4]; //0x0070 float m_brake_bias_front; //0x0074 float m_brake_bias_rear; //0x0078 @@ -66,14 +67,14 @@ public: float m_petrol_tank_volume; //0x0100 float m_oil_volume; //0x0104 char pad_0108[4]; //0x0108 - rage::vector3 m_seat_index_dist; //0x010C + rage::vector3 m_seat_offset_dist; //0x010C uint32_t m_monetary_value; //0x0118 char pad_011C[8]; //0x011C - uint32_t m_str_model_flags; //0x0124 - uint32_t m_str_handling_flags; //0x0128 - uint32_t m_str_damage_flags; //0x012C + uint32_t m_model_flags; //0x0124 + uint32_t m_handling_flags; //0x0128 + uint32_t m_damage_flags; //0x012C char pad_0130[12]; //0x0130 uint32_t m_ai_handling_hash; //0x013C - char pad_0140[208]; //0x0140 -}; //Size: 0x0210 -static_assert(sizeof(CHandlingData) == 0x210); \ No newline at end of file +}; //Size: 0x0140 +static_assert(sizeof(CHandlingData) == 0x140); +#pragma pack(pop) \ No newline at end of file diff --git a/BigBaseV2/src/core/class/CPed.hpp b/BigBaseV2/src/core/class/CPed.hpp index 4de7dbdf..833a0950 100644 --- a/BigBaseV2/src/core/class/CPed.hpp +++ b/BigBaseV2/src/core/class/CPed.hpp @@ -1,9 +1,11 @@ #pragma once #include "CAutomobile.hpp" +#include "CPedModelInfo.hpp" #include "CPedWeaponManager.hpp" #include "CPlayerInfo.hpp" -#pragma pack(push, 4) +#pragma pack(push, 1) + class CPed { public: @@ -26,25 +28,13 @@ public: rage::vector3 m_velocity; //0x0320 char pad_032C[2564]; //0x032C class CAutomobile* m_vehicle; //0x0D30 - char pad_0D38[896]; //0x0D38 - uint8_t m_ragdoll; //0x10B8 - char pad_10B9[15]; //0x10B9 + char pad_0D38[912]; //0x0D38 class CPlayerInfo* m_player_info; //0x10C8 char pad_10D0[8]; //0x10D0 class CPedWeaponManager* m_weapon_manager; //0x10D8 - char pad_10E0[919]; //0x10E0 - uint8_t m_in_vehicle; //0x1477 - char pad_1478[104]; //0x1478 + char pad_10E0[1024]; //0x10E0 float m_armor; //0x14E0 }; //Size: 0x14E4 static_assert(sizeof(CPed) == 0x14E4); -class CPedModelInfo -{ -public: - char pad_0000[24]; //0x0000 - uint32_t m_model_hash; //0x0018 -}; //Size: 0x001C -static_assert(sizeof(CPedModelInfo) == 0x1C); - #pragma pack(pop) \ No newline at end of file diff --git a/BigBaseV2/src/core/class/CPedFactory.hpp b/BigBaseV2/src/core/class/CPedFactory.hpp index 38730fa1..dcea7bd3 100644 --- a/BigBaseV2/src/core/class/CPedFactory.hpp +++ b/BigBaseV2/src/core/class/CPedFactory.hpp @@ -2,7 +2,6 @@ #include "CPed.hpp" #pragma pack(push, 1) -// Created with ReClass.NET 1.2 by KN4CK3R class CPedFactory { diff --git a/BigBaseV2/src/core/class/CPedModelInfo.hpp b/BigBaseV2/src/core/class/CPedModelInfo.hpp new file mode 100644 index 00000000..d4a6e431 --- /dev/null +++ b/BigBaseV2/src/core/class/CPedModelInfo.hpp @@ -0,0 +1,13 @@ +#pragma once + +#pragma pack(push, 1) + +class CPedModelInfo +{ +public: + char pad_0000[24]; //0x0000 + uint32_t m_model_hash; //0x0018 +}; //Size: 0x001C +static_assert(sizeof(CPedModelInfo) == 0x1C); + +#pragma pack(pop) \ No newline at end of file diff --git a/BigBaseV2/src/core/class/CPedWeaponManager.hpp b/BigBaseV2/src/core/class/CPedWeaponManager.hpp index 9598b4b9..ee879fe0 100644 --- a/BigBaseV2/src/core/class/CPedWeaponManager.hpp +++ b/BigBaseV2/src/core/class/CPedWeaponManager.hpp @@ -1,4 +1,7 @@ #pragma once +#include "CWeaponInfo.hpp" + +#pragma pack(push, 1) class CPedWeaponManager { @@ -8,10 +11,4 @@ public: }; //Size: 0x0028 static_assert(sizeof(CPedWeaponManager) == 0x28); -class CWeaponInfo -{ -public: - char pad_0000[16]; //0x0000 - uint32_t m_model_hash; //0x0010 -}; //Size: 0x0014 -static_assert(sizeof(CWeaponInfo) == 0x14); \ No newline at end of file +#pragma pack(pop) \ No newline at end of file diff --git a/BigBaseV2/src/core/class/CPlayerInfo.hpp b/BigBaseV2/src/core/class/CPlayerInfo.hpp index a0518fb5..78389144 100644 --- a/BigBaseV2/src/core/class/CPlayerInfo.hpp +++ b/BigBaseV2/src/core/class/CPlayerInfo.hpp @@ -1,6 +1,7 @@ #pragma once -#pragma pack(push, 4) +#pragma pack(push, 1) + class CPlayerInfo { public: @@ -32,9 +33,7 @@ public: uint32_t m_frame_flags; //0x01F8 char pad_01FC[28]; //0x01FC uint32_t m_player_controls; //0x0218 - char pad_021C[1588]; //0x021C - uint32_t m_npc_ignore; //0x0850 - char pad_0854[12]; //0x0854 + char pad_021C[1604]; //0x021C bool m_is_wanted; //0x0860 char pad_0861[3]; //0x0861 int8_t m_wanted_level_display; //0x0864 diff --git a/BigBaseV2/src/core/class/CVehicleDrawHandler.hpp b/BigBaseV2/src/core/class/CVehicleDrawHandler.hpp index 5de01965..b887f9e8 100644 --- a/BigBaseV2/src/core/class/CVehicleDrawHandler.hpp +++ b/BigBaseV2/src/core/class/CVehicleDrawHandler.hpp @@ -1,5 +1,7 @@ #pragma once +#pragma pack(push, 1) + class CVehicleDrawHandler { public: @@ -10,9 +12,9 @@ public: char pad_038D[3]; //0x038D uint8_t m_secondary_color; //0x0390 char pad_0391[15]; //0x0391 - uint8_t m_neon_light_blue; //0x03A0 - uint8_t m_neon_light_green; //0x03A1 - uint8_t m_neon_light_red; //0x03A2 + uint8_t m_neon_blue; //0x03A0 + uint8_t m_neon_green; //0x03A1 + uint8_t m_neon_red; //0x03A2 char pad_03A3[15]; //0x03A3 uint8_t m_spoiler; //0x03B2 uint8_t m_bumper_front; //0x03B3 @@ -21,24 +23,24 @@ public: uint8_t m_exhaust; //0x03B6 uint8_t m_frame; //0x03B7 uint8_t m_grille; //0x03B8 - uint8_t m_hoods; //0x03B9 + uint8_t m_hood; //0x03B9 uint8_t m_fenders; //0x03BA uint8_t m_bullbars; //0x03BB uint8_t m_roof; //0x03BC char pad_03BD[3]; //0x03BD uint8_t m_ornaments; //0x03C0 char pad_03C1[1]; //0x03C1 - uint8_t m_dial_design; //0x03C2 + uint8_t m_dail_design; //0x03C2 uint8_t m_sunstrips; //0x03C3 uint8_t m_seats; //0x03C4 - uint8_t m_steering_wheels; //0x03C5 + uint8_t m_steering_wheel; //0x03C5 uint8_t m_column_shifter_levers; //0x03C6 char pad_03C7[2]; //0x03C7 uint8_t m_truck_beds; //0x03C9 char pad_03CA[4]; //0x03CA uint8_t m_roll_cages; //0x03CE uint8_t m_skid_plate; //0x03CF - uint8_t m_secondary_ligt_surrounds; //0x03D0 + uint8_t m_secondary_light_surrounds; //0x03D0 uint8_t m_hood_accessories; //0x03D1 uint8_t m_doors; //0x03D2 uint8_t m_snorkel; //0x03D3 @@ -65,7 +67,8 @@ public: uint8_t m_neon_left; //0x0402 uint8_t m_neon_right; //0x0403 uint8_t m_neon_front; //0x0404 - uint8_t m_neon_back; //0x0405 - char pad_0406[1]; //0x0406 -}; //Size: 0x0407 -static_assert(sizeof(CVehicleDrawHandler) == 0x407); \ No newline at end of file + uint8_t m_neon_rear; //0x0405 +}; //Size: 0x0406 +static_assert(sizeof(CVehicleDrawHandler) == 0x406); + +#pragma pack(pop) \ No newline at end of file diff --git a/BigBaseV2/src/core/class/CWeaponInfo.hpp b/BigBaseV2/src/core/class/CWeaponInfo.hpp new file mode 100644 index 00000000..579da0c2 --- /dev/null +++ b/BigBaseV2/src/core/class/CWeaponInfo.hpp @@ -0,0 +1,13 @@ +#pragma once + +#pragma pack(push, 1) + +class CWeaponInfo +{ +public: + char pad_0000[16]; //0x0000 + uint32_t m_model_hash; //0x0010 +}; //Size: 0x0014 +static_assert(sizeof(CWeaponInfo) == 0x14); + +#pragma pack(pop) \ No newline at end of file