This repository has been archived on 2024-10-22. You can view files and clone it, but cannot push or open issues or pull requests.
YimMenu/src/services/vehicle/handling_profile.hpp

28 lines
1.6 KiB
C++
Raw Normal View History

#pragma once
#include "vehicle/CVehicle.hpp"
// Register to_json/from_json for these GTA classes
namespace rage
{
NLOHMANN_DEFINE_TYPE_NON_INTRUSIVE(rage::fvector3, x, y, z)
}
NLOHMANN_DEFINE_TYPE_NON_INTRUSIVE(CHandlingData, m_mass, m_initial_drag_coeff, m_downforce_multiplier, m_centre_of_mass, m_inertia_mult, m_buoyancy, m_drive_bias_rear, m_drive_bias_front, m_acceleration, m_initial_drive_gears, m_drive_inertia, m_upshift, m_downshift, m_initial_drive_force, m_drive_max_flat_velocity, m_initial_drive_max_flat_vel, m_brake_force, m_brake_bias_front, m_brake_bias_rear, m_handbrake_force, m_steering_lock, m_steering_lock_ratio, m_traction_curve_max, m_traction_curve_lateral, m_traction_curve_min, m_traction_curve_ratio, m_curve_lateral, m_curve_lateral_ratio, m_traction_spring_delta_max, m_traction_spring_delta_max_ratio, m_low_speed_traction_loss_mult, m_camber_stiffness, m_traction_bias_front, m_traction_bias_rear, m_traction_loss_mult, m_suspension_force, m_suspension_comp_damp, m_suspension_rebound_damp, m_suspension_upper_limit, m_suspension_lower_limit, m_suspension_raise, m_suspension_bias_front, m_suspension_bias_rear, m_anti_rollbar_force, m_anti_rollbar_bias_front, m_anti_rollbar_bias_rear, m_roll_centre_height_front, m_roll_centre_height_rear, m_collision_damage_mult)
namespace big
{
class handling_profile final
{
public:
handling_profile(CVehicle* vehicle);
handling_profile() = default;
void apply_to(CVehicle* vehicle, bool restore_hash = true) const;
public:
NLOHMANN_DEFINE_TYPE_INTRUSIVE(handling_profile, m_gravity, m_handling_data)
private:
float m_gravity;
CHandlingData m_handling_data;
};
}