1
0
Fork 0
No description
Find a file
Florent Rougon 351ca111ad NavData: don't load XML extension files from unsuitable scenery paths
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
2023-07-20 22:07:43 +02:00
3rdparty refs Ticket 2023-05-21 22:18:19 +01:00
CMakeModules CMake: Fix architecture detection on Windows 2023-04-18 12:27:39 +01:00
docs-mini Route-manager: is expose is-route property for UI 2022-12-02 12:22:15 +00:00
examples Use the correct GUI members for the Data Distribution Service example 2022-06-12 13:42:26 +01:00
icons Add CMake Linux install directives for the icons and the .desktop file 2017-05-24 22:47:01 +02:00
man Remove Rembrandt command-line options 2021-01-17 14:42:17 +00:00
package Add Polish translation to org.flightgear.FlightGear.desktop file 2022-05-02 18:19:44 +02:00
scripts vim syntax: Add a few keywords 2023-04-11 11:16:14 +01:00
src NavData: don't load XML extension files from unsuitable scenery paths 2023-07-20 22:07:43 +02:00
test_suite AI Fixes 2023-01-28 20:48:11 +01:00
utils Maintenance: namespace 2023-05-20 17:36:08 -05:00
.clang-format Tweak clang-format settings 2020-05-27 21:49:22 +01:00
.gitignore Precomputed random numbers API 2021-05-25 12:57:07 +01:00
AUTHORS
ChangeLog
CMakeLists.txt Clang: remove obsolete libc++ linkage flag 2023-02-20 09:52:55 +00:00
COPYING Fix minor compiler and checker warnings. 2011-12-19 21:35:50 +01:00
flightgear-version Update version information 2020-10-13 22:34:16 +01:00
INSTALL Add INSTALL file, split MSVC instructions from README.cmake 2012-06-08 13:20:39 +02:00
NEWS Update the NEWS file to reflect v2.0.0 changes. 2010-02-25 23:22:47 +01:00
README README typo 2007-07-24 05:35:31 +00:00
README.cmake Use CMAKE_INSTALL_BINDIR 2016-07-09 18:52:58 -04:00
README.msvc Add INSTALL file, split MSVC instructions from README.cmake 2012-06-08 13:20:39 +02:00
README.OSG Update README.OSG 2012-06-26 23:04:44 +02:00
README.plib Minor documentation update. 2007-11-18 14:22:40 +00:00
README.SimGear Documentation fixes: Updated the contents of README.plib and README.OpenAL. 2007-09-01 10:06:56 +00:00
README.sound Detect AeonWave and if it is installed use it, otherwise fall back to OpenAL. Also let get_available_devices() use C++ strings instead of const char* 2018-06-02 14:06:36 +02:00
Thanks Old address abandoned. 2015-08-26 08:05:30 -07:00

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!