GAUGE AIRCRAFT

The GaugeAircraft aircraft is a preset of the WASMAircraft modular aircraft, which shows how to create C++ gauges for a plane in Microsoft Flight Simulator 2024 using the Gauge API. Once the WASM Aircraft package has been built, this module will be available for flying from the aircraft selection screen:

Selecting The Gauge Aircraft In The Simulation

 

The WasmModules.sln file (found in the Sources folder of the project) will allow you to compile the source-code with Microsoft Visual Studio (2019 or 2022) in order to create the GaugeModule.wasm WebAssembly module which will then be loaded by the game. Once compiled, the module will automatically be copied into the following folder

[ROOT]\PackageSources\SimObjects\Airplanes\MyCompany_Wasm_Aircraft\presets\mycompany\GaugeAircraft\panel

 

In order for the aircraft to use the WASM gauges defined in the module, they have to be declared in the panel.cfg file found in the same folder. This file will have the following information to set up the gauges:

[VCockpit01]
size_mm=1024,768
pixel_size=1024,768
texture=SCREEN_1
background_color=0,0,255
htmlgauge00=WasmInstrument/WasmInstrument.html?wasm_module=GaugeModule.wasm&wasm_gauge=Compass, 0,0,1024,768
 
[VCockpit02]
size_mm=1024,768
pixel_size=1024,768
texture=SCREEN_2
background_color=0,255,0
htmlgauge00=WasmInstrument/WasmInstrument.html?wasm_module=GaugeModule.wasm&wasm_gauge=Attitude, 0,0,1024,768
 
[Vcockpit03]
size_mm=1024,768
pixel_size=1024,768
texture=SCREEN_3
background_color=255,0,0
htmlgauge00=WasmInstrument/WasmInstrument.html?wasm_module=GaugeModule.wasm&wasm_gauge=Demo, 0,0,1024,768

 

As can be seen above, the gauges are referenced using the following URI scheme:

htmlgaugeNN=WasmInstrument/WasmInstrument.html?wasm_module=[MODULE].wasm&wasm_gauge=[GAUGE_NAME],[X],[Y],[WIDTH],[HEIGHT]

 

Note that if you make changes to the C++ code and recompile the WebAssembly module, you will have to build the modular aircraft package again. This can be done while the plane is used within the simulation.

 

 

Testing

Once you have built the aircraft and selected it, you can go into a Free Flight and you will see three panels in the cockpit:

The Screens Added To The Gauge Aircraft

 

Each of the gauges shown corresponds to the following source code files:

  • Attitude.cpp: provides an implementation of an Attitude gauge.
    The Attitude Gauge In The Simulation

 

  • Compass.cpp: provides an implementation of a Compass gauge.
    The Compass Gauge In The Simulation

 

  • Demo.cpp: provides a basic demo using the NanoVG graphics API to show how it can be implemented in your gauges (see here for more information on NanoVG).
    The Demo Gauge In The Simulation