No description
Add a 'scenery_path' field to the 'airport' table of the SQLite NavDataCache database. For each airport, this field indicates the scenery realpath() that contributed the apt.dat file for the airport (as an exception, for airports whose apt.dat file is $FG_ROOT/Airports/apt.dat.gz, the path thus stored is for now $FG_ROOT, which is technically not a scenery path). This path is then made available via FGAirport::sceneryPath(), which allows us to implement the following change (in this commit): A) The lookup of *.procedures.xml is unchanged. B) For other XML extension files (groundnet, ils, runway_rename, threshold, twr): - The search performed by XMLLoader::findAirportData() through globals->get_fg_scenery() stops immediately after the scenery path p that contributed the apt.dat file for the airport. - Paths that come earlier than p in globals->get_fg_scenery() order may contain XML extension files that will *override* sibling files that might exist in p (as was already the case before this commit). The rationale behind this change is that we don't want a custom scenery with good data in its NavData folder regarding airport FOO to get "ruined" by files such as FOO.threshold.xml present in the TerraSync directory---which is assumed to come later in globals->get_fg_scenery() order. *.procedures.xml files are excluded from the change because there is a widespread use of a huge set of procedure files for the whole world; if airport FOO in a custom scenery has no procedure files, we do want to let FlightGear find FOO.procedures.xml inside the scenery path containing the huge dataset (which should come *after* custom sceneries in globals->get_fg_scenery() order so as to give these custom sceneries the option to provide better *.procedures.xml files and have them take precedence over less specialized sources such as the huge dataset). Reference discussion: https://sourceforge.net/p/flightgear/mailman/flightgear-devel/thread/CAKor_THrQCiS1ES_ENSrmn1j3s39dX0qQXSbYBUz6yuokse_pQ%40mail.gmail.com/#msg37860751 |
||
---|---|---|
3rdparty | ||
CMakeModules | ||
docs-mini | ||
examples | ||
icons | ||
man | ||
package | ||
scripts | ||
src | ||
test_suite | ||
utils | ||
.clang-format | ||
.gitignore | ||
AUTHORS | ||
ChangeLog | ||
CMakeLists.txt | ||
COPYING | ||
flightgear-version | ||
INSTALL | ||
NEWS | ||
README | ||
README.cmake | ||
README.msvc | ||
README.OSG | ||
README.plib | ||
README.SimGear | ||
README.sound | ||
Thanks |
Welcome to the FlightGear Flight Simulator project. =================================================== The primary web page for this project is: http://www.flightgear.org For basic installation instructions see the "INSTALL" file. Before you can run FlightGear you will also need to download and install the "base" package which is a collection of textures, sounds, sample scenery, and other data files needed by the sim. For additional install help for specific platforms please browse the "docs-mini/" subdirectory. More complete documentation is available from our web page as a separate distribution. Please take a look at the "Thanks" file for a list of people who have contributed to this project. If you have contributed something but don't find your name in this file. Please send a polite reminder to http://www.flightgear.org/~curt For a summary of changes/additions by version see the "NEWS" file. This project is GPL'd. For complete details on our licensing please see the "COPYING" file. For information on available mailing lists, mailing list archives, and other available source code and documenation, please visit our web site. FlightGear is a product of the collaboration of large international group of volunteers. FlightGear is a work in progress. FlightGear comes with no warrantee. We hope you enjoy FlightGear and/or find it of some value!