[INCLUDE: common/custom_emissive.ini]
[INCLUDE: animations.ini]
[INCLUDE: lights.ini]
[INCLUDE: glowingemissive.ini]
[INCLUDE: shaders.ini]

[DI_ODOMETER_TRIP_...]
DIGITAL_ITEM = 3
DIGITAL_ITEM_NUMBER_FORMAT = 03.0


############################# ANALOGUE INDICATORS #############################

[ANALOG_INDICATOR_...]
INPUT = TIME_HOURS               ; any of supported inputs
NAME = ARROW_TIME_HOURS      ; name of mesh to move
UPPER_BOUND = 24                 ; maximum input value for arrow to move with
LOWER_BOUND = 0                  ; minimum input value
START = -33                    ; offset for starting point, degress
RANGE = 360                      ; full range of arrow to move to at the upper bound, degress
POS_OFFSET_START = 0, -0.0, 0.0  ; position offset for the minimum value
POS_OFFSET_END = 0, -0.0, 0.0    ; position offset for the upper bound
SCALE_START = 0, 1, 1            ; scale for the minimum value
SCALE_END = 1, 1, 1              ; scale for the upper bound (allows to create progress bars and such)
SPEED_LAG = 0.2                  ; lag for speed, adding inertia of movement
G_FACTOR = 0.1, 0, 0             ; adds a bit of needle offset bound to G-forces for those axis


[ANALOG_INDICATOR_...]
INPUT = TIME_MINUTES           ; any of supported inputs
NAME = ARROW_TIME_MINUTES         ; name of mesh to move
UPPER_BOUND = 60                ; maximum input value for arrow to move with
LOWER_BOUND = 0                  ; minimum input value
START = -134                ; offset for starting point, degress
RANGE = 360                      ; full range of arrow to move to at the upper bound, degress
SPEED_LAG = 0.2                  ; lag for speed, adding inertia of movement
G_FACTOR = 0.0, 0, 0             ; adds a bit of needle offset bound to G-forces for those axis

############################# WOBBLY BITS #############################

[WOBBLY_BIT_0]
NAME =  ; name of the node to move
CONNECTED_TO = 0, 0.148, 1.86   ; point to which node is attached to, and around which it will rotate
MAX_RANGE = 0.05                ; max range node can move from its original position
DAMPENING_LAG = 0.93            ; think of it as usual AC lag value, trying to zero node’s speed
G_GAIN = 2                      ; how much G-forces affect node’s speed
GRAVITY_GAIN = 3                ; how much gravity affects node’s speed
OFFSET_GAIN = 2000              ; how strong is returning force
STIFF_AXIS = 0, 0, 1            ; optional higher stiffness axis to reduce movement along it
STIFF_AXIS_STIFFNESS = 0.7      ; now stiff is optional stiffness axis
G_FILTER = 0                    ; temporal filter for G-forces
DEFAULT_GRAVITY_INCLUDED_ALREADY = 1 ; either `0` or `1`; set it to `1` if you don’t want gravity to skew your stuff when car is in neutral position

[WOBBLY_BIT_1]
NAME = ; name of the node to move
CONNECTED_TO = 0, 0.148, 1.86   ; point to which node is attached to, and around which it will rotate
MAX_RANGE = 0.05                ; max range node can move from its original position
DAMPENING_LAG = 0.93            ; think of it as usual AC lag value, trying to zero node’s speed
G_GAIN = 2                      ; how much G-forces affect node’s speed
GRAVITY_GAIN = 3                ; how much gravity affects node’s speed
OFFSET_GAIN = 2000              ; how strong is returning force
STIFF_AXIS = 0, 0, 1            ; optional higher stiffness axis to reduce movement along it
STIFF_AXIS_STIFFNESS = 0.7      ; now stiff is optional stiffness axis
G_FILTER = 0                    ; temporal filter for G-forces
DEFAULT_GRAVITY_INCLUDED_ALREADY = 1 ; either `0` or `1`; set it to `1` if you don’t want gravity to skew your stuff when car is in neutral position


[SHAKING_EXHAUST_...]
MESHES = Object156, 0_002, 1_001, 0_017, Object170
POINT_0 = 0.5342468 0.293629 -2.213641
POINT_0_RADIUS = 10
POINT_0_EXP = 1.0



############################# FX #############################


[DEFORMING_HOOD]
NAME = MOTORHOOD
OFFSET_Y_MIDDLE = 0.04
OFFSET_Y_END = 0.0
OFFSET_Z_END = 0.03
BULGING_EXTRA = 0.1
BULGING_EXPONENT = 2.0
NOISE_Y_AMPLITUDE = -0.3
NOISE_Z_AMPLITUDE = 0.3
NOISE_Y_FREQENCY = 3.0
NOISE_Z_FREQENCY = 5.0
Z_FACTOR = 2.0
Z_BIAS = 0.2

[SMART_MIRROR]
DISALLOW_REFLECTION_TILTING = 0     
DISALLOW_MAPPING_NORMALIZATION = 0 

[REAL_MIRROR_0]
ASPECT_MULT=1.000000
FLIP=0
FOV=20.000000
IS_MONITOR=0
MONITOR_SHADER_TYPE=0.000000
ROTATION=-0.600,0.0000

[REAL_MIRROR_1]
ASPECT_MULT=1.000000
FLIP=0
FOV=9.810000
IS_MONITOR=0
MONITOR_SHADER_TYPE=0.000000
ROTATION=-2.00000,-0.117000

[REAL_MIRROR_2]
ASPECT_MULT=1.000000
FLIP=0
FOV=20.000000
IS_MONITOR=0
MONITOR_SHADER_TYPE=0.000000
ROTATION=-0.322000,0.0000


[BASIC]
RACING_CAR = 0               
OPEN_WHEELER = 0               
RALLY_CAR = 0                                             
DIESEL_ENGINE = 0              
BRAKES_THRESHOLD = 0.01       
LIGHT_DAMAGE_SPEED_MIN = 80    
LIGHT_DAMAGE_SPEED_MAX = 120   
IS_LOW_BEAM_AVAILABLE = 1      
HEADLIGHTS_ARE_HEADLIGHTS = 1  
STOP_LODS_ADJUSTMENT = 0      
IGNORE_OTHER_CONFIGS = 0       
NO_NEED_FOR_LIGHTS_FIX=1       
SPARKS_UPWARDS_FORCE = 300     
                               
[DATA]
DISABLE_ANALOGINSTRUMENTSINI = 0  
DISABLE_LIGHTSINI = 1             
LIGHT_ANIMATION_TIME = 1          

[EXTRA_GUESSING]
FIX_WINDSCREENS = 0  ; By default CSP would try to automatically find and apply ksWindscreen 
                     ; shader for windscreen materials, set this to 0 to disable
[VAO]
OPACITY = 0.9     ; override opacity of VAO patch if set
MULTIPLIER = 1.0  ; override brightness multiplier of VAO patch if set

[LIGHTING]
; Parameters for fake shadow in the bottom half of the interior, for headlights of cars behind
INTERIOR_FAKE_SHADOW_OPACITY = 0.9  ; Opacity
INTERIOR_FAKE_SHADOW_HEIGHT = 0.1   ; Height, or Y coordinate of shadow’s boundary
INTERIOR_FAKE_SHADOW_FADE = 0.2     ; How smooth is the transition

; Parameters for fake shadow up top, to stop track lights from lighting up things close to the ceiling 
INTERIOR_FAKE_UPPER_SHADOW_HEIGHT = -0.1  ; Height, or Y coordinate of shadow’s boundary
INTERIOR_FAKE_UPPER_SHADOW_FADE = 0.1     ; How smooth is the transition

; Multipliers for emissive values in “lights.ini”, a way to fix for older cars with dimmer lights
EMISSIVE_MULT = 1                ; General multiplier
EMISSIVE_HEADLIGHTS_MULT = 1     ; Multiplier for headlights
EMISSIVE_BRAKELIGHTS_MULT = 1    ; Multiplier for brake lights
EMISSIVE_PARKINGLIGHTS_MULT = 1  ; Multiplier for parking lights

; Other lighting parameters
LIT_MULT = 1                 ; How much car reacts to dynamic lights
SPECULAR_MULT = 1            ; How bright are speculars on the car
FULLY_SHADOWED_INTERIOR = 1  ; If shadows are not available, render interior fully shadowed


[INSTRUMENTS]
HAZARDS_G_THRESHOLD = -1  ; set G-force for hazards to turn on automatically on sudden braking
SPEED_FIX = 1             ; use speed of powered wheels for speedometer
SPEED_LAG = 0.85          ; speed lag for SPEED_FIX option
SPEED_LIMIT = 0           ; if more than zero, used as upper bound for speed for SPEED_FIX option

[STATUS_BATTERY]
; parameters for overly simplified battery voltage estimation for instruments
; battery voltage reacts to RPM
BASE_VOLTAGE = 12.4  ; base battery voltage
MAX_VOLTAGE = 13.6   ; maximum battery voltage
RPM_LAG = 0.98       ; RPM lag

[STATUS_OIL]
; similar thing, overly simplified estimation for instruments
PRESSURE_BASE = 1.0         ; base oil pressure for idling engine
PRESSURE_STEP = 1.0         ; oil pressure increase for each 1000 RPM
PRESSURE_LAG_UP = 0.998     ; oil pressure increase lag
PRESSURE_LAG_DOWN = 0.9985  ; oil pressure decrease lag

TEMPERATURE_MULT = 1.0         ; relation of oil temperature to water temperature
TEMPERATURE_RPM_FACTOR = 0.03  ; extra increase of oil temperature for each 1000 RPM
TEMPERATURE_LAG_UP = 0.995     ; oil temperature increase lag
TEMPERATURE_LAG_DOWN = 0.995   ; oil temperature decrease lag


[SHADOWED_WHEELS]
WIDTH = 0.1

[SHADOWED_WHEELS_REAR]
WIDTH = 0.08
OFFSET = 0.05
ANGLE = 15

[BOUNCED_INTERIOR_LIGHT]
MULT = 1, 1, 1, 0.5


############################# ANDROID AUTO #############################

[INCLUDE: android_auto/config.ini]
[Display_AndroidAuto]
Meshes = nav  ; display mesh
aftermarketComponent = 1
Resolution = 1280,640    ; texture resolution
Size = 640,320           ; size of the screen area
Offset = 640, 320         ; left top corner of screen area
Scale = 1                 ; might need adjusting to get the scale right
RearCameraPosition = 0, 0.75, -2.5  ; position of rear view camera

[INCLUDE: common/navigators.ini]
[Navigator_StyleNavitel]
Meshes = GEO_INT_Nav ; here, use the name of that mesh
Brightness = 1 ; adjust brightness later so it wouldnÃ¢â‚¬â„¢t shine too much
@ = Navigator_Size, Resolution = "1920,1080", Offset = "40, 14", Size = "1865,515", Scale = 0.7 ; replace resolution with texture resolution, offset with start of display on texture, in pixels, size with size of display on texture, in pixels, adjust scale later so it would look of proper size


#################### FX #############################



[BRAKEDISC_FX]
ACTIVE = 1             ; set to 0 to disable the whole thing if car uses ksBrakeDisc shader for something else
CERAMIC = 0          ; use ceramic look
CARVED = 1             ; add a bit of carving, radial lines (fast for shader to compute)
CARVED_FREQUENCY = 20  ; increase to make more lines
GLOW_OFFSET = 1.4      ; increase to offset heated and worn center more to the center, decrease to offset it more to the outside area; with 0.5, it would be in the middle
DISC_RADIUS = 0.155
ALPHA_MASK = 0.1
LUMINOCITY_MASK = 0.1
GLOW_FORCE = 0.0


[BASIC]
DIESEL_ENGINE = 0

[PARTICLES_FX_EXHAUST_0]
POSITION=0.53, 0.135, -2.1
DIRECTION = 0, 0, -1 			; self explanatory
COLOR = 0.75,0.8,1 			; RGB blend - 0,0,0 is black, 1,1,1 is white
LIFE = 1, 2 				; how long particles last in the air before disappearing
SPEED = 0.5, 1 				; how fast smoke particles fly from the exhaust
SPREAD = 0.2				; initial spread of particles
STARTING_SIZE = 0.04			; initial size of particles
SPAWN_OFFSET = 0.02			; initial spawn point offset (length-wise)
INTENSITY = 0.2, 0.3			; smoke intensity
TEMPERATURE_LAG = 1 			; engine heating up (1 to disable)
SPEED_THRESHOLD = 15, 100 		; speed at which the smoke disappears


[PARTICLES_FX_EXHAUST_1]
POSITION=-0.53, 0.135, -2.1
DIRECTION = 0, 0, -1 			; self explanatory
COLOR = 0.75,0.8,1 			; RGB blend - 0,0,0 is black, 1,1,1 is white
LIFE = 1, 2 				; how long particles last in the air before disappearing
SPEED = 0.5, 1 				; how fast smoke particles fly from the exhaust
SPREAD = 0.2				; initial spread of particles
STARTING_SIZE = 0.04			; initial size of particles
SPAWN_OFFSET = 0.02			; initial spawn point offset (length-wise)
INTENSITY = 0.2, 0.3			; smoke intensity
TEMPERATURE_LAG = 1 			; engine heating up (1 to disable)
SPEED_THRESHOLD = 15, 100 		; speed at which the smoke disappears




############################# WIPERS #############################

[WIPERS]
FRONT_0= Object004, Object005, Object002
FRONT_1= Object003, Object006, Object001
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 

[WIPERS_TRACE_...]
SURFACE = windscreen_ext, windscreen_int, windscreen_border
WIPERS = Object004, Object003
