Commit Graph
100 Commits
Author SHA1 Message Date
James Turner b9bd2734eb Persistent SVN update cache.
Make the already present cache of updated URLs persistent, with a
definable lifetime, currently 24 hours. This ensures terrasync-ed
resources are checked less often (max once per day) instead of each
FGFS launch, which should greatly cut down requests to the backend.
2013-09-18 21:40:35 +01:00
James Turner 9c7bd4f5d5 HTTP Client improvements
- max connections limit, and parallel connections to a single host where possible.
  (Will permit updating terrain and Models / Airports / data in parallel)
- add LGPL headers
- give HTTP::Client a private impl class, to keep header simple.
2013-09-18 12:17:38 +01:00
James Turner 362d47f91f Kill legacy PPM support in screen-dump 2013-09-18 12:17:29 +01:00
James Turner a18792c397 Printf format sanitising.
Refactored version for next, use a new helper in
simgear::strutils.
2013-09-15 13:30:12 +01:00
James Turner 0e2ddb2f16 Bah, tested on the wrong compiler, so missed a file. 2013-09-14 18:05:53 +01:00
James Turner bcfadd6657 Prefix GCC version constant.
From: Markus Wanner <markus@bluegap.ch>
2013-09-14 17:29:59 +01:00
James Turner acf86be516 Rename MD5 code.
Linux crashes with this code seem to relate
to multiple instances of these symbols. Prefix
the SimGear versions to prove/disprove this.
2013-09-04 08:45:06 +01:00
James Turner dd93eb88f2 Ensure sglog() singleton is threadsafe.
Slightly simplistic, but definitiely correct, method
for ensuring singleton creation is threadsafe. Can
be optimised if lock contention is ever an issue.
2013-09-04 08:45:06 +01:00
James Turner e06f9e35b3 Tweak for 64-bit Linux linkage. 2013-09-04 08:45:06 +01:00
James Turner c0424aba7e SG part of fix for TerraSync models.
Ensure we search the TerraSync models tree before the FG_ROOT one,
since the TerraSync one contains newer files and updates to the base
one.
2013-08-29 22:13:43 +01:00
James Turner ee403fd83a No need to deal with OSG versions pre 3.0 2013-07-29 22:53:31 +01:00
James Turner 05f266ac10 HTTP SVN fixes, cap max update-report depth. 2013-07-28 21:07:40 +01:00
James Turner f52c0026dd Better reporting when an HTTP request fails. 2013-07-28 21:06:17 +01:00
James Turner a2e25e7940 Fix for #587, crash on break/continue.
Look for use of break/continue outside of a loop context,
and report a parser error instead of crashed. Thanks to
Philosopher for the patch.
2013-07-23 21:58:38 +01:00
James Turner d45a0161cf Initialise token precedence rule.
Thanks to Philosopher for the catch.
2013-07-23 21:51:47 +01:00
James Turner c7a5d15e7a Bug 585, assignment to multiple l-values.
Disambiguate multiple-values from function invocation. Will merge
to release branch after testing.
2013-07-23 09:45:22 +01:00
James Turner 3cb2241b1d Bug 737, crash parsing default args.
Reject function evaluation explicitly when building
default arguments.
2013-07-23 09:45:22 +01:00
James Turner a004153223 Bump version on development trunk. 2013-07-17 20:29:22 +01:00
James Turner e5bca74b9d std::string namespace fixes. 2013-06-27 10:14:08 +01:00
James Turner 6edb0f66d5 Fix crash when telnet or other protocols close.
http://code.google.com/p/flightgear-bugs/issues/detail?id=1144
2013-06-26 21:50:27 +01:00
James Turner c458c13af7 XCode warning fixes. 2013-06-22 16:15:41 +01:00
James Turner bb7875edd4 Fix a warning spotted by Emilian. 2013-06-22 16:15:30 +01:00
James Turner 6f54fb90eb Object names for STG groups / nodes. 2013-06-22 14:27:53 +01:00
James Turner 4d1e7c536f Fix preview exclusion of sliders. 2013-06-22 14:27:18 +01:00
James Turner 59cc200f92 Fix pick callbacks on scenery.
Ensure pick callbacks work over the whole pick group, otherwise
the visible render group is hit first, and resolves to the ground
pick callback instead.

This fixes the hangar doors at KSFO and Moffett.
2013-06-22 11:59:42 +01:00
James Turner 23172bcdd0 Windows SGPath::desktop() impl
Basic SHGetSpecialFolderPath wrapper, with dynamic
finding of the function since linking to shell32.dll
is painful. Obviously could be generalised to other
CSIDLs in the future.
2013-06-19 23:58:57 +01:00
James Turner b4526f926d Use CoreServices, not Cocoa, for FSFindFolder 2013-06-12 22:11:43 +02:00
James Turner 5bd9228b4a Fix HTTP tests build. 2013-06-09 23:45:43 +01:00
James Turner 6392cf5a2f Fix Linux build of SVN code. 2013-06-09 23:14:25 +01:00
James Turner 6a2e2b704e Optionally, use internal code for SVN syncs. 2013-06-09 22:55:15 +01:00
James Turner ecec803388 SVN read-only client code using our HTTP engine. 2013-06-09 19:19:03 +01:00
James Turner 848965e7f0 EasyXML: expose attributes easier. 2013-06-09 19:19:03 +01:00
James Turner 478af5f01e Base64 and hex helpers for strings 2013-06-09 19:19:03 +01:00
James Turner 14decb7387 simgear::Dir helpers
- remove all children of the dir
- check is the dir has children / is empty
2013-06-09 19:19:02 +01:00
James Turner 323d0d5ba0 HTTP engine tweaks for SVN support. 2013-06-09 19:19:02 +01:00
James Turner c2f44a51c4 Restructure to avoid ordering issues.
Create a pick group for each object, instead of a single one. This
can be optimised in the future but this structure is backwards-
compatible with existing usage, which is more important.
2013-04-13 14:40:55 +01:00
James Turner f6709e357f Support for proxy pick objects.
Pick, knob and slider animations support additional object-names,
which are always invisible and untransformed (in the case of knobs/
sliders). These objects act to extend the hover/pick area, making small
switches and knobs more usable. (Especially for users with smaller
screens / windows).
2013-04-05 17:12:58 +01:00
James Turner 45d5511fd7 Remove stray debug. 2013-04-02 18:10:09 +01:00
James Turner d2c03a6651 Fix pick-callbacks with no action.
Ensure pick animations work only to show a tooltip. Thanks to Emilian
for noticing I broke this
2013-03-12 21:14:31 +00:00
James Turner cd58df820e Standardise location (in XML) of hovered elements.
Hovered bindings are always direction children of the pick animation, since having different hovered behaviours per-action makes no sense.
2013-03-11 18:07:27 +00:00
James Turner 1a5467aec8 Collect properties from expression/condition trees.
Initial ground-work to support efficient updating of condition/expression results; allow collecting all the dependent property values from the hierarchy, so they can be observed. Also add a very small test-case for this.
2013-03-11 16:53:52 +00:00
James Turner b703102d9b Part of fixing bug 1055.
Add machinery to convert hateful legacy Windows encodings to UTF-8.
2013-03-10 13:38:29 +00:00
James Turner 3c2ef75b50 Tweaks for pick callback cursors. 2013-03-10 12:03:09 +00:00
James Turner 4fa530354d Knob/slider - clean up internals.
Add support for a global sensitivity parameter to scale drag response.
2013-03-08 16:31:02 +00:00
James Turner eeeb30dc3f Work on knob/slider animations.
Rename some values, and support mouse-dragging.
2013-03-07 18:40:37 +00:00
James Turner 33b328e3d5 Fix priority of pick animations. 2013-03-05 08:39:44 +00:00
James Turner dcda8d1c7a Add a pick priority lower than the default. 2013-03-04 23:33:21 +00:00
James Turner 5fd2bd225f Support motion-tracking in pick callbacks. 2013-03-04 23:11:40 +00:00
James Turner fe9caad391 Max catalog age configurable per-catalog.
Allows for short-validity catalogs for development use.
2013-03-03 23:03:09 +00:00
James Turner 67efc1f68f Look for MSVC 3rdparty deps differently.
Check for the 3rdparty dir in the parent of build dir, not the parent of the source dir. For the recommended build layout, this is the same location, but for super-builds using fgmeta it's not (and the source tree should not be touched).

If this causes anyone issues, please let me know, since it's possible more flexibility is needed to set the path explicitly.
2013-03-03 16:06:51 +00:00
James Turner dfebf60e68 Simplify CMakeLists now package code is enabled. 2013-03-03 16:01:06 +00:00
James Turner 26e7d134ce Package management tweaks. 2013-03-03 15:03:25 +00:00
James Turner f21b0985cc pkgutil can show detailed info about a package. 2013-03-02 17:02:08 +00:00
James Turner 71e9548c20 Lots more work on package support.
Delegate is hooked up in the demo util, and Install forwards control to the delegate too.
2013-03-02 16:30:39 +00:00
James Turner fc64abea5c LGPL license on package files. 2013-03-02 15:15:52 +00:00
James Turner 413e89c955 Package dependencies. 2013-03-02 15:14:09 +00:00
James Turner 439041c2f4 Enable package code by default. 2013-03-02 14:43:19 +00:00
James Turner ad7d6624de Fix some signed/unsigned comparisoms. 2013-02-28 19:45:19 +00:00
James Turner 06b089ba13 Updated package-management code.
Use mini-unzip code to extract, since we don't need all the features of libArchive, and the deployment issues become simpler.
2013-02-28 18:31:28 +00:00
James Turner a530712491 Initial work on package management.
Basic library infrastructure, catalog download/refresh, and package install,
uninstall and update. Disabled at cmake time by default, and not yet hooked
into FlightGear.
2013-02-20 16:17:22 +00:00
James Turner 3c8cfe9b76 Fix MSVC compilation, thanks to Fred. 2013-02-18 13:56:41 +00:00
James Turner ba020245f9 Fix jpeg-httpd compilation. 2013-02-11 12:51:20 +00:00
James Turner 79fefc1ff9 Support arbitrary parameters to bindings.
Use this to supply window X/Y to hover bindings.
2013-02-10 15:07:55 +00:00
James Turner eac169b6da Grrrr. 2013-02-09 15:45:36 +00:00
James Turner a60d293759 Tweak APi for GCC happiness. 2013-02-09 14:11:48 +00:00
James Turner b0063f8db6 Command-manager supports functors.
Will be used to support native Nasal commands, which was tricky with pure function pointers before. Can also be used to avoid some trampoline functions in the code, but this can happen gradually.
2013-02-09 12:40:44 +00:00
James Turner d9b01ca5de Foundations of hover support in pick-callbacks. 2013-02-09 11:11:53 +00:00
James Turner adb7db9229 Ensure individual log-level setting works. 2013-02-08 20:17:27 +00:00
James Turner e4f7aec965 Linux needs explicit <algorithm> include. 2013-02-08 20:07:11 +00:00
James Turner 768a8c1062 Give terrasync a buffered log. 2013-02-08 19:37:47 +00:00
James Turner 318c5000ce Logging tweaks.
More pieces to support logging to buffers in the GUI.
2013-02-08 19:37:29 +00:00
James Turner 70f334e1a3 Fix GCC warnings about signed/unsigned compare. 2013-02-08 12:58:02 +00:00
James Turner 279b53a705 Move BufferedLogCallback to its own class.
Reduces includes in logstream.hxx, which is included by everyone and hence needs to be lightweight.
2013-02-08 12:58:02 +00:00
James Turner a72a3ce5f3 Fix stderr log filtering.
Thanks to Stuart for pointing this out!
2013-02-08 12:58:02 +00:00
James Turner 34d3c63384 Fix bucketBoxTest linkage. 2013-02-07 17:53:34 +00:00
James Turner cf4af2692b Fix property tests static linkage. 2013-02-07 17:51:42 +00:00
James Turner d335ca5a8d A couple more tests fixes. 2013-02-07 17:48:58 +00:00
James Turner 9cac2c1457 Fix math test linkage. 2013-02-07 17:42:00 +00:00
James Turner 523b992b4c Windows logging tweaks.
Restore the freopen calls, though I am unsure exactly what they achieve.
2013-02-07 17:23:31 +00:00
James Turner 45ae3978f6 Fix handling of ZSTREAM_END result from zlib.
Avoid getting stuck when ZSTREAM_END occurs with no more bytes written out.
2013-02-07 13:01:56 +01:00
James Turner f983194d7e Buffered log-callback.
Allow a particular set of log messages to be retained indefinitely, for (presumably) later display somehow, such as in the GUI.
2013-02-07 13:01:56 +01:00
James Turner ab8373b989 Rewrite logging code.
Support multiple backends, and make it thread-safe. Use an internal thread to push log entries to backends, to avoid blocking the submitting thread for any time.
2013-02-07 13:01:56 +01:00
James Turner 235c29913a Make the knob mouse-wheel direction configurable.
Add a global setting to control the mouse-wheel direction of the knob; a future commit will expose this in the FG GUI.
2013-02-03 17:21:50 +00:00
James Turner 0870407f65 Add 'release' bindings to knob animation.
Currently this fires on button release, but also after any mouse-wheel movement (since they are sent as buttons). This feels slightly wrong, but can't decide how a spring-loaded know would work, when interacting via the mouse-wheel. Comments welcome.
2013-02-03 17:11:05 +00:00
James Turner e8156c6bd9 Knob animation: shifted mode binding.
As part of this, pass the osgGA GUIEventAdapter down into the pick callbacks, which seems reasonable to me. If anyone can foresee issues with this, please let me know and I can adjust the API.
2013-02-03 16:33:30 +00:00
James Turner 53b9fd2110 Support preview mode in the model loader.
This makes fgviewer / fgfs --viewer mode useful with models containing Rembrandt light volumes.
2013-01-31 16:46:02 +00:00
James Turner 4d4e474464 Initial prototype of knob animation. 2013-01-31 00:15:09 +00:00
James Turner a58b41e7d2 Pick animation moved to its own file.
Preparatory work for adding more pick animations which will share some
internals with this code.
2013-01-30 21:51:41 +00:00
James Turner d11db8a67a Prepare for optionally embedded SimGear. 2013-01-26 15:31:17 +01:00
James Turner 98b6102e56 State-machine correctness tweaks. 2013-01-25 12:05:16 +01:00
James Turner 0db8613a21 StateMachine tweaks. 2013-01-25 09:29:31 +01:00
James Turner 94a6cb2cff Tolerate lack of C99 in MSVC. 2013-01-23 16:01:46 +01:00
James Turner 5b92575ed3 Fix state-machine test linkage with static libs.
Thanks to Thomas for the catch.
2013-01-22 20:56:57 +01:00
James Turner 691be54ca2 Keep Linux happy. 2013-01-22 18:53:51 +01:00
James Turner 22ea8ebe25 State-machine structure, initial work. 2013-01-22 18:08:44 +01:00
James Turner bd71635c49 Add left/right Nasal library functions. 2013-01-22 18:06:50 +01:00
James Turner 830bc3eac3 More native math functions in Nasal. 2013-01-22 18:06:50 +01:00
James Turner e9c70f8b1c Improve HTTP behaviour when name lookup fails.
Don't endlessly re-send requests when name lookup fails; inform the next layer up so it can decide whether to retry.
2012-12-15 15:09:33 +00:00
James Turner f5150d32af Whoops, fix bad #ifdef to disable sound. Bug #958 2012-12-12 11:16:29 +00:00
James Turner 24d2431522 Work on making OpenAL a compile-time option.
ENABLE_SOUND=0 now works when configuring SimGear, and libSimGearScene can be linked without OpenAL. However, more testing of FlightGear in this mode is needed before it's officially supported!
2012-12-07 15:26:24 -05:00