[INCLUDE: haltech.ini]

[AUDIO_PARAMETER_TRANSFORM]
; Originally, AC would sent 10000 to soundbank, but now it’ll send 5000 instead. Or, 
; it’ll send 2500 instead of 5000 — values in-between these points are linearly interpolated.
ENGINE_EXT_RPMS = (| 0=0 | 8100=8550 |)
ENGINE_INT_RPMS = (| 0=0 | 8100=8550 |)

[AUDIO_VOLUME]
ENGINE_EXT = 1.1
ENGINE_INT = 1.0
GEAR_EXT = 0.3
GEAR_INT = 0.3
BODYWORK = 1.0
WIND = 1.0
DIRT = 1.0
DOWN_SHIFT = 1.0
HORN = 20
GEAR_GRIND = 1.0
BACKFIRE_EXT = 1.0
BACKFIRE_INT = 1.0
TRACTION_CONTROL_EXT = 1.0
TRACTION_CONTROL_INT = 1.0
TRANSMISSION = 0.3
LIMITER =1
TURBO = 4
TYRE_ROLLING = 0.1
HIT = 1.0
SCRAPE = 1.0
WHEEL = 1.0
SKID_EXT = 1.0
SKID_INT = 1.0
TYRE = 0.0
 

[AUDIO_PITCH]
ENGINE_EXT = 0.88
ENGINE_INT = 0.89
GEAR_EXT = 1.0
GEAR_INT = 1.0
BODYWORK = 1.0
WIND = 1.0
DIRT = 1.0
DOWN_SHIFT = 1.0
HORN = 1.0
GEAR_GRIND = 1.0
BACKFIRE_EXT = 1.0
BACKFIRE_INT = 1.0
TRACTION_CONTROL_EXT = 1.0
TRACTION_CONTROL_INT = 1.0
TRANSMISSION = 1.0
LIMITER =1
TURBO = 1.1
HIT = 1.5
SCRAPE = 1.5
WHEEL = 1.0
SKID_EXT = 1.0
SKID_INT = 1.0

[EXHAUST_FLAMES]
ANTILAG=1 ; turbo antilag, i havent tested this yet
ANTILAG_DELAY=0.0 ; how long after antilag trigger do flames start, in seconds
ANTILAG_INTENSITY=40 ; flame size
ANTILAG_INTERVAL_MAX=9000
ANTILAG_INTERVAL_MIN=2000
ANTILAG_TURBO_THRESHOLD=0.5
DAMAGE=0 ; engine damage? idk
DAMAGE_DURATION=0.00
DAMAGE_INTENSITY=0
DAMAGE_PROBABILITY=0
DISCHARGE=1 ; lifting off the throttle
DISCHARGE_CHARGE_TIME=0.001 ; how long you have to press the throttle to "charge" the flames
DISCHARGE_DELAY=0.5 ; delay after throttle lift
DISCHARGE_DURATION=0.4 ; length of flame shooting, in seconds
DISCHARGE_PROBABILITY=0.8; chance of flame shoot on lift, 1 is guaranteed, 0 is never
DISCHARGE_INTENSITY=0.1; flame size
DISCHARGE_RPM_THRESHOLD_MAX=9000 ; self explanatory
DISCHARGE_RPM_THRESHOLD_MIN=5000 ; self explanatory
DISCHARGE_WATER_TEMPERATURE_THRESHOLD=70
FLAT_SHIFT=1 ; on upshift
FLAT_SHIFT_COOLDOWN=0 ; after upshift
FLAT_SHIFT_DURATION=0.1 ; length of flame shooting, in seconds
FLAT_SHIFT_GAS_THRESHOLD=50 ; how much gas needs to be pressed on upshift for flame, 100 is wide open
FLAT_SHIFT_INTENSITY=15 ; flame size
FLAT_SHIFT_PROBABILITY=5 ; chance of flame shoot on upshift
FLAT_SHIFT_RPM_THRESHOLD=6000
LIMITER=1 ; on hitting the limiter
LIMITER_DELAY=0 ; delay, in seconds
LIMITER_INTENSITY=0.5 ; flame size
LIMITER_RPM_THRESHOLD=9850 ; limiter flames will not shoot below this rpm

[SHAKING_EXHAUST_1]
MESHES = exh_002
POINT_0 = 0.597, 0.49, -3.8
POINT_0_RADIUS = 1
POINT_0_EXP = 1
POINT_0_SCALE = 0.22, 0.15, 0.26 

[SHAKING_EXHAUST_2]
MESHES = exh_002.001
POINT_0 = 0.597, 0.49, -3.8
POINT_0_RADIUS = 1
POINT_0_EXP = 1
POINT_0_SCALE = 0.22, 0.15, 0.26

[EMISSIVE_TURNSIGNAL_RIGHT_0]
NAME=IndicatorRight
COLOR=10,0,0,1
LAG=0.6
BLINK_FREQENCY_HZ=1.43372
SIMULATE_HEATING=0
LOCATION=FRONT
FADE_AT=10

[EMISSIVE_TURNSIGNAL_RIGHT_1]
NAME=IndicatorRightRear
COLOR=20,20,20, 1
LAG=0.6
BLINK_FREQENCY_HZ=1.43372
SIMULATE_HEATING=0
LOCATION=REAR
FADE_AT=10

[EMISSIVE_TURNSIGNAL_LEFT_0]
NAME=IndicatorLeft
COLOR=10,0,0,1
LAG=0.6
BLINK_FREQENCY_HZ=1.43372
SIMULATE_HEATING=0
LOCATION=FRONT
FADE_AT=10

[EMISSIVE_TURNSIGNAL_LEFT_1]
NAME=IndicatorLeftRear
COLOR=20,20,20, 1
LAG=0.6
BLINK_FREQENCY_HZ=1.43372
SIMULATE_HEATING=0
LOCATION=REAR
FADE_AT=10

[EMISSIVE_EXTRA_A_...]
NAME = Reverse_Lights
COLOR = 20,0,0, 1
LAG = 0.05
SIMULATE_HEATING = 0
BLINKING_PATTERN = (|0 = 0|0.5 = 0|0.542 = 0|0.583 = 1|0.625 = 0|0.667 = 0|0.708 = 0|0.75 = 1|0.792 = 0|0.833 = 0|0.875 = 0|0.917 = 0|0.958 = 0|1 = 0|)
BLINKING_DURATION = 1
CAST_LIGHT = 1
BIND_TO_EXTRA_A=1
LOCATION = REAR

[EMISSIVE_EXTRA_A_...]
NAME = FrontHeadlights.001
COLOR = 20,0,0, 1
LAG = 0.05
SIMULATE_HEATING = 0
BLINKING_PATTERN = (|0 = 0|0.5 = 0|0.542 = 0|0.583 = 1|0.625 = 0|0.667 = 0|0.708 = 0|0.75 = 1|0.792 = 0|0.833 = 0|0.875 = 0|0.917 = 0|0.958 = 0|1 = 0|)
BLINKING_DURATION = 1
CAST_LIGHT = 1
BIND_TO_EXTRA_A=1
LOCATION = FRONT

[EMISSIVE_EXTRA_B_1] 
BIND_TO_EXTRA_B=1
BIND_TO_HEADLIGHTS=0
NAME = interior_frame
COLOR=0,0,1,1
OFF_COLOR = 0,0,0
LAG = 0
SIMULATE_HEATING = 0
LOCATION =FRONT
ACT_AS_HEADLIGHTS = 0
TOGGLE_VISIBILITY=1
TOGGLE_VISIBILITY_INVERSE=1

////LIGHTING////

[EMISSIVE_HIGHBEAM_0]
NAME=FrontHeadlights.002
COLOR=100,100,100
ACT_AS_HEADLIGHTS=0
LAG=0.7 
BLINK_REPEAT=0
CAST_LIGHT=1
CLUSTER_THRESHOLD=0.5
DIGITAL_INSTRUMENTS_IF_ACTIVE=0
DIGITAL_INSTRUMENTS_IF_ACTIVE_INVERSE=0
INPUT_LAG_DOWN=0
INPUT_LAG_UP=0
INPUT_MOD=0
INPUT_ROUND=0
INPUT_STALLED_LAG=0
INPUT_STALLED_VALUE=nan
INPUT_THRESHOLD_INVERSE=0
OFF_COLOR=0, 0, 0
ONLY_WITH_HEADLIGHTS=0
SIMULATE_HEATING=0.4
SYNC_BLINKING=0
TOGGLE_VISIBILITY=0
TOGGLE_VISIBILITY_INVERSE=0
USE_SMOOTH_TRANSITION=0

[INPUT]
USE_HIGHBEAM_BY_DEFAULT=0

[EMISSIVE_LIGHT_0]
BIND_TO_HEADLIGHTS=1
NAME=FrontHeadlights
COLOR=50,50,50,1
LAG=0.8
SIMULATE_HEATING=1
LOCATION=FRONT
CAST_LIGHT=1
CLUSTER_THRESHOLD=0.5

[EMISSIVE_LIGHT_1]
BIND_TO_HEADLIGHTS=0
NAME=FrontHeadlights.002
COLOR=100,100,100
LAG=0.8
SIMULATE_HEATING=1
LOCATION=FRONT
CAST_LIGHT=1
CLUSTER_THRESHOLD=0.5

[EMISSIVE_LIGHT_0REARLIGHTS]
NAME=BrakeLights
COLOR=10,0,0
FALLBACK_BRAKES_COLOR=30,0,0
FALLBACK_BRAKES_COLOR_HIGHER=1
LAG=0.2
SIMULATE_HEATING=1
LOCATION=REAR
CAST_LIGHT=1
ACT_AS_HEADLIGHTS=0
BLINK_REPEAT=0
CLUSTER_THRESHOLD=0.5

[MODEL_REPLACEMENT_1]
FILE =swarm_mitty_cefiro.kn5
HIDE = body_0.015_SUB1.001

[SHADER_REPLACEMENT_1]
MESHES = interior_h_0
CULL_MODE = DOUBLESIDED

[SHADER_REPLACEMENT_2]
MESHES = misc_0.029
CULL_MODE = DOUBLESIDED

[HEAD_MOVEMENT]
FILTER=0.05 ; AMOUNT OF FILTERING APPLIED TO THE G VALUES. 0=no movement, do not use. Low values=high filter, high values=low filter
MAX_G=2.0 ; Max G level allowed. G above this value will be clamped
ROLL_MAX_DEG=-12.0 ; Head roll vs lateral G. Max rotation at MAX_G lateral G
PITCH_MAX_DEG=-15 ; Same as above but for head pitch vs longitudinal G (braking)
YAW_MAX_DEG=-142 ; Same as above for head yaw vs lateral G

----Wipers----

[WIPERS_TRACE_...]
SURFACE = glass_ext
WIPERS = misc_0.004, misc_0.034

[ANIMATED_WIPER_...]
MESHES =misc_0.004, misc_0.034
UNDERLYING_SURFACE = glass_ext
DEBUG = 1 ; remove when everything is ready

[MESH_ADJUSTMENT_...]
MESHES = misc_0.004, misc_0.034
MOVE_TO = modelRoot:y

[BASIC]
DISABLE_WIPER_KSANIM = 1

[ANIMATED_WIPER_0]
DEBUG = 1
MESHES = misc_0.004, misc_0.034
UNDERLYING_SURFACE = glass_ext
GROUP_0 = 'misc_0.004@A=1-2,5'
GROUP_0_ANGLE_TO = -83.8
GROUP_0_AXIS = 0, 0.70710677, 0.70710677
GROUP_0_AXIS_OFFSET_0 = 0, 0.70710677, 0.70710677
GROUP_0_AXIS_OFFSET_1 = 0, 0.70710677, 0.70710677
GROUP_0_END = 0.05729241, 0.92829555, 0.9287983
GROUP_0_PIVOT = -0.5390645, 0.86624926, 0.93601674
GROUP_0_RUBBER_FROM = -0.43828583, 0.92264175, 0.9164429
GROUP_0_RUBBER_OFFSET_AMOUNT = 0.0014663921
GROUP_0_RUBBER_OFFSET_POS = 0.3606185
GROUP_0_RUBBER_TO = 0.05742409, 0.92339873, 0.93065584
GROUP_0_SCALE_LUT = '(|0.000=1.000|0.997=1.165|)'
GROUP_1 = 'misc_0.004@A=3-4,6'
GROUP_1_ANGLE_TO = -99.6
GROUP_1_AXIS = 0, 0.70710677, 0.70710677
GROUP_1_AXIS_OFFSET_0 = 0, 0.70710677, 0.70710677
GROUP_1_AXIS_OFFSET_1 = 0, 0.70710677, 0.70710677
GROUP_1_END = 0.583589, 0.9229687, 0.8846724
GROUP_1_PIVOT = -0.06596179, 0.86507094, 0.97730196
GROUP_1_RUBBER_FROM = 0.14612472, 0.92391896, 0.9359356
GROUP_1_RUBBER_OFFSET_AMOUNT = 0.021456828
GROUP_1_RUBBER_OFFSET_POS = 0.4884922
GROUP_1_RUBBER_TO = 0.58361804, 0.9177675, 0.8858147
GROUP_1_SCALE_LUT = '(|0.000=1.000|1.000=1.064|)'
GROUP_2 = 'misc_0.034@A=*'
GROUP_2_ANGLE_TO = -168.7
GROUP_2_AXIS = 0.0007262485, 0.87158006, -0.49025273
GROUP_2_AXIS_OFFSET_0 = 0, 0.70710677, -0.70710677
GROUP_2_AXIS_OFFSET_1 = 0, 0.70710677, -0.70710677
GROUP_2_END = -0.58634907, 1.041982, -1.5627077
GROUP_2_PIVOT = 0.016235352, 1.071304, -1.6245728
GROUP_2_RUBBER_FROM = -0.23464775, 1.0595493, -1.5953522
GROUP_2_RUBBER_OFFSET_AMOUNT = 0.0066491715
GROUP_2_RUBBER_OFFSET_POS = 0.48175925
GROUP_2_RUBBER_TO = -0.58784294, 1.0392342, -1.559021
GROUP_2_BASE_AXIS = 0.0007262485, 0.87158006, -0.49025273
GROUP_2_BASE_PIVOT = 0.016235352, 1.071304, -1.6245728

