Skip to main content
  • Version ID: 872
  • Size: 28.86 MB

Changelog

  • Refracting car lights:
    • Position auto-guessing;
    • Option for custom bulbs position;
    • Option for emissive multi-channel behavior;
    • Performance improvements comparing to preview builds;
    • Multi-sampling option (increasing cost in four times, so, don’t use it unless it’s really needed);
  • New multi-channel emissive shaders:
    • New alternative mode for txEmissive in which each texture channel defines a mask for a certain emissive channel;
    • Optional procedural mode with four ways of defining areas;
    • Two types of mirroring allowing to increase amount of channels for symmetrical meshes from 4 to 7;
    • New shader for dashboards allowing to set up to 25 indicators with a single mesh and material (procedural mode only);
    • New shader with both _emissive and digital screen features, using emissive mask as digital screen mask as well;
    • New PBR glass shader with _emissive features;
    • Car emissives can specify emissive channel directly, tracks can use ksEmissive1 (ksEmissive2 and so on) syntax;
    • Refracting car lights can use proceducally defined light bulbs linked to different channels:
      1. https://gfycat.com/deficientfondhorseshoecrab; (Has been deleted)
      2. Please use this approach instead of dynamic emissive map! That feature might be removed soon.
  • Procedural grass reworked:
    • Now with geometric fins;
    • Fully customizable cascades;
    • Cars move grass when driving by;
    • For now, without parameters, that will be returned back soon;
  • New Python functions:
    • Everything reworked using more error-prone approach, fixing a few bugs in the process;
    • If you’ll notice any incompatibilities in API, please let me know, will fix asap;
    • Switch to strict mode to get errors if arguments are wrong, instead of patch silently returning default value as it was doing before;
    • Python profiler app now also shows log and error messages, renamed to Python Apps Debug;
    • Profiling and error handling for Python apps now should work within extra callbacks as well;
  • PBR shaders updated:
    • Specular ambient added (temporary solution until I’ll figure out how to do it properly);
    • Works properly with dynamic lights;
    • Overly occluded reflections fixed;
    • New option for txDetailNormal in PBR format, containing normals, occlusion and specular level (inverted roughness);
  • Lights guessing now would work with a single mesh for all four turning indicators;
  • Dynamic navigators;
  • INIpp format updated:
    • Breaking change: indices now start with 1 instead of 0, to make it less awkward when working with expressions (which were already using 1 because of Lua);
    • New features:
      1. Generators;
      2. Refer to mixins anywhere, with inline parameters and optional shorter syntax;
      3. Auto-indexing values;
      4. Vectors support;
    • A lot of bugfixes;
    • Twice as fast;
    • Now with automatic tests to ensure new features won’t break anything!
    • For more information, check out INIpp repo and its README;
  • Includable configs with templates:
    • New custom_emissive.ini allowing to set turning lights and what not in just a couple of lines;
    • New selflighting.ini helping to speed up a bit adding extra light sources for headlights lighting up the car;
    • Glass: brightness adjustment option, option to use normal map and, if needed, to use alpha-channel from normal map;
    • Car paints: tiling fix is now optional, use ApplyTilingFix = 0 to disable it;
    • Interior PBR materials: new Material_LeatherDetailed template with PBR detail texture, new options;
    • A lot of new stuff for navigators;
  • Extra FX: new MASK_GBUFFER option for headlights glass, allowing to get local reflections from behind it, but dimmer;
  • Alpha-to-coverage thing rolled back for now;
  • Dirt particles use track colors from Tyres FX, this time properly;
  • A bit of tonemapping for SSLR to reduce aliasing caused by too bright objects being reflected;
  • Analog odometers:
    • Now background color is used properly;
    • Use fonts from content/fonts;
    • Options for scaling fonts vertically and for a vertical offset for fonts;
  • Car inputs:
    • Options INPUT_ADD and INPUT_MULT (not really needed with INPUT_LUT, but it might be easier sometimes to just use a simple way of setting it);
    • Options INPUT_THRESHOLD_LOWER_INC and INPUT_THRESHOLD_UPPER_INC using less-or-equal or greater-or-equal check;
    • New SEATBELT input (free camera with hidden driver for now);
  • SSLR works better with semi-transparent objects (not as bad as before) like semi-trasparent puddles with new water shader;
  • Adaptive shadow boundaries now should shift closer if something is very close to camera;
  • New digital screen shader acting like overlay for existing meshes;
  • Option for terrain casting shadows: will cast shadows as double-sided when sun is low;
  • Option for disabling track cameras LOD distance multiplier, enabled by default;
  • Option for filling missing textures in SHADER_REPLACEMENT_...;
  • Option to disable side culling;
  • Water shader: option to use alpha-channel from txNormal;
  • Default frequency for blinking emissives changed to 2.2 Hz (apart from turning lights);
  • New car paints got damages and dirt back;
  • Mesh filters in cars: filter by LOD;
  • New options for car lights:
    • OFFSET and OFF_OFFSET, three numbers, for fine-tuning position without reassigning guessed value;
    • ONESIDED, either LEFT or RIGHT: same as setting MIRROR=0 and POSITION=X, …, where X was old MIRROR value, but guessing-friendly;
    • PREFER_FRONT, for position guessing (if mesh was split in two bits, front and rear) or picking custom emissive properly;
  • Option to add extra sharpness to local reflections for certain materials or meshes;
  • Custom analog instruments:
    • POS_OFFSET_START and POS_OFFSET_END fixed;
    • Option for scaling with SCALE_START and SCALE_END;
    • New LOWER_BOUND option;
  • A lot of various fixes and stability improvements.