For users: -Added KA-50 III and AV8BNA Harrier to slot selection -Changed message in mission generated success dialog -Zone protect SAMs now part of 'Advanced Defenses' feature -Late activated friendly/enemy CAP units are placed in mission as a template for Deployed CAP fighters (ie will not be active unless using Advanced Defenses or 'DEPLOY_FIGHTERS' name for radar ground unit) -improve idle troop behavior at bases/FARPs For Mission creators: -Updated pydcs library supports new units such as technicals -Updated pydcs library supports Falklands map -allow troop pickup from HELO_CARRIER -enemy units with radar can be designated to deploy intercept fighters on detection (see RotorOps.fighter options in RotorOps.lua for details) with options for min detection altitude and distance (min detection altitude allows helis to fly 'under the radar') -Insert RotorOpsServer.lua script and trigger actions if option set in scenario config: rotorops_server: true -scenario template triggers should now be 'untouched' after mission generation, allowing previously unsupported triggers and actions to be used, along with color coding -block adding player helicopters if slots locked in scenario config -Added RotorOps.draw_conflict_zones setting to give users the ability to disable or enable displaying of zones on the map. -allow disabling spinboxes in scenario config -mission ends 10 mins after mission success/fail -copy helicopter start type from templates Internal: -github actions workflow to automatically deploy to update server -Startup version check will ignore micro version -bypassing triggers and merging before save (to preserve unsupported triggers in pydcs). Our goal is to leave the trigrules and trig from the source mission untouched -if using random weather, set ice halo to auto and crystals to none -dont put planes at airports without ILS (to avoid putting planes at helicopter airports ie. Syria) -improved guardPosition task -refactored 'coalition' variables to 'coal' to help prevent introducing errors in RotorOps.lua
2.0 KiB
Building the exe with build.bat
Use build.bat to compile the UI files and build the exe. The steps are provided below for reference:
build UI files
pyuic5 -x MissionGeneratorUI.ui -o MissionGeneratorUI.py
build resources
pyrcc5 -o resources.py resources.qrc
build exe
pyinstaller MissionGenerator.spec --distpath ..\ -i='assets\icon.ico'
Adding update to auto-installer
Merging into the main branch now triggers a deployment action that automatically performs the actions below when significant files are changed (defined in '.change-monitored').
Significant files moved/deleted are not supported and may cause issues with the deployment script
Version must be incremented in version.py. Only maj/min version is compared at app startup, so changes to supporting files can be made by incrementing the patch version.
Files currently live at https://dcs-helicopters.com/app-updates
- Add new files to /updates folder
- Update updatescript.ini:
example:
releases{
1.1.1
1.1.2
1.2.0
}
release:1.1.1{
}
release:1.1.2{
DownloadFile:MissionGenerator.exe
}
release:1.2.0{
DownloadFile:MissionGenerator.exe
DownloadFile:RotorOps.lua,scripts\
DownloadFile:Splash_Damage_2_0.lua,scripts\
}
- Update versioncheck.yaml
example: --- title: "Update Available" description: "UPDATE AVAILABLE: Please run the included updater utility (RotorOps_updater.exe) to get the latest version." version: "1.2.0"
Building new RotorOps_setup.exe installer package
Uses https://installforge.net/ See install-config.ifp and installforge_constants.txt
Adding/updating downloadable modules
** Templates now live in their own repo and there is a deployment action to automatically perform the steps below **
Currently lives at https://dcs-helicopters.com/modules
- Add new folder to remote directory, ie modules/forces
- Trigger an update to templates by incrementing version in it's .yaml config file
- Run server/user-files/modules/mapscript.py