1
0
Fork 0
Commit graph

219 commits

Author SHA1 Message Date
Fernando García Liñán
6f676ee85b Compositor: Added $FG_ROOT/Compositor/Effects as a resource provider. 2020-03-24 19:44:05 +01:00
James Turner
162ba266d0 Fix a warning 2020-03-20 11:40:47 -07:00
James Turner
27410761f3 Lots of UTF8 path correctness fixes 2020-03-12 14:23:44 +00:00
Julian Smith
ab7e7ec7b4 src/Main/globals.cxx: don't load /ai/models/ from autosave.xml file.
This cleans things up if earlier 'next' build as added spurious property items
to autosave.
2020-03-11 21:49:15 +00:00
Edward d'Auvergne
332c240b38 SGSubsystemGroup: Removal of the subsystem group naming.
This is a partial reversion of 5253215065, the
changes of which are incompatible with the subsystem class IDs.
2019-07-01 14:27:30 +02:00
Edward d'Auvergne
fb5c36fc82 SGSubsystem classes: Renaming of the subsystem ID variables and functions. 2019-07-01 14:27:30 +02:00
James Turner
4e8e69b4f8 Migrate invert-mouse-wheel setting from pre 2019.x
Flip the sense of this property, since the interpretation in SG is
also flipped now.
2019-04-11 20:40:17 +01:00
Richard Harrison
5253215065 Improvements to performance monitoring.
* Ensure that subsystems are named.
* Nasal timers are named appropriately
2019-02-10 18:07:07 +01:00
James Turner
dee1998979 Less Boost. 2019-02-06 17:36:36 +00:00
Richard Harrison
1e636ce4cf Support for DDS Texture Cache
- pass texture cache control properties to simgear
 - /sim/rendering/texture-cache/cache-enabled
 - /sim/rendering/texture-cache/compress-transparent
 - /sim/rendering/texture-cache/compress-solid
 - /sim/rendering/texture-cache/compress

- support --texture-cache-dir command line option
- set max reported supported texture size during splashscreen.
2018-11-24 20:21:46 +01:00
Edward d'Auvergne
feb854946e TestSuite: Complete removal of FG_TESTLIB. 2018-07-26 15:52:07 +02:00
Edward d'Auvergne
4699939275 Globals: Initial support for a runtime headless mode. 2018-07-26 15:52:06 +02:00
Edward d'Auvergne
b0c5a5481d TestSuite: Migration of the autosaveMigration tests into the CppUnit infrastructure. 2018-07-26 15:52:06 +02:00
James Turner
a5aa6fb61b Cleanup the resource manager when deleting globals 2018-05-28 22:43:05 +02:00
Florent Rougon
717fdfec39 Add-ons: register the add-on ResourceProvider with the simgear::ResourceManager
This makes it possible to look up files from add-on directories using
for instance FGGlobals::resolve_resource_path(), passing a string such
as "[addon=ADDON_ID]relative/path" as explained in the previous commit.
2018-01-10 01:25:36 +01:00
Stuart Buchanan
02ceb8832a Correct spacing of settings migration dialog 2017-10-13 17:36:20 +01:00
James Turner
32cc9be007 Enable auto-save migration.
When performing the migration, let the user know it happened, and to
be alert for any issues that might occur.
2017-09-20 17:57:25 +01:00
James Turner
cf56ef1913 Migration test runs successfully now. 2017-04-13 13:14:53 +01:00
James Turner
3e1a701712 Migrate old autosave XML files. (Disabled for now)
Code and tests to demonstrate migrating of older auto-save files, with
blacklisting support to exclude properties. Disabled pending agreement
on the required blacklisting values.
2017-04-13 08:01:45 +01:00
James Turner
31e933d836 Kill the Aircraft/foo path warning.
We probably need a warning for cross-aircraft paths, but leaving that
for a separate change since I’m worried it will warn on MP aircraft.

Maybe better checked in the Python scripts than in the app?
2017-03-25 15:40:11 +00:00
James Turner
9e122eaf81 Partial testing framework.
Compile a useful subset of FG as a shared library, and add two basic
uses of this to exercise some Flightplan / RoutePath / navaid
functions.

The test framework can/will be expanded incrementally from here, this
is just a starting point.
2017-03-25 15:35:26 +00:00
James Turner
3653508412 Build- and run-time concept of developer mode.
Make a single Cmake value to expose the build type to code, and use
this to default a run-time ‘developer-mode’ property, which can be
over-ridden from the command line.

Use this to drive the different warning levels. Policies subject to
review, especially whether nightly builds should default to 
developer mode or not.
2017-02-27 23:37:59 +00:00
Peter Sadrozinski
ec4b9f8542 Alternative terrain engine based on pagedLOD
- remove TileMgr from sub systems - add to btg terrain engine
2017-02-26 10:17:15 -05:00
James Turner
85f75dee4f Fix a couple of potential crashes on exit.
- Font cache shutdown explicitly
- Pending GUI snapshot cleared explicitly

Both of these are dependencies on the osgViewer / GLContext.
2016-12-10 23:24:09 +00:00
James Turner
e64a2db5a0 Remove the scenery path mangling.
Requires a matching SG commit for correct operation.
2016-11-20 22:42:48 +00:00
Florent Rougon
b1b7f07edb Add FGGlobals::autosaveFilePath(); improve code related to {load,save}UserSettings()
Apart from providing a public method giving a path to the autosave file,
the main idea of this commit is to reduce redundancy where
globals->get_fg_home() was so far used in every place where the autosave
file is needed or saved. Use an optional argument for
FGGlobals::loadUserSettings() and FGGlobals::saveUserSettings()[1],
since it should be exceptional to access an autosave file in another
location than $FG_HOME.

Also add comments explaining how to avoid security pitfalls with
saveUserSettings() (cf. discussion around
<https://sourceforge.net/p/flightgear/mailman/message/35461636/>).

[1] Argument *added* to this method, for consistency with
    FGGlobals::loadUserSettings().
2016-11-09 11:46:39 +01:00
Florent Rougon
fc81258d13 Add FGGlobals::get/set_download_dir(), unify TerraSync and download dirs setup
Similar to the existing FGGlobals::get/set_terrasync_dir(), add
FGGlobals::get_download_dir() and FGGlobals::set_download_dir() methods,
and of course the corresponding FGGlobals::download_dir public member
variable. FGGlobals::set_download_dir() stores the realpath() of the
given directory, including into the /sim/paths/download-dir property,
which is marked as read-only just as /sim/terrasync/scenery-dir already
is.

Handle the setup of the TerraSync and download dirs all in the same
place (Options::processOptions()), since most of the work is already
done there. This allows one to get rid of fgOptTerrasyncDir() and
fgOptDownloadDir(), and to make it easier to see that
globals->set_terrasync_dir() (resp. globals->set_download_dir()) is
called on the correct SGPath, regardless of whether --terrasync-dir
(resp. --download-dir) was passed.

Always create the TerraSync and download dirs when they don't already
exist, regardless of whether --terrasync-dir or --download-dir has been
given on the command line.

Add comments explaining how to avoid security pitfalls with download and
TerraSync dirs (cf. discussion around
<https://sourceforge.net/p/flightgear/mailman/message/35461636/>).

Adjust indentation where it was too broken, hampering readbility.
2016-11-08 22:23:51 +01:00
Rebecca N. Palmer
0ec47c9802 Simplify Nasal security code 2016-10-18 23:01:24 +01:00
Rebecca N. Palmer
0a256038d3 Remove set-scenery-paths, make all scenery paths Nasal-readable
(It was probably broken anyway, due to path caching in tilemgr.cxx)
2016-10-18 22:29:44 +01:00
Rebecca N. Palmer
3b1f01c49d stop using /sim/terrasync/scenery-dir, fix scenery path order
Having non-Nasal-readable scenery paths breaks things
(The property continues to exist, but is now from-C++-to-Nasal only)
2016-10-18 22:10:09 +01:00
Rebecca N. Palmer
31cb65e8d9 Nasal security: add --allow-nasal-read, warn on non-Nasal-readable
Terrasync, prepare for allowing --download-dir

Add unmangled_fg_scenery
2016-10-09 15:21:09 +01:00
Erik Hofman
9ec4d7749f Add support for AeonWave 2016-08-04 18:43:10 +02:00
James Turner
6d0c2070fd Use future-proof SGPath APIs.
Remove uses of .str(), .c_str() and some other methods of SGPath.
Pass SGPath directly where possible, or explicitly convert to the
appropriate 8-bit encoding.
2016-06-28 10:08:38 +01:00
James Turner
16814800ce Use Paths instead of strings. 2016-06-22 17:36:05 +01:00
Torsten Dreyer
585b4a7f70 Fix "failed to load file: Models/..."
After removing /Models from FGData loading of shared models from
within a scenery model failed because the ResourceManager did not know
about additional scenery paths.
2016-03-19 21:08:24 +01:00
James Turner
02ff854603 Re-Name FGViewer to flightgear::View
- avoids confusion with osgViewer and fgviewer application.

(source files to be renamed in a follow-up commit)
2016-02-17 21:25:39 +00:00
James Turner
c400405b0a Chatter-queue moved out of globals
- now lives as part of the sound-manager, yay.
2016-01-03 12:00:15 -06:00
James Turner
fc9c43b48d Remove FontCache from globals.
- access via a singleton instead.
2016-01-03 12:00:15 -06:00
James Turner
52fd6986f8 Pull Sound-manager out of FGGlobals 2015-12-31 15:19:57 -06:00
James Turner
ba56c42eb4 Pull Ephemeris out of FGGlobals 2015-12-31 15:19:51 -06:00
James Turner
c69e6fde12 AI subsystem now does an orderly shutdown
- remove special case logic which is no longer required
2015-12-19 00:30:31 -08:00
James Turner
b7c88e7acc Stop OSG threading earlier on shutdown.
Avoid intermittent race conditions on shutdown when the OSG 
pager/Db thread is running. Ensure the OSG threads are stopped before
we start tearing down any scene graph nodes.
2015-12-18 22:00:37 -08:00
James Turner
0f590280c7 Aircraft-model subsystem behaves better
- make shutdown logic more robust
- shutdown is no longer special cased in globals.
2015-12-18 20:13:23 -08:00
James Turner
89065ea5c2 Proper shutdown() for the model manager
- also move property setup to bind/unbind
2015-12-18 19:56:56 -08:00
James Turner
1544641405 Remove view/tile/scenery members from globals
- also fix sound manager creation
2015-12-11 12:11:59 -06:00
James Turner
43fcbd2246 Progress towards testing
- remove route-manager from global variables
2015-12-10 16:40:22 -06:00
James Turner
d7a680e848 Templated subsystem handling
- remove explicit FGControls var from globals, as part of work
  towards unit-testing infrastructure.
2015-12-10 15:53:05 -06:00
James Turner
8bfb1c3aa5 Move functionality into clear_fg_scenerey helper. 2015-11-27 23:25:53 +00:00
Rebecca N. Palmer
3e462f3056 fgValidatePath: allow Nasal to read user-set scenery directories
(but not the Terrasync directory, as Nasal can change that)
2015-11-22 11:27:39 +00:00
James Turner
2314ccfe13 Developer-warnings
- make some existing warnings developer-mode only
- add a warning about legacy aircraft path usage
2015-11-13 22:13:44 +00:00