diff --git a/CAutomobile.h b/CAutomobile.h index fb59537..1365347 100644 --- a/CAutomobile.h +++ b/CAutomobile.h @@ -1,8 +1,11 @@ +#include "CHandlingData.h" +#include "CVehicleDrawHandler.h" + class CAutomobile { public: char pad_0000[72]; //0x0000 - class CVehicleDrawHandler* m_mods; //0x0048 + class CVehicleDrawHandler *m_mods; //0x0048 char pad_0050[313]; //0x0050 uint8_t m_godmode; //0x0189 char pad_018A[406]; //0x018A @@ -13,12 +16,10 @@ public: char pad_0848[192]; //0x0848 float m_health2; //0x0908 char pad_090C[44]; //0x090C - class CHandlingData* m_handling; //0x0938 + 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); \ No newline at end of file diff --git a/CHandlingData.h b/CHandlingData.h index 2e5a886..6407e77 100644 --- a/CHandlingData.h +++ b/CHandlingData.h @@ -2,15 +2,15 @@ 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 + Vector3 m_centre_of_mass; //0x0020 char pad_002C[4]; //0x002C - rage::vector3 m_inertia_multiplier; //0x0030 + Vector3 m_inertia_mult; //0x0030 char pad_003C[4]; //0x003C float m_buoyancy; //0x0040 float m_drive_bias_rear; //0x0044 @@ -22,9 +22,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 @@ -64,14 +64,13 @@ public: float m_petrol_tank_volume; //0x0100 float m_oil_volume; //0x0104 char pad_0108[4]; //0x0108 - rage::vector3 m_seat_index_dist; //0x010C + 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); \ No newline at end of file diff --git a/CPed.h b/CPed.h index 6855e53..d8eca8e 100644 --- a/CPed.h +++ b/CPed.h @@ -1,15 +1,20 @@ +#include "CAutomobile.h" +#include "CPedModelInfo.h" +#include "CPedWeaponManager.h" +#include "CPlayerInfo.h" + class CPed { public: char pad_0000[32]; //0x0000 - class CPedModelInfo* m_ped_model_info; //0x0020 + class CPedModelInfo *m_ped_model_info; //0x0020 uint8_t m_entity_type; //0x0028 char pad_0029[3]; //0x0029 uint8_t m_invisible; //0x002C char pad_002D[1]; //0x002D uint8_t m_freeze_momentum; //0x002E char pad_002F[97]; //0x002F - rage::vector3 m_position; //0x0090 + Vector3 m_position; //0x0090 char pad_009C[237]; //0x009C uint8_t m_godmode; //0x0189 char pad_018A[246]; //0x018A @@ -17,18 +22,14 @@ public: char pad_0284[28]; //0x0284 float m_maxhealth; //0x02A0 char pad_02A4[124]; //0x02A4 - rage::vector3 m_velocity; //0x0320 + 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 - class CPlayerInfo* m_player_info; //0x10C8 + class CAutomobile *m_vehicle; //0x0D30 + 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 + class CPedWeaponManager *m_weapon_manager; //0x10D8 + char pad_10E0[1024]; //0x10E0 float m_armor; //0x14E0 }; //Size: 0x14E4 static_assert(sizeof(CPed) == 0x14E4); \ No newline at end of file diff --git a/CPedFactory.h b/CPedFactory.h index 75d346b..9ebd177 100644 --- a/CPedFactory.h +++ b/CPedFactory.h @@ -1,7 +1,9 @@ +#include "CPed.h" + class CPedFactory { public: char pad_0000[8]; //0x0000 - class CPed* m_local_ped; //0x0008 + class CPed *m_local_ped; //0x0008 }; //Size: 0x0010 static_assert(sizeof(CPedFactory) == 0x10); \ No newline at end of file diff --git a/CPedWeaponManager.h b/CPedWeaponManager.h index 96a1f57..949c62b 100644 --- a/CPedWeaponManager.h +++ b/CPedWeaponManager.h @@ -2,6 +2,6 @@ class CPedWeaponManager { public: char pad_0000[32]; //0x0000 - class CWeaponInfo* m_weapon_info; //0x0020 + class CWeaponInfo *m_weapon_info; //0x0020 }; //Size: 0x0028 static_assert(sizeof(CPedWeaponManager) == 0x28); \ No newline at end of file diff --git a/CPlayerInfo.h b/CPlayerInfo.h index 9f0a390..5b49131 100644 --- a/CPlayerInfo.h +++ b/CPlayerInfo.h @@ -1,3 +1,6 @@ +// #include "CPed.h" // not included to prevent circular inclusion + +class CPed; // make the compiler happy class CPlayerInfo { public: @@ -24,14 +27,12 @@ public: char pad_01A8[11]; //0x01A8 bool m_is_online; //0x01B3 char pad_01B4[20]; //0x01B4 - class CPed* m_ped; //0x01C8 + class CPed *m_ped; //0x01C8 char pad_01D0[40]; //0x01D0 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/CVehicleDrawHandler.h b/CVehicleDrawHandler.h index 3f84dba..381297b 100644 --- a/CVehicleDrawHandler.h +++ b/CVehicleDrawHandler.h @@ -8,9 +8,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 @@ -19,24 +19,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 @@ -63,7 +63,6 @@ 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[142]; //0x0406 -}; //Size: 0x0494 -static_assert(sizeof(CVehicleDrawHandler) == 0x494); \ No newline at end of file + uint8_t m_neon_rear; //0x0405 +}; //Size: 0x0406 +static_assert(sizeof(CVehicleDrawHandler) == 0x406); \ No newline at end of file diff --git a/CWheel.h b/CWheel.h deleted file mode 100644 index b452ab7..0000000 --- a/CWheel.h +++ /dev/null @@ -1,20 +0,0 @@ -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); - -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); \ No newline at end of file diff --git a/gtav.rcnet b/gtav.rcnet index f13f83a..5a67c98 100644 Binary files a/gtav.rcnet and b/gtav.rcnet differ