1
0
Fork 0
Commit graph

8560 commits

Author SHA1 Message Date
Clément de l'Hamaide
c0c8158ca1 FGCom: force 8.33KHz to be handled even if the frequency doesn't exist 2014-01-16 18:15:58 +01:00
James Turner
2a354e224c Make Traffic-via-terrasync conditional
GUI dialog already set the property, just need to pick it up.
2014-01-15 22:01:02 +00:00
James Turner
5e7574c9c2 Bug-fix: Cocoa menus work in aircraft with custom dialogs.
Restarting the GUI could cause Cocoa menus to misbehave, due to
destruction behaviour of SGBinding. Use new clear() helper in the
short term to work around this.
2014-01-15 22:00:09 +00:00
James Turner
2b55acd3eb Tweaks to fg-aircraft handling.
Warn (but do not require, since people would probably complain) when
added paths do not contain an Aircraft subdir. When people specify
a path which ends in /Aircraft, use the parent directory.
2014-01-15 17:10:12 +00:00
James Turner
d8a3f160ef Bugfix: guard against corrupted airport XML. 2014-01-14 13:42:11 +00:00
James Turner
1b9394fc37 Crashfix: move spatial, AI queries in map-widget
In threaded OSG drawing, MapWidget::draw runs in the render
thread context, but touches lots of main thread state. Move most of the
work to an update() helper run on the main thread instead, so draw()
mostly makes pure GL calls.

(This is a fix for 3.0, the real solution is to migrate to a
Canvas-based map and GUI)
2014-01-14 13:11:06 +00:00
James Turner
976f3115a9 GPS bug fix: restore startup mode.
- the 'default to current airport' behaviour got broken by the
changes to the scratch. 
- expose a 'valid' flag on WP1
2014-01-14 13:04:52 +00:00
James Turner
9993e0a588 Fix bug 1286 - mouse scroll-wheel+shift ignored
On Mac, the OS is mapping shift+wheel to horizontal scrolling for
those of us without a mighty-mouse or trackpad. Detect this case
and map back to vertical scrolling inside FlightGear for the moment.

https://code.google.com/p/flightgear-bugs/issues/detail?id=1286
2014-01-13 21:08:32 +00:00
James Turner
061154d7a6 Reset, fix Nasal timers added on shutdown. 2014-01-13 20:13:34 +00:00
James Turner
4d0eeb8184 Reset work, fix time-slew on OSG event handling. 2014-01-13 20:13:34 +00:00
Clément de l'Hamaide
606643a199 FGCom: update special_frq for built-in/standalone sync 2014-01-12 21:17:57 +01:00
James Turner
7316360421 Clear the custom OSG notify logger on shutdown.
Should avert crashes due to order of static destruction.
2014-01-12 17:18:35 +00:00
James Turner
7b8a64b614 Crash fix: thread-safe material conditions
When tiles are being loaded, re-evaluate the materials cache once
per update cycle. (This is probably too often, but no worse than the
previous approach).
2014-01-06 08:28:40 +00:00
James Turner
448539a6b9 Fix crash: Quit via Cmd-Q on Mac.
Tweak static-init order of some OSG objects, so they are valid when
fg_terminate runs, and hence orderly shutdown in possible.
2014-01-04 17:27:55 +00:00
James Turner
9e773e85f8 #1291, hang on exit with OSG threading.
Explicitly stop threading during shutdown, before destroying various
rendering / viewer related structures.
2014-01-04 16:10:42 +00:00
James Turner
580a7f07dd Fix METAR-download bug on Windows.
https://code.google.com/p/flightgear-bugs/issues/detail?id=1207

Use the new (in SimGear) sgGMTime helper when comparing METAR age.
This prevents users in time-zones 4 or more hours ahead of GMT from
being unable to use METAR reports.
2014-01-01 21:05:29 +00:00
James Turner
47e802e674 Fix for the fix: check for a viewer.
- avoid a crash if we bail out before creating the viewer (missing
data or bad aircraft)
2013-12-30 17:16:53 +00:00
James Turner
b0db2a764f Fix crash on exit (cancel the osgDB pager)
- borrow some code from the new reset codepath to cleanly stop the
OSG pager thread during normal shutdown. Avoids a race-condition 
destroying various structures the pager thread might be modifying.
2013-12-30 15:24:15 +00:00
Thomas Geymayer
5b537b6999 PID: ensure correct initialization with large sampling interval 2013-12-22 14:18:25 +01:00
James Turner
0940a33907 Use a real function to wrap isfinite differences.
Don't worry about compiler ability to inline the macro for the moment;
use a real function to ensure lookup is stable on different compilers.
2013-12-22 11:18:48 +00:00
James Turner
43358a2418 Fix a crash where we show a message-box on start.
Don't assume we got as far as creating a viewer when destroying
the renderer.
2013-12-21 15:31:27 +00:00
James Turner
c717b70231 Support non-C99 mode in MSVC. 2013-12-21 15:31:27 +00:00
James Turner
4c51ad0d87 Cocoa: fix warning about deprecated function.
SetFrontProcess is deprecated, use NSApplication instead now we
have the CocoaHelpers file.
2013-12-21 15:31:27 +00:00
James Turner
b3dbfe21fe Fix some warnings from new Xcode.
finite is deprecated, use C99 isfinite as recommended.
2013-12-20 12:42:12 +00:00
Rebecca Palmer
4427ee7406 Always make sure the Terrasync directory is set and exists
This was previously done only if Terrasync was on, but this made
it impossible to use the GUI dialog to turn it on for the first
time in a fresh install
2013-12-20 12:39:23 +00:00
James Turner
24c1129140 Bugfix: avoid sky colour errors when vis < 1000m
(needs the accompanying Simgear change in SGSky)
2013-12-19 17:18:09 +00:00
James Turner
5cf8157a66 Security: more conservative dir permission masks.
Use 0755 instead of 077 everywhere we create a directory.
2013-12-19 14:53:39 +00:00
James Turner
52f2f5ff78 Bugfix: remove the (totally broken) skyblend option 2013-12-19 14:53:39 +00:00
Torsten Dreyer
d1cae3ab4d autopilot: add the forgotten RateLimitFilter 2013-12-19 09:40:24 +01:00
Thomas Geymayer
67be73fdde Expose SGPath to Nasal 2013-12-18 10:30:19 +01:00
Torsten Dreyer
1ffa09cc49 Add new filters from Alan Teeder 2013-12-17 17:28:16 +01:00
James Turner
12ea6824eb Rembrandt: fix sky color at altitude.
Don't override global clear color in the Lighting stage. Should fix ugly 'circle' appearing due to sky sphere being clipped when above 32000 ft.

Fix suggested by Emilian H.
2013-12-17 13:56:26 +00:00
Rebecca Palmer
617e638242 Stop --native-ctrls option from breaking JSBSim
Remove unused instance of FGControls from FGNativeCtrls, as it was
binding to the property tree in place of the globals->get_controls
that JSBSim reads input from, blocking all input
2013-12-15 21:32:40 +00:00
Rebecca Palmer
bf1fe65bc5 Disable screensaver: initial Linux-only implementation
Add a function fgOSDisableScreensaver() that attempts to disable the
screensaver (currently only succeeding on Linux), and call it on startup.

CMake option USE_DBUS (on by default), requires libdbus-1

Motivation: most screensavers do not monitor the joystick
https://bugs.launchpad.net/ubuntu/+source/flightgear/+bug/793599

Discussion: http://sourceforge.net/p/flightgear/mailman/message/31717061/
2013-12-15 21:18:22 +00:00
James Turner
b3534ff8c2 Reset: use new copy-properties helper. 2013-12-15 20:46:34 +00:00
James Turner
f07042f7d7 Use binding-list fire helper. 2013-12-15 20:43:27 +00:00
James Turner
df3f842f8a Reset: Clear the pager queues, preserve properties. 2013-12-09 23:27:40 +00:00
James Turner
5d8fa03090 Shutdown: clear effects cleanly.
Avoids effects (and referenced properties / objects within) persisting
due to references in the effects cache, after globals are gone.
2013-12-09 23:27:40 +00:00
Thomas Geymayer
93dff17649 Set "/sim/fghome-readonly" to false also for Windows.
"/sim/fghome-readonly" is read with a default of false always,
but I think the code should set it explicitly to false for all
platforms.
2013-12-09 23:16:25 +01:00
Thomas Geymayer
13d94f240c Check return values if write and unlink. 2013-12-09 23:15:35 +01:00
Thomas Geymayer
5fb7b2e12c Canvas: Now only one global SystemAdapter is used... 2013-12-09 23:13:45 +01:00
James Turner
0dcfd361a4 Kill an obsolete static in the osgViewer wrapper. 2013-12-09 21:47:18 +00:00
James Turner
7719ad920d Bug 1289, crash on AP reload
- missed update for revised subsystem ownership in the AP code.

https://code.google.com/p/flightgear-bugs/issues/detail?id=1289
2013-12-09 21:46:34 +00:00
ThorstenB
01b824929c Route manager support to read flightplans in GPX format 2013-12-08 19:36:16 +01:00
Thomas Geymayer
3a170e1a39 Scripting: clean up a bit and user more of cppbind. 2013-12-08 19:24:45 +01:00
Thomas Geymayer
cac6407a8e Add positioned.diff for fast difference calculations on positioned lists. 2013-12-08 19:24:45 +01:00
James Turner
0bad1258a3 Reset: clear the viewer scene.
On renderer shutdown, clear the viewer scene completely.
2013-12-07 15:06:39 +00:00
Thomas Geymayer
39c41eaab9 FGLinuxEventInput: check return value of write. 2013-12-07 13:48:04 +01:00
Thomas Geymayer
fcc6d3edc2 Expose SGPropertyNode::removeAllChildren() to Nasal. 2013-12-07 13:47:10 +01:00
James Turner
5a1a1781e2 Reset: ensure FGODGuage shutsdown cleanly.
- remove ODGuage instances during shutdown phase (don't wait until
deletion)
2013-12-06 18:45:45 +00:00
James Turner
bb0aee4c02 Renderer: get rid of static scene references. 2013-12-06 17:38:23 +00:00
James Turner
6763d232cd Reset: clear the osg object cache 2013-12-06 17:38:23 +00:00
janodesbois
71fa329f27 velocities/uBody got a capitale B forgot this in mp tree, maybe it would be better to male it it lower case? 2013-12-04 21:13:09 +01:00
James Turner
7ff9792b96 Reset: listener cleanup 2013-12-04 09:11:26 +00:00
James Turner
8cd71ff1ef Reset: clear effects cache 2013-12-04 09:09:47 +00:00
James Turner
9c11dfd545 Reset: free nasal-module-listeners on shutdown. 2013-12-03 21:38:45 +00:00
Gijs de Rooy
4dbcdbcceb Output route manager ETA in seconds 2013-12-03 22:37:53 +01:00
James Turner
3e1af8248a Fix a copy-paste bug in the route-manager.
autopilot/route-manager/departure/field-elevation-ft was giving
destination field elevation, not departure. Thanks to Hyde Yamakawa for
noticing this.
2013-12-01 21:48:03 +00:00
James Turner
8aba04c3a2 Reset: change FDM ownership
- make the FDM owned via a SGSharedPtr
- drop some property references explicitly.
2013-12-01 21:37:17 +00:00
James Turner
8bcf597086 Remap JSB-sim debug levels from SG_LOG levels.
(Avoids the entire aircraft config being dumped to the console at
log-level info)
2013-12-01 21:37:16 +00:00
Clément de l'Hamaide
efdb488736 Fix accent bug in MapWidget 2013-12-01 18:50:54 +01:00
Thomas Geymayer
e8f4e25c8c CanvasWidget: get new GUI camera on reset. 2013-12-01 12:58:17 +01:00
Thomas Geymayer
bf477ba678 Canvas GUI: completely reset on reinit 2013-12-01 01:35:30 +01:00
bcoconni
b996eca299 Fix for bug #1238: the accelerations, velocities, etc. are now updated to a consistent set of values prior to exiting the trim routines. 2013-11-29 19:37:39 +01:00
James Turner
25bf3793bd Reset: fix a static in play-audio-sample
Had to add this to FGGlobals, since it needs to be cleaned up
alongside the sound manager (which ideally it would be owned by, 
but that's a change for another day)
2013-11-25 23:53:58 +00:00
James Turner
4dcd96c4af Remove dependency on command-mgr singleton
Use explicit instance (from globals)
2013-11-25 09:14:46 +00:00
bcoconni
69baf3a9d6 Synchronized with JSBSim/CVS 2013-11-24 20:12:17 +01:00
bcoconni
d3f6ab38c2 Fixed a race condition so that FG runs most of the time (instead of crashes most of the time) 2013-11-24 20:06:28 +01:00
James Turner
77075a2d66 Cocoa: more Function-key shortcuts in menus 2013-11-24 17:25:02 +00:00
James Turner
d99109c9e4 Reset: do re-init Ghost bindings. 2013-11-24 15:10:00 +00:00
James Turner
57c9ed1ae3 Cocoa menu fixes for reset 2013-11-24 15:10:00 +00:00
James Turner
2015016466 Break config init / aircraft loading apart.
Allows aircraft loading to proceed during reset without original
values over-writing the updated ones.
2013-11-24 15:10:00 +00:00
Thomas Geymayer
42ab4fd222 Canvas/GUI: add/remove placement factories on init/shutdown. 2013-11-24 15:50:44 +01:00
James Turner
af6095c5d1 Reset: do general init on reset path 2013-11-22 22:52:33 +00:00
James Turner
0fbc448af0 Nasal changes for reset
- reduce use of global context (will die soon)
- replace static wrappedNode ref which breaks reset
2013-11-22 22:52:33 +00:00
James Turner
c3c0f68f76 NavData: can refresh some in-place.
(Hacking to support faster scenery-path switching)
2013-11-22 22:52:33 +00:00
James Turner
1d8b080782 Reset: delete mat-lib, re-create on reset 2013-11-22 22:52:29 +00:00
James Turner
1f699984e9 One more Mac helper moved into CocoaHelpers.mm 2013-11-19 22:01:11 +00:00
James Turner
875227057c Structural work (init + shutdown) for new reset system.
The new approach is still work in progress (compile time option) and 
non-functional, existing reset still works.
2013-11-19 17:38:51 +00:00
James Turner
2331956539 One more Mac helper moved into CocoaHelpers.mm 2013-11-18 15:52:30 +00:00
James Turner
8b4b49cad2 Read-only mode fixes. 2013-11-18 15:40:14 +00:00
James Turner
2455d86d8b Fix a propObj -> node conversion bug.
Thanks to Bertrand Coconnier for spotting this.
2013-11-18 08:40:34 +00:00
Clément de l'Hamaide
2d145e072e FGCom built-in: restore speaker volume settings 2013-11-17 23:37:37 +01:00
janodesbois
6afc17a763 static.cxx msvc bug correction. 2013-11-17 17:26:56 +01:00
Eric van den Berg
8770e61d1b static port can be side-slip/alpha dependant, to add a part of total
pressure on the reported static pressure.
2013-11-16 23:21:11 +01:00
James Turner
2c4ac08895 Globals: delete/shutdown tweaks.
Avoid aircraft-model crash in accessing fx/sound
during shutdown.
2013-11-16 14:25:12 +00:00
James Turner
fe357ba2a9 Refactor aircraft-dir visiting.
Cap maximum depth to avoid bug 865
2013-11-16 14:24:37 +00:00
James Turner
d2962ffb2d Reset: refactor static CameraGroup ownership 2013-11-16 13:02:47 +00:00
James Turner
98078cdd55 Reset: make fgSetDefaults non-static. 2013-11-16 13:02:43 +00:00
James Turner
88aef8caf8 Reset: guard against picks during re-init 2013-11-16 12:28:56 +00:00
James Turner
0191b597e7 Environment manager: use aircraft_pos helper 2013-11-16 12:28:51 +00:00
James Turner
b4b0d635bd Reset: AIbase, drop references 2013-11-16 12:10:53 +00:00
James Turner
780393e2fe Release property refs on shutdown. 2013-11-16 11:56:42 +00:00
James Turner
fecb475145 Refactor Cocoa helpers.
Change away from using deprecated FSFindFolder.
2013-11-16 10:58:17 +00:00
James Turner
ea822a99e1 Fix some warnings identified by Clang
_ unused private members. Removed in most cases, commented
out in a couple of cases where it feels as if the code might be used in the future.
2013-11-16 09:41:33 +00:00
James Turner
2bff8d2220 Fix Linux build
Linux needs explicit includes for open() and flags.
2013-11-16 09:31:18 +00:00
James Turner
0cda3cbfb2 Multiple-instance support.
Write PID file to FG_HOME, use this to detect multiple launches.
When this situation is detected, set a marker property and place various
objects into read-only mode, such as the NavCache and TerraSync.

PID file is created using open+unlink semantics on POSIX, and 
DELETE_ON_CLOSE on Windows, so it will be removed when fgfs exits,
even if killed or crashes.
2013-11-15 21:04:15 +00:00
James Turner
13d5fd4c25 More tweaks for Linux.
(Needs explicit include of stdio, and stdarg in the header)
2013-11-14 23:32:02 +00:00
James Turner
ef55d175dd Linux needs stdarg.h for va_args 2013-11-14 23:14:51 +00:00
James Turner
1f7fdc3e07 Kill some archaic options. 2013-11-14 23:14:46 +00:00
bcoconni
139af0026f Synchronized FG with the removal of 'using std::*' in simgear's easyxml 2013-11-14 22:07:50 +00:00
James Turner
1db9d25f56 Translation helpers, add global functions.
These are designed for compact access to translations, including a
positional printf.
2013-11-14 22:03:00 +00:00
James Turner
136cd6ac51 Message box support.
This allows us to display a platform-native dialog for problems
which occur early in startup (before we can show a PUI/Canvas dialog).

In particular this improves feedback where FG_HOME, FG_DATA or
aircraft selection is wrong, all of which happen very early in startup.
2013-11-14 22:02:29 +00:00
Clément de l'Hamaide
7e90c8aa2b Force 32 bits depth on .ico - only for Windows 2013-11-14 21:24:56 +01:00
James Turner
e25aa4f004 Fix some static property references.
(These cause problems when replacing the property tree during reset)
2013-11-14 16:37:46 +00:00
Clément de l'Hamaide
1c49890bec Icons update 2013-11-13 22:49:07 +01:00
James Turner
4a3b8c5765 Reset: changes for SGSubsystem ownership.
Keep in sync with updated ownership model in subsystem groups.
2013-11-12 23:36:18 +00:00
James Turner
44246d7708 Reset: adjust for tweaked TerraSync API 2013-11-12 23:10:19 +00:00
James Turner
af40bcb60e Reset: explicit close-window function.
Allow orderly shutdown of OSG before cxa_finalize
2013-11-12 22:57:13 +00:00
James Turner
58fa30b24d Reset: uninstall deletion-manager 2013-11-12 22:55:50 +00:00
James Turner
72b85b28da Reset: route-manager guard against no plan. 2013-11-12 22:55:36 +00:00
James Turner
e008f610d1 Reset: ATIS shutdown fix 2013-11-12 22:51:23 +00:00
James Turner
41eaa58c13 Reset: panel-node cleans up listener.
Also get rid of the global FGPanelNode pointer.
2013-11-12 22:51:15 +00:00
James Turner
2322fca9c9 Reset: guard against NULL HUD / lighting 2013-11-12 22:51:10 +00:00
James Turner
6eb4e833ae Reset: sound manager can be shutdown cleanly 2013-11-12 22:50:18 +00:00
James Turner
9a77efacd9 Reset: drop FGLight prop refs on unbind() 2013-11-12 22:49:48 +00:00
James Turner
0751556aab Reset: remove commands 2013-11-12 22:47:46 +00:00
James Turner
069a098909 Reset: use simple properties for TimeManager 2013-11-12 22:47:45 +00:00
James Turner
881df711ba Reset: Nasal can be shutdown.
Also guard against duplicate init of cppbind wrapped classes.
2013-11-12 22:47:41 +00:00
Thomas Geymayer
accdf97785 Allow disabling embedded nasal (load/unload scripts). 2013-11-10 23:32:47 +01:00
James Turner
af6131b556 Bug 1246, Nasal repeating timers fire immediately.
Initial delay is passed separately to interval in the
API, oops.
2013-11-09 08:01:57 -08:00
James Turner
23fa13c76b Bug 1023, crash on replay.
Fix by Jeff Biggs, commit 7d80b30d28baccf80958d9db488364a9a5c3884b from osgearth branch.
2013-11-09 07:13:00 -08:00
Eric van den Berg
49131b5a7a pitot system stalls at high angles, using /system/pitot[x]/stall-deg 2013-11-08 20:18:27 +01:00
James Turner
8622661237 Further tuning of arg->num conversion. 2013-11-07 06:29:58 -08:00
James Turner
0d740bcfae Simpler Nasal for leg constraints.
Thanks to Philosopher for the suggestion.
2013-11-06 16:58:09 -08:00
James Turner
f0011bc759 Nasal: accept strings-containing-ints as
arguments to leg altitude/speed constraints.
2013-11-06 15:50:13 -08:00
Torsten Dreyer
6a09f01ca9 mag-compass: add deviation table and pitch property 2013-11-05 22:26:50 +01:00
Thomas Geymayer
4c9ab24b66 Keep ref_ptr in FGNasalModelData (should fix #1234) 2013-11-01 20:52:55 +01:00
janodesbois
636b6ca767 pitot adapted to /velocities/mach being the mach norm 2013-10-31 22:29:47 +01:00
janodesbois
d83bc90ca0 Revert "pitot tube using velocities/mach as mach norm, not the u componant"
pushed a testing patch, need to learn a good workflow ...
This reverts commit 05fa7130fc.
2013-10-31 22:27:29 +01:00
janodesbois
05fa7130fc pitot tube using velocities/mach as mach norm, not the u componant 2013-10-31 20:28:12 +01:00
janodesbois
78301e95b4 make YASim report /velocities/mach as the speed's norm 2013-10-31 20:25:08 +01:00
janodesbois
00aacd6442 Revert "JSBSim fix: /velocities/mach was reported as totale mach speed"
This reverts commit 4dde865cbc.
2013-10-31 20:21:13 +01:00
James Turner
02a5261797 Reset: GUI can be shutdown. 2013-10-29 23:02:46 +00:00
James Turner
e62a4f502a Reset: AI shutdown unbinds AIbase instances. 2013-10-29 23:02:22 +00:00
James Turner
71a8eac8bd Reset: view manager can be be shutdown. 2013-10-29 23:02:15 +00:00
James Turner
ad7a3e854d Reset: TimeManager can be unbound. 2013-10-29 23:01:58 +00:00
James Turner
06db85f42b Reset: given FGScenery a shutdown method.
Forces OSG branch references to be dropped.
2013-10-29 23:01:48 +00:00
James Turner
a488086d30 Reset: use a smart point for model-placement. 2013-10-29 23:01:38 +00:00
James Turner
75a01aa588 Reset: ensure Wx controller destroys cleanly. 2013-10-29 23:01:29 +00:00
Torsten Dreyer
35dad8c4c4 generic binary protocol: add 'word' datatype
this patch adds support for binary datatype word (aka int16)
now we have int (32bit), word (16bit) and byte (8bit) integer types
2013-10-28 22:57:22 +01:00
Clément de l'Hamaide
1970a8e0a8 FGCom: allow ulaw codec too 2013-10-28 21:56:27 +01:00
janodesbois
4dde865cbc JSBSim fix: /velocities/mach was reported as totale mach speed
should be the U axis component (machU)
2013-10-28 05:48:53 +01:00
Thomas Geymayer
ce09c320d3 HTTP: Rename urlretrieve/urlload to save/load. 2013-10-27 23:39:52 +01:00
Thomas Geymayer
cf270bde22 Expose HTTP module to Nasal. 2013-10-27 19:39:22 +01:00
Thomas Geymayer
8a582e6376 Update/refactor for simgear HTTP changes. 2013-10-27 19:39:22 +01:00
janodesbois
f08ea4a7bb velocities/u,v,wbody-fps are exposed in the property tree for the mp planes, extracted from motionInfo 2013-10-27 19:32:58 +01:00
janodesbois
a6030bc9ce forgot a .hxx modif in larcSim for bug 202 2013-10-27 14:51:19 +01:00
James Turner
4e7a22f589 Default to 32-bit color buffers.
Requesting 16-bit is probably doing more harm than good on modern
hardware. Command line switch to change works as before.

Also update the default window size, although this is actually
set by preferences.xml
2013-10-27 13:03:01 +00:00
James Turner
c72ac27098 Experimental sorter for airports.
Sort by size (cumulative runway length).
2013-10-27 13:03:01 +00:00