-
Notifications
You must be signed in to change notification settings - Fork 15
Development guide
wrycu edited this page Jul 11, 2019
·
12 revisions
Code is written pretty badly and poorly documented, so, sorry for that in advance.
develop branch is used for development and pre-releases, usually when Release Candidate works well I merge the develop back into master and push out Release build.
- Clone the repository
- Fetch submodules
- Verify directory links:
-
./dcsshould point to./submodules/dcs -
./resources/tools/dcsshould point to./submodules/dcs - Copy DCS loadout files from release bundle
./resources/payloads(originally they were scattered around DCS folder) - Check out
developbranch.
And, finally, to actually run application from source files, you would need to execute __init__.py and provide a few arguments: User profile "Saved Games" directory location (usually %UserProfile%\Saved Games), application version (for the logs and save compatibility check, just use dev for development) and --stdout (so that debug output would go into console).
- You need pyinstaller.exe in the
$PATHformkrelease.py(inresources/tools) to work.
Run mkrelease.py from the root folder, it will prompt you for version number, and package up everything into zip file under ./build folder.
- Saved Games path. Usually
%UserProfile%\Saved Games - Version string. For the development use
dev
-
--stdout- console output, no exception handler -
--force-stable-DCS- force usingDCSinstead ofDCS.openbeta -
--ignore-save- don't load saved game on startup
-
generate_landmap.py- will generate landmap polygons fromcau|gulf_terrain.mizand save them to `../cau|gulflandmap.p". Polygons are constructed from USA units in the mission files, first being a overall landmap, and others are exclusion zones (like lakes and whatnot). Used to determine units placement (so ground vehicles won't end up in a sea or lake) -
generate_loadout_check.py- will generateloadout_check.mizmission, which would contain all supported planes in all possible configurations. Used to verify that each plane have correct ordinance -
miz_diff.py- debugging tool to compare two luamissionfiles (from.mizfiles). -
generate_goundobjectsmap.py- will generate enemy ground assets map fromcau|gulf_groundobjects.mizand save them to../cau|gulf_groundobjects.p. Those static groups and AA units are used to populate the territory with enemy infrastructure and as a targets in strike type of missions. Only a handful of statics are supported. Contrary to other tools must be run from the root directory -
mkrelease.py- zip up everything into release bundle. Contrary to other tools must be run from the root directory
-
default_options.lua- defaultoptionsfile for missions.