diff --git a/.gitmodules b/.gitmodules index ed589211..6f10ecd0 100644 --- a/.gitmodules +++ b/.gitmodules @@ -18,3 +18,6 @@ path = vendor/g3log url = https://github.com/KjellKod/g3log.git ignore = dirty +[submodule "vendor/GTAV-Classes"] + path = vendor/GTAV-Classes + url = https://github.com/Yimura/GTAV-Classes.git diff --git a/BigBaseV2/src/common.hpp b/BigBaseV2/src/common.hpp index 74ee062d..e4465b5f 100644 --- a/BigBaseV2/src/common.hpp +++ b/BigBaseV2/src/common.hpp @@ -51,7 +51,7 @@ #include "logger.hpp" #include "core/globals.hpp" -#include "core/class/CPed.hpp" +#include "CPed.hpp" #include "services/vehicle_service.hpp" diff --git a/BigBaseV2/src/core/class/CAmmonInfo.hpp b/BigBaseV2/src/core/class/CAmmonInfo.hpp deleted file mode 100644 index 50cdbcf4..00000000 --- a/BigBaseV2/src/core/class/CAmmonInfo.hpp +++ /dev/null @@ -1,21 +0,0 @@ -#pragma once - -#pragma pack(push, 1) - -class CAmmoInfo -{ -public: - char pad_0000[12]; //0x0000 - uint32_t m_projectile_type; //0x000C - uint32_t m_ammo_name_hash; //0x0010 - uint32_t m_ammo_model_hash; //0x0014 - char pad_0018[16]; //0x0018 - uint32_t m_max_ammo; //0x0028 - char pad_002C[44]; //0x002C - float m_missile_speed; //0x0058 - char pad_005C[284]; //0x005C - uint32_t m_lock_on_time; //0x0178 -}; //Size: 0x017C -static_assert(sizeof(CAmmoInfo) == 0x17C); - -#pragma pack(pop) \ No newline at end of file diff --git a/BigBaseV2/src/core/class/CAutomobile.hpp b/BigBaseV2/src/core/class/CAutomobile.hpp deleted file mode 100644 index 352f60b8..00000000 --- a/BigBaseV2/src/core/class/CAutomobile.hpp +++ /dev/null @@ -1,51 +0,0 @@ -#pragma once -#include "CHandlingData.hpp" -#include "CVehicleDrawHandler.hpp" - -#pragma pack(push, 1) - -class CAutomobile -{ -public: - char pad_0000[72]; //0x0000 - class CVehicleDrawHandler* m_mods; //0x0048 - char pad_0050[313]; //0x0050 - uint8_t m_godmode; //0x0189 - char pad_018A[246]; //0x018A - float m_health; //0x0280 - char pad_0284[28]; //0x0284 - float m_health_max; //0x02A0 - char pad_02A4[116]; //0x02A4 - uint8_t m_boost_state; //0x0318 - char pad_0319[2]; //0x0319 - uint8_t m_boost_allow_recharge; //0x031B - char pad_031C[4]; //0x031C - float m_boost; //0x0320 - float m_rocket_recharge_speed; //0x0324 - char pad_0328[136]; //0x0328 - float m_jump_boost_charge; //0x03B0 - char pad_03B4[1164]; //0x03B4 - float m_body_health; //0x0840 - float m_petrol_tank_health; //0x0844 - char pad_0848[192]; //0x0848 - float m_engine_health; //0x0908 - char pad_090C[44]; //0x090C - class CHandlingData* m_handling; //0x0938 - char pad_0940[2]; //0x0940 - uint8_t m_is_drivable; //0x0942 - uint8_t m_tyres_can_burst; //0x0943 - uint8_t m_deform_god; //0x0944 - char pad_0945[179]; //0x0945 - float m_dirt_level; //0x09F8 - char pad_09FC[194]; //0x09FC - uint8_t m_is_targetable; //0x0ABE - char pad_0ABF[413]; //0x0ABF - float m_gravity; //0x0C5C - char pad_0C60[8]; //0x0C60 - class CPed* m_driver; //0x0C68 - class CPed* m_passengers[15]; //0x0C70 - class CPed* m_last_driver; //0x0CE8 -}; //Size: 0x0CF0 -static_assert(sizeof(CAutomobile) == 0xCF0); - -#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 deleted file mode 100644 index 12103086..00000000 --- a/BigBaseV2/src/core/class/CHandlingData.hpp +++ /dev/null @@ -1,83 +0,0 @@ -#pragma once -#include "gta/vector.hpp" - -#pragma pack(push, 1) - -class CHandlingData -{ -public: - char pad_0000[8]; //0x0000 - uint32_t m_model_hash; //0x0008 - float m_mass; //0x000C - float m_initial_drag_coeff; //0x0010 - 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_mult; //0x0030 - char pad_003C[4]; //0x003C - float m_buoyancy; //0x0040 - float m_drive_bias_rear; //0x0044 - float m_drive_bias_front; //0x0048 - float m_acceleration; //0x004C - uint8_t m_initial_drive_gears; //0x0050 - char pad_0051[3]; //0x0051 - float m_drive_inertia; //0x0054 - float m_upshift; //0x0058 - float m_downshift; //0x005C - float m_initial_drive_force; //0x0060 - float m_drive_max_flat_velocity; //0x0064 - float m_initial_drive_max_flat_vel; //0x0068 - float m_brake_force; //0x006C - char pad_0070[4]; //0x0070 - float m_brake_bias_front; //0x0074 - float m_brake_bias_rear; //0x0078 - float m_handbrake_force; //0x007C - float m_steering_lock; //0x0080 - float m_steering_lock_ratio; //0x0084 - float m_traction_curve_max; //0x0088 - float m_traction_curve_lateral; //0x008C - float m_traction_curve_min; //0x0090 - float m_traction_curve_ratio; //0x0094 - float m_curve_lateral; //0x0098 - float m_curve_lateral_ratio; //0x009C - float m_traction_spring_delta_max; //0x00A0 - 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 - float m_traction_bias_rear; //0x00B4 - float m_traction_loss_mult; //0x00B8 - float m_suspension_force; //0x00BC - float m_suspension_comp_damp; //0x00C0 - float m_suspension_rebound_damp; //0x00C4 - float m_suspension_upper_limit; //0x00C8 - float m_suspension_lower_limit; //0x00CC - float m_suspension_raise; //0x00D0 - float m_suspension_bias_front; //0x00D4 - float m_suspension_bias_rear; //0x00D8 - float m_anti_rollbar_force; //0x00DC - float m_anti_rollbar_bias_front; //0x00E0 - float m_anti_rollbar_bias_rear; //0x00E4 - float m_roll_centre_height_front; //0x00E8 - float m_roll_centre_height_rear; //0x00EC - float m_collision_damage_mult; //0x00F0 - float m_weapon_damamge_mult; //0x00F4 - float m_deformation_mult; //0x00F8 - float m_engine_damage_mult; //0x00FC - float m_petrol_tank_volume; //0x0100 - float m_oil_volume; //0x0104 - char pad_0108[4]; //0x0108 - rage::vector3 m_seat_offset_dist; //0x010C - uint32_t m_monetary_value; //0x0118 - char pad_011C[8]; //0x011C - 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 -}; //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 deleted file mode 100644 index 9a6ecec0..00000000 --- a/BigBaseV2/src/core/class/CPed.hpp +++ /dev/null @@ -1,49 +0,0 @@ -#pragma once -#include "CAutomobile.hpp" -#include "CPedModelInfo.hpp" -#include "CPedWeaponManager.hpp" -#include "CPlayerInfo.hpp" -#include "gta/vector.hpp" - -#pragma pack(push, 1) - -class CPed -{ -public: - char pad_0000[32]; //0x0000 - 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 - char pad_009C[237]; //0x009C - uint8_t m_godmode; //0x0189 - char pad_018A[2]; //0x018A - uint8_t m_hostility; //0x018C - char pad_018D[243]; //0x018D - float m_health; //0x0280 - char pad_0284[28]; //0x0284 - float m_maxhealth; //0x02A0 - char pad_02A4[124]; //0x02A4 - rage::vector3 m_velocity; //0x0320 - char pad_032C[2564]; //0x032C - 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[812]; //0x10E0 - uint8_t m_bike_seatbelt; //0x140C - char pad_140D[11]; //0x140D - uint8_t m_vehicle_seatbelt; //0x1418 - char pad_1419[94]; //0x1419 - uint8_t m_in_vehicle; //0x1477 - char pad_1478[104]; //0x1478 - float m_armor; //0x14E0 -}; //Size: 0x14E4 -static_assert(sizeof(CPed) == 0x14E4); - -#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 deleted file mode 100644 index dcea7bd3..00000000 --- a/BigBaseV2/src/core/class/CPedFactory.hpp +++ /dev/null @@ -1,14 +0,0 @@ -#pragma once -#include "CPed.hpp" - -#pragma pack(push, 1) - -class CPedFactory -{ -public: - char pad_0000[8]; //0x0000 - class CPed* m_local_ped; //0x0008 -}; //Size: 0x0010 -static_assert(sizeof(CPedFactory) == 0x10); - -#pragma pack(pop) \ No newline at end of file diff --git a/BigBaseV2/src/core/class/CPedModelInfo.hpp b/BigBaseV2/src/core/class/CPedModelInfo.hpp deleted file mode 100644 index d4a6e431..00000000 --- a/BigBaseV2/src/core/class/CPedModelInfo.hpp +++ /dev/null @@ -1,13 +0,0 @@ -#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 deleted file mode 100644 index 6ffaeb8c..00000000 --- a/BigBaseV2/src/core/class/CPedWeaponManager.hpp +++ /dev/null @@ -1,19 +0,0 @@ -#pragma once -#include "CWeaponInfo.hpp" - -#pragma pack(push, 1) - -class CPedWeaponManager -{ -public: - char pad_0000[16]; //0x0000 - class CPed* m_owner; //0x0010 - uint32_t m_selected_weapon_hash; //0x0018 - char pad_001C[4]; //0x001C - class CWeaponInfo* m_weapon_info; //0x0020 - char pad_0028[72]; //0x0028 - class CWeaponInfo* m_vehicle_weapon_info; //0x0070 -}; //Size: 0x0078 -static_assert(sizeof(CPedWeaponManager) == 0x78); - -#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 deleted file mode 100644 index e9554e92..00000000 --- a/BigBaseV2/src/core/class/CPlayerInfo.hpp +++ /dev/null @@ -1,69 +0,0 @@ -#pragma once - -#pragma warning(push) -#pragma warning(disable : 4201) // nonstandard extension used: nameless struct/union -union netAddress -{ - std::uint32_t m_raw; - struct - { - std::uint8_t m_field4; - std::uint8_t m_field3; - std::uint8_t m_field2; - std::uint8_t m_field1; - }; -}; -#pragma warning(pop) -#pragma pack(push, 1) - -class CPlayerInfo -{ -public: - char pad_0000[32]; //0x0000 - netAddress m_internal_ip; //0x0020 - uint16_t m_internal_port; //0x0024 - char pad_0026[2]; //0x0026 - uint64_t m_rockstar_id; //0x0028 - char pad_0030[60]; //0x0030 - netAddress m_external_ip; //0x006C - uint16_t m_external_port; //0x0070 - char pad_0072[30]; //0x0072 - uint64_t m_rockstar_id2; //0x0090 - char pad_0098[12]; //0x0098 - char m_name[20]; //0x00A4 - char pad_00B8[184]; //0x00B8 - float m_swim_speed; //0x0170 - char pad_0174[20]; //0x0174 - uint32_t m_water_proof; //0x0188 - char pad_018C[92]; //0x018C - class CPed* m_ped; //0x01E8 - char pad_01F0[40]; //0x01F0 - uint32_t m_frame_flags; //0x0218 - char pad_021C[52]; //0x021C - uint32_t m_player_controls; //0x0250 - char pad_0254[1256]; //0x0254 - float m_wanted_can_change; //0x073C - char pad_0740[304]; //0x0740 - uint32_t m_npc_ignore; //0x0870 - char pad_0874[12]; //0x0874 - bool m_is_wanted; //0x0880 - char pad_0881[7]; //0x0881 - uint32_t m_wanted_level; //0x0888 - uint32_t m_wanted_level_display; //0x088C - char pad_0890[1120]; //0x0890 - float m_run_speed; //0x0CF0 - float m_stamina; //0x0CF4 - float m_stamina_regen; //0x0CF8 - char pad_0CFC[16]; //0x0CFC - float m_weapon_damage_mult; //0x0D0C - float m_weapon_defence_mult; //0x0D10 - char pad_0D14[4]; //0x0D14 - float m_melee_weapon_damage_mult; //0x0D18 - float m_melee_damage_mult; //0x0D1C - float m_melee_defence_mult; //0x0D20 - char pad_0D24[8]; //0x0D24 - float m_melee_weapon_defence_mult; //0x0D2C -}; //Size: 0x0D30 -static_assert(sizeof(CPlayerInfo) == 0xD30); - -#pragma pack(pop) \ No newline at end of file diff --git a/BigBaseV2/src/core/class/CVehicleDrawHandler.hpp b/BigBaseV2/src/core/class/CVehicleDrawHandler.hpp deleted file mode 100644 index b887f9e8..00000000 --- a/BigBaseV2/src/core/class/CVehicleDrawHandler.hpp +++ /dev/null @@ -1,74 +0,0 @@ -#pragma once - -#pragma pack(push, 1) - -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_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 - 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_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_dail_design; //0x03C2 - uint8_t m_sunstrips; //0x03C3 - uint8_t m_seats; //0x03C4 - 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_light_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_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 deleted file mode 100644 index 309580a9..00000000 --- a/BigBaseV2/src/core/class/CWeaponInfo.hpp +++ /dev/null @@ -1,42 +0,0 @@ -#pragma once -#include "CAmmonInfo.hpp" - -#pragma pack(push, 1) - -class CWeaponInfo -{ -public: - char pad_0000[16]; //0x0000 - uint32_t m_name_hash; //0x0010 - uint32_t m_model_hash; //0x0014 - char pad_0018[12]; //0x0018 - uint32_t m_impact_explosion; //0x0024 - char pad_0028[56]; //0x0028 - class CAmmoInfo* m_ammo_info; //0x0060 - char pad_0068[20]; //0x0068 - float m_spread; //0x007C - char pad_0080[60]; //0x0080 - float m_bullet_dmg; //0x00BC - char pad_00C0[28]; //0x00C0 - float m_force_on_ped; //0x00DC - float m_force_on_vehicle; //0x00E0 - float m_force_on_heli; //0x00E4 - char pad_00E8[40]; //0x00E8 - float m_penetration; //0x0110 - char pad_0114[8]; //0x0114 - float m_muzzle_velocity; //0x011C - char pad_0120[16]; //0x0120 - float m_vehicle_reload_mult; //0x0130 - float m_reload_mult; //0x0134 - char pad_0138[12]; //0x0138 - float m_spinup; //0x0144 - float m_spin; //0x0148 - char pad_014C[316]; //0x014C - float m_lock_on_range; //0x0288 - float m_weapon_range; //0x028C - char pad_0290[100]; //0x0290 - float m_accuracy_recoil; //0x02F4 -}; //Size: 0x02F8 -static_assert(sizeof(CWeaponInfo) == 0x2F8); - -#pragma pack(pop) \ No newline at end of file diff --git a/BigBaseV2/src/gta_util.hpp b/BigBaseV2/src/gta_util.hpp index 16b1288c..71bb5221 100644 --- a/BigBaseV2/src/gta_util.hpp +++ b/BigBaseV2/src/gta_util.hpp @@ -1,7 +1,7 @@ #pragma once #include "common.hpp" #include "gta/array.hpp" -#include "core/class/CPedFactory.hpp" +#include "CPedFactory.hpp" #include "gta/player.hpp" #include "gta/script_thread.hpp" #include "gta/tls_context.hpp" diff --git a/premake5.lua b/premake5.lua index 2b6154e6..bf6acad6 100644 --- a/premake5.lua +++ b/premake5.lua @@ -18,6 +18,7 @@ workspace "BigBaseV2" IncludeDir["ImGui"] = "vendor/ImGui" IncludeDir["ImGuiImpl"] = "vendor/ImGui/examples" IncludeDir["g3log"] = "vendor/g3log/src" + IncludeDir["GTAV_Classes"] = "vendor/GTAV-Classes" CppVersion = "C++17" MsvcToolset = "v142" @@ -191,6 +192,7 @@ workspace "BigBaseV2" "%{IncludeDir.ImGui}", "%{IncludeDir.ImGuiImpl}", "%{IncludeDir.g3log}", + "%{IncludeDir.GTAV_Classes}", "%{prj.name}/src" } diff --git a/vendor/GTAV-Classes b/vendor/GTAV-Classes new file mode 160000 index 00000000..2f2fa03b --- /dev/null +++ b/vendor/GTAV-Classes @@ -0,0 +1 @@ +Subproject commit 2f2fa03b831fbaecbfff0da286fc16f23ae9e6f3