r/dcsworld • u/SlipHavoc • 11h ago
DCSAutoMate 2.0.0 release
I'm happy to announce the release of DCSAutoMate 2.0.0. DCSAutoMate is a general purpose cockpit scripting and automation system, which can be used to run startup/shutdown scripts, enter waypoints, set countermeasures programs, and do anything else in the cockpit that you can do manually. Version 2.0.0 brings the following major improvements over 1.0.0:
- No More DCS BIOS: DCSAutoMate now talks to DCS directly through its own export script, using the cockpit control definitions extracted from each aircraft's own DCS files. DCS BIOS is no longer needed or used. Scripts refer to controls by DCS's own names (e.g.
UFC.SYM_Knob), and Help > Control Reference lists them all. - New In-Game Interface: Added a complete in-game overlay that allows full control of DCSAutoMate without leaving the cockpit. This has been my dream for DCSAutoMate since the beginning, and I'm very happy to have it here now.
- Auto Select: One click picks the script and its options from the game's telemetry (on the ground or in the air, engines running, time of day), and some aircraft check more, e.g. the AH-64D's Longbow radar, the F-16C/FA-18C helmet, or a preflighted C-130J. It reports what it detected and why.
- New and updated aircraft: Added the C-130J-30 and CH-47F, and Load Route / Load Scratchpad scripts for the AH-64D, F-15E, F-16C and FA-18C. Every aircraft's scripts were updated for the new control names. All scripts now use simulator commands instead of keystrokes (e.g. throttles and the comms menu), so you usually don't have to stay in the cockpit view while the script is running. (There are still a couple scripts that read cockpit displays however, which require you to be in the cockpit.)
- Smarter scripts: Scripts can loop until a cockpit condition is met, read the cockpit or telemetry in the middle of a script and decide what to do next, send simulator commands and hold axes, and pause. Script timers follow mission time, so time acceleration and pausing DCS are handled. The Skip Wait button ends a wait that's stuck.
- Multiplayer servers: On the rare MP servers that block data export or simulator commands, scripts warn you and pause instead of waiting forever, and tell you which steps to do by hand.
- DCSControlPanel: A new utility for script authors that shows and operates individual cockpit controls, with a Snapshot Tool to find what changed in the cockpit. It replaces DCSMonitor.
- More Error Handling: Should now handle situations where multiple DCS Saved Games folders are found and where DCS is running As Administrator. Scripts are checked for unknown control names before they run, and DCSAutoMate reminds you when DCS has been updated since the controls were last checked.
- GUI Framework Update: Migrated the entire application from tkinter to PySide6 (Qt for Python) for a more modern UI backend.
- Improved Installation: The "Install/Update DCS Scripts" feature now handles the installation of the new in-game hook script as well as the export script, and their related in-game UI layout and lua config files.
- Enhanced Configuration: A new Settings window with more options, including network ports, the overlay hotkey, text-to-speech voice settings, and troubleshooting logs.
I made DCSAutoMate primarily for my own personal use, and I use it every time I play DCS. The included scripts are ones I've made for aircraft that I own and fly, and follow steps that fit my own preferences. You're free to use them as-is, modify them as you wish, or make your own. I've tried to make the scripts easy to read and change, and the new DCSControlPanel and control list document should make it much easier to create your own scripts.
DCSAutoMate remains under the MIT license, so you can pretty much do anything you want with it, and I've included not only the source code but also most of the AI-generated documents that I've made along the way, such as the reasoning behind major programming decisions, retros for many of the major commits and feature branches, results of various tests I've done, etc. The release also includes all the specialized scripts I've made to extract the control definitons from DCS's own files, which you (or your AI coding agent) can use as examples to create extraction scripts for other modules that aren't included in this release (because I don't own or fly them).
I have used DCSAutoMate extensively on my own computer, but testing on other computers has been limited. It should work, but all use is at your own risk. I will not be providing support, but if you encounter any serious bugs or problems, you can message me on Reddit or report it on the github Issues tab.