Skip to content

Instantly share code, notes, and snippets.

@gro-ove
Last active September 21, 2021 12:55
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save gro-ove/ee8dc49f6e11ee81fa53076db33b8039 to your computer and use it in GitHub Desktop.
Save gro-ove/ee8dc49f6e11ee81fa53076db33b8039 to your computer and use it in GitHub Desktop.
- Dynamic weather conditions online with either a server plugin (documentation is coming soon) or custom acServer implementation;
- 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;
- 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;
- 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;
- 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;
- 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 in replay with app hidden;
- 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 (with default session settings it would still be automatically engaged in pits, but it could be overriden in some cases);
- Walking out module: settings, improved transition, few fixes, selected car is the controlled one, tool for positioning cars a bit more easily;
- Freer camera: use pedals to smoothly control camera speed.
Fixes:
- FSR:
- Oculus Rift integration fixed;
- Virtual mirror incorrectly positioned in triple screen fixed;
- Pieces particles occasionally breaking motion blur fixed;
- New photo mode app: setting DOF or changing camera FOV doesn’t reset to free camera anymore;
- 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;
- Case of VR with post-processing disabled fixed;
- Custom triple splits: misplaced driver names fixed;
- Dynamic lights shadows fixed;
- Accumulation DOF works better with real mirrors;
- AC shutting down when making screenshots and such with certain mods fixed;
- 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_UVflow` with 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;
- Smaller fixes and stability improvements.
For new content and configs:
- Override car data files related to visuals, such as “lods.ini” or “lights.ini”, by creating new files in “extension/data_override” folder;
- 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;
- Custom track physics:
- Soft walls fixed, with new `MAX_DEPTH` option 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);
- Deformable track walls for deep collisions (with soft colliders), for tyre walls and such;
- TyresFX:
- New `DIRT_OFFSET_K` parameter, similar to `DAMAGE_OFFSET_K`;
- Option to set custom meshes for different tyres;
- `[MESH_SPLIT_...]`:
- Set split name or material directly, or use existing material;
- New mode `COPY_FLIPPED` to fix missing interior windows;
- New `INSERT_TO` option to specify new parent for new meshes;
- Parameter `[BOUNCED_LIGHT] AMBIENT_MULT=0.2` for 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 set `COCKPIT_HR` now 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 `ColoredBlackSpecular` parameter 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_N` for amount of damage of Nth car;
- `CAR_DAMAGE` for maximum amount of damage of all cars (could be tied to roof lights of ambulances?);
- `ONLINE_RACE` switching 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;
- `CONDITION` for track lights and material adjustments now can use expressions too (although, without color support for now);
- Issue with parameters `MOVE_MESH_BEHIND` and `MOVE_MESH_IN_FRONT_OF` unable to reorder elements within same parent is fixed;
- Track configs now can set flame emitters;
- New `common/particles_track.ini` with some presets for track particles (bonfire, stove, flare);
- New `common/displays.ini` helping to easily create new quads for digital displays in cars;
- If you’re using wing animations to show and hide extra bits, now you can configure it so “hidden” geometry 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 extra-precision mode;
- Brakes input for cars fixed, now uses `[BASIC] BRAKES_THRESHOLD` as default threshold;
- Problem with changes to semi-transparent shadows not applying live is fixed.
For new apps and scripts:
- 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);
- WeatherFX:
- API to create and manipulate dynamic lights for more advanced visual effects;
- New `ac.setSkyV2SunSaturation(number)` to adjust sun saturation;
- 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 `normalFacingExponent` for adjusting normal calculation (default value is 0.5);
- New cloud parameter `normalYExponent` for shifting whole cloud shape, to get it to look more as if camera is below;
- New cloud parameter `topFogBoost` for boosting fog at the top of the cloud;
- 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 or turbo wastegate (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;
- 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.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment