• 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.

MSFS MSFS 2020 SDK for Gauge Developers

Messages
518
Country
france
Hello,

I didn't have a look at the latest SDK after the 18.8.3.0 patch but as far as I know, there is still not much information for us C/C++ gauge developers.
At this time, I would like to know if you have any clue about these questions:

Is it possible to develop "modules" like we used to do before?
  1. Modules are designed to be loaded when the sim starts, which is why they used to be DLLs, not attached to any aircraft. This is especially useful to have code running whatever aircraft you select, for example if you have a specific device, such as CockpitSonic, that requires specific code to be handled. I also used this in the past for utilities such as a moving map.
    I saw that FSUIPC Beta is not a DLL anymore, it is an EXE, so I guess the answer to my question is NO.

  2. Do you know a way to develop vector gauges?
    What we used to call this way are gauges that draw themselves using vector graphics (GDI+, NanoVG whatever library). I saw in the SDK some things about NanoVG, which looks like a subset of GDI+ but not so different, but I still don't see how to code such a gauge.
I must say I am not used to the WASM concept so I am a bit lost here. Is it the same for you?
I still wonder why they didn't keep the idea of using DLLs, so natural with Windows...

Eric
 

taguilo

Resource contributor
Messages
1,585
Country
argentina
Hi,

Is it possible to develop "modules" like we used to do before?

Unfortunately not -so far. There's no export of PANELS structure; in fact PANELS is not supported in MSFS gauges.h. However, CCallback classes are still available hence modules like XMLTools can be installed as panel members, but only to interface with C++ gauges, not XML (through converting them to wasm sources). I understand Asobo is considering to restore the module concept, but still no news of that.

Do you know a way to develop vector gauges?

That is another problem for sure. WIN APIs for graphics (D2D, etc) are not supported, I guess because of compatibility issues with XBOX. The same reason for discarding standard dll formats, I guess.
I believe this is also the main reason for PMDG and other developers to delay their MSFS releases.

Tom
 
Messages
518
Country
france
That's really amazing, this guy did a great job. I also tried to understand the file structure and the meaning of the JSON files, CSS, JavaScript, ... but I don't like to play this guess game. At this time, I didn't even figure out how to create a copy of an existing aircraft with its specific panel for my own use of testing. It was so easy in all FS versions since FS2000, they had to make it more complex :(
 
Messages
80
Country
canada
The modification of the gauges has really fairly little use (other than familiarizing yourself with them).
You cannot change their position, size, proportion or even resolution. All you can do is overwrite the content that is currently there (and squeeze it tightly enough so it'll fit, like in this extreme example where I stuffed 6 outputs into the Hourmeter...).

Considering though how powerful and easy JS/CSS is in comparison to the nightmare that was FSX's XML, I think we will see some pretty impressive stuff.

Doing an animated steam gauge just takes a couple of lines (here's a proof of concept, with some primitive graphics, but you get the idea).
You can even download live data from a website and display it (like this weather map). That really had me blown away...

And, if you arrange your code right, you can even do most of the testing outside of MSFS. That'll really make your life a lot easier.
 
Messages
1,968
Country
us-ohio
Yet it really doesn't support the complexity of gauges that use GDI+ or DirectX, not to mention that threading, file access... well, there's quite a list to be honest.
 
Messages
518
Country
france
Yet it really doesn't support the complexity of gauges that use GDI+ or DirectX, not to mention that threading, file access... well, there's quite a list to be honest.
Yes, of course, but it is a good replacement for XML gauges.
To replace what we used to do in GDI+ or DirectX, we have Web Assembly (WASM). They say no system call can be made, probably to keep compatibility with Xbox, so I still wonder how file access and other advanced OS related stuff will be done... This looks like a restriction of our development freedom.
 
Messages
27
Country
unitedstates
The modification of the gauges has really fairly little use (other than familiarizing yourself with them).
You cannot change their position, size, proportion or even resolution. All you can do is overwrite the content that is currently there (and squeeze it tightly enough so it'll fit, like in this extreme example where I stuffed 6 outputs into the Hourmeter...).

Considering though how powerful and easy JS/CSS is in comparison to the nightmare that was FSX's XML, I think we will see some pretty impressive stuff.

Doing an animated steam gauge just takes a couple of lines (here's a proof of concept, with some primitive graphics, but you get the idea).
You can even download live data from a website and display it (like this weather map). That really had me blown away...

And, if you arrange your code right, you can even do most of the testing outside of MSFS. That'll really make your life a lot easier.
I can't find any examples of the 2 xml files you need to build packages for html gauges. The project xml, and the one in PackageDefinitions. Can you please give me examples of those along with the file structure you build with? Thanks.
 
Messages
80
Country
canada
I've never used XML files for the gauges I created. Perhaps I would need them for audio, but I haven't tried that yet.
I've also never built the gauges through the project manager; I just created a manifest & layout file in the root, and then copy the folder structure from the original gauge.

Just take the gauge files that I posted on my site, put them into the Community folder, and start editing. That's it...
 
Messages
27
Country
unitedstates
I've never used XML files for the gauges I created. Perhaps I would need them for audio, but I haven't tried that yet.
I've also never built the gauges through the project manager; I just created a manifest & layout file in the root, and then copy the folder structure from the original gauge.

Just take the gauge files that I posted on my site, put them into the Community folder, and start editing. That's it...
Ahh so I guess the individual file sizes in the layout.json aren't strictly checked. I found a python script here that dga77 created that can generate the proper json files from your source root folder.
 
Messages
80
Country
canada
AFAIK the file sizes are ignored. Sometimes I never updated them, and didn't have any issues with that.
 
Top