1
0
Fork 0
Commit graph

13065 commits

Author SHA1 Message Date
Florent Rougon
0b1c356837 Make the FG installation prefix available to C++ code via config.h
CMAKE_INSTALL_PREFIX is now available as FG_INSTALL_PREFIX from
config.h.
2016-12-29 11:33:19 +01:00
Florent Rougon
e1b65590cb Add the top-level options.xml and Translations directory moved out of FGData
Copy them to ${CMAKE_INSTALL_PREFIX}/share/flightgear at installation time.
2016-12-29 11:33:19 +01:00
Erik Hofman
2b9de5ceaa Make it possible to choose a different electrical circuit instead of the defaukt systems/electrical/outputs/turn-indicator by specifying the xml tag <electrical/> 2016-12-29 09:55:54 +01:00
James Turner
90d6911d68 Work on Remote-Canvas 2016-12-28 22:01:29 +01:00
James Turner
a42900bef5 Remote-canvas element highlighting.
Debugging aid to correlate property tree items to their visual
location.
2016-12-28 22:01:29 +01:00
James Turner
980be9f479 Remote-canvas: fix clip parsing + handling. 2016-12-28 22:01:29 +01:00
James Turner
0e57001cab Add element inspector to remote-canvas 2016-12-28 22:01:29 +01:00
James Turner
967f1c1426 Fix source / dest rect in FGQCanvas image. 2016-12-28 22:01:29 +01:00
James Turner
95e09de1ff Remove a log message. 2016-12-28 22:01:29 +01:00
Florent Rougon
d6313e52b5 Correctly initialize an SGPath from the APPDATA environment variable on Windows
This is likely to fix the problem preventing startup on Windows when the
username contains non-ASCII characters (cf.
<https://forum.flightgear.org/viewtopic.php?f=22&t=31320>). Thanks to
Headhunter76 for the useful report and to wkitty42 for doing the liaison
officer. ;-)

I can't actually test this, because I don't have Windows. Windows users
should report whether this works for them.
2016-12-28 16:57:26 +01:00
Saikrishna Arcot
bb0869599b
Switch to using argparse in terrasync.py, which is actually maintained, and fix a couple of errors. 2016-12-28 08:32:55 -06:00
Saikrishna Arcot
eb4738cb02
Switch to using optparse module, and allow settings bounds from command line. 2016-12-27 22:41:59 -06:00
Saikrishna Arcot
e67ea4e0cb
Add in the ability to download scenery only for a specific section. 2016-12-27 21:17:46 -06:00
Saikrishna Arcot
2c5429c589
Improve error handling.
If the response to the HTTP request isn't 200 (success), then don't save
the response, and don't call the callback.

Additionally, only retry in the case of HTTPException. This allows using
Ctrl-C to work correctly (and easily).
2016-12-27 20:46:59 -06:00
Florent Rougon
9b38c0046f Add missing include
In utils/fgqcanvas/fgcanvaspath.cpp: <QByteArrayList>
2016-12-25 21:33:41 +01:00
Erik Hofman
ffdfdcb6d7 Alter the sequence to allow type conversion 2016-12-23 16:01:49 +01:00
Erik Hofman
31ed6184a9 NExt batch of updates: more use of SIMD instructions. Still work in progress. 2016-12-22 15:14:52 +01:00
Erik Hofman
33f0b83b69 Viktor Radnai:
There is a Flightgear property called /sim/hitches/winch/automatic-release-angle-deg that can be used to simulate a safety feature built into modern gliders. If the cable angle gets too great during a winch launch, the hook will automatically release the cable. This usually happens when the glider gets almost on top of the winch at the top of the launch without releasing the cable.

Unfortunately winch launching has two separate implementations, one in Nasal for JSBSim, and another one in C++ for YASIM. The YASIM one does not implement this property so I wrote a patch to add this.
2016-12-22 11:49:15 +01:00
James Turner
12ad68f258 Abandon FGQCanvas build if QtWebSockets is missing.
Should avoid build pain for people with older Qt5 installs or who
don’t have the web-sockets development package available.
2016-12-21 11:14:50 +00:00
James Turner
eba1f3221f Fix a bug starting the property-tree mirror. 2016-12-21 10:26:31 +00:00
James Turner
6c0e9b747d Remote-canvas image support, partially working. 2016-12-21 10:26:31 +00:00
James Turner
57432c20ad Remove some stale code. 2016-12-21 10:26:31 +00:00
James Turner
066d81568d Remote-canvas loads fonts from the host. 2016-12-21 10:26:31 +00:00
James Turner
34ca0c15cc Fix default text alignment in remote-canvas 2016-12-21 10:26:31 +00:00
James Turner
4c4fb1a6ac Make FGPanel dependency handling better 2016-12-21 10:24:40 +00:00
Erik Hofman
342f75d48c Add a missing break statement 2016-12-21 09:50:53 +01:00
Torsten Dreyer
c472788ad8 Httpd: fix slow websocket init 2016-12-20 11:46:02 +01:00
James Turner
106b62caa5 Make FGQCanvas a bit more optional. 2016-12-19 17:54:37 +00:00
James Turner
351dfdb498 GCC compilation fix. 2016-12-19 09:04:25 +00:00
James Turner
569925b61b Remote-canvas work, based on Extra-500 testing. 2016-12-18 23:52:16 +00:00
James Turner
490592d96e Remote-canvas handles rects / round-rects directly.
When a rect shape is specified, paint it directly instead of converting
to a path, since this might be much cheaper.
2016-12-18 21:55:32 +00:00
James Turner
d831751b11 Fix aircraft-history naming of variants. 2016-12-18 21:25:05 +00:00
James Turner
b999ab335b SVG handling for Remote-canvas 2016-12-18 21:24:39 +00:00
Erik Hofman
7fe40ddb61 add SSE support for the C compiler (gcc and clang) 2016-12-18 09:40:46 +01:00
James Turner
bd5a266e9f Qt-based remote canvas application.
Work-in-progress, currently performance is sub-optimal (software
rendering via QPainter API).
2016-12-17 14:24:28 +00:00
Erik Hofman
005d5fa766 Search for Glew and freetype 2016-12-17 12:46:54 +01:00
Erik Hofman
a10d3d8381 Add SimGearCore 2016-12-17 11:40:35 +01:00
Erik Hofman
94ed70607b MSVC 2013+ for 64-bit automatically sets /arch:SSE2 and doesn't recognise te option 2016-12-17 10:51:01 +01:00
gallaert
effca9da5e Update FGPanel:
- use OpenGL 2.0 instead of OpenGL 1.0;
- port to Raspberry Pi;
- remove PLib dependencies.
2016-12-16 19:35:44 +00:00
Erik Hofman
c9b01b1d69 Enable SSE and SSE2 by default 2016-12-16 10:50:24 +01:00
Erik Hofman
8b466cb207 One last(?) MSVC fix 2016-12-15 20:08:25 +01:00
Erik Hofman
e845dab6e0 Fix an MSVC error 2016-12-15 10:49:09 +01:00
James Turner
0af316d7fc Nasal Time objects can use simulated time.
Previously timer objects defaulted to using wall-clock (real) dt which
does not reflect pause/speed-up. Keep this as the default for
compatibility but make it possible to request simulated time.
2016-12-11 16:10:57 +00:00
Florent Rougon
3dea0f73aa Use SGPath::fromUtf8() to construct an SGPath from a property node string value
This was missing in a few places of src/Autopilot/route_mgr.cxx.
2016-12-11 12:40:09 +01:00
James Turner
85f75dee4f Fix a couple of potential crashes on exit.
- Font cache shutdown explicitly
- Pending GUI snapshot cleared explicitly

Both of these are dependencies on the osgViewer / GLContext.
2016-12-10 23:24:09 +00:00
James Turner
4fb5bc8512 Property-Mirror websocket: fix removing props.
Special case handling when recently removed properties are re-added;
when this happens simply send a value change since it's much cheaper
over the wire and for the receiver. Poorly designed Canvas code does
this frequently (eg, every update)
2016-12-10 22:01:25 +00:00
Florent Rougon
a3560adc03 nav.dat parser: small changes
- Try to make log messages less cryptic.
- Lower the level of two of them to SG_INFO, as discussed on the mailing
  list (<https://sourceforge.net/p/flightgear/mailman/message/35537475/>).
- Add a const qualifier.
2016-12-10 09:45:51 +01:00
Florent Rougon
a2bf424118 Improve parsing of nav.dat and carrier_nav.dat
- Handle file I/O and parsing errors. This allows current
  <http://gateway.x-plane.com/navaids/LatestNavFix.zip> to be loaded
  instead of failing in an endless loop.

  Read the fields of a record with std::getline() followed by
  simgear::strutils::split(), itself followed by calls to std::stoi(),
  std::stof() and std::stod(). Stream extraction (>>) isn't very good
  here, because it can read for instance an int *and* a float from the
  string "3.14", i.e. extract 3 followed by 0.14 (thus falsifying the
  number of fields found...).

  Check the number of fields (not 100 % reliable since the last field,
  the navaid name, typically contains spaces---but we can detect
  some situations where the number of fields is definitely too low).

- Fix line numbering (sgstream.cxx's skipcomment() isn't fit for this
  purpose, because it can gobble any number of lines without the line
  number being increased).

- Don't use a hardcoded number of lines for the nav.dat loading
  percentage indicator; rely on sg_gzifstream::approxOffset() instead.

- Make navDBInit() and loadCarrierNav() throw an sg_io_exception upon
  I/O errors (not for parsing errors that only affect a record). They
  don't return a bool anymore (which wasn't checked by their only
  caller, anyway).

- Use the 'rowCode' variable name instead of 'rawType' for consistency
  with the *.dat specs.

- Small change in tests: (elev_ft < 0.01) replaced with (elev_ft <= 0).
  Doesn't change the behavior, since 'elev_ft' is an int. Can be
  reverted if someone really prefers the float comparison, I don't mind
  that much about it.

- Add missing headers and a few comments.

This commit does not change the contents added to the NavCache with
FlightGear's current $FG_ROOT/Navaids/nav.dat.gz, except for 4 bogus
navaids which are not added anymore (at LIBV, OPJA, RCFN and RCYU): see
<https://sourceforge.net/p/flightgear/mailman/message/35526617/>. They
are instead properly reported as coming from invalid nav.dat lines.
2016-12-10 01:02:30 +01:00
Florent Rougon
280cd52368 Security fix: don't allow the route manager to overwrite any file
Since the Save function can be triggered from Nasal with an arbitrary
path, we must check this path before overwriting the file.

(also add a missing include that is directly needed for this commit)
2016-12-09 17:15:06 +01:00
James Turner
9aaff777d9 Support CrashRpt 1403 2016-12-09 14:39:25 +00:00