Better Bravo Lights
This is the 'Better Bravo Lights' tool. It replaces the standard Honeycomb Bravo lights utility with a program which is easier to configure, more flexible and more responsive.
If you want to use Better Bravo Lights, all the documentation is available at the Better Bravo Lights wiki:
https://github.com/RoystonS/BetterBravoLights/wiki
If you want to work on the Better Bravo Lights code, read on:
Developer Documentation
If you'd like to work on the code, here's how to get going with it:
- Install Visual Studio Community 2019 with C++ and C# support.
git clone
the codebase.
- Install the MSFS SDK.
- Open the
.sln
file.
- Build the project.
- Run
BravoLights
.
- Run the unit tests in
BravoLights.Tests
. The tests are mostly for configuration parsing and expression parsing.
No unit tests cover simulator interactions yet.
To work on the WASM module, build as above, but also:
- Enter Dev mode in MSFS.
- In the Dev mode File menu, open up the
MSFSWASMProject/BetterBravoLightsLVars.xml
project.
- In the Project Editor window, click 'Build All'. This will assemble the WASM module (locking up MSFS for 10-15 seconds) and inject it into MSFS.
- Develop the BetterBravoLights app against the injected WASM module.
- To iterate with WASM changes, build the project and click 'Build All' again. That'll update the WASM module in MSFS.
To work on installation/uninstallation you'll need a copy of the assembled WASM module in the BravoLights Debug
directory:
- Run
assemble-wasm-for-ide.cmd
to assemble the WASM module (note: it uses whichever was last built out of Debug or Release WASM build)
and copy it to the IDE output directories.
Releasing
- Change the version number on the main BravoLights assembly as desired. Follow https://semver.org/ versioning.
- If the WASM protocol has changed, change the WASM module version in MSFSWASMProject\PackageDefinitions\better-bravo-lights-lvar-module.xml.
- Using PowerShell, run
build-and-publish.ps1
from the root directory. It will build the projects, assemble the WASM module and package
it all together into a BetterBravoLights.zip
file in the root directory, ready for release.
- Test that .zip.
- Commit and tag the code in Git, and push it.
- Create a release in GitHub against that tag, and upload
BetterBravoLights.zip
to it, with an appropriate changelog.
- Upload the new
.zip
to flightsim.to
with the new changelog.
Manual Testing
Test with a non-installed BBL
- Start BBL
- Check tray tooltip + A: + L: variable descriptions; should indicate no connection
- Start MSFS
- When connected, all should update to show connection
- Missing LVars should report as not present yet
- Test an aircraft with no/few LVars, e.g. C172
- Check that lights go out in main menu
- Launch TBM
- Check new LVars are detected and work
- Launch Hawk
- Check new LVars
- Stop sim
- Check variables report no connection