NeckFX helmet works with VR and triple screen mode;
Jittery NeckFX movement in replays with slow motion fixed;
Wet track materials no longer flicker with a car driving by;
Dynamic shadows can handle accumulation screenshots;
New trees should look more reasonable wet;
Grass, especially wet, is less reflective;
Mouse cursor won’t stuck in window resizing shape anymore;
Bonnet and bumper cameras always count as exterior for some CSP effects, such as RainFX look;
Smoke from sources other than wheels doesn’t look overly dark anymore;
TyresFX reflection occlusion fixed, tyres no longer lose reflectivity with TyresFX module disabled;
Opened doors offset LOD distances forcing main LOD to stay active for longer;
Shadowed wheels and driver work better with LODs;
Accumulation DOF respects photo app slider again;
Car state extrapolation no longer goes beyond physics step, might help with jitter when physics engine is being overloaded;
Screenshot scale is no longer applied with WeatherFX scripts adding extra effects unless they use ac.onResolutionChange();
Render/screenshot scale settings is ignored with fullscreen video mode;
Missing distant cars cockpits fixed;
AIs won’t go to pits when rain starts or ends if they don’t need rain tyres;
AI won’t set turbo above 100%;
Brake hint no longer resets for autopilot;
Autopilot no longer stops brake temperatures estimation;
Wind velocity is included in wind audio event;
Overheated tyres no longer produce smoke when on fire;
Windscreen raindrops movement updated to be more realistic, amount increased a bit;
More on-screen drops for intense rain;
Spectators hide in the rain;
Air pressure in replays fixed (that bug was affecting things like audio delay);
Rotating car objects stop rotating when RPM is too low;
Issue with WeatherFX custom post-processing not working without FXAA enabled fixed;
Default WeatherFX style got a bit darker for disabled post-processing;
Photo mode app: layout with disabled post-processing fixed;
LEDs (and other wrongly disabled nodes) on some cars fixed;
AC and Python forms can’t be moved outside of screen;
Smart mirror: monitor mirrors are not affected by viewer position, more compatible with WeatherFX styles shading;
AIs should be able to load extended items from ai_default.ini;
TyresFX: shadow bias and mode changed to reduce light leaking;
Track occluding walls fixed: faster updates, correctly shown points in the configuration tool;
Heat shimmer no longer outruns braking cars;
Shifting animation no longer plays with starting camera (when there is no driver visible);
Font rendering got some tweaks to speed things up and get emojis to work properly;
NeckFX script deactivates itself on first launch if any adjustments to settings of the previous NeckFX movement are detected (assuming user configured NeckFX to their liking already and don’t need a change like that);
Xbox One triggers shouldn’t vibrate when AC is paused;
Specialized fix for gear indicator of rss_gtn_darche_96;
Headlights for cars older than 1980 are more narrow and dimmer;
Rare GPU crash on reloading fixed;
A bunch of deinitialization crashes occurring on exit fixed;
New TYPE_HINT=TREADED/VINTAGE_PERFORMANCE/SLICK/SEMISLICK parameter for car tyres to help custom physics to find optimal rain parameters;
New [EXTRA_RULES] MAX_METERS_WRONG_WAY parameter for server configs (default value is 100 m);
Physics-affecting values of RainFX track configs can be read from surfaces.ini, track config or configs included with CSP, to make online racing more fair;
Shader nePerPixelMultiMap_AT_NMDetail_stickers got an optional txStickersNormals texture;
Fixes for ksMultilayer_fresnel_nm4, shader ksPerPixel_nosdw is supported now as well;
Normal map of ksMultilayer_fresnel_nm also uses tiling fix;
Config proview_nodes.ini can be replaced with data_override, with partially functioning live reloads;
JSON parser now can handle trailing commas;
New [EXTRA_TWEAKS] MIN_TIME_BETWEEN_COLLISIONS = 5 ; seconds parameter for clients to report collisions sooner and more often;
Wobbly effects (such as wobbly bits) are compatible with car paint shader now;
Module lighting_fx can be added to required modules online;
A tool for inspecting new trees added to Object Inspector tools;
Clip planes of bounced light malfunctioning with too many clip points fixed;
NormalsFactor for [Material_RoomWindows] fixed
Custom physics car setup items: click mode parameter is supported now;
Car configs can add checks for audio tweaks (so only certain soundbanks would be affected) and add custom DSP to different audio events;
Trees: LOD padding fixed, surface synchronization no longer uses GrassFX surfaces as fallback, option to offset models vertically so that surface synchronization could still be used.
Lua scripts get correct track ID even if track ID set in race.ini doesn’t match the online one;
Lua apps can disable emoji for dwrite text, also those are no longer colored;
New functions ac.getJoystickInstanceGUID(), ac.getJoystickIndexByInstanceGUID(), ac.getJoystickProductGUID();
New [_EXTENSION] DISABLE_SMOOTH_COLLISIONS=1 parameter for tracks with extended physics disabling smooth collisions (just in case);
New SHOW_E_MESSAGE parameter for walking-out module disabling HUD message;
AIs no longer switch high beams off if they were changed by a Lua script;
Helper ac.ControlButton() is available to all scripts, now with events model to stop wasting time checking things each frame;
New ui.beginPremultipliedAlphaTexture()/ui.endPremultipliedAlphaTexture() functions and ui.WindowFlags.BitmapCache flag;
Issue with transformations applied to child windows without explicit activation fixed;
Better handling of parsing errors in inline scripts (such as SCRIPT='actual script' in extended configs);
New method ac.SceneReference:dumpShaderReplacements(), might help with skins;
New ac.setClutchMaxTorque() for custom physics scripts;
Function physics.resetTrackPhysicsObject() can take a filter now too;
io.saveAsync() fixed, consecutive calls should run faster with memory reuse;
Sanity checks for arguments in physics and custom physics script APIs;
setInterval() no longer freaks out with clearInterval() call from its callback, callbacks set for the same time called in order they were set;
New ac.signBlob() function for online scripts so that they could send verified requests online;
ac.getAudioVolume() not working with car-related audio fixed;
Lua apps can load and save setups without using files, also can change name and track for currently loaded setup;
A bunch of new functions for controlling AI from car physics script;
New physics.blockTeleportingToPits(), might be useful for certain online scripts;
New ac.clearDebug() option clearing old ac.debug() entries;
New ac.getSim().sentAdminCommand and ac.getCar().useInternalAudio fields;
Lua scene API: animations can be loaded with relative names as well;
Geometry shots with YEBIS (including OBS ones) are compatible with triple screen mode, an issue with custom tonemapping fixed as well, shows smoke particles properly even if they aren’t visible in main view;
Media players can be redirected to FMOD (disabled for now, needs more testing to make sure it wouldn’t break existing code);
Cars with physics scripts are turned off until script is loaded and ready to run;
WeatherFX depth view should be more compatible with trees, getting rid of that outline;