James Turner
cfe9ddc2de
Fix issues with package upgrades on Windows.
2017-02-23 13:27:02 +00:00
James Turner
f977be5fe4
Concept for developer log messages.
2017-02-14 18:27:40 -08:00
James Turner
a28cf0f860
Additional SGPath test for remove + rename.
...
Trying to track down failure to update aircraft on Windows.
2017-02-09 18:48:05 +00:00
James Turner
d9f4d7373f
SGFile uses wide-string APIs on Windows.
2017-02-07 16:15:14 +00:00
James Turner
c3f48c7261
Use sg_ofstream in one more place.
2017-02-07 16:05:06 +00:00
James Turner
48b7b70e23
BinObj code uses wide-strings on Windows.
2017-02-07 16:05:06 +00:00
James Turner
b93b362e2f
Fix wide-string support for wav-file reader.
2017-02-07 16:05:06 +00:00
James Turner
ed3ba67925
Logging system buffers startup messages.
...
This allows adding log callbacks easier during startup, without
missing the initial messages, which might be very important.
2017-01-30 07:43:35 +01:00
James Turner
a6437f4e96
More SGPropertyNode::getPositions tests.
2017-01-28 15:37:41 +00:00
James Turner
5bd7be6ed1
Check for file permissions via SGPath.
2017-01-28 15:37:41 +00:00
James Turner
3cb3084725
Rename ‘new’ thumbnails to ‘previews’
...
This avoids an XML naming clash, and allows both systems to exist in
parallel peacefully. Update the tests to check both the thumbnails
and preview system in parallel with each other.
2017-01-10 18:05:40 +00:00
James Turner
fd34cc30b8
compare_versions: limit how many parts are checked.
...
This can be used to only check the first one or two parts of a version,
to ensure only the major, or major+minor parts match.
2017-01-05 10:55:14 +00:00
James Turner
45ac758cc9
Expose position on SGPropertyNode.
2016-12-27 11:09:07 +00:00
James Turner
2f21b582cd
Canvas image fill and source rect setters.
...
C++ code can set the fill and source rect directly.
2016-12-16 19:14:44 +00:00
James Turner
b29536f8b7
Set Canvas element transforms from C++
...
Also allow transforms to be disabled.
2016-12-16 19:14:44 +00:00
James Turner
039f9920db
Direct rect support.
2016-12-16 19:14:44 +00:00
James Turner
7c254e9c04
Native SVG path-data parsing in the Canvas.
...
This substantially cuts down the amount of properties needed when
importing SVG elements into Canvas paths.
2016-12-16 19:14:44 +00:00
James Turner
8c4695b991
Fix duplicate variants in packages.
2016-12-15 17:37:32 +00:00
James Turner
a2b111bb09
Bugfix: reject dubious paths in HTTP repos.
...
This avoids a malicious repository writing to files outside the local
storage root.
2016-12-15 17:37:28 +00:00
James Turner
2a1542d544
Helper for parsing CSS/SVG strings.
2016-12-15 17:37:25 +00:00
James Turner
801d8c4af5
Revert recursive listeners for the moment.
...
Want to verify this is the cause of crashes inside the property code,
since if it's not we have a much bigger problem.
This means all listeners are recursive, with a parent-chain walk on each
setValue call, as has been the case since 'forever'.
2016-12-05 12:57:29 +00:00
James Turner
b5c1902a2d
Tweaks to recursive listener behaviour
2016-12-03 14:09:56 +00:00
James Turner
d088259739
Add aliased listener test, disabled for now.
2016-12-02 17:15:11 +00:00
James Turner
d8acf44a3a
Revert unintended change in listener refactoring.
2016-12-02 17:14:27 +00:00
James Turner
7a909d0c0b
Improved Package search function.
...
Handle or/and groups, and search variant descriptions and names.
2016-11-30 21:32:31 +00:00
James Turner
919c25769c
Quiet a canvas message.
2016-11-30 12:18:44 +00:00
James Turner
5a0908d5bb
Package::indexOfvariant works on fully-qualified IDs.
...
Should fix issues restoring variants in the launcher.
2016-11-29 15:36:00 +00:00
James Turner
835ae941ce
Unit-tests for localised-variant strings.
2016-11-26 14:28:22 +00:00
James Turner
63edff078f
Fix warnings in sgvec4 test.
...
Use C++ type-overloaded fabs call.
2016-11-26 14:20:17 +00:00
James Turner
64531c85e3
Generalise per-variant localised string lookup.
...
Will be used for per-variant long-descriptions.
2016-11-25 22:44:24 +00:00
James Turner
14cdae5102
Unit-test for copy-installed children.
2016-11-25 22:19:55 +00:00
James Turner
2aaad212e8
Revert partial-update mode for TerraSync repos.
...
Going to implement this a different, simpler way now,
2016-11-25 22:19:51 +00:00
James Turner
bd88bf1126
Explicit handling of recursive listeners.
...
Use a different strategy for recursive listeners, and make them opt-in.
2016-11-25 16:07:18 +00:00
James Turner
ea9da65b7c
Expanded property unit-tests.
2016-11-25 16:07:18 +00:00
James Turner
5681fcbdc5
Unit-tests for property listener.
2016-11-22 00:19:18 +00:00
James Turner
7755f8e094
Override changes for atomic listener.
2016-11-22 00:15:14 +00:00
James Turner
e266e44f63
Extended scenery/STG suffix handling
2016-11-22 00:09:51 +00:00
James Turner
5ecc1ab6f2
Simplify timing code.
...
Assumes we have timegm on Unix, and use _mkgmtime on Windows.
This means we never need to use ftime() / timeb.h
2016-11-17 21:23:56 +01:00
James Turner
3009aadaa6
Simplify Boost auto-detection on MSVC.
2016-11-14 23:05:10 +01:00
James Turner
fca64343ae
Attempting to fix Windows include issues.
...
Only handle PackageRef by reference in the header file, so we don’t
create calls to the copy constructor and/or destructor. If this doesn’t
work will need to create a stub implementation file.
2016-11-14 07:52:15 +01:00
James Turner
042a2659f6
Disable Codecvt for now, libstdc++ is problematic.
...
Need to research which libstdc++ versions implement codecvt.
2016-11-14 07:45:23 +01:00
James Turner
fe54af405c
Zlib is a public, not private include in Simgear.
...
Should fix Windows compilation as reported by Alan Teeder on the list.
2016-11-14 07:31:54 +01:00
James Turner
ab70090a0a
Finally fix bogus terrasync download numbers.
...
(Staying a hotel with sufficiently slow wi-fi to debug this!)
2016-11-13 22:18:32 +01:00
James Turner
ee02750e95
Enforce VS2013/2015 requirement on Windows.
2016-11-13 14:57:39 +00:00
James Turner
f55007394e
Make more includes target-specific.
2016-11-13 14:57:21 +00:00
James Turner
60a9e8fb7e
Implement UTF-8 conversion using codecvt
2016-11-13 14:56:52 +00:00
James Turner
7f8455f731
Multi-thumbnail support in packages.
...
Allow multiple thumbnails per variant / package, including
tagging with types so we can require certain thumbnails in the future.
2016-11-13 14:56:31 +00:00
James Turner
6ae86fc4ca
Fix a warning.
2016-11-13 12:02:12 +00:00
James Turner
ab1d4e651e
Bugfix: avoid bogus download size on start
...
Missed a default init of the HTTP repo download content size, so until
the request response header was received, this could report a very
large value.
2016-11-07 15:49:07 +01:00
James Turner
5cd250e452
Packages: notify delegate of uninstalls.
2016-11-06 21:58:01 +01:00
James Turner
2dcff4bb8e
Ensure build include location is used first.
...
Otherwise PREFIX_PATH headers might be found first, but these could be
from an older SimGear version.
2016-11-06 21:57:30 +01:00
James Turner
604a9ff614
Hopefully fix Win32 linkage.
2016-11-02 22:57:39 +00:00
James Turner
a09630bcca
Cmake export fixes.
...
Should hopefully fix importing in FlightGear
2016-11-02 13:59:43 +00:00
James Turner
b44c70b3f4
Simplify isnan detection with C++11 library.
2016-10-30 22:49:38 +00:00
James Turner
e4cddb100e
Drastically simplify compiler.h
2016-10-30 22:49:11 +00:00
James Turner
51e7d95bf2
Require CMake 3.0, enable C++11
...
Let’s see what this breaks.
2016-10-24 22:52:51 +02:00
James Turner
202571386b
Exported package fix.
...
https://sourceforge.net/p/flightgear/codetickets/1892/
2016-10-20 20:26:51 +01:00
James Turner
dd52b6af50
Remove some archaic code.
2016-10-09 11:08:17 +02:00
James Turner
7b2507cb19
Config changes to warn on older tools.
...
Warn on to-be-deprecated versions of Cmake, Visual Studio and GCC
2016-09-28 17:20:51 -05:00
James Turner
2e19aaaff9
Remove multi-arch workaround in CMake
...
Since we now require 2.8.11, we can rely on this bug being fixed.
2016-09-27 20:43:03 -05:00
James Turner
6854598b79
Initial pieces for full OBJ support.
...
Needs testing by aircraft developers, this is just the first piece.
2016-09-27 20:41:31 -05:00
James Turner
87590cafb2
Fix terrasync behaviour when net is down.
2016-09-07 22:49:03 +01:00
James Turner
9b997ea1f7
Only reopen the streams if AllocConsole succeeds.
...
Avoid a crash with FGRun when OSG tries to use the console.
2016-09-02 00:05:13 +01:00
James Turner
d7d59b08a2
Copy-from-install support in TerraSync
...
Allows repositories to be initialised based on data in the install.
This avoids duplicate downloading of the Model and Airport data,
and the starting scenery.
Requires a corresponding FlightGear change to be functional.
2016-08-18 16:21:31 +01:00
James Turner
6b82b78c7c
Warn when OSG is not in UTF-8 mode.
...
This will become an error in the near future.
2016-08-15 22:38:00 +01:00
James Turner
8201301064
Improve Windows linkage.
...
When using a patched OSG, avoid /FORCE:MULTIPLE work-around.
2016-08-15 22:38:00 +01:00
James Turner
899778b354
Fix inverted logic in any-bindings test.
2016-08-08 16:59:06 +01:00
James Turner
a31d1342d5
Simplify Aeonwave/OpenAL logic in Cmake slightly
2016-08-06 14:40:14 +01:00
James Turner
5ea01039f9
Improve pick-callback enabled testing.
2016-07-31 22:21:03 +01:00
James Turner
8b8dbeb00d
Quiet a log message
2016-07-31 22:21:03 +01:00
James Turner
93226fc500
Change location used for path tests
...
Jenkins seems to dislike non-Latin-1 characters inside the build
tree on Linux, so use a location inside /tmp instead.
2016-07-15 17:57:32 +01:00
James Turner
31ba9dfa70
Further SGPath API usage cleanups.
2016-07-15 16:33:52 +01:00
James Turner
19df18fefb
Use wide-string APIs on Windows.
...
SGPath and simgear::Dir use ‘w’ versions of POSIX APIs on Windows,
and convert UTF-8 SGPath to wide-strings as part of this.
Includes improved unit-tests for this code, with some very basic
tests of creating and iterating files with Unicode characters in
their names.
No user-visible changes should result from this, on any platform; in
particular wide-string support is still incomplete so FlightGear will
not yet work with arbitrary Unicode paths on Windows.
2016-07-15 09:50:44 +01:00
James Turner
a5a4bf6d41
Another HLA/SGPath fix
2016-07-04 09:31:34 +01:00
James Turner
9812315d96
realpath returns a path, not a string.
2016-07-04 09:04:46 +01:00
James Turner
c40044feeb
Fix HLAFederate for readXML API change
2016-07-04 07:20:23 +01:00
James Turner
a636da6959
SGPath in easyXML API
2016-07-03 23:41:07 +01:00
James Turner
ca84d2046a
Fix sg_gzofstream path type (now SGPath)
2016-07-03 23:05:42 +01:00
James Turner
c037a0e461
Windows string conversion for SGPath
2016-07-03 22:56:04 +01:00
James Turner
cf18d4eaaf
SGPath can convert to std::wstring
2016-07-02 09:34:27 +01:00
James Turner
32735428bb
More SGPath APIs
2016-07-01 17:14:34 +01:00
James Turner
b862cf7e54
Fix repository test.
2016-07-01 09:02:52 +01:00
James Turner
f21eac8473
Building with clean SGPath API
2016-06-30 16:17:52 +01:00
James Turner
38c8931950
Fix debug runtime assert
2016-06-29 16:26:42 +01:00
James Turner
cfe1c0933f
Further SG stream APIs
2016-06-27 12:29:23 -05:00
James Turner
a3b3280123
iostream overloads taking an SGPath
2016-06-25 16:30:24 +01:00
James Turner
8cfe5a2e08
Native SGPath API on SGInterpTable
...
- string-based version will be removed in the future.
2016-06-23 15:21:26 +01:00
James Turner
bd896096cc
Changing SGPath APIs, using SGPath in more places.
...
Change most places we control (i.e not helper libs) to use SGPath
to represent a path, instead of using std::string. Extend SGPath
API to explicitly expose the path in either UTF-8 or the
system 8-bit encoding.
2016-06-22 17:15:32 +01:00
James Turner
855ff5a8b0
Fix Linux compilation of untar.hxx
2016-06-16 04:46:37 -05:00
James Turner
e695505e62
Tests for un-tar code.
2016-06-15 22:27:01 +01:00
James Turner
f824cf85a4
Fix Untar namespacing.
2016-06-14 15:13:58 +01:00
James Turner
fb8b60b6fe
Export untar header
...
Needed for scenery installation helper.
2016-06-14 15:12:20 +01:00
James Turner
516d76d41b
VS215 tweaks, warning fixes
2016-06-09 20:38:01 +01:00
James Turner
daa10503e6
Fixes to Windows console interaction.
...
Thanks To Jasin Colegrove for helping me understand the issues here!
2016-06-09 15:11:44 +01:00
James Turner
c762dbe864
Fix dependency on ‘version’ file.
2016-06-09 11:03:35 +01:00
James Turner
37c551bae7
Fix for HTTP/curl waiting on update
...
This improves responsiveness of TerraSync with small files and general
throughout dramatically.
2016-06-08 15:43:59 +01:00
James Turner
0ccf3e1629
Threadsafe terrasync state updates/reading.
2016-06-08 15:27:47 +01:00
James Turner
5ba9004853
More repository test tweaks for Jenkins.
2016-06-07 11:24:01 +01:00
James Turner
cb80af0ebe
Improving channel lifetime in HTTP-based tests.
...
Previously, closed channels were not cleaned up, which looks to be
the caused of the test failures on Jenkins.
2016-06-06 17:26:50 +01:00
James Turner
1492de4391
Fix a leak / potential crash
2016-06-06 11:36:47 +01:00