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.
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".