


[ANIMATION_1]
INPUT = GAS            ; bind to reverse gear
FILE = GAS.ksanim    ; file name of new animation in “animations” folder
TIME = 1.0                  ; animation time
INPUT_AS_PROGRESS = 1       ; set to 1 to switch to that second input-as-progress mode
LOOP_WHILE_ACTIVE = 0       ; if set to 0, animation would go to 0% if not triggered, and 
                            ; to 100% otherwise; if set to 1, animation would play in 
                            ; a loop if triggered and stop otherwise
LOOP_KEEP_UNTIL_DONE = 1    ; only for “LOOP_WHILE_ACTIVE”: set to 1 to make animation 
                            ; go to 0% if stopped (like wipers would do, for example)
TICK_TOCK_MODE = 0          ; only for “LOOP_WHILE_ACTIVE”: loop as 0% → 100% → 0% instead 
                            ; of jumping from 100% to 0%
AFFECTS_INTERIOR_SHAPE = 1  ; force to update interior reflections mask if animation is 
                            ; playing (slower)

[ANIMATION_2]
INPUT = BRAKE            ; bind to reverse gear
FILE = BRAKE.ksanim    ; file name of new animation in “animations” folder
TIME = 1.0                  ; animation time
INPUT_AS_PROGRESS = 1       ; set to 1 to switch to that second input-as-progress mode
LOOP_WHILE_ACTIVE = 0       ; if set to 0, animation would go to 0% if not triggered, and 
                            ; to 100% otherwise; if set to 1, animation would play in 
                            ; a loop if triggered and stop otherwise
LOOP_KEEP_UNTIL_DONE = 1    ; only for “LOOP_WHILE_ACTIVE”: set to 1 to make animation 
                            ; go to 0% if stopped (like wipers would do, for example)
TICK_TOCK_MODE = 0          ; only for “LOOP_WHILE_ACTIVE”: loop as 0% → 100% → 0% instead 
                            ; of jumping from 100% to 0%
AFFECTS_INTERIOR_SHAPE = 1  ; force to update interior reflections mask if animation is 
                            ; playing (slower)

[ANIMATION_3]
INPUT = CLUTCH           ; bind to reverse gear
FILE = CLUTCH.ksanim    ; file name of new animation in “animations” folder
TIME = 1.0                  ; animation time
INPUT_AS_PROGRESS = 1       ; set to 1 to switch to that second input-as-progress mode
LOOP_WHILE_ACTIVE = 0       ; if set to 0, animation would go to 0% if not triggered, and 
                            ; to 100% otherwise; if set to 1, animation would play in 
                            ; a loop if triggered and stop otherwise
LOOP_KEEP_UNTIL_DONE = 1    ; only for “LOOP_WHILE_ACTIVE”: set to 1 to make animation 
                            ; go to 0% if stopped (like wipers would do, for example)
TICK_TOCK_MODE = 0          ; only for “LOOP_WHILE_ACTIVE”: loop as 0% → 100% → 0% instead 
                            ; of jumping from 100% to 0%
AFFECTS_INTERIOR_SHAPE = 1  ; force to update interior reflections mask if animation is 
                            ; playing (slower)

[ANIMATION_4]
INPUT = GEAR_1            ; bind to reverse gear
FILE = GEAR1.ksanim    ; file name of new animation in “animations” folder
TIME = 0.5                  ; animation time
INPUT_AS_PROGRESS = 0       ; set to 1 to switch to that second input-as-progress mode
LOOP_WHILE_ACTIVE = 0       ; if set to 0, animation would go to 0% if not triggered, and 
                            ; to 100% otherwise; if set to 1, animation would play in 
                            ; a loop if triggered and stop otherwise
LOOP_KEEP_UNTIL_DONE = 1    ; only for “LOOP_WHILE_ACTIVE”: set to 1 to make animation 
                            ; go to 0% if stopped (like wipers would do, for example)
TICK_TOCK_MODE = 0          ; only for “LOOP_WHILE_ACTIVE”: loop as 0% → 100% → 0% instead 
                            ; of jumping from 100% to 0%
AFFECTS_INTERIOR_SHAPE = 1  ; force to update interior reflections mask if animation is 
                            ; playing (slower)


[ANIMATION_5]
INPUT = GEAR_2           ; bind to reverse gear
FILE = GEAR2.ksanim    ; file name of new animation in “animations” folder
TIME = 0.5                  ; animation time
INPUT_AS_PROGRESS = 0       ; set to 1 to switch to that second input-as-progress mode
LOOP_WHILE_ACTIVE = 0       ; if set to 0, animation would go to 0% if not triggered, and 
                            ; to 100% otherwise; if set to 1, animation would play in 
                            ; a loop if triggered and stop otherwise
LOOP_KEEP_UNTIL_DONE = 1    ; only for “LOOP_WHILE_ACTIVE”: set to 1 to make animation 
                            ; go to 0% if stopped (like wipers would do, for example)
TICK_TOCK_MODE = 0          ; only for “LOOP_WHILE_ACTIVE”: loop as 0% → 100% → 0% instead 
                            ; of jumping from 100% to 0%
AFFECTS_INTERIOR_SHAPE = 1  ; force to update interior reflections mask if animation is 
                            ; playing (slower)


[ANIMATION_6]
INPUT = GEAR_3            ; bind to reverse gear
FILE = GEAR3.ksanim    ; file name of new animation in “animations” folder
TIME = 0.5                  ; animation time
INPUT_AS_PROGRESS = 0       ; set to 1 to switch to that second input-as-progress mode
LOOP_WHILE_ACTIVE = 0       ; if set to 0, animation would go to 0% if not triggered, and 
                            ; to 100% otherwise; if set to 1, animation would play in 
                            ; a loop if triggered and stop otherwise
LOOP_KEEP_UNTIL_DONE = 1    ; only for “LOOP_WHILE_ACTIVE”: set to 1 to make animation 
                            ; go to 0% if stopped (like wipers would do, for example)
TICK_TOCK_MODE = 0          ; only for “LOOP_WHILE_ACTIVE”: loop as 0% → 100% → 0% instead 
                            ; of jumping from 100% to 0%
AFFECTS_INTERIOR_SHAPE = 1  ; force to update interior reflections mask if animation is 
                            ; playing (slower)


[ANIMATION_7]
INPUT = GEAR_4            ; bind to reverse gear
FILE = GEAR4.ksanim    ; file name of new animation in “animations” folder
TIME = 0.5                  ; animation time
INPUT_AS_PROGRESS = 0       ; set to 1 to switch to that second input-as-progress mode
LOOP_WHILE_ACTIVE = 0       ; if set to 0, animation would go to 0% if not triggered, and 
                            ; to 100% otherwise; if set to 1, animation would play in 
                            ; a loop if triggered and stop otherwise
LOOP_KEEP_UNTIL_DONE = 1    ; only for “LOOP_WHILE_ACTIVE”: set to 1 to make animation 
                            ; go to 0% if stopped (like wipers would do, for example)
TICK_TOCK_MODE = 0          ; only for “LOOP_WHILE_ACTIVE”: loop as 0% → 100% → 0% instead 
                            ; of jumping from 100% to 0%
AFFECTS_INTERIOR_SHAPE = 1  ; force to update interior reflections mask if animation is 
                            ; playing (slower)

[ANIMATION_8]
INPUT = GEAR_5           ; bind to reverse gear
FILE = GEAR5.ksanim    ; file name of new animation in “animations” folder
TIME = 0.5                  ; animation time
INPUT_AS_PROGRESS = 0       ; set to 1 to switch to that second input-as-progress mode
LOOP_WHILE_ACTIVE = 0       ; if set to 0, animation would go to 0% if not triggered, and 
                            ; to 100% otherwise; if set to 1, animation would play in 
                            ; a loop if triggered and stop otherwise
LOOP_KEEP_UNTIL_DONE = 1    ; only for “LOOP_WHILE_ACTIVE”: set to 1 to make animation 
                            ; go to 0% if stopped (like wipers would do, for example)
TICK_TOCK_MODE = 0          ; only for “LOOP_WHILE_ACTIVE”: loop as 0% → 100% → 0% instead 
                            ; of jumping from 100% to 0%
AFFECTS_INTERIOR_SHAPE = 1  ; force to update interior reflections mask if animation is 
                            ; playing (slower)


[ANIMATION_9]
INPUT = GEAR_R            ; bind to reverse gear
FILE = GEARR.ksanim    ; file name of new animation in “animations” folder
TIME = 0.5                  ; animation time
INPUT_AS_PROGRESS = 0       ; set to 1 to switch to that second input-as-progress mode
LOOP_WHILE_ACTIVE = 0       ; if set to 0, animation would go to 0% if not triggered, and 
                            ; to 100% otherwise; if set to 1, animation would play in 
                            ; a loop if triggered and stop otherwise
LOOP_KEEP_UNTIL_DONE = 1    ; only for “LOOP_WHILE_ACTIVE”: set to 1 to make animation 
                            ; go to 0% if stopped (like wipers would do, for example)
TICK_TOCK_MODE = 0          ; only for “LOOP_WHILE_ACTIVE”: loop as 0% → 100% → 0% instead 
                            ; of jumping from 100% to 0%
AFFECTS_INTERIOR_SHAPE = 1  ; force to update interior reflections mask if animation is 
                            ; playing (slower)


[ANIMATION_10]
INPUT = TURNSIGNAL_RIGHT            ; bind to reverse gear
FILE = Right_Blinker.ksanim    ; file name of new animation in “animations” folder
TIME = 0.5                  ; animation time
INPUT_AS_PROGRESS = 0       ; set to 1 to switch to that second input-as-progress mode
LOOP_WHILE_ACTIVE = 0       ; if set to 0, animation would go to 0% if not triggered, and 
                            ; to 100% otherwise; if set to 1, animation would play in 
                            ; a loop if triggered and stop otherwise
LOOP_KEEP_UNTIL_DONE = 1    ; only for “LOOP_WHILE_ACTIVE”: set to 1 to make animation 
                            ; go to 0% if stopped (like wipers would do, for example)
TICK_TOCK_MODE = 0          ; only for “LOOP_WHILE_ACTIVE”: loop as 0% → 100% → 0% instead 
                            ; of jumping from 100% to 0%
AFFECTS_INTERIOR_SHAPE = 1  ; force to update interior reflections mask if animation is 
                            ; playing (slower)

[ANIMATION_11]
INPUT = TURNSIGNAL_LEFT            ; bind to reverse gear
FILE = Left_Blinker.ksanim    ; file name of new animation in “animations” folder
TIME = 0.5                  ; animation time
INPUT_AS_PROGRESS = 0       ; set to 1 to switch to that second input-as-progress mode
LOOP_WHILE_ACTIVE = 0       ; if set to 0, animation would go to 0% if not triggered, and 
                            ; to 100% otherwise; if set to 1, animation would play in 
                            ; a loop if triggered and stop otherwise
LOOP_KEEP_UNTIL_DONE = 1    ; only for “LOOP_WHILE_ACTIVE”: set to 1 to make animation 
                            ; go to 0% if stopped (like wipers would do, for example)
TICK_TOCK_MODE = 0          ; only for “LOOP_WHILE_ACTIVE”: loop as 0% → 100% → 0% instead 
                            ; of jumping from 100% to 0%
AFFECTS_INTERIOR_SHAPE = 1  ; force to update interior reflections mask if animation is 
                            ; playing (slower)


[INCLUDE]
INCLUDE=common/no_popup_lights.ini

[DATA] 
DISABLE_LIGHTSINI=1


[LIGHTING]
EMISSIVE_BRAKELIGHTS_MULT=1
EMISSIVE_HEADLIGHTS_MULT=1
EMISSIVE_MULT=1
EMISSIVE_PARKINGLIGHTS_MULT=1
INTERIOR_FAKE_SHADOW_FADE=0.2
INTERIOR_FAKE_SHADOW_HEIGHT=0.4
INTERIOR_FAKE_SHADOW_OPACITY=0.9
INTERIOR_FAKE_UPPER_SHADOW_FADE=0.1
INTERIOR_FAKE_UPPER_SHADOW_HEIGHT=-0.1
LIT_MULT=1
SPECULAR_MLT=1

[LIGHT_HEADLIGHT_0]
AFFECTS_TRACK=1
BOUND_EMISSIVE_MAX=500
BOUND_EXP=1
COLOR=1.2, 1.1, 0.9, 10
DIFFUSE_CONCENTRATION=0.88
DIRECTION=0, -0.2, 1
EXTERIOR_ONLY=0
FADE_AT=450
FADE_SMOOTH=50
INTERIOR_ONLY=0
LOWBEAM_RANGE_MAX=130
LOWBEAM_RANGE_MULT=0.8
LOWBEAM_RANGE_ONCOMING_MULT=0.4
MIRROR=0.624442
MIRROR_DIRECTION=0
POPUP_ENABLED=0
POSITION=0, 1.58, 2.2
RANGE=310
RANGE_GRADIENT_OFFSET=0
SECOND_SPOT=129.6
SECOND_SPOT_INTENSITY=0.27
SECOND_SPOT_RANGE=50
SECOND_SPOT_SHARPNESS=0.58
SECOND_SPOT_SKIP=0.3
SINGLE_FREQUENCY=0
SPECULAR_MULT=1
SPOT=48
SPOT_EDGE=0.02088, 0.01992, 0.018
SPOT_EDGE_SHARPNESS=50
SPOT_SHARPNESS=0
SPOT_UP=0.0499376, 0.998752, 0


[LIGHTING]
EMISSIVE_BRAKELIGHTS_MULT=1
EMISSIVE_HEADLIGHTS_MULT=1
EMISSIVE_MULT=1
EMISSIVE_PARKINGLIGHTS_MULT=1
INTERIOR_FAKE_SHADOW_FADE=0.2
INTERIOR_FAKE_SHADOW_HEIGHT=0.4
INTERIOR_FAKE_SHADOW_OPACITY=0.9
INTERIOR_FAKE_UPPER_SHADOW_FADE=0.1
INTERIOR_FAKE_UPPER_SHADOW_HEIGHT=-0.1
LIT_MULT=1
SPECULAR_MULT=1


[BOUNCED_HEADLIGHTS]
ACTIVE=1
FADE_AT=200
FADE_SMOOTH=50
FALLOFF=0.3
GRADIENT_OFFSET=0.6
MULT=10, 5, 2, 5
OFFSET=3

[INSTRUMENTS]
FUEL_SPLASH_MULT=-0
HAZARDS_G_THRESHOLD=-1
SPEED_FIX=1
SPEED_LAG=0.85
SPEED_LIMIT=0

[LIGHT_BRAKEDISCS_FRONT]
AFFECTS_TRACK=1
BOUND_EMISSIVE_MAX=500
BOUND_EXP=1
COLOR=1, 0.5, 0, 10.2
DEBUG=0
DIFFUSE_CONCENTRATION=0.88
DIRECTION=1, 0, 0
EXTERIOR_ONLY=1
FADE_AT=30
FADE_SMOOTH=5
GLOW_BOUNDARY_FROM=1
GLOW_BOUNDARY_TO=10
INTERIOR_ONLY=0
MIRROR_DIRECTION=1
NO_SELF_SPECULAR=1
OFF_FADE_MULT=0.3
OFF_RANGE_MULT=0.5
POSITION=0, 0, 0
RANGE=0.45
RANGE_GRADIENT_OFFSET=0.35
SINGLE_FREQUENCY=0
SPECULAR_MULT=1
SPOT=130
SPOT_SHARPNESS=0.8

[LIGHT_BRAKEDISCS_REAR]
AFFECTS_TRACK=1
BOUND_EMISSIVE_MAX=500
BOUND_EXP=1
COLOR=1, 0.5, 0, 10.2
DEBUG=0
DIFFUSE_CONCENTRATION=0.88
DIRECTION=1, 0, 0
EXTERIOR_ONLY=1
FADE_AT=30
FADE_SMOOTH=5
GLOW_BOUNDARY_FROM=1
GLOW_BOUNDARY_TO=10
INTERIOR_ONLY=0
MIRROR_DIRECTION=1
NO_SELF_SPECULAR=1
OFF_FADE_MULT=0.3
OFF_RANGE_MULT=0.5
POSITION=0, 0, 0
RANGE=0.65
RANGE_GRADIENT_OFFSET=0.35
SINGLE_FREQUENCY=0
SPECULAR_MULT=1
SPOT=130
SPOT_SHARPNESS=0.8

[EXTRA_FX] ; Front + Taillights Glass Only
MASK_GBUFFER = Object017,Object020,Object010,Object006,bmw_e36m3_97_lod0_glassLHL_lights_glass___175_vertices_319_face001,E36coupe_body_SUB11,Left_Highbeam_Glass,Right_Highbeam_Glass,Right_Headlight_Glass,bmw_e36m3_97_lod0_glassLHL_lights_glass___175_vertices_319_face,Left_Headlight_Glass


[EXTRA_FX_EMISSIVE_...]
MESHES =   Object035,bulb001,bulb003,Object034      ; list of meshes
DIGITAL_INSTRUMENTS =   ; filters for digital instruments (for most of them,
    ; names of sections in “digital_instruments.ini”), only for cars
RANGE = 0.05              ; range in meters (by default 0.08 for cars and 5 for tracks)
COLOR = .2               ; optional brightness multiplier (could be an RGBA value)
DIRECTED = 0              ; set for 0 for point light and 1 for directed light, or to 
    ; something in-between (by default guessed based on mesh shape)

; Optional optimization flags for cars:
INTERIOR_ONLY = 0        ; show up for interior views only
EXTERIOR_ONLY = 0        ; show up for exterior views only

; Optional advanced tweaks for more complex cases
EMISSIVE_TWEAK = 0       ; extra tonemapping for emissive color to balance things out
    ; (set to 0 to disable, set above 1 to further reduce effect or large emissive value)
MIP_BIAS = 0             ; MIP bias for texture (increase for smoother light)
IGNORE_TEXTURE_COLOR = 0 ; set to 1 to use COLOR and emissive color only

; Optional distribution settings (can affect performance):
COVERAGE = 6.8             ; samples density, by default 3 for cars and 2 for tracks (actual
    ; number of samples is controlled by mesh area, light range and coverage)
SAMPLES_LIMIT = 1000      ; upper limit for number of samples to make sure generation won’t
    ; take huge amount of time, by default 400 for tracks
SPLIT_ELEMENTS = 1       ; split meshes into elements before generating samples, 
    ; by default 1 for tracks
SPLIT_THRESHOLD = …      ; set to something above 0 to weld vertices within that distance
    ; before splitting elements
NORMAL_SHIFT = 0.01         ; increase to move light producing samples away from surface alogn
    ; normals (use it if surroundings are too dark)
COVERED_BY = …           ; stop emissive if a mesh with given name is visible

[EXTRA_FX_EMISSIVE_...]
MESHES =  Left_Side_Blinker,Right_Side_Blinker      ; list of meshes
DIGITAL_INSTRUMENTS =   ; filters for digital instruments (for most of them,
    ; names of sections in “digital_instruments.ini”), only for cars
RANGE = 0.05              ; range in meters (by default 0.08 for cars and 5 for tracks)
COLOR = .02               ; optional brightness multiplier (could be an RGBA value)
DIRECTED = 0              ; set for 0 for point light and 1 for directed light, or to 
    ; something in-between (by default guessed based on mesh shape)

; Optional optimization flags for cars:
INTERIOR_ONLY = 0        ; show up for interior views only
EXTERIOR_ONLY = 0        ; show up for exterior views only

; Optional advanced tweaks for more complex cases
EMISSIVE_TWEAK = 0       ; extra tonemapping for emissive color to balance things out
    ; (set to 0 to disable, set above 1 to further reduce effect or large emissive value)
MIP_BIAS = 0             ; MIP bias for texture (increase for smoother light)
IGNORE_TEXTURE_COLOR = 0 ; set to 1 to use COLOR and emissive color only

; Optional distribution settings (can affect performance):
COVERAGE = 6.8             ; samples density, by default 3 for cars and 2 for tracks (actual
    ; number of samples is controlled by mesh area, light range and coverage)
SAMPLES_LIMIT = 1000      ; upper limit for number of samples to make sure generation won’t
    ; take huge amount of time, by default 400 for tracks
SPLIT_ELEMENTS = 1       ; split meshes into elements before generating samples, 
    ; by default 1 for tracks
SPLIT_THRESHOLD = …      ; set to something above 0 to weld vertices within that distance
    ; before splitting elements
NORMAL_SHIFT = 0.01         ; increase to move light producing samples away from surface alogn
    ; normals (use it if surroundings are too dark)
COVERED_BY = …           ; stop emissive if a mesh with given name is visible

[EXTRA_FX_EMISSIVE_...]
MESHES =  bulbs001,bulbs ,bulb,bulb002     ; list of meshes
DIGITAL_INSTRUMENTS =   ; filters for digital instruments (for most of them,
    ; names of sections in “digital_instruments.ini”), only for cars
RANGE = 0.08              ; range in meters (by default 0.08 for cars and 5 for tracks)
COLOR = .1               ; optional brightness multiplier (could be an RGBA value)
DIRECTED = 0              ; set for 0 for point light and 1 for directed light, or to 
    ; something in-between (by default guessed based on mesh shape)

; Optional optimization flags for cars:
INTERIOR_ONLY = 0        ; show up for interior views only
EXTERIOR_ONLY = 0        ; show up for exterior views only

; Optional advanced tweaks for more complex cases
EMISSIVE_TWEAK = 0       ; extra tonemapping for emissive color to balance things out
    ; (set to 0 to disable, set above 1 to further reduce effect or large emissive value)
MIP_BIAS = 0             ; MIP bias for texture (increase for smoother light)
IGNORE_TEXTURE_COLOR = 0 ; set to 1 to use COLOR and emissive color only

; Optional distribution settings (can affect performance):
COVERAGE = 6.8             ; samples density, by default 3 for cars and 2 for tracks (actual
    ; number of samples is controlled by mesh area, light range and coverage)
SAMPLES_LIMIT = 1000      ; upper limit for number of samples to make sure generation won’t
    ; take huge amount of time, by default 400 for tracks
SPLIT_ELEMENTS = 1       ; split meshes into elements before generating samples, 
    ; by default 1 for tracks
SPLIT_THRESHOLD = …      ; set to something above 0 to weld vertices within that distance
    ; before splitting elements
NORMAL_SHIFT = 0.021         ; increase to move light producing samples away from surface alogn
    ; normals (use it if surroundings are too dark)
COVERED_BY = …           ; stop emissive if a mesh with given name is visible

[EXTRA_FX_EMISSIVE_...]
MESHES =  e36_angeleyes_r2_002,e36_angeleyes_r1_002,e36_angeleyes_l2_002,e36_angeleyes_l1_002     ; list of meshes
DIGITAL_INSTRUMENTS =   ; filters for digital instruments (for most of them,
    ; names of sections in “digital_instruments.ini”), only for cars
RANGE = 0.05              ; range in meters (by default 0.08 for cars and 5 for tracks)
COLOR = .03               ; optional brightness multiplier (could be an RGBA value)
DIRECTED = 0              ; set for 0 for point light and 1 for directed light, or to 
    ; something in-between (by default guessed based on mesh shape)

; Optional optimization flags for cars:
INTERIOR_ONLY = 0        ; show up for interior views only
EXTERIOR_ONLY = 0        ; show up for exterior views only

; Optional advanced tweaks for more complex cases
EMISSIVE_TWEAK = 0       ; extra tonemapping for emissive color to balance things out
    ; (set to 0 to disable, set above 1 to further reduce effect or large emissive value)
MIP_BIAS = 0             ; MIP bias for texture (increase for smoother light)
IGNORE_TEXTURE_COLOR = 0 ; set to 1 to use COLOR and emissive color only

; Optional distribution settings (can affect performance):
COVERAGE = 6.8             ; samples density, by default 3 for cars and 2 for tracks (actual
    ; number of samples is controlled by mesh area, light range and coverage)
SAMPLES_LIMIT = 1000      ; upper limit for number of samples to make sure generation won’t
    ; take huge amount of time, by default 400 for tracks
SPLIT_ELEMENTS = 1       ; split meshes into elements before generating samples, 
    ; by default 1 for tracks
SPLIT_THRESHOLD = …      ; set to something above 0 to weld vertices within that distance
    ; before splitting elements
NORMAL_SHIFT = 0.01         ; increase to move light producing samples away from surface alogn
    ; normals (use it if surroundings are too dark)
COVERED_BY = …           ; stop emissive if a mesh with given name is visible


[EXTRA_FX_EMISSIVE_...]
MESHES =  projector_Lights   ; list of meshes
DIGITAL_INSTRUMENTS =   ; filters for digital instruments (for most of them,
    ; names of sections in “digital_instruments.ini”), only for cars
RANGE = 0.05              ; range in meters (by default 0.08 for cars and 5 for tracks)
COLOR = .03               ; optional brightness multiplier (could be an RGBA value)
DIRECTED = 0              ; set for 0 for point light and 1 for directed light, or to 
    ; something in-between (by default guessed based on mesh shape)

; Optional optimization flags for cars:
INTERIOR_ONLY = 0        ; show up for interior views only
EXTERIOR_ONLY = 0        ; show up for exterior views only

; Optional advanced tweaks for more complex cases
EMISSIVE_TWEAK = 0       ; extra tonemapping for emissive color to balance things out
    ; (set to 0 to disable, set above 1 to further reduce effect or large emissive value)
MIP_BIAS = 0             ; MIP bias for texture (increase for smoother light)
IGNORE_TEXTURE_COLOR = 0 ; set to 1 to use COLOR and emissive color only

; Optional distribution settings (can affect performance):
COVERAGE = 6.8             ; samples density, by default 3 for cars and 2 for tracks (actual
    ; number of samples is controlled by mesh area, light range and coverage)
SAMPLES_LIMIT = 1000      ; upper limit for number of samples to make sure generation won’t
    ; take huge amount of time, by default 400 for tracks
SPLIT_ELEMENTS = 1       ; split meshes into elements before generating samples, 
    ; by default 1 for tracks
SPLIT_THRESHOLD = …      ; set to something above 0 to weld vertices within that distance
    ; before splitting elements
NORMAL_SHIFT = .        ; increase to move light producing samples away from surface alogn
    ; normals (use it if surroundings are too dark)
COVERED_BY = …           ; stop emissive if a mesh with given name is visible


[EXTRA_FX_EMISSIVE_...]
MESHES =  Highbeam_Bulbs    ; list of meshes
DIGITAL_INSTRUMENTS =   ; filters for digital instruments (for most of them,
    ; names of sections in “digital_instruments.ini”), only for cars
RANGE = 0.07              ; range in meters (by default 0.08 for cars and 5 for tracks)
COLOR = .3               ; optional brightness multiplier (could be an RGBA value)
DIRECTED = 0              ; set for 0 for point light and 1 for directed light, or to 
    ; something in-between (by default guessed based on mesh shape)

; Optional optimization flags for cars:
INTERIOR_ONLY = 0        ; show up for interior views only
EXTERIOR_ONLY = 0        ; show up for exterior views only

; Optional advanced tweaks for more complex cases
EMISSIVE_TWEAK = 0       ; extra tonemapping for emissive color to balance things out
    ; (set to 0 to disable, set above 1 to further reduce effect or large emissive value)
MIP_BIAS = 0             ; MIP bias for texture (increase for smoother light)
IGNORE_TEXTURE_COLOR = 0 ; set to 1 to use COLOR and emissive color only

; Optional distribution settings (can affect performance):
COVERAGE = 6.8             ; samples density, by default 3 for cars and 2 for tracks (actual
    ; number of samples is controlled by mesh area, light range and coverage)
SAMPLES_LIMIT = 1000      ; upper limit for number of samples to make sure generation won’t
    ; take huge amount of time, by default 400 for tracks
SPLIT_ELEMENTS = 1       ; split meshes into elements before generating samples, 
    ; by default 1 for tracks
SPLIT_THRESHOLD = …      ; set to something above 0 to weld vertices within that distance
    ; before splitting elements
NORMAL_SHIFT = .        ; increase to move light producing samples away from surface alogn
    ; normals (use it if surroundings are too dark)
COVERED_BY = …           ; stop emissive if a mesh with given name is visible

[Material_Glass] ; Windows
Materials = glass_out
FilmIOR = 1.4
ExtraLightsAdjustment = .2
BrightnessAdjustment = .1
Refraction = 1
Desaturate = 00
ThicknessMult = 1.5
EXTRA_MASK_PASS = 1
EXTRA_MASK_PASS_OPACITY = 1
MaskPassColor=20,20,20

[Material_PhotoelasticGlass] ; Headlights
Materials = glass lights
FilmIOR = 1.4
PhotoelasticityMult = 0.015  ; doesn’t look good if too high
ThicknessMult = 1
BrightnessAdjustment = 0.3
ExtraLightsAdjustment = 0.35
; Ideally, there would be a texture for that, but we’re not going to draw
; all those textures for Kunos cars, so here are some parameters for perlin noise
; instead
PhotoelasticityBaseScale = 3.5     ; this parameter alters scale in general
PhotoelasticityNoiseScale = 0.328  ; deeply affects randomization process, careful with it
PhotoelasticitySpotsScale = 0.325   ; spots for limiting effect to some areas
PhotoelasticitySpotsOffset = 0.0  ; offset for spots, to try and fit effect nice on existing meshes
PhotoelasticityStripesScale = 3.5   ; how many stripes are there
ProfileFix = 0.0

[SHADER_REPLACEMENT_...] ; Leather
MATERIALS = RT_DriverSuit,RT_Gloves,x3_bad02
PROP_... = ksAmbient, 0.15
PROP_... = ksDiffuse, 0.05
PROP_... = ksSpecular, .2
PROP_... = ksSpecularEXP, 40
PROP_... = fresnelMaxLevel, 0.07
PROP_... = fresnelEXP, 4.5
PROP_... = fresnelC, 0.05
PROP_... = useDetail, 1
PROP_... = detailUVMultiplier, 55
PROP_... = detailNormalBlend, 2.5
DOUBLE_FACE_SHADOW_BIASED = 1

[EMISSIVE_TURNSIGNAL_LEFT_0]
NAME=Object035
COLOR=20,2,0, 2
LAG=0.8
SIMULATE_HEATING=0.2
LOCATION=FRONT

[EMISSIVE_TURNSIGNAL_LEFT_...]
NAME=Rear_Left_Blinker,bmw_e36m3_97_lod0_glassLHL_lights_glass___175_vertices_319_face
COLOR=20,2,0, .8
LAG=0.8
SIMULATE_HEATING=0.2
LOCATION=FRONT

[EMISSIVE_TURNSIGNAL_LEFT_1]
NAME=bulb001
COLOR=20,3,0, 7
LAG=0.8
SIMULATE_HEATING=0.2
LOCATION=REAR
CAST_LIGHT=1
CLUSTER_THRESHOLD=0.5

[EMISSIVE_TURNSIGNAL_LEFT_2]
NAME=Object017
TOGGLE_VISIBILITY = 0
COLOR=1,0.3,0, 1.5
LAG=0.2
SIMULATE_HEATING=0
LOCATION=NONE
CAST_LIGHT=0
CLUSTER_THRESHOLD=0


[EMISSIVE_TURNSIGNAL_LEFT_3]
NAME=Left_Side_Blinker
TOGGLE_VISIBILITY = 0
COLOR=20,2,0, 2
LAG=0.8
SIMULATE_HEATING=0.5
LOCATION=SIDE
CAST_LIGHT=0
CLUSTER_THRESHOLD=0

[EMISSIVE_TURNSIGNAL_LEFT_4]
NAME=blinker_left_warning
TOGGLE_VISIBILITY = 0
COLOR=2,20,2, 5
LAG=0.2
SIMULATE_HEATING=0
LOCATION=NONE
CAST_LIGHT=0
CLUSTER_THRESHOLD=0


[EMISSIVE_TURNSIGNAL_RIGHT_0]
NAME=Object034
COLOR=20,2,0, 2
LAG=0.8
SIMULATE_HEATING=0.2
LOCATION=FRONT

[EMISSIVE_TURNSIGNAL_RIGHT_...]
NAME=Rear_Right_Blinker,bmw_e36m3_97_lod0_glassLHL_lights_glass___175_vertices_319_face001
COLOR=20,2,0, .4
LAG=0.8
SIMULATE_HEATING=0.2
LOCATION=FRONT

[EMISSIVE_TURNSIGNAL_RIGHT_1]
NAME=bulb003
COLOR=20,3,0, 7
LAG=0.8
SIMULATE_HEATING=0.2
LOCATION=REAR
CAST_LIGHT=1
CLUSTER_THRESHOLD=0.5

[EMISSIVE_TURNSIGNAL_RIGHT_2]
NAME=Object006
TOGGLE_VISIBILITY = 0
COLOR=1,0.2,0, 1
LAG=0.2
SIMULATE_HEATING=0
LOCATION=NONE
CAST_LIGHT=0
CLUSTER_THRESHOLD=0

[EMISSIVE_TURNSIGNAL_RIGHT_3]
NAME=Right_Side_Blinker
TOGGLE_VISIBILITY = 0
COLOR=20,2,0, 2
LAG=0.8
SIMULATE_HEATING=0.5
LOCATION=SIDE
CAST_LIGHT=0
CLUSTER_THRESHOLD=0


[EMISSIVE_TURNSIGNAL_RIGHT_4]
NAME=Blinker_right_warning
COLOR=2,20,2, 5
LAG=0.2
SIMULATE_HEATING=0
LOCATION=NONE
CAST_LIGHT=0
CLUSTER_THRESHOLD=0

[LIGHT_TURNSIGNAL_LEFT_0]
AFFECTS_TRACK=1
BOUND_EMISSIVE_MAX=500
BOUND_EXP=1
DIFFUSE_CONCENTRATION=0.88
DIRECTION=0.71, 0, 0.69
EXTERIOR_ONLY=0
FADE_AT=60
FADE_SMOOTH=20
INTERIOR_ONLY=0
MIRROR_DIRECTION=1
NO_SELF_SPECULAR=1
OFF_RANGE_MULT=0.5
POSITION=1.0, 0.66, 2.0
RANGE=2.4
RANGE_GRADIENT_OFFSET=0.5
SINGLE_FREQUENCY=0
SPECULAR_MULT=1
SPOT=140
SPOT_EDGE=0.12, 0.12, 0.12
SPOT_EDGE_SHARPNESS=0
SPOT_SHARPNESS=0.6


[LIGHT_TURNSIGNAL_RIGHT_0]
AFFECTS_TRACK=1
BOUND_EMISSIVE_MAX=500
BOUND_EXP=1
DIFFUSE_CONCENTRATION=0.88
DIRECTION=-0.71, 0, 0.69
EXTERIOR_ONLY=
FADE_AT=60
FADE_SMOOTH=20
INTERIOR_ONLY=0
MIRROR=0
MIRROR_DIRECTION=1
NO_SELF_SPECULAR=1
POSITION=-1.0, 0.66, 2.0
RANGE=2.4
RANGE_GRADIENT_OFFSET=0.5
SINGLE_FREQUENCY=0
SPECULAR_MULT=1
SPOT=140
SPOT_EDGE=0.12, 0.12, 0.12
SPOT_EDGE_SHARPNESS=0
SPOT_SHARPNESS=0.6

[LIGHT_TURNSIGNAL_LEFT_1]
AFFECTS_TRACK=1
BOUND_EMISSIVE_MAX=500
BOUND_EXP=1
DIFFUSE_CONCENTRATION=0.88
DIRECTION=0.6, 0, -0.88
EXTERIOR_ONLY=0
FADE_AT=60
FADE_SMOOTH=20
INTERIOR_ONLY=0
OFF_POSITION=1.3, 0.89, -2.3
POSITION=1.3, 0.89, -2.3
RANGE=2.4
RANGE_GRADIENT_OFFSET=0.5
SINGLE_FREQUENCY=0
SPECULAR_MULT=1
SPOT=175
SPOT_EDGE=0.12, 0.12, 0.12
SPOT_EDGE_SHARPNESS=0
SPOT_SHARPNESS=0.6

[LIGHT_TURNSIGNAL_RIGHT_1]
AFFECTS_TRACK=1
BOUND_EMISSIVE_MAX=500
BOUND_EXP=1
DIFFUSE_CONCENTRATION=0.88
DIRECTION=-0.6, 0, -0.88
EXTERIOR_ONLY=0
FADE_AT=60
FADE_SMOOTH=20
INTERIOR_ONLY=0
OFF_POSITION=-1.3, 0.89, -2.3
POSITION=-1.3, 0.89, -2.3
RANGE=2.4
RANGE_GRADIENT_OFFSET=0.5
SINGLE_FREQUENCY=0
SPECULAR_MULT=1
SPOT=175
SPOT_EDGE=0.12, 0.12, 0.12
SPOT_EDGE_SHARPNESS=0
SPOT_SHARPNESS=0.6

--------------------------------------------------------
     ///ODOMETER///

[ODOMETER_MAIN]
DIGITAL_ITEM=1
DIGITAL_ITEM_NUMBER_FORMAT=06.0
UPPER_BOUND=999999
; add zero to add leading zeros

[ODOMETER_TRIP]
DIGITAL_ITEM=2
DIGITAL_ITEM_NUMBER_FORMAT=06.1
UPPER_BOUND=9999


------------------------------------------------------------------


[EMISSIVE_REVERSE_0]
NAME = bulb,bulb002 ; name (one or more) of a mesh to glow
COLOR = 100, 90, 80          ; glowing color if condition is met
LAG = 0.83                   ; with zero, turns on and off immediately
SIMULATE_HEATING = 0.5      ; adds heating effect, going through orange tint while turning on and off
LOCATION = REAR             ; light location used for damage and light guessing, default value depends on type
ACT_AS_HEADLIGHTS = 1       ; if set to 1, emissiveness is raised when camera is caught in car’s headlights


[LIGHT_REVERSE_0]
AFFECTS_TRACK=1
BOUND_EMISSIVE_MAX=500
BOUND_EXP=1
COLOR=1, 1, 1, 3
DIFFUSE_CONCENTRATION=0.88
DIRECTION=0, 0, -1
EXTERIOR_ONLY=1
FADE_AT=120
FADE_SMOOTH=30
INTERIOR_ONLY=0
MIRROR=0.44832
MIRROR_DIRECTION=0
NO_SELF_SPECULAR=1
POSITION=0, 0.8, -2.8
RANGE=3
RANGE_GRADIENT_OFFSET=0.5
SINGLE_FREQUENCY=0
SPECULAR_MULT=1
SPOT=155
SPOT_EDGE=0.12, 0.12, 0.12
SPOT_EDGE_SHARPNESS=0
SPOT_SHARPNESS=0.4


[EMISSIVE_...]
NAME=ind_pad_002, ind_airbag_002, 
BIND_TO=STALLED 
COLOR=25,0 ,0 , 3
LAG=0.3

[EMISSIVE_...]
NAME=BMW_check_engine_warning
BIND_TO=STALLED 
COLOR=25,10 ,0 , 3
LAG=0.3

[EMISSIVE_ENGINE_DAMAGE_0]
NAME=ind_oil01
COLOR=30,1,3
ENGINE_LIFE_THRESHOLD=500
LAG=0.2

[EMISSIVE_ENGINE_DAMAGE_1]
NAME=ind_oil_002
COLOR=30,1,0.5
ENGINE_LIFE_THRESHOLD=800
LAG=0.2

[EMISSIVE_ENGINE_DAMAGE_2]
NAME=ind_engine_002
COLOR=30,10,0.5
ENGINE_LIFE_THRESHOLD=200
LAG=0.2

[EMISSIVE_BATTERY_0]
NAME=ind_battery_002
COLOR=30,3,3
LAG=0.2

[EMISSIVE_ABS_0]
NAME=ind_abs_002
TOGGLE_VISIBILITY = 0
COLOR=0
OFF_COLOR=40,20,4, 0.5
LAG=0.2


[EMISSIVE_...]
NAME=warning_fuel_002
TOGGLE_VISIBILITY = 1
COLOR=40,12,0, 2
INPUT=FUEL
INPUT_THRESHOLD = 10
INPUT_THRESHOLD_INVERSE = 1
LAG=0.2

[EMISSIVE_...]
NAME=Plane002
TOGGLE_VISIBILITY = 1
COLOR=40,28,0,1
INPUT=FUEL
INPUT_THRESHOLD = 10
INPUT_THRESHOLD_INVERSE = 1
LAG=0.2

[EMISSIVE_HAZARD_0]
COLOR=40,0.3,0,6
NAME=WARNING_HAZARDS
FALLBACK_HEADLIGHTS_COLOR=40,1,0, 0.6
LAG=0.2



[EMISSIVE_HANDBRAKE_0]
NAME=ind_brake_red_002
TOGGLE_VISIBILITY = 0
COLOR=20,0.2,0, 4
LAG=0.2

[EMISSIVE_LIGHT_2]
NAME=ind_low_002
TOGGLE_VISIBILITY = 0
BIND_TO_HEADLIGHTS=1
COLOR=2,20,2, 1
LAG=0.2
SIMULATE_HEATING=0
LOCATION=NONE
CAST_LIGHT=0
CLUSTER_THRESHOLD=0

[EMISSIVE_HIGHBEAM_...]
NAME=projector_Lights,Highbeam_Bulbs,ring_projector
TOGGLE_VISIBILITY = 0
BIND_TO_HEADLIGHTS=1
COLOR=40,60,90, 2.7
LAG=0.8


[EMISSIVE_LIGHT_...]
NAME=e36_angeleyes_r2_002,e36_angeleyes_r1_002,e36_angeleyes_l2_002,e36_angeleyes_l1_002
TOGGLE_VISIBILITY = 0
BIND_TO_HEADLIGHTS=1
COLOR=40,60,90, 2.7
LAG=0.8

[EMISSIVE_LIGHT_4]
NAME=bulbs001
BIND_TO_HEADLIGHTS=1
COLOR=10,0,0, 25
LAG=0.9
SIMULATE_HEATING=0.5
LOCATION=REAR
CAST_LIGHT=1
CLUSTER_THRESHOLD=0.5

[EMISSIVE_LIGHT_5]
NAME=light_int_GAUGES, MPG_Cluster
BIND_TO_HEADLIGHTS=1
COLOR=1.5,0.5,0.38, 2.5
LAG=0.7
SIMULATE_HEATING=0.4
LOCATION=INTERIOR
CAST_LIGHT=1
CLUSTER_THRESHOLD=0.5

[EMISSIVE_LIGHT_6]
NAME=MPG, gauge_RPM_part_00, speed_needle_part_00, fuel_gauge_part_00, temp_gauge_part_00, bmw_e36m3_97_cockpit_interior_gauge_needle___24_vertices_12_fac
BIND_TO_HEADLIGHTS=1
COLOR=2,6,10.2, 3
LAG=0.7
SIMULATE_HEATING=0.4
LOCATION=INTERIOR
CAST_LIGHT=1
CLUSTER_THRESHOLD=0.5

[EMISSIVE_LIGHT_7]
NAME=SLASH
TOGGLE_VISIBILITY = 1
BIND_TO_HEADLIGHTS=1
COLOR=5,-1,-1, 5
LAG=0.7
SIMULATE_HEATING=0.4
LOCATION=INTERIOR
CAST_LIGHT=1
CLUSTER_THRESHOLD=0.5


[EMISSIVE_LIGHT_8]
NAME=SLASH_002
TOGGLE_VISIBILITY = 1
BIND_TO_HEADLIGHTS=1
COLOR=-1,-1,2, 10
LAG=0.7
SIMULATE_HEATING=0.4
LOCATION=INTERIOR
CAST_LIGHT=1
CLUSTER_THRESHOLD=0.5


[EMISSIVE_LIGHT_9]
NAME=SLASH_004
TOGGLE_VISIBILITY = 1
BIND_TO_HEADLIGHTS=1
COLOR=0.2,0.2,1, 10
LAG=0.7
SIMULATE_HEATING=0.4
LOCATION=INTERIOR
CAST_LIGHT=1
CLUSTER_THRESHOLD=0.5

[EMISSIVE_LIGHT_10]
NAME=M_LOGO
TOGGLE_VISIBILITY = 1
BIND_TO_HEADLIGHTS=1
COLOR=0.3,0.3,0.3, 10
LAG=0.7
SIMULATE_HEATING=0.4
LOCATION=INTERIOR
CAST_LIGHT=1
CLUSTER_THRESHOLD=0.5

[EMISSIVE_LIGHT_11]
NAME=bmw_e36m3_97_cockpit_interior_digital_gauge___14_vertices_12_fa
BIND_TO_HEADLIGHTS=1
COLOR=1,0.3,0.3, 4
LAG=0.7
SIMULATE_HEATING=0.4
LOCATION=INTERIOR
CAST_LIGHT=1
CLUSTER_THRESHOLD=0.5

[EMISSIVE_LIGHT_12]
NAME=oil service
TOGGLE_VISIBILITY = 1
BIND_TO_HEADLIGHTS=1
COLOR=-1,3,-1, 1
LAG=0.7
SIMULATE_HEATING=0.4
LOCATION=INTERIOR
CAST_LIGHT=1
CLUSTER_THRESHOLD=0.5

[EMISSIVE_LIGHT_13]
NAME=oil_light_service_yelow
TOGGLE_VISIBILITY = 1
BIND_TO_HEADLIGHTS=1
COLOR=3,3,-1, 1
LAG=0.7
SIMULATE_HEATING=0.4
LOCATION=INTERIOR
CAST_LIGHT=1
CLUSTER_THRESHOLD=0.5

[EMISSIVE_LIGHT_14]
NAME=oil_light_service_red
TOGGLE_VISIBILITY = 1
BIND_TO_HEADLIGHTS=1
COLOR=1,-1,-1, 1
LAG=0.7
SIMULATE_HEATING=0.4
LOCATION=INTERIOR
CAST_LIGHT=1
CLUSTER_THRESHOLD=0.5


[EMISSIVE_LIGHT_15]
NAME=rpm_emissive, Speed_Needle, Fuel_Needle, TEMP_Needle
BIND_TO_HEADLIGHTS=1
COLOR=2.5,9.2,1.4, 2.5
LAG=0.7
SIMULATE_HEATING=0.4
LOCATION=INTERIOR
CAST_LIGHT=1
CLUSTER_THRESHOLD=0.5



[EMISSIVE_LIGHT_18]
NAME=INT_Decals_SUB2, INT_Decals_SUB1, INT_Decals_SUB3, INT_Decals_SUB4, INT_Decals_SUB5, INT_Decals_SUB0, Right_Stalk_Decals, Left_Turnsignal_Stalk_Decals, Decal_INT_Light_Knob
BIND_TO_HEADLIGHTS=1
COLOR=5,4,0, 2
LAG=0.8
SIMULATE_HEATING=0.5
LOCATION=NONE
CAST_LIGHT=1
CLUSTER_THRESHOLD=0.5

[EMISSIVE_LIGHT_19]
NAME=Center_Console_Screens_SUB1, Center_Console_Screens_SUB0
TOGGLE_VISIBILITY = 0
BIND_TO_HEADLIGHTS=1
COLOR=5,4,0, 0.3
LAG=0.8
SIMULATE_HEATING=0.5
LOCATION=NONE
CAST_LIGHT=1
CLUSTER_THRESHOLD=0.5


[EMISSIVE_LIGHT_20]
NAME=Gear_Pattern
BIND_TO_HEADLIGHTS=1
COLOR=2,0.5,0.5, 2
LAG=0.8
SIMULATE_HEATING=0.5
LOCATION=NONE
CAST_LIGHT=1
CLUSTER_THRESHOLD=0.5


[EMISSIVE_LIGHT_21]
NAME=Cluster_Plastic
BIND_TO_HEADLIGHTS=1
COLOR=1,0.4,0.3, 0.8
LAG=0.7
SIMULATE_HEATING=0.4
LOCATION=INTERIOR
CAST_LIGHT=1
CLUSTER_THRESHOLD=0.5

[EMISSIVE_LIGHT_22]
NAME=Arrow_light_RPM, Arrow_light_MPH, Arrow_light_FUEL, Arrow_light_TEMP
BIND_TO_HEADLIGHTS=1
COLOR=1,0.4,0.33, 65.6
LAG=0.7
SIMULATE_HEATING=0.4
LOCATION=INTERIOR
CAST_LIGHT=1
CLUSTER_THRESHOLD=0.5

[EMISSIVE_LIGHT_23]
NAME=Headlights_Housing, E36coupe_body_SUB11
BIND_TO_HEADLIGHTS=1
COLOR=0.8,0.5,0.2, 0.14
LAG=0.7
SIMULATE_HEATING=0.4
LOCATION=INTERIOR
CAST_LIGHT=1
CLUSTER_THRESHOLD=0.5


[EMISSIVE_LIGHT_24]
NAME=RPM_Needle_Clear, Speed_Needle_Clear, TEMP_Needle_Clear, Fuel_Needle_Clear
BIND_TO_HEADLIGHTS=1
COLOR=1,0.4,0.33, 43.6
LAG=0.7
SIMULATE_HEATING=0.4
LOCATION=INTERIOR
CAST_LIGHT=1
CLUSTER_THRESHOLD=0.5


[EMISSIVE_BRAKE_0]
NAME=bulbs
TOGGLE_VISIBILITY = 0
BIND_TO_HEADLIGHTS=1
COLOR=10,0,0, 25
LAG=0.8
SIMULATE_HEATING=0.5
LOCATION=NONE
CAST_LIGHT=1
CLUSTER_THRESHOLD=0.5



[EMISSIVE_HIGHBEAM_1]
NAME=ind_high_002
ACT_AS_HEADLIGHTS=1
COLOR=0,0,10, 8


[PARTICLES_FX_EXHAUST_0]
POSITION=0.5765293,0.3356254,-2.241859
DIRECTION=0.2344214,0.3200838,-0.9179287
SPREAD = 0.3
GROW = 0.2
LIFE = 1, 3
SPEED = 0.8, 1.8
INTENSITY = 0.6, 0.6
TEMPERATURE_THRESHOLD = 1
SPEED_THRESHOLD = 10, 40


[PARTICLES_FX_EXHAUST_1]
POSITION=0.4765293,0.3356254,-2.241859
DIRECTION=0.2344214,0.3200838,-0.9179287
SPREAD = 0.3
GROW = 0.2
LIFE = 1, 3
SPEED = 0.8, 1.8
INTENSITY = 0.6, 0.6
TEMPERATURE_THRESHOLD = 1
SPEED_THRESHOLD = 10, 40


[LIGHT_LICENSEPLATE]
; no need to specify meshes names if material is using
; Plate_D.dds and Plate_NM.dds textures
MESHES=geo_plate
OFFSET=-0.0, 0.04, -0.01
RANGE=0.9
RANGE_GRADIENT_OFFSET=0.5
SPOT=120
SPOT_SHARPNESS=0.8
COLOR=0.7,0.5,0.3, 3
FALLBACK_EMISSIVE=1,1,1,2
; other supported values: TWO_ON_TOP, ONE_ON_TOP, TWO_ON_BOTTOM, ONE_ON_BOTTOM
LAYOUT=TWO_ON_TOP


[INSTRUMENTS]
RPM_VINTAGE =1 ; set to 1 to enable the whole thing
RPM_VINTAGE_ROUND_TO = 0 ; to what RPMs needle should snap
RPM_VINTAGE_DELAY = 0.11 ; delay between updates
RPM_VINTAGE_SPEED_LAG = 0.86 ; inertia value, from 0 to 1 (needle won’t move with 1)
RPM_VINTAGE_LIMIT = 0 ; set to some

[WIPERS]
WIND_THRESHOLDS_KMH = 60, 150 ; speed for wipers to start vibrating and for maximum vibration
WIND_AMPLITUDE_MULT = 1 ; multiplier for amplitude
WIND_FREQUENCY_MULT = 1 ; multiplier for frequency
WIND_OFFSET = 0.03 ; base animation 

[ANALOG_INDICATOR_...]
INPUT=OIL_TEMPERATURE
NAME=mpg_gauge
ZERO=0
STEP=-0.55


