[ℹ] FULLNAME=Particles FX PREVIEW=https://acstuff.club/images/modules/particles_fx.jpg DESCRIPTION=Adds soft particles effect (only works in few cases for now), as well as other options for better particles rendering. A lot more features are coming later, for now, it’s more of a temporary fix. SHORT_DESCRIPTION=Soft and shadowed particles URL=https://trello.com/c/CfuT5QqM/28-particles-fx [BASIC] ; Extension ENABLED=1 ; Active (set to 0 to disable Particles FX); 1 or 0 [AC_PARTICLES] ; Extra options SOFT_PARTICLES=1 ; Soft particles (reduces clipping by using depth buffer to blend particles nicely); 1 or 0 SORTED_PARTICLES=0 ; Sort particles before drawing; 1 or 0; hidden with SMOKE/ENABLED LIT_PARTICLES=0 ;; hidden SHADOWED_PARTICLES=0 ; Draw shadows on particles; 1 or 0; hidden with SMOKE/ENABLED SHADOWS_RESOLUTION=256 ; Reduce shadow maps to; 64 for 64×64, 128 for 128×128, 256 for 256×256, 512 for 512×512, 2048 for “Original size (not recommended)”; hidden with SMOKE/ENABLED REWORKED_HEAT_SHIMMER=1 ; Updated heat shimmer (adds more sources and more conditions for heat shimmer, requires restart); 1 or 0 [SPARKS] ENABLED=1 ; Active; 1 or 0 LIMIT=40000 ; Limit for particles; from 1000 to 40000, round to 1000 SPAWN_RATE=1000 ; Spawn rate; from 200 to 2000, round to 100 [SMOKE] ; New smoke and dust ENABLED=1 ; Active; 1 or 0 USE_CULLING=1 ; Use culling to improve performance; 1 or 0 USE_DOWNSCALING=0 ; Render in half resolution when possible; 1 or 0 USE_DOWNSCALING_VR=0 ; Render in half resolution in VR (not recommended); 1 or 0 QUANTITY_SCALE=1 ; Quantity limit (limits amount of particles next to each other, helping with performance, but making smoke look more patchy); from 0.1 to 1.2, perc. SIZE_LIMIT_SCALE=0.8 ; On-screen size limit (limits amount of large particles close to camera, increase if you want smoke to limit visiblity more); from 0.5 to 1, perc. SIMPLIFIED_SHADING=0 ; Simplified shading (can help with FPS for some low-end GPUs); 1 or 0 LONG_LASTING_SMOKE=1 ; Long-lasting smoke (with this option intense wheels smoke and dust will smoke up the nearby area for a few minutes); 1 or 0 FILL_SCREEN=1 ; Cover view in smoke when camera is deep in it (adds a fullscreen pass for smoke applied over drawn scene if camera is stuck in smoke, should be faster this way); 1 or 0 HEATING_EXTRA=0 ; Extra heating (for more arcade-like and less accurate smoke); from 0 to 2, perc. CAST_SHADOWS=1 ; Cast shadows; 1 or 0 CAST_AMBIENT_SHADOWS=1 ; Cast ambient shadows; 1 or 0 SHOW_IN_MIRRORS=1 ; Show in mirrors; 1 or 0 CLIP_BY_GLASS=0 ; Clip by glass (removes smoke from interiors, but there wouldn’t be any smoke behind windows; requires active ExtraFX); 1 or 0 [SMOKE_DEV] ; hidden ; maximum amount of particles, limits size of memory allocated ; unlike other particles, smoke is being sorted each frame, so avoid high values ; 8k particles would require 1 MB of VRAM LIMIT=4000 SPAWN_MULT=1 DUST_SPEED_THRESHOLD=10, 60 ; km/h RAIN_SPEED_THRESHOLD=4, 660 ; km/h [FLAMES] ; New flames ENABLED=1 ; Active; 1 or 0 DEBUG_MODE=0 ; Debug mode (show trigger type with color: blue for antilag, red for limiter, green for flat shift, white for the rest); 1 or 0 USE_DYNAMIC_SHADOWS=1 ; Cast shadows for flame light (requires Extra FX and TAA); 1 or 0 LIMIT=2000 ; Limit for particles; hidden FLAMING_WHEELS=0 ;; hidden [FIREWORKS] ENABLED=1 ; Active; 1 or 0 BEHAVIOUR=2 ; Behavior; 1 for always active, 8 for active at night, 2 for only on holidays, 4 for after finish, 6 for on holidays and after finish, 12 for at night and after finish IMPLEMENTATION=holidays ; Script; look for fireworks.lua in extension/lua/fireworks LIMIT=40000 ; Limit for particles; from 10000 to 40000, round to 10000 LIMIT_SMOKE=1000 ; Limit for smoke particles; from 100 to 2000, round to 100 SHOW_IN_MIRRORS=1 ; Render in mirrors; 1 or 0 ; SHOW_IN_REFLECTIONS=1 ; Render in reflections; 1 or 0 [FIREWORKS_SETTINGS] ; Fireworks settings __PLUGIN_SETTINGS=FIREWORKS/IMPLEMENTATION, extension/state/lua/fireworks/{0}__settings.ini ;; hidden [MARBLES_2] ; hidden ENABLED=0 ; Active; 1 or 0 LIMIT=50000 ; Limit for particles; from 10000 to 120000, round to 10000 ; CAST_SHADOWS=1 ; Cast shadows; 1 or 0 SHOW_IN_MIRRORS=1 ; Render in mirrors; 1 or 0 ; SHOW_IN_EXTRAFX=1 ; Render in Extra FX; 1 or 0 USE_DEPTH_FOR_COLLISIONS=1 ; Use data from Extra FX for extra collision check; 1 or 0 [PIECES] ; Solid pieces: dirt, bits of grass, shards in collisions and such ENABLED=1 ; Active; 1 or 0 LIMIT=60000 ; Limit for particles; from 1000 to 120000, round to 1000 CAST_SHADOWS=1 ; Cast shadows; 1 or 0 SHOW_IN_MIRRORS=1 ; Render in mirrors; 1 or 0 SHOW_IN_EXTRAFX=1 ; Render in Extra FX; 1 or 0 COLLISION_QUANTITY=3 ; Amount of particles for collisions (with 200: https://gfycat.com/classicellipticalgalapagostortoise); hidden USE_SHARDS_COLOR=1 ; Use car color in point of collision; hidden USE_COLLIDER_MESH=1 ; Spawn shards on collider mesh; hidden COLLIDE_WITH_CARS=1 ; Collide particles with few nearest cars; hidden [TRACES] ; Initial D braking trails (not real; do not enable unless need to) ENABLED=0 ; Active; 1 or 0 LIMIT=10000 ; Limit for particles; from 1000 to 40000, round to 1000 LUMINOCITY=0.01 ; Base-Luminocity; from 0.01 to 50, round to 0.01 MULT_HEADLIGHTS=0 ; Mult. for headlights; from 0 to 1, perc. ACCENT_BRAKES=1 ; Brighter with brakes; 1 or 0 MULT_BRAKES=35 ; Mult. for brakes; from 0 to 50, perc.; only with ACCENT_BRAKES THICKNESS=0.025 ; Thickness; from 0 to 0.05, perc. SATURATION=0.98 ; Saturation; from 0.9 to 1, perc. NARROWING_MULT=0.05 ; Ends narrowing factor; from 0 to 3, perc. LIFESPAN_MULT=0.2 ; Length; from 0 to 3, perc. LAG=0.95 ; Brightness smoothness; from 0 to 0.999, perc. PADDING_MULT=5 ; Padding multiplier; from 0 to 5, perc. PUSH_OFFSET_MULT=1 ; Pushing traces, offset; from 1 to 5, perc. PUSH_POWER_MULT=2.5 ; Pushing traces, amount; from 0 to 5, perc. SPEED_THRESHOLD=8 ; Minimum speed; from 0 to 32, roundto 1 [SPARKS_DEV] ; hidden SIZE_MULT=0.5 BLUR_MULT=0.8 ; BRIGHTNESS_BASE=2 ; BRIGHTNESS_EXTRA=3 BRIGHTNESS_BASE=6 BRIGHTNESS_EXTRA=6 FADING_BASE=0.2 FADING_LIFE_LEFT_K=2 ; drag value; set to 0 to remove any wind resistance DRAG_K=2 ; gravity value GRAVITY=-9.81 ; lifespan parameters ; formula is LIFESPAN_MIN+(LIFESPAN_BASE+LIFESPAN_EXTRA× LIFESPAN_MIN=0.15 LIFESPAN_BASE=0.31 LIFESPAN_EXTRA=3.6 ; how much to sides would particles fly SPREAD_MULT=0.09 ; force pushing sparks from wheels while they’re beneath FORCE_WHEEL_PUSH=5.0 FORCE_WHEEL_SPEED_BASE=40.0 FORCE_WHEEL_SPEED_FACTOR=1.6 FORCE_WHEEL_SPEED_RADIUS=0.4 ; force sending particles away when they’re in front ; nice to have a small radius so only a few sparks would be affected FORCE_FRONT_UP=2.0 FORCE_FRONT_PUSH=4.0 FORCE_FRONT_FORCE_OFFSET=5.5 FORCE_FRONT_FORCE_RADIUS=4.0 ; force sending particles up when they pass behind the car ; nice to have a small radius so only a few sparks would be affected ; and force is big to compensate for smaller radius FORCE_REAR_UP=24.0 FORCE_REAR_PUSH=0.0 FORCE_REAR_FORCE_OFFSET=-0.8 FORCE_REAR_FORCE_RADIUS=0.32 [MIRAGEDISRUPTION] ; hidden ENABLED=1 LIMIT=4000 ; rain stuff [CARDROPS] ; hidden ENABLED=1 LIMIT=8000 [SKIDWET] ; hidden ENABLED=1 LIMIT=10000 [OILSPILL] ; hidden ENABLED=1 LIMIT=100 [WINDSCREEN] ; hidden ENABLED=1 LIMIT=100000 [DEV] ; hidden DRAW_TRACK_AO_SAMPLES2=1 ; Draw track AO samples; 1 or 0