Skip to main content
  • Version ID: 3116
  • Size: 110.58 MB
  • Published: 2024-07-27

Changelog

New features, options and improvements

  • New Surfaces FX module for off-road physics (documentation on how to prepare a car or a track coming soon);
  • New Rally Stage mode for Quick Drive;
  • New Rally Copilot app on App Shelf for rally modes or just learning an unfamiliar track;
  • New Dynamic Return app on App Shelf for perfecting driving through custom track sectors;
  • New options:
    • Center UI for wide screens with single screen mode;
    • Prevent replays from interpolating car teleports (enabled by default);
    • Save size and position of Assetto Corsa window between sessions;
    • New physics experiment to use pit positions for spawning if other spawn points are not set properly;
    • New optimization for virtual memory allocation for replays;
    • Show white flag on the last race lap (and optionally hide leader on last lap message);
    • Stop camera switch on replay activation;
    • New Behavior: tweak to stop AIs from teleporting when stuck;
    • Automatically flip AI spline on up/downhill tracks where creator forgot to do so;
    • Force reverb for audio active at all times;
    • Hide missing driver model instead of using default one (in case there are some issues with rig compatibility);
    • Temporary tweak stopping replays from recording state of track objects if there are too many of them, to save on VRAM;
  • Grass FX:
    • New wind implementation;
    • fuPBR_… and ksMultilayer_objsp_nm4 shaders are compatible with grass;
    • Issue with grass missing on edges of the screen with camera rotation fixed;
    • Better compatibility with LCS;
  • Tyres FX:
    • Normals and color are fading with wear;
    • Flex uses actual data with extended physics active;
  • Photo app:
    • Button to reset exposure;
    • Option to use focal length units for zoom;
    • Removing stored points saves changes now;
  • Triple tweaks:
    • New method for uneven sides actually matching scene;
    • Options to redefine triple behavior for different types of cameras;
  • Android Auto:
    • New web browser app (replacing car info app);
    • Cars can add extra apps (requires signing for now);
    • Hover mouse over virtual keyboard to use actual keyboard for typing;
  • Handbrake syncs online (using a single bit for now);
  • Tracks surface type detection improved, no longer thrown off by an uppercase (improves Surfaces FX);
  • Search in taskbar treats spaces better (query for renderstats will find Render Stats app);
  • CSP Debug app: colliders are shown for three nearest cars, for easier investigation of online collisions;
  • Chaser Camera: different scripts for first and second camera;
  • Default WeatherFX style: a bit of extra chromatic aberration for glare;
  • Walking Out: gamepad controls, a lot of fixes, main car now can be teleported;
  • CSP verifies its version number against data_manifest.ini to try and detect corrupted installations;
  • Servers can send a certain packet to update admin state of a player explicitly;
  • Missing driver_base_pos.knh no longer leads to a crash;
  • Rain FX racing line is affected differently by different types of tyres (a very rough estimate for now);
  • CSP-generated car previews are sharper now;
  • New Modes can disable yellow and blue flags, also disabled with track day mode;
  • Hidden config line to specify list of textures affected by color changes in chat online.

Extended physics

  • Cosmic suspension:
    • Improved calculation efficiencies for coilovers;
    • Fixed position setup adjustments for joints using asymmetrical geometry;
    • Fixed bug with torsion bar preload angle;
  • Extended physics brakes:
    • Added compatibility for vanilla ERS;
    • Vanilla steerbrake should now be compatible;
    • Improved accuracy of air density effect on cooling (v2 thermal model only);
  • Extended physics tires:
    • Improved accuracy of air density effect on cooling (v2 thermal model only);
  • Extended physics ERS:
    • New (WIP) ERS model added, documentation will be available on the wiki soon;
  • Extended car physics stores more data in the car state.

Fixes

  • New pause menu fixed;
  • Turbo adjustment stopping to work fixed;
  • IME support (such as virtual keyboards, Windows Emoji selector or something more complex) improved, but just in case it can be disabled now in GUI section;
  • Odometer loading should be fixed (and for cases without CM used, CSP will keep its own track of total driven distance);
  • Extra FX TAA works a bit better with LCS enabled (sharpening with it active is reduced now), no longer makes sun black;
  • Extra FX SSLR should work better with LCS enabled;
  • Ctrl+Shift+A/T selects previous mode (some other bindings from that group need more fixing, working on it);
  • Ctrl+Shift+U switches to a previous desktop;
  • CSP integration of system keybindings fixed, now MGU ones support controllers again, engine brake works properly including held down Shift button;
  • Automatic shadow splits no longer take FOV into account for interior shots, splits are shown in LightingFX app;
  • [CUSTOM_PHYSICS] EXTRAPOLATE_STATE = 1 for online servers is removed (please set to 0 anyway if your servers require CSP newer than 2784, to fix issues with 0.2.3);
  • Dust particles keep their colors for longer;
  • Radio no longer keeps playing after restarting AC if it was paused, or in replays;
  • fuPBR… shaders with parallax reduce its contribution at grazing angles, preventing some visual glitches;
  • Surface colors synchronization for smoke, particles and skidmarks better handles broken materials with widely different ksAmbient and ksDiffuse;
  • CSP showroom no longer crashes with a certain tonemapping function;
  • Cars with tyres with insane dimensions no longer break skidmarks, GrassFX and such;
  • Using track camera for extra shots no longer affects audio (also, Lua scripts can specify cameras set to use);
  • Origin shift activates sooner to prevent wobbling on some tracks;
  • Objects Inspector shows state of integer values properly (for example, flags);
  • Loading original car textures with kn5:: works much better with encrypted models;
  • HUD toasts (popup messages in the bottom left corner) no longer steal focus on appearing;
  • Web Browser with its Ctrl+Tab no longer conflicts with Apps Switcher;
  • Taskbar icons are positioned in a more stable way to prevent flickering;
  • A bunch of fixes for random crashes when editing configs and such;
  • Distant headlights glare is removed for now until I’ll redo it in a way that doesn’t rely on cars having accurate headlight light source placement;
  • Matte glass taking distance into account to adjust blurriness (introduced in 0.2.3) fixed;
  • Visual part for deforming track walls fixed;
  • Surfaces FX:
    • AIs no longer break when driving off-track;
    • AIs will try and select gravel tyres where appropriate;
  • Rain FX:
    • AI tyre selection fixed;
    • Water splashes from wheels fixed, now spawn in the right place and look correctly as well;
    • Few other small visual improvements;
    • Whitish fake shadows outline with ExtraFX should be fixed;
  • Tyres FX: rain tyre patterns are better compatible with grass and damage, color has been fixed as well;
  • Domain zone finally fixed;
  • Mesh raycasting missing some flat static meshes fixed;
  • Crashes with extended physics setup items happening if − or + buttons were held are fixed (also, the whole thing should be a bit more stable overall);
  • Track sections set in sections.ini going through starting line should work now;
  • Gamepad and keyboard keyboard bindings ignore presses if keyboard modifiers are pressed (apart from gear up/down and handbrake for keyboard controls, in case somebody would use Ctrl, Alt or Shift for - gas or brakes); wheel keyboard bindings should already filter out those presses;
  • Toggling replay mode or seeking its time bar marks cars as jumped preventing some issues with animated entities;
  • New trees use track occlusion planes (both distant billboards and closer 3D trees), shading slightly improved;
  • Advanced chunks optimization no longer messes up TAA and motion blur on some tracks;
  • Yellow and blue flags shouldn’t flicker in obscure cases anymore;
  • Trees are drawn in mirrors with high quality reflections (with shadows);
  • Camera app restores DOF settings to previous when closed (for free and F5 cameras);
  • WindscreenFX forcefully adds transparent flag to windscreen meshes to help some poorly made mods;
  • A fix for looped lanes without intersections for traffic planner and mode;
  • Origin Shift is triggered less often, no longer messes up reflections or flexing cars on shift;
  • 60s driver model helmet drawn with NeckFX is fixed;
  • Skin driver model overrides are ignored if skin driver model is missing;
  • Meshes with premultiplied blending should be better compatible with ExtraFX;
  • Mesh deduplication got some stability improvements, but also disabled by default for now;
  • Android Auto: YouTube fixed (ytp-dl updated);
  • Few smaller stability improvements.

Configs and tools

  • Animated car mud flaps;
  • New modifier for flag shader to act as a tent roof (wobbling with wind, soaking up with rain);
  • nePBR… and nePerPixelMultiMap_bending now support UV2-mapped stickers;
  • Default settings for driver model extra shadowing adjusted for better visuals;
  • New GEAR_RAW format type for CSP digital instruments (regular GEAR now shows the custom gear label if set);
  • Specify car to take audio from if car audio is missing (also, missing car audio no longer causes a crash);
  • Car configs can use [AUDIO_VOLUME_EXT] to set alternative volume multipliers for exterior views only;
  • New [PITSTOP_CAMERA] THETA=, PHI=, RADIUS=, FOV= parameters for track configs altering camera used for tyre changes animation;
  • New [START_CAMERA] BLOCK_TRAJECTORIES=, POSITION_OFFSET= parameters for track configs altering starting camera;
  • ksPerPixelMultiMap_AT_NMDetail should support seasonal changes better;
  • New ksTree_bush shader, acts just like ksTree (including A2C support), but receives per-pixel shadows;
  • [SHADER_REPLACEMENT_…] entries load SHADER value as a list now, using the last entry that is available;
  • New parameter for UV-based mesh splitting, UV_REGIONS_USE_SIZE, for simpler configuration;
  • New BLEND_MODE = PREMULTIPLIED value for shader replacements;
  • ksWindscreen: new alphaGamma parameter for quickly adjusting transparency;
  • Shaders ksPerPixelMultiMap, ksPerPixelMultiMap_NMDetail and ksPerPixelMultiMap_damage_dirt now can receive traces from wipers as well;
  • Tracks load dirt, dust and grass color properly (generic config stops working if sections are present), also loading colors from [DIRT] section if [TYRES_FX] section is missing.

Lua

  • Common API:
    • tyreRadius in car state updates with changes in selected tyres;
    • Shared signing library for some advanced trickery using RSA;
    • Shared library for raycasting track physics geometry with extra details;
    • Shared library for storing data using SQLite as backend;
    • Capturing starting camera is safer;
    • ac.takeAStepBack() takes a distance argument;
    • ac.markLapAsSpoiled() got an option to hide the spoiled lap message;
    • ac.isControllerGear<Up/Down>Pressed() should be triggered by apps such as Unbound as well;
    • ac.getCarGearLabel() for getting the label of currently engaged gear;
    • ac.<log/warn/error/debug>() have been moved to C++ side for better performance, now can be deactivated AC-wide (see developer settings in general group);
    • Load tables from car, track or online script configs;
    • Leaderboard in Lua state works properly in races with multiple sessions;
  • Audio:
    • Group events have volume multipliers set to 100% by default;
    • A certain DSP entry to access volume peaks live;
  • Scene API:
    • Loading extra KN5s with skinned meshes should work now;
    • Loading different KN5s from the same folder no longer causes issues if they share a texture name;
    • Extra human models can be loaded to car root much more reliably, applying human surface materials and more;
  • UI API:
    • ui.onChat() is fixed;
    • ui.onDriverNameTag() force activates new tags for the current session;
    • Web browser engine: few stability improvements, new :onCrash() method, new :texture() method for accessing raw texture directly;
    • Premultiplied UI modifier works much better;
    • New functions: ui.<begin/end>MIPBias();
    • New icons: redo, reset, up (alt.);
    • ui.onDriverTags(): smoother fading nearby, optional table to override tag settings;
    • ui.DWriteFont() supports font variations, such as slant, with new :axis() method;
  • Gameplay API:
    • ac.setAILevel() upper limit has been raised from 1 to 2;
    • Define new audio volume levels to be shown in Audio Volumes app (see Rally Copilot volume);
  • Car physics scripts:
    • Override ABS behavior;
    • Values in ac.accessCarPhysics() are no longer zero at the start of the script;
    • ac.setExtraMass() no longer messes up car resets or pushes player car when AIs teleport;
  • New Modes:
    • Few fixes for general look and feel;
    • Extended physics is now available;
    • Option to fallback to pit positions if start positions are missing;
    • Specify Lua apps to open automatically if not (won’t be saved as opened at the end of the session);
    • Reload on restart now happens after the user car has been teleported;
    • Finish fade time is customizable;
    • Mouse shouldn’t get stuck on session results anymore (might also apply to other AC modes such as drift or time attack);
  • Lua apps:
    • New ac.setWindowIcon() (if icon updates rarely, works much better than a live icon);
    • Ability to run a bit of code in semi-background (used by updated Setup Exchange app to show number of available setups on its icon);
    • Windows can be registered as Object Inspector tools instead;
  • WeatherFX:
    • New ac.setExtraAmbientDistance() function for WeatherFX styles;
    • Graphics Adjustments FFX CAS should pass HDR values above 1 through (without applying sharpening to them), for targeting HDR displays;
  • Car instrument scripts can override letter used for current gear, allowing to create proper automatic gearboxes;
  • Online scripts can use ac.storageSetPath() to share settings between different servers.