Skip to content 0.1.78-preview1
- Version ID: 1938
- Size: 67.44 MB
- Published: 2022-02-28
- New server options:
- New method to calculate wheel positions for remote cars, should be somewhat better if remote car has jumped or flipped (optional);
- Also with that new method, server can optionally let clients exchange data on toe and camber for more accurate wheels positioning;
- And also, new method might reduce CPU load for clients;
- Make disconnected cars visible;
- Adjust amount of those spectating 2D people in stands;
- Limit controls lock time;
- Force headlights for all cars without making server CSP-only;
- Stop some pitlanes from counting towards serving drivethrough penalty (for example, secondary pitlane on Spa);
- Configure collisions between cars (make them softer, stiffer, bouncier, etc.; depends on what the server might need);
- Enable lap invalidation for laps with car going through pits;
- Verify integrity of miscellaneous Assetto Corsa files;
- Force specific CSP modules to be active;
- To extended previously added
NO_BACK_TO_PITS: now possible to allow to use pits for cars that are already in their pit position (for accessing setups);
- GamepadFX:
- New module altering gamepad inputs with a Lua script implementing new control schemes or simply acting like an assist;
- New script
Custom by Dmitrii A. which uses forces acting on steering wheel;
- GUI:
- New look for pause menu with built-in photo mode (for now disabled by default);
- Option to use controllers (such as wheels or gamepads) to move mouse cursor and select things;
- Loading screen:
- Animations that don’t cover the whole screen no longer move, with an option to fill empty areas with blurred version;
- Better compatibility with custom screenshot names (strict search now disabled by default, names checking improved);
- Recursive screenshots search if strict search is disabled;
- Fading for optional slideshow;
- Keyboard input method:
- Smooth transition for toggling mouse steering to make sure suspension would not get damaged;
- Mouse steering: options to shift with 4th and 5th buttons or mouse wheel, pause if window is not in focus now applies to acceleration and braking as well;
- Graphics Adjustments:
- VHS filter has been replaced with new scriptable filters system allowing to create dynamic post-processing filters with Lua;
- New Tunnel Effect filter adding a bit of radial blur with speed and B&W effect for crashes;
- New vintage filter trying to recreate style of old footage;
- TyresFX:
- Extra visual effect for wear showing up with driven distance;
- New look for blown tyres;
- WeatherFX:
- Seasonal adjustments (that winter look) are disabled by default, can be re-enabled in WeatherFX settings;
- Updated sky texture and stars brightness computation in default WeatherFX script;
- Overcast and light pollution in default WeatherFX script are updated;
- Weather scripts now can control sun specular intensity separately and use masks to cover moon and stars when using cloud domes;
- Custom car physics:
- Link engine torque and malfunction chance to engine damage with a LUT;
- Add physics Lua script with read and write access to car inputs and few other things (can be used for creating various automatic gearboxes, launch controls, different ways to control a car, etc.);
- Custom track physics:
- Define new faster custom colliders in
surfaces.ini, such as capsules, cylinders, boxes, spheres and planes;
- For configuring time, use live reload for collision parameters and new custom colliders;
- New SkidmarksFX implementation (fully reworked to improve visuals and performance):
- Cars leave traces in dirt and sand (outside of track);
- Blown tyres leave scratches;
- Dynamically extending elements to make sure traces would not get detached from their wheels;
- Optional advanced blending (forcing new marks to wipe out previous ones instead of adding up);
- Option to save skidmarks between races;
- Car configs can adjust skidmarks opacity and tint;
- When blown, tyres release a bit of dust particles;
- Updated look for sparks, simpler and more consistent to try and prevent sparks from looking mad;
- ExtraFX: TAA update, now with a new option to increase resulting sharpness without relying on sharpening in post-process;
- Hotkeys to adjust Real Mirror mirrors (with extra options in Small Tweaks settings);
- Hotkeys to move onboard camera around during the race (with extra options in Small Tweaks settings);
- Alter yaw of onboard camera as well (currently, by using either hotkeys or a Lua app);
- Cache for computed meshes metadata (bounding spheres and more) to speed up loading;
- Faster loading for DXT1/3/5 and RGBA8888 DDS textures (experimental, disabled by default);
- Clicking on meshes now works in VR (option to choose which eye to use, or use middle point of both of them);
- Built-in script recreating some sort of Android Auto OS, can be easily added to car configs (with support for additional custom apps);
- Mesh data compression now uses LZ4 compression to speed up loading;
- Custom physics: alternative option for worn tyres to pop;
- Dust particles change color with seasonal adjustments (if set in track config);
- New rendering method for spectators (with shadows and faster), with an option for spectators to use camera flashes;
- Option to control font scale with new name tags;
- Option for angle of looking back for Neck FX;
- Option for loading information to show on middle screen only with triple screen;
- Option for chromatic aberrations to apply in all views but first person one (by default it’s only active with track cameras);
- Fix for crashing Discord overlay (can be disabled in General settings just in case);
- Small Tweaks: option to hide standind spectators;
- Sun position for sun rays now computed differently, with better support for VR and triple;
- Graphics Adjustments: accessible options for clip planes in VR, default far clip plane value fixed;
- Splitscreen mode: support for two separate mouse devices if both control presets use keyboard input method, working mirrors;
- New accurate moon texture;
- Nearest car now casts highly detailed dynamic shadows (number of cars can be increase in settings);
- NeckFX now works for other cars online and in replays;
- Option to disable Ctrl+P hotkey (enabled by default);
- Option to get AIs to drive faster with some three-wheelers with short rear axle;
- Few tweaks for new smoke dynamics and shading.
- Windows 7 support is fixed (especially sorry about that one, didn’t mean to do it);
- Stereo mirrors in VR fixed;
- ExtraFX: overly blurred with some configurations (and not really working in general as intended) TAA fixed;
- Overly bright extra lights in and on some modded cars fixed (now light-to-emissive-bounding behaviour automatically switches to an older buggy version for mods that need it);
- Fixed overly bright light cast by sparks with ExtraFX and screen-space lights;
- Failing to load textures from ZIP files fixed;
- Broken in some occasions solid color textures (for example, messing up Toyota GT86) fixed;
- Black windscreen dirt in some combination of settings with some cars fixed;
- Live WeatherFX controller fixed;
- Telltale reset button binding is fixed;
- Drive-through penalties set for speeding up in pits resetting when leaving pits in some circumstances fixed;
- Windscreen wipers shaking with speed fixed (could lead to strange jumping with some configurations before);
- Removing meshes with extension script leading to sometimes AC crashing on launch fixed;
- WeatherFX: reflection brightness and saturation adjustments now apply to SSLR as well, unloading textures fixed;
- ExtraFX: a few issues with SSLR leading to overly dark reflections in fog and similar issues are fixed;
- TyresFX: shading for damaged tyres fixed;
- Dynamic shadows remaining from disconnected cars fixed;
- Dynamic shadows cast from meshes invisible with alpha testing (for example, Santa Monica Mountains) or because of world detail level fixed;
- Dynamic shadows optimized and improved with proper gaussian blur;
- Driver VAO would no longer be applied with custom driver model replaced via an extension config;
- Setting UI scale would no longer mess up navigators and such;
- Issue with track displays sometimes crashing the game during loading fixed;
- Driver hiding before the start of the race fixed (now hiding seatbelt and switching vertex AO set);
- Nice screenshots: ETA text format fixed, quality of rear view mirrors fixed;
- Changing master audio level live fixed;
- Custom physics: ballast fixed;
- Virtual mirror sometimes disappearing (for example, with original smoke particles) fixed;
- Issue with overly bright lights (above 60000 in brightness) producing black artifacts fixed;
- Server option allowing clients to drive in wrong way now works even for clients with
New Behaviour module disabled;
- New starting camera trajectories no longer result in messed up visuals with flying grass and such;
- Extended physics turbo not showing up negative pressure properly fixed;
- Bug with some cars with extended physics not driving forward because of unfortunate comment in
engine.ini fixed properly (previous fix only worked with cars without packed data);
- Video players now initialize in background to make sure there wouldn’t be a lag;
- Distant emissives not working if mesh was loaded from an additional KN5 fixed;
- Distant emissives area glow now works with origin shift;
- TAA in refracting headlights not always functioning properly (and causing headlights to look dimmer than they should have) fixed;
- Refracting lights generating messed up internal normal map in some cases fixed;
- New UI: simplified transparency fixed;
- VHS filter is compatible with CAS now;
- Partial live reloading for cars and tracks fixed (now working better with generic configs);
- Improved multi-user inputs support (for example, in split-screen mode secondary user now can use CSP keyboard input tweaks and such);
- New Modes crash fixed;
- Teleport destinations fixed: issues with scrolling, crash with too many elements;
- Bug with optional car parts misbehaving with distance fixed;
- New flames: interior audio fixed;
- Triple mode tweaks: driver name tag for nearest car is hidden now;
- Clicking on scene (for example, for auto-focus) in triple fixed;
- Grass culling in triple screen mode fixed;
- Visually adjustable wings are synced online now;
- Splitscreen mode: improved support for multiple wheels, flickering, shadows and few other issues fixed;
- Cars ABS not accessible from setup menu if present but not active by default fixed;
- Smoke, other particle effects and occlusion on tyres for remote cars online fixed;
- Issue with glass meshes getting lit up from the back too much with VAO patches fixed;
- Assetto Corsa no longer crashes when activating AI for main car without preferred tyres set;
- Smoke works properly with disabled soft particles;
- Smoke brightness fixed;
- Bug with AC rarely loading into black screen until PP filter is changed fixed (hopefully);
- Unlinking digits from turbo adjustment now no longer stops other AC functions bound to digits;
- Enabling AI driver when using mouse steering now stops hiding mouse cursor;
- Fixed issue with new chat in start menu if new UI scale is not 100%;
- Car input
SPEEDLIMITER now reacts to manually enabled pits speed limiter;
- Escape-to-unpause no longer unpauses AC if there is another window in foreground;
- A few smaller fixes and stability improvements.
- Track configs:
- Changing of dynamic shadows casting property now applies live;
- Specify flammable materials (with extra visual effect for burning bales of hay, already added by default to
Material_Bale from materials_track);
- Link dirt, grass and dust color to conditions (or use
[BASIC] USE_WINTER_DIRT_COLOR = 1 to apply default seasonal adjustment transition);
- Apply extra blur to dynamic shadows with
SHADOWS_EXTRA_BLUR = 1;
- Turn flat spectators made with
ksPerPixelAT shader and such to regular particle-driven spectators to benefit from new way of rendering spectators;
- Stop new spectators from using flashes with
[SPECTATORS] FLASHES = 0;
- Car configs:
- Use expressions for car inputs referring to several values at once or outputs of other shared inputs;
- New way to write extended digital instruments: use
[DIGITAL_INSTRUMENT_OVERRIDE_...] with INPUT;
- Hide specific digital text nodes;
- Navigators: add map offset if camera should not be centered on the screen;
- Options to offset generated wheel shadows with Fake Shadows FX;
- Interior PBR materials now support skinned meshes (for regular and cloth materials);
- New functions for car input and track condition expressions:
max(), min(), smoothstep(), remap(), saturate() and few more;
- New option for
ksPerPixelMultiMap_AT shader: set extUseDiffuseAlpha to 1 to swap roles for alphas of txDiffuse and txNormal;
- Minimum lights range reduced from 10 cm to 0.5 cm;
- Refracting setup tool works better with origin shift.
- Server scripts:
- Physics API is available without extended track physics now;
- Scripts can access files for selected cars and track (can be used to change car skins live, for example);
- Add new extras to that list with lightbulb in chat app for extra online features (either with popup dialogs or working as tools);
- Add new extras for admins;
- Get Steam ID for current player;
- Set additional post-processing color corrections;
- Access cars KN5 textures (to revert changes when switching skins);
- Access some gameplay API (move camera around, toggle drivers, open car doors, set track conditions, switch car camera is focusing at and more);
- For live reload, server scripts now loaded from
extension/lua/online rather than track folder (server scripts got a separate library);
- Listen to events of somebody connecting and disconnecting;
- Error messages in callbacks getting cut fixed;
- Storage messing up values with commas fixed;
- Several online events in one script not working properly fixed;
- Transparent and tool windows always having that non-disableable padding fixed;
- Car and track script configs now can refer to scripts in
extension/lua/cars and extension/lua/tracks accordingly;
- API to control particle emitters (smoke, flames, sparks) and detractors;
- Information about car metadata like year or special features with functions to access car brand name and country;
- Access information about currently playing music track, its cover and peak levels, play/pause and switch to the next or previous track;
- Function to draw a race flag of a custom color with fullscreen HUDs;
- Fullscreen HUDs no longer need to create transparent windows to draw things (but can still do it for simplifying general operation);
- Online events now can set namespaces (so that Lua app can exchange data with an online script, for example);
- Scriptable displays: functions to access dimensions of a screen and the texture, a function to move driver eyes position (for moving the seat?);
- Web API:
- Upload binary files;
- Limit for simultaneous requests no longer creates an error, instead following requests are queued up;
- Scene API:
- Use live textures with
ref:setMaterialTexture() (videos, currently playing album cover);
- Use asynchronous textures with
ref:setMaterialTexture() (textures loaded from web or set with ui.setAsynchronousImagesLoading(true));
- Quickly apply a skin to a node, or reset a skin;
- Access world transformation of child nodes;
- Access texture slots and material properties (number of, names, values);
- Apply shader replacements from INIpp format configs;
- Load and apply KsAnim animations;
- Load and use remote KN5s and KsAnims;
- Project textures onto models with optional masking and other options (or even custom shaders);
- Make a shot of some 3D meshes or nodes and use it as a texture or an image to draw in UI;
- Physics API:
- Apply penalties;
- Add forces to cars (invalidates laps);
- Set tyres temperature and/or blankets, set car damage and fuel;
- Override racing flag (including access to new flag types like ambulance or slippery warning);
- Disable user controls;
- Access state of user controls directly;
- Change driver name and/or team during the race (for hot driver swaps);
- Set engine RPM, activate and deactivate stalling;
- UI API:
- Create separate canvases (render targets), draw things into them and then use them as textures, access their pixel colors, store data as images, backup and restore their state, apply anti-aliasing and more;
- Apply blurring effect to drawn images;
- New universal
ui.icon() function which can draw 24×24 icons, flags, any other icons and custom icons (any other API method expecting icon now can take other ones too);
- Add icons to previously drawn elements with
ui.addIcon();
- Function
ui.atlasIcons() to easily load compatible icons from atlases;
- New functions to get image size and mouse wheel offset;
- Store values and flags associated with UI elements;
- DWrite fonts: load system fonts using
@System for the path;
- Media players: link playback rate to simulation speed, generate mips (great for setting videos as textures without dynamic textures);
- Create custom tooltips with more than just text;
- Create modal popup dialogs (the ones with blurred background);
- Render textures with masks, custom blending mode and more using
ui.renderTexture();
- Render custom shaders with bound textures and parameters using
ui.renderShader() (shaders are compiled on-fly);
- Pushing clipping rects fixed (now affects inputs as well);
- Lua apps:
- Windows restoration on reloading fixed;
- Window IDs are ensured to be unique now to avoid conflicts;
- Special flag for app to work in lazy mode: no scripts would be loaded until app is opened, in full lazy mode scripts will get unloaded completely when app is closed;
- New APIs to check window visibility, toggle windows, change window title, unload apps in background;
- APIs to move onboard camera, change FOV, pitch and yaw (alters same values as that default onboard camera editor app allowing to create custom alternatives);
- API to reload control settings live (only limitation is that input method can’t be changed);
- Missing scrollbars are fixed now;
- Monitor file system changes;
- Control state of AI spline recorder: start and stop recording (allows to create AI splines without crossing finishing line);
- General API:
- A few functions for strings with binary data (compression, struct-to-binary and binary-to-struct, base64, UTF-8-16 conversion);
- Some functions, such as
io.save() and web.post(), now work properly with binary strings (strings that contain zero bytes in them);
- Strings passed back from C++ in callbacks now work properly with zero bytes as well (strings returned synchronously were working before);
- Calculate checksum of a file (SHA-256, works asynchronously) or binary data (either XXH3 or SHA-256);
- Encode and decode halfs (with support in
ac.StructItem as well);
- Create transforming matrices (translation, rotation, scaling);
- Ray/plane raycasting;
- Get list of files in a ZIP array;
- Load and save files asynchronously;
- Events shared between all running scripts;
- Additional functions to access state of controls and gamepads, as well as number of connected controls, their names and capabilities;
- Get pen pressure with Windows Ink API;
- Functions to parse and serialize INI files in AC or CSP compatible formats;
- Default extension in UI dialogs fixed;
- VS extension updated to support auto-detect of car physics scripts;
- Unless specifically configured, display scripts for other cars will not get loaded at all until needed;
- VS Code plugin updated, now increases
preloadFileSize setting automatically (in workspace only);
- Remote images now cached in accordance with HTTP rules (
Last-Modified, ETag, Cache-Control, etc.).