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

BGL file header and endianness

Messages
2
Country
us-california
I'm making a library to read BGL files, and in preparation I noticed what seems to be a discrepancy, or at least an ambiguity, in the description of the BGL file format on the wiki.

From the wiki:
0x00 4 - DWORD Magic Number #1 – Must be 0x01, 0x02, 0x92, 0x19 (all FS versions from FS9 to P3Dv4)

Anyway, as I was reading it I had a BGL file from the sim opened in a hex editor to follow along. The first four bytes of the BGL file are those four values--in that order.

The problem is that if you try to read them as a single 32-bit value (as the "Number of bytes" column implies), because they're stored little-endian then 0x01 is the least-significant byte and the value you read will reflect that, putting those four bytes in reverse from the order they're given in (19 92 02 01h). If you read them as four consecutive one-byte values, you'll of course get them in the order specified.

It might be helpful to update the wiki entry to reflect this--it might cause some unnecessary confusion.

The same thing applies to the description of the other magic-number field.
 
Hmm. My initial intention was to fix it myself when I noticed it, but I couldn't find an option to register an account so I figured it must be locked down (presumably to maintain quality). Guess I need to look harder.
 
Back
Top