1
0
Fork 0
Commit graph

713 commits

Author SHA1 Message Date
Thomas Geymayer
71eeb62c1b Simplify canvas OpenVG initialization and fix sometimes rendering too lazy 2012-10-31 01:44:25 +01:00
James Turner
8608a48073 Initial work on dynamic subsystem creation.
Make subsystems create-able and removable from commands. Only some subsystems are supported so far, since many have non-default constructors or other complexities.

With this, change, it's possible to dynamically add and remove the traffic-manager at runtime, for example: fgcommand("add-subsystem", props.Node.new({ "subsystem": "traffic-manager", "name":"traffic-manager", "do-bind-init":1}));
2012-09-30 16:34:51 +01:00
James Turner
a67d8e1983 All FPU control happens in bootstrap.cxx
Remove some platform includes which don't belong in main.cxx
2012-09-26 16:25:18 +01:00
James Turner
b5820a4e90 Fix string-id for message translation. 2012-09-26 13:38:26 +01:00
ThorstenB
dac8706e2e Move GUI init code to gui module. 2012-09-25 22:39:13 +02:00
James Turner
a10638c6b4 Use a helper thread to rebuild the navcache.
Avoid the application becoming unresponsive during nav-cache rebuilds. We still have to wait for the rebuild, but perform it on a helper thread so the main GUI thread stays responsive and hence doesn't trigger a beach-ball / 'not responding' alert. Also ensures there's some feedback (the spinner) during the rebuild operation, so users don't think we've hung.
2012-09-25 17:24:12 +01:00
James Turner
2f6172687e Make FGControls behave like a standard subsystem. 2012-09-25 00:48:48 +01:00
ThorstenB
a2cfef95fb Minor tile manager clean-up.
The tilemgr schedules scenery, so it should also trigger the
"sceneryloaded" signals once it's done.
2012-09-24 23:42:25 +02:00
ThorstenB
88592bfe71 splash screen: use language resource for translation
Also pimp the progress spinner.
2012-09-21 19:36:25 +02: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
Stuart Buchanan
9d30d622ae Expose the shader language version, to help diagnostics. 2012-09-18 15:48:06 +01:00
James Turner
505796e349 Make magavr a regular subsystem.
Remove various hacks and make magvar work like a normal subsystem, as part of the environment manager. Fix the remaining users of the globals->get_mag accessor, and hence kill off the global pointer.
2012-09-18 00:58:27 +01:00
ThorstenB
01376eec31 Minor main loop/init clean-up 2012-09-17 13:45:31 +02:00
ThorstenB
06170ddaae Handle scenery-override in a single place only. 2012-09-17 13:45:31 +02: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
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
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
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
James Turner
8c187164fe Work on making 2D panels act like standard scene-graph elements for picking and drawing.
(This includes 2.5D panels in the 3D scene)
2012-03-16 17:22:18 +00:00
Torsten Dreyer
72483d565b initialize the heading-indicator/offset-deg in it's class
Don't initialize the offset in the main loop but in
the init method of the implementing class. This ensures
it gets initialized if you instantiate more than one
heading-indicator and does not initialize the property for
unsused heading-indicators (no more stray heading-indicator-fg
property anymore).
2012-02-01 22:24:06 +01:00
ThorstenB
0b6579e0e4 Fix a minor warning.
System complains about "system" call's result being ignored.
2012-01-12 22:14:17 +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
James Turner
a05ea36acb Restructure GUI code, isolate PLIB in source files, to ease future refactoring and alternative GUI layers. 2011-11-19 20:25:51 +00: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
daf644d600 Revert my code-cleanup, causing startup crashes, bah. 2011-11-04 12:02:43 +00:00
James Turner
ecced6be78 Fewer static properties in the main loop, minor code tidying. 2011-11-04 09:40:09 +00:00
Mathias Froehlich
0bd7078c42 Make use of SGTimeStamp for sleep* 2011-10-28 17:01:50 +02:00
James Turner
b1b4b7ecf4 Fix (nearly) all the std:: namespace violations in headers, in preparation for fixing SGsmplstat.hxx to *not* do a 'using namespace std'. 2011-10-17 17:41:59 +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
Mathias Froehlich
af1e00ac72 clouds: remove unused bump mapping flag. 2011-10-01 09:22:44 +02:00
Torsten Dreyer
d860c949e3 Merge branch 'next' of gitorious.org:fg/flightgear into next 2011-09-21 19:19:10 +02:00
James Turner
227b3e469c Remove indirection on viewer draw/resize code-paths. 2011-09-21 17:13:53 +01:00
Torsten Dreyer
25707ce82e Add debug messages for real-weather runway selection 2011-09-20 16:15:47 +02:00
ThorstenB
e9a9f8c96d Use some more logging class variety.
Stop using SG_GENERAL and SG_ALL everywhere. Using different
classes makes switching the classes really useful...
2011-08-12 00:09:26 +02:00
Torsten Dreyer
62e46b09a5 fix for #381:fgfs -h -v throws error with no --fg-root
Because there is no help without fgdata,
be a little more verbose with the error message and
give the user at least a hint about what might help.
2011-07-28 22:52:40 +02:00
Torsten Dreyer
c238f86637 Bump to version 2.5.0 2011-07-17 11:07:07 +02:00
Torsten Dreyer
172c635f03 Bump version to 2.4.0 2011-07-17 10:47:27 +02:00
ThorstenB
ee40e8ae3f Introduce terrasync subsystem.
Fix tile reloading issue.
2011-06-12 00:44:07 +02:00
ThorstenB
db7112c20b Remove stray space
Thanks to Vivian - make MSVC9 happy again.
2011-06-06 19:53:21 +02:00
ThorstenB
bc9ffe96c2 Minor error message formatting. 2011-06-04 17:55:37 +02:00
Torsten Dreyer
0774ca000a Anticipating v2.4.0 - bump fgdata version to 2.3.0 2011-06-04 15:53:38 +02:00
ThorstenB
dd9d82d941 Some minor splash screen status improvements. 2011-05-22 18:32:15 +02:00
ThorstenB
473d1447c3 Minor renderer clean-up & performance bits.
Use non-static methods so we can use member variables.
2011-05-21 13:24:23 +02:00
ThorstenB
82f6d29f9f Improve OSG caching.
Ensure property tree is provided early to modellib.
To disable: --prop:sim/rendering/cache=0 (enabled by default)
(also requires simgear update)
2011-04-03 19:13:51 +02:00
ThorstenB
38226af24e Improve timing statistics
Enable/disable and print statistics at run-time.
Configurable intervals and filters.
2011-03-23 23:09:02 +01:00
Dave Luff
d6fceb3fbc Remove conditional compilation of ATCDCL
This patch removes the conditional compilation of ATCDCL, compiling both
the old and new ATC systems.  The old system only provides ATIS, AWOS and
some dialog lookups, and hence should not conflict with the new system.
2010-12-28 18:23:40 +00:00
Dave Luff
86505fd8bc Fix up some include paths in main.cxx
Don't include legacy ATCmgr.hxx when it is not compiled (default).
Do include 3 paths that are necessary for main, but were only picked
up indirectly through the legacy ATC code.
2010-12-26 23:19:57 +00:00