1
0
Fork 0
Commit graph

2452 commits

Author SHA1 Message Date
Thomas Geymayer
1e4ba18284 Update/simplify property interpolation to latest SimGear changes 2013-03-17 23:49:15 +01:00
Thomas Geymayer
4b21dc51ee Replace SGInterpolator with new advanced interpolation system.
Allow for advanced animations using easing functions and adapters
for interpolating specific property types (eg. CSS colors).
Old behavior should not have changed.
2013-03-16 16:45:03 +01:00
James Turner
c487188bfc Show a message when pausing the sim. 2013-03-16 12:44:43 +00:00
James Turner
fce2a53fc7 Fix crash starting at heliport.
Don't assume FGAirports have runways, they might only have helipads.
2013-03-05 13:19:10 +00:00
James Turner
f2c267f5d7 MouseInput changes to support hover.
This adds the framework for platform cursor implementations; Windows and X11 to be done.
It also extend the mouse-input code to generate hover events suitable for driving tooltips.

Note there should be no visible functionality change from this commit, since everything
is inactive until fgdata changes are made.
2013-03-04 23:35:30 +00:00
Thomas Geymayer
3579a4404a Report std::exception in main loop 2013-03-04 23:13:36 +01:00
James Turner
1eb8ae1fbf Give the FGAirport class a sane filename.
simple.[cxx|hxx] -> airport.[cxx|hxx]
2013-02-21 11:32:02 +00:00
hooray
7fa1b9062e fg mingw fixes part #1
Conflicts:
	src/Main/bootstrap.cxx
2013-02-18 09:18:23 +00:00
Thomas Geymayer
6c10f99573 Make compiling of all utils/tools optional 2013-02-12 17:38:46 +01:00
James Turner
cedc3bb5c3 Typo fix, pointed out by Emillian. 2013-02-11 12:51:54 +00:00
James Turner
fdae459948 Allow HOME to be undefined, as on Windows. 2013-02-10 13:35:58 +00:00
James Turner
e08eb7457e Dump more config state at startup.
Ensure that log files capture enough config state to debug path/search issues. Easy to expand this mechanism now to record anything similar.
2013-02-08 13:15:20 +00:00
James Turner
9ccf159f81 Refactor FG_HOME init, so we can log sooner.
Logging to file now happens earlier, so some useful early output is captured.
2013-02-08 12:57:17 +00:00
Frederic Bouvier
7cc3ffb30f Fix build for windows after logstream changes 2013-02-08 08:46:34 +01:00
Christian Schmitt
2013f7149d Some headers missing... ;) 2013-02-07 19:00:54 +01:00
James Turner
7ad55a206e Adapt to revised logging API. 2013-02-07 12:02:52 +00:00
James Turner
0ced6a24a0 Log to file inside FG_HOME. 2013-02-07 12:02:52 +00:00
James Turner
240f98d0f3 Remove un-needed header. 2013-02-07 12:02:52 +00:00
James Turner
5ef475865c Append major/minor version to autosave file name.
Ensure that new minor versions get a clean autosave file. In practice
this means settings from 2.10 and 2.11 would co-exist, for example.
2013-02-03 16:57:31 +00:00
James Turner
4ca85f2653 Bug #385 - enable the Ati viewport hack on next.
Enabling this hack by default, to assess the impact for everyone. Should fix the issue for Ati Catalyst 11.5 users, and hopefully no impact for everyone else. All feedback appreciated. Set /sim/ati-viewport-hack to false if you think this option might be causing issues for you (and then tell James, ASAP)
2013-01-28 23:35:44 +00:00
James Turner
0d22797b90 XMLHTTPRequest: handle network level failures. 2012-12-29 14:37:33 +00:00
James Turner
2905c96f47 METAR selection of runway works for reset.
Explicitly reinit the realwx subsystem on sim-reset, so METAR is updated within the 10-second finalizePosition window.
2012-12-16 15:05:21 +00:00
James Turner
487638be7f Restructure positional finalisation for sim-reset.
Make position finalisation happen in the same phase as scenery load, i.e as a task during the main loop, instead of during the init loop. This is compatible with the existing reset logic. Unfortunately more work is needed; the environment code doesn't update the local station quickly enough on reset. (Fixing that is next!)
2012-12-15 15:25:45 +00:00
James Turner
1c8d9ef132 Search the current aircraft-dir implicitly.
If a file is specified without an 'Aircraft/subdir' prefix, check for it relative to the the current aircraft dir.
2012-12-13 09:10:39 +00:00
James Turner
433af2b51a Flight-path-history.
Record the historical flight-path (by default, since last takeoff). Optionally display the flight-path in the map; other visualisations (e.g., an 'in-world' view) could also be created. Nasal API to follow so Canvas-map or FMS can show the same data.

Altitude and attitude (Euler angles) are currently recorded but not used anywhere.
2012-12-10 18:11:44 +00:00
James Turner
dc132ab475 Issue #809, restructure position init code.
Modify startup sequence, so position can be modified late in the startup process, right before the scenery load starts. This allows two ugly hacks to move to a permanent, less hacky location. If other position init modes required similar late evaluation in the future, this can be accommodated now.

This is a somewhat high-risk change - I've tested both carrier starts and runway-selection based on realwx METAR, but please look out for other position-init issues and test before / after this patch.
2012-12-09 19:41:31 +00:00
ThorstenB
f0778a110b MSVC compile issues. 2012-11-24 13:33:36 +01:00
Mathias Froehlich
44ffdcd7d0 hla: add io chanel configuration shortcut hla-local. 2012-11-24 09:58:53 +01:00
ThorstenB
458edb9339 Use more specific logging classes for SG_LOG.
The log filters aren't really useful when everything uses SG_GENERAL.
2012-11-23 21:16:08 +01:00
ThorstenB
1827825fcb Clean up namespace issues
avoiding "uses..." in header files.
2012-11-23 21:16:08 +01:00
James Turner
9632bfcfd6 View-manager: update globals automatically.
Make the global view-manager pointer be controlled by the instance.
2012-11-20 13:33:20 +00:00
James Turner
cabb2a419f Allow a default name when adding subsystems. 2012-11-19 23:22:45 +00:00
James Turner
868b7b40dc Many more subsystems via the factory.
Not all of these are tested to actually be safe to add / remove at runtime, but an increasing number are.
2012-11-19 23:03:08 +00:00
James Turner
f1a7950202 XMLHttpRequest: only set failure signal on failure
Use failure as a real signal property - only set it / fire listeners on a real failure condition.
2012-11-19 23:02:35 +00:00
Thomas Geymayer
82884ab3c6 Improve finding gperftools and disable profiling by default (even with gperftools installed) 2012-11-19 13:11:03 +01:00
James Turner
379e7a2fd5 Make HTTPClient a proper subsystem.
Avoid some statics, and incidentally make the proxy host/port settings dynamic (re-init the subsystem to update proxy settings, woo).
2012-11-19 11:30:12 +00:00
ThorstenB
be3f94f63a Remove static subsystem dependencies
preventing us from recreating subsystems on reset/reinit.
2012-11-18 17:29:29 +01:00
Thomas Geymayer
d51499382d Clean up CanvasWidget and more work on Canvas/Nasal bindings 2012-11-18 16:46:03 +01:00
ThorstenB
a784443a24 Remove static property dependencies
preventing us from wiping properties on reset/reinit/subsystem recreate.
(more work required for "native_gui" and "ATC-Outputs" protocols)
2012-11-18 16:35:54 +01:00
ThorstenB
b577ec70fc Add command to toggle fullscreen mode. 2012-11-17 23:07:00 +01:00
ThorstenB
adc95a4b55 #600, for Curt... ;-) allow speed-up value to use fractions
"speed-up" can now also be used for slow-motion (i.e. 0.5 / 0.25 / ...)
or fractional speeds (3.141...). This was already working for instruments
(for replay) before, now it's also considered by FDM simulation.
2012-11-17 20:01:19 +01:00
James Turner
8a954f8338 Support request body on xmlhttprequest.
Allow XML property data to be submitted with a request; changes the request method from GET to POST. Supply nodes via the 'body' argument to the command.
2012-11-17 18:10:15 +00:00
Thomas Geymayer
48c1b51875 Add new property indicating whether profiler is available 2012-11-16 12:59:44 +01:00
Thomas Geymayer
779a9ae415 Really make profiling commands optional 2012-11-15 13:56:31 +01:00
Thomas Geymayer
fe1222a90d Optional profiling commands using gperftools 2012-11-15 11:55:37 +01:00
ThorstenB
fdb64a02a8 Extended replay and flight recording system
Save/restore replay sessions.
Replay system message support, so recorded flights can be turned into
flight tutorials.
2012-11-10 21:26:08 +01:00
James Turner
afcdbd3158 Overhaul the ground-net / parking code.
Use the nav-data-cache to cache groundnet information, including
parking positions and the taxi-node graph.
2012-11-08 09:07:05 +00:00
Thomas Geymayer
7e7d921515 Adapt for latest SimGear changes and insert missing bracket 2012-11-06 18:50:14 +01:00
Thomas Geymayer
28779e7a51 Update for new simgear Canvas system.
A refactored version of the Canvas system can now be found in
SimGear.
2012-11-04 14:18:31 +01:00
ThorstenB
5049ecce71 fg_io: Fixed mem leaks. 2012-11-01 14:42:26 +01:00
ThorstenB
a704a62081 Fix indentation and mixed-up white-space/tabs
(content otherwise unchanged)
2012-11-01 14:42:26 +01:00
Thomas Geymayer
71eeb62c1b Simplify canvas OpenVG initialization and fix sometimes rendering too lazy 2012-10-31 01:44:25 +01:00
ThorstenB
32b9c61528 ATIS upgrade
Add missing ATIS elements (transition level, expected approach,
precipitation, runway surface warnings).
Minor phraseology fixes for US/Europe.
Adds "/sim/atis/concise-report" option to use abbreviations (CAVOK etc),
and omit "obvious" units (depends on airport).
Trigger ATIS updates for significant pressure changes.
2012-10-13 16:48:56 +02:00
James Turner
4994973ef4 Separate instruments from cockpit displays. 2012-10-05 18:13:50 +01:00
James Turner
bcea720db3 Make the sound-manager optional in a few places. 2012-10-01 10:10:34 +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
3b6c2c426d Support a --no-default-config option.
For (future) easier testing of the sim, support a mode where only explicitly named config / option files are loaded, instead of the default ones. (Including, for example, preferences.xml). This currently produces a non-functional sim, but will soon be more useful :)

No behaviour should change unless you try the new option.
2012-09-29 19:02:03 +01:00
James Turner
8c80824dbd Tweak init order of controls/input. 2012-09-27 15:33:12 +01:00
James Turner
872e84d827 Make HUD items private to the subsystem.
Make the HUD independent of the instrument manager, and push most of the declarations from the header into a private header.
2012-09-26 17:02:11 +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
ebf3a0793d Tolerate the lack of a GUI in some places. 2012-09-26 13:39:38 +01:00
James Turner
b5820a4e90 Fix string-id for message translation. 2012-09-26 13:38:26 +01:00
James Turner
3d4806adbe Remove dead file. 2012-09-26 13:37:31 +01:00
Thomas Geymayer
2f630e502d Let fgGetLong actually return long instead of int 2012-09-25 23:24:29 +02: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
9426928cdf Fix a typo. 2012-09-25 10:07:11 +01:00
James Turner
649d579124 Helpers to access view position.
Avoid direct use of FGViewer in various places, by providing property-based accessors to the current view position.
2012-09-25 10:06:56 +01:00
James Turner
2f6172687e Make FGControls behave like a standard subsystem. 2012-09-25 00:48:48 +01:00
James Turner
b1ff365a8f Make FGTaxiNode and FGParking inherit FGPositioned.
In preparation for caching the groundnet in the NavCache, make taxi-nodes and parkings inherit from FGPositioned. As part of this, make them heap (as opposed to value) classes, disable their copy-constructors, remove many mutating operations, and give them real constructors.
2012-09-25 00:31:17 +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
James Turner
6c6452c62b Adapt to revised SGTime API
Convert SGTime users to pass SGGeod/SGPath instead of raw values.
2012-09-24 00:03:23 +01:00
James Turner
b1854459b3 Clean up dynamics/parking handing code.
Refactor some parking / airport-dynamics APIs, in preparation for caching the ground cache data in the nav-cache.
2012-09-23 21:42:40 +01:00
ThorstenB
acb7fb8e95 Fix shared library build with sqlite
Dependency to threading lib is required (It is already provided for
static SimGear).
2012-09-22 14:23:14 +02:00
ThorstenB
88592bfe71 splash screen: use language resource for translation
Also pimp the progress spinner.
2012-09-21 19:36:25 +02:00
ThorstenB
05e9172220 Avoid AL warning messages when using "--show-sound-devices". 2012-09-21 15:33:13 +02:00
ThorstenB
f8b689c040 Allow instruments/systems to reset on sim reset
so they can instantly adjust to the changed environment.
(Not fully working yet, since some environment settings, like environemnt
pressure/temperature, still changes slowly after a sim reset - instead of
immediately jumping to the new setting. Also, METAR sometimes arrives too
late...).
2012-09-19 20:57:52 +02:00
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
50c61b4211 Allow use of the system's SQLite3 library.
Keep distro packagers happy by having the option to use the system's sqlite library instead of our bundled version. Set SYSTEM_SQLITE=1 when running cmake to use the system one.
2012-09-19 14:28:25 +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
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
Mathias Froehlich
65a5f6744f cmake: Make rti/hla compile again. 2012-09-16 21:16:57 +02:00
Frederic Bouvier
db53e4c0b8 Sort fgfs source files in IDE folders 2012-09-16 19:26:53 +02:00
Thomas Geymayer
0554d987e8 property-interpolate: support using rate instead of time.
- property-interpolate now supports specifying the
   interpolation time by passing rate instead of the actual time,
   similar to max-rate-of-change in the noise-spike filter.
2012-09-06 14:05:57 +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
James Turner
7fabeed85d Fix some places relying on public 'using std::string' in SimGear
(Otherwise my next SimGear commit will break them)
2012-08-21 17:07:47 +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
James Turner
909ed99332 Ensure WSAStartup is called for metar.exe 2012-07-27 17:51:04 +01:00
Stuart Buchanan
5e3ec6209c Add command to reload materials definitions. Note that this explicitly
does not attempt to delete the old materials definitions, as they
may be in use at the time.
2012-07-19 22:06:08 +01: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
ThorstenB
39a7caae15 Proper error checks for generic protocol.
Drop FGGeneric instances which failed to initialize to avoid run-time
issues.
2012-07-13 20:33:36 +02:00
ThorstenB
7edbf8a8c9 #798: climb rate cannot be higher than the true speed
Don't set vertical-speed on sim reset, unless the user intentionally
requested this as a start-up property.
2012-07-08 11:40:24 +02:00
Thomas Geymayer
569042acbd Allow filling paths and do some clean up/fixing. 2012-06-17 21:14:00 +01:00
Thomas Geymayer
c8e1433a5c Add ShivaVG sources 2012-06-17 21:13:54 +01:00
Thomas Geymayer
df768766d9 Canvas: basic support for OpenVG (path with stroke and pattern)
- Bugfix: Don't access children by index as it's not unique
2012-06-17 21:13:47 +01: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
Frederic Bouvier
6b2ba60772 rename /sim/rendering/rembrandt -> /sim/rendering/rembrandt/enabled
and put rembrandt-related properties in /sim/rendering/rembrandt/
2012-05-12 13:45:36 +02:00
Frederic Bouvier
dd8d9a6f60 First round of changes toward a programmable rendering pipeline.
Stages are predefined for now.
2012-05-12 13:45:35 +02:00
Frederic Bouvier
6b008126b5 Begin to implement configurable rendering pipeline 2012-05-12 13:45:31 +02:00
ThorstenB
b91175d47a Adapt logging level for some messages.
Also keep default logging level during very early startup at "alert"
(unless explicitly set on cmd-line).
2012-05-09 23:56:43 +02:00
ThorstenB
de6ac7153d Improve debug output 2012-05-08 23:04:53 +02:00
ThorstenB
0b7b0f16a8 Improve fgfs startup logging.
Establish log-level very, very early during startup, so debug/info/warning
messages in the very early fgfs startup phase are also shown.
2012-05-08 22:47:32 +02:00
ThorstenB
563ed19f97 Add Windows-specific implementation to determine locale settings. 2012-05-06 23:15:27 +02:00
ThorstenB
0f462d4a6e Fix rpmlint/Linux packager complaints
about outdated/invalid FSF address in some license headers.
2012-05-05 01:42:41 +02:00
ThorstenB
e59fabaf82 Clean-up some SGMath dependencies. 2012-05-05 00:56:29 +02:00
ThorstenB
3986e1fe3a Add separate switch to enable/disable AI scenario support.
Switch is enabled automatically when scenarios are given on command-line.
2012-04-30 19:04:49 +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
Frederic Bouvier
7006ca12a8 Don't care about light volumes when picking in the scenegraph 2012-04-24 23:35:05 +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
b358af2611 Minor clean-up. 2012-04-21 19:06:10 +02:00
ThorstenB
2a4ab38e70 Move another string to the language resource. 2012-04-18 15:44: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
James Turner
516d92c077 Fix part of #263, --language option not working for --help. 2012-04-18 12:46:26 +01:00
James Turner
2218a44ed7 Support loading PropertyList data remotely, as part of #450. Along the way, centralise the HTTPClient object so it can be used beyond the METAR download engine. 2012-04-18 10:25:27 +01:00
Frederic Bouvier
7d3195aaa6 Make the number of shadow cascades and the range of each configurable 2012-04-17 09:13:54 +02:00
James Turner
96ee2b1577 Tweak ODGauge usage, fix multiple instances of NavDisplay or wxRadar. 2012-04-15 12:03:21 +01:00
Frederic Bouvier
0a1417e06d Get rid of RG16 buffer made possible by a different way to encode normals 2012-04-12 23:59:42 +02:00
ThorstenB
4348f17b8c #738: crash when switching 2D panels
FGPanelNode doesn't always own its "_panel" object - so it's not ok to
always delete it. Use ref-counting/smart-pointers instead.
2012-04-12 00:03:16 +02:00
Frederic Bouvier
ec4b006c08 Rembrandt: Restore rendering stats
intercept first change in stats display to change stats handler camera render order
2012-04-09 17:41:33 +02:00
ThorstenB
9effb06047 Fix scenery reload issues.
Aircraft could fall through the ground on scenery reload. Properly reset
the "sceneryloaded" flag to pause FDM processing while scenery is being
reloaded. Also stop processing some instruments while scenery is reloaded.
2012-04-07 16:20:22 +02:00
Frederic Bouvier
43f7ebcb35 Restore splash screen for the Rembrandt renderer 2012-04-05 23:30:38 +02:00
ThorstenB
8c74b47a0d Add "--max-fps" option to limit frame rate. 2012-04-05 21:02:09 +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
Frederic Bouvier
44de0e1df4 Honor /sim/rendering/shadows/enabled preference 2012-04-04 20:43:16 +02:00
Frederic Bouvier
f7174f5422 Code cosmetic 2012-04-03 23:17:04 +02:00
Frederic Bouvier
8f5e9619aa Fix issue with sky added in commit 25e0ab0b82 2012-04-03 08:41:28 +02:00
Frederic Bouvier
93ad2f2ef6 Hopefully fix the shadow disappearing because of range animation issue in a more elegant way 2012-04-02 23:54:31 +02:00
Frederic Bouvier
65d86e872d Restore messages and fog draw order reverted in the previous commit 2012-04-02 23:36:34 +02:00
Frederic Bouvier
93d97374e1 Revert "Disable LOD when rendering to the shadow map."
This reverts commit e46357d819.
2012-04-02 20:07:29 +02:00
Frederic Bouvier
25e0ab0b82 Enable light source for transparent surfaces 2012-04-01 23:37:47 +02:00
Frederic Bouvier
e46357d819 Disable LOD when rendering to the shadow map.
Produce few NaNs at start
2012-04-01 23:07:33 +02:00
Frederic Bouvier
b05bbddde5 Make the shadow map available for effects 2012-03-31 22:50:38 +02:00
Frederic Bouvier
7e6ecfec56 Fix picking zone display 2012-03-31 21:59:50 +02:00
Frederic Bouvier
e4094356f5 Be sure to not render light volumes in the classical renderer 2012-03-31 20:39:47 +02:00
Frederic Bouvier
2416f9f8d8 Working spot and point lights
Use 8bit normals if /sim/rendering/no-16bit-buffer is set to true. May be usefull for old card returning 0x8cda at fbo setup time
White/gray specular material
s/Tabs/Spaces/
2012-03-31 20:16:36 +02:00
Frederic Bouvier
954a09dce1 Shadow map size settable at run-time. It needs to be a power of two. Now needs a real gui dialog 2012-03-30 22:30:26 +02:00
Frederic Bouvier
1194f1f991 Implement Cascade Shadow Mapping in the Rembrandt renderer.
Shadow map size is set by the /sim/rendering/shadows/map-size property before starting fgfs. Its default value is 4096. Maximum value is 16384 in most card
2012-03-30 07:28:04 +02:00
Frederic Bouvier
8a382cd536 Fix normal storage into texture data. Input [-1..1] should be output to [0..1] 2012-03-28 22:39:28 +02:00
ThorstenB
834d4e1e3e CameraGroup: adapt order of member vars to their init sequence.
(Avoids flood of "init sequence" GCC warnings, whenever CameraGroup.hxx
is included anywhere)
2012-03-26 21:21:41 +02:00
ThorstenB
d436484c21 Prevent negative alpha value
(affects splash screen)
2012-03-26 21:11:04 +02:00
James Turner
a38362646d Don't create intermediate static libraries for build fgfs. (Speeds up rebuilds in Xcode dramatically, possible in other IDEs too) 2012-03-26 13:09:39 +01:00
Frederic Bouvier
2e735e6234 Warn of harmless messages caused by the Rembrandt renderer 2012-03-25 19:05:10 +02:00
Frederic Bouvier
79396655a3 Remove tabs 2012-03-25 16:07:56 +02:00
Frederic Bouvier
416e6df9e3 First, preliminary, code of the Rembrandt renderer.
The new renderer is activated by the --enable-rembrandt option, or in the preferences.xml file.
The renderer at this stage doesn't have shadows yet, and shows a lighting bug. The slash screen doesn't work too.
2012-03-25 16:06:54 +02:00
Frederic Bouvier
86185c8014 Add options to enable or disable the Rembrandt renderer 2012-03-25 15:28:19 +02:00
Frederic Bouvier
400129ae15 Allow any number of cameras as render stages for a single viewport 2012-03-25 15:28:17 +02:00
Frederic Bouvier
19e7163971 Compile with MSVC 9 2012-03-25 14:39:24 +02:00
Frederic Bouvier
94e3ae4c67 Choose renderer from /sim/rendering/rembrandt property 2012-03-25 14:39:22 +02:00
Frederic Bouvier
1a3f69723b Move camera setup to the renderer 2012-03-25 14:39:19 +02:00
Frederic Bouvier
bca4683d52 Small refactoring in CameraInfo 2012-03-25 14:37:43 +02:00
ThorstenB
22c20a2f09 Make FG_OPTIONS_EXIT work.
'fgfs --version' wants to exit...
2012-03-17 12:01:51 +01: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
Mathias Froehlich
1ddb658a70 scenery: Move flightgears paging back into the application.
This way of scenery paging is really application code.
Now that the simgear stg loader is seperated from the paging
code, this appication specific paging can reside here.
May be at some time also use the spt stuff here.
2012-03-15 20:56:37 +01:00
Mathias Froehlich
44c716bb03 scenery: The tile entries load callback is not needed anymore.
The stg loader can do this itself.
2012-03-15 19:39:07 +01:00
Torsten Dreyer
5caa42af8e Make use of auto-coordination more flexible
- move property /sim/auto-coordination to
  /controls/flight/auto-coordination
- introduce new property /controls/flight/auto-coordination-factor
  with default of 0.5
- auto-coordinate the rudder if auto-coordination is true and the factor
  is greater than zero

backward compatibility for the old property is temporary provided by
a temporary Nasal hack in FGDATA/Nasal/aircraft.nas
2012-03-13 21:00:22 +01:00
ThorstenB
0abf252ec8 Use tiedPropertyLists instead of manually matched tie/untie calls.
Ensures we don't forget to untie some individual properties.
2012-03-04 15:30:08 +01:00
ThorstenB
d0d86bf0b7 Fix type issue.
multi-sample-buffers is int, not bool.
2012-03-03 21:39:22 +01:00
Mathias Froehlich
742f0eb939 Fix compile past last simgear change. 2012-03-03 14:05:43 +01:00
ThorstenB
da73dd97d3 Clean-up cmake (linker) dependencies. 2012-02-24 22:23:15 +01:00
Torsten Dreyer
62dfa8cc64 new command: property-interpolate
exposes the SGInterpolator to <binding><command>
formerly only accessible via Nasal
2012-02-02 22:17:34 +01: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
5f6012802f Use existing define to supply version number. 2012-01-31 21:42:37 +01:00
ThorstenB
3e08e5ecfe Minor clean-up. 2012-01-29 10:34:11 +01:00
ThorstenB
477e621633 #561: normalize to [0-360[ 2012-01-22 19:15:25 +01:00
ThorstenB
90ce4ec93d Clean-up: move autosave.xml loading code to proper method 2012-01-17 23:49:25 +01:00
Torsten Dreyer
3bfee87bba bump version number to 2.7.0 2012-01-17 08:36:20 +01:00
Torsten Dreyer
979fc9785b bump version number to 2.6.0 2012-01-17 07:46:52 +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
6f4a090770 #199: fix issue with relative paths
Relative paths don't work with FG. Since we Linux users just love
command-lines and often do use relative paths, make sure to convert them
before use.
2012-01-12 22:14:17 +01:00
Mathias Froehlich
db241f3e10 Handle unset texture-compression property correctly. 2012-01-08 20:19:36 +01:00
ThorstenB
484d3c61f8 #561, clean-up using normalizePeriodic. Thanks to Hyde & James. 2012-01-07 08:17:34 +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
23cdb0d302 #561: keep magnetic heading within limits when mag-variation is negative
Thanks to Hyde!
2012-01-04 00:00:10 +01:00
ThorstenB
dac00efbc7 Fix some compiler warnings.
Comment out unused code.
2012-01-02 23:16:17 +01: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
Mathias Froehlich
48b4596a5f Make the use of the compressed internal format a configuration option. 2011-12-29 12:24:04 +01:00
Erik Hofman
cbdd89493f properly add librt when clock_gettime is used 2011-12-24 11:34:35 +01:00
ThorstenB
b575446b36 Add some debug messages to help analyzing #385. 2011-12-17 15:26:50 +01:00
ThorstenB
dcaf3d9aea Avoid spamming the log output
Stop printing "State == Running" debug messages in every update loop
(makes "--log-level=debug" a lot more usable)
2011-12-17 15:22:50 +01:00
ThorstenB
d47342a5a4 Add --log-class option, improve logging classes.
Replace SG_GENERAL by more specific log classes in many places.
Allow "," to separate logging classes (using "|" is odd on the
command-line).
Also add new option to make logging more useful for developers.
You can use:
  --log-level=debug --log-class=environment
to only get environment debug messages, or
  --log-level=debug --log-class=sound,ai
to only get debug messages related to the sound or AI subsystem.
2011-12-11 14:06:17 +01:00
Frederic Bouvier
14b76a1d63 Multiple --atlas options are valid (one for Atlas, one for Terrasync) 2011-12-11 13:12:18 +01:00
ThorstenB
07aa70dce9 sound: fix sound-buffer-in-use issue
FGFX objects must be dereferenced early enough, and sound manager must be
removed late enough - otherwise openal complains about resources being
still in use when tryin to remove buffers.
Also: do not create FGFX objects for AI/MP aircraft, when AI sound is
disabled.
2011-12-04 17:18:02 +01:00
ThorstenB
9933a7cb4a cmake: add support for Torsten's UDev EventInput
(Hopefully meeting Torsten's quality expectations)
2011-12-04 14:37:25 +01:00
ThorstenB
32c4cfa768 Fix shared library build for metar executable 2011-11-30 21:45:22 +01:00
James Turner
f054f15693 Fixes for linking with shared SimGear. 2011-11-29 10:24:33 +00: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
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
85924cf953 Fix some Windows std:: namespace issues. 2011-11-13 21:27:55 +00:00
Mathias Froehlich
42fb9b8e9f Consolidate the different ReaderWriterOptions classes. 2011-11-13 18:34:53 +01:00
James Turner
f51d58686a Fix http://code.google.com/p/flightgear-bugs/issues/detail?id=484, further compatibility with previous options processing ordering. 2011-11-10 09:15:41 +00: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
a4a8d08392 JPEG-server support, in the CMake world. 2011-11-05 17:11:39 +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
Anders Gidenstam
cc1ab5b8b5 src/Main/options.cxx: It is rather common to have two --multiplay arguments. 2011-11-02 20:35:37 +01:00
James Turner
70b4f38ebc Goodbye automake. 2011-11-01 11:15:53 +00:00
James Turner
e3037b638f Restore options *processing* order (which is now distinct from *parsing* order), to resolve issues when distinct but internally overlapping options are specified, e.g. for initial position or time. 2011-10-31 13:08:58 +00:00
ThorstenB
c697c3cc3d Fix stupid compile-time switch issue...
... introduced by recent commit.
2011-10-30 20:49:48 +01:00
ThorstenB
acdf0dc469 Clean-up date/time option parser.
Add range checks and provide error messages.
Extend time offset to 64bit - so we're safe for 2038-01-19 (and the next
couple of millions years beyond...).
Support partial date/time strings, such as --start-date-gmt=2011 or
--start-date-gmt=:::12:00:00
2011-10-30 14:48:53 +01:00
Mathias Froehlich
2a4657c609 Fix returning reference to temporary. 2011-10-30 10:31:41 +01:00
ThorstenB
b6695cd3fa Configure font in osg StatsHandler for OSG3.
OSG3 relies on "fonts/arial.ttf" being available. FG doesn't provide it -
so it's not necessarily available everywhere (not here). Use one of our
txf fonts instead.
2011-10-29 21:58:11 +02:00
Curtis L. Olson
f59a0611f2 Add OPTION_MULTI to several more options that could potentially be used
multiple times to write/read data to more than one source.
2011-10-29 10:34:06 -05:00
Mathias Froehlich
49b82663e2 Forward resize events to the stats handler. 2011-10-29 14:12:08 +02:00
James Turner
facf4c12d4 Make various protocols support multiple definitions, with the new options parsing code. 2011-10-29 11:15:45 +01:00
Mathias Froehlich
0bd7078c42 Make use of SGTimeStamp for sleep* 2011-10-28 17:01:50 +02:00
James Turner
956ba8845b Fix Mac crashing on exit - link order determines library load order at runtime, and both ALUT and OpenAL.framework (on Mac) define the alut symbols. Fix the order so we always use ALUT.framework for the alut symbols. 2011-10-28 15:09:10 +01:00
James Turner
16a54a4409 Change a hot-spot in the AI code, to use cartesian instead of geodetic math. 2011-10-26 17:26:11 +01:00
Mathias Froehlich
fea00cc9f8 Add seamless view muliscreen configuration.
Add a new way to configure multi screen systems.
The new version allows easier configuration of displays
that need to fit at the edges as well as configurations
where the screens match at reference points.
This kind of screen configuration will again zoom.
2011-10-23 16:40:13 +02:00
Mathias Froehlich
ad660380c2 Add fixed-near-far camera config parameter.
If set to true, the decision about the near and far
planes in the viewer are still adapted to not clip away
everything before the configured near plane.
2011-10-23 16:40:13 +02: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
e1be74902a Fix automake linkage of metar utility. 2011-10-21 14:15:40 +01:00
James Turner
1b3ea65b5e Hold an owning ref to the HTTTP request. 2011-10-21 12:58:19 +01:00
James Turner
c5cbc57895 Bring metar helper into CMake world, and use new HTTP code. 2011-10-21 12:48:42 +01: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
3d861475f7 Fix two issues caught by the German QA department ;) 2011-10-17 17:39:47 +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
407a495546 Automate TerraSync integration with the scenery / dir creation. Now can be used with only --enable-terrasync (and some patience) 2011-10-16 21:46:27 +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
0431822e2a Fix Unix build. 2011-10-16 19:17:23 +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
Torsten Dreyer
7431c14ba6 don't use uninitialized variables 2011-10-09 21:37:52 +02:00
ThorstenB
30e2db94b1 Add generic "open-browser" command to show URLs or local HTML/text pages.
Replace deprecated "old-help-dialog" command with generic "open-browser".
Can also be used to add links to aircraft manuals in the menubar (local
file or http) , i.e.
<binding>
    <command>open-browser</command>
    <path>Aircraft/ogeL/FlightManual.html</path>
</binding>
2011-10-09 12:37:43 +02:00
James Turner
c4c5cc850b Adjust cursor-setting code, for better compatibility with Cocoa-Viewer (OSG patch still required, unfortunately) 2011-10-04 09:17:56 +01:00
James Turner
1692bc749e Mac: Work-around for OSG3's Cocoa Viewer interacting badly with PUI 2011-10-04 09:14:15 +01:00
ThorstenB
ab84ff5904 Replay upgrade, part II: Integrate flight recorder, update replay system.
Drop hard-coded replay property logic, cut ties to net_ctrls, net_fdm.
Improve replay system controls and status information.
2011-10-01 22:58:40 +02:00
Mathias Froehlich
af1e00ac72 clouds: remove unused bump mapping flag. 2011-10-01 09:22:44 +02:00
Durk Talsma
b482188848 Whoops, lazy copy/paste job. 2011-09-22 22:08:20 +02:00
Durk Talsma
e00157d4e8 Merge branch 'next' of gitorious.org:fg/flightgear into next 2011-09-22 19:09:36 +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