diff --git a/src/game/vehicle.cpp b/src/game/vehicle.cpp index 67c6984..b1cde2d 100644 --- a/src/game/vehicle.cpp +++ b/src/game/vehicle.cpp @@ -189,7 +189,7 @@ void game::Vehicle::ProcessInput() float steeringClamp = std::max(minsc, (1.f - (std::abs(speed) / sl)) * maxsc); // steeringClamp = .5f; - float steeringSpeed = steeringClamp * 5.0f; + float steeringSpeed = steeringClamp * steering_speed_; if (steering_analog_) steeringSpeed *= 3.0f; @@ -641,6 +641,7 @@ void game::Vehicle::ApplyTuning(const VehicleTuning& tuning) } health_ = tuning_ctx_.health; + steering_speed_ = tuning_ctx_.steering; // (re)create physics physics_.reset(); diff --git a/src/game/vehicle.hpp b/src/game/vehicle.hpp index f4ae5bd..26a26ba 100644 --- a/src/game/vehicle.hpp +++ b/src/game/vehicle.hpp @@ -136,6 +136,7 @@ private: float steering_ = 0.0f; bool steering_analog_ = false; float target_steering_ = 0.0f; + float steering_speed_ = 5.0f; std::vector wheels_; diff --git a/src/game/vehicle_tuning.cpp b/src/game/vehicle_tuning.cpp index ec888e4..f1411ff 100644 --- a/src/game/vehicle_tuning.cpp +++ b/src/game/vehicle_tuning.cpp @@ -14,6 +14,8 @@ static float game::VehicleTuningContext::* GetCtxVariablePointer(const std::stri return &game::VehicleTuningContext::braking_force; if (name == "health") return &game::VehicleTuningContext::health; + if (name == "steering") + return &game::VehicleTuningContext::steering; throw std::runtime_error("tuning list: invalid variable " + name); } diff --git a/src/game/vehicle_tuning.hpp b/src/game/vehicle_tuning.hpp index 82acd17..b90ef01 100644 --- a/src/game/vehicle_tuning.hpp +++ b/src/game/vehicle_tuning.hpp @@ -35,6 +35,7 @@ struct VehicleTuningContext float engine_force; float braking_force; float health; + float steering; std::vector wheels; };