


[INCLUDE: analog_dash.ini]
[INCLUDE: digital.ini]
[INCLUDE: trd.ini]
[INCLUDE: materials.ini]
[INCLUDE: lights.ini]
[INCLUDE: refraction.ini]
[INCLUDE: tail_lights.ini]
[INCLUDE: turn_signals.ini]
[INCLUDE: tyre_textures.ini]
[INCLUDE: common/navigators.ini]

[INCLUDE: common/custom_emissive.ini]

[INCLUDE: common/custom_rims.ini]


---------------------------- Dealer Plates --------------------------------
;set active to 1 to use them 

[MODEL_REPLACEMENT_...]
ACTIVE = 0       ; set to 0 to disable the whole section (default value is 1)
FILE = j8_gr_corolla_me_usdm.kn5, j8_gr_corolla_me_usdm_lod_b.kn5, j8_gr_corolla_me_usdm_lod_c.kn5,
HIDE = Plate_US, Plate_US_front
INSERT = Dealer_Plates.kn5
INSERT_AFTER =  COCKPIT_HR, COCKPIT_LR

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

[REAL_MIRROR_1]
ASPECT_MULT=1
FLIP=0
FOV=6.79
IS_MONITOR=0
MONITOR_SHADER_TYPE=1
ROTATION=0.046,-0.091000006

[EXTRA_SWITCHES] ;Loading menu description of switches (for some reason, it doesn't capitalize the first letter...)
SWITCH_A = Fog Lights
SWITCH_B = Interior Lights
SWITCH_C = GR-Four Drivetrain modes

[BASIC]
IS_LOW_BEAM_AVAILABLE=1
HEADLIGHTS_ARE_HEADLIGHTS = 1
DIESEL_ENGINE = 0
OPEN_WHEELER = 0            
RALLY_CAR = 0 

[LIGHTING]
EMISSIVE_MULT=1
INTERIOR_FAKE_UPPER_SHADOW_HEIGHT=-0.20
INTERIOR_FAKE_UPPER_SHADOW_FADE=0.1
INTERIOR_FAKE_SHADOW_OPACITY=1.4
INTERIOR_FAKE_SHADOW_HEIGHT=0.1
INTERIOR_FAKE_SHADOW_FAGE=0.2

[PARTICLES_FX_EXHAUST_...]
;left
POSITION = 0.500, 0.13, -2.07         ; self explanatory
DIRECTION = 0.4, 0.18, -3.22            ; 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.25                ; initial spread of particles
STARTING_SIZE = 0.04            ; initial size of particles
SPAWN_OFFSET = 0.02            ; initial spawn point offset (length-wise)
INTENSITY = 0.1, 0.1             ; smoke intensity
TEMPERATURE_LAG = 1             ; engine heating up (1 to disable)
SPEED_THRESHOLD = 15, 100         ; speed at which the smoke disappears

[PARTICLES_FX_EXHAUST_...]
;right
POSITION = -0.500, 0.13, -2.07         ; self explanatory
DIRECTION = 0.4, 0.18, -3.22            ; 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.25                ; initial spread of particles
STARTING_SIZE = 0.04            ; initial size of particles
SPAWN_OFFSET = 0.02            ; initial spawn point offset (length-wise)
INTENSITY = 0.1, 0.1             ; smoke intensity
TEMPERATURE_LAG = 1             ; engine heating up (1 to disable)
SPEED_THRESHOLD = 15, 100         ; speed at which the smoke disappears

[PARTICLES_FX_EXHAUST_...]
;center
POSITION = 0, 0.13, -2.07         ; self explanatory
DIRECTION = 0.4, 0.18, -3.22            ; 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.25                ; initial spread of particles
STARTING_SIZE = 0.04            ; initial size of particles
SPAWN_OFFSET = 0.02            ; initial spawn point offset (length-wise)
INTENSITY = 0.1, 0.1             ; smoke intensity
TEMPERATURE_LAG = 1             ; engine heating up (1 to disable)
SPEED_THRESHOLD = 15, 100         ; speed at which the smoke disappears


[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 = 0               ; add a bit of carving, radial lines (fast for shader to compute)
CARVED_FREQUENCY = 20  ; increase to make more lines
GLOW_OFFSET = 1.15    ; 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
DEBUG = 0
DISC_INTERNAL_RADIUS = 0.065
DISC_RADIUS = 0.11
ALPHA_MASK = 0.0, 0.1
WEAR_FORCE = 0.35
GLOW_FORCE = 0

[DATA]
DISABLE_LIGHTSINI = 1

[BOUNCED_INTERIOR_LIGHT]
ACTIVE=1

[BOUNCED_INTERIOR_LIGHT]
ACTIVE=0
DIRECTION=0, 1, -2
MULT=1, 1, 10, 10
OFFSET=0, -1, 3
RANGE=3.2
RANGE_GRADIENT_OFFSET=0.9
SPOT=20
SPOT_SHARPNESS=0.9

[BOUNCED_HEADLIGHTS]
ACTIVE=1
FADE_AT=200
FADE_SMOOTH=50
FALLOFF=0.4
GRADIENT_OFFSET=0.8
MULT=1, 1, 1, 1
OFFSET=7

[WIPERS_TRACE_...]
SURFACE=ext_windscreen
WIPERS=ext_wiper.002, ext_wiper, ext_wiper.003, ext_wiper.001

[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 progress to vibrate around
          ; base animation progress to vibrate around

[ODOMETER_MAIN]
NAME=
FONT=650S_big
BLEND_MODE=0
POSITION=14,9
ROTATION=0
SCALE=1,1.5
SIZE=300, 45
DIGIT_WIDTH=35
COUNT=7
BACKGROUND=0.2,0.2,0.2
COLOR=1,1,1
LAST_DIGIT_COLOR=0,0,0
LAST_DIGIT_BACKGROUND=1,1,1
JITTER=0.02
MOVEMENT_INTERVAL=3

[ODOMETER_TRIP]
NAME=
FONT=650S_big
BLEND_MODE=0
POSITION=335,10
ROTATION=0
SCALE=1,1.5
SIZE=170, 45
DIGIT_WIDTH=35
COUNT=4
BACKGROUND=0.2,0.2,0.2
COLOR=1,1,1
LAST_DIGIT_COLOR=0,0,0
LAST_DIGIT_BACKGROUND=1,1,1
JITTER=0.02
MOVEMENT_INTERVAL=1
--------------------------------------------- ANIMATIONS ------------------------------------------------------
[CAR_STEREO_...]
MESHES = 
RESOLUTION = 2048, 1024
DISPLAY_POS = 200, 150
DISPLAY_SIZE = 2000, 100
COLOR = '#000000'
FONT = digital_big

TEXT_0 = "{Artist} - {Track}"
TEXT_0_NOALBUM = "{Artist} - {Track}"
TEXT_0_NOARTIST = "{Track}"
TEXT_0_FALLBACK = "GM SF/CD"
TEXT_0_ALIGN = CENTER
TEXT_0_START = -250, 30
TEXT_0_LETTER = 76, 80
TEXT_0_LETTERS_LIMIT = $" floor((460 - 4 * 2) / 26) "

ANIMATION_0 = 6, 4
ANIMATION_0_START = 460, 44
ANIMATION_0_BLOCK = 5, 2
ANIMATION_0_MARGIN = 4, 3
ANIMATION_0_BASE_ROW = BOTTOM

[INCLUDE: android_auto/config.ini]
[Display_AndroidAuto]
Meshes = int_screen ; display mesh
Resolution = 910, 520   ; texture resolution
Size = 900, 505      ; size of the screen area
Offset = 4, 08         ; 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
aftermarketComponent = 0

[ADJUSTABLE_WING_0]
NAME = WING_ADJUSTABLE  ; name of wing root node to rotate
WING = 2          ; index of section in aero.ini
ANGLE_BASE = 0    ; base offset for angle
ANGLE_MULT = -0.99  ; angle multiplier
DEBUG_MODE = 0    ; set to 1 to adjust PIVOT easier
ROTATION_PIVOT = 0, 0.0, -0.0  ; rotation pivot relative to wing root node, should be at the center of wing mesh
ROTATION_AXIS = -1, 0, 0         ; I’m pretty sure in most cases, this value wouldn’t be changed, but just in case


[SHAKING_EXHAUST_...]
MESHES = ext_exhaust_shake, ext_exhaust_holes, ext_exhaust_shroud
POINT_0 = 01.1, -0.1, 0.1
POINT_0_RADIUS = 1
POINT_0_EXP = 1
POINT_0_SCALE = 0.3, 0.3, 0.3


[BRAKEDISC_FX_FRONT]
ACTIVE = 1             ; set to 0 to disable the whole thing if car uses ksBrakeDisc shader for something else
CERAMIC = 0           ; use ceramic look
CARVED = 0               ; add a bit of carving, radial lines (fast for shader to compute)
CARVED_FREQUENCY = 10  ; increase to make more lines
GLOW_OFFSET = 1   ; 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
DEBUG = 0
OVERRIDE_NORMAL_MAP = 0
LUMINOCITY_MASK = 0.2, 0.5
DISC_INTERNAL_RADIUS = 0.087
DISC_RADIUS = 0.1425
ALPHA_MASK = 0.0, 0.3
WEAR_FORCE = 0.3
GLOW_FORCE = 0.0

[BRAKEDISC_FX_REAR]
ACTIVE = 1             ; set to 0 to disable the whole thing if car uses ksBrakeDisc shader for something else
CERAMIC = 0           ; use ceramic look
CARVED = 0               ; add a bit of carving, radial lines (fast for shader to compute)
CARVED_FREQUENCY = 10  ; increase to make more lines
GLOW_OFFSET = 1   ; 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
DEBUG = 0
OVERRIDE_NORMAL_MAP = 0
LUMINOCITY_MASK = 0.2, 0.5
DISC_INTERNAL_RADIUS = 0.081
DISC_RADIUS = 0.131
ALPHA_MASK = 0.0, 0.3
WEAR_FORCE = 0.3
GLOW_FORCE = 0.0

[AUDIO_VOLUME]
ENGINE_EXT = 2
ENGINE_INT = 2
GEAR_EXT = 2
GEAR_INT = 2
BODYWORK = 2
WIND = 2
DIRT = 2
DOWN_SHIFT = 2
HORN = 2
GEAR_GRIND = 2
BACKFIRE_EXT = 2
BACKFIRE_INT = 2
TRACTION_CONTROL_EXT = 2
TRACTION_CONTROL_INT = 2
TRANSMISSION = 2
LIMITER = 2
TURBO =2
HIT = 2
SCRAPE = 2
WHEEL = 2
SKID_EXT = 2
SKID_INT = 2

------------- painful stuff ------------------

--- RPM ---------------

[ANALOG_INDICATOR_...] 
;red bar
BIND_TO=RPM
NAME=RPM_RED_SMALL
ZERO=0
STEP=1
MIN_VALUE=0
LUT=(0=0|1000=-29|7500=-220|9000=-250)

[ANALOG_INDICATOR_...] 
;White bar 1
BIND_TO=RPM
NAME=RPM_WHITE_01
ZERO=0
STEP=1
MIN_VALUE=0
LUT=(0=0|1000=-29|7500=-220|9000=-250)

[ANALOG_INDICATOR_...] 
;White bar 2
BIND_TO=RPM
NAME=RPM_WHITE_02
ZERO=0
STEP=1
MIN_VALUE=0
LUT=(0=0|9000=-120)

----- end ---------------------

------------------ Digital bars -------------------------

[ANALOG_INDICATOR_...]
INPUT = FUEL                     ; any of supported inputs
NAME = int_fuel_gauge                  ; name of mesh to move
SCALE_START = 0, 1, 1            ; scale for the minimum value
SCALE_END = 1, 2, 1              ; scale for the upper bound (allows to create progress bars and such)
UPPER_BOUND = 50                 ; maximum input value for arrow to move with
LOWER_BOUND = 0

[ANALOG_INDICATOR_...]
INPUT = WATER_TEMPERATURE        ; any of supported inputs
NAME = int_water_temp            ; name of mesh to move
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)
UPPER_BOUND = 130                ; maximum input value for arrow to move with
LOWER_BOUND = 40                 ; minimum input value

[ANALOG_INDICATOR_...]
INPUT = OIL_TEMPERATURE          ; any of supported inputs
NAME = int_oil_temp              ; name of mesh to move
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)
UPPER_BOUND = 130                ; maximum input value for arrow to move with
LOWER_BOUND = 45                 ; minimum input value

[ANALOG_INDICATOR_...]
INPUT = OIL_PRESSURE             ; any of supported inputs
NAME = int_oil_pressure             ; name of mesh to move
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)
UPPER_BOUND = 10.5                 ; maximum input value for arrow to move with
LOWER_BOUND = 0                  ; minimum input value

--------------- America units -----------------------

[DI_WATER_TEMPERATURE_...];Fahrenheit 
DIGITAL_ITEM = 1
INPUT_MULT = 1.8
INPUT_ADD = 32
DIGITAL_ITEM_NUMBER_FORMAT = 1.0
UPPER_BOUND = 999999

[DI_OIL_TEMPERATURE_...];Fahrenheit
DIGITAL_ITEM = 2
INPUT_MULT = 1.8
INPUT_ADD = 32
INPUT_MIN = 170
DIGITAL_ITEM_NUMBER_FORMAT = 1.0
UPPER_BOUND = 999999

[DI_OIL_PRESSURE_...]
DIGITAL_ITEM = 3
DIGITAL_ITEM_NUMBER_FORMAT = 0.1
UPPER_BOUND = 999999

[DI_AMBIENT_TEMPERATURE_...]
DIGITAL_ITEM=5 ; The number is what the number in the selection it is in Digital_instruments.ini. For example, you would put X here where x can be found in ITEM_X where the text you want to replace is located.
TYPE_EXT=ABMIENT_TEMPERATURE ; For water temp, replace this with WATER_TEMPERATURE
DIGITAL_ITEM_NUMBER_FORMAT=3.0

[DI_DRIVEN_TOTAL_...];mile
DIGITAL_ITEM = 6
INPUT_MULT = 0.62
DIGITAL_ITEM_NUMBER_FORMAT = 1.0
UPPER_BOUND = 999999

[DI_TYRE_PRESSURE_...]
DIGITAL_ITEM = 8
DIGITAL_ITEM_NUMBER_FORMAT = 1.0
UPPER_BOUND = 999999
INPUT_SELECTOR = 0

[DI_TYRE_PRESSURE_...]
DIGITAL_ITEM = 9
DIGITAL_ITEM_NUMBER_FORMAT = 1.0
UPPER_BOUND = 999999
INPUT_SELECTOR = 1

[DI_TYRE_PRESSURE_...]
DIGITAL_ITEM = 10
DIGITAL_ITEM_NUMBER_FORMAT = 1.0
UPPER_BOUND = 999999
INPUT_SELECTOR = 2

[DI_TYRE_PRESSURE_...]
DIGITAL_ITEM = 11
DIGITAL_ITEM_NUMBER_FORMAT = 1.0
UPPER_BOUND = 999999
INPUT_SELECTOR = 3

[DI_TIME_...]
DIGITAL_ITEM = 7
DIGITAL_ITEM_NUMBER_FORMAT =  TIME, '%I:%M'

[ANALOG_INDICATOR_...]
INPUT = RPM                     ; any of supported inputs
NAME = int_digital_cluster_speed_white,                    ; name of mesh to move
SCALE_START = 0, 1, 1            ; scale for the minimum value
SCALE_END = 1, 2, 1              ; scale for the upper bound (allows to create progress bars and such)
UPPER_BOUND = 8500               ; maximum input value for arrow to move with
LOWER_BOUND = 700

[ANALOG_INDICATOR_...]
INPUT = RPM                     ; any of supported inputs
NAME = int_digital_cluster_speed_yellow                   ; name of mesh to move
SCALE_START = 0, 1, 1            ; scale for the minimum value
SCALE_END = 1, 2, 1              ; scale for the upper bound (allows to create progress bars and such)
UPPER_BOUND = 8500               ; maximum input value for arrow to move with
LOWER_BOUND = 700

[ANALOG_INDICATOR_...]
INPUT = RPM                     ; any of supported inputs
NAME = int_digital_cluster_speed_red                   ; name of mesh to move
SCALE_START = 0, 1, 1            ; scale for the minimum value
SCALE_END = 1, 2, 1              ; scale for the upper bound (allows to create progress bars and such)
UPPER_BOUND = 8500               ; maximum input value for arrow to move with
LOWER_BOUND = 700


[ANALOG_INDICATOR_...]
INPUT = RPM                     ; any of supported inputs
NAME = int_digital_cluster_speed_red_bar,                   ; name of mesh to move
SCALE_START = 0, 1, 1            ; scale for the minimum value
SCALE_END = 1, 2, 1              ; scale for the upper bound (allows to create progress bars and such)
UPPER_BOUND = 8500               ; maximum input value for arrow to move with
LOWER_BOUND = 700

[ANIMATION_...]
;Swap digital cluster in
FILE=Cluster_anim.ksanim
TIME= 0
INPUT = CPHYS_SCRIPT_0
INPUT_LUT = (|0=1|1=0|2=1|)