-
-
Notifications
You must be signed in to change notification settings - Fork 164
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
Read new MSFS SID and STAR records #649
Comments
Uggggh, and after I went to all that trouble lol |
I feel with you. It took me a lot of time to find the changes in the current new records. 🙁 Alex |
Sure thing. Looks like you've already made a few changes to the code since my original PR, but I did happen to have copies of a couple BGLs from the previous version, and compared them with the latest ones. As far as I can tell, it was only the
The only changes I could really find was 8 bytes added to the end of the |
Now I feel stupid. The records seem to have the same format. Only the id has changed? I just adapted the code according to your table and now the code blows up because of missing route transitions. This from <xs:complexType name="ctDeparture">
<xs:sequence>
<xs:element name="RunwayTransitions" type="ctRunwayTransitions" minOccurs="1" maxOccurs="1" />
<xs:element name="CommonRouteLegs" type="ctApproachLegs" minOccurs="1" maxOccurs="1" />
<xs:element name="EnrouteTransitions" type="ctEnrouteTransitions" minOccurs="1" maxOccurs="1" />
</xs:sequence>
<xs:attribute name="name" form="unqualified" type="stString6" use="required" />
</xs:complexType> BTW: Old fields and formats still have to be supported for add-ons (e.g. Navigraph is still using the old format). BTW 2: RUNWAY_TRANSITIONS_MSFS seem to have two sizes depending on format before or after 1.16 and there is no field or flag indicating the size. Therefore, the ugly hack in there. Maybe it is better to calculate the size of the ApproachLeg by record size and number of legs. |
I think I have it. Your table helped a lot. |
Did you already commit a fix? |
for the implementation and the help. Closes albar965/littlenavmap#649
Just pushed. |
I see. Like Record legRec(options, bs);
int numLegs = bs->readUShort();
for(int i = 0; i < numLegs; i++)
{
qint64 pos = bs->tellg();
ApproachLeg leg(bs, legRec.getId<rec::ApprRecordType>()); and Record legRec(options, bs);
int numLegs = bs->readUShort();
for(int i = 0; i < numLegs; i++)
legs.append(ApproachLeg(bs, legRec.getId<rec::ApprRecordType>()));
insertEnrouteTransition(legs); |
yea, okay, let me sync this with my local branch, cause I kinda was messing with it myself, and just finished up. About to test the code out now. |
|
You don't happen to know the BGL that contained the entry would you? |
|
No, that's what you want. The extra 8 bytes in the leg records is determined by the container for the legs, in this case, |
Okay. I see. This could make the hack in the RUNWAY_TRANSITIONS_MSFS redundant, right? Can you do the change? Maybe easier. |
Yea, I see it too. The current code assumed there'd be only one of those records, but it can actually have multiple. Maybe the old type only supported one? Sure, my branch is also working, I'll push in just a sec and link it. |
Perfect. Matches with X-Plane and Navigraph data. BTW: How do you test? Hopefully not by running the whole LNM to comile? I use the navdatareader with a filter in |
Uhhhhhhhhh...... I... I use the tool... but... I rebuild it all eehehe. I should just do it for a select few airports. |
Copy the navdatareader.cfg from the resources folder to the ABarthel in Roaming. Then filter by files:
and/or airports:
Keep in mind that LNM uses this file too. Rename or delete after testing. |
I had to step away for a little bit, but just about ready to submit pull
request.
…On Wed, May 26, 2021 at 5:13 PM Alexander Barthel ***@***.***> wrote:
Copy the navdatareader.cfg from the resources folder to the ABarthel in
Roaming. Then filter by files:
IncludeFilenames=NAX07070.bgl,APX07070.bgl,APX28310.bgl,NAX28310.bgl,APX28310.bgl,NAX28310.bgl,APX07390.bgl,NAX07390.bgl,APX06240.bgl,NAX06240.bgl,APX26160.bgl,NAX26160.bgl ,APX03070.bgl,NAX03070.bgl
and/or airports:
IncludeAirportIcaoFilter=NTAR,PAKP,SKSV,PHKO,CYTZ,PAPO
Keep in mind that LNM uses this file too. Rename or delete after testing.
—
You are receiving this because you commented.
Reply to this email directly, view it on GitHub
<#649 (comment)>,
or unsubscribe
<https://github.com/notifications/unsubscribe-auth/AG2BPIQ6OWK5AEROD56PYXTTPVP5XANCNFSM45PVKVNA>
.
|
I think this ought to do it. |
Hmhm. RF legs are fine now. I also added the speed limits. Unfortunately there is no information if this is max, exact or minimum speed what they give in the BGL. |
Yea, hey, you submitted the ticket to them about the RF legs right; guess they listened. |
Yup. Good thing they actually listening to users. Just compiled without any warnings (at least no unexpected ones). Perfect! Going to call it a day now. 😴 Alex |
Working perfect now. I get missing waypoints with the Navigraph update but this is not relevant anyway since users can update the LNM database with Navigraph directly. |
Related to #555
SID and STAR are mostly recognized but not all due to the new records below which were introduced with 1.16.2.0:
The records SID_STAR_MSFS_DEPARTURE (0x004a) and SID_STAR_MSFS_ARRIVAL (0x00f0) are still unknown and cannot be read.
Disabled skeleton code is here:
https://github.com/albar965/atools/blob/release/3.6/src/fs/bgl/ap/sidstar.cpp#L159-L185
The text was updated successfully, but these errors were encountered: