1
0
Fork 0
Commit graph

527 commits

Author SHA1 Message Date
ThorstenB
a68716316f Adjust subsystem order (instruments vs systems)
"instruments" depend on "systems" (pitot/static pressure etc), so
"systems" should be there first.
2012-09-19 20:53:54 +02:00
ThorstenB
f6207d5cb8 Minor renaming issue. 2012-09-19 20:52:36 +02:00
James Turner
029012b8b9 Kill off some globals.
Break some subsystem dependencies, by explicitly using properties to read the primary position, orientation and velocities. (Instead of directly accessing the primary model placement). This means a couple more globals can die.
2012-09-19 18:17:44 +01:00
James Turner
c9351e0185 Whoops, some code got re-introduced.
Merging/rebase the navcache re-added this code to fg_init.cxx, remove it again.
2012-09-19 15:56:23 +01:00
James Turner
9b900e9430 Implement a persistent cache for navigation data.
Cache the parsed navigation and airport data in a binary file to reduce
startup times and memory consumption (since only referenced FGPositioned
elements are held in memory).

Data will be reimported when the mod-time of any input file is changed.
If a global file is changed (nav.dat, awy.dat, apt.dat, etc), the cache
will be completely rebuilt, which takes approximately 30 seconds on
moderate hardware. (Future work may reduce this).
2012-09-19 11:38:19 +01:00
James Turner
ffbb0a0e5d Sink position-init code into its own file.
Separate other init functions from position init, since they are unrelated, and made fg_init.cxx very complex. Next step will be brining some sanity to the position init logic :)
2012-09-18 20:50:28 +01:00
James Turner
e2eea405a3 Make subsystem init incremental.
(Requires latest SimGear!)

Break fgInitSubsystems into several phases - subsystem creation, then binding and then init. Run init over multiple main-loop iterations so the application stays responsive to GUI/OS events during init. 

There should be no behaviour changes due to this, except that during init Windows and OS-X should no longer show the beach ball / 'application not responding feedback', hopefully.
2012-09-18 20:29:36 +01:00
ThorstenB
7415696492 Create FGSoundManager as a wrapper for SGSoundMgr_OpenAl
and sink all sound related code from main.cxx in there.
2012-09-17 13:45:31 +02:00
Stuart Buchanan
cce186a57c Add properties for raw axis and button values, for use
in joystick configuration function.  Also rationalize references to
/sim/fg-home into a global property.
2012-08-23 21:52:30 +01:00
ThorstenB
59fe04f8e9 Make web browser app configurable through CMake (for Linux)
so package builders don't need local patches.
Also, instead of hardcoded firefox, use "xdg-open" or "sensible-browser"
launchers on Linux, to auto-detect user's preferred browser.
Override with cmake switch -DWEB_BROWSER=...
(Not affecting Mac/Win which are hard-coded anyway).
2012-08-18 14:11:31 +02:00
Thomas Geymayer
8a6a234653 Canvas: First version of new Canvas GUI system.
- Refactor CanvasMgr into PropertyBasedMgr to be also used
   for the Canvas GUI system.
 - Get rid of tied properties in the Canvas system.
 - Add new placement type 'window' for placing canvases onto
   windows
 - Pass mouse events to Window class (only if cursor is over
   window)
 - Refactor canvas placement clean up
2012-07-31 23:19:23 +02:00
Thomas Geymayer
373d511c69 Canvas: Allow using canvases as PUI widgets.
- Add new widget type canvas
 - Set canvas view dimension from the gui xml.
 - Expose mouse events to canvas widget properties.
2012-07-31 23:19:22 +02:00
ThorstenB
831662fca8 Option to restore defaults and enable/disable random buildings+vegetation
fgfs can fail to start when random buildings is set to an excessive level,
so you can't even reach the GUI setting to reduce/disable again.
2012-07-15 10:56:59 +02:00
ThorstenB
00fe1e3445 #803: apply hotfix to revive "--carrier" option. 2012-07-14 10:01:29 +02:00
James Turner
17ec3278ed Remove platform-specific code in favour of simgear::Dir wrappers. 2012-05-31 08:57:22 +01:00
Thomas Geymayer
d82fd7cc5f Basic 2D canvas implementation.
Support text and transformations for the moment, more
features to follow in due course.
2012-05-18 07:05:37 +01:00
James Turner
8f10fff8dc Lazy-loading of the 2D panel node.
Sink the 2D panel logic into FGPanelNode, simplifying
renderer.cxx and a few other places. Also allows potential
for unloading / paging of 2.5D panels in the future.
2012-05-16 11:43:09 +01:00
ThorstenB
a2922e2e23 ATCDCL cleanup, part II.
Remove/comment out obsolete code.
Refactor ATCmgr(-old) into ATISmgr(-new), only keeping the COM radio / ATIS
support.
2012-05-12 23:53:30 +02:00
James Turner
2d267a5782 Remove PositionedBinding (which no one ever used), Nasal is better for this jobs. 2012-04-26 00:37:47 +01:00
ThorstenB
89b41395d8 Move viewer-related sources to separate folder.
Simple source directory clean-up, so "Main" folder contains fewer stuff
and the list of files in the editors a lot shorter.
2012-04-25 23:28:00 +02:00
James Turner
fb66aeade1 More search functions exposed to Nasal, also airport parking. 2012-04-24 22:12:56 +01:00
ThorstenB
470552fab1 Move locale code to separate module.
Introduce convenience methods to handle localized string resources
and obtain strings.
2012-04-21 20:17:42 +02:00
ThorstenB
201d9d7852 Be more tolerant about locale name when detecting the default language,
i.e. consider the German resource provided for "de_DE" or "de" when
locale name is "de_DE.utf8".
2012-04-18 15:43:42 +02:00
Torsten Dreyer
68e1a8c4cb Autopilot: save loads of CPU cycles
Not every xml-autopilot filter needs to run at the update rate
of the FDM. This only makes sense for the autpilot filters. Those,
who update instrument needles or environment properties for example
may run at frame rate.
This patch (thanks to ThorstenB, who is the author) forces those
filters defined in /sim/systems/autopilot into the FDM loop and those
defined in /sim/systems/property-rule into the default loop. They
show up as xml-autopilot and xml-proprules in the performance monitor
2012-04-05 20:40:07 +02:00
ThorstenB
3e08e5ecfe Minor clean-up. 2012-01-29 10:34:11 +01:00
ThorstenB
90ce4ec93d Clean-up: move autosave.xml loading code to proper method 2012-01-17 23:49:25 +01:00
James Turner
a0bfa25aa7 Tweak the app-data path on Mac, after discussion with Tat. 2012-01-05 22:10:19 +00:00
ThorstenB
229d9273d7 #545 related: User settings not saved when window was closed
via the window buttons instead of pressing ESC or using menu exit.
(More code should be moved after the 2.6 release)
2011-12-30 00:39:31 +01:00
ThorstenB
e1c1a28288 Introduce some structure in fgMainLoop.
- Move some code to sub functions.
- Make sound manager a subsystem-manager member (and make sure it's
still processed last).
2011-11-20 16:21:15 +01:00
ThorstenB
339c57e0b2 Adapt path of performance-monitor properties. 2011-11-19 22:37:13 +01:00
ThorstenB
4b2506d709 Add new performance monitoring subsystem.
Rename some subsystems for naming consistency.
2011-11-19 15:37:49 +01:00
James Turner
c1eca1ff6b Refactor SGSky handling and ownership - sink into Renderer, remove global variable 'the sky', and hence clean up main loop and subsystem creation a little more. 2011-11-05 17:11:52 +00:00
James Turner
e50ff87300 Relocate appData fgfsrc loading prior to init of fg-root, so we can specify --fg-root that way. 2011-10-21 16:49:15 +01:00
James Turner
0f5d27c10e Detect and read a config file in FG_HOME - allows nicer tweaking of settings on Mac/Windows for people with Terminal/cmd.exe phobia :) 2011-10-16 21:54:47 +01:00
James Turner
3d0254f6ec Allow aircraft-dir option to override aircraft search logic completely. 2011-10-16 21:15:54 +01:00
James Turner
ccb21d4c0c And keep platforms other than my beloved OS-X working too ;) 2011-10-16 19:58:22 +01:00
James Turner
6adb42078e Refactor fg-home computation, use Library/Application Support on Mac. 2011-10-16 19:55:04 +01:00
James Turner
b1c7495fec Restructure option/config handling code, to avoid multiple scans & parses for special options (fg-root/fg-aircraft/aircraft). Push most of the code into a new Options class, inside options.cxx, and clean up various call-sites as a result. 2011-10-16 18:35:40 +01:00
Durk Talsma
b482188848 Whoops, lazy copy/paste job. 2011-09-22 22:08:20 +02:00
Durk Talsma
5ae207c2fc Prefetch a previously saved aircraft settings configuration file to retrieve aircraft usage and livery information. Fallback to default settings in aircraft-set.xml file if not found. 2011-09-22 19:06:26 +02:00
Durk Talsma
db816deb90 Added a new startup option. By giving the command line option --parkpos=AVAILABLE you can -in principle- let FlightGear decide what the most optimal parking location is. This option does require a few properties to be set that are also needed for future ATC use. Hence, they are listed under /sim/ATC, but could move to a different location if desired.
/sim/ATC/radius should be a nummeric estimate of the size of your aircraft. A small aircraft fits into a large parking, but a large aircraft does not fit into a small parking space. Because the AI part of radius is also used for slightly different purposes (prioritizing gate assignmments, the given valuem may deviate slightly from the real aircraft size. See http:/wiki.flightgear.org/Aircraft.radii for an overview of currently used values for the redius property.
/sim/ATC/flight-type can be any one of "ga", "cargo", "gate", "mil-fighter", "mil-cargo", or "vtol". See http://wiki.flightgear.org/Interactive_traffic#A_technical_perspective for more information.
optionally, the property /sim/ATC/airline can be set set to a three letter icao airline code. By way of illustration, I will commit a number of startup preset files setting these properties shortly.

Also did some more finetuning to the traffic mananger routing algorithm can be any one of "ga", "cargo", "gate", "mil-fighter", "mil-cargo", or "vtol". See http://wiki.flightgear.org/Interactive_traffic#A_technical_perspective for more information.
optionally, the property /sim/ATC/airline can be set set to a three letter icao airline code. By way of illustration, I will commit a number of startup preset files setting these properties shortly.

Also did some more finetuning to the traffic mananger routing algorithm.
2011-09-17 16:51:00 +02:00
Anders Gidenstam
a2972051a9 Added an --materials-file option to select the materials file to use at startup.
The property /sim/rendering/materials-file can also be used for this purpose.
2011-09-03 21:48:50 +02:00
James Turner
6c52a5ac85 Fixes for include-file flattening - condition.hxx no longer pulls in props or props_io 2011-07-30 10:47:28 +01:00
Durk Talsma
5228053f7f Merge branch 'next' into durk-atc 2011-07-24 08:44:22 +02:00
Torsten Dreyer
c6d5b6ebdb Partial fix for #228: ambiguous navaid-names
This fixes at least the startup process.
If an ambigous fix name was presented with --vor=ID or --ndb=ID
present a list of matching records along with frequency and
position in the console to give the user the chance to pick
the correct one by adding the frequency with --vor-frequency=nnn.nn

It does not yes solve the issue when the user relocates using the
GUI dialog. This requires some GUI and Nasal hacking along with a
new Nasal helper function "navaidinfo".
2011-07-18 11:09:43 +02:00
Durk Talsma
f9a5f921a4 Merge branch 'next' into durk-atc
Resolving merge conflicts indicated below.
Conflicts:
	src/ATC/CMakeLists.txt
	src/ATC/Makefile.am
	src/Main/fg_init.cxx
2011-06-01 20:46:34 +02:00
James Turner
2b967608a0 Expose FGPositioned data via property tree, and make comm-stations a real FGPositioned subclass. 2011-06-01 17:45:22 +01:00
ThorstenB
e42a8f597c Automatic tower positioning
New "auto-position" switch to always use closest tower for tower-view.
Exposes new "/sim/airport/closest-airport-id" property.
Display closest airport on groundradar by default.
2011-04-18 22:54:33 +02:00
Durk Talsma
960f6881c9 Merge branch 'next' into durk-atc 2011-04-19 18:02:30 +02:00
Durk Talsma
52b0baace1 adding changed files for previous commit. 2011-04-03 17:58:16 +02:00