
// ENGINE SOUNDS (INSIDE)

// inside coasting

VS_INSIDE_COAST_ENGINE_1=BMW\m3_idle_in.wav
VS_INSIDE_COAST_ENGINE_2=BMW\m3_offverylow_in.wav
VS_INSIDE_COAST_ENGINE_3=BMW\m3_offlow_in.wav
VS_INSIDE_COAST_ENGINE_4=BMW\m3_offmid_in.wav
VS_INSIDE_COAST_ENGINE_5=BMW\m3_offhigh_in.wav

// inside on-throttle

VS_INSIDE_POWER_ENGINE_1=BMW\m3_onidle_in.wav
VS_INSIDE_POWER_ENGINE_2=BMW\m3_onverylow_in.wav
VS_INSIDE_POWER_ENGINE_3=BMW\m3_onlow_in.wav
VS_INSIDE_POWER_ENGINE_4=BMW\m3_onmid_in.wav
VS_INSIDE_POWER_ENGINE_5=BMW\m3_onhigh_in.wav

//VS_INSIDE_ENGINE_STARTER=BMW\m3_startup_in.wav

VS_INSIDE_ENGINE_STARTING=BMW\m3_startup_in.wav


// ENGINE SOUNDS (OUTSIDE)

// outside coasting

VS_OUTSIDE_COAST_ENGINE_1=BMW\m3_idle_ex.wav
VS_OUTSIDE_COAST_ENGINE_2=BMW\m3_offverylow_ex.wav
VS_OUTSIDE_COAST_ENGINE_3=BMW\m3_offlow_ex.wav
VS_OUTSIDE_COAST_ENGINE_4=BMW\m3_offmid_ex.wav
VS_OUTSIDE_COAST_ENGINE_5=BMW\m3_offhigh_ex.wav

// outside on-throttle

VS_OUTSIDE_POWER_ENGINE_1=BMW\m3_onidle_ex.wav
VS_OUTSIDE_POWER_ENGINE_2=BMW\m3_onverylow_ex.wav
VS_OUTSIDE_POWER_ENGINE_3=BMW\m3_onlow_ex.wav
VS_OUTSIDE_POWER_ENGINE_4=BMW\m3_onmid_ex.wav
VS_OUTSIDE_POWER_ENGINE_5=BMW\m3_onhigh_ex.wav

//VS_OUTSIDE_ENGINE_STARTER=BMW\m3_startup_ex.wav

VS_OUTSIDE_ENGINE_STARTING=BMW\m3_startup_ex.wav

// BACKFIRE & SHIFT SOUNDS (INSIDE)

VS_INSIDE_SHIFT_UP_1=BMW\sports_upshift.wav
VS_INSIDE_SHIFT_UP_2=BMW\sports_upshift.wav
VS_INSIDE_SHIFT_UP_3=BMW\sports_upshift.wav
VS_INSIDE_SHIFT_DOWN_1=BMW\sports_downshift.wav
VS_INSIDE_SHIFT_DOWN_2=BMW\sports_downshift.wav
VS_INSIDE_SHIFT_DOWN_3=BMW\sports_downshift.wav

// VS_INSIDE_BACKFIRE_1=BMW\pop_1_Group_A_6pot.wav
// VS_INSIDE_BACKFIRE_2=BMW\pop_2_Group_A.wav
// VS_INSIDE_BACKFIRE_3=BMW\pop_2_Group_A.wav

// BackfireAmount=0.0

VS_INSIDE_SPLUTTER=BMW\Splutter_int_Group_A.wav

// SplutterAmount=0.0


// BACKFIRE & SHIFT SOUNDS (OUTSIDE)

VS_OUTSIDE_SHIFT_UP_1=BMW\gear_ext_up_1.wav
VS_OUTSIDE_SHIFT_UP_2=BMW\gear_ext_up_2.wav
VS_OUTSIDE_SHIFT_UP_3=BMW\gear_ext_up_3.wav
VS_OUTSIDE_SHIFT_DOWN_1=BMW\gear_ext_down_1.wav
VS_OUTSIDE_SHIFT_DOWN_2=BMW\gear_ext_down_2.wav
VS_OUTSIDE_SHIFT_DOWN_3=BMW\gear_ext_down_3.wav

// VS_OUTSIDE_BACKFIRE_1=BMW\backfire_ext_2a.wav
// VS_OUTSIDE_BACKFIRE_2=BMW\backfire_ext_2a.wav
// VS_OUTSIDE_BACKFIRE_3=BMW\backfire_ext_2a.wav

// BackfireAmount=0.0

// VS_OUTSIDE_SPLUTTER=BMW\backfire_ext_6.wav

// SplutterAmount=0.0

// ROAD SURFACE SOUNDS  (INSIDE)

VS_INSIDE_ROADNOISE_DRY=road_roll_int.wav
VS_INSIDE_ROADNOISE_WET=road_roll_int_wet.wav
VS_INSIDE_ROADNOISE_RUMBLESTRIP=rumble.wav
VS_INSIDE_ROADNOISE_GRASS=grass_roll_int.wav
VS_INSIDE_ROADNOISE_DIRT=gravel_roll_int.wav
VS_INSIDE_ROADNOISE_GRAVEL=gravel_roll_int.wav


// SKID SOUNDS (INSIDE)

VS_INSIDE_TIRE_SCRUB=road_scrub_int.wav
VS_INSIDE_SKID_DRY=road_skid_int.wav
VS_INSIDE_SKID_WET=road_skid_int_wet.wav
VS_INSIDE_SKID_GRASS=grass_skid_int.wav
VS_INSIDE_SKID_DIRT=gravel_skid_int.wav
VS_INSIDE_SKID_GRAVEL=gravel_skid_int.wav


// ROAD SURFACE SOUNDS  (OUTSIDE)

VS_OUTSIDE_ROADNOISE_DRY=road_roll_ext.wav
VS_OUTSIDE_ROADNOISE_WET=road_roll_ext_wet.wav
VS_OUTSIDE_ROADNOISE_RUMBLESTRIP=rumble_ext.wav
VS_OUTSIDE_ROADNOISE_GRASS=grass_roll_ext.wav
VS_OUTSIDE_ROADNOISE_DIRT=gravel_roll_ext.wav
VS_OUTSIDE_ROADNOISE_GRAVEL=gravel_roll_ext.wav

// SKID SOUNDS (OUTSIDE)

VS_OUTSIDE_TIRE_SCRUB=road_scrub_ext.wav
VS_OUTSIDE_SKID_DRY=road_skid_ext.wav
VS_OUTSIDE_SKID_WET=road_skid_ext_wet.wav
VS_OUTSIDE_SKID_GRASS=grass_skid_ext.wav
VS_OUTSIDE_SKID_DIRT=gravel_skid_ext.wav
VS_OUTSIDE_SKID_GRAVEL=gravel_skid_ext.wav

// CONTACT SOUNDS  (INSIDE)

VS_INSIDE_SCRAPING=scrape_int.wav

VS_INSIDE_HIT_WALL_1=impact_wall_tap.wav
VS_INSIDE_HIT_WALL_2=impact_wall_verylight.wav
VS_INSIDE_HIT_WALL_3=impact_wall_light.wav
VS_INSIDE_HIT_WALL_4=impact_wall_medium.wav
VS_INSIDE_HIT_WALL_5=impact_wall_heavy.wav

VS_INSIDE_HIT_OTHERCAR_1=impact_car_tap.wav
VS_INSIDE_HIT_OTHERCAR_2=impact_car_verylight.wav
VS_INSIDE_HIT_OTHERCAR_3=impact_car_light.wav
VS_INSIDE_HIT_OTHERCAR_4=impact_car_medium.wav
VS_INSIDE_HIT_OTHERCAR_5=impact_car_heavy.wav

VS_INSIDE_HIT_CONE=impact_cone.wav

// CONTACT SOUNDS  (OUTSIDE)

VS_OUTSIDE_SCRAPING=scrape_ext.wav

VS_OUTSIDE_HIT_WALL_1=impactex_wall_tap.wav
VS_OUTSIDE_HIT_WALL_2=impactex_wall_verylight.wav
VS_OUTSIDE_HIT_WALL_3=impactex_wall_light.wav
VS_OUTSIDE_HIT_WALL_4=impactex_wall_medium.wav
VS_OUTSIDE_HIT_WALL_5=impactex_wall_heavy.wav

VS_OUTSIDE_HIT_OTHERCAR_1=impactex_car_tap.wav
VS_OUTSIDE_HIT_OTHERCAR_2=impactex_car_verylight.wav
VS_OUTSIDE_HIT_OTHERCAR_3=impactex_car_light.wav
VS_OUTSIDE_HIT_OTHERCAR_4=impactex_car_medium.wav
VS_OUTSIDE_HIT_OTHERCAR_5=impactex_car_heavy.wav

VS_OUTSIDE_HIT_CONE=impactex_cone.wav


// AMBIENT SOUNDS (INSIDE)

VS_INSIDE_SPEED_LIMITER_TOGGLE=limitertoggle_int.wav
VS_INSIDE_WIND_NOISE=roadstones.wav
// VS_INSIDE_TRACTION_CONTROL=revlimiter_int.wav
VS_INSIDE_RAIN_NOISE=raex.wav
VS_INSIDE_ON_FIRE=on_fire_int.wav
VS_INSIDE_HORN=M3_horn_int.wav


// AMBIENT SOUNDS (OUTSIDE)

VS_OUTSIDE_SPEED_LIMITER_TOGGLE=limitertoggle_ext.wav
VS_OUTSIDE_WIND_NOISE=roadstones_ext.wav
// VS_OUTSIDE_TRACTION_CONTROL=revlimiter_ext.wav
VS_OUTSIDE_RAIN_NOISE=raex.wav
VS_OUTSIDE_ON_FIRE=on_fire_ext.wav
VS_OUTSIDE_HORN=M3_horn_ext.wav

// ATTENUTATION

EngineRange=70.0
EngineShape=1.00
EngineAmbient=3.00

ShiftRange=70.0
ShiftShape=1.00
ShiftAmbient=2.00

OtherRange=140.0
OtherShape=1.00
OtherAmbient=1.00


// ENGINE VOLUME MIX

playerEngineVolumeMinimum=0.7
playerEngineVolumeThrottleFraction=0.0
playerEngineVolumeRevFraction=0.3

non-playerEngineVolumeMinimum=0.7
non-playerEngineVolumeThrottleFraction=0.0
non-playerEngineVolumeRevFraction=0.3


// ENGINE THROTTLE-POSITION MIX
EngineLoadBlendInside=(0.1,0.7)   // power sound starts to blend in at 10% throttle, coast sound blends out at 70%
EngineLoadBlendOutside=(0.1,0.7)  // power sound starts to blend in at 10% throttle, coast sound blends out at 70%


// ENGINE REV-SAMPLE MIX

// coast inside

EngineRPMCoastInside=0
{
  MinimumRPM=1.00         // above zero, but low enough to hear engine stall
  MaximumRPM=1417.08     // must overlap properly
  NaturalRPM=780.00   // engine RPM at which sample was recorded
}

EngineRPMCoastInside=1
{
  MinimumRPM=972.00     // must overlap properly
  MaximumRPM=4115.00     // must overlap properly
  NaturalRPM=2720.00   // engine RPM at which sample was recorded
}

EngineRPMCoastInside=2
{
  MinimumRPM=3150.00     // must overlap properly
  MaximumRPM=5631.00     // must overlap properly
  NaturalRPM=5116.00   // engine RPM at which sample was recorded
}

EngineRPMCoastInside=3
{
  MinimumRPM=4944.00     // must overlap properly
  MaximumRPM=7543.00     // must overlap properly
  NaturalRPM=7058.00   // engine RPM at which sample was recorded
}

EngineRPMCoastInside=4
{
  MinimumRPM=6677.00     // must overlap properly
  MaximumRPM=9500.00     // must overlap properly
  NaturalRPM=7461.00   // engine RPM at which sample was recorded
}

// power inside
EngineRPMPowerInside=0
{
  MinimumRPM=1.00         // above zero, but low enough to hear engine stall
  MaximumRPM=2822.00     // must overlap properly
  NaturalRPM=2147.00   // engine RPM at which sample was recorded
}

EngineRPMPowerInside=1
{
  MinimumRPM=2234.00     // must overlap properly
  MaximumRPM=4171.00     // must overlap properly
  NaturalRPM=2964.00   // engine RPM at which sample was recorded
}

EngineRPMPowerInside=2
{
  MinimumRPM=3490.00     // must overlap properly
  MaximumRPM=5761.00     // must overlap properly
  NaturalRPM=4258.00   // engine RPM at which sample was recorded
}

EngineRPMPowerInside=3
{
  MinimumRPM=5025.00     // must overlap properly
  MaximumRPM=7686.00     // must overlap properly
  NaturalRPM=6400.00   // engine RPM at which sample was recorded
}

EngineRPMPowerInside=4
{
  MinimumRPM=6906.00     // must overlap properly
  MaximumRPM=9500.00     // must overlap properly
  NaturalRPM=7720.00   // engine RPM at which sample was recorded
}

// coast outside
EngineRPMCoastOutside=0
{
  MinimumRPM=1.00         // above zero, but low enough to hear engine stall
  MaximumRPM=1417.08     // must overlap properly
  NaturalRPM=780.00   // engine RPM at which sample was recorded
}

EngineRPMCoastOutside=1
{
  MinimumRPM=971.50     // must overlap properly
  MaximumRPM=4115.50     // must overlap properly
  NaturalRPM=2720.00   // engine RPM at which sample was recorded
}

EngineRPMCoastOutside=2
{
  MinimumRPM=3150.00     // must overlap properly
  MaximumRPM=5632.00     // must overlap properly
  NaturalRPM=5116.00   // engine RPM at which sample was recorded
}

EngineRPMCoastOutside=3
{
  MinimumRPM=4944.00     // must overlap properly
  MaximumRPM=7544.00     // must overlap properly
  NaturalRPM=7058.00   // engine RPM at which sample was recorded
}

EngineRPMCoastOutside=4
{
  MinimumRPM=6677.00     // must overlap properly
  MaximumRPM=9500.00     // must overlap properly
  NaturalRPM=7461.00   // engine RPM at which sample was recorded
}
// power outside
EngineRPMPowerOutside=0
{
  MinimumRPM=1.00         // above zero, but low enough to hear engine stall
  MaximumRPM=2822.00     // must overlap properly
  NaturalRPM=2147.00   // engine RPM at which sample was recorded
}

EngineRPMPowerOutside=1
{
  MinimumRPM=2234.00     // must overlap properly
  MaximumRPM=4170.00     // must overlap properly
  NaturalRPM=2964.00   // engine RPM at which sample was recorded
}

EngineRPMPowerOutside=2
{
  MinimumRPM=3540.00     // must overlap properly
  MaximumRPM=5384.00     // must overlap properly
  NaturalRPM=4258.00   // engine RPM at which sample was recorded
}

EngineRPMPowerOutside=3
{
  MinimumRPM=4851.00     // must overlap properly
  MaximumRPM=7395.00     // must overlap properly
  NaturalRPM=6400.00   // engine RPM at which sample was recorded
}
EngineRPMPowerOutside=4
{
  MinimumRPM=6708.00     // must overlap properly
  MaximumRPM=9500.00     // must overlap properly
  NaturalRPM=7720.00   // engine RPM at which sample was recorded
}

// TRANNY-SAMPLE MIX

// VS_INSIDE_POWER_TRANNY_1=BMW\tw_M3_offverylow.wav
// VS_INSIDE_POWER_TRANNY_2=BMW\tw_M3_offmid.wav
// VS_INSIDE_COAST_TRANNY_1=BMW\tw_M3_onlow.wav
// VS_INSIDE_COAST_TRANNY_2=BMW\tw_M3_onhigh.wav

TrannyInitialRampRPM=1200.0 // ramp volume up to this driveshaft RPM because low pitches sound bad

TrannyPowerBlendRPMInside=(1750.0, 5000.0) // blend range using driveshaft RPM
TrannyPower1RPMTorqueInside=(5835, 700.0) // natural RPM at which sample was recorded, transmission torque (in Nm) for maximum volume
TrannyPower2RPMTorqueInside=(7100, 700.0)

TrannyCoastBlendRPMInside=(1750.0, 5000.0)
TrannyCoast1RPMTorqueInside=(5373, 400.0)
TrannyCoast2RPMTorqueInside=(8785, 600.0)

