0.1.76-preview136
- Version ID: 1753
- Size: 56.19 MB
- Published: 2021-10-22
Changelog
Section titled “Changelog”New features, options and improvements
Section titled “New features, options and improvements”- Dynamic weather conditions online with either a server plugin (documentation is coming soon) or custom acServer implementation;
- New WeatherFX controller that uses OpenWeatherAPI to sync conditions with real weather dynamically;
- State of wings used to hide and show additional car geometry is syncing online now;
- FSR:
- Whole thing reworked with officially released SDK:
- Quality presets are different now;
- Recommended level of sharpening is used now;
- Option for adjusting MIP bias according to recommendations;
- Old implementation is still present in case you wouldn’t like the look of the new one;
- Option to set lower quality setting for left and right sides in triple screen mode;
- Optional debug mode: hold Space to quickly switch to simple linear upscaling to compare;
- Whole thing reworked with officially released SDK:
- Smoke fully reworked (apart from tyres heating and spawning logic):
- New improved shading;
- Improved smoke-cars collisions;
- Better support for open-wheelers;
- Tyre smoke spawns below car with extreme drifting angles;
- Dust and splashes spawns around car, not just from wheels;
- Dust flies off dusty wheels;
- A bit of dust appears for some F1 cars with wooden skidpads when those touch the ground (and can be configured on per-collider basis, similar to sparks);
- Clouds of dust spawn on collisions;
- Smaller particles for bits of dirt and smaller splashes spawn in contact points;
- Long-lasting smoke and dust (lasts for several minutes);
- When on grass, instead of dust clouds, more subtle soil particles are used (color is set in track config);
- New look for smoke from exhaust, heated brakes and damaged engine;
- Smoke won’t show up inside a cockpit;
- Colored smoke and dust lose saturation with expansion, with new config parameters to adjust the rate;
- Smoke culling improved for further optimization and smoother transitions;
- New options to adjust density and on-screen size, to balance between visuals and performance;
- With ExtraFX, option to get smoke clipped by windows or, instead, rendered behind them;
- Extra effect with smoke covering whole screen, to get effect of camera stuck in smoke much cheaper;
- Pieces particles update:
- Adjusted types chances, size and shading;
- Collision detection now uses car heightmaps instead of depth buffer for more accurate results;
- Size of sparks particles fixed, sparks no longer spawn with head-on collisions;
- TyresFX:
- Grass and dirt on tyres reworked, textures and rendering both;
- Soil color is taken into account;
- GrassFX:
- Active ExtraFX pass option now properly supports fake car shadows reprojection;
- Grass deformation updated, now takes into account grass height;
- If you’re using original AC motion blur, it would affect grass as well now;
- Smart Shadows:
- Smooth transition between cascades reworked and is configurable now;
- Disk shadows filtering removed, PCF is back until I figure out how to do it properly;
- Nice Screenshots:
- Old HDR fix thing is now replaced with brightness-based weighted average; much easier to deal with, and it produces better results;
- Accumulation DOF: options to customize shape and samples distribution for bokeh;
- New rendering modes: 360°, fisheye, split screen (new Content Manager supports custom modes for AC video settings);
- Specify joypad index for joypads input mode;
- Support for VAO patches v5 with spatial AO samples for dynamic objects;
- New sky mesh with more evenly distributed triangles for better reflections and mirrors;
- Option to hide console;
- Option to create portals to other servers online for freeroam servers;
- Scene tweaks from new photo mode app remain active with app hidden, or without replay (in a single-player race);
- If VR failed to initialize, there’ll be a warning on loading screen (especially helpful if you accidentally chose wrong render mode);
- Similar warning would be shown if ExtraFX would fail to initialize because of AC motion blur;
- Chat shortcuts reworked: new UI system, now don’t trigger change in turbo, different approach for alternative set of messages;
- Option to unbind digit buttons from changing turbo level;
- Triple screen tweaks: option to always show driver name tags (with original system);
- Semi-transparent shadows from smoke, flames, semi-transparent objects and such improved with Bayer dithering;
- Button for manual control of speed limiter;
- Online servers can alter speed limiter parameters, disable forced limiter (with configurable penalties), re-enable collisions in pits;
- Walking out module: settings, improved transition, few fixes, selected car is the controlled one, tool for positioning cars a bit more easily;
- Custom glare for distant headlights (experimental, disabled by default for now);
- VR mirroring: option to fill the screen, new modes for anaglyph mode, additional settings;
- Support for custom track tyres raycasting with a CSP plugin;
- Option to fix audio alignment (seems like sometimes some AC cameras could break it);
- Option to hide CPU occupancy warning;
- Option to add border to AC window just in case;
- PP-filters now can access additional auto-exposure options, for example, changing how fast AE changes (filters editor got new options in a sub-section of the AE section);
- Support for secondary clutch axis (CM support is coming soon);
- Option to hide driver name tags and driver points on track map for certain cars online via server config or extended server API;
- New driver tags: option to control rendering distance;
- Small tweaks: option to alter change AC audio volume during the race with buttons;
- Option to remove 1 GB size cap for replays;
- Double precision physics engine now enabled by default;
- Freer camera: use pedals to smoothly control camera speed;
- FSR:
- Oculus Rift integration fixed;
- Virtual mirror incorrectly positioned in triple screen fixed;
- Shader
ksPerPixelMultiMap_AT_NMDetailis finally fixed (has been broken from pretty much first builds of CSP); - Pieces particles occasionally breaking motion blur fixed;
- New photo mode app: setting DOF or changing camera FOV doesn’t reset to free camera anymore;
- Additional caching during loading no more messes up setup menu (there was a problem trying to load a newly made setup);
- Mumble voice chat audio orientation fixed;
- Origin shift compatibility:
- AI recording tool fixed (didn’t render spline correctly);
- Driver eyes positioning tool fixed (similar issue);
- ExtraFX bounced light clip plane fixed;
- WeatherFX clouds and flickering cloud shadows fixed;
- Case of VR with post-processing disabled fixed;
- Custom triple splits: misplaced driver names fixed;
- Shadows from dynamic lights fixed;
- Fixed interior reflections masking flickering in free camera with AMD GPUs;
- Interior reflections masking no longer darkens rough reflections that much;
- AC crashing when CSP is trying to fix certain wiper animations fixed;
- Accumulation DOF works better with real mirrors;
- AC shutting down when making screenshots and such with certain mods fixed;
- Accumulation DOF no longer breaks with ExtraFX motion blur (without accumulation motion blur);
- Memory leak with SMAA fixed;
- Possible performance issues with some PP AA modes fixed;
- AC stuck in setup check with cars with extended physics fixed;
- Monitor mirrors showing headlights as red and blue fixed;
- Problems occuring when trying to save and load selected PP-filter are fixed;
- Option to draw track AO samples removed to stop people from activating it accidentally;
- VAO patches for cars no longer affect windscreen brightness;
- Switching VAO sets (with driver/without driver) fixed;
- Fur material changing scale randomly fixed;
- Disabling windscreen dirt not always working fixed;
- FidelityFX CAS now works with FXAA and FXAA 3.11 (fixed) as well as with SMAA;
- Half-resolution smoke now works with triple screen mode;
- Shader
stPerPixelNM_UVflowwith alpha-test now casts shadows properly; - Low beams not working properly in replays fixed;
- Windscreen meshes drawn over driver’s visor (with something like F6 camera) fixed;
- Shaking chase cameras fixed;
- Tessellation shaders (flags, bending pieces): fog, shadows and ExtraFX effects are fixed;
- Randomized wind component getting too large fixed;
- Crash with downshift protection on older mods without audio event fixed;
- Shadowed wheels and VAO fade out when car tilts too much;
- Collision depth is stored in replays now, for deforming walls to work correctly;
- Fake Shadows generation for cars like McLaren-Mercedes MP4/13 fixed (now ignores seatbelts);
- Cached car data growing too large with repeated entries fixed;
- Car heightmap not working correctly with some cars (and resulting in, for example, sparks flying inside) fixed;
- WeatherFX:
- PP-filter adjustments are reset when current filter is changed;
- Default WeatherFX implementation updated and fixed (improved clouds, definitions for cold and hot weather types were missing);
- Per-pixel fog used in some shaders fixed;
- Replay clips saving is more stable now;
- FPS limiter deactivation in new performance stats app fixed;
- Loading of extra CSP data for older replay versions fixed;
- Pieces of grass and dirt not really working with car driving backwards fixed;
- Broken shading (especially shadows) of some skinned meshes fixed;
- Fake shadows from front wheels sometimes being rendered above everything else in first persion view fixed;
- Default button (numpad’s plus) for Extra D is fixed;
- Loading car names from JSON is fixed;
- GrassFX culled too early in right eye in VR fixed;
- Incorrect configuration for rotating car objects (in extra_animations.ini) would no longer crash the game;
- Car wheels jittering back and forth in rare cases when moving slowly fixed;
- Replays now can record more frames with extra CSP data;
- Bluish reflections with SSLR fixed (it still needs a lot more fixing though);
- Cars custom emissives sometimes failing to sync with light sources fixed;
- Additional replay data breaking when replays run into size limit fixed;
- Extra-long speculars of SSLR are fixed;
- Few fixes for headlights range switching with different camera modes;
- ExtraFX TAA messing up LEDs fixed (with auto-fix active);
- Python app names in Python profiler tool (and possibly more) getting messed up fixed;
- Custom raycasting (in general settings) occasionally breaking simulation into brown screen fixed;
- Extended raycasting (in custom physics) fixed once more;
- AC crashing in track day mode on some tracks because of tyres issue fixed;
- Also, AC would no longer crash if there would be meshes and nodes mentioned in camera_facing.ini and sharing the same name;
- Fixed first shadows split breaking in VR in some cases;
- Photo mode app: making a motion mode shot no longer freezes AC for a few seconds fixed at the start;
- Real Mirror no longer breaks after switching driver on and off a few times;
- Default car setup
_ext_defaultfixed, now loads all the parameters (also now race.ini can define a custom setup to load, optionally fixed); - New driver tags: distortion in VR fixed;
- Advanced culling causing initial skidmarks to appear with a delay fixed;
- Smaller fixes and stability improvements;
Configs
Section titled “Configs”- Override car data files related to visuals, such as
lods.iniorlights.ini, by creating new files inextension/data_overridefolder; - Colorful shadowing: overall look improved, new parameters;
- Masking pass shading improved, doesn’t look as messy with darker textures, new parameters;
- Custom car physics:
- Create hidden car setup items linked to some AC physics controller (for example, to create a suspension with ride height adapting to car speed);
- Link clutch damage to exceedingly high torque;
- Create extra links for any suspension, linking together hubs or attaching hubs to body with distance or fixed joints;
- New inputs for dynamic physics controllers:
DAMAGE_ENGINE,DAMAGE_GEARBOX(0 for original, 1 for fully damaged);
- Custom track physics:
- Soft walls fixed, with new
MAX_DEPTHoption to limit softness for collisions that are too deep (docs are coming); - Cars spawned aligned to track surface (optional, controlled by track’s physics config surfaces.ini, enabled by default with custom track physics);
- Soft walls fixed, with new
- Deformable track walls for deep collisions (with soft colliders), for tyre walls and such;
- TyresFX:
- New
DIRT_OFFSET_Kparameter, similar toDAMAGE_OFFSET_K; - Option to set custom meshes for different tyres;
- New
[MESH_SPLIT_...]:- Set split name or material directly, or use existing material;
- New mode
COPY_FLIPPEDto fix missing interior windows; - New
INSERT_TOoption to specify new parent for new meshes;
- Parameter
[BOUNCED_LIGHT] AMBIENT_MULT=0.2for reducing ambient effect on bounced light now that new VAO patches for tracks have light bounces; - Parameter
[REFLECTIONS_FX] INTERIOR_NODES=…for cars without properly setCOCKPIT_HRnow works better, affecting more CSP features; - New car instrument inputs for KERS;
- Extra car switches (those extra A/B/C/D functions):
- New extra E and extra F switches are added;
- Switches now can have a name set in config to show in car description during loading;
- Optionally, switch can operate in hold mode (active while button is pressed);
- Optionally, switch can require stationary car to activate (like a speed key for Bugatty Veyron, for example), or neutral gear, or pressed brake pedal;
- CSP configs can add extra comments about car features on loading screen;
- Adjustable wings now can affect several nodes at once (easier to get LODs to work);
- New
ColoredBlackSpecularparameter for car paint shader improving look of multi-colored skins, enables automatically with fourth version; - Set soil color for tracks along with dirt and grass color;
- Option to set soil, dirt and grass colors for different types of surfaces;
- New track inputs:
CAR_DAMAGE_Nfor amount of damage of Nth car;CAR_DAMAGEfor maximum amount of damage of all cars (could be tied to roof lights of ambulances?);ONLINE_RACEswitching to 1 for online races;TIME_SMOOTH: time of day in seconds without rounding;
- In condition expressions, writing
condition:prefix when referencing a different condition is no longer needed; - In places where previously track parameters could either be a number or reference a condition, now expressions are fully supported as well;
CONDITIONfor track lights and material adjustments now can use expressions too (although, without color support for now);- Issue with parameters
MOVE_MESH_BEHINDandMOVE_MESH_IN_FRONT_OFunable to reorder elements within same parent is fixed; - Track configs now can set flame emitters;
- New
common/particles_track.iniwith some presets for track particles (bonfire, stove, flare); - New
common/displays.inihelping to easily create new quads for digital displays in cars; - Macro
CustomEmissive_UseDiffuseAlphafixed, now can use alpha from txDiffuse; - If you’re using wing animations to show and hide extra bits, now you can configure it so
hiddengeometry would actually be hidden, saving draw calls:- Car lights now can be bound to wing states, referencing wing ID and using LUT for brightness multiplier;
- For simple cases with two states where hidden bit is either scaled down or moved far away, CSP should be able to guess things automatically;
- Tool to quickly generate such animations with corresponding config is available on CSP wiki;
- When copying coordinates from Objects Inspector, hold Shift for additional precision;
- Brakes input for cars fixed, now uses
[BASIC] BRAKES_THRESHOLDas default threshold; - Car config parameter
[DATA] DISABLE_DIGITALINSTRUMENTSINI=1to disable original digital instruments; - Track config parameter
[DYNAMIC_OBJECTS] DISABLE_ONLINE_SYNC=1to disable syncing of dynamic objects online and get them to start from initial position for each new connected client; - Tracks now can use custom model for static reflections or set shader replacements to act upon a default one (good for hiding trees on tracks like Monaco);
- Problem with changes to semi-transparent shadows not applying live is fixed;
Lua & Python
Section titled “Lua & Python”- Python apps:
- Live reload for Python apps with Python apps profiler, including fully automated option;
- New functions for time control:
ac.ext_getWeatherTimeMult(),ac.ext_setWeatherTimeMult(value); - New functions for advanced rendering: render to texture, use custom pixel shaders, access virtual mirror texture for custom virtual mirrors;
- Function to check if VR is active or not;
- Result of
ac.newTexture()is cached now, feel free to re-create those textures each frame (although it would still be faster to save value locally);
- Lua apps: IMGUI for UI, extra APIs, live icons, fullscreen drawing callback for optional fullscreen HUDs with custom virtual mirror, damage and fuel warning indicators (all optional);
- WeatherFX:
- API to create and manipulate dynamic lights for more advanced visual effects;
- New
ac.setSkyV2SunSaturation(number)to adjust sun saturation; - New
ac.setTrackConditionInput(key, value)function which also allows to overrideAMBIENTinput; - Functions to adjust VAO and extra AO samples parameters;
- New sky-covering clouds using panorama textures as an alternative way to render clouds;
- Option to load textures asynchonously, new function to unload textures;
- New cloud material parameter
normalFacingExponentfor adjusting normal calculation (default value is 0.5); - New cloud parameter
normalYExponentfor shifting whole cloud shape, to get it to look more as if camera is below; - New cloud parameter
topFogBoostfor boosting fog at the top of the cloud; - Implementation and controller scripts now can do some work in parallel, reducing load on main core;
- Controller scripts got new API for making HTTP(S) requests;
- Lua scripts:
- New module to create Objects Inspector tools using Lua, with extended API for creating various UI controls;
- Helper functions:
try(block, catch, finally),class()for creating classes easily (uses middleclass); - New table functions
table.filter(),table.map(), etc; - New timer functions
setTimeout,setIntervalandclear…counterparts (similar to JavaScript); - New I/O functions
io.exists(),io.load()andio.save()(only for scripts that would have access to I/O); - Load and store typed values with
ac.storage(could be used to access string values based on keys or, for faster access, create localized holders); ac.load(key)returns nil if no value with such key was stored before;- More functions to access more details about simulation state like type names, driver names and nationalities, etc;
- Lua scripts being unable to find referenced files nearby fixed;
- Scriptable displays:
- Script could be in a separate file (
SCRIPT=script.lua, same as LUTs); - Access mirror texture to create displays with rear view camera and overlays;
- Define new cameras (similar to rear view mirror) with optional post-processing and access them in script, for this like parking camera activating with reverse gear;
- React to clicks on other meshes (optionally limiting area to certain UV coordinates), so they could act like buttons;
- Change car state: switch headlights, high beams and extra toggles;
- Control some of car inputs: alter ABS, TC, brake bias, turbo wastegate, engine brake, etc. (could be used to create a dashboard similar to one of BMWs with extra car settings);
- New
display.horizontalBar()function for simple drawing of a progress bar made out of segments; - API to create dynamic lights and custom audio events (including an option to load a custom soundbank);
- API to access nodes and meshes and move them around, hide/show or change their material properties;
- Script could be in a separate file (
- Scriptable displays for tracks (similar to cars scriptable displays with access to track conditions and ability to set custom condition inputs);
- New values for car state for Lua scripts: KERS state, number of gears, number of turbos, H-shifter state and more for user controls and for specific cars;
This site is maintained by C1XTZ, a 3rd party unaffiliated with Custom Shaders Patch. You can contribute here.