Deconstructing MS Flight Simulator File Types

I have been examining the contents of MSFS file types to better understand how the information is organized and with an interest towards using that knowledge and having fun with the SDK. But the general interest point of this post, is that it can be fun and useful just to know as a general user, what’s where and whether it’s accessible to view without special tools. If you don’t watch what you’re doing, though, you can mess up your MSFS install if you corrupt files while examining them.

If there is already a list on the forum or elsewhere of all the file types in the sim, what’s contained in each file type and whether it’s readable (and by what) or encrypted, I’d very much appreciate someone posting a link to that information in this thread. TIA!

But fooling around in ignorance by myself, I’ve found that the tutorial and warning utterances the AI copilot or the sim advises the user appear to be stored in .MSG files found in the \Packages\Official\OneStore\fs-base\messages\ path.***  An example would be:
(***see Correction: Deconstructing MS Flight Simulator File Types - #2 by JALxml

Different parts/procedures associated with checklists appear to be stored in the Asobo_DefaultCheckpointLibrary.xml located in …\AppData\Local\Packages\Official\OneStore\fs-base-aircraft-common\CheckpointsLibrary as shown by a snippet of XML from the file:

<Checkpoint>

<Id> ATIS/AWOS/ASOS_Obtain

<CheckpointDesc>

<SubjectTT> TT:GAME.CHECKLIST_ATIS_AWOS_ASOS

<ExpectationTT> TT:GAME.CHECKLIST_OBTAIN

<Checkpoint>

<Id> ATIS/AWOS/ASOS_Check

<CheckpointDesc>

<SubjectTT> TT:GAME.CHECKLIST_ATIS_AWOS_ASOS

<ExpectationTT> TT:GAME.CHECKLIST_CHECK

It seems that all the locations in the sim world in a language appropriate to the user are stored in the .locPak files, one for each major language covered by the game:

image

Altogether, there are 580 location packs for each different type of event or aircraft, etc., in the different languages covered in the sim. For instance, here are just some of the German language packs:

image

Where it gets interesting is when you come to the language packs associated with geographical locations. These are located in the path …\Packages\Official\OneStore\fs-base. The one for U.S. English is en-US.locPak.

You can open en-US.locPak in Excel as a table and filter on airports. If you want all the airports in the world geographically identified by MSFS, here’s a filter that seems to work.

The UP and DOWN arrow keys and the CTL+UP and CTL+DOWN and to select CTL+SHIFT+DOWN (or up) are helpful for zipping over and selecting tens of thousands of row entries to count.

You can count the number of entries by entering the following formula at the bottom of the table.
=@countA(range)

20200911 Formula for Counting Airport Rows

I select the range to count entries by going to the TOP end of the view range in the column containing the data and then using CTL+SHIFT+DOWN ARROW to select everything to the bottom of the column column entries viewable by the filter. (I insert the field label “NAME” in the first row of the table above everything else, bold & underline it, then with my focus on that cell, invoking the Excel filter function on the Data tab of the Ribbon, which gives access to creating the custom filter displayed above from the dropdown that is now associated with the NAME label. So I range-select DOWN from one row below the NAME label to the end of the column).

The above filter counts world airports in MSFS having the name attribute. According to countA, there are 121,752 airport names in this SIM geographical name database. In the pre-order information Asobo only made claim to visually laying out over 37,000 world airports and has a YouTube video showing how airports as objects in the game are painstaking realized by hand from aerial and satellite data. Presumably there are many tens of thousands of airports that may be identifiable as an image on the world map but may not be something that you can fully interact with through the game AI in your flying experience.

I got an approximation of U.S. airports by using the following filter:

I find I have to use the filter BEGINS WITH “airportek.k to find U.S. airports because if I just use “airportek I get a lot of German airports as well.

So there are 9,262 U.S. airports under the ICAO “K” starting letter designation in the en-US.locPak. But it appears from checking against the FAA data base that ICAO codes that begin with the digits 0 thru 9 are also a U.S. designation. There are 22,996 airports in the en-US.locpak whose ICAO code begins with a digit using the filter BEGINS WITH “airport0d. to bring those up and checking down the alphanumerically sorted list, bringing the supposed grand total in the .locPak of “K”(9,262) and “digit” (22,996) starting airport ICAO codes to 32,258. The FAA database, though, lists a total of 19,889 U.S. airport of which 19,797 are designated as operational. There are 5,214 PUBLIC airports and 14,675 PRIVATE airports of any status according to the FAA. Airport Data and Information Portal.

Besides the unexplained large number of putative U.S. airport names in the en-US.locPak, I also found some mapping anomalies. For example, KWF is a seaplane base named Waterfall in Waterfall, Alaska. It’s in the en-US.locPak and also in the FAA database. So is the Waterfall Airport in Bozeman, Montana. But when you go to the World Map in the running sim and type “waterfall” to search, the only thing that comes up is 23MT in Bozeman, MO.

While I was working on this, I noticed that someone also found that the ATC COM’s that the game uses are also found in the .locPak files (because they are basic to the sim and depend on game language). Text editable ATC phrases. If you change the Excel filter to BEGINS WITH “ATCCOM you’ll find that there are 22,231 sim ATC COM’s and that’s not counting other things like ATC menu selections, etc.

Notes on using Excel: If you are counting something that was contained within a larger filter range for the @countA(range), you don’t have to change your filter. But if you were previously messing around with a different geographical subset of airports within the .locPak of interest to you, you’ll need to redo your @countA filter range from scratch to get an accurate count over the new range. Also, play around with a COPY, not the original of any SIM files because if you corrupt the file contents and format, you’ll corrupt your game play.

1 Like

Apparently, the “tutorials” that I found in the sim OFFICIAL package files at \Packages\Official\OneStore\fs-base\messages are some vestigial set of tutorials, perhaps left over from FSX.

The actual tutorials used in the sim lessons I’ve taken so far are to be found at …\AppData\Local\Packages\Official\OneStore\

20200912 Asobo Tutorials

Here’s sample text from the en-US.locPak from the asobo-flight-tutorials-firstnavigationsolo folder:

{
“LocalisationPackage”: {
“Language”: “en-US”,
“Strings”: {
“FirstNavigationSolo.Arrival”: “Sedona Airport”,
“FirstNavigationSolo.Briefing”: “Demonstrate your mastery of flying techniques and become the pilot in command of your aircraft: <br/>\r\n<br/>\r\n<br/>

  • Draw on all previous training to perform a complete VFR flight without any assistance from the Instructor</li>”,
    “FirstNavigationSolo.Departure”: “Flagstaff-Pulliam Airport”,
    “FirstNavigationSolo.Description”: “First Solo Navigation Training”,
    “FirstNavigationSolo.Dlg_Intro1”: “We’ve come a long way together, haven’t we? And this is when it all pays off.”,
    “FirstNavigationSolo.Dlg_Intro1_MALE”: “Are you ready to go solo on a full VFR flight?”,
    “FirstNavigationSolo.Dlg_Intro2”: “Are you ready for this? You are going solo on a full VFR flight.”,
    “FirstNavigationSolo.Dlg_Intro2_MALE”: “Are you ready to go solo on a full VFR flight?”,
    “FirstNavigationSolo.Dlg_Intro3”: "You’ll be departing Flagstaff-Pulliam Airport, handling every navigational step on your way to Sedona. ",

  • Notice: many orphan files from fs98,2000,2002, fsx, etc… are there but not used\usable on the sim, only copyright reason.

    1 Like

    ATC Com Entries in MSFS

    If one searches on ATCCOM in file types en-US.locPak, one file in U.S. English comes up in the fs-base folder of the OFFICIAL package. There are 22,321 ATCCOM script phrases in the .locPak file plus an additional 237 scripts almost all related to ATC Menu items in playing the sim. I extracted all 22,558 ATC related script/menu items to another file and filtered them to remove the ATC Coms that were related to acknowledging trivial things like airport name, aircraft name, controller’s name, altitude announcement, etc. The filter used is in the quote below:

    Not Like “agent” And Not Like “model” And Not Like “ATCCOM.AIRPORT” And Not Like “AIRLINE” And Not Like “ALT_EVEN” And Not Like “ATC_NAME

    That left me with 1,646 entries of scripts used in the sim for ATC Com and ATC menu selection choices in the sim. I thought I’d put the result in a publicly shared SharePoint list for anyone in the forum to look at if they wish but Microsoft axed public SharePoint list sharing about 2 years ago. So instead I’m offering a View-Only link to an Excel spreadsheet version of the filtered data from my OneDrive account. You should be able to download the spreadsheet if you want to (save a copy from file menu). If you just feel like viewing it online, other viewers may be filtering the results in different ways at the same time but the web-based version of Excel you see in your browser should offer you a choice to see only filtering that you do and ignore anyone else’s. The dropdown arrows in the column headings allow you to create custom text filters but you can only filter on one condition per column for the web-based Excel and two conditions per column for the desktop Excel. Importing the script phrases into a database program like a freeware version of SQLite would give you far more filtering flexibility, especially since each script is presented as in a .TEXT or .TTS version. If you search on a particular flight concern like takeoff in the script text it helps to filter on only the .TEXT or .TTS version to reduce # of hits by 2 (710 unique script entries (.TTS or .TEXT) and 226 ~ATC menu choice entries in spreadsheet).

    Link to OneDrive spreadsheet of filtered ATC Com’s: https://1drv.ms/x/s!ApngLox0gfb7j4UxDjv2Ucjc6yw9Xg?e=ajhHl4

    The idea of having the ATC script phrases available for perusal is to be better able to learn the wording expected for particular situations rather than learning it as you go in the sim in unreviewable fashion, AFAIK. For me, learning all about ATC communications is one of my hang-ups towards progressing further in the SIM (I initially turned off the ATC display).

    A visit to the AOPA.org website turned up an interesting page recommending the FAA’s Aeronautical Information Manual (AIM) as the best way to learn ATC communications skills.   (New Pilot's Guide to ATC Communication - AOPA).

    AIM is available for free on the FAA’s website and Chapter 4 is all about ATC. You can search the manual for terms online, too.  https://www.faa.gov/air_traffic/publications/atpubs/aim_html/chap_4.html