Work
This commit is contained in:
71
src/karts/abstract_characteristics.cpp
Normal file → Executable file
71
src/karts/abstract_characteristics.cpp
Normal file → Executable file
@@ -18,37 +18,44 @@
|
||||
|
||||
#include "karts/abstract_characteristics.hpp"
|
||||
|
||||
#include "utils/log.hpp"
|
||||
|
||||
#include <cmath>
|
||||
|
||||
AbstractCharacteristics::AbstractCharacteristics()
|
||||
{
|
||||
// Set all variables to their default value (1)
|
||||
m_suspension_stiffness = m_suspension_rest = m_suspension_travel_cm =
|
||||
m_suspension_exp_spring_response = m_suspension_max_force =
|
||||
m_stability_roll_influence = m_stability_chassis_linear_damping =
|
||||
m_stability_chassis_angular_damping = m_stability_downward_impulse_factor =
|
||||
m_stability_track_connection_accel = m_stability_smooth_flying_impulse =
|
||||
m_turn_time_reset_steer = m_engine_power = m_engine_max_speed =
|
||||
m_engine_brake_factor = m_engine_brake_time_increase =
|
||||
m_engine_max_speed_reverse_ratio = m_mass = m_wheels_damping_relaxation =
|
||||
m_wheels_damping_compression = m_wheels_wheel_radius = m_camera_distance =
|
||||
m_camera_forward_up_angle = m_camera_backward_up_angle =
|
||||
m_jump_animation_time = m_lean_max = m_lean_speed = m_anvil_duration =
|
||||
m_anvil_weight = m_anvil_speed_factor = m_parachute_friction =
|
||||
m_parachute_duration = m_parachute_duration_other =
|
||||
m_parachute_lbound_franction = m_parachute_ubound_franction =
|
||||
m_parachute_max_speed = m_bubblegum_duration = m_bubblegum_speed_fraction =
|
||||
m_bubblegum_torque = m_bubblegum_fade_in_time =
|
||||
m_bubblegum_shield_duration = m_zipper_duration = m_zipper_force =
|
||||
m_zipper_speed_gain = m_zipper_speed_increase = m_zipper_fade_out_time =
|
||||
m_swatter_duration = m_swatter_distance = m_swatter_squash_duration =
|
||||
m_swatter_squash_slowdown = m_plunger_max_length = m_plunger_force =
|
||||
m_plunger_duration = m_plunger_speed_increase = m_plunger_fade_out_time =
|
||||
m_plunger_in_face_time = m_rescue_duration = m_rescue_vert_offset =
|
||||
m_rescue_height = m_explosion_duration = m_explosion_radius =
|
||||
m_explosion_invulnerability_time = m_nitro_duration =
|
||||
m_nitro_engine_force = m_nitro_consumption = m_nitro_small_container =
|
||||
m_nitro_big_container = m_nitro_max_speed_increase =
|
||||
m_nitro_fade_out_time = m_nitro_max = m_slipstream_duration =
|
||||
m_slipstream_length = m_slipstream_width = m_slipstream_collect_time =
|
||||
m_slipstream_use_time = m_slipstream_add_power = m_slipstream_min_speed =
|
||||
m_slipstream_max_speed_increase = m_slipstream_fade_out_time = 1;
|
||||
}
|
||||
}
|
||||
|
||||
float AbstractCharacteristics::processFloat(CharacteristicType type, float value) const
|
||||
{
|
||||
return getFloat(type);
|
||||
}
|
||||
|
||||
std::vector<float> AbstractCharacteristics::processFloatVector(CharacteristicType type, const std::vector<float> &value) const
|
||||
{
|
||||
return getFloatVector(type);
|
||||
}
|
||||
|
||||
InterpolationArray AbstractCharacteristics::processInterpolationArray(CharacteristicType type, const InterpolationArray &value) const
|
||||
{
|
||||
return getInterpolationArray(type);
|
||||
}
|
||||
|
||||
float AbstractCharacteristics::getFloat(CharacteristicType type) const
|
||||
{
|
||||
Log::fatal("AbstractCharacteristics", "This type does not support getFloat");
|
||||
return NAN;
|
||||
}
|
||||
|
||||
std::vector<float> AbstractCharacteristics::getFloatVector(CharacteristicType type) const
|
||||
{
|
||||
Log::fatal("AbstractCharacteristics", "This type does not support getFloatVector");
|
||||
return std::vector<float>();
|
||||
}
|
||||
|
||||
InterpolationArray AbstractCharacteristics::getInterpolationArray(CharacteristicType type) const
|
||||
{
|
||||
Log::fatal("AbstractCharacteristics", "This type does not support getInterpolationArray");
|
||||
return InterpolationArray();
|
||||
}
|
||||
|
||||
|
||||
475
src/karts/abstract_characteristics.hpp
Normal file → Executable file
475
src/karts/abstract_characteristics.hpp
Normal file → Executable file
@@ -40,14 +40,15 @@ class SkiddingProperties;
|
||||
*/
|
||||
class AbstractCharacteristics
|
||||
{
|
||||
private:
|
||||
/* Characteristics that are saved as float. Use the following lines as input
|
||||
/* The following lines are the input for a script that generates code for this class
|
||||
Suspension: stiffness, rest, travelCm, expSpringResponse, maxForce
|
||||
Stability: rollInfluence, chassisLinearDamping, chassisAngularDamping, downwardImpulseFactor, trackConnectionAccel, smoothFlyingImpulse
|
||||
Turn: timeResetSteer
|
||||
Turn: radius, timeFullSteer, timeResetSteer
|
||||
Engine: power, maxSpeed, brakeFactor, brakeTimeIncrease, maxSpeedReverseRatio
|
||||
Gear: switchRatio, powerIncrease
|
||||
Mass
|
||||
Wheels: dampingRelaxation, dampingCompression, wheelRadius
|
||||
Skidding
|
||||
Camera: distance, forwardUpAngle, backwardUpAngle
|
||||
Jump: animationTime
|
||||
Lean: max, speed
|
||||
@@ -57,135 +58,121 @@ private:
|
||||
Zipper: duration, force, speedGain, speedIncrease, fadeOutTime
|
||||
Swatter: duration, distance, squashDuration, squashSlowdown
|
||||
Plunger: maxLength, force, duration, speedIncrease, fadeOutTime, inFaceTime
|
||||
Startup: time, boost
|
||||
Rescue: duration, vertOffset, height
|
||||
Explosion: duration, radius, invulnerabilityTime
|
||||
Nitro: duration, engineForce, consumption, smallContainer, bigContainer, maxSpeedIncrease, fadeOutTime, max
|
||||
Slipstream: duration, length, width, collectTime, useTime, addPower, minSpeed, maxSpeedIncrease, fadeOutTime
|
||||
*/
|
||||
|
||||
/* ---------- Variables generated by the script ---------- */
|
||||
|
||||
// Suspension
|
||||
float m_suspension_stiffness;
|
||||
float m_suspension_rest;
|
||||
float m_suspension_travel_cm;
|
||||
float m_suspension_exp_spring_response;
|
||||
float m_suspension_max_force;
|
||||
|
||||
// Stability
|
||||
float m_stability_roll_influence;
|
||||
float m_stability_chassis_linear_damping;
|
||||
float m_stability_chassis_angular_damping;
|
||||
float m_stability_downward_impulse_factor;
|
||||
float m_stability_track_connection_accel;
|
||||
float m_stability_smooth_flying_impulse;
|
||||
public:
|
||||
enum CharacteristicType
|
||||
{
|
||||
// Suspension
|
||||
SUSPENSION_STIFFNESS,
|
||||
SUSPENSION_REST,
|
||||
SUSPENSION_TRAVEL_CM,
|
||||
SUSPENSION_EXP_SPRING_RESPONSE,
|
||||
SUSPENSION_MAX_FORCE,
|
||||
// Stability
|
||||
STABILITY_ROLL_INFLUENCE,
|
||||
STABILITY_CHASSIS_LINEAR_DAMPING,
|
||||
STABILITY_CHASSIS_ANGULAR_DAMPING,
|
||||
STABILITY_DOWNWARD_IMPULSE_FACTOR,
|
||||
STABILITY_TRACK_CONNECTION_ACCEL,
|
||||
STABILITY_SMOOTH_FLYING_IMPULSE,
|
||||
// Turn
|
||||
TURN_TIME_RESET_STEER,
|
||||
// Engine
|
||||
ENGINE_POWER,
|
||||
ENGINE_MAX_SPEED,
|
||||
ENGINE_BRAKE_FACTOR,
|
||||
ENGINE_BRAKE_TIME_INCREASE,
|
||||
ENGINE_MAX_SPEED_REVERSE_RATIO,
|
||||
// Mass
|
||||
MASS,
|
||||
// Wheels
|
||||
WHEELS_DAMPING_RELAXATION,
|
||||
WHEELS_DAMPING_COMPRESSION,
|
||||
WHEELS_WHEEL_RADIUS,
|
||||
// Camera
|
||||
CAMERA_DISTANCE,
|
||||
CAMERA_FORWARD_UP_ANGLE,
|
||||
CAMERA_BACKWARD_UP_ANGLE,
|
||||
// Jump
|
||||
JUMP_ANIMATION_TIME,
|
||||
// Lean
|
||||
LEAN_MAX,
|
||||
LEAN_SPEED,
|
||||
// Anvil
|
||||
ANVIL_DURATION,
|
||||
ANVIL_WEIGHT,
|
||||
ANVIL_SPEED_FACTOR,
|
||||
// Parachute
|
||||
PARACHUTE_FRICTION,
|
||||
PARACHUTE_DURATION,
|
||||
PARACHUTE_DURATION_OTHER,
|
||||
PARACHUTE_LBOUND_FRANCTION,
|
||||
PARACHUTE_UBOUND_FRANCTION,
|
||||
PARACHUTE_MAX_SPEED,
|
||||
// Bubblegum
|
||||
BUBBLEGUM_DURATION,
|
||||
BUBBLEGUM_SPEED_FRACTION,
|
||||
BUBBLEGUM_TORQUE,
|
||||
BUBBLEGUM_FADE_IN_TIME,
|
||||
BUBBLEGUM_SHIELD_DURATION,
|
||||
// Zipper
|
||||
ZIPPER_DURATION,
|
||||
ZIPPER_FORCE,
|
||||
ZIPPER_SPEED_GAIN,
|
||||
ZIPPER_SPEED_INCREASE,
|
||||
ZIPPER_FADE_OUT_TIME,
|
||||
// Swatter
|
||||
SWATTER_DURATION,
|
||||
SWATTER_DISTANCE,
|
||||
SWATTER_SQUASH_DURATION,
|
||||
SWATTER_SQUASH_SLOWDOWN,
|
||||
// Plunger
|
||||
PLUNGER_MAX_LENGTH,
|
||||
PLUNGER_FORCE,
|
||||
PLUNGER_DURATION,
|
||||
PLUNGER_SPEED_INCREASE,
|
||||
PLUNGER_FADE_OUT_TIME,
|
||||
PLUNGER_IN_FACE_TIME,
|
||||
// Rescue
|
||||
RESCUE_DURATION,
|
||||
RESCUE_VERT_OFFSET,
|
||||
RESCUE_HEIGHT,
|
||||
// Explosion
|
||||
EXPLOSION_DURATION,
|
||||
EXPLOSION_RADIUS,
|
||||
EXPLOSION_INVULNERABILITY_TIME,
|
||||
// Nitro
|
||||
NITRO_DURATION,
|
||||
NITRO_ENGINE_FORCE,
|
||||
NITRO_CONSUMPTION,
|
||||
NITRO_SMALL_CONTAINER,
|
||||
NITRO_BIG_CONTAINER,
|
||||
NITRO_MAX_SPEED_INCREASE,
|
||||
NITRO_FADE_OUT_TIME,
|
||||
NITRO_MAX,
|
||||
// Slipstream
|
||||
SLIPSTREAM_DURATION,
|
||||
SLIPSTREAM_LENGTH,
|
||||
SLIPSTREAM_WIDTH,
|
||||
SLIPSTREAM_COLLECT_TIME,
|
||||
SLIPSTREAM_USE_TIME,
|
||||
SLIPSTREAM_ADD_POWER,
|
||||
SLIPSTREAM_MIN_SPEED,
|
||||
SLIPSTREAM_MAX_SPEED_INCREASE,
|
||||
SLIPSTREAM_FADE_OUT_TIME,
|
||||
|
||||
// Count
|
||||
CHARACTERISTIC_COUNT
|
||||
};
|
||||
private:
|
||||
// Turn
|
||||
float m_turn_time_reset_steer;
|
||||
|
||||
// Engine
|
||||
float m_engine_power;
|
||||
float m_engine_max_speed;
|
||||
float m_engine_brake_factor;
|
||||
float m_engine_brake_time_increase;
|
||||
float m_engine_max_speed_reverse_ratio;
|
||||
|
||||
// Mass
|
||||
float m_mass;
|
||||
|
||||
// Wheels
|
||||
float m_wheels_damping_relaxation;
|
||||
float m_wheels_damping_compression;
|
||||
float m_wheels_wheel_radius;
|
||||
|
||||
// Camera
|
||||
float m_camera_distance;
|
||||
float m_camera_forward_up_angle;
|
||||
float m_camera_backward_up_angle;
|
||||
|
||||
// Jump
|
||||
float m_jump_animation_time;
|
||||
|
||||
// Lean
|
||||
float m_lean_max;
|
||||
float m_lean_speed;
|
||||
|
||||
// Anvil
|
||||
float m_anvil_duration;
|
||||
float m_anvil_weight;
|
||||
float m_anvil_speed_factor;
|
||||
|
||||
// Parachute
|
||||
float m_parachute_friction;
|
||||
float m_parachute_duration;
|
||||
float m_parachute_duration_other;
|
||||
float m_parachute_lbound_franction;
|
||||
float m_parachute_ubound_franction;
|
||||
float m_parachute_max_speed;
|
||||
|
||||
// Bubblegum
|
||||
float m_bubblegum_duration;
|
||||
float m_bubblegum_speed_fraction;
|
||||
float m_bubblegum_torque;
|
||||
float m_bubblegum_fade_in_time;
|
||||
float m_bubblegum_shield_duration;
|
||||
|
||||
// Zipper
|
||||
float m_zipper_duration;
|
||||
float m_zipper_force;
|
||||
float m_zipper_speed_gain;
|
||||
float m_zipper_speed_increase;
|
||||
float m_zipper_fade_out_time;
|
||||
|
||||
// Swatter
|
||||
float m_swatter_duration;
|
||||
float m_swatter_distance;
|
||||
float m_swatter_squash_duration;
|
||||
float m_swatter_squash_slowdown;
|
||||
|
||||
// Plunger
|
||||
float m_plunger_max_length;
|
||||
float m_plunger_force;
|
||||
float m_plunger_duration;
|
||||
float m_plunger_speed_increase;
|
||||
float m_plunger_fade_out_time;
|
||||
float m_plunger_in_face_time;
|
||||
|
||||
// Rescue
|
||||
float m_rescue_duration;
|
||||
float m_rescue_vert_offset;
|
||||
float m_rescue_height;
|
||||
|
||||
// Explosion
|
||||
float m_explosion_duration;
|
||||
float m_explosion_radius;
|
||||
float m_explosion_invulnerability_time;
|
||||
|
||||
// Nitro
|
||||
float m_nitro_duration;
|
||||
float m_nitro_engine_force;
|
||||
float m_nitro_consumption;
|
||||
float m_nitro_small_container;
|
||||
float m_nitro_big_container;
|
||||
float m_nitro_max_speed_increase;
|
||||
float m_nitro_fade_out_time;
|
||||
float m_nitro_max;
|
||||
|
||||
// Slipstream
|
||||
float m_slipstream_duration;
|
||||
float m_slipstream_length;
|
||||
float m_slipstream_width;
|
||||
float m_slipstream_collect_time;
|
||||
float m_slipstream_use_time;
|
||||
float m_slipstream_add_power;
|
||||
float m_slipstream_min_speed;
|
||||
float m_slipstream_max_speed_increase;
|
||||
float m_slipstream_fade_out_time;
|
||||
|
||||
/* ---------- Variables added by hand ---------- */
|
||||
|
||||
// Turn
|
||||
InterpolationArray m_turn_radius;
|
||||
/*InterpolationArray m_turn_radius;
|
||||
InterpolationArray m_turn_time_full_steer;
|
||||
|
||||
// Gear
|
||||
@@ -193,242 +180,32 @@ private:
|
||||
std::vector<float> m_gear_power_increase;
|
||||
|
||||
// Wheels
|
||||
std::vector<Vec3> m_wheel_position;
|
||||
std::vector<Vec3> m_wheel_position;*/
|
||||
|
||||
// Skid
|
||||
SkiddingProperties *m_skidding;
|
||||
|
||||
|
||||
/* ---------- Miscellaneous ---------- */
|
||||
/** The skididing properties for this kart, as a separate object in order
|
||||
* to reduce dependencies (and therefore compile time) when changing
|
||||
* any skidding property. */
|
||||
/*SkiddingProperties *m_skidding;
|
||||
|
||||
// Startup
|
||||
std::vector<float> m_startup_time;
|
||||
std::vector<float> m_startup_boost;
|
||||
std::vector<float> m_startup_boost;*/
|
||||
|
||||
public:
|
||||
AbstractCharacteristics();
|
||||
|
||||
/* ---------- Getters generated by the script ---------- */
|
||||
virtual const SkiddingProperties* getSkiddingProperties() const;
|
||||
|
||||
float getSuspensionStiffness() const { return m_suspension_stiffness; }
|
||||
float getSuspensionRest() const { return m_suspension_rest; }
|
||||
float getSuspensionTravelCm() const { return m_suspension_travel_cm; }
|
||||
float getSuspensionExpSpringResponse() const { return m_suspension_exp_spring_response; }
|
||||
float getSuspensionMaxForce() const { return m_suspension_max_force; }
|
||||
virtual float processFloat(CharacteristicType type, float value) const;
|
||||
virtual std::vector<float> processFloatVector(CharacteristicType type,
|
||||
const std::vector<float> &value) const;
|
||||
virtual InterpolationArray processInterpolationArray(CharacteristicType type,
|
||||
const InterpolationArray &value) const;
|
||||
|
||||
float getStabilityRollInfluence() const { return m_stability_roll_influence; }
|
||||
float getStabilityChassisLinearDamping() const { return m_stability_chassis_linear_damping; }
|
||||
float getStabilityChassisAngularDamping() const { return m_stability_chassis_angular_damping; }
|
||||
float getStabilityDownwardImpulseFactor() const { return m_stability_downward_impulse_factor; }
|
||||
float getStabilityTrackConnectionAccel() const { return m_stability_track_connection_accel; }
|
||||
float getStabilitySmoothFlyingImpulse() const { return m_stability_smooth_flying_impulse; }
|
||||
|
||||
float getTurnTimeResetSteer() const { return m_turn_time_reset_steer; }
|
||||
|
||||
float getEnginePower() const { return m_engine_power; }
|
||||
float getEngineMaxSpeed() const { return m_engine_max_speed; }
|
||||
float getEngineBrakeFactor() const { return m_engine_brake_factor; }
|
||||
float getEngineBrakeTimeIncrease() const { return m_engine_brake_time_increase; }
|
||||
float getEngineMaxSpeedReverseRatio() const { return m_engine_max_speed_reverse_ratio; }
|
||||
|
||||
float getMass() const { return m_mass; }
|
||||
|
||||
float getWheelsDampingRelaxation() const { return m_wheels_damping_relaxation; }
|
||||
float getWheelsDampingCompression() const { return m_wheels_damping_compression; }
|
||||
float getWheelsWheelRadius() const { return m_wheels_wheel_radius; }
|
||||
|
||||
float getCameraDistance() const { return m_camera_distance; }
|
||||
float getCameraForwardUpAngle() const { return m_camera_forward_up_angle; }
|
||||
float getCameraBackwardUpAngle() const { return m_camera_backward_up_angle; }
|
||||
|
||||
float getJumpAnimationTime() const { return m_jump_animation_time; }
|
||||
|
||||
float getLeanMax() const { return m_lean_max; }
|
||||
float getLeanSpeed() const { return m_lean_speed; }
|
||||
|
||||
float getAnvilDuration() const { return m_anvil_duration; }
|
||||
float getAnvilWeight() const { return m_anvil_weight; }
|
||||
float getAnvilSpeedFactor() const { return m_anvil_speed_factor; }
|
||||
|
||||
float getParachuteFriction() const { return m_parachute_friction; }
|
||||
float getParachuteDuration() const { return m_parachute_duration; }
|
||||
float getParachuteDurationOther() const { return m_parachute_duration_other; }
|
||||
float getParachuteLboundFranction() const { return m_parachute_lbound_franction; }
|
||||
float getParachuteUboundFranction() const { return m_parachute_ubound_franction; }
|
||||
float getParachuteMaxSpeed() const { return m_parachute_max_speed; }
|
||||
|
||||
float getBubblegumDuration() const { return m_bubblegum_duration; }
|
||||
float getBubblegumSpeedFraction() const { return m_bubblegum_speed_fraction; }
|
||||
float getBubblegumTorque() const { return m_bubblegum_torque; }
|
||||
float getBubblegumFadeInTime() const { return m_bubblegum_fade_in_time; }
|
||||
float getBubblegumShieldDuration() const { return m_bubblegum_shield_duration; }
|
||||
|
||||
float getZipperDuration() const { return m_zipper_duration; }
|
||||
float getZipperForce() const { return m_zipper_force; }
|
||||
float getZipperSpeedGain() const { return m_zipper_speed_gain; }
|
||||
float getZipperSpeedIncrease() const { return m_zipper_speed_increase; }
|
||||
float getZipperFadeOutTime() const { return m_zipper_fade_out_time; }
|
||||
|
||||
float getSwatterDuration() const { return m_swatter_duration; }
|
||||
float getSwatterDistance() const { return m_swatter_distance; }
|
||||
float getSwatterSquashDuration() const { return m_swatter_squash_duration; }
|
||||
float getSwatterSquashSlowdown() const { return m_swatter_squash_slowdown; }
|
||||
|
||||
float getPlungerMaxLength() const { return m_plunger_max_length; }
|
||||
float getPlungerForce() const { return m_plunger_force; }
|
||||
float getPlungerDuration() const { return m_plunger_duration; }
|
||||
float getPlungerSpeedIncrease() const { return m_plunger_speed_increase; }
|
||||
float getPlungerFadeOutTime() const { return m_plunger_fade_out_time; }
|
||||
float getPlungerInFaceTime() const { return m_plunger_in_face_time; }
|
||||
|
||||
float getRescueDuration() const { return m_rescue_duration; }
|
||||
float getRescueVertOffset() const { return m_rescue_vert_offset; }
|
||||
float getRescueHeight() const { return m_rescue_height; }
|
||||
|
||||
float getExplosionDuration() const { return m_explosion_duration; }
|
||||
float getExplosionRadius() const { return m_explosion_radius; }
|
||||
float getExplosionInvulnerabilityTime() const { return m_explosion_invulnerability_time; }
|
||||
|
||||
float getNitroDuration() const { return m_nitro_duration; }
|
||||
float getNitroEngineForce() const { return m_nitro_engine_force; }
|
||||
float getNitroConsumption() const { return m_nitro_consumption; }
|
||||
float getNitroSmallContainer() const { return m_nitro_small_container; }
|
||||
float getNitroBigContainer() const { return m_nitro_big_container; }
|
||||
float getNitroMaxSpeedIncrease() const { return m_nitro_max_speed_increase; }
|
||||
float getNitroFadeOutTime() const { return m_nitro_fade_out_time; }
|
||||
float getNitroMax() const { return m_nitro_max; }
|
||||
|
||||
float getSlipstreamDuration() const { return m_slipstream_duration; }
|
||||
float getSlipstreamLength() const { return m_slipstream_length; }
|
||||
float getSlipstreamWidth() const { return m_slipstream_width; }
|
||||
float getSlipstreamCollectTime() const { return m_slipstream_collect_time; }
|
||||
float getSlipstreamUseTime() const { return m_slipstream_use_time; }
|
||||
float getSlipstreamAddPower() const { return m_slipstream_add_power; }
|
||||
float getSlipstreamMinSpeed() const { return m_slipstream_min_speed; }
|
||||
float getSlipstreamMaxSpeedIncrease() const { return m_slipstream_max_speed_increase; }
|
||||
float getSlipstreamFadeOutTime() const { return m_slipstream_fade_out_time; }
|
||||
|
||||
/* ---------- Getters added by hand ---------- */
|
||||
|
||||
float getTurnRadius(float steer) const { return m_turn_radius.get(steer); }
|
||||
float getTurnTimeFullSteer(float steer) const { return m_turn_time_full_steer.get(steer); }
|
||||
|
||||
float getGearSwitchRatio(int gear) const { return m_gear_switch_ratio[gear]; }
|
||||
float getGearPowerIncrease(int gear) const { return m_gear_power_increase[gear]; }
|
||||
|
||||
Vec3 getWheelPosition(int wheel) const { return m_wheel_position[wheel]; }
|
||||
|
||||
SkiddingProperties* getSkiddingProperties() const { return m_skidding; }
|
||||
|
||||
protected:
|
||||
|
||||
/* ---------- Setters generated by the script ---------- */
|
||||
|
||||
void setSuspensionStiffness(float value) { m_suspension_stiffness = value; }
|
||||
void setSuspensionRest(float value) { m_suspension_rest = value; }
|
||||
void setSuspensionTravelCm(float value) { m_suspension_travel_cm = value; }
|
||||
void setSuspensionExpSpringResponse(float value) { m_suspension_exp_spring_response = value; }
|
||||
void setSuspensionMaxForce(float value) { m_suspension_max_force = value; }
|
||||
|
||||
void setStabilityRollInfluence(float value) { m_stability_roll_influence = value; }
|
||||
void setStabilityChassisLinearDamping(float value) { m_stability_chassis_linear_damping = value; }
|
||||
void setStabilityChassisAngularDamping(float value) { m_stability_chassis_angular_damping = value; }
|
||||
void setStabilityDownwardImpulseFactor(float value) { m_stability_downward_impulse_factor = value; }
|
||||
void setStabilityTrackConnectionAccel(float value) { m_stability_track_connection_accel = value; }
|
||||
void setStabilitySmoothFlyingImpulse(float value) { m_stability_smooth_flying_impulse = value; }
|
||||
|
||||
void setTurnTimeResetSteer(float value) { m_turn_time_reset_steer = value; }
|
||||
|
||||
void setEnginePower(float value) { m_engine_power = value; }
|
||||
void setEngineMaxSpeed(float value) { m_engine_max_speed = value; }
|
||||
void setEngineBrakeFactor(float value) { m_engine_brake_factor = value; }
|
||||
void setEngineBrakeTimeIncrease(float value) { m_engine_brake_time_increase = value; }
|
||||
void setEngineMaxSpeedReverseRatio(float value) { m_engine_max_speed_reverse_ratio = value; }
|
||||
|
||||
void setMass(float value) { m_mass = value; }
|
||||
|
||||
void setWheelsDampingRelaxation(float value) { m_wheels_damping_relaxation = value; }
|
||||
void setWheelsDampingCompression(float value) { m_wheels_damping_compression = value; }
|
||||
void setWheelsWheelRadius(float value) { m_wheels_wheel_radius = value; }
|
||||
|
||||
void setCameraDistance(float value) { m_camera_distance = value; }
|
||||
void setCameraForwardUpAngle(float value) { m_camera_forward_up_angle = value; }
|
||||
void setCameraBackwardUpAngle(float value) { m_camera_backward_up_angle = value; }
|
||||
|
||||
void setJumpAnimationTime(float value) { m_jump_animation_time = value; }
|
||||
|
||||
void setLeanMax(float value) { m_lean_max = value; }
|
||||
void setLeanSpeed(float value) { m_lean_speed = value; }
|
||||
|
||||
void setAnvilDuration(float value) { m_anvil_duration = value; }
|
||||
void setAnvilWeight(float value) { m_anvil_weight = value; }
|
||||
void setAnvilSpeedFactor(float value) { m_anvil_speed_factor = value; }
|
||||
|
||||
void setParachuteFriction(float value) { m_parachute_friction = value; }
|
||||
void setParachuteDuration(float value) { m_parachute_duration = value; }
|
||||
void setParachuteDurationOther(float value) { m_parachute_duration_other = value; }
|
||||
void setParachuteLboundFranction(float value) { m_parachute_lbound_franction = value; }
|
||||
void setParachuteUboundFranction(float value) { m_parachute_ubound_franction = value; }
|
||||
void setParachuteMaxSpeed(float value) { m_parachute_max_speed = value; }
|
||||
|
||||
void setBubblegumDuration(float value) { m_bubblegum_duration = value; }
|
||||
void setBubblegumSpeedFraction(float value) { m_bubblegum_speed_fraction = value; }
|
||||
void setBubblegumTorque(float value) { m_bubblegum_torque = value; }
|
||||
void setBubblegumFadeInTime(float value) { m_bubblegum_fade_in_time = value; }
|
||||
void setBubblegumShieldDuration(float value) { m_bubblegum_shield_duration = value; }
|
||||
|
||||
void setZipperDuration(float value) { m_zipper_duration = value; }
|
||||
void setZipperForce(float value) { m_zipper_force = value; }
|
||||
void setZipperSpeedGain(float value) { m_zipper_speed_gain = value; }
|
||||
void setZipperSpeedIncrease(float value) { m_zipper_speed_increase = value; }
|
||||
void setZipperFadeOutTime(float value) { m_zipper_fade_out_time = value; }
|
||||
|
||||
void setSwatterDuration(float value) { m_swatter_duration = value; }
|
||||
void setSwatterDistance(float value) { m_swatter_distance = value; }
|
||||
void setSwatterSquashDuration(float value) { m_swatter_squash_duration = value; }
|
||||
void setSwatterSquashSlowdown(float value) { m_swatter_squash_slowdown = value; }
|
||||
|
||||
void setPlungerMaxLength(float value) { m_plunger_max_length = value; }
|
||||
void setPlungerForce(float value) { m_plunger_force = value; }
|
||||
void setPlungerDuration(float value) { m_plunger_duration = value; }
|
||||
void setPlungerSpeedIncrease(float value) { m_plunger_speed_increase = value; }
|
||||
void setPlungerFadeOutTime(float value) { m_plunger_fade_out_time = value; }
|
||||
void setPlungerInFaceTime(float value) { m_plunger_in_face_time = value; }
|
||||
|
||||
void setRescueDuration(float value) { m_rescue_duration = value; }
|
||||
void setRescueVertOffset(float value) { m_rescue_vert_offset = value; }
|
||||
void setRescueHeight(float value) { m_rescue_height = value; }
|
||||
|
||||
void setExplosionDuration(float value) { m_explosion_duration = value; }
|
||||
void setExplosionRadius(float value) { m_explosion_radius = value; }
|
||||
void setExplosionInvulnerabilityTime(float value) { m_explosion_invulnerability_time = value; }
|
||||
|
||||
void setNitroDuration(float value) { m_nitro_duration = value; }
|
||||
void setNitroEngineForce(float value) { m_nitro_engine_force = value; }
|
||||
void setNitroConsumption(float value) { m_nitro_consumption = value; }
|
||||
void setNitroSmallContainer(float value) { m_nitro_small_container = value; }
|
||||
void setNitroBigContainer(float value) { m_nitro_big_container = value; }
|
||||
void setNitroMaxSpeedIncrease(float value) { m_nitro_max_speed_increase = value; }
|
||||
void setNitroFadeOutTime(float value) { m_nitro_fade_out_time = value; }
|
||||
void setNitroMax(float value) { m_nitro_max = value; }
|
||||
|
||||
void setSlipstreamDuration(float value) { m_slipstream_duration = value; }
|
||||
void setSlipstreamLength(float value) { m_slipstream_length = value; }
|
||||
void setSlipstreamWidth(float value) { m_slipstream_width = value; }
|
||||
void setSlipstreamCollectTime(float value) { m_slipstream_collect_time = value; }
|
||||
void setSlipstreamUseTime(float value) { m_slipstream_use_time = value; }
|
||||
void setSlipstreamAddPower(float value) { m_slipstream_add_power = value; }
|
||||
void setSlipstreamMinSpeed(float value) { m_slipstream_min_speed = value; }
|
||||
void setSlipstreamMaxSpeedIncrease(float value) { m_slipstream_max_speed_increase = value; }
|
||||
void setSlipstreamFadeOutTime(float value) { m_slipstream_fade_out_time = value; }
|
||||
|
||||
/* ---------- Setters added by hand ---------- */
|
||||
|
||||
void setGearSwitchRatio(int gear, float value) { m_gear_switch_ratio[gear] = value; }
|
||||
void setGearPowerIncrease(int gear, float value) { m_gear_power_increase[gear] = value; }
|
||||
|
||||
void setWheelPosition(int wheel, Vec3 value) { m_wheel_position[wheel] = value; }
|
||||
|
||||
virtual float getFloat(CharacteristicType type) const;
|
||||
virtual std::vector<float> getFloatVector(CharacteristicType type) const;
|
||||
virtual InterpolationArray getInterpolationArray(CharacteristicType type) const;
|
||||
};
|
||||
|
||||
#endif
|
||||
|
||||
9
tools/create_kart_properties.py
Normal file → Executable file
9
tools/create_kart_properties.py
Normal file → Executable file
@@ -104,6 +104,13 @@ def main():
|
||||
|
||||
# Print the results
|
||||
print("Variables ****************************************")
|
||||
for g in groups:
|
||||
print(" // {0}".format(g.baseName.title()))
|
||||
for n in g.subNames:
|
||||
print(" {0},".format(joinSubName(g, n, False).upper()))
|
||||
|
||||
# Commented out code
|
||||
"""print("Variables ****************************************")
|
||||
for g in groups:
|
||||
print()
|
||||
print(" // {0}".format(g.baseName.title()))
|
||||
@@ -153,7 +160,7 @@ def main():
|
||||
nameUnderscore = joinSubName(g, n, False)
|
||||
print(" void set{0}(float value){2} {{ m_{1}{3} = value; }}".
|
||||
format(nameTitle, nameUnderscore, " " * (nameLengthTitle - len(nameTitle)),
|
||||
" " * (nameLengthUnderscore - len(nameUnderscore))))
|
||||
" " * (nameLengthUnderscore - len(nameUnderscore))))"""
|
||||
|
||||
if __name__ == '__main__':
|
||||
main()
|
||||
|
||||
Reference in New Issue
Block a user