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

[Beta] Announcing the SimIn SDK

Messages
284
Country
us-newyork
Dear FSDeveloper Community,

It's been quite a long journey. We (Federico Sucari @fs1 and Sean Isom @theisomizer), have been working to understand the FSX, ESP, and P3D internals for the last six years. We are passionate about this mission, and through our collective projects we have been trying to bring next-level functionality to both developers and end users.

For years we both have been members of FSDeveloper, and it has always been impressive to see the out-of-the-box ideas that this passionate group of developers bring to the community.

We have combined a lot of this knowledge and tech that we have developed into our new venture, FSSI, and at this time we would like to announce our first product; a library called the SimIn SDK.

The goal of SimIn is both to standardize and open existing methods that many top developers use, and to expose new functionality for developers that isn't currently available through a single platform that can be used across simulator versions.

SimIn is a simple concept, working behind the scenes to read and write from the sim memory information that can be manipulated to create a more realistic simulation. Additionally, it provides a layer of abstraction above the raw simulator structures, enabling rapid development. The SDK is structured as lightweight reg-free COM, has a similar syntax to the P3D PDK, and functionality is divided into Services:

- Terrain Service: Asynchronously reads terrain DEM, LandClass, Population, WaterClass, etc. data at runtime, for any region of the world. You can query several squares grid of information in one call. Also contains APIs to read vector data, such as roads, water, etc.

- Facilities Service: Reads all airport, airways, scenery objects, and any other data in bglcomp produced BGLs. Similarly can be queried for any point on the earth, as a grid, radius, or even at the user location.

- FDE Service: Allows the user to read and change fixed AIR data in-sim, on the fly creating dynamic air tables from any field present in the .air or aircraft.cfg.

- Effect Service, which in the beta is only available in P3D V4, allows the user to change, as in the FX Tool, many different effect parameters on the fly. A sample is provided that shows the basics of dynamic lighting.

- Menu Serivce: Allows adding dynamic sim text menus in a way that works across all sim versions, from FSX->P3D.

- Core Functions and G2D Service: Exposes several internal simulator methods programatically, included access to set a screen color effect, set the volume programatically, and read and write the Ground Friction physics coefficients.

Under most use cases, the library has very little overhead. It is multithreaded, taking advantage of many pieces of simulator engine functionality that are already optimized, and most importantly, should not require any updates to support any P3D updates/upgrades in the future. This solid design should simplify application maintenance, preventing developers from having to scramble the moment a new P3D build is announced.

The core functionality of the SimIn SDK will be free for freeware projects. We will support commerical licenses when we hit RTM, with more flexible license terms and the ability to compile your code together with SimIn provided as a .lib. More to come on this soon, and feel free to contact us if you are interested.

Below is a link to our Beta SDK (build 0.9.0), and we strongly encourage developers to try it out. Currently, it only supports P3D V3 and V4, although we are exploring FSX support in the future. As a beta, it will prompt with a message box at sim startup. Other than the warning, it contains our full public functionality and is in no way limited. We will try to keep API changes between the beta and 1.0 release minimal, prioritizing bug fixes and API usability over new features.

A help document in .chm is included, along with redistributable .dlls, as well as some sample simconnect DLLs, a gauge, and all necessary headers.

We hope you enjoy it! This is still heavily under development, and please use this forum to open topics with questions, requests for help, clarification, feature requests

All the best,

Federico and Sean


Download the full SDK beta here: http://bit.ly/2yPsNyM

Documentation only: http://bit.ly/2yVQRjI
(will be available online once the website is up)

Note: Some users are reporting problems with the downloaded .chm, please see this link on how to unblock if you are running into blank pages: https://blogs.msdn.microsoft.com/cr...cs-crm-2013-implementation-guide-ig-chm-file/
 
Last edited:
Hi guys,

skimming though the documentation, this really looks very promising and definately like a s***-load of work, already :). So kudos to all of you :cool:.

What came to my mind for the future was this question: do you see any possibility to alter facility data (mainly navaids like VOR, NDB, ILS) on-the-fly? Don't know if this was anyway possible, though.

Greets, Benny
 
Hi guys,

skimming though the documentation, this really looks very promising and definately like a s***-load of work, already :). So kudos to all of you :cool:.

What came to my mind for the future was this question: do you see any possibility to alter facility data (mainly navaids like VOR, NDB, ILS) on-the-fly? Don't know if this was anyway possible, though.

Greets, Benny
What are you trying to achieve? To inject your own data?
You want to do this in a large scale?
Thanks
Federico
 
What are you trying to achieve? To inject your own data?
You want to do this in a large scale?
Thanks
Federico

Hi Federico,

I am not directly planning to inject new stations, but to alter data of existing ones. For now, I have to go through the bgl files programmatically and change what I want to change before the sim gets started. So for each and every change I need to restart the sim or force a reload of the library midflight for the changes to have an effect, which is not very practical.

So, if it was possible to change this data in memory after the bgl's got loaded this would be a huge improvement.

But I am not versed at all with memory hacks and stuff, or how the bgl data is stored and processed after loading, so I don't know if there was any way to achieve this.

Greets, Benny
 
Hi Federico,

I am not directly planning to inject new stations, but to alter data of existing ones. For now, I have to go through the bgl files programmatically and change what I want to change before the sim gets started. So for each and every change I need to restart the sim or force a reload of the library midflight for the changes to have an effect, which is not very practical.

So, if it was possible to change this data in memory after the bgl's got loaded this would be a huge improvement.

But I am not versed at all with memory hacks and stuff, or how the bgl data is stored and processed after loading, so I don't know if there was any way to achieve this.

Greets, Benny
We can eventually think of implementing this feature. Thanks
 
Thank you, Brilliant work here!
will the Terrain Service be available for FSX as well?
 
Hello,

Any news if SimIn SDK works 100% with P3D V4.4?
I use probably the same techniques as you do for a few features (FDE mods in realtime), and I lost many entry points with this P3D V4.4 version...


Update: no it seems it was a glitch in my first tests... I could resume with all normal features. Very strange.


Best regards
JL
 
Hello,

Any news if SimIn SDK works 100% with P3D V4.4?
I use probably the same techniques as you do for a few features (FDE mods in realtime), and I lost many entry points with this P3D V4.4 version...

Best regards
JL
Should work. Regards
 
Minor updates for FDE incoming for 4.4 (that we are trying to future proof against subsequent updates).
 
Back
Top