refactor: Reorganize repo (#12)

This commit is contained in:
Yimura
2022-07-29 18:00:22 +02:00
committed by GitHub
parent 9e36400039
commit ba4d0c3721
34 changed files with 46 additions and 49 deletions
+51
View File
@@ -0,0 +1,51 @@
#pragma once
#include "vehicle/CHandlingData.hpp"
#include "vehicle/CVehicleDrawHandler.hpp"
#include "vehicle/CVehicleModelInfo.hpp"
#include "rage/fwEntity.hpp"
#include <cstdint>
#pragma pack(push, 4)
class CAutomobile : public rage::fwEntity
{
public:
char pad_018C[244]; //0x018C
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)
+82
View File
@@ -0,0 +1,82 @@
#pragma once
#include "rage/vector.hpp"
#include <cstdint>
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::fvector3 m_centre_of_mass; //0x0020
char pad_002C[4]; //0x002C
rage::fvector3 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::fvector3 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);
+72
View File
@@ -0,0 +1,72 @@
#pragma once
#include <cstdint>
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);
+81
View File
@@ -0,0 +1,81 @@
#pragma once
#include "base/CBaseModelInfo.hpp"
#include <cstdint>
enum class eVehicleType : std::uint32_t
{
Car,
Plane,
Unk2,
Quadbike,
Unk4,
Unk5,
AmphibiousCar,
AmphibiousQuadbike,
Heli,
Unk9,
Unk10,
Bike,
Bicycle,
Boat,
Train
};
#pragma pack(push, 1)
class CVehicleModelInfo : public CBaseModelInfo
{
public:
char pad_00A4[84]; //0x00A4
uint8_t m_primary_color_combinations[25]; //0x00F8
uint8_t m_secondary_color_combinations[25]; //0x0111
uint8_t m_unk_color_combos1[25]; //0x012A
uint8_t m_unk_color_combos2[25]; //0x0143
uint8_t m_interior_color_combinations[25]; //0x015C
uint8_t m_dashboard_color_combinations[25]; //0x0175
char pad_018E[266]; //0x018E
char m_name[12]; //0x0298
char m_manufacturer[12]; //0x02A4
char pad_02B0[8]; //0x02B0
uint16_t m_modkits_count; //0x02B8
char pad_02BA[30]; //0x02BA
uint8_t m_passenger_capacity; //0x02D8
char pad_02D9[103]; //0x02D9
eVehicleType m_vehicle_type; //0x0340
uint32_t m_unk_vehicle_type; //0x0344
uint32_t m_diffuse_tint; //0x0348
char pad_034C[20]; //0x034C
rage::fvector3 m_first_person_driveby_ik_offset; //0x0360
char pad_036C[4]; //0x036C
rage::fvector3 m_first_person_driveby_unarmed_ik_offset; //0x0370
char pad_037C[20]; //0x037C
rage::fvector3 m_first_person_driveby_right_passenger_ik_offset; //0x0390
char pad_039C[36]; //0x039C
rage::fvector3 m_first_person_driveby_right_passenger_unarmed_ik_offset; //0x03C0
char pad_03CC[4]; //0x03CC
rage::fvector3 m_first_person_projectile_driveby_ik_offset; //0x03D0
char pad_03DC[4]; //0x03DC
rage::fvector3 m_first_person_projectile_driveby_passenger_ik_offset; //0x03E0
char pad_03EC[52]; //0x03EC
rage::fvector3 m_first_person_mobile_phone_offset; //0x0420
char pad_042C[4]; //0x042C
rage::fvector3 m_first_person_passenger_mobile_phone_offset; //0x0430
char pad_043C[20]; //0x043C
rage::fvector3 m_pov_camera_offset; //0x0450
char pad_045C[36]; //0x045C
float m_pov_camera_vertical_adjustement_for_rollcage; //0x0480
char pad_0484[8]; //0x0484
float m_wheel_scale; //0x048C
float m_wheel_scale_rear; //0x0490
float m_default_health; //0x0494
char pad_0498[4]; //0x0498
float m_steer_wheel_multiplier; //0x049C
char pad_04A0[180]; //0x04A0
float m_min_seat_height; //0x0554
char pad_0558[40]; //0x0558
uint32_t m_is_jetski; //0x0580
char pad_0584[28]; //0x0584
}; //Size: 0x05A0
static_assert(sizeof(CVehicleModelInfo) == 0x5A0);
#pragma pack(pop)