mirror of
https://github.com/spencershepard/RotorOps.git
synced 2025-11-10 15:45:30 +00:00
* updated requirements.txt according to GRIMM's instructions * added launch configuration and build tasks for VS Code * updated build scripts and documentation
113 lines
3.5 KiB
Markdown
113 lines
3.5 KiB
Markdown
# Install a development environment
|
|
|
|
## Install VSCode
|
|
|
|
Download and install VSCode: https://code.visualstudio.com/
|
|
|
|
VS Code is a free, open source, cross-platform code editor. It is a great tool for editing and debugging python code. It also has a built-in terminal that can be used to run commands.
|
|
## Install python
|
|
|
|
If using VSCode, you can install the Python extension to get started: [VS Marketplace Link](https://marketplace.visualstudio.com/items?itemName=ms-python.python)
|
|
|
|
If not, you may need to install python 3.8.5. If you are using Windows, you can download it here: https://www.python.org/downloads/release/python-385/
|
|
|
|
## Create a python virtual environment
|
|
|
|
If using VSCode, you can use the ">Python: create environment" command.
|
|
|
|
If not, run the following command in the root of the project: `python -m venv .\Generator\venv`
|
|
|
|
## Install python dependencies
|
|
|
|
If using VSCode, you can use the ">Run task: " command and choose the "Install the Python requirements" task.
|
|
|
|
If not, type `install-requirements.bat` in a terminal.
|
|
|
|
## Build the mission generator
|
|
|
|
If using VSCode, you can use the ">Run task: " command and choose the "Build the Mission Generator" task.
|
|
|
|
If not, type `build.bat` in a terminal.
|
|
|
|
## Run the mission generator
|
|
|
|
Using VS Code, you can use the provided launch configuration to run the mission generator.
|
|
|
|
Otherwise, you can run the following command in a terminal: `python .\Generator\MissionGenerator.py`
|
|
|
|
# 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
|
|
|
|
1) Add new files to /updates folder
|
|
2) 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\
|
|
}
|
|
|
|
3) 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
|
|
1) Add new folder to remote directory, ie modules/forces
|
|
2) Trigger an update to templates by incrementing version in it's .yaml config file
|
|
3) Run server/user-files/modules/mapscript.py
|
|
|
|
|
|
|