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:
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:
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)
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.