; Include Files
[INCLUDE: common/navigators.ini]
[INCLUDE: navigators_mixins.ini]
[INCLUDE: common/selflighting.ini]
[INCLUDE: common/no_popup_lights.ini]
[INCLUDE: common/materials_glass.ini]
[INCLUDE: common/materials_interior.ini]
[INCLUDE: common/materials_carpaint.ini]
[INCLUDE: pbr_int.ini]
[INCLUDE: pbr.ini]
[INCLUDE: pbr_ext.ini]
[INCLUDE: android_auto/config.ini]
[INCLUDE: common/gt3_exhaust_glow.ini]
[INCLUDE: common/custom_emissive.ini]
[INCLUDE: scriptable_display.ini]

[Material_CarPaint_Metal]
CarPaintMaterial = car_paint_job, calipers_paint_job
UseMetallicReflections = 0
FresnelMax = 1
FresnelC = 0.1
FlakesK = 2
ClearCoatThickness = 0.03
ColoredSpecular = 1
AmbientSpecular = 0.1
BrightnessAdjustment = 0.1

[Material_Glass]
Materials = red_glass
FilmIOR = 2
ExtraLightsAdjustment = 0.0
Refraction = 0.3
Desaturate = 0.6
ThicknessMult = 0.4
EXTRA_MASK_PASS = 6
EXTRA_MASK_PASS_OPACITY = 6

[Material_Glass]
Materials = red_glass_dark
FilmIOR = 2
ExtraLightsAdjustment = 0.0
Refraction = 0.3
Desaturate = 0.6
ThicknessMult = 0.4
EXTRA_MASK_PASS = 6
EXTRA_MASK_PASS_OPACITY = 6

[Material_InteriorPBRDetail]
Materials = piano_black, black_plate, headlights_piano_black, rims_paint_job
Reflectance = 0.72
Smoothness = 1
DetailNormalBlend =0
DetailScale =0
BrightnessAdjustment = 0
UseClearCoat = 1             ; set to 1 to add clear coat to material
ClearCoatSmoothness = 1    ; smoothness of clear coat
ClearCoatIntensity = 6     ; multiplier for clear coat, with 0, it’s pretty much disabled
ClearCoatNormalsShare = 0.0  ; how much of “txNormalDetail” goes to clear coat
ClearCoatF0 = 0.01          ; F0 for clear coat, should be 0.04 for most cases

[Material_Plastic_v2]
Materials=headlight_satin_metal
Brightness=0.9
OcclusionMap = 0.3
Smoothness = 0.9
Reflectance = 0.73
DetailScale=500
ApplyTilingFix=1
DetailNormalIntensity=1

[Material_Chrome]
Materials=headlights_chrome_1, tailights_chrome_1
Smoothness = 1
Metalness = 0.5
Reflectance = 0.5
BrightnessAdjustment = 1
CubemapReflectionBlur = 0

[REFRACTING_HEADLIGHT_...]
SURFACE =mercedes_benz_amg_gtr_roadster_egcu_spec.547
INSIDE =mercedes_benz_amg_gtr_roadster_egcu_spec.541
SYNC_EMISSIVE_AUTO=1
ABSORPTION = 0
AMBIENT_MULT = 0.25
BASE_EMISSIVE_K = 0.05
BOUNCED_BACK_MULT = 0.4
BULB_BLUR_K = 2
BULB_COLOR = 1,0,0
BULB_REFLECTION_K = 0.2
CUSTOM_BULB_0 = 0.5,0.5,0,0
CUSTOM_BULB_1 = 0.5,0.5,0,0
CUSTOM_BULB_2 = 0.5,0.5,0,0
CUSTOM_BULB_3 = 0.5,0.5,0,0
DIFFUSE_MAP_FILTER_MULT = 1
DIFFUSE_MAP_MULT = 0
DIRECTION = 0,0,1
DYNAMIC_EMISSIVE_MAP = 0
EMISSIVE_MULT = 1
EXTRA_GLASS_COLORIZATION = 1
EXTRA_SIDE_THICKNESS = 0
F0 = 0.8
GLASS_COLOR = 1,0,0
GLASS_EMISSIVE_MULT = 0
GLASS_EXTRA_THICKNESS = 0
INNER_SPECULAR = 10
INNER_SPECULAR_EXP = 800
IOR = 2.5
IOR_FLYOUT_FLAT = 0
LOD_BIAS = -0.5
MIRROR_2_AS_5 = 0
MIRROR_3_AS_4 = 1
MIRROR_DIR = 1,0,0
MIRROR_POS = -0.888,0.7522496,-2.1079144
NM_SHARE_EXT = 0
NM_SHARE_INT = 1
ORIGIN = -0.584,0.75336254,-2.366
RADIUS = 0.20500025
REFLECTIVENESS_DIFFUSE_MULT = 60
REFLECTIVENESS_MULT = 10
REFLECTIVE_GAMMA = 1
REFRACTION_MASKING = 0
SIDE_FALLOFF = 0
USE_COLORED_BULBS = 0
USE_CUSTOM_BULBS = 0
USE_NORMAL_ALPHA = 1

[REFRACTING_HEADLIGHT_...]
SURFACE =mercedes_benz_amg_gtr_roadster_egcu_spec.538
INSIDE =mercedes_benz_amg_gtr_roadster_egcu_spec.533
SYNC_EMISSIVE_AUTO=1
ABSORPTION = 0
AMBIENT_MULT = 0.25
BASE_EMISSIVE_K = 0.05
BOUNCED_BACK_MULT = 0.4
BULB_BLUR_K = 2
BULB_COLOR = 1,0,0
BULB_REFLECTION_K = 0.2
CUSTOM_BULB_0 = 0.5,0.5,0,0
CUSTOM_BULB_1 = 0.5,0.5,0,0
CUSTOM_BULB_2 = 0.5,0.5,0,0
CUSTOM_BULB_3 = 0.5,0.5,0,0
DIFFUSE_MAP_FILTER_MULT = 1
DIFFUSE_MAP_MULT = 0
DIRECTION = 0,0,1
DYNAMIC_EMISSIVE_MAP = 0
EMISSIVE_MULT = 1
EXTRA_GLASS_COLORIZATION = 1
EXTRA_SIDE_THICKNESS = 0
F0 = 0.8
GLASS_COLOR = 1,0,0
GLASS_EMISSIVE_MULT = 0
GLASS_EXTRA_THICKNESS = 0
INNER_SPECULAR = 10
INNER_SPECULAR_EXP = 800
IOR = 2.5
IOR_FLYOUT_FLAT = 0
LOD_BIAS = -0.5
MIRROR_2_AS_5 = 0
MIRROR_3_AS_4 = 1
MIRROR_DIR = 1,0,0
MIRROR_POS = 0.276,0.7522496,-2.107915
NM_SHARE_EXT = 0
NM_SHARE_INT = 1
ORIGIN = 0.6,0.7522496,-2.419
RADIUS = 0.2335
REFLECTIVENESS_DIFFUSE_MULT = 60
REFLECTIVENESS_MULT = 10
REFLECTIVE_GAMMA = 1
REFRACTION_MASKING = 0
SIDE_FALLOFF = 0
USE_COLORED_BULBS = 0
USE_CUSTOM_BULBS = 0
USE_NORMAL_ALPHA = 1

[Material_Glass]
Materials = headlight_drl_glass
FilmIOR = 1
ExtraLightsAdjustment = 90.0
Refraction = 1
Desaturate = 2.6
ThicknessMult = 2.3
EXTRA_MASK_PASS = 30
EXTRA_MASK_PASS_OPACITY = 2

[EXTRA_FX] ; Front + Taillights Glass Only
MASK_GBUFFER =gaugecluster_a_004, mercedes_benz_amg_gtr_roadster_egcu_spec.013, mercedes_benz_amg_gtr_roadster_egcu_spec.021, mercedes_benz_amg_gtr_roadster_egcu_spec.520, mercedes_benz_amg_gtr_roadster_egcu_spec.508, mercedes_benz_amg_gtr_roadster_egcu_spec.513, mercedes_benz_amg_gtr_roadster_egcu_spec.525, mercedes_benz_amg_gtr_roadster_egcu_spec.536, mercedes_benz_amg_gtr_roadster_egcu_spec.535, mercedes_benz_amg_gtr_roadster_egcu_spec.545, mercedes_benz_amg_gtr_roadster_egcu_spec.544
SKIP_GBUFFER =

[Material_Glass]
Materials = front_tinted_glass, windshield
MaskPass = 10     ; mask pass opacity
MaskPassColor = 0.0, 1.2, 0.8
IOR = 1.5          ; looks better like this
FilmIOR = 1.7      ; redefine IOR for external film layer to increaase reflections
ThicknessMult = 3 ; thicker glass passes less light through
BrightnessAdjustment = 0
ExtraLightsAdjustment = 0
usenormalmap = 1

[Material_Leather] L1
Materials=interior_black_leather
OcclusionMap=0.9
DetailScale=20
Reflectance = 0.2
Smoothness = 0.15
Brightness=0.25
ApplyTilingFix=0
DetailNormalIntensity=1
DetailNormalBlend=2

[Material_Leather] L1
Materials=interior_brown_leather
OcclusionMap=0.9
DetailScale=20
Reflectance = 0.1
Smoothness = 0.15
Brightness=0.9
ApplyTilingFix=0
DetailNormalIntensity=1
DetailNormalBlend=2

[Material_Leather] alcantaramid
Materials=interior_black_alcantara_1
OcclusionMap=0.9
DetailScale=25
Reflectance = 0.01
Smoothness = 0.1
Brightness= 0.7
ApplyTilingFix=1
DetailNormalIntensity=2
DetailNormalBlend=0.3

[Material_Leather] alcantaramid
Materials=engine_alacantara_cover_1
OcclusionMap=0.9
DetailScale=5
Reflectance = 0.01
Smoothness = 0.1
Brightness= 0.7
ApplyTilingFix=1
DetailNormalIntensity=2
DetailNormalBlend=0.3

[Material_Leather] alcantaramid
Materials=rear_fabric_1
OcclusionMap=0.6
DetailScale=8
Reflectance = 0.01
Smoothness = 0.1
Brightness= 0.1
ApplyTilingFix=1
DetailNormalIntensity=2
DetailNormalBlend=0.3

[Material_Plastic_v2]
Materials=satin_metal_2, rims_satin_metal_1
Brightness=0.5
OcclusionMap = 0.5
Smoothness = 0.4
Reflectance = 0.53
DetailScale=500
ApplyTilingFix=1
DetailNormalIntensity=1

[Material_Plastic_v2]
Materials=satin_metal_1
Brightness=0.4
OcclusionMap = 0.3
Smoothness = 0.4
Reflectance = 0.53
DetailScale=500
ApplyTilingFix=1
DetailNormalIntensity=1

[EMISSIVE_TURNSIGNAL_LEFT_...]
NAME= mercedes_benz_amg_gtr_roadster_egcu_spec.528
COLOR=35,10, 0, 10
OFF_COLOR=7,12,15,10  
LAG=0.0
REPEAT_FREQENCY_HZ=2.0
LOCATION=FRONT
REPEAT_FREQENCY_HAZARDS_HZ=4.0
CAST_LIGHT=0

[EMISSIVE_TURNSIGNAL_RIGHT_...]
NAME= mercedes_benz_amg_gtr_roadster_egcu_spec.516
COLOR=35,10, 0, 10
OFF_COLOR=7,12,15,10  
LAG=0.0
REPEAT_FREQENCY_HZ=2.0
LOCATION=FRONT
REPEAT_FREQENCY_HAZARDS_HZ=4.0
CAST_LIGHT=0

[EMISSIVE_TURNSIGNAL_LEFT_...]
NAME= mercedes_benz_amg_gtr_roadster_egcu_spec.540
COLOR=35,10, 0, 60
LAG=0.0
REPEAT_FREQENCY_HZ=2.0
LOCATION=FRONT
REPEAT_FREQENCY_HAZARDS_HZ=4.0
CAST_LIGHT=0

[EMISSIVE_TURNSIGNAL_RIGHT_...]
NAME= mercedes_benz_amg_gtr_roadster_egcu_spec.549
COLOR=35,10, 0, 60
LAG=0.0
REPEAT_FREQENCY_HZ=2.0
LOCATION=FRONT
REPEAT_FREQENCY_HAZARDS_HZ=4.0
CAST_LIGHT=0

[EMISSIVE_LIGHT_...]
NAME = Cube.004, Cube.003, Cube.005, Cube, Cube.001, Cube.002	 		; name (one or more) of a mesh to glow
COLOR = 10,12,15,100 
LAG = 0.                		; with zero, turns on and off immediately
SIMULATE_HEATING = 0.  		; adds heating effect, going through orange tint while turning on and off
LOCATION = FRONT 
CAST_LIGHT=1		; light location used for damage and light guessing, default value depends on type
ACT_AS_HEADLIGHTS = 1 

[EMISSIVE_HIGHBEAM_...]			; MAKE A MESH INTO A HIGHBEAM LIGHT
BIND_TO_HEADLIGHTS=0			; bind to headlights button if needed
NAME=Cube.010, Cube.011, Cube.009, Cube.006, Cube.007, Cube.008		; name of meshes to activate (object1, object2, object3, etc.)
COLOR=20,22,25, 20			; colour of mesh when active
LAG=0.63				; lag time after activating
SIMULATE_HEATING=0.5			; add extra glow to mesh
LOCATION=FRONT				; position of light - front / rear / none
CAST_LIGHT=1				; make mesh project light
CLUSTER_THRESHOLD=0.5

[EXTRA_FX_EMISSIVE_...]
MESHES = Plane         ; 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.01              ; range in meters (by default 0.08 for cars and 5 for tracks)
COLOR = 0.3          ; optional brightness multiplier (could be an RGBA value)
DIRECTED = 1         ; 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 = 1       ; 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 = 2000             ; 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 = 2000      ; 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         ; increase to move light producing samples away from surface alogn
    ; normals (use it if surroundings are too dark)
COVERED_BY = …   

[EXTRA_FX_EMISSIVE_...]
MESHES = Cube.010, Cube.011, Cube.009, Cube.006, Cube.007, Cube.008           ; 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.03              ; range in meters (by default 0.08 for cars and 5 for tracks)
COLOR = 0.3          ; optional brightness multiplier (could be an RGBA value)
DIRECTED = 1         ; 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 = 1       ; 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 = 2000             ; 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 = 2000      ; 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         ; 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 = Cube.004, Cube.003, Cube.005, Cube, Cube.001, Cube.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 = 0.3          ; optional brightness multiplier (could be an RGBA value)
DIRECTED = 1         ; 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 = 1       ; 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 = 2000             ; 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 = 2000      ; 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         ; 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

[EMISSIVE_LIGHT_...]
NAME= mercedes_benz_amg_gtr_roadster_egcu_spec.128, mercedes_benz_amg_gtr_roadster_egcu_spec.134, mercedes_benz_amg_gtr_roadster_egcu_spec.068, cluster_0, lcd_01, mercedes_benz_amg_gtr_roadster_egcu_spec.183, mercedes_benz_amg_gtr_roadster_egcu_spec.126, mercedes_benz_amg_gtr_roadster_egcu_spec.195, Plane
COLOR=1,1,1, 2
CAST_LIGHT=1
ACT_AS_HEADLIGHTS=0

[EMISSIVE_BRAKE_...]
NAME=mercedes_benz_amg_gtr_roadster_egcu_spec.092
COLOR=35, 0, 0, 30
CAST_LIGHT=1
ACT_AS_HEADLIGHTS=0
INPUT = BRAKE
INPUT_THRESHOLD = 0.95
BLINK_REPEAT = 1 ; just make it blink
BLINK_FREQENCY_HZ = 4 ; sets frequency for blinking
LOCATION=REAR

[EMISSIVE_BRAKE_...]
NAME=mercedes_benz_amg_gtr_roadster_egcu_spec.541, mercedes_benz_amg_gtr_roadster_egcu_spec.533	
COLOR=35, 0, 0, 30
CAST_LIGHT=1
ACT_AS_HEADLIGHTS=0
FALLBACK_HEADLIGHTS_COLOR =35,0,0,20
FALLBACK_BRAKES_COLOR=35,0,0,50
INPUT = BRAKE
INPUT_THRESHOLD = 0.95
BLINK_REPEAT = 1 ; just make it blink
BLINK_FREQENCY_HZ = 4 ; sets frequency for blinking
LOCATION=REAR

[EXTRA_FX_EMISSIVE_...]
MESHES = mercedes_benz_amg_gtr_roadster_egcu_spec.092, mercedes_benz_amg_gtr_roadster_egcu_spec.541, mercedes_benz_amg_gtr_roadster_egcu_spec.533, mercedes_benz_amg_gtr_roadster_egcu_spec.549, mercedes_benz_amg_gtr_roadster_egcu_spec.540            ; 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.02              ; range in meters (by default 0.08 for cars and 5 for tracks)
COLOR = 1          ; optional brightness multiplier (could be an RGBA value)
DIRECTED = 1         ; 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 = 1       ; 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 = 2000             ; 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 = 2000      ; 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         ; 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_DigitalSceen]        ;android screen
Materials=aa
MatrixType = IPS       ; valid values: IPS, TN, VA
UseTextureCoordinates = 1  ; with 0, vertex coordinates will be used. sometimes it’s better, sometimes it’s buggier
ScreenScale = 600          ; amount of pixels horizontally
ScreenAspectRatio = 0.25   ; aspect ratio, height/width
Emissive = 1.4              ; screen brightness
FlipXY = 0                ; rotate display 90°
SkewTextureCoordinates = 0 ; this value can help fixing tilted UV coordinates
TreatTextureAsHDR = 0      ; set to 1 if input texture is HDR

[SCRIPTABLE_DISPLAY_...]
MESHES = Plane
RESOLUTION = 1285, 745 ; matches values in navigator
DISPLAY_POS = 0, 0.1
DISPLAY_SIZE = 1280, 699
KEEP_BACKGROUND = 0 ; Stop CSP from painting original texture as background to get stereo and navigator 
  ; to work. Script will need to reset background manually or things will leave trails.
INTERACTIVE = 1 ; Keep track of mouse position over the display (adds extra cost, especially on high poly meshes)
FORCE_UPDATE_AFTER = NAVIGATOR_0
SCRIPT = roma.lua
RearCameraPosition = 0.104, 1.01, -1.45

[RENDERING_CAMERA_0]
DYNAMIC_TEXTURE_ID = camera_rear ; here, we will create “dynamic::camera_rear” texture
POSITION = 0, 0.685, -2.65
DIRECTION = 0, -0.5, -1
INCLUDE_CAR = 1
REFRESH_RATE = 20  ; doesn’t need to update too often, those in-car cameras are usually pretty nasty
INTERIOR_ONLY = 1  ; stop rendering if camera is not interior one
CLIP_NEAR = 0.005  ; the way it’s positioned, it needs to render things that are very close (bits of car)
FOV = 168          ; huge FOV to get that authentic look
RESOLUTION = 3200, 2000 ; and massive resolution too
ACTIVE_BY_DEFAULT = 1 ; inactive by default, activated by a script
WITH_LIGHTING = 1
; RELATIVE_TO = DOOR_L

[RENDERING_CAMERA_1]
DYNAMIC_TEXTURE_ID = camera_360 ; here, we will create “dynamic::camera_rear” texture
POSITION = 0, 8.6, .3
DIRECTION = 0, -1, 0
INCLUDE_CAR = 1
REFRESH_RATE = 20  ; doesn’t need to update too often, those in-car cameras are usually pretty nasty
INTERIOR_ONLY = 1  ; stop rendering if camera is not interior one
CLIP_NEAR = 0.005  ; the way it’s positioned, it needs to render things that are very close (bits of car)
FOV = 60        ; huge FOV to get that authentic look5
RESOLUTION = 1500, 2000 ; and massive resolution too
ACTIVE_BY_DEFAULT = 0 ; inactive by default, activated by a script
WITH_LIGHTING = 1
; RELATIVE_TO = DOOR_L

[TEXTURE_PREPROCESSING_...]
DYNAMIC_TEXTURE_ID = camera_rear_distorted ; new “dynamic::camera_rear_distorted” texture
TEXTURE_SOURCE = dynamic::camera_rear ; use previously specificed camera texture
RESOLUTION = 900, 500 ; target resolution matches screen one, RESOLUTION for camera is just that multiplied by four
EFFECT = FISHEYE  ; use BASIC if you only need color correction (SATURATION, BRIGHTNESS, etc.)
INTENSITY = 1.7   ; intensity of fisheye effect, adjusted for 170° FOV
EXPOSURE = .6      ; this value activates tonemapping to get image from HDR to LDR space
BRIGHTNESS = 0.7  ; a bit dimmer

[TEXTURE_PREPROCESSING_...]
DYNAMIC_TEXTURE_ID = camera_360_distorted ; new “dynamic::camera_rear_distorted” texture
TEXTURE_SOURCE = dynamic::camera_360 ; use previously specificed camera texture
RESOLUTION = 250., 500 ; target resolution matches screen one, RESOLUTION for camera is just that multiplied by four
EFFECT = FISHEYE  ; use BASIC if you only need color correction (SATURATION, BRIGHTNESS, etc.)
INTENSITY = 0.4   ; intensity of fisheye effect, adjusted for 170° FOV
EXPOSURE = .4      ; this value activates tonemapping to get image from HDR to LDR space
BRIGHTNESS = 0.7  ; a bit dimmer

[EXHAUST_FLAMES] ; CSP Flames Configuration
ANTILAG=0 ; turbo antilag, i havent tested this yet
ANTILAG_DELAY=0.0 ; how long after antilag trigger do flames start, in seconds
ANTILAG_INTENSITY=10 ; flame size
ANTILAG_INTERVAL_MAX=7000
ANTILAG_INTERVAL_MIN=65000
ANTILAG_TURBO_THRESHOLD=0.0
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.1 ; how long you have to press the throttle to "charge" the flames
DISCHARGE_DELAY=0.1 ; delay after throttle lift
DISCHARGE_DURATION=0.95 ; length of flame shooting, in seconds
DISCHARGE_PROBABILITY=1; chance of flame shoot on lift, 1 is guaranteed, 0 is never
DISCHARGE_INTENSITY=1; flame size
DISCHARGE_RPM_THRESHOLD_MAX=7200 ; 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=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=.1 ; flame size
FLAT_SHIFT_PROBABILITY=.5 ; chance of flame shoot on upshift
FLAT_SHIFT_RPM_THRESHOLD=6900
LIMITER=1 ; on hitting the limiter
LIMITER_DELAY=0.2 ; delay, in seconds
LIMITER_INTENSITY=.1 ; flame size
LIMITER_RPM_THRESHOLD=7300 ; limiter flames will not shoot below this rpm

[EMISSIVE_TURNSIGNAL_LEFT_...]
NAME= emissive_cluster
COLOR=0,10, 0, 2
LAG=0.0
REPEAT_FREQENCY_HZ=2.0
LOCATION=FRONT
REPEAT_FREQENCY_HAZARDS_HZ=4.0
CAST_LIGHT=0

[EMISSIVE_TURNSIGNAL_RIGHT_...]
NAME= emissive_cluster.001
COLOR=0,10, 0, 2 
LAG=0.0
REPEAT_FREQENCY_HZ=2.0
LOCATION=FRONT
REPEAT_FREQENCY_HAZARDS_HZ=4.0
CAST_LIGHT=0

[EMISSIVE_ABS_INACTION_0]
COLOR=40,15,0,1
NAME=emissive_cluster.003
TOGGLE_VISIBILITY = 0
LAG=0.0

[EMISSIVE_HANDBRAKE_0]
NAME=emissive_cluster.006
COLOR=40,0,0,2
BLINK_FREQENCY_HZ=1
LAG=0.0
TOGGLE_VISIBILITY = 0

[EMISSIVE_TRACTIONCONTROL_INACTION_0]
COLOR=40,10,0,2
NAME=emissive_cluster.011
TOGGLE_VISIBILITY = 0
LAG=0.0

[EMISSIVE_...]
NAME=emissive_cluster.014, emissive_cluster.013
INPUT=SPEED
INPUT_THRESHOLD>=0
TOGGLE_VISIBILITY = 0
BLINK_REPEAT = 0                ; just make it blink
BLINK_FREQENCY_HZ = 0.6         ; sets frequency for blinking
COLOR=40,4,0.5, 2
LAG=0.8

; License Plate Lights
[LIGHT_LICENSEPLATE]
MESHES=glass.001
OFFSET=0.0, 0.0, -0.0
RANGE=0.3
RANGE_GRADIENT_OFFSET=0.3
SPOT=200
SPOT_SHARPNESS=0
COLOR=10,10,10,10
LAYOUT=TWO_ON_TOP
EMISSIVE_TWEAK = 1
MIP_BIAS = 0
IGNORE_TEXTURE_COLOR = 0
COVERAGE = 2000
SAMPLES_LIMIT = 2000
SPLIT_ELEMENTS = 1
SPLIT_THRESHOLD = ...
NORMAL_SHIFT = 0
COVERED_BY = …

[SHADER_REPLACEMENT_...] ; Carbon1
MATERIALS = interior_carbon_fiber_1, matte_carbon_fiber_1
PROP_... = ksAmbient, 0.15
PROP_... = ksDiffuse, 0.15
PROP_... = ksSpecular, 1
PROP_... = ksSpecularEXP, 100
PROP_... = fresnelMaxLevel, 0.04
PROP_... = fresnelEXP, 1.5
PROP_... = fresnelC, 0.9
PROP_... = useDetail, 1
PROP_... = detailUVMultiplier, 180
PROP_... = detailNormalBlend, 1
DOUBLE_FACE_SHADOW_BIASED = 1

[ANIMATION_...]
INPUT = EXTRA_A         ; bind to reverse gear
FILE = HOOD_ANIMATION.ksanim  ; file name of new animation in “animations” folder
TIME = 1.8                  ; 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)

[Material_Leather] L1
Materials=plastic_1
OcclusionMap=0.5
DetailScale=25
Reflectance = 0.1
Smoothness = 0.4
Brightness=0.15
ApplyTilingFix=0
DetailNormalIntensity=1
DetailNormalBlend=2

[Material_Leather] L1
Materials=plastic_2
OcclusionMap=0.5
DetailScale=25
Reflectance = 0.1
Smoothness = 0.4
Brightness=0.15
ApplyTilingFix=0
DetailNormalIntensity=1
DetailNormalBlend=2

[Material_Leather] L1
Materials=plastic_3
OcclusionMap=0.5
DetailScale=25
Reflectance = 0.1
Smoothness = 0.4
Brightness=0.15
ApplyTilingFix=0
DetailNormalIntensity=1
DetailNormalBlend=2