- Version ID: 3044
- Size: 110.15 MB
- Published: 2024-05-14
Changelog
New features, options and improvements
- WeatherFX:
- Option to increase conditions limits allowing for controllers to set temperatures and wind speed outside of safe ranges;
- Default WeatherFX style update:
- Optional linear color space:
- Finally, correct rendering;
- Major visual rework with this option active;
- Humidity and pressure are taken into account;
- Actual lightnings in thunderstorms;
- New upper clouds layers;
- Falling stars at night (pretty small chance to see them though)
- Auroras look slightly improved;
- All extra effects are now optional;
- YEBIS replacement:
- Default/sensitometric tonemapping function adjusted to be more accurate;
- Auto-exposure is a lot closer to YEBIS version now;
- New physics experiments available for offline races:
- Extended physics for all cars;
- Extra lateral contact points (helps with curbs and shifts contact point left and right altering FFB);
- Sun shadows affecting surface temperature moved to physics experiments section;
- Alternative for AC physics threadpool distributing cars computation along cores;
- Alternative optimal braking computation (alters AIs and keyboard steering when some wheels don’t touch the ground);
- Make procedural noise to affect multiple tyre rays more accurately;
- Replace sine noise on some surfaces with perlin;
- Get procedural noise (sine or perlin) to alter contact normals as well;
- Early collider activation is enabled by default again, this time much safer and uses number of wheels touching ground instead;
- New experiment for tweaking car collider meshes: makes sure early collider activation won’t have any problems like before;
- New experiment for expanding collider boxes vertically: decreases changes of a box phasing through the ground and, as a result, whole car passing through if falling flat;
- New experiment for smooth transition to 0° steering angle when AC is paused (to make sure nothing would break because of sudden change like that);
- Mouse steering:
- When active, CSP apps, F5 and cockpit cameras ignore mouse;
- Option to change behavior with a Lua script;
- Option to use middle mouse button for a toggle;
- Traffic Planner and its mode:
- Fix for large buses not being rendered when close to edges of the screen;
- Option to export a line as a new AI spline;
- New
chancefield for cars with a bit of built-in guessing;
- Track Adjustments:
- Snap tyre grooves to underlying meshes so shadows wouldn’t double;
- Experimental: enable biased double-sided shadows for all meshes to prevent detached shadows;
- Experimental: fix misconfigured tyre grooves so they would still be drawn before fake shadows;
- New options in New behavior:
- Get AIs to use gas pedal properly with level below 80%;
- Fix wrongly set upshift threshold based on RPM limiter (more advanced logic will be available soon);
- Switch to a safe AI spline metadata raycasting (solves crashes if there is no physics surface exactly underneath AI spline);
- Radio update (in case you were missing music in AC, thanks to badradio.nz for the idea):
- List of stations and the actual playback are now handled on CSP side, while Lua scripts can connect to it and control things;
- Default list of stations updated, including more up-to-date ones;
- CSP uses advanced API provided by radio.co and laut.fm to collect extra information about currently playing music;
- Android Auto: playback moved to CSP side, support for new features such as album covers and track info (if available);
- New Internet Radio app on App Shelf: automatically resumes playback on launches (optional, enabled by default), convenient UI to manage list of stations;
- Photo mode app:
- Use mouse wheel for zooming when viewing a complete screenshot;
- Screenshots with resolution multiplier use FSR for downsampling (unless zoomed in);
- Hotkey for preview shot is working again, now switched to Alt+F8 (apparently Ctrl+F8 toggles mouse);
- Smart Shadows:
- Option to compute splits automatically based on distance for simpler adjustments and better splits arrangement;
- Option to draw shadows around camera instead of drawing them in front;
- Shadows stabilization is greatly improved;
- New experimental option in General/Development (at the bottom) enabling instant replays online;
- New apps switcher appearing with Ctrl+Tab (Tab button no longer shows leaderboard if any modifier is pressed);
- New taskbar: desktop icons are replaced with previews (use settings to select icons instead if needed);
- Alternative gear up and gear down mappings are handled on CSP side for more reliability;
- Option to keep handbrake engaged after holding it for some time;
- Live weather controller: new Open-Meteo weather provider;
- Few finished physics experiments are no longer experiments and enabled by default everywhere;
- Walking Out mode: getting out of a car preserves its input state including steering angle;
- Add a bit of G-force based shaking to bumper or bonnet cameras in general settings;
- VR tweaks: a few fixes to SPS and post-processing, option to change mouse pointer color, option to get pointer to fade faster;
- Unnecessary settings hidden to clean things up;
- IMGUI fonts now contain more special symbols;
- New render stats app: an option for slower averages, a few fixes for timers;
- Smart Mirror: option to show virtual pieces for mirrors not visible in the main viewport;
- Photo Mode app: toggle car dirt and damages;
- DXGI tweaks: option to limit AC to 30 FPS in background;
- Ping is shown in driver tooltip for other drivers;
- FSR: option to use custom pixel density, including a value above 100% for more details;
- CSP Debug: control more aspects of current weather in offline races;
- GrassFX: option to skip loading old grass meshes to speed up loading and reduce memory consumption;
- Chat TTS: option to use multiple voices;
- New CPU optimization preventing loading of certain audio samples for other cars (might help a bit with 30+ car servers);
- New option in Small Tweaks to increase GPU priority of web browser backend processes (enabled by default, should prevent issues with HAGS in Windows 11);
- GUI: option to draw AC apps together with IMGUI UI for better interoperability and similar blurred backgrounds;
- ExtraFX: options to only use effects in replays;
- CSP Debug app: option to render car colliders;
- New pause: admins can restart or skip sessions from there directly;
- New AI Spline Editor app on the App Shelf: load an AI spline and tweak its trajectory and sides by dragging them around;
- Traffic planner: copy a lane with an offset, specify vertical offset when exporting splines;
- New bindings to control audio playback.
Extended physics
- General:
- Gyroscopic FFB attenuation on center enabled by default for Cosmic (necessary for pretty much all FFB wheels on the market);
- Low speed physics (Sliding Fix) modified;
- Kunos cubic interpolation LUTs (tyre load sensitivity and camber LUTs) no longer extrapolate (caused numerous issues for modders over the years including unexplained explosions and game crashes);
- Cosmic suspension:
- Bodies can now be declared for use with KS ARBs (necessary for custom chassis flex to work, otherwise
frontchassis is always used, giving incorrect stiffnesses); - Ball joints got adjustable geometry (syntax the same as distance joints);
- Cosmic body flex (when using ARB_BODY) shows up visually (USE_FOR_ARB must be used; it is the flag for the rear chassis body);
- Debug lines use exact joint positions;
- Bodies can now be declared for use with KS ARBs (necessary for custom chassis flex to work, otherwise
- Tyres:
- Thermal Model v2 is supported (docs are coming soon);
- Better edge-case contact normal calculation (limits contact normals to some threshold from tire radial normal; should avoid strange load spikes and other edge-case phenomena where rays contact the surface strangely);
- Option to apply relaxation length to forces instead of slip (add
[_EXTENSION] USE_RELAX_LENGTH_ON_FORCE=1);
- Colliders:
- Colliders have new wear function available (docs are coming soon);
- Lua parameters are accessible (
ALLOW_LUA_RESET=1per collider lets Lua reset wear individually, e.g. in a pit stop);
- Suspension:
- Damper LUTs display correctly again in the Car Debug app.
- Brakes:
- Brake thermal model considers ABS (same issue in original physics as well, but to ensure backwards compatibility it won’t be fixed; thanks to Tuttertep for report);
TORQUE_MODE_EXnow disabled entirely for axle suspension types (prevents any potential issues that may arise from it);- Some gyro FFB stuff with cosmic fixed.
Fixes
- Textures deduplication no longer freezes AC if one texture has failed to load;
- Cosmic suspension no longer crashes with AIs and custom track physics active;
[PITS_SPEED_LIMITER] SPEED_KMH=…no longer breaks ERS and such;- Extra G/J in replays fixed;
- Wheel positions for remote cars with cosmic suspension fixed;
- ExtraFX: motion blur messing up fast spinning wheels on some cars fixed, a couple of fixes for overall shading;
- ExtraFX: volumetric lights no longer require fog blur to work;
- GamepadFX: Mobile script fixed, now points to a new Expo snack (couldn’t get the old one to update properly);
- Keyboard controls: braking should work when wheels are in the air;
- Astronomical computations precision fixed, now matching eclipses and all that;
- Chat settings saving fixed;
- Cars spawn with randomly oriented wheels;
- Nearby spawned skidmarks snap themselves to the actual visual meshes based on local area heightmap;
- OBS integration fixed;
- Transition between shadow cascades improved;
- GrassFX: updated and fixed shading, smoother shadows;
- CSP previews config ZIP can be placed to
Documents\AC\cfg\extensionfor CSP to use it instead; - Compatibility with latest ReShade fixed;
- Fake car shadows reprojection got more stable;
- New trees are drawn in more detail further when making a screenshot;
- Extended track physics no longer messes up AIs;
- Body flex: better compatibility with anti-roll bars;
- Fake shadows from wheels are aligned with fake shadows from the car itself;
- Occasional error with problems to find replays when starting from CM shouldn’t happen anymore;
- AC will no longer load files from data folder if data.acd is present but files are missing from it;
- Extra G/H/I/J keyboard bindings work now;
- Textures loading is more reliable, can handle malformed DDS files or generate missing MIPs properly again;
- Car cameras checkboxes in general settings fixed (some combinations were disabling too much);
- ExtraFX emissives are compatible with digital LEDs merging;
- Bending version of
smCarPaintshader casts shadows properly; - Mesh compression option fixed;
- Wings no longer break in Quick Pits Menu if unedited (recent CSP regression);
- Computing AABB from collider meshes works even if meshes are shifted (fixes CSP previews and more);
- Live reloading for video configuration fixed;
- Custom penalties assigned from chat tools fixed;
- Heating intensity for braking disks adjusted;
- Default track altitude is set to 294 m for races with new update;
- BC7 texture compression (those two optimization options in general settings) is a lot more GPU-friendly;
- Mesh deduplication no longer causes GPU hang ups with some hardware in VR;
- CSP integrity verification (
[EXTRA_TWEAKS] VERIFY_CSP_INTEGRITY=1in extended server settings) fixed; - Issues with AIs driving worse or choosing wrong AI spline (recent CSP regression) fixed;
- Timezone sanity fix updated;
- YEBIS: setting exposure to 0 works (making screen black, but it beats ignoring the change switching to 0% and leading to unpredictable behavior);
- AC would never move mouse pointer anymore unless its window is in foreground;
- Pro view fixed;
- INIpp parser can handle
\rsymbol properly; - A couple of regressions stopping some of PaintShop functions from working fixed;
- Messages about AC physics loop being late shouldn’t appear in log.txt anymore to save a bit of time;
- TTS for chat messages fixed;
- Few adjustments for sparks behavior and visuals, more light cast with ExtraFX;
- TyresFX: issues with guessed values being asymmetric fixed, defaults take visual wheel offsets into account;
- Distance for a car to count as focused with free camera increased from 3 to 5 meters;
- Rain AI trajectories no longer cause a crash on certain tracks;
- New driver tags respect option of old ones to draw a tag for a focused car;
- Normalizing mirrors UV works well with RainFX;
- AC shutdown is a bit more graceful now;
- A couple of fixes to get AI spline recording to work;
- Extended car physics: tyres without thermal LUTs work again;
- Car hazards blinking period fixed;
- Shaking headlights shake more with damage;
- Braking trace particles don’t break with resolution changes;
- AC no longer crashes if there was an error when trying to load cached AI splines metadata, metadata properly updates if AI spline changed;
- Multiple entries in lods.ini referring to the same model will be collapsed into one;
- Tyre width missing or set to 0 no longer causes TyresFX to stop function and tyre mesh to disappear;
- Referring to car textures by name from configs or Lua is now case-independent;
- Tyre rays don’t see wall meshes as double-sided (CSP regression a few versions ago);
- Caustics brightness with custom WeatherFX styles is fixed;
- Config
yebisest.iniis properly ignored now, the module will always be active; - Enabling autopilot no longer changes amount of fuel in car;
- Disabling autopilot restores automatic shifting state;
- Using
lights.ksanimin ext_config.ini disables original AC headlights animation; - Automatic exposure stops updating when making a screenshot;
- Custom track physics: randomized car placement no longer applies to the first car;
- Replacing YEBIS with custom post-processing in WeatherFX style no longer breaks option for rendering VR HUD without post-processing;
- VR Tweaks: corners masking optimization shouldn’t interfere with scene rendering;
- NeckFX: drawing driver helmet no longer freaks out for a few frames when car teleports or turned back;
- Skidmarks (especially dirt skidmarks) look a lot better in mirrors;
- Few improvements to reflection cubemap downsampling for smoother reflections;
- App Shelf layout fixed;
- Android Auto YouTube fixed, now starting with one of random searches (YouTube no longer shows videos on its main page);
- Proper PBR shaders (
fuPBR…) fixed and should have correct brightness and reflectivity now (but for the best look they do need WeatherFX style with linear color space); - Refracting headlights in fog fixed;
- Accumulation AA disabled and saving original screenshot option work if screenshot render scale differs from main render scale;
- Light from exhaust flames flickers properly;
- Softer shadows on clouds;
- Default WeatherFX style: clamping for light pollution intensity to help with strange configs;
- Old and pointless rally tweak (increasing light parameters for a single rally car on a rally track) removed;
- AI tweak about 200 km/h fixed (wasn’t loading properly before);
- GPU constant buffers data is now 64-bytes aligned to work a tiny bit faster;
- Raycasting static meshes checks AABB as well for a slight speedup;
- Win keys stop Ctrl-based AC shortcuts as well;
- AI-activating shortcut working without Ctrl held down fixed;
- Advanced chunks optimization leading for tyre grooves to turn black on some tracks fixed;
- Missing material variable warnings in
log.txtshould be muted now (pretty pointless warning anyway); - Cars should no longer spawn on roofs with aligned teleportation of custom tracks physics;
- Shadows not working properly on a distant square when sun is low fixed;
- Removed broken Python shared library option (it wasn’t of much use);
- SkidmarksFX: fading on loading fixed (config wasn’t respected), fading values are now printed in CSP log with
Skidmarks fadingprefix; - Spotify music detection removed (wasn’t that reliable or informative, and everybody has moved to Windows 10 with much better music status system);
- Logic for disallowing overlapping of AC forms updated, now shouldn’t cause apps to jump around too much; overlapping highlight is fixed too;
- Users with non-latin usernames can be tagged by typing first latin symbol or digit instead and pressing Tab;
- CSP should be able to handle files in UTF-16/32 BE/LE with/without BOM encodings (might lead to change in behavior if you’d be using a car with some config incorrectly saved in UTF-16 and failing to be parsed before);
- App Shelf: main lua file is extracted last and renamed after extracting, should ensure there’ll be no failed installations;
- As seemingly proven to not cause issues, AABB for reflections option is hidden and enabled by default;
- GrassFX transitions are smoother;
- Collapsed apps with automatic sizing load their previous sizes properly;
- Mouse steering should work properly with pause menu;
- VAO-only and normals views are working with linear color space now (by switching to old shaders sets);
- New driver tags no longer stop working with paused race or replay;
- IMGUI glow in transparent areas fixed;
- GPU priority increased by default;
- Smoke interaction with fast driving cars adjusted;
- Skidmarks, grass and fake shadows should be better clipped for interior cameras;
- AC should no longer crash when a mesh selected in Objects Inspector has been removed;
- Few smaller fixes and optimizations.
Configs
- Track surfaces: option to replace sine noise with customizable perlin noise;
- Track gravity set in surfaces.ini now works online for servers using new CSP (also, setting altitude above 20 km alters gravity as well);
- Distant lights can pair with associated meshes with a new
[LIGHTS_DISTANT_LAYER_…]meshes list andDISTANT_LAYERlights option stopping them from contributing to overall lights limit (docs are coming soon); - Lights with large radius or fade-out distance now will end up in a separate 4 km chunks thing (previously it was only 800 m chunks, and fade-out distance wasn’t taken into account at all);
- Lights with fade-out or range larger than 4 km will count as dynamic and remain outside of chunks;
- New online option:
CUSTOM_MOTION = 1, RESETresetting interpolation when car teleports (once tested and verified, will be enabled by default for all servers); - Tracks: add alternative splines named
ext_alt_fast_lane_?.aitoaifolder and CSP would use those for random cars for something like alternative paths NFS5 Porsche style (not used by track day car respawning for now); - Use
MATERIAL_FLAG_1 = 1on MultiMap_emissive shaders to switch to UV2 for txEmissive; - Use
MATERIAL_FLAG_2 = 1on MultiMap_NMDetail shaders to use alpha of txDetail as a multiplier for reflectivity as well; - UV2 patches no longer load if generated from non-triangulated meshes (CM update filtering things on its side is coming soon);
emSkipDiffuseMapfor emissive shaders now takes values in-between of 0 and 1, allowing to limit txDiffuse contribution;- Set
emSkipDiffuseMapto -1 (or useCustomEmissive_UseDetailInsteadOfDiffusemixin) to switch emissive shaders to use txDetail as a multiplier to txEmissive (instead of txDiffuse); - Add a second argument 1 to
CLUSTER_THRESHOLDfor lights and such in track configs to switch to clustering in 3D (slightly slower); - New
[BASIC] INTERIOR_CLIPPING = …option for cars specifying if grass, skidmarks and fake shadows should be clipped for interior views (by default enabled for non-open wheelers); - New
FORCE_MINUS_TWO_LOD_BIASthing for shader replacements (please don’t use unless really have to); - New trees: AO baking now can be adjusted;
- Hidden experimental option
general.ini/DEV/NANORT_SCENE_RAYCASTto build accelerating structures for faster mesh raycasting (might increase memory consumption and make first raycasts slow); - Hidden experimental option
general.ini/DEV/VIRTUAL_REPLAYS_ALLOCATIONto use a magical VirtualAlloc function for replays instead of allocating small bits of memory and increasing them as more frames are being recorded; - Trees Inspector now shows more details about selected tree;
- Live reloading for
data_human_materials.ini; - New track option
[BOUNCED_LIGHT] CAUSTICS=SPECTATOR_ONLYfor better performance; - Objects Inspector: option to show AABB and bounding spheres for selected meshes;
- New
[EXTRA_RULES] RETAIN_BRAKES_TEMPERATURE_IN_PITS=1session parameter; - Offline race
[RACE] FORCE_BASE_PHYSICS=1parameter for disabling extended physics; - New
[STEER] SCALE_POSTPROCESS=1parameter for controls.ini; - Configure rim friction for cars with blown tyres using
[_EXTENSION] RIM_FRICTION_X=200 RIM_FRICTION_Z=100in tyres.ini; - Use
…_MASKfor flame settings to specify which flames would go out of which sources; smGlassshader: frosted look fixed, available withRefractionMatte = 1;- GrassFX: option to use AO to add extra self-shadowing (requires textures with correct AO), enabled by default for configs that use default grass textures;
- New
UseNormalsAlphaToMaskFlakesparameter for car paint materials; - Android Auto: cars can add new wallpapers for users to choose from;
- Volume peak: devices are filtered based on regexps in
small_tweaks.ini.
Lua
- Common API:
math.perlin()for 1/2/3D-perlin noise;- New
ac.DataLUT21andac.INIConfig:tryGet2DLut()to deal with 2D LUTs; - New
ac.convertHDRToLDR()for converting HDR values to LDR taking into account linear color space adjustments such as gamma or brightness multiplier; - New
ac.getCarOptimalBrakingAmount()computing optimal brake pedal input for safe braking; - Local, angular and local angular velocities are working in replays;
- Use
web.socket()to connect to a WebSocket; - Web functions use normal error messages instead of numbers;
os.runConsoleProcess()handles separate stderr properly;string.nextEmoji()fixed, newstring.codePointAt()method;- Load list of names of original KN5 textures with
ac.collectKN5TextureNames(); - Load original KN5 materials with
ac.collectKN5MaterialProperties(); - Easy way to set up included files search locations when parsing car or track configs;
stringify.binaryworks with vectors and such even if they’re references and not pointers or values;ac.getAirPressure()andac.getAirHumidity()are fixed;ac.ControlButton:boundTo()works properly if button is not bound to anything;ac.ControlButton:setDisabled(): AC hotkeys can be disabled as well (at least some of them);- TTS: tune volume and rate, select gender, get callback when finished and other improvements;
ac.mediaCurrentPeak(): argument to monitor mic peaks as well;- New
table.same()for comparing table contents in fast and reliable way; - New
string.pack(),string.packsize()andstring.unpack()compatible with Lua 5.3 behavior; - New
string.urlCheck(),string.urlNext()andos.parseDate()functions; - New
ac.StructItem.explicit()modifier for preserving order of items passed into structure constructors; - New
ac.onTrackPointCrossed()for measuring custom sectors; - Functions to work with view and projection matrices, including getting matrices from
ac.GeometryShot; ac.OnlineEvent()got an option to receive messages that could have been sent before app has loaded (also, issue with messed up data when receiving two messages at once fixed);- Time spend on executing Lua callbacks callbacks time set by functions such as
render.on()is measured; - Calling
ac.store('key', false)clears out a value to fix compatibility with some cars (please keep it mind it’s only meant to store strings or numbers though);
- State API:
- New fields:
ac.getCar().dirt,ac.getSim().weatherConditions,ac.getSim().cameraExposure,ac.getSim().exposureMultiplier; - Field
ac.getCar().headlightsColorfixed; - Cars timing and sectors related info in car states online fixed;
ac.getSim().currentSessionTimeandac.getSession().hasAdditionalLapfixed in online races;- New
ac.getCarPhysics().wheels[].discCoreTemperaturefor custom physics brakes; - New
ac.getSim().isLinearColorSpaceActivefor active linear color space fix; - New
ac.getSim().currentVAOModefor current VAO debugging state; - New
ac.getSim().cameraJumpedwill be set totruefor a first frame after camera has been teleported; - New
ac.getSim().isMakingScreenshotwill be set totrueif currently accumulating frames for a screenshot;
- New fields:
- New shared libraries (to avoid standard library to grow too massive and slow down scripts loading, extra functions are being added like this instead):
- `shared/sim/cars: tweak stored car states (could be used to do proper momentum-saving portals, for example);
shared/sim/fireworks: launch fireworks from custom positions;shared/sim/ghost: create new ghosts, reload them live and more;shared/utils/chat: share setups in chat, change car color;shared/utils/steam: access some of Steam API functions;shared/utils/appshelf: any script can use it to ask user to install a trusted app;shared/utils/binary: effortless and fast reading and writing binary data;shared/utils/playing: override info about currently playing music, for example, if your app is playing something;
- UI & scene API:
- Audio events created from files: seek, get total duration and timeline position;
- Create audio event group and add DSPs to them instead of actual audio events (for now only for audio events created from files or streams);
- Load original textures from car KN5s (even if overridden by a skin) with
carN::kn5::prefix; - Scene API preserves original texture names when replacing textures for things like
:applySkin()to continue working; :applySkin()no longer applies to KN5s loaded from Lua;- Icons and callbacks of
ui.addSettings()fixed; ui.onExclusiveHUD()is more reliable now if used by multiple scripts at once;- Shader templates updated, ready for linear color space;
- Loaded KN5 files no longer unload if containing reference gets garbage collected;
- Saving extra canvases as DDS includes MIPs as well now;
:accessData()for extra canvases responds faster;- Geometry shots: YEBIS got proper FXAA 3.11 antialiasing on top and transparency support;
- Geometry shots: option to include fake shadows when drawing a car separately, fake car shadows are drawn nicely when drawing the whole scene;
- Calling UI functions outside of UI drawing context should raise an error instead of collapsing AC;
ui.UserIconsLayer()with non-default columns are working now;render.on(): more event names to listen to;ac.SceneReference:ensureMaterialsUnique()shouldn’t leak or cause crashes anymore;ui.renderShader()respects IMGUI clip area;ui.addSettings()uses name if ID is not set, for more reliable state saving;- New
ui.onChat()allowing to replace entire chat app; ui.onExclusiveHUD()can return 'apps' to let CSP know it can draw IMGUI apps;- Experimental functions
ui.pushAlignment()andui.popAlignment()for aligning UI without usual complications; - Dumped shader replacements, or replacements collected from a KN5 file, no longer affect CSP functional shaders (such as wipers) by adding a new
LEAVE_FUNCTIONAL_SHADERS=1parameter to config entries; ui.MediaPlayer: FMOD integration improved (but the option is still hidden), unloading media works better;- New
render.BlendMode.OpaqueForced(overriding disabled opaque blending for transparent passes) andrender.DepthMode.WriteOnlyvalues;
- Gameplay API (apps, new modes, online scripts):
- New
ac.setExtraTrackLODMultiplier()for something like cameras flying over the track; - New
ac.setBodyDirt(); - Some of Lua apps API, such as resetting car, saving and loading car state, marking lap as spoiled, controlling app windows, starting/restarting/teleporting to pits, blocking Escape button, setting car active, has been moved to Gameplay API;
ac.tryToOpenRaceMenu()can select a tab to open as well;- New
ac.tryToSkipSession()function; - Callbacks and timers are called for new modes when AC is paused;
- New
- Physics API:
- New
ac.resetColliderWears()function; ac.disableCarCollisions()works online;
- New
- Physics AI API:
- Assign a new spline for a certain AI car (experimental);
- Lua apps:
ac.setExposureMultiplier()for altering that exposure slider;ac.getSetupSpinners()returns list of items for extended entries properly;- Move Lua apps as well with
ac.accessAppWindow(); - New
ac.setWindowBackground()for changing background color and optionally painting titles black; - New
DARK_HEADERflag for windows if background used is white (title text and icons will be black); - New
itemValues: number[]field forac.getSetupSpinners()for CSP entries using LUTs;
- Car physics scripts:
- Effects of
ac.overrideBrakesTorque()can be disabled now; ac.overrideSpecificValue()for overriding some other special values;- Use
ac.addElectricTorque()to add extra electric torque to certain wheels; - Number of controller inputs increased from 8 to 256;
- Record controller inputs in replays;
- Adding extra mass shouldn’t break car resetting its position anymore;
- Functions manipulating wheels and tyres now can also take an enum to alter multiple ones at once;
[CUSTOM_SCRIPT_ITEM_…]entries use section name if ID is not set;
- Effects of
- WeatherFX:
- Switch to linear color space with
ac.useLinearColorSpace(): - A bunch of fixes activating with linear color space;
- Updated IBL-based ambient;
- Two-layer fog;
- Use
ac.setHDRToLDRConversionHints()to hint to AC how to convert HDR image to LDR image quickly; - Add extra multiplier for dynamic lights not causing them to deactivate with
ac.setWeatherLightsMultiplier2(); - Fog: optional different atmospheric absorption for different color channels;
- Option to set an Earth texture for nicer horizons (and a view of Earth from outer space);
- New
ac.getSunMoonAngle()for precise eclipse estimation; - New
ac.pauseCubemapUpdates(); ac.setWeatherTimeOffset()enables real sun trajectory with a large enough offset;- Sun light stops only if sun is actually below the horizon, not just if it’s Y component is below 0;
- Default filmic contrast value received by post-processing callback is 0.5, as it should be;
ac.setWeatherLightsRangeFactor(): override default range multiplier based on lights intensity multiplier;ac.useMinDepthResolution(): change the way depth buffer MSAA is resolved depending on what you want to use it for;
- Switch to linear color space with
- FFB post-processing scripts:
- New
ac.disableLowSpeedFFBReduction(), just in case;
- New
- Saving files resets caches for Lua scripts based on existence of some files;
- Option to keep background Lua workers in Lua Debug app for a certain time after they’re finished;
- Small chance of a fatal crash on Lua script unload (if it was using logging or something like that in any disposing functions) fixed;
- Car physics scripts are better compatible with AC locking car controls;
- LuaJIT updated with latest upstream changes.