From 237045b613dcf236a952e4a53212f5b9d86b3c6f Mon Sep 17 00:00:00 2001 From: Yimura Date: Fri, 19 Feb 2021 15:45:19 +0100 Subject: [PATCH] feat(PedFactory): Updated classes --- BigBaseV2/src/gta/ped_factory.hpp | 109 ++++++++++++++++++++++++++---- 1 file changed, 94 insertions(+), 15 deletions(-) diff --git a/BigBaseV2/src/gta/ped_factory.hpp b/BigBaseV2/src/gta/ped_factory.hpp index 7e838c75..8c8b83b6 100644 --- a/BigBaseV2/src/gta/ped_factory.hpp +++ b/BigBaseV2/src/gta/ped_factory.hpp @@ -50,15 +50,22 @@ static_assert(sizeof(CPed) == 0x14E4); class CAutomobile { public: - char pad_0000[393]; //0x0000 + char pad_0000[72]; //0x0000 + class CVehicleDrawHandler* m_mods; //0x0048 + char pad_0050[313]; //0x0050 uint8_t m_godmode; //0x0189 - char pad_018A[1722]; //0x018A + char pad_018A[406]; //0x018A + float m_boost; //0x0320 + float m_rocket_recharge_speed; //0x0324 + char pad_0328[1308]; //0x0328 float m_health; //0x0844 char pad_0848[192]; //0x0848 float m_health2; //0x0908 char pad_090C[44]; //0x090C class CHandlingData* m_handling; //0x0938 - char pad_0940[688]; //0x0940 + 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 float m_gravity; //0x0C5C @@ -115,9 +122,8 @@ class CPedWeaponManager public: char pad_0000[32]; //0x0000 class CWeaponInfo* m_weapon_info; //0x0020 - char pad_0028[152]; //0x0028 -}; //Size: 0x00C0 -static_assert(sizeof(CPedWeaponManager) == 0xC0); +}; //Size: 0x0028 +static_assert(sizeof(CPedWeaponManager) == 0x28); class CHandlingData { @@ -156,13 +162,14 @@ public: float m_traction_curve_lateral; //0x008C float m_traction_curve_min; //0x0090 float m_traction_curve_ratio; //0x0094 - char pad_0098[8]; //0x0098 + float m_curve_lateral; //0x0098 + float m_curve_lateral_ratio; //0x009C float m_traction_spring_delta_max; //0x00A0 - char pad_00A4[4]; //0x00A4 + float m_traction_spring_delta_max_ratio; //0x00A4 float m_low_speed_traction_loss_mult; //0x00A8 float m_camber_stiffness; //0x00AC float m_traction_bias_front; //0x00B0 - char pad_00B4[4]; //0x00B4 + float m_traction_bias_rear; //0x00B4 float m_traction_loss_mult; //0x00B8 float m_suspension_force; //0x00BC float m_suspension_comp_damp; //0x00C0 @@ -199,16 +206,18 @@ static_assert(sizeof(CHandlingData) == 0x210); class CWeaponInfo { public: - char pad_0000[376]; //0x0000 -}; //Size: 0x0178 -static_assert(sizeof(CWeaponInfo) == 0x178); + char pad_0000[16]; //0x0000 + uint32_t m_model_hash; //0x0010 +}; //Size: 0x0014 +static_assert(sizeof(CWeaponInfo) == 0x14); class CPedModelInfo { public: - char pad_0000[96]; //0x0000 -}; //Size: 0x0060 -static_assert(sizeof(CPedModelInfo) == 0x60); + char pad_0000[24]; //0x0000 + uint32_t m_model_hash; //0x0018 +}; //Size: 0x001C +static_assert(sizeof(CPedModelInfo) == 0x1C); class WheelArray { @@ -230,4 +239,74 @@ public: char pad_0010[552]; //0x0010 }; //Size: 0x0238 static_assert(sizeof(CWheel) == 0x238); + +class CVehicleDrawHandler +{ +public: + char pad_0000[904]; //0x0000 + uint8_t m_primary_color; //0x0388 + char pad_0389[3]; //0x0389 + uint8_t m_pearlescent; //0x038C + 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 + char pad_03A3[15]; //0x03A3 + uint8_t m_spoiler; //0x03B2 + uint8_t m_bumper_front; //0x03B3 + uint8_t m_bumper_rear; //0x03B4 + uint8_t m_sideskirts; //0x03B5 + uint8_t m_exhaust; //0x03B6 + uint8_t m_frame; //0x03B7 + uint8_t m_grille; //0x03B8 + uint8_t m_hoods; //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_sunstrips; //0x03C3 + uint8_t m_seats; //0x03C4 + uint8_t m_steering_wheels; //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_hood_accessories; //0x03D1 + uint8_t m_doors; //0x03D2 + uint8_t m_snorkel; //0x03D3 + uint8_t m_livery; //0x03D4 + char pad_03D5[1]; //0x03D5 + uint8_t m_engine; //0x03D6 + uint8_t m_brakes; //0x03D7 + uint8_t m_transmission; //0x03D8 + uint8_t m_horn; //0x03D9 + uint8_t m_suspension; //0x03DA + uint8_t m_armor; //0x03DB + char pad_03DC[1]; //0x03DC + uint8_t m_turbo; //0x03DD + char pad_03DE[3]; //0x03DE + uint8_t m_xenon; //0x03E1 + uint8_t m_tire_design; //0x03E2 + char pad_03E3[16]; //0x03E3 + uint8_t m_truck_bed; //0x03F3 + char pad_03F4[5]; //0x03F4 + uint8_t m_wheel_color; //0x03F9 + char pad_03FA[5]; //0x03FA + uint8_t m_window; //0x03FF + char pad_0400[2]; //0x0400 + 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[142]; //0x0406 +}; //Size: 0x0494 +static_assert(sizeof(CVehicleDrawHandler) == 0x494); #pragma pack(pop) \ No newline at end of file