• Which the release of FS2020 we see an explosition of activity on the forun and of course we are very happy to see this. But having all questions about FS2020 in one forum becomes a bit messy. So therefore we would like to ask you all to use the following guidelines when posting your questions:

    • Tag FS2020 specific questions with the MSFS2020 tag.
    • Questions about making 3D assets can be posted in the 3D asset design forum. Either post them in the subforum of the modelling tool you use or in the general forum if they are general.
    • Questions about aircraft design can be posted in the Aircraft design forum
    • Questions about airport design can be posted in the FS2020 airport design forum. Once airport development tools have been updated for FS2020 you can post tool speciifc questions in the subforums of those tools as well of course.
    • Questions about terrain design can be posted in the FS2020 terrain design forum.
    • Questions about SimConnect can be posted in the SimConnect forum.

    Any other question that is not specific to an aspect of development or tool can be posted in the General chat forum.

    By following these guidelines we make sure that the forums remain easy to read for everybody and also that the right people can find your post to answer it.

MSFS20 DLL vs. WASM modules

Messages
47
Country
us-newyork
I am developing some general modules (not instrumentation/gauges) using SimConnect. So far, I developed them in C++ and compiled to WASM, but as I expand functionality, I am increasingly hitting some WASM coding limitations. So, I’d like to switch to DLL, however, I am not sure if DLLs can be included in the packages the same way as WASM modules. Can anyone confirm this? Can DLLs be included in packages that are marketed on MSFS Marketplace? Will they be XBox compatible? (I am guessing not). Can anyone share some guidelines or share some light on this?

Any input would be appreciated.
 
A WASM module already is a DLL. That's the only kind MSFS will load as part of a package. What other kind of DLL do you want to include and what do you want to do with it?

Can you even link a WASM module to an external lib? I hadn't thought of that. But I'm not seeing how it could run outside the WASM environment. If it could, would the external lib be under the same sandbox constraints as the WASM module? I'd be a little surprised if such a hole in their sandbox was possible, but not shocked...

Don't know about marketplace. To run on XBox, assuming one can even link/load an external lib, I'd assume the external lib would have to use only whatever APIs are available on XBox.

Cheers,
-Max
 
You can and it will work; right up to the point Microsoft reject it on the Marketplace because it breaks their rules. Ditto for calls to an external dll. As you've said Max, a WASM module is already a dll, but in an uncompiled state.

HornetJockey: read my sticky on debugging WASM gauges for a bit of extra info on what's going on when you load a WASM module.

 
Thanks for chiming in, guys. I have posted the same question to MSFS dev support forum here, and it lead to a lively discussion, including Eric from Asobo making some interesting remarks, check it out.
 
Umberto Colapichioni - it's good to see him popping up because everything he says is worth listening too very carefully. We worked together with others on a flightsim project decades ago (not FSX or P3D but something completely new) and I learned a lot from him during that time. Legal problems with the publisher meant that project never saw the light of day. Oddly, I still have the last alpha release and it still runs!

I can give Eric one really good reason for allowing access to ini/cfg/txt files; their method of saving text-based data to the save file (don't recall it's naming ATM) is utterly and horribly unreliable. Somebody briefly touched on downloading additional files once the product has been bought from the Marketplace; that would be a viable option if it wasn't for one thing - most users don't read the documentation and then complain like hell when something doesn't work straight away. I proposed doing just that to basically make PILOT'S B-314 almost uncrackable by adding a second layer of checking after a Russian team cracked the Microsoft encryption (and Microsoft didn't fix it for at least six months - I stopped checking after that). PILOT'S vetoed it after I'd provided a POC because of the user reading problem.
 
Back
Top