Creating a DCS Interface Example Method - HeliosVirtualCockpit/Helios GitHub Wiki
Interface Creation
Creation of new DCS Interfaces for Helios can be done in many ways. Programmatically, the DCS Harmony project from Derammo is a nice approach, however it relies on DCSBios interface definitions.
Creating a DCS Interface By Hand (Current BlueFin method).
- New Helios branch for the work
- Decide whether this interface will be a permanent addition to Helios along with other Toolbox items for the aircraft (in which case it should be placed into its own project, or whether it will be temporary just to create the Style 3 (JSON / Soft) interface.
- Create a new style 1 interface in the Helios project for the new vehicle.
- Parse the Clickables, MainPanel, Devices, and Commands files from the vehicle in question to pull out the needed data, and create c# AddFunction calls to be placed into the Style 1 interface.
- Manual "adjustments" to the AddFunctions to fix calibrations, and other issues which will certainly exist.
- Make sure Helios compiles cleanly, and the output is checked to ensure that there are no duplicate arguments
- Change the Profile Explorer project properties to pass in the
-g
option to generate the Style 3 (JSON / Soft) interface. - If this interface is not going to live permanently in Helios, then change to something like
"source": "User", "version": "1.6.6120.0000", "commit": "", "type": "DCS", "name": "DCS OH-6A Cayuse (Community Mod)", "module": "OH-6A", "vehicles": [ "OH-6A" ],
- Change the file name to be
DCS.
fromHelios.
- Remove the
-g
from Profile Editor project's properties - Contribute the Style 2 / Style 3 interface to the HeliosInterfaces project, and add the new file(s) to the InterfaceFiles project in the Helios solution.
More information about parsing the DCS files for a module can be found here.