-
-
Notifications
You must be signed in to change notification settings - Fork 166
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
MSFS 2024 #1198
Comments
Discussion and more information here: https://www.avsim.com/forums/topic/655517-little-navmap-support-for-msfs-2024/ |
Both MSFS2020 and MSFS2024 provide a SimConnect facilities API. This will give information even from marketplace packages. You can lookup facilities on demand (e.g. when the user types an ident into a search field) https://docs.flightsimulator.com/html/Programming_Tools/SimConnect/API_Reference/Facilities/SimConnect_RequestFacilityData_EX1.htm, or subscribe to discover all of the facilities in the reality bubble around the user https://docs.flightsimulator.com/html/Programming_Tools/SimConnect/API_Reference/Facilities/SimConnect_SubscribeToFacilities_EX1.htm. The downside is that it doesn't fit with your current architecture. |
Thanks for the links. Did not run into this so far. At least one can get the most important information through it. So I'd have to call Thinking how fast you can get 40000 airports through this interface. Still have to read the navdata BGLs to get navaids outside the bubble.
Yeh. I'm not sure if I'd like to continue to jump through hoops for such ... design decisions. Only one programmer here and this can take months to implement. In the meantime everybody uses SimBrief and the internal planner. 🤷♂️ Look at X-Plane, which uses a text format for all data that is normally slow, but still loads faster than any MSFS. And their format is even officially documented. Alex |
@tracernz Sorry for frustration. Not aimed at you. I'd read navaids and stuff as usual from the BGL files since these are limited by the bubble and only fetch airports using this interface. I have to do a prototype to test if performance is ok. Good thing is that this (hopefully) allows to access all the encrypted add-on airports and does not need any merging of airports with delete records. Anyway big effort to add this. |
No worries, I fully understand. 👍 |
@albar965 matching my findings too, I read the scenery for my acars application. Good luck to us all. Requesting it directly from the sim is untenable, doesn't look like there's any geometry functionality either |
Reading airports including all procedures from SimConnect is doable and fast but does not provide aprons. I already have half the implementation and can read all the airports, runways, parking, taxi, SID, STAR and approaches but I'm not ready yet to commit this to atools. I'm using the suggested functions by @tracernz above (HUGE thank you for the hint!). This is a big effort since I practically have to write a new data compiler. See here for all you can fetch from SimConnect: https://docs.flightsimulator.com/msfs2024/html/6_Programming_APIs/SimConnect/API_Reference/Facilities/SimConnect_AddToFacilityDefinition.htm#airport And now I'm fighting with the BGL changes for navaid objects like waypoints, VOR and NDB. It seems that idents and names are stored using a different encoding. As usual all undocumented. It's bizarre that I can read worldwide airports from SimConnect but no navaids. Navaids are limited by a 200 NM radius around the user aircraft. 🤦♂️ Alex |
Nice! I'm planning to use those same functions, thanks @tracernz! My task is much simpler than yours, luckily. I think I can get away with using SimConnect almost entirely
Oof, I was never good at decoding that type of stuff anyway, so good luck. It was so painful for me figuring out the 2020 formats.
This is possibily because of some licensing or other restrictions because of their data source, can't extract it all and use it for some other application(s) |
Neither am I. Very time consuming, therefore. Do not hesitate to ask. I can always answer a question about BGL or point you to the right place in my code if needed. Alex |
Thanks! Same goes for you. |
Maybe similar to how they do it in SPB's ? See https://github.com/leppie/spb2xml/blob/master/TextDecode.cs (and the .Data.cs file). IIRC I just threw all the ANSI chars into a field (ie I would not be surprised if it was the same encoding. I doubt they would use encryption.
You can use the same approach to bruteforce the lookups out. |
I found out that the names in the BGL files are encoded like described here: ICAO Identifiers and region codes. I'm making good progress here. 🙂 |
Hi Friends, Alex, the original petition on the forums has been removed, which is a great news (coupled with the mention of this in the dev roadmap). I originally went to the forums to see if any communication was made on the point, but had to fallback here to ask : do you feel like the solution being built will be accessible to other devs ? Or will it be a private endpoint ? You may be under NDA. If so, it's okay to just ignore the question ;) Cheers, |
Given this is a GPL3-licensed project, if code using the endpoint weren't permitted to be shared, it wouldn't be allowed for LittleNavMap to use it. |
Asobo won't develop a private endpoint. I wonder if they'll even add the missing features to the current SimConnect. I hope they do. About progress in LNM for now: I have to read navaids from the BGL files where I also could decode all changes now. This is waypoints, VOR, NDB, ILS and airways. Hope these files do not disappear in the future. This would be a deal breaker. The code is not ready yet to release. Still have to fix bugs. Missing features so far: Runway lighting status (needed for night operations), airport closed status, add-on status, aprons and airspace boundaries. Airport boundaries disappeared with the last MSFS 2024 update. I asked in the dev forum about it (post here). I do not see these as show stoppers. Also have to adapt the PLN export to the new MSFS24 format. Meh. |
Hoping for the best here too. If they do remove the BGL entirely, would it be workable to do a hybrid approach of loading from mostly from SimConnect, and Navigraph files for navaids? That's definitely less optimal since not everyone has them, but it seems better than nothing. |
Location to read navaid BGL files are ...\AppData\Local\Packages\Microsoft.Limitless_8wekyb3d8bbwe\LocalState\StreamedPackages ...\AppData\Roaming\Microsoft Flight Simulator 2024\LocalState\StreamedPackages albar965/littlenavmap#1198
This commit shows all required changes to read MSFS 2024 navdata from BGL files. It does not include refactoring, SimConnect changes and changes to the database writing code. It does not cover airports and procedures which are read through SimConnect using SimConnectLoader and SimConnectWriter classes. Added new types and records and adapted code to changed structures. Fixed issue where extra ramps and gates were not recognized as gates or ramps. albar965/littlenavmap#1198
…2024 SimConnect This fetches airports, runways, starts, parking taxiways and all procedures via SimConnect and writes them to the database. albar965/littlenavmap#1198
Now using MSFS 2024 SimConnect to load airport data. Added MSFS 2024 in general. Using different display name for MSFS 2024 and 2020 Adjusted database mode checking for better hints and error messages. #1198
Now loading airports using SimConnect albar965/littlenavmap#1198
The petition was removed and the discussion now continues in the developer forum: https://devsupport.flightsimulator.com/t/provide-readable-airport-data-for-little-navmap/11926
Petition for readable information and documentation is here https://forums.flightsimulator.com/t/provide-readable-airport-data-for-little-navmap/672891The Store path appears to be:
%localappdata%Packages\Microsoft.Limitless_8wekyb3d8bbwe\LocalCache\UserCfg.opt
The Steam path appears to be:
%appdata%\Microsoft Flight Simulator 2024\UserCfg.opt
SDK Documentation
https://docs.google.com/document/d/e/2PACX-1vRGZ2lfaCLbtruuUi03QnHTsNHp1BUFYCCNKYHxaQTi6ducqGG1Hh6dIZ0KiRxrZN459GKsZMr3-Hp5/pub
Probably APX files (containing the airports) in
C:\Users\<username>\AppData\Local\Packages\Microsoft.Limitless_8wekyb3d8bbwe\LocalState\VFSProjection\scenery
%APPDATA%\Microsoft Flight Simulator 2024\StreamedPackages
%LOCALAPPDATA%\Packages\Microsoft.Limitless_8wekyb3d8bbwe\LocalState\StreamedPackages
The text was updated successfully, but these errors were encountered: