1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
//! # msfs-rs
//!
//! These bindings include:
//!
//! - MSFS Gauge API
//! - SimConnect API
//! - NanoVG API
//! - Networking API
//! - Communication Bus API
//!
//! ## Building
//!
//! Tools such as `cargo-wasi` may not work. When in doubt, try invoking
//! `cargo build --target wasm32-wasi` directly.
//!
//! If your MSFS SDK is not installed to `C:\MSFS SDK` you will need to set the
//! `MSFS_SDK` env variable to the correct path.
//!
//! ## Known Issues and Work-Arounds
//!
//! ### Missing various exports
//! Add a local `.cargo/config.toml` file with the following settings:
//! ```toml
//! [target.wasm32-wasi]
//! rustflags = [
//!   "-Clink-arg=--export-table",
//!   "-Clink-arg=--export=malloc",
//!   "-Clink-arg=--export=free",
//! ]
//! ```

mod msfs;
pub mod sim_connect;
pub mod sys;

pub use msfs::*;

#[cfg(any(target_arch = "wasm32", doc))]
pub mod legacy;

#[cfg(any(target_arch = "wasm32", doc))]
pub mod nvg;

#[cfg(any(target_arch = "wasm32", doc))]
pub mod network;

#[cfg(any(target_arch = "wasm32", doc))]
pub mod commbus;

#[doc(hidden)]
pub mod executor;