Skip to content
Dan Albert edited this page May 11, 2021 · 37 revisions

Welcome to the dev guide !

Technical sum up

DCS Liberation is coded in Python, with QT5 as UI framework. It uses pyDCS to generate DCS World missions.

Before contributing to DCS Liberation, you should also maybe consider contributing to PyDCS, this is a great way to contribute indirectly to the project.

Project history

DCS Liberation was a project started in 2018 by shdwp, original repo is still available here : https://github.com/shdwp/dcs_liberation

The original UI was different, and the mission generation process was different as well from version 2.0+

Required tools

When you install Python, make sure to install pip for dependencies management. This should come preinstalled.

Checkout the repository code with git

Branches

  • master : Should be even with current release version
  • develop : Current version being worked on, might be unstable

Creating a Python virtual environment

A Python virtual environment (virtualenv) is a local copy of the Python distribution for a specific project. This allows you to install the project dependencies local to the environment rather than globally on your system, which makes it easier to reset your environment if something goes wrong.

To create and use a virtualenv, run:

python -m venv env
.\env\Scripts\activate
pip install -r requirements.txt
pre-commit install

The first line creates the virtualenv to the directory env. The second line replaces the python for the current shell with the one in the virtualenv. The third line installs the project's dependencies. The final line installs the pre-commit hooks to run the auto-formatter on commit.

Whenever you open a new terminal, you'll need to re-run .\env\Scripts\activate.

If you're using PyCharm, you can configure the project to use your virtualenv in the project settings: virtualenv project settings.

Running from sources

You can run DCS Liberation from source with this configuration: (Adapt it to your env)

Making a release

https://github.com/Khopa/dcs_liberation/wiki/Release-process

Pull requests

Please make a new branch from either develop or master, and make your pull requests to khopa/develop.

Clone this wiki locally