We’re 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.
General
- 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.
- “Follow waypoints”, and “Wait on circle” behaviors, now have an option to keep the platform’s current altitude, turning the behavior into a 2D version (keep current altitude while following the trajectory, and keep 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 Detections 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 version of DirectCGF.
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 properties of the Triggers 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.
Distribution
- In the Distribution > Connexion settings, the network selected name is now displayed, and the IP is automatically updated to match the network’s mask.
The properties have been renamed for more clarity.
Interoperability
- 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 wasn’t 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.
SDK
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