89 lines
3.5 KiB
Markdown
89 lines
3.5 KiB
Markdown
# Visualisation for MARSH
|
|
|
|
This is a visualisation module for [Modular Architecture for Reconfigurable Simulation of Helicopters](https://marsh-sim.github.io/).
|
|
The project is configured to display cockpit instruments with [lidia](https://pypi.org/project/lidia) Python package.
|
|
|
|
Named in this order so not everything starts with the same word.
|
|
|
|
## Development
|
|
|
|
The asset files like textures and models are very big, so the project also uses [Git Large File Storage](https://git-lfs.com/).
|
|
Once installed, it should work correctly with usual `git` commands but you may need to run this if you install it after cloning the repository:
|
|
|
|
```sh
|
|
git lfs pull
|
|
```
|
|
|
|
This repository uses [Git Submodules](https://git-scm.com/book/en/v2/Git-Tools-Submodules), to get all the code you need to run either:
|
|
|
|
```sh
|
|
git clone --recurse-submodules <address of this repository>
|
|
# Or at any later point
|
|
git submodule update --init --recursive
|
|
```
|
|
|
|
Using Godot v4.4.
|
|
Install SCons with `pipx install scons`.
|
|
You will need a C++ compiler, you might have one already on Linux, see below for Windows, otherwise in [Godot documentation](https://docs.godotengine.org/en/stable/contributing/development/compiling/index.html).
|
|
|
|
For updating MAVLink generator, you additionally `pip install future`.
|
|
It is recommended to install any packages in a [virtual environment](https://docs.python.org/3/library/venv.html), for example:
|
|
|
|
```sh
|
|
python3 -m venv venv
|
|
source venv/bin/activate
|
|
pip install future
|
|
```
|
|
|
|
Some files are generated, run the following commands on first setup and when dependencies change:
|
|
|
|
```sh
|
|
godot --dump-extension-api # after updating Godot
|
|
python update_mavlink.py # after updating MAVLink dialect
|
|
python update_addons.py # after changing any addon submodules
|
|
scons compile_commands # after modifying SConstruct
|
|
cd project/addons/gdcef; python build.py
|
|
```
|
|
|
|
### Windows setup
|
|
|
|
The most convenient way of getting a C++ compiler is via the LLVM-MinGW project (by the way, it optimizes the binary more).
|
|
Download the `llvm-mingw-...-msvcrt-x86_64.zip` from the [Releases page](https://github.com/mstorsjo/llvm-mingw/releases).
|
|
Unzip the archive to some location you like, and add its `bin` folder to `Path` using the "Edit environment variables for your account" program.
|
|
|
|
### Build
|
|
|
|
To build the GDExtension binary run SCons in the repository root, the default arguments have been added to the file.
|
|
|
|
```sh
|
|
scons
|
|
```
|
|
|
|
When building for Windows with MinGW-LLVM, you need to [select this compiler](https://docs.godotengine.org/en/stable/contributing/development/compiling/compiling_for_windows.html#selecting-a-compiler):
|
|
|
|
```powershell
|
|
scons platform=windows use_mingw=yes use_llvm=yes
|
|
```
|
|
|
|
## Roadmap
|
|
|
|
- Try to have some acceptable setup for Varjo even without the tracker
|
|
- Rework the fly area
|
|
- Make it bigger
|
|
- Keep it square to avoid assymetric geometry
|
|
- Don't use the flat plane, just flatten the terrain
|
|
- Make the terrain mostly green, but add some small patches of different color
|
|
- Fix z-figthing when looking at the runway from afar
|
|
- Reduce pixel artifacts
|
|
- Adjust antialiasing
|
|
- Ensure there are mipmaps and they're used
|
|
- Increase sense of urgency/stress when tracking the visual height cue
|
|
- Change the perspective to make the ball leave the strip for smaller error
|
|
- Time to complete the task
|
|
- Configurable length
|
|
- Some way to verify completion
|
|
- Some way to reset it
|
|
- Sound cue for desired and required timing
|
|
- Visual timing like progress bar
|
|
- Also change color
|
|
- On the vertical cue or instrument panel?
|