Game version XYZW (1st of Month, Year)

Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Viverra suspendisse potenti nullam ac. Gravida dictum fusce ut placerat orci nulla. Amet mauris commodo quis imperdiet massa tincidunt nunc pulvinar. Eget nullam non nisi est sit amet. Ipsum dolor sit amet consectetur adipiscing elit pellentesque habitant. Netus et malesuada fames ac turpis egestas maecenas. Enim tortor at auctor urna nunc id cursus. Turpis egestas sed tempus urna et. Pellentesque id nibh tortor id aliquet lectus proin nibh. Amet mattis vulputate enim nulla. Eu turpis egestas pretium aenean pharetra. Facilisi cras fermentum odio eu feugiat pretium nibh ipsum consequat. Facilisi nullam vehicula ipsum a arcu cursus vitae congue.

With kind regards,

ABC

Balance

  • (#6665, #6743) Air staging now detaches aircraft when killed or ctrl-k’d (to work around an engine bug where aircraft get stuck inside air staging).

Features

  • (#6668) Add dependency tracking for blueprints, so that reloading a blueprint file reloads all files that edited that blueprint. This fixes a variety of issues with reloading merge blueprints.

  • (#6669) Add several utilities when modding blueprints with merge blueprints:

    • Setting a field to "__nil" in a merge blueprint removes that field from the resulting blueprint. Previously merge blueprints had no way of removing fields.
    • Add a function and table field to mod weapon blueprints: merging by label or otherwise adding the new weapon blueprint to a specified index.
    • Add a function to add categories to a blueprint, and document the old way of adding/removing categories using merge blueprints.
    • Add the function SetModBlueprintFunction which allows lua scripts to mod blueprints from hot-reloadable files instead of hooking ModBlueprints (which requires a session restart to reload).
  • (#6674) Make it easier to create chunk templates for AIs

Chunk templates is a concept that we’re toying with to see if we can help the AI build better infrastructure. With these changes we make it easier to use and understand.

  • 1) The output (a template) is now copied to the clipboard instead of to the logs.
  • 2) What is happening is now printed to screen via the global print.

  • (#6694) Fully implements in-game benchmarking in the profiler for use by developers

Bug fixes

  • (#6608) Fix text in fixed width tooltips (such as some of the tooltips in the mod manager) overflowing when UI scaling is used.

  • (#6609) Fix drones meant to rebuild unbuilt units during unit transfer not being cleaned up when rebuilding fails.

  • (#6646) Remove the chat beeps when watching a replay

  • (#6653) Close a loophole that allowed UI lua to issue attack move orders.

  • (#6654, #6721) Fix order button tooltips not disappearing when the mouse is moved off the order button.

  • (#6660) Fix mass fabs not always using overflowed energy.

  • (#6661) Fix mass fabricators not updating the mass fab panel’s numbers when they are destroyed.

  • (#6663) Fix mod manager not displaying the generic mod icon when a mod’s icon is invalid.

  • (#6664) Fix modded unit icons not being used in the cheat spawn menu.

  • (#6664) Fix errors in log when mousing over templates in the cheat spawn menu.

  • (#6676) Fix the dual yaw controller added in #6428 rotating the unit on the pitch axis.

  • (#6678) Fix being able to bypass unit restrictions in campaign (most commonly through the mex upgrading features).

  • (#6681) Don’t initialize/alter objects during module loading in construction.lua for the draggable queue option.

    Initializing/altering objects during loading of a module is a bad habit, especially if done from another module. In this case it caused an error and a game freeze if a UI mod tried to access construction.lua before the UI was created.

  • (#6682) Fix pre-allocated table declaration causing syntax errors in intellisense.

  • (#6684) Improve the search result list in the console:

    • Results are now listed alphabetically.
    • Clicking on an item doesn’t steal focus from the text input, so up/down arrows can be used to keep moving through the list.
    • The list correctly follows the focus item and wraps around if needed.
  • (#6689) Fix units being dragged in the build queue getting visually stuck when a unit moves directly behind another unit of the same type as a result of the dragging.

  • (#6692) Fix factories not immediately starting to build queued units after the factory finishes upgrading, or when a currently building land or navy unit is cancelled.

  • (#6698) Update hover cursor texture only when changed

  • (#6699) Fix being able to ctrl-k external factories.

  • (#6700) Fix an edge case where mobile build orders issued to a factory and then cancelled would cause the unbuilt unit to not get destroyed and block the factory forever.

  • (#6709) Fix hives being able to build their upgrades as a separate unit.

  • (#6714) Prevent beam weapons from missing the Volcano (Aeon TMD) while it is firing. Also increase its hitbox size to match the firing animation.

  • (#6723) Fix Seraphim T1 transport attempting to load more T3 units than it has slots with the “load into transports” command.

  • (#6729) Fix 2nd formation (hold RMB + left click) for strategic bombers. The formation itself is more wider than default one, so it’s easier to attack a target protected by SAMs and other AoE AAs.

  • (#6731) Fix blueprint loading crash when a unit has nil for its death animation. This fixes DDDX’s “Survival Mayhem&BO balance” mod crashing the game on start.

  • (#6723) Fix Cybran ACU to use correct muzzle bone for enhancement effects.

  • (#6735) Add filter to AI Engineer Manager to stop non engineers being assigned engineer task loop functions. Added filter to stop engineering stations being included in engineer tables of the AI Engineer Manager.
  • (#6608) Fix error in pr 6735

Graphics

  • (#6683 and #6704) Rework and improve the newly added terrain shaders.

The actual changes are pretty technical, but if you are a mapper you can find an in-depth explanation on how to use the new shaders here: https://wiki.faforever.com/en/Development/Shaders/terrain-shaders

AI

  • (#6635) Enable counterintel by default for units created by AIs. This includes Cybran aircraft stealth, Cybran land scout’s cloak, and UEF strategic bomber’s jamming.

Performance

  • (#6666) Remove duplicated closures in controls.

Other changes

  • (#6587) Improve annotations for unit-specific blueprint fields.

  • (#6652) Annotate “ping” and “buildanchored” command modes.

  • (#6662) Improve the detail of the error message when weapon turret setup fails.

  • (#6679) Resolve circular dependency of WorldView and CommandMode.

  • (#6680) Annotate code related to the SetWeaponPriorites sim callback.

  • (#6682) Add intellisense support for hooking files that are from the repository.

    The simplest way to use it is to copy the setting "Lua.runtime.plugin": ".vscode/fa-plugin.lua", into your workspace settings and the file fa-plugin.lua into your .vscode folder.

  • (#6703) Update annotation for IsObserver().

  • (#6736) Add a separate staging area for deployments

Through the staging area it becomes more convenient to test experimental changes without the necessity to first merge them into the develop branch. As an example, you can now force push a pull request onto the staging area and then proceed with deploying the staging area.

  • (#6741) Extract the camera indicator functionality into a separate class

This makes it more convenient to maintain. Other features can now also use this to indicate the location of other events.

Contributors

With thanks to the following people who contributed through coding:

With thanks to the following people who contributed through binary patches:

With thanks to the following individuals who contributed through model, texture, and effect changes:

And, last but certainly not least - with thanks to those that took part in constructive discussions: