Skip to content
View in the app

A better way to browse. Learn more.

The AVSIM Community

A full-screen app on your home screen with push notifications, badges and more.

To install this app on iOS and iPadOS
  1. Tap the Share icon in Safari
  2. Scroll the menu and tap Add to Home Screen.
  3. Tap Add in the top-right corner.
To install this app on Android
  1. Tap the 3-dot menu (⋮) in the top-right corner of the browser.
  2. Tap Add to Home screen or Install app.
  3. Confirm by tapping Install.

Is there really an SDK limitation? Good readings.

Featured Replies

  • Commercial Member
5 hours ago, abrams_tank said:

The problem is, companies like PDMG don't want to start from scratch.

If it took five years to develop a given aircraft addon for FSX, and you can't convert/use any current code... it's going to take another five years to develop said given aircraft for FS2020.  Minimum.

There is a great deal that goes into the code behind the scenes to make what people like to call a "study-level" aircraft addon.  It's far more complex than anything currently available for FS2020.  There are entire parts of the aircraft's simulation that the core sim literally doesn't make/support/etc.  So custom code must be written.

Complex aircraft addons, such those from PMDG utilize a single DLL (.gau file) that contains all of the code to represent the aircraft's avionics and systems.  Inside that DLL (.gau file) then can share data and cross communicate with ease.  Unless there have been changes since I last looked, each gauge in FS2020 is an independent gauge that works in its own isolated "sandbox".  No cross communication, no shared data.

I won't even go into the fidelity of navigational data... especially for training fidelity.

Edited by WarpD

Ed Wilson

Mindstar Aviation
My Playland - I69

  • Replies 51
  • Views 8.1k
  • Created
  • Last Reply
10 minutes ago, ckyliu said:

I appreciate you taking the time to explain the problems a little more thoroughly; so essentially most things are possible but they have to be self-contained within the aircraft which could mean major code changes for existing products. And moving to new techniques to achieve the same results, e.g. NavoVG replacing GDI+.

I think it was security concerns as much as compatibility across platforms that drove the decision to stop use of Windows API for third party dlls and replace with WASM; there can't be many (any?) games these days that would let you execute code without restriction to modify the system registry! I also believe that with the sim evolving so much over time, it is better these things run within the sim rather than trying to externally hook-in as it makes core updates less likely to break addons.

I agree, let's not talk about GDI+ because NanoVG can replace it.

And regarding security, I have to accept what Asobo did but I still think it is useless. When you buy a software that runs as an executable, you do not worry if it is safe or not (even if it writes in the registry) as soon as it comes from a known vendor. And I never heard about any security issue caused by a gauge in FSX or P3D.

I think about another feature I used to like: keyboard hooks, that lets the user use his keyboard to enter characters in the FMC. This is not possible any more. It is just a detail but I am sure there are others...

7 hours ago, Rocky said:

And regarding security, I have to accept what Asobo did but I still think it is useless. When you buy a software that runs as an executable, you do not worry if it is safe or not (even if it writes in the registry) as soon as it comes from a known vendor. And I never heard about any security issue caused by a gauge in FSX or P3D.

 

Actually there were a lot of issues, around 2006, with unsigned dll's creating security issues in FSX.  You had to do a lot of workarounds to allow those aircraft with unsigned dll's to work properly, and it did put your system at risk.

I know I had to have a batch file that ran before and after FSX to allow the gauges to work, but then put the system back afterwards to protect the registry.

By the time we got to 2007/8 then the manufacturers were aware of it and either properly built their dll's. or more frequently, used default instruments so as to use the default dll's

Graham

System specs...   CPU AMD5950,  GPU AMD6900XT,  ROG crosshair VIII Hero motherboard, Corsair 64 gig LPX 3600 mem, Air cooling on GPU,   Kraken x pump cooling on CPU.  Samsung G7 curved 27" monitor at 2k resolution ULTRA default settings.

  • Commercial Member
21 hours ago, WarpD said:

Unless there have been changes since I last looked, each gauge in FS2020 is an independent gauge that works in its own isolated "sandbox".  No cross communication, no shared data.

Are you sure about this ? Haven't tried anything related to gauges myself but, the following example from the SDK seems to indicate the more or less work like they did before, just using the & sign instead of the dot sign to indicate a sub-gauge of a multi-gauge dll

htmlgauge00=WasmInstrument/WasmInstrument.html?wasm_module=MODULENAME.wasm&wasm_gauge=GAUGENAME,0,0,1024,768,OPTIONAL PARAMETER STRING

Also, from the SDK:

A WebAssembly module can be used by Microsoft Flight Simulator in two different ways:

  • As a standalone module if it is placed in the modules subfolder of a package - it is then automatically loaded when the package is mounted into the Virtual File System.
  • As a gauge module which can contain one more gauge callbacks.
22 hours ago, WarpD said:

Complex aircraft addons, such those from PMDG utilize a single DLL (.gau file) that contains all of the code to represent the aircraft's avionics and systems.  Inside that DLL (.gau file) then can share data and cross communicate with ease.  Unless there have been changes since I last looked, each gauge in FS2020 is an independent gauge that works in its own isolated "sandbox".  No cross communication, no shared data.

You can still share data between modules and cross communication is possible. While simulator environment itself is sandboxed, modules are not completely isolated from each other. And you can have an individual WASM module for the entire aircraft too, as shown below:

znPE9p.png

While it's different than what FSX/P3D developers are used to, it's not impossible. Also many FSX/P3D developers seem to have trouble understanding new VFS concept, modules etc. which makes the situation even more complicated.

Edited by BiologicalNanobot

PC specs: i5-12400F, RTX 3070 Ti and 32 GB of RAM.

Simulators I'm using: X-Plane 12, Microsoft Flight Simulator (2020) and FlightGear.

21 hours ago, BiologicalNanobot said:

While it's different than what FSX/P3D developers are used to, it's not impossible. Also many FSX/P3D developers seem to have trouble understanding new VFS concept, modules etc. which makes the situation even more complicated.

Indeed! I think many also having problems to understand how WASM is working and I think to be honest, the sandbox is a good idea for many reasons, it liberated us simmers from maintaining installations for almost every aircraft and fiddling in Windows registry, now just copy-past -> done.

Actually this sandbox is not useless idea, X-Plane has exactly a sandbox, the only different is that sandbox is not only limited to WASM, but it can be Lua, Java .. etc, and that made sure X-Plane is compatible across platforms (it works on Windows, OSX and Linux).

AMD Ryzen 7 7800X3D, 64GB DDR5 6000MHZ RAM, RX7900XT, FreeSync 165hz 1440p display 

Well this turned into my favourite thread, with all of the developers now sharing notes with one another, haha.

Archived

This topic is now archived and is closed to further replies.

Account

Navigation

Search

Search

Configure browser push notifications

Chrome (Android)
  1. Tap the lock icon next to the address bar.
  2. Tap Permissions → Notifications.
  3. Adjust your preference.
Chrome (Desktop)
  1. Click the padlock icon in the address bar.
  2. Select Site settings.
  3. Find Notifications and adjust your preference.