Commit Graph
100 Commits
Author SHA1 Message Date
James Turner 2bb24f43fb New accessors for variant support. 2016-01-03 20:57:19 -06:00
James Turner be0447d4c0 Fixes for stalling scenery downloads.
- handle closed connections equivalent to IDLE, for timeout purposes
- if the server closes the socket in WAITING_FOR_RESPONSE state, fail
  the first sent request when restoring.

Note this does not explain why the server sometimes closes the socket
in this way, but at least it now causes a detectable failure.
2016-01-03 11:58:22 -06:00
James Turner ef7a0dc5a3 Trying to debug HTTP timeouts 2016-01-01 17:17:55 -06:00
James Turner 20ea55bdbc Set macos-min-version for C files too
Should fix another 10.7 issues (Nasal code is .c)
2015-12-10 14:53:17 -06:00
James Turner c62b4467b4 Templated helper to retrieve a subsystem
- example of naming a subsystem
2015-12-10 14:52:04 -06:00
James Turner 05d9d7cae8 On Mac, force setting macon-min-version
- the CMake option seems to be erratic, it works locally but not
  on the Jenkins machine for inexplicable reasons.
2015-12-08 20:42:43 +00:00
James Turner 78a548b861 Expose catalog name directly. 2015-11-29 12:43:20 +00:00
James Turner 81d668784a Fix spelling of Find(CURL) 2015-11-24 00:09:19 +00:00
James Turner 75ad5a7e5c Whitespace fixes. 2015-11-23 17:57:46 +00:00
James Turner 3f20a3d2c6 Fix for catalog adding/removing bugs 2015-11-23 17:57:36 +00:00
James Turner a57e969639 Optional use libCurl as the HTTP client.
Will permit HTTPS for packages in the future, disabled by default
for the moment.
2015-11-22 23:53:46 +00:00
James Turner 23b8c86e78 More whitespace fixes. 2015-11-22 23:53:46 +00:00
James Turner 5c9ca9cbe2 EOL cleanups. 2015-11-22 22:36:54 +00:00
James Turner 5676f96fbf Require Cmake 2.8.11
- drop OldGNUInstallDirs work-around as a result
2015-11-22 22:34:31 +00:00
James Turner 3bfd0c872a Avoid duplicate refresh of Catalogs
- also fix duplicate reporting of successful refresh
2015-09-27 23:14:50 -05:00
James Turner 945cf5d963 Improve package extraction cleanup 2015-09-27 20:39:58 -05:00
James Turner 4e40913aef Package support progress
- check the catalog version explicitly when refreshing
- handle packages with distinct dir name / primary ID correctly
  (requires an updated catalog XML format)
2015-09-27 19:42:08 -05:00
James Turner 81bfec336c Fix missing include for uint8_t on Linux 2015-09-21 14:55:52 -05:00
James Turner 60a0c51e2b Package support hacking
- rename failure code to status code, and add more to handle
  cancellation.
- change caching of active Installs from Catalog to Root, to clarify
  ownership
- expose download status on Install
- adjust Delegate signatures to pass more information
2015-09-20 19:34:51 -05:00
James Turner 70c5d60564 Drop explicit SDK setting on Mac 2015-09-20 19:30:04 -05:00
James Turner 1b2247103a Fix error case on HTTPClient 2015-09-20 19:28:23 -05:00
James Turner b91d1a3f6a Avoid a warning on startup
- duplicate inits are benign, so don’t warn
2015-06-07 17:49:04 +02:00
James Turner 1378511c13 Remove some debug output. 2015-06-07 17:48:33 +02:00
James Turner 9a9cd62957 Set RPATH on Mac 2015-06-07 15:57:01 +02:00
James Turner a9742fba7c Fix SVN server fallback when query fails 2015-06-07 15:53:44 +02:00
James Turner f19cf6d56a Packages: more unit-test coverage 2015-04-23 22:05:50 +01:00
James Turner d12d1b2c3a Packages: increased test coverage. 2015-04-22 23:50:08 +01:00
James Turner b7fbb79565 Package work on version support.
- start adding test coverage for packages
2015-04-22 23:50:08 +01:00
James Turner 5bbdcfd240 Windows versionhelpers.h support. 2015-04-20 10:58:11 +01:00
James Turner 6683092bb2 Select default TerraSync server automatically. 2015-04-11 23:50:33 +01:00
James Turner 2c6f9de020 Fix a clang warning 2015-04-11 21:58:23 +01:00
James Turner 686f095f1e Explicit Mac SDK for the moment. 2015-04-11 21:58:15 +01:00
James Turner 089fc5ea0a WindowsXP workaround for SHGetKnowwFolder
Fix from xDraconian after a bug report from Aleesandro.
2015-04-09 15:33:56 +01:00
James Turner 72ae14227e Unit Test: Fixed failure of test_HTTP
From Scott (xDraconian)
2015-03-24 11:10:16 -05:00
James Turner 0e9948f9d4 Portability: Implemented Known Folders for Windows
Patch from Scott (xDraconian)
2015-03-24 11:08:36 -05:00
James Turner 0b6738b616 Portability: Fix compile errors on MSVC
From Scott (xDraconian)
2015-03-24 11:05:57 -05:00
James Turner 3c204e84f4 Fix missing include for Cmake 3.2.1 2015-03-17 23:32:57 +00:00
James Turner 7774b76ad2 Only detect threading library where needed
- avoids failure with newest CMake on Mac
2015-03-17 23:28:52 +00:00
James Turner acd655b37b Make flag Mac-specific. 2015-03-17 23:26:20 +00:00
James Turner 1a09683351 Fix for Cmake 3.2.1 on Mac SDK handling 2015-03-17 22:31:05 +00:00
James Turner 181afb7fd0 Catalogs: version-redirect support. 2015-03-15 21:55:54 +01:00
James Turner 9d1354f6bd More logging for directory deletion failures. 2015-03-15 21:55:54 +01:00
James Turner 596591bb64 Catalog install feedback.
- also support removing (uninstalling) a catalog and
all installs relating to it.
2015-03-15 21:55:54 +01:00
James Turner 384a700e05 FreeBSD / clang fix from Gerald Laplanche 2015-03-11 09:46:03 +00:00
James Turner 7d2ecef14a Whitespace clean-up 2015-03-11 09:43:40 +00:00
James Turner bc72c34d0f Terrasync logging tweaks 2015-03-11 09:43:24 +00:00
James Turner 1365a02aea Fix where we set OS-X deployment option. 2015-02-24 12:36:28 +00:00
James Turner 611785c04b Kill off allCatalogs list.
No longer needed, and fixes crash on shutdown.
2015-02-20 11:31:15 +00:00
James Turner ce7f78e0ca Remove use of ‘register’ keyword in this file.
Clang is now warning about this, and it’s certainly useless.
2015-02-12 16:21:15 +00:00
James Turner 6323477a35 Tweak warning flags, for newer Clang.
No functionality changing, just less spam in the compile logs.
2015-02-12 16:21:15 +00:00
James Turner 1bf0b7222d Explicitly force libc++ on clang 2015-02-11 15:46:01 +00:00
James Turner b2ac9982d4 Better CMake policy detection
- thanks to Rebecca Palmer for suggesting this!
2015-02-10 17:11:31 +00:00
James Turner 84cbfb2e98 Cmake policies conditional on Cmake version. 2015-02-09 16:42:40 +00:00
James Turner 7479cadbba Switch 10.7 on Mac and revert to using libc++
(Deployment on libstdc++ with the 10.9 SDK is just too painful)
2015-02-09 15:12:21 +00:00
James Turner f711306085 Force SDK version / C++ library on Mac. 2015-02-08 13:46:09 +00:00
James Turner ddd9691439 Explicitly track not-found responses from SVN.
When SVN reports a path is not found (ocean tile), track
this data explicitly and cache the result. Reduces backend
hits for missing tiles.
2014-12-01 17:49:03 +00:00
James Turner 1b7f310ea6 Merge FreeBSD patches.
Taken from:
http://svnweb.freebsd.org/ports/head/devel/simgear/files/
2014-11-11 22:29:24 +00:00
James Turner bb5e07d958 Package: support for variants
- Catalog keeps a map from variant IDs to packages
- Package caches its ID
- Refreshing a catalog updates existing Package instances

Dropping a package from a Catalog will now warn, need to decide
a real policy for this scenario.
2014-06-15 19:55:50 +02:00
James Turner edbfbd769e Package: expose file size property. 2014-06-12 18:43:27 +01:00
James Turner dc60cf0e67 Pkg: record live installs in Catalog.
Ensures active Installs can be found immediately after creation.
2014-06-12 18:43:27 +01:00
James Turner 083b364afd Pkg: qualified ID accessor. 2014-06-12 08:50:09 +01:00
James Turner a8c8148068 Package::existingInstall helper. 2014-06-10 21:21:30 +01:00
James Turner 67a8d8049f Package::match case-insensitive string comparison 2014-06-01 11:35:26 +01:00
James Turner c3670b211f Substring search of package name/description.
Note this only searches the current locale, should potentially also
search the default locale too.
2014-06-01 11:28:10 +01:00
James Turner da6ab1eabc Add installedPackages() to Catalog. 2014-05-31 18:00:38 +01:00
James Turner e3ddcbe2dd Update package classes ownership model.
Use SGReferences as the base for package classes, so they can be
exposed directly to Nasal by cppbind.
2014-05-31 16:47:12 +01:00
James Turner 4bd8fe5855 Fix bad Nasal parse of ‘foo[]’.
When a vector subscript is empty, don’t parse it as ‘[foo]’, instead
print a parse error. 

Fix by Nicholas Scheel & Thomas Geymayer.
2014-05-27 10:05:17 +01:00
James Turner 15d3c12139 Fixed for FreeBSD
(From Gerald Laplanche)
2014-04-03 13:42:11 +01:00
James Turner c925b7b601 Don't leak cube-map textures
- use observer_ptr so cube-map textures are released without the
builder holing a ref.
2014-03-13 22:16:58 +00:00
James Turner 966789de90 Fix leak of object-mask textures 2014-03-13 22:16:00 +00:00
James Turner f40efe66fa Simplify copyProperties
- with initial-state save/restore gone, all uses of
copyProperties are now simple. For selective copying, use
copyPropertiesWithAttribute.
2014-03-11 08:32:33 +00:00
James Turner 4ea8e4774e Remove unused cube-map from 2D clouds. 2014-03-05 14:42:29 +00:00
James Turner 18ff03acdf VBO switch also controls random-buildings. 2014-03-05 10:20:48 +00:00
James Turner a8d7645004 Code cleanups.
(no functionality change)
2014-03-04 16:05:36 +00:00
James Turner 081aafb914 Allow clouds to be toggled on/off
- Change the cloud-root Group to a Switch
2014-02-28 11:06:47 +00:00
James Turner bd5bc9cda0 TerraSync: expose method as public
- needed for command-line terrasync util.
2014-02-25 09:13:16 +00:00
James Turner db684eb33e HTTP: improve handling of connection errors
- handle 'whole connection' errors consistently, e.g. EUNREACH
which can occur with intermittent connections.
2014-02-24 19:41:14 +00:00
James Turner a07cfdb683 Remove obsolete TerraSync methods.
- all scheduling is now done via paths/buckets, not lat+lon.
2014-02-24 18:45:57 +00:00
James Turner b956a2c834 Sky: expose OSG branches as Groups.
- avoids creating additional groups in Renderer
2014-02-24 18:45:57 +00:00
James Turner ba38688a83 Fix failing BucketBox test
- improve behaviour of floorWithEpsilon helper in bucket code, and
use in more places so that near-integral values are rounded correctly.
2014-02-24 18:03:17 +00:00
James Turner 32a6bd78d8 Make return type from loadPagedModel explicit.
- explicitly return osg::PagedLOD instead of Node, so callers
don't need to rely on documentation + cast to get the LOD
settings on the result.
2014-02-22 16:24:47 -08:00
James Turner 3b5665fe92 Only disable display lists if using VBOs.
(Otherwise we fall back to very slow submission)
2014-02-19 15:10:48 -08:00
James Turner b4f4ef9c5b Optionally deprecate parts of SGBucket
When NO_DEPRECATED_API is set, remove portions of the
SGBucket API.
2014-02-19 14:06:48 -08:00
James Turner 3c4c05fb3e Fix GCC 4.6 / Ubuntu compile failure. 2014-02-19 14:05:26 -08:00
James Turner b0cad59508 Raise required OSG version to 3.2.0 2014-02-19 10:58:39 -08:00
James Turner d4030e72e4 Runtime VBO option in BTG loading. 2014-02-18 19:58:19 -08:00
James Turner 481f7e3bfa Technique selection: fix shader-language
(Also add a glsl-supported test to simplify Effect logic)
2014-02-18 19:56:24 -08:00
James Turner 00d8849a28 Revise SGBucket::get_width_m
- remove the 0.5 degree offset away from the equator, which was
  causing wrap-around at the poles
- add a new helper to get the highest latitude of a tile (which may
  be +/- 90 for the polar cap tiles), and use this to compute radius
- special case the polar-caps and return a fixed, small width so
  the tile-manager loads all tiles.
2014-02-13 18:49:38 +00:00
James Turner e440aba0d2 Some Linux platforms need <cstdio> for snprintf. 2014-02-13 15:31:58 +00:00
James Turner 574d459f4e Fix MSVC build. 2014-02-13 13:23:43 +00:00
James Turner 5fa0931a89 Revised set_bucket implementation.
- sink some inline methods into the .cxx file
- add isValid test to SGBucket
- sgGetBuckets won't return invalid buckets near the poles
- additional unit tests
2014-02-13 12:36:06 +00:00
James Turner 748b13850a SGBucket unit-testing
- test polar wrapping near the 180-meridian
- test corner points for polar tiles
- expand test-macro helpers slightly
2014-02-12 16:21:16 +00:00
James Turner 9a09a6a447 Add new sibling() helper to SGBucket
- will replace sgBucketOffset eventually
- expand test coverage for both sibling() and offset function

(one test case is disabled since it fails)
2014-02-12 15:31:40 +00:00
James Turner 79c56c924f Add unit-testing for SGBucket
- as part of looking at polar behaviour, start testing the
bucket code since the code has subtleties which it would be unwise
to change.

- remove a legacy setter on SGBucket (taking two doubles as a C-array)
2014-02-11 21:49:45 +00:00
James Turner eef73953cb Race-condition fix in get_effect.
Adapted from a fix by Jeff Biggs. (Shows up easier when using osgEarth,
and multiple osgDB pager threads)
2014-02-10 17:59:02 +00:00
James Turner 46eb2f439d MSVC lacks stdint.h / inttypes.h
- we can't use simgear/misc/stdint.hxx here, since it's a C++
header and md5.c is compiled as plain C (no bool type available).
2014-02-06 12:10:34 +00:00
James Turner 4f5c519636 Replace md5 from RSA with OpenBSD version
- no more BSD-with-advertising-license
- files from http://sources.debian.net/src/dpkg/1.17.6/lib/compat
(with SG_ prefixes to avoid collision issues)
2014-02-06 10:42:41 +00:00
James Turner 8f6677974e Mac: fix static linkage
- Link against Cocoa, not CoreServices (for NSFileManager)
2014-01-28 12:39:28 +00:00
James Turner 0f5cbc35a2 Apple directory helpers
- drop use of deprecated FSFindFolder (use NSFileManager)
- support Downloads and Pictures directories
2014-01-28 11:16:19 +00:00
James Turner c1b579ec5d Remove jpeg-factory.
(FlightGear can now do the same, without the helper class)
2014-01-27 09:19:11 +00:00