Guys, I think we should really need to talk about this situation:
Everybody here seems to be in the process of reinventing his own version of the wheel: getting some access to LVariables via Simconnect communication with WASM, because Simconnect doesn’t allow to do that directly.
The result of this, is that in a very short time, we’ll have multiple modules running all at the same time, doing the same thing, increasing traffic over the named pipes used by the several Simconnect clients to talk to each other, to the detriment of everybody’s performances.
Yes, of course, we already have our own WASM module that does the same thing, and it’s hard enough being careful to optimize it as best as we can to reduce unnecessarily traffic without being worried by dozen of other identical modules doing the same service.
So, I think we REALLY need some kind of coordination here, unless you think it’s possible to lobby Asobo to add direct LVar/Hvar acces to Simconnect proper.
Is anybody willing to start a joined project on Github, which can be contributed by all interested developers, that can be distributed as a SINGLE, separate package, with every product that requires it ?
Note that, we already have our own WASM module fully working right now, with only the things we need, but of course the whole concept of using Simconnect itself as a communication channel between WASM and external EXE can be easily expanded to provide further services. There are some things that need to be handled with care, one for example is the synchronization between requests, which you might not notice if you “just” want to read or write an LVar, but will become obvious if you try to do things very fast from the client side. Yes, we handled this too in our module.
Also, to really make it work, we should try to stick with it and use it, and enhance it, instead of “just” taking the source code and make a fork of it to create a separate version, because that would defeat the purpose of having a single module installed in the sim at any time.
And, we would require some clarification and possibly some support from Asobo about how Dependencies will eventually work, in case multiple products using the module would work on the MS Marketplace, and possibly the Xbox version too. Who’s going to send the the MS Marketplace team the latest version of the module ? How fast can be kept updated ?
So yes, I understand there are tricky issues to be solved first and, if you think about it, the situation in FSX/P3D wasn’t that different, since even there you couldn’t access LVar directly without using a .DLL but, maybe, we have a chance to makes things better now.
Because, the LAST thing we want, is that in a year, there will be dozen of apps on the MS Marketplace, each one installing its own version of a WASM “bridge” ( that’s how we call our version ), clobbering the sim and the Simconnect communication channel for everybody, and this assuming all modules are done equally well and won’t crash the sim or conflict with each other.