
//
// This is the high-detail vehicle parameter file.
// It is pointed to by one or more *.veh files.
//
// Any range has the following values: (minimum, step size, number of steps)
// Any setting refers to the step from 0 to <number of steps - 1>.
//
// Everything is in SI units (kg, m, kPa, N, etc.), except:
// Engine speed is measured in RPM.
// Angles are measured in degrees.
//
// +x = left
// +y = up
// +z = rear
//
// Pushrod connections are adjusted from the values found in this file
// based on the graphical location of the wheels.  If the graphical location
// does not match the physical location (found in a .pm file), then all
// suspension joints (including the pushrods) are adjusted to match the
// graphical locations.  It should be noted that suspension joints are also
// adjusted after setting the camber, caster, and toe-in.
//
// The "reference plane" is equal to the ride height.  Note that we have
// added a graphical offset in case ride heights are measured at a different
// location than the graphical bottom of the vehicle.  The graphical offset
// does not affect the physics in any way, just the appearance of how far the
// vehicle is off the ground.  Note that the "undertray" points are where
// the vehicle bottoms out.
//
// Aerodynamic variables:
// Lift is negative downforce
//

[GENERAL]
Rules=0                         // what rules to apply to garage setups (0=none, 1=stock car)
GarageDisplayFlags=7            // how settings are displayed in garage (add): 1=rear wing, 2=radiator, 4=more gear info
FeelerFlags=0                   // how collision feelers are generated (add): 1=box influence 2=reduce wall-jumping 4=allow adjustment hack 8=top directions
Mass=570.2                      // all mass except fuel
Inertia=(522.6, 593.3, 120.4)   // all inertia except fuel
FuelTankPos=(0.0, 0.01, -0.02)  // location of tank affects center of gravity (very close and even slightly ahead of CG in F1)
FuelTankMotion=(560.0,0.7)      // simple model of fuel movement in tank (spring rate per kg, critical damping ratio)
Notes=""
Symmetric=1
DamageFile=damage               // .ini file to find physical and graphical damage info
CGHeight=0.2565                 // height of body mass (excluding fuel) above reference plane
CGRightRange=(0.500, 0.002, 1)  // fraction of weight on left tires
CGRightSetting=0
CGRearRange=(0.570, 0.005, 8)
CGRearSetting=4
WedgeRange=(0.0, 0.25, 1)       // rounds of wedge (disabled here because we use ride heights individually for F1)
WedgeSetting=0
WedgePushrod=0.0                // each round of wedge changes rear-left jacking screw by this amount (0.0 to disable, use Rules to allow FR ride height)
GraphicalOffset=(0.0, 0.0, 0.0) // does not affect physics!
FLUndertray=(0.15,  0.0, 0.33)  // corner offset from center of front axle in reference plane
FRUndertray=(0.15, 0.0, 0.33)  // corner offset from center of front axle in reference plane
RLUndertray=(0.15, 0.0, 0.33)  // corner offset from center of rear axle in reference plane
RRUndertray=(0.15, 0.0, 0.33)  // corner offset from center of rear axle in reference plane
TireBrand=1988_Goodyear        // must appear before tire compound setting (references *.tbc file)
TireCompoundSetting=1           // compound index within brand
FuelRange=(1.0, 1.0, 195)
FuelSetting=64
NumPitstopsRange=(0, 1, 4)
NumPitstopsSetting=3
Pitstop1Range=(1.0, 1.0, 0)
Pitstop1Setting=64
Pitstop2Range=(1.0, 1.0, 0)
Pitstop2Setting=64
Pitstop3Range=(1.0, 1.0, 0)
Pitstop3Setting=0
AIMinPassesPerTick=2            // minimum passes per tick (can use more accurate spring/damper/torque values, but takes more CPU)
AIRotationThreshold=0.09        // rotation threshold (rads/sec) to temporarily increment passes per tick
AIEvenSuspension=0.0            // averages out spring and damper rates to improve stability (0.0 - 1.0)
AISpringRate=0.40               // spring rate adjustment for AI physics
AIDamperSlow=1.2                // contribution of average slow damper into simple AI damper
AIDamperFast=0.4                // contribution of average fast damper into simple AI damper
AIDownforceZArm=0.150           // hard-coded center-of-pressure offset from vehicle CG
AIDownforceBias=1.0             // bias between setup and hard-coded value (0.0-1.0)
AITorqueStab=(0.4, 0.5, 0.25) // torque adjustment to keep AI stable

[FRONTWING]
FWRange=(0.0, 0.9, 50)          // front wing range
FWSetting=35                    // front wing setting
FWMaxHeight=(0.30)              // maximum height to take account of for downforce
FWDragParams=(0.0204, 0.0019, 0.0)        // base drag and 1st and 2nd order with setting
FWLiftParams=(-0.3560, -0.0086, 0.00001) // base lift and 1st and 2nd order with setting
FWLiftHeight=(1.020)            // effect of current height on lift coefficient
FWLiftSideways=(0.40)           // dropoff in downforce with yaw (0.0 = none, 1.0 = max)
FWLeft=(-0.01, 0.0, 0.0)        // aero forces from moving left
FWRight=(0.01, 0.0, 0.0)        // aero forces from moving right
FWUp=(0.0, -0.04, -0.001)       // aero forces from moving up
FWDown=(0.0, 0.04, 0.001)       // aero forces from moving down
FWAft=(0.0, 0.04, -0.04)        // aero forces from moving rearwards
FWFore=(0.0, 0.0, 0.0)          // aero forces from moving forwards (recomputed from settings)
FWRot=(0.10, 0.05, 0.15)        // aero torque from rotating
FWCenter=(0.00, 0.10, -0.50)    // center of front wing forces (offset from center of front axle in ref plane)

[REARWING]
RWRange=(0.0, 0.9, 50)          // rear wing range
RWSetting=40                    // rear wing setting
RWDragParams=(0.0659, 0.00820, 0.0)        // base drag and 1st and 2nd order with setting
RWLiftParams=(-0.3466, -0.01307, 0.00005) // base lift and 1st and 2nd order with setting
RWLiftSideways=(0.5)           // dropoff in downforce with yaw (0.0 = none, 1.0 = max)
RWLeft=(-0.02, 0.0, 0.0)        // aero forces from moving left
RWRight=(0.02, 0.0, 0.0)        // aero forces from moving right
RWUp=(0.0, -0.08, -0.002)       // aero forces from moving up
RWDown=(0.0, 0.08, 0.002)       // aero forces from moving down
RWAft=(0.0, 0.08, -0.08)        // aero forces from moving rearwards
RWFore=(0.0, 0.0, 0.0)          // aero forces from moving forwards (recomputed from settings)
RWRot=(0.10, 0.05, 0.15)        // aero torque from rotating
RWCenter=(0.00, 0.60, 0.35)     // center of rear wing forces (offset from center of rear axle at ref plane)

[BODYAERO]
BodyDragBase=(0.4950)           // base drag
BodyDragHeightAvg=(0.585)       // drag increase with average ride height
BodyDragHeightDiff=(1.140)      // drag increase with front/rear ride height difference
BodyMaxHeight=(0.20)            // maximum ride height that affects drag/lift
BodyLeft=(-0.7, 0.0, 0.0)       // aero forces from moving left
BodyRight=(0.7, 0.0, 0.0)       // aero forces from moving right
BodyUp=(0.0, -1.5, 0.0)         // aero forces from moving up
BodyDown=(0.0, 1.5, 0.0)        // aero forces from moving down
BodyAft=(0.0, 0.10, -1.00)      // aero forces from moving rearwards
BodyFore=(0.0, -0.373, 0.435)  // aero forces from moving forwards (lift value important, but drag overwritten)
BodyRot=(2.0, 1.5, 1.0)         // aero torque from rotating
BodyCenter=(0.0, 0.251, -1.371) // center of body aero forces (offset from center of rear axle at ref plane)
RadiatorRange=(0.0, 1.0, 4)     // radiator range
RadiatorSetting=3               // radiator setting
RadiatorDrag=(0.009)           // effect of radiator setting on drag
RadiatorLift=(0.010)            // effect of radiator setting on lift
BrakeDuctRange=(0.0, 1.0, 7)    // brake duct range
BrakeDuctSetting=4              // brake duct setting
BrakeDuctDrag=(0.009)          // effect of brake duct setting on drag
BrakeDuctLift=(0.014)           // effect of brake duct setting on lift

[DIFFUSER]
DiffuserBase=(-0.6820, -7.0, 129.0) // base lift and 1st/2nd order with rear ride height
DiffuserFrontHeight=(1.882)         // 1st order with front ride height
DiffuserSideways=(0.56)             // dropoff with yaw (0.0 = none, 1.0 = max)
DiffuserCenter=(0.0, 0.01, -1.096)  // center of diffuser forces (offset from center of rear axle at ref plane)

[SUSPENSION]
PhysicalModelFile=1988_f1susp.pm
ApplySlowToFastDampers=0         // whether to apply slow damper settings to fast damper settings
AdjustSuspRates=1                // adjust suspension rates due to motion ratio
AlignWheels=1                    // correct for minor graphical offsets
FrontWheelTrack=0.0              // if non-zero, forces the front wheels to be specified track width
RearWheelTrack=0.0               // if non-zero, forces the rear wheels to be specified track width
LeftWheelBase=0.0                // if non-zero, forces the left side to use specified wheelbase
RightWheelBase=0.0               // if non-zero, forces the right side to use specified wheelbase
SpringBasedAntiSway=1            // 0=diameter-based, 1=spring-based
FrontAntiSwayBase=0.0
FrontAntiSwayRange=(100000.0, 10000.0, 21)
FrontAntiSwaySetting=9
FrontAntiSwayRate=(0.0, 0.0) // not applicable with spring-based antisway
RearAntiSwayBase=0.0
RearAntiSwayRange=(30000.0, 10000.0, 13)
RearAntiSwaySetting=6
RearAntiSwayRate=(0.0, 0.0)  // not applicable with spring-based antisway
FrontToeInRange=(-2.0, 0.1, 41)
FrontToeInSetting=18
RearToeInRange=(-2.0, 0.1, 41)
RearToeInSetting=22
LeftCasterRange=(-2.0, 0.1, 81)          // front-left caster
LeftCasterSetting=58
RightCasterRange=(-2.0, 0.1, 81)         // front-right caster
RightCasterSetting=58
LeftTrackBarRange=(0.0, 0.00, 0)  // rear-left track bar (not applicable without a rear axle)
LeftTrackBarSetting=0
RightTrackBarRange=(0.0, 0.0, 0) // rear-right track bar (not applicable without a rear axle)
RightTrackBarSetting=0
Front3rdBumpTravel=-0.005           // travel to bumpstop with zero packers and zero ride height (5mm compression)
Front3rdReboundTravel=-0.065        // prevents rebound travel (for example, when upside down), 55mm max front ride height plus 10mm leeway
Front3rdBumpStopSpring=0.0     // initial spring rate of bumpstop
Front3rdBumpStopRisingSpring=06 // rising spring rate of bumpstop (multiplied by deflection squared)
Front3rdBumpStopDamper=0       // initial damping rate of bumpstop
Front3rdBumpStopRisingDamper=0 // rising damper rate of bumpstop (multiplied by deflection squared)
Front3rdBumpStage2=0.125            // speed where damper bump moves from slow to fast
Front3rdReboundStage2=-0.125        // speed where damper rebound moves from slow to fast
Front3rdPackerRange=(0.000, 0.001, 41)
Front3rdPackerSetting=5
Front3rdSpringRange=(0.0, 10000.0, 21)
Front3rdSpringSetting=8
Front3rdSlowBumpRange=(0.0, 100.0, 24)
Front3rdSlowBumpSetting=4
Front3rdFastBumpRange=(0.0, 100.0, 21)
Front3rdFastBumpSetting=2
Front3rdSlowReboundRange=(0.0, 100.0, 21)
Front3rdSlowReboundSetting=3
Front3rdFastReboundRange=(0.0, 100.0, 21)
Front3rdFastReboundSetting=0
Rear3rdBumpTravel=-0.010            // travel to bumpstop with zero packers and zero ride height (10mm compression)
Rear3rdReboundTravel=-0.090         // prevents rebound travel (for example, when upside-down), 80mm max rear ride height plus 10mm leeway
Rear3rdBumpStopSpring=0.0      // initial spring rate of bumpstop
Rear3rdBumpStopRisingSpring=0  // rising spring rate of bumpstop (multiplied by deflection squared)
Rear3rdBumpStopDamper=0.0        // initial damping rate of bumpstop
Rear3rdBumpStopRisingDamper=0  // rising damper rate of bumpstop (multiplied by deflection squared)
Rear3rdBumpStage2=0.125             // speed where damper bump moves from slow to fast
Rear3rdReboundStage2=-0.125         // speed where damper rebound moves from slow to fast
Rear3rdPackerRange=(0.000, 0.001, 61)
Rear3rdPackerSetting=0
Rear3rdSpringRange=(0.0, 10000.0, 21)
Rear3rdSpringSetting=0
Rear3rdSlowBumpRange=(0.0, 100.0, 21)
Rear3rdSlowBumpSetting=0
Rear3rdFastBumpRange=(0.0, 100.0, 21)
Rear3rdFastBumpSetting=0
Rear3rdSlowReboundRange=(0.0, 100.0, 21)
Rear3rdSlowReboundSetting=0
Rear3rdFastReboundRange=(0.0, 100.0, 21)
Rear3rdFastReboundSetting=0

[CONTROLS]
SteerLockRange=(5.0, 0.5, 37)
SteerLockSetting=30
RearBrakeRange=(0.140, 0.005, 121)
RearBrakeSetting=42
BrakePressureRange=(0.30, 0.05, 11)
BrakePressureSetting=6
HandbrakePressRange=(0.00, 0.05, 1) // disabled for F1 ... intended for rally-type cars
HandbrakePressSetting=0
AutoUpshiftGripThresh=0.63          // auto upshift waits until all driven wheels have this much grip (reasonable range: 0.4-0.9)
AutoDownshiftGripThresh=0.63        // auto downshift waits until all driven wheels have this much grip (reasonable range: 0.4-0.9)
TractionControlGrip=(1.00, 0.20)    // average driven wheel grip multiplied by 1st number, then added to 2nd
TractionControlLevel=(0.30, 0.90)   // effect of grip on throttle for low TC and high TC
ABS4Wheel=1                         // 0 = old-style single brake pulse, 1 = more effective 4-wheel ABS
ABSGrip=(1.00, 0.20)                // grip multiplied by 1st number and added to 2nd
ABSLevel=(0.30, 0.90)               // effect of grip on brakes for low ABS and high ABS

[ENGINE]
Normal=Engine                       // unrestricted engine
RestrictorPlate=Engine              // restrictor plate engine

[DRIVELINE]
ClutchInertia=0.0192
ClutchTorque=974.9
ClutchWear=0.0
ClutchFriction=8.164
BaulkTorque=300.0
AllowManualOverride=1               // whether to allow manual shift overrides when using auto shifting
SemiAutomatic=1                     // whether throttle and clutch are operated automatically
UpshiftDelay=0.235                  // delay in selecting higher gear (low for semi-automatic, higher for manual)
UpshiftClutchTime=0.65             // time to ease auto-clutch in AFTER upshift (0.0 for F1 cars)
DownshiftDelay=0.235                // delay in selecting lower gear (low for semi-automatic, higher for manual)
DownshiftClutchTime=0.65           // time to ease auto-clutch in AFTER downshift (used to be SemiAutoClutchTime, note that the shift will complete significantly before the clutch is fully engaged)
WheelDrive=REAR                     // which wheels are driven: REAR, FOUR (even torque split), or FRONT
GearFile=1988_gear_ratios.ini            // Must come before final/reverse/gear settings!
FinalDriveSetting=1                 // indexed into GearFile list
ReverseSetting=7
ForwardGears=6
Gear1Setting=7
Gear2Setting=25
Gear3Setting=37
Gear4Setting=48
Gear5Setting=57
Gear6Setting=65
Gear7Setting=69
DiffPumpTorque=200.0                // at 100% pump diff setting, the torque redirected per wheelspeed difference in radians/sec (roughly 1.2kph)
DiffPumpRange=(0.0,0.05,21)         // differential acting on all driven wheels
DiffPumpSetting=5
DiffPowerRange=(0.0,0.05,21)        // fraction of power-side input torque transferred through diff
DiffPowerSetting=1                  // (not implemented for four-wheel drive)
DiffCoastRange=(0.0,0.05,21)        // fraction of coast-side input torque transferred through diff
DiffCoastSetting=0                  // (not implemented for four-wheel drive)
DiffPreloadRange=(5.0, 5.0, 10)     // preload torque that must be overcome to have wheelspeed difference
DiffPreloadSetting=0                // (not implemented for four-wheel drive)

[FRONTLEFT]
BumpTravel=-0.000
ReboundTravel=-0.065
BumpStopSpring=180000.0
BumpStopRisingSpring=6.50e6
BumpStopDamper=2200.0
BumpStopRisingDamper=7.00e5
BumpStage2=0.100
ReboundStage2=-0.100
FrictionTorque=1.50
SpinInertia=0.669
CGOffsetX=0.000
PushrodSpindle=(-0.050, -0.150, 0.000)
PushrodBody=(0.080, 0.170, 0.0)
CamberRange=(-6.0, 0.1, 81)
CamberSetting=35
PressureRange=(90.0, 1.0, 106)
PressureSetting=45
PackerRange=(0.000, 0.001, 25)
PackerSetting=10
SpringRange=(200000.0, 5000.0, 31)
SpringSetting=19
RideHeightRange=(0.015, 0.001, 41)
RideHeightSetting=15
SlowBumpRange=(1500.0, 100.0, 16)
SlowBumpSetting=8
FastBumpRange=(1000.0, 100.0, 11)
FastBumpSetting=5
SlowReboundRange=(2000.0, 100.0, 31)
SlowReboundSetting=13
FastReboundRange=(1000.0, 100.0, 21)
FastReboundSetting=9
BrakeDiscRange=(0.021, 0.007, 2)
BrakeDiscSetting=1
BrakePadRange=(0, 1, 5)
BrakePadSetting=2
BrakeDiscInertia=0.715
BrakeOptimumTemp=550.0
BrakeFadeRange=1000.0
BrakeWearRate=4.828e-011
BrakeFailure=(1.43e-002,6.20e-004)
BrakeTorque=(2000.000)
BrakeHeating=0.00195
BrakeCooling=(3.377e-002,4.549e-004)
BrakeDuctCooling=1.238e-004

[FRONTRIGHT]
BumpTravel=-0.000
ReboundTravel=-0.065
BumpStopSpring=180000.0
BumpStopRisingSpring=6.50e6
BumpStopDamper=2200.0
BumpStopRisingDamper=7.00e5
BumpStage2=0.100
ReboundStage2=-0.100
FrictionTorque=1.50
SpinInertia=0.669
CGOffsetX=0.000
PushrodSpindle=(-0.050, -0.150, 0.000)
PushrodBody=(0.080, 0.170, 0.0)
CamberRange=(-6.0, 0.1, 81)
CamberSetting=35
PressureRange=(90.0, 1.0, 106)
PressureSetting=45
PackerRange=(0.000, 0.001, 25)
PackerSetting=10
SpringRange=(200000.0, 5000.0, 31)
SpringSetting=19
RideHeightRange=(0.015, 0.001, 41)
RideHeightSetting=15
SlowBumpRange=(1500.0, 100.0, 16)
SlowBumpSetting=8
FastBumpRange=(1000.0, 100.0, 11)
FastBumpSetting=5
SlowReboundRange=(2000.0, 100.0, 31)
SlowReboundSetting=13
FastReboundRange=(1000.0, 100.0, 21)
FastReboundSetting=9
BrakeDiscRange=(0.021, 0.007, 2)
BrakeDiscSetting=1
BrakePadRange=(0, 1, 5)
BrakePadSetting=2
BrakeDiscInertia=0.715
BrakeOptimumTemp=550.0
BrakeFadeRange=1000.0
BrakeWearRate=4.828e-011
BrakeFailure=(1.43e-002,6.20e-004)
BrakeTorque=(2000.000)
BrakeHeating=0.00195
BrakeCooling=(3.377e-002,4.549e-004)
BrakeDuctCooling=1.238e-004

[REARLEFT]
BumpTravel=-0.010
ReboundTravel=-0.100
BumpStopSpring=180000.0
BumpStopRisingSpring=6.50e6
BumpStopDamper=2000.0
BumpStopRisingDamper=7.00e5
BumpStage2=0.100
ReboundStage2=-0.00
FrictionTorque=1.50
SpinInertia=0.717
CGOffsetX=-0.030
PushrodSpindle=(-0.050, -0.150, 0.000)
PushrodBody=(0.100, 0.170, 0.0)
CamberRange=(-6.0, 0.1, 81)
CamberSetting=50
PressureRange=(90.0, 1.0, 106)
PressureSetting=40
PackerRange=(0.000, 0.001, 40)
PackerSetting=12
SpringRange=(200000.0, 5000.0, 31)
SpringSetting=17
RideHeightRange=(0.020, 0.001, 61)
RideHeightSetting=40
SlowBumpRange=(1500.0, 100.0, 16)
SlowBumpSetting=7
FastBumpRange=(1000.0, 100.0, 11)
FastBumpSetting=4
SlowReboundRange=(2000.0, 100.0, 31)
SlowReboundSetting=14
FastReboundRange=(1000.0, 100.0, 21)
FastReboundSetting=10
BrakeDiscRange=(0.021, 0.007, 2)
BrakeDiscSetting=1
BrakePadRange=(0, 1, 5)
BrakePadSetting=2
BrakeDiscInertia=0.715
BrakeOptimumTemp=550.0
BrakeFadeRange=1100.0
BrakeWearRate=4.828e-011
BrakeFailure=(1.43e-002,6.20e-004)
BrakeTorque=(2000.000)
BrakeHeating=0.00195
BrakeCooling=(2.796e-002,3.766e-004)
BrakeDuctCooling=1.025e-004

[REARRIGHT]
BumpTravel=-0.010
ReboundTravel=-0.100
BumpStopSpring=180000.0
BumpStopRisingSpring=6.50e6
BumpStopDamper=2000.0
BumpStopRisingDamper=7.00e5
BumpStage2=0.100
ReboundStage2=-0.00
FrictionTorque=1.50
SpinInertia=0.717
CGOffsetX=-0.030
PushrodSpindle=(-0.050, -0.150, 0.000)
PushrodBody=(0.100, 0.170, 0.0)
CamberRange=(-6.0, 0.1, 81)
CamberSetting=50
PressureRange=(90.0, 1.0, 106)
PressureSetting=40
PackerRange=(0.000, 0.001, 40)
PackerSetting=12
SpringRange=(200000.0, 5000.0, 31)
SpringSetting=17
RideHeightRange=(0.020, 0.001, 61)
RideHeightSetting=40
SlowBumpRange=(1500.0, 100.0, 16)
SlowBumpSetting=7
FastBumpRange=(1000.0, 100.0, 11)
FastBumpSetting=4
SlowReboundRange=(2000.0, 100.0, 31)
SlowReboundSetting=14
FastReboundRange=(1000.0, 100.0, 21)
FastReboundSetting=10
BrakeDiscRange=(0.021, 0.007, 2)
BrakeDiscSetting=1
BrakePadRange=(0, 1, 5)
BrakePadSetting=2
BrakeDiscInertia=0.715
BrakeOptimumTemp=550.0
BrakeFadeRange=1100.0
BrakeWearRate=4.828e-011
BrakeFailure=(1.43e-002,6.20e-004)
BrakeTorque=(2000.000)
BrakeHeating=0.00195
BrakeCooling=(2.796e-002,3.766e-004)
BrakeDuctCooling=1.025e-004

