Skip to content

Development guide

Vasyl Horbachenko edited this page Sep 12, 2018 · 12 revisions

Development

Notice

Code is written pretty badly and poorly documented, so, sorry for that in advance.

How to:

  1. Clone the repository
  2. Fetch submodules
  3. Verify directory links:
  4. ./dcs should point to ./submodules/dcs
  5. ./resources/tools/dcs should point to ./submodules/dcs
  6. Copy DCS loadout files from release bundle ./resources/payloads (originally they were scattered around DCS folder)

And, finally, to actually run application from source files, you would need to execute __init__.py and provide two arguments: User profile directory location (usually %UserProfile%) and application version (for the logs and save compatibility check) and --stdout (so that debug output would go into console).

Supported arguments:

  • --stdout - console output, no exception handler
  • --force-stable-DCS - force using DCS instead of DCS.openbeta
  • --ignore-save - don't load saved game on startup

Tools in resources/tools:

  • generate_goundobjectsmap.py - will generate enemy ground assets map from cau|gulf_groundobjects.miz and 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.
  • generate_landmap.py - will generate landmap polygons from cau|gulf_terrain.miz and 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 generate loadout_check.miz mission, 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 lua mission files (from .miz files).
  • mkrelease.py - zip up everything into release bundle. Contrary to other tools must be run from the root directory

Other resources files:

  • default_options.lua - default options file for missions

Ground object (strike targets) placement guide

Strike targets (both ground assets and AA) are placed in resources/tools/cau|gulf_groundobjects.miz. They are combined into groups of the same type.

AA

Any AA unit that will be placed on red side will work as AA placement location. Type doesn't matter, since it would be replaced with appropriate type on mission generation.

Ground assets

Ground assets are placed as static objects, preserving position and heading. Units of the same category will group into single strike objective, if they're no more than 2000 meters apart.

Clone this wiki locally