Rfactor Output

Hey guys

I know it has been bought up before but i was playing around with some mods on rfactor and it seems that the performance side of things for a output from Automation to rfactor would be fairly simple.

Each rfactor car has a engine.ini file witch contains details and performance specs for each car, so fairly easy to make, the hard part i guess is getting the 3d model to work i would think.

Below is details in a engine.ini file as you can see its fairly straight forward

// Engine data generated by PhysicsEditor
RPMTorque=( 0.0, -12.0, 0.0)
RPMTorque=( 250.0, -17.0, 51.4)
RPMTorque=( 500.0, -20.0, 102.8)
RPMTorque=( 750.0, -23.0, 164.0)
RPMTorque=( 1000.0, -25.3, 210.0)
RPMTorque=( 1250.0, -30.0, 241.1)
RPMTorque=( 1500.0, -36.0, 270.0)
RPMTorque=( 1750.0, -41.0, 283.0)
RPMTorque=( 2000.0, -46.0, 290.0)
RPMTorque=( 2250.0, -51.0, 297.5)
RPMTorque=( 2500.0, -55.0, 304.3)
RPMTorque=( 2750.0, -59.0, 310.5)
RPMTorque=( 3000.0, -63.0, 317.3)
RPMTorque=( 3250.0, -68.0, 324.4)
RPMTorque=( 3500.0, -75.0, 330.7)
RPMTorque=( 3750.0, -80.0, 337.9)
RPMTorque=( 4000.0, -83.0, 345.0)
RPMTorque=( 4250.0, -90.0, 349.8)
RPMTorque=( 4500.0, -94.0, 353.0)
RPMTorque=( 4750.0, -100.0, 354.0)
RPMTorque=( 5000.0, -105.0, 355.0)
RPMTorque=( 5250.0, -111.0, 354.5)
RPMTorque=( 5500.0, -118.0, 354.0)
RPMTorque=( 5750.0, -125.0, 351.8)
RPMTorque=( 6000.0, -130.0, 350.0)
RPMTorque=( 6250.0, -135.0, 346.0)
RPMTorque=( 6500.0, -140.0, 343.0)
RPMTorque=( 6750.0, -145.0, 339.5)
RPMTorque=( 7000.0, -150.0, 334.2)
RPMTorque=( 7250.0, -155.0, 327.6)
RPMTorque=( 7500.0, -160.0, 320.0)
RPMTorque=( 7750.0, -165.0, 312.8)
RPMTorque=( 8000.0, -171.0, 305.3)
RPMTorque=( 8250.0, -171.0, 291.0)
RPMTorque=( 8500.0, -171.0, 272.6)
RPMTorque=( 8750.0, -171.0, 253.8)
RPMTorque=( 9000.0, -171.0, 231.7)
FuelConsumption=1.631e-005 // affected by throttle position and engine speed
FuelEstimate=1.0200 // fudge factor for differences between vehicle types (used for lap estimates and AI pit scheduling)
EngineInertia=0.17000 // rotational inertia of engine components
IdleThrottle=1 // throttle multiplier to help maintain idle speed
IdleRPMLogic=(800, 900) // attempt to maintain idle speed between these RPMs
LaunchEfficiency=0 // efficiency (0.0-1.0) of launch control, or 0.0 if N/A
LaunchRPMLogic=(3200, 3200) // holds RPM in this range before launch (used for AI even if launch control is N/A!)
RevLimitRange=(8000, 0.0, 0.0)
RevLimitSetting=0
RevLimitLogic=100 // RPM range around current setting where rev limiter operates
RevLimitAvailable=1 // whether to use a rev limit (if 0, you still must have a “rev limit”, just make it 40000 or so, and make sure to change [CONTROLS]->UpshiftAlgorithm to fix shifting points)
EngineMapRange=(0, 0.0, 1) // 0 = most driveable, max = most power (low gears only) (unimplemented)
EngineMapSetting=0
EngineBrakingMapRange=(0, 0.0010, 1) // input throttle is ranged from minimum to 100%, with the minimum = setting * step * RPM,
EngineBrakingMapSetting=0 // the default is 1 * 0.000133 * 15000 RPM = 2% applied throttle at zero input throttle
EngineBoostRange=(0, 0.0, 0.0)
EngineBoostSetting=0
BoostEffects=(0, 0.0, 0.0) // RPM increase per setting, fuel increase (1%) per setting, engine wear rate (101.5%) per setting
BoostTorque=0 // 0.4% less torque per setting (applies to all RPMs)
BoostPower=1.600e-04 // % more horsepower per setting
OptimumOilTemp=95 // degrees Celsius at which engine operates optimally
CombustionHeat=40 // degrees Celsius added per liter of fuel burned
EngineSpeedHeat=0.00121 // heat added linearly with engine speed
OilMinimumCooling=0.00700 // heat added linearly with engine speed
OilWaterHeatTransfer=(0.49620, 7.925e-05) // heat transfer from oil to water (base, w/ engine speed)
WaterMinimumCooling=0.00396 // heat dissipated without radiator
RadiatorCooling=(1.797e-06, 4.486e-06) // cooling rate with velocity (base, per setting)
LifetimeEngineRPM=(8600, 120) // (base engine speed for lifetime, range where lifetime is halved)
LifetimeOilTemp=(108, 2.5000) // (base oil temp for lifetime, range where lifetime is halved)
LifetimeAvg=15000 // average lifetime in seconds
LifetimeVar=4000 // lifetime random variance
EngineEmission=(0.20000, 0.5000, -2.8000) // where flames and smoke are emitted (relative to ref frame at rear axle)
EngineSound=(0.20000, 0.6000, -2.6000) // where engine sound is played (relative to ref frame at rear axle)
SpeedLimiter=0 // whether vehicle has a pitlane speed limiter
OnboardStarter=1 // whether vehicle restarts when stalled
StarterTiming=(1.40, 0.4000, 1.5000) // average and variable cranking time, then time to blend with starting sound

Let me know what you think

Data looks pretty easy to output I reckon.

Hmmm, that actually looks interesting…with so many possibilities/scenarios.

Engines in rfactor and F1 challenge are easy to simulate, I do it myself with a Spreadsheet. The difficult part is the physics of the car.

yeah same i have made plenty of engine’s. getting the handling side is alot harder. but something to work with i guess