/dcs-api

Digital Combat Simulator API information

Primary LanguagePythonMIT LicenseMIT

dcs-api - Digital Combat Simulator API information

This project primarily documents information on how to integrate with Digital Combat Simulator. This information may be useful, for example, if you want to integrate DCS with a physical cockpit or add your own extensions or mods to DCS. It seems there is no official API/programmers guide and bits and pieces of information is spread over the Eagle Dynmamics Forums and the Internet. Here some of that information is collected and duplicated.

Good starting points are to read Scripts\Export.lua and API\DCS_ControlAPI.html in the DCS installation folder.

Information about devices, commands and gagues are in the aircraft folder.

Tools

Some tools are included to extact information from the DCS folders. I run the tools from Ubuntu in Windows.

getgauges

This is extracts the gauges and prints them out as a JSON file. Run the tool as:

getgagues /mnt/c/Program\ Files/Eagle\ Dynamics/DCS\ World/Mods/aircraft/Ka-50/Cockpit/Scripts/mainpanel_init.lua > ../aircraft/Ka-50/gauges.json

Replace "Ka-50" with the module you want.

getdevices.lua

This gets the devices as a compact JSON file. You might want to pretty print the JSON file. For example, run it like this:

lua getdevices.lua Ka-50 | json_pp > ../aircraft/Ka-50/devices.json

The script assumes your installation is the folder "C:\Program Files\Eagle Dynamics\DCS World".

getcommands:lua

This gets the commands as a compact JSON file. You might want to pretty print this as well. For example:

lua getcommands.lua Ka-50 | json_pp > ../aircraft/Ka-50/commands.json

Unfortunatley some aircraft has very generic names such as "Button_1".