I spent the whole day figuring out what is going wrong, narrowing down affected BGLs and decompiling, changing and recompiling them and in the end I think I found out what in the navdata is causing the freeze.
From my analysis it is caused by defining a
waypoint with the same ident/region combination as a localizer/ILS station.
E.g. in the file
navigraph-navdata\scenery\0306\ATX28490.bgl there is the following waypoint:
There is no “EC” VOR, but this waypoint sits on the location of the localizer and has the same ident as the localizer.
With this the G1000 freezes as soon as you dial EC. Change the ident or region in this entry in the BGL and it no longer freezes on EC.
I could reproduce this behaviour with uninstalled Navigraph and my own little navdata addon (unzip to Community folder to try it out).
mycompany-navdata.zip (13.3 KB)
This is just the compiled sample navdata projekt from the SDK but with only a single entry:
<?xml version=‘1.0’ encoding=‘ASCII’?>
<Waypoint lon=“52.1359” lat=“7.6720” magvar=“1” waypointType=“VOR” waypointRegion=“ED” waypointIdent=“IMOW”/>
With this addon (and Navigraph uninstalled!) the G1000 works without freezing UNLESS you try to enter “IMOW”, then it freezes. I think it does not matter were on the world you are located (EC is in South America and caused freezes when entering EC from a position in Germany).
Are those waypoint entries on Localizers/ILS needed for any reason? If not (or they have a real world reason but won’t be useful in MSFS anyway) could they be removed from the navdata?
EDIT: For clarification,
IMOW from my addon is also a localizer at EDDG.