Version 2.4 has been released!

We are happy to announce that a new version of DirectCGF has just been released.

DirectCGF version 2.4 adds a lot of new 3D models of platforms to the library, as well as plenty of quality-of-life enhancements and bug fixes.


  • New setup solution, displaying the pre-requisites and offering to install them.

    The setup can be run in user-role, unless installing pre-requisites in which case admin-role is needed.

  • Adding a button in the Weapon system controller window to allow a Shoot on position with each weapon in Player Mode.

  • Adding new platforms and their 3D assets to the default “Platforms” library.
  • - Adding the navaids export in .xml file in the Toolbox window, in Designer mode.
  • The weapon’s damage curve extrapolation method has been reworked to use the same logic for Area and Point weapon models:
    • Both apply 0% damage beyond the last key entered. For instance, 0m,100%; 200m,50% => beyond 200m, the damage curve outputs 0% in any case.
    • This rework goes together with other changes to the detonations in Interoperability mode (see below).

Visual Programming

  • The Visual Programming tab is now displayed in the Player mode, in read-only.
  • The Visual Programming working (grey) area has been vastly increased, allowing working on much bigger graphs.
  • Visual Programming components can no longer be placed mistakenly outside of the grey area.
  • New behavior added: “Fire in direction”.

    The platform shoots with the chosen weapon towards a given bearing and site relative to the platform’s current orientation, until the ammunition reaches its maximum range.

    Only weapons with a limited maximum range can use this behavior.

  • “Hold on racetrack” and “Wait on circle” behaviors, now have an option to keep the platform’s current altitude, turning the behavior into a 2D version.

    The platform keeps current altitude while following the trajectory and keeps altitude while waiting on circle.

  • Fixing the Flip Flop operator’s initialization value and resetting on Stop.

    It now correctly takes A as a default input, after every restart.

  • The Detection triggers can now be used without specifying a sensor, allowing any of the platform’s sensors to trigger it.
  • The Detection triggers now have an option to specify whether they are to only be triggered on a New detection event, or by every detection whatever their history.

    This allows building scenarios where only new detections trigger a unique reaction.

  • Adding a new Behavior to a platform “Reload ammunitions”. The new Behavior reloads all its weapon.

    This Behavior can be used in the Visual Proramming but no in the Behavior Sequencer. This will be addressed in a later DirectCGF version.

Platform Architect

  • Creating or copying a platform immediately displays it in the platform list.
  • Proxy Detectors can no longer be added on platforms, except on Proxy platforms, preventing several unintended situations leading to errors.
  • Fixing a bug occurring when removing several models at once.

    The removal now works as intended.

User Interfaces

  • Renaming the Trigger properties for more clarity and adding tooltips to them.
  • Adjusting the Execution controller height so that Manual Triggers are not truncated by default.
  • Displaying the name of the Tactical data associated with behaviors using them.

    For example, following waypoints displays the name of the Trajectory data followed, next to the Trajectory picker component.

  • “Air platforms speed physical quantities” settings clarification:
    • Fixing the “Use default formula” checkbox when unchecked and adding a tooltip to explain the feature.
    • Renaming the physical quantities.
    • Displaying the physical unit used in Designer and Player.
    • Using the “Linear speed” unit defined in the settings.
  • The default number of turns of “Hold on racetrack” and “Waiting on circle” behaviors is now infinite, rather than 2 turns.


  • In the Distribution > Connexion settings, the selected network name is now displayed, and the IP is automatically updated to match the network’s mask.

    The properties have been renamed for more clarity.


  • Upgrading to Pitch Developer Studio 6.2, now handling the LVC Indicator of the PDU Status, and the TEI flag of the PDU Entity State.
  • Reworked the application of Detonation received in DIS and HLA. This greatly helps apply damage to moving targets in Interoperability.
    • Now using Entity’s local coordinates whenever a target entity ID is provided, rather than the World location coordinates.
    • Applying all of the ammunition’s damage models whatever the Warhead type received, for simplicity of use, but filtering Detonation with identical Event ID.
  • Fixing DIS Ownership that was not working on Cultural Features.

Bug Fixing

  • Fixing the initial speed of platforms created in Player to the “initial speed” value instead of the minimum speed.
  • Fixing the display of spider web’s range values when using Nautic Miles.
  • Fixing the unit conversions and display of the Range-Bearing tool.
  • Various fixes to the Range-Bearing tool: not displaying a delta altitude between a Bull’s eye and a platform, since a Bull’s eye doesn’t have an altitude.
  • Fixing a crash occurring when creating a new project while having a Range-Bearing tool being used.
  • Fixing a bug preventing from Reviving a platform that has empty joints (joints without a weapon attached).
  • Fixing a bug preventing to position Proxy platforms on water.
  • Fixing a bug preventing to shoot on position when only 1 platform is present in the scenario.
  • Fixing a bug preventing weapon platforms fired by a Launcher model to be displayed in the Layer manager.
  • The launch of DirectCGF was getting slow down by the number of BUG report folders present in the ./Resources/Support/ directory.

    This is no longer the case.


Changes made to the weapon systems for the detonations in Interoperability have had impacts on the SDK interfaces:
  • Model interface “IAreaWeapon” in assembly “DirectCGF.Simulation”.
    • Modification of the prototype of the delegate “DetonationDelegate”: added a new “pRelativePosition” argument.
    • Added a new “TargetPlatform” property and an action method allowing modifying “SetTargetPlatform”.
  • Service interface “ISimulationDamageService” in assembly “DirectCGF.Simulation” and “IDamageServiceRuntime” in assembly “DirectCGF.Applications.Simulation”.
    • “DirectDamage” method is Obsolete and can be replaced by “PointDamage” method.