[INCLUDE: common/materials_interior.ini] 
[INCLUDE: pbr_int.ini]
[INCLUDE: pbr_ext.ini]








////Car Paint////


; New car paint

[INCLUDE: common/materials_carpaint.ini]
DisableDev = 1

[Material_CarPaint_Metallic]
Materials=car_Paint, Cage.001, car_paint_rims, car_paint_cage, interior_liner
FresnelMax = 0.5
FresnelC = 0.08
FlakesK = 0.05
BrightnessAdjustment = 0.45
SpecularBase = 1.0, 65
SpecularSun = 0.01, 900
UseDiffuseAlphaAsMask = 1
ClearCoatThickness = 0.04











////CSP Materials////

[Material_Leather]
Materials=Black_Leather.001
Brightness=0.7
Reflectance = 0.05
Smoothness = 0.48
DetailScale = 2000

[Material_Leather]
Materials=Red_Steering_Leather.001, Steering_Center_Yellow.001, Door_Signature.001, Blue_Foam.001
Brightness=0.7
Reflectance = 0.05
Smoothness = 0.48
DetailScale = 100


;Int Alu 1 
[Material_MetalOld_v2]
Materials = Dash_reflective.001, Steering_Blots.001
BrightnessAdjustment = 11
DetailNormalPBRSmoothness = 0.9
Metalness = 1
Smoothness = 0.1
Reflectance = 1.2
DetailScale = 1


;Int Alu 2 
[Material_MetalOld_v2]
Materials = Door_Silver_Plastic.001
BrightnessAdjustment = 11
DetailNormalPBRSmoothness = 0.6
Metalness = 1
Smoothness = 0.2
Reflectance = 1.0
DetailScale = 10


;Int brushed
[Material_Metal_v2]
Materials = Dash_Round_Switch.001, Gotsev_Plaque.001
RESOURCE_2 = txNormalDetail
RESOURCE_FILE_2 = PBR_brushed.dds
RESOURCE_3 = txDetail
RESOURCE_FILE_3 = PBR_brushed_detail.dds
DetailNormalBlend = 1.0
DetailScale = 10
Metalness = 0.7
BrightnessAdjustment = 0.18
Smoothness = 0.29
Reflectance = 0.45
DetailNormalPBRSmoothness = 0.1

;Int Metal Old
[Material_MetalOld_v2]
Materials = Steering_Center.001
DetailScale=7
Metalness = 0.3
Reflectance = 0.05
Brightness = 0.15
DetailNormalPBRSmoothnessGamma = 1
LocalReflectionsSharpness = 0


[Material_MetalOld_v2]
Materials =Hanbrake_handle
DetailScale=10
Metalness = 0.18
Reflectance = 0.02
Brightness = 0.15
DetailNormalPBRSmoothnessGamma = 1
LocalReflectionsSharpness = 1



;Int Alcantara
[Material_Velvet_v2]
Materials =Interior_Roof_Liner.001 
DetailScale=10
DetailNormalBlend = 1
BrightnessAdjustment=0.15
Reflectance = 0.1
DetailNormalPBRSmoothnessGamma = 20

;Seat Alcantara
[Material_Velvet_v2]
Materials =Alcantara
DetailScale=25
DetailNormalBlend = 0.05
BrightnessAdjustment=0.05
Reflectance = 0.005
DetailNormalPBRSmoothnessGamma = 17



[Material_Metal] ;chrome
Materials =Chrome.001
Brightness = 0.2
DetailScale = 1.0
Metalness = 0.6
Reflectance = 0.5
LocalReflectionsSharpness = 0.8
CubemapReflectionBlur =-5
OcclusionMult = 0.9


[Material_PhotoelasticGlass]
Meshes =glassf_a, glasslf_a, glasslr_a, glassr_a, glassrr_a, glassrf_a, glassrhl_a, glasslhl_a, Headlights_Blulbs, base.004
ThicknessMult = 1.1
FresnelC = 0.4
IOR = 0.8
Refraction = 1
RefractionRainbow = 1
PhotoelasticityMult = 0.
PhotoelasticityBaseScale = 0.6  ; this parameter alters scale in general
PhotoelasticityNoiseScale = 0.4  ; deeply affects randomization process, careful with it
PhotoelasticitySpotsScale = 0.1   ; spots for limiting effect to some areas
PhotoelasticitySpotsOffset = 0.9  ; offset for spots, to try and fit effect nice on existing meshes
PhotoelasticityStripesScale =2   ; how many stripes are there
ProfileFix = 0.02















////Haltec Digital Construction////

[SCRIPTABLE_DISPLAY_...]
MESHES = Haltech_Screen
SCRIPT = haltech.lua

[SHADER_REPLACEMENT_...]
MATERIALS = Haltech_Screen
SHADER = smDigitalScreen
PROP_... = smScreenScale, 1024,512
PROP_... = smScreenType, 2
PROP_... = smUseTextureCoordinates, 1

[SHADER_REPLACEMENT_...]
MATERIALS = RNeedle, haltechTurn
SHADER = smDigitalScreen
PROP_... = smScreenScale, 2048,2048
PROP_... = smScreenType, 2
PROP_... = smUseTextureCoordinates, 1

[STATUS_BATTERY]
BASE_VOLTAGE = 14.0                         ; base battery voltage
MAX_VOLTAGE = 14.7                          ; maximum battery voltage

[EMISSIVE_...]
INPUT = HEADLIGHTS
NAME = Haltech_Screen
COLOR = 1, 1, 1                             ; glowing color if condition is met
OFF_COLOR = 10,10,10                      ; glowing color otherwise, default value is 0
LAG = 0.0                                   ; with zero, turns on and off immediately
SIMULATE_HEATING = 0.0                      ; adds heating effect, going through orange tint while turning on and off
LOCATION = NONE                             ; light location used for damage and light guessing, default value depends on type
ACT_AS_HEADLIGHTS = 0                       ; if set to 1, emissiveness is raised when camera is caught in car’s headlights
CAST_LIGHT = 0

[EMISSIVE_...]
INPUT = HEADLIGHTS
NAME = Haltech_RPM_Arrow
COLOR = 1, 0, 0                             ; glowing color if condition is met
OFF_COLOR = 5, 0, 0                        ; glowing color otherwise, default value is 0
LAG = 0.0                                   ; with zero, turns on and off immediately
SIMULATE_HEATING = 0.0                      ; adds heating effect, going through orange tint while turning on and off
LOCATION = NONE                             ; light location used for damage and light guessing, default value depends on type
ACT_AS_HEADLIGHTS = 0                       ; if set to 1, emissiveness is raised when camera is caught in car’s headlights
CAST_LIGHT = 0

[EMISSIVE_TURNSIGNAL_LEFT_...]
NAME = Haltech_Turn_Left
COLOR = 0,1,0, 7                            ; glowing color if condition is met
LAG = 0.0                                   ; with zero, turns on and off immediately
SIMULATE_HEATING = 0.0                      ; adds heating effect, going through orange tint while turning on and off
LOCATION = NONE                             ; light location used for damage and light guessing, default value depends on type
ACT_AS_HEADLIGHTS = 0                       ; if set to 1, emissiveness is raised when camera is caught in car’s headlights
CAST_LIGHT = 0

[EMISSIVE_TURNSIGNAL_RIGHT_...]
NAME = Haltech_Turn_Right
COLOR = 0,1,0, 7                            ; glowing color if condition is met
LAG = 0.0                                   ; with zero, turns on and off immediately
SIMULATE_HEATING = 0.0                      ; adds heating effect, going through orange tint while turning on and off
LOCATION = NONE                             ; light location used for damage and light guessing, default value depends on type
ACT_AS_HEADLIGHTS = 0                       ; if set to 1, emissiveness is raised when camera is caught in car’s headlights
CAST_LIGHT = 0

[ANALOG_INDICATOR_...]
INPUT = RPM
NAME = Arrow_RPM
START = 0                                   ; offset for starting point, degress
RANGE = 359.99                              ; full range of arrow to move to at the upper bound, degress
SPEED_LAG = 0.0                             ; 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
LUT = (| 0=0 | 9000=270 |)                  ; optionally maps input values to degrees







////Lights////

;Headlights

[LIGHT_HEADLIGHT_0]
AFFECTS_TRACK=1
BOUND_EMISSIVE_MAX=500
BOUND_EXP=0.2
COLOR=1, 0.95, 0.8, 10
DIFFUSE_CONCENTRATION=0.88
DIRECTION=0, -0.3, 1
EXTERIOR_ONLY=0
FADE_AT=450
FADE_SMOOTH=50
INTERIOR_ONLY=0
LOWBEAM_RANGE_MAX=250
LOWBEAM_RANGE_MULT=1
LOWBEAM_RANGE_ONCOMING_MULT=0.4
MIRROR=0.538526
MIRROR_DIRECTION=1
OFF_FADE_MULT=1.2
OFF_MIRROR=0.538526
OFF_MULT=0
OFF_POSITION=0, 0.568216, 1.74877
OFF_RANGE_MULT=0.3
POPUP_ENABLED=1
POSITION=0, 0.468216, 2.25
RANGE=210
RANGE_GRADIENT_OFFSET=0
SECOND_SPOT=90
SECOND_SPOT_INTENSITY=1
SECOND_SPOT_RANGE=50
SECOND_SPOT_SHARPNESS=0.0
SECOND_SPOT_SKIP=0.0
SPECULAR_MULT=1
SPOT=95
SPOT_EDGE=0.0922464, 0.0919776, 0.09144
SPOT_EDGE_SHARPNESS=21.2
SPOT_SHARPNESS=0
SPOT_UP=0.02, 0.999847, 0


[SelfLight_Headlights]
MIRROR = 1
DIRECTION = 0, 0, 1
POSITION = -0.514, 0.552, 2.02
DIFFUSE_CONCENTRATION = 1
BOUND_TO =headlights  
SPOT_SHARPNESS = 0.9
SPOT = 120
COLOR = 80
SPECULAR_MULT = 1
RANGE = 0.45
CAST_LIGHT = 1



;Headlight Glass

[EMISSIVE_LIGHT_0]
NAME=Headlight_Glass_0
COLOR=20, 20, 15, 2
LAG=0.45
LOCATION=FRONT
ACT_AS_HEADLIGHTS=1
SIlMULATE_HEATING=3
CAST_LIGHT=1

[EMISSIVE_LIGHT_1]
NAME=Headlight_Glass_01
COLOR=20, 20, 15, 2
LAG=0.45
LOCATION=FRONT
ACT_AS_HEADLIGHTS=1
SIMULATE_HEATING=3
CAST_LIGHT=1

[EMISSIVE_LIGHT_2]
NAME=Headlight_Glass_02
COLOR=20, 20, 15, 2
LAG=0.45
LOCATION=FRONT
ACT_AS_HEADLIGHTS=1
SIMULATE_HEATING=3
CAST_LIGHT=1




; Brakelights 


[EMISSIVE_BRAKE_...] 
NAME=Tail_bulb
COLOR=50, 2, 0,1
LAG=0.1
SIMULATE_HEATING=1
CAST_LIGHT=1
LOCATION=REAR
CLUSTER_THRESHOLD=0.5



;Turn Signals

;Front

[EMISSIVE_TURNSIGNAL_LEFT_...]
NAME =blinker_lf_bulb
COLOR = 255,255,255                            ; glowing color if condition is met
LAG = 0.0                                   ; with zero, turns on and off immediately
SIMULATE_HEATING = 0.0                      ; adds heating effect, going through orange tint while turning on and off
LOCATION = FRONT                             ; light location used for damage and light guessing, default value depends on type
ACT_AS_HEADLIGHTS = 0                       ; if set to 1, emissiveness is raised when camera is caught in car’s headlights
CAST_LIGHT = 1

[EMISSIVE_TURNSIGNAL_LEFT_...]
NAME =bilnker_lf_ref
COLOR = 10,10,10                            ; glowing color if condition is met
LAG = 0.0                                   ; with zero, turns on and off immediately
SIMULATE_HEATING = 0.0                      ; adds heating effect, going through orange tint while turning on and off
LOCATION =FRONT                             ; light location used for damage and light guessing, default value depends on type
ACT_AS_HEADLIGHTS = 0                       ; if set to 1, emissiveness is raised when camera is caught in car’s headlights
CAST_LIGHT = 1

[EMISSIVE_TURNSIGNAL_RIGHT_...]
NAME =blinker_rf_bulb
COLOR = 255,255,255                          ; glowing color if condition is met
LAG = 0.0                                   ; with zero, turns on and off immediately
SIMULATE_HEATING = 0.0                      ; adds heating effect, going through orange tint while turning on and off
LOCATION =FRONT                ; light location used for damage and light guessing, default value depends on type
ACT_AS_HEADLIGHTS = 0                       ; if set to 1, emissiveness is raised when camera is caught in car’s headlights
CAST_LIGHT = 1

[EMISSIVE_TURNSIGNAL_RIGHT_...]
NAME =bilnker_rf_ref
COLOR = 10,10,10                        ; glowing color if condition is met
LAG = 0.0                                   ; with zero, turns on and off immediately
SIMULATE_HEATING = 0.0                      ; adds heating effect, going through orange tint while turning on and off
LOCATION =FRONT                ; light location used for damage and light guessing, default value depends on type
ACT_AS_HEADLIGHTS = 0                       ; if set to 1, emissiveness is raised when camera is caught in car’s headlights
CAST_LIGHT = 1




;Rear

[EMISSIVE_TURNSIGNAL_LEFT_...]
NAME =blinker_lr_bulb
COLOR = 255,255,255                            ; glowing color if condition is met
LAG = 0.0                                   ; with zero, turns on and off immediately
SIMULATE_HEATING = 0.0                      ; 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 = 0                       ; if set to 1, emissiveness is raised when camera is caught in car’s headlights
CAST_LIGHT = 1

[EMISSIVE_TURNSIGNAL_LEFT_...]
NAME =blinker_lr_glass
COLOR = 5,5,5                          ; glowing color if condition is met
LAG = 0.0                                   ; with zero, turns on and off immediately
SIMULATE_HEATING = 0.0                      ; 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 = 0                       ; if set to 1, emissiveness is raised when camera is caught in car’s headlights
CAST_LIGHT = 0

[EMISSIVE_TURNSIGNAL_RIGHT_...]
NAME =blinker_rr_bulb 
COLOR = 255,255,255                            ; glowing color if condition is met
LAG = 0.0                                   ; with zero, turns on and off immediately
SIMULATE_HEATING = 0.0                      ; 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 = 0                       ; if set to 1, emissiveness is raised when camera is caught in car’s headlights
CAST_LIGHT = 1

[EMISSIVE_TURNSIGNAL_RIGHT_...]
NAME =blinker_rr_glass
COLOR = 5,5,5                            ; glowing color if condition is met
LAG = 0.0                                   ; with zero, turns on and off immediately
SIMULATE_HEATING = 0.0                      ; 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 = 0                       ; if set to 1, emissiveness is raised when camera is caught in car’s headlights
CAST_LIGHT = 0






;Reverse


[EMISSIVE_REVERSE_0]
NAME=reverse_bulb
COLOR=255,255,255
LAG=0.0
SIMULATE_HEATING=1.0

[EMISSIVE_REVERSE_1]
NAME=reverse_glass
COLOR=10,10,10
LAG=0.0
SIMULATE_HEATING=1.0






/////Headlight Refractions/////


[REFRACTING_HEADLIGHT_0]
SURFACE=Headlights_Housing
INSIDE=glassrhl_a 
RESOLUTION_MULT = 4
SYNC_EMISSIVE_AUTO= 1
ABSORPTION = 0.020000
AMBIENT_MULT = 0.250000
BASE_EMISSIVE_K = 0.050000
BOUNCED_BACK_MULT = 0.400000
BULB_BLUR_K = 4.000000
BULB_REFLECTION_K = 0.200000
CUSTOM_BULB_0 = 0.500000,0.500000,0.000000,0.000000
CUSTOM_BULB_1 = 0.500000,0.500000,0.000000,0.000000
CUSTOM_BULB_2 = 0.500000,0.500000,0.000000,0.000000
CUSTOM_BULB_3 = 0.500000,0.500000,0.000000,0.000000
DIFFUSE_MAP_FILTER_MULT = 1.000000
DIFFUSE_MAP_MULT = 0.000000
DIRECTION = -0.000001,0.000000,1.000000
DYNAMIC_EMISSIVE_MAP = 0
EMISSIVE_MULT = 1.000000
EXTRA_GLASS_COLORIZATION = 1
EXTRA_SIDE_THICKNESS = 0.000000
F0 = 0.800000
GLASS_COLOR = 0.250000,0.250000,0.250000
GLASS_EMISSIVE_MULT = 0.250000
GLASS_EXTRA_THICKNESS = 0.005000
INNER_SPECULAR = 10.000000
INNER_SPECULAR_EXP = 800.000000
IOR = 1.600000
IOR_FLYOUT_FLAT = 0.000000
LOD_BIAS = -2.000000
MIRROR_2_AS_5 = 0
MIRROR_3_AS_4 = 1
MIRROR_DIR = 1.000000,0.000000,0.000000
MIRROR_POS = -0.000747,0.615241,-2.088358
NM_SHARE_EXT = 0.300000
NM_SHARE_INT = 0.300000
ORIGIN = 0.341331,0.565146,-2.245361
RADIUS = 0.198216
REFLECTIVENESS_DIFFUSE_MULT = 60.000000
REFLECTIVENESS_MULT = 10.000000
REFLECTIVE_GAMMA = 1.000000
REFRACTION_MASKING = 0
SIDE_FALLOFF = 0.000000
USE_COLORED_BULBS = 0
USE_CUSTOM_BULBS = 0
USE_NORMAL_ALPHA = 1


[REFRACTING_HEADLIGHT_1]
SURFACE=Headlights_Housing
INSIDE=glasslhl_a
RESOLUTION_MULT = 4
SYNC_EMISSIVE_AUTO= 1
ABSORPTION = 0.020000
AMBIENT_MULT = 0.250000
BASE_EMISSIVE_K = 0.050000
BOUNCED_BACK_MULT = 0.400000
BULB_BLUR_K = 4.000000
BULB_REFLECTION_K = 0.200000
CUSTOM_BULB_0 = 0.500000,0.500000,0.000000,0.000000
CUSTOM_BULB_1 = 0.500000,0.500000,0.000000,0.000000
CUSTOM_BULB_2 = 0.500000,0.500000,0.000000,0.000000
CUSTOM_BULB_3 = 0.500000,0.500000,0.000000,0.000000
DIFFUSE_MAP_FILTER_MULT = 1.000000
DIFFUSE_MAP_MULT = 0.000000
DIRECTION = -0.000001,0.000000,1.000000
DYNAMIC_EMISSIVE_MAP = 0
EMISSIVE_MULT = 1.000000
EXTRA_GLASS_COLORIZATION = 1
EXTRA_SIDE_THICKNESS = 0.000000
F0 = 0.800000
GLASS_COLOR = 0.250000,0.250000,0.250000
GLASS_EMISSIVE_MULT = 0.250000
GLASS_EXTRA_THICKNESS = 0.005000
INNER_SPECULAR = 10.000000
INNER_SPECULAR_EXP = 800.000000
IOR = 1.600000
IOR_FLYOUT_FLAT = 0.000000
LOD_BIAS = -2.000000
MIRROR_2_AS_5 = 0
MIRROR_3_AS_4 = 1
MIRROR_DIR = 1.000000,0.000000,0.000000
MIRROR_POS = -0.000747,0.615241,-2.088358
NM_SHARE_EXT = 0.300000
NM_SHARE_INT = 0.300000
ORIGIN = 0.341331,0.565146,-2.245361
RADIUS = 0.198216
REFLECTIVENESS_DIFFUSE_MULT = 60.000000
REFLECTIVENESS_MULT = 10.000000
REFLECTIVE_GAMMA = 1.000000
REFRACTION_MASKING = 0
SIDE_FALLOFF = 0.000000
USE_COLORED_BULBS = 0
USE_CUSTOM_BULBS = 0
USE_NORMAL_ALPHA = 1


[REFRACTING_HEADLIGHT_2]
SURFACE=running_rear
INSIDE=running_rear_glass
RESOLUTION_MULT = 4
SYNC_EMISSIVE_AUTO= 1
ABSORPTION = 0.020000
AMBIENT_MULT = 0.250000
BASE_EMISSIVE_K = 0.050000
BOUNCED_BACK_MULT = 0.400000
BULB_BLUR_K = 4.000000
BULB_REFLECTION_K = 0.200000
CUSTOM_BULB_0 = 0.500000,0.500000,0.000000,0.000000
CUSTOM_BULB_1 = 0.500000,0.500000,0.000000,0.000000
CUSTOM_BULB_2 = 0.500000,0.500000,0.000000,0.000000
CUSTOM_BULB_3 = 0.500000,0.500000,0.000000,0.000000
DIFFUSE_MAP_FILTER_MULT = 1.000000
DIFFUSE_MAP_MULT = 0.000000
DIRECTION = -0.000001,0.000000,1.000000
DYNAMIC_EMISSIVE_MAP = 0
EMISSIVE_MULT = 1.000000
EXTRA_GLASS_COLORIZATION = 1
EXTRA_SIDE_THICKNESS = 0.000000
F0 = 0.800000
GLASS_COLOR = 0.250000,0.250000,0.250000
GLASS_EMISSIVE_MULT = 0.250000
GLASS_EXTRA_THICKNESS = 0.005000
INNER_SPECULAR = 10.000000
INNER_SPECULAR_EXP = 800.000000
IOR = 1.600000
IOR_FLYOUT_FLAT = 0.000000
LOD_BIAS = -2.000000
MIRROR_2_AS_5 = 0
MIRROR_3_AS_4 = 1
MIRROR_DIR = 1.000000,0.000000,0.000000
MIRROR_POS = -0.000747,0.615241,-2.088358
NM_SHARE_EXT = 0.300000
NM_SHARE_INT = 0.300000
ORIGIN = 0.341331,0.565146,-2.245361
RADIUS = 0.198216
REFLECTIVENESS_DIFFUSE_MULT = 60.000000
REFLECTIVENESS_MULT = 10.000000
REFLECTIVE_GAMMA = 1.000000
REFRACTION_MASKING = 0
SIDE_FALLOFF = 0.000000
USE_COLORED_BULBS = 0
USE_CUSTOM_BULBS = 0
USE_NORMAL_ALPHA = 1











/////Animations//////

[ANIMATION_...]
INPUT =HANDBRAKE             ; bind to reverse gear
FILE =handbrake_animation.ksanim    ; file name of new animation in “animations” folder
TIME = 0.3                  ; 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_...]
INPUT =GAS   ; bind to reverse gear
FILE = gas.ksanim    ; file name of new animation in “animations” folder
TIME = 0.15                  ; 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_...]
INPUT =BRAKE   ; bind to reverse gear
FILE = break.ksanim    ; file name of new animation in “animations” folder
TIME = 0.15                  ; 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_...]
INPUT =CLUTCH   ; bind to reverse gear
FILE = clutch.ksanim    ; file name of new animation in “animations” folder
TIME = 0.15                  ; 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)





///.Exhaust Goodies////

[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
DI3CHARGE_CHARGE_TIME=0.001 ; how long you have to press the throttle to "charge" the flames
DISCHARGE_DELAY=0.1 ; delay after throttle lift
DISCHARGE_DURATION=3.1 ; length of flame shooting, in seconds
DISCHARGE_PROBABILITY=1; chance of flame shoot on lift, 1 is guaranteed, 0 is never
DISCHARGE_INTENSITY=5; flame size
DISCHARGE_RPM_THRESHOLD_MAX=9000 ; self explanatory
DISCHARGE_RPM_THRESHOLD_MIN=2000 ; self explanatory
DISCHARGE_WATER_TEMPERATURE_THRESHOLD=70
FLAT_SHIFT=1 ; on upshift
FLAT_SHIFT_COOLDOWN=0 ; after upshift
FLAT_SHIFT_DURATION=5 ; length of flame shooting, in seconds
FLAT_SHIFT_GAS_THRESHOLD=80 ; how much gas needs to be pressed on upshift for flame, 100 is wide open
FLAT_SHIFT_INTENSITY=5 ; flame size
FLAT_SHIFT_PROBABILITY=1 ; chance of flame shoot on upshift
FLAT_SHIFT_RPM_THRESHOLD=8500
LIMITER=1 ; on hitting the limiter
LIMITER_DELAY=0 ; delay, in seconds
LIMITER_INTENSITY=5 ; flame size
LIMITER_RPM_THRESHOLD=2000 ; limiter flames will not shoot below this rpm


; Adds glowing exhaust for GT3 cars. Supports ksPerPixel_MultiMap and ksPerPixel shaders.
; Can add either single or two glowing points, mirrored by X axis: works great with
; original Kunos models aligned properly.

; Whole thing is very experimental, please avoid relying on it for now.

[DEFAULTS]
ExhaustGlowTint = 0.5
ExhaustTemperatureMin = 80
ExhaustTemperatureMax = 86
ExhaustDynamicLights = 1
ExhaustAreaScale = 100, 100, 0
ExhaustPositioningHelp =1
ExhaustRadiusInner = 0
ExhaustRadiusThicknessInv = 15.5
ExhaustMirror =1
ExhaustNormalsK = 1
ExhaustLightRange = 0.7

; Other optional params
ExhaustMeshes_MultiMap =exhaust
ExhaustMeshes_PerPixel =exhaust
ExhaustMeshes_Reflection =exhaust
ExhaustMeshes_NM =exhaust
ExhaustMeshes_MMNMD =exhaust
ExhaustExplicitBound =exhaust
ExhaustLightPoint =exhaust

[SHADER_REPLACEMENT_0_EXHAUST_GLOW_MM]
ACTIVE = ${ExhaustMeshes_MultiMap:count}
MESHES = ${ExhaustMeshes_MultiMap}
SHADER = nePerPixelMultiMap_heating

[SHADER_REPLACEMENT_0_EXHAUST_GLOW_PP]
ACTIVE = ${ExhaustMeshes_PerPixel:count}
MESHES = ${ExhaustMeshes_PerPixel}
SHADER = nePerPixel_heating

[SHADER_REPLACEMENT_0_EXHAUST_GLOW_PR]
ACTIVE = ${ExhaustMeshes_Reflection:count}
MESHES = ${ExhaustMeshes_Reflection}
SHADER = nePerPixelReflection_heating

[SHADER_REPLACEMENT_0_EXHAUST_GLOW_NM]
ACTIVE = ${ExhaustMeshes_NM:count}
MESHES = ${ExhaustMeshes_NM}
SHADER = nePerPixelNM_heating

[SHADER_REPLACEMENT_0_EXHAUST_GLOW_MMNMD]
ACTIVE = ${ExhaustMeshes_MMNMD:count}
MESHES = ${ExhaustMeshes_MMNMD}
SHADER = nePerPixelMultiMap_NMDetail_heating

[SHADER_REPLACEMENT_1_EXHAUST_GLOW]
MESHES = ${ExhaustMeshes_MultiMap}, ${ExhaustMeshes_PerPixel}, ${ExhaustMeshes_Reflection}, ${ExhaustMeshes_NM}, ${ExhaustMeshes_MMNMD}
PROP_10 = ev0_pos, $ExhaustPoint
PROP_11 = ev0_inner, $ExhaustRadiusInner
PROP_12 = ev0_thicknessInv, $ExhaustRadiusThicknessInv
PROP_13 = ev0_tint, $ExhaustGlowTint
PROP_14 = ev0_symmetryX, $ExhaustMirror
PROP_15 = ev0_scale, $ExhaustAreaScale
PROP_16 = ev0_normalsK, $ExhaustNormalsK
PROP_17 = ev0_pad, 0.2
PROP_20 = ksEmissive, 0

[EMISSIVE_WATER_TEMP_0_EXHAUST_GLOW]
MESHES = ${ExhaustMeshes_MultiMap}, ${ExhaustMeshes_PerPixel}, ${ExhaustMeshes_Reflection}, ${ExhaustMeshes_NM}, ${ExhaustMeshes_MMNMD}
COLOR = 15, 3, 0
USE_SMOOTH_TRANSITION = 1
INPUT_MIN = $ExhaustTemperatureMin
INPUT_MAX = $ExhaustTemperatureMax
INPUT_LUT = (| $ExhaustTemperatureMin = 0 | $ExhaustTemperatureMax = 1 |)

[LIGHT_EXTRA_0_EXHAUST_GLOW, LIGHT_EXTRA_1_EXHAUST_GLOW]
ACTIVE = ${ExhaustExplicitBound:count}
BOUND_TO = ${ExhaustExplicitBound:1}

[LIGHT_EXTRA_0_EXHAUST_GLOW, LIGHT_EXTRA_1_EXHAUST_GLOW]
ACTIVE = ${ExhaustMeshes_MultiMap:count}
BOUND_TO = ${ExhaustMeshes_MultiMap:1}

[LIGHT_EXTRA_0_EXHAUST_GLOW, LIGHT_EXTRA_1_EXHAUST_GLOW]
ACTIVE = ${ExhaustMeshes_PerPixel:count}
BOUND_TO = ${ExhaustMeshes_PerPixel:1}

[LIGHT_EXTRA_0_EXHAUST_GLOW, LIGHT_EXTRA_1_EXHAUST_GLOW]
ACTIVE = ${ExhaustMeshes_Reflection:count}
BOUND_TO = ${ExhaustMeshes_Reflection:1}

[LIGHT_EXTRA_0_EXHAUST_GLOW, LIGHT_EXTRA_1_EXHAUST_GLOW]
ACTIVE = ${ExhaustMeshes_NM:count}
BOUND_TO = ${ExhaustMeshes_NM:1}

[LIGHT_EXTRA_0_EXHAUST_GLOW, LIGHT_EXTRA_1_EXHAUST_GLOW]
ACTIVE = ${ExhaustMeshes_MMNMD:count}
BOUND_TO = ${ExhaustMeshes_MMNMD:1}

[LIGHT_EXTRA_0_EXHAUST_GLOW, LIGHT_EXTRA_1_EXHAUST_GLOW]
BOUND_EMISSIVE_MAX = 55
SELF_LIGHTNING = 1
EXTERIOR_ONLY = 1
INTERIOR_ONLY = 0
SPECULAR_MULT = 0
AFFECTS_TRACK = 1
SINGLE_FREQUENCY = 1
DIFFUSE_CONCENTRATION = 0.6
RANGE = $ExhaustLightRange
RANGE_GRADIENT_OFFSET = 0.6
COLOR = 10

[LIGHT_EXTRA_0_EXHAUST_GLOW]
POSITION = $ExhaustLightPoint

[LIGHT_EXTRA_1_EXHAUST_GLOW]
ACTIVE = $ExhaustMirror
POSITION = -${ExhaustLightPoint:1}, ${ExhaustLightPoint:2:2}

[LIGHT_EXTRA_0_EXHAUST_GLOW, LIGHT_EXTRA_1_EXHAUST_GLOW]
ACTIVE = $ExhaustPositioningHelp
DIFFUSE_CONCENTRATION = 1
BOUND_TO = 
RANGE = 1
COLOR = 100
AFFECTS_TRACK = 1
SPECULAR_MULT = 1




[SHAKING_EXHAUST_0]
MESHES = exhaust
POINT_0 = 1, 2, 3
POINT_0_RADIUS = 1
POINT_0_EXP = 1
POINT_0_SCALE = 0.325, 0.5, 0.23

[SHAKING_EXHAUST_1]
MESHES =exhaust_hole
POINT_0 = 1, 2, 3
POINT_0_RADIUS = 1
POINT_0_EXP = 1
POINT_0_SCALE = 0.325, 0.5, 0.23







////Sound////

[AUDIO_VOLUME]
ENGINE_EXT = 1.5
ENGINE_INT = 1.3
GEAR_EXT = 2.0
GEAR_INT = 1.0
BODYWORK = 1.0
WIND = 1.0
DIRT = 1.0
DOWN_SHIFT = 1.2
HORN = 1.0
GEAR_GRIND = 1.0
BACKFIRE_EXT = 5.0
BACKFIRE_INT = 5.0
TRACTION_CONTROL_EXT = 1.0
TRACTION_CONTROL_INT = 1.0
TRANSMISSION = 3.0
LIMITER= 3.0
TURBO = 3.0


[AUDIO_PROPERTIES]
TURBO_THROTTLE = 1    ; for turbo sound, “throttle” input, same as in engine event
ENGINE_EXT_BOOST = 1  ; for exterior engine sound, “boost” input, same as in turbo event
ENGINE_INT_BOOST = 1  ; for interior engine sound, “boost” input, same as in turbo event

[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 | 8000=8820 |)
ENGINE_INT_RPMS = (| 0=0 | 8000=8820 |)

[LIGHT_EXTRA_0_EXHAUST_GLOW, LIGHT_EXTRA_1_EXHAUST_GLOW]
ACTIVE = $ExhaustDynamicLights





////Double Sided Obejcts////

[SHADER_REPLACEMENT_...] 
MESHES=body_rubber, overheadconsole_a, body.003
CULL_MODE=DOUBLESIDED
