; --
; Pre-configured particle systems to use in track configs.
; In first half of this file, you can see available templates and parameters for them.
; --

[TEMPLATE: Particles_Stove]
; Position = X, Y, Z  ; stove position
Direction = 0, 1, 0   ; stove direction (just in case)

[TEMPLATE: Particles_Bonfire]
; Position = X, Y, Z  ; bonfire position
Direction = 0, 1, 0   ; bonfire direction (just in case)

[TEMPLATE: Particles_Flare]
; Position = X, Y, Z  ; flare position
Direction = 0, 1, 0   ; flare direction (just in case)

; --
; Here goes second half, actual implementation.
; If you want to go futher, here is some documentation for the whole format:
; https://github.com/ac-custom-shaders-patch/inipp
; --

[TEMPLATE: Particles_Stove]
@OUTPUT = SMOKE_...
_Condition = $" ${Condition:exists} and $Condition or 1 "
POSITION = $" ${Position:vec3} - vec3(0, 0.3, 0) "
DIRECTION = $Direction
SPEED = 0.5
SIZE = 0.2
COLOR = 0.4, 0.5, 0.6, 0.9
COLOR_CONSISTENCY = 0.5
SPREAD = 0.1
GROW = -0.5
INTENSITY = 0.05 * $_Condition
THICKNESS = 0.5
LIFE = 40
TARGET_Y_VELOCITY = 0.5

[TEMPLATE: Particles_Bonfire]
_Condition = $" ${Condition:exists} and $Condition or 1 "
@GENERATOR = _Particles_Bonfire_Smoke
@GENERATOR = _Particles_Bonfire_Fire
@GENERATOR = _Particles_Bonfire_Sparks
@GENERATOR = _Particles_Bonfire_Light

[TEMPLATE: _Particles_Bonfire_Smoke]
@OUTPUT = SMOKE_...
POSITION = $Position
DIRECTION = $Direction
SPEED = 2
SIZE = 0.2
COLOR = 0.4, 0.5, 0.6, 0.5
COLOR_CONSISTENCY = 0.3
SPREAD = 0.1
GROW = 0.5
INTENSITY = 0.1 * $_Condition
THICKNESS = 1
LIFE = 30
TARGET_Y_VELOCITY = 0.5

[TEMPLATE: _Particles_Bonfire_Fire]
@OUTPUT = FLAME_...
POSITION = $Position
DIRECTION = $Direction
INTENSITY = $_Condition
SIZE = 1
SPEED = 0.5
TEMPERATURE_MULT = 1
FLAME_INTENSITY = 1.1
COLOR = 1, 1, 1, 1

[TEMPLATE: _Particles_Bonfire_Sparks]
@OUTPUT = SPARKS_...
POSITION = $Position
DIRECTION = $Direction
SPEED = 2
LIFE = 0.2
COLOR = '#FE9806'
SPREAD_DIR = 1
SPREAD_POS = 0.2
INTENSITY = 0.05 * $_Condition

[CONDITION_...]
NAME = _FLAME_FLICKERING
INPUT = ONE
FLASHING_FREQUENCY = 1
FLASHING_SMOOTHNESS = 0.8
FLASHING_SKIP_OFF_STATE = 1
FLASHING_NOISE_AMPLITUDE = 2
FLASHING_NOISE_BOUND = 10
FLASHING_NOISE_SPEED = 200
FLASHING_MIN_VALUE = 0.9
FLASHING_SYNCED = 0

[TEMPLATE: _Particles_Bonfire_Light]
@OUTPUT = LIGHT_...
POSITION = $" ${Position:vec3} + vec3(0, 0.5, 0) "
DESCRIPTION = Bonfire
RANGE = 10
RANGE_GRADIENT_OFFSET = 0
FADE_AT = 400
FADE_SMOOTH = 100
SPOT = 0
COLOR = '#FE9806', 8
SPECULAR_MULT = 0
CONDITION = _FLAME_FLICKERING * $_Condition

[TEMPLATE: Particles_Flare]
_Condition = $" ${Condition:exists} and $Condition or 1 "
@GENERATOR = _Particles_Flare_Smoke
@GENERATOR = _Particles_Flare_Sparks
@GENERATOR = _Particles_Flare_Light

[TEMPLATE: _Particles_Flare_Smoke]
@OUTPUT = SMOKE_...
POSITION = $Position
DIRECTION = $Direction
SPEED = 20
SIZE = 0.03
COLOR = $Color, 1
SPREAD = 8
INTENSITY = 0.7 * $_Condition
LIFE = 8
GROW = 1
TARGET_Y_VELOCITY = -0.3
COLOR_CONSISTENCY = 0.9

[TEMPLATE: _Particles_Flare_Sparks]
@OUTPUT = SPARKS_...
POSITION = $Position
DIRECTION = $Direction
SPEED = 12
LIFE = 0.3
COLOR = $Color, 0.4
SPREAD_DIR = 1
SPREAD_POS = 0
INTENSITY = 0.2 * $_Condition

[CONDITION_...]
NAME = _FLARE_FLICKERING
INPUT = ONE
FLASHING_FREQUENCY = 1.2
FLASHING_SMOOTHNESS = 0.9
FLASHING_SKIP_OFF_STATE = 1
FLASHING_NOISE_AMPLITUDE = 2
FLASHING_NOISE_BOUND = 10
FLASHING_NOISE_SPEED = 200
FLASHING_MIN_VALUE = 0.6
FLASHING_SYNCED = 0

[TEMPLATE: _Particles_Flare_Light]
@OUTPUT = LIGHT_...
POSITION = $" ${Position:vec3} + vec3(0, 0.5, 0) "
DESCRIPTION = Flare
CONDITION = _FLARE_FLICKERING * $_Condition
SPOT = 0
DIFFUSE_CONCENTRATION = 1
RANGE = 12
RANGE_GRADIENT_OFFSET = 0.0
COLOR = $Color, 50

