1
0
Fork 0
Commit graph

13166 commits

Author SHA1 Message Date
Richard Harrison
4a156fe0b0 Temporary fix to the canvas replacement visitor
Use pointers to allow compilation on Linux/Mac until this is fixed properly as OSG elements should always be accessed via the reference counting mechanism.
2017-02-16 18:38:48 +01:00
Richard Harrison
cbb7915e49 Ensure to break out of the loop when an unrecognised incoming MP property id is encountered in a packet. 2017-02-16 18:30:17 +01:00
Richard Harrison
11778f595f Fixed exception caused when next is equal to end()
This happened whilst running under debug whilst spawning at a new location so it may be an edge case, but still worth checking for
2017-02-16 18:29:44 +01:00
Richard Harrison
bde3dd0644 Canvas texture replacement visitor compiler fix.
Change to use pointers rather than osg::ref_ptr<osg::Group> - based on http://andesengineering.com/OSG_ProducerArticles/RefPointers/RefPointers I think that it is not possible that the scenegraph can be modified between the visitor and the modify, provided that the methods are called after each other like this:

  ReplaceStaticTextureVisitor visitor(name, new_texture);
  branch->accept(visitor);
  visitor.modify_groups();
  return visitor.getPlacements();
2017-02-16 09:16:27 +01:00
Richard Harrison
41ecfd1972 Merge branch 'next-2' into multiplayer-dev
# Conflicts:
#	utils/fgqcanvas/CMakeLists.txt
2017-02-15 05:19:12 +01:00
Richard Harrison
e48a3d8b32 Replacement Texture visitor modified iterator whilst iterating
The visitor would modify the scenegraph during the traversal by inserting groups; this is not valid when using vectors, and MSVC2015 debug RTL throws an exception when this happens.

The fix is to simply make a list of the textures that need to be modified and modify once the scenegraph traversal has finished.
2017-02-14 18:56:38 +01:00
Richard Harrison
fa142c9464 Change log level for "prepare_ground_cache(): scenery_available returns false" message as the message occurs at a high rate and seems to be more suited at bulk rather than warn level 2017-02-14 16:08:05 +01:00
Richard Harrison
275d73d01f Multiplay: Improve log message handling for win32. 2017-02-14 16:08:04 +01:00
Richard Harrison
ecc38e76c2 ShortInts now transmit properly over MP.
I get a "unknown property ID" as we appear to transmit an extra 0 at the end; will investigate this next
2017-02-13 02:06:39 +01:00
Florent Rougon
8f24de831d Adapt includes according to relocation of SimGear's iostreams-related files
This change is the logical counterpart of SimGear's change from commit
79f869a7f32910197be72b21f6489fbbba02c836 that moved the following files
from simgear/misc to simgear/io/iostreams:

  gzcontainerfile.cxx
  gzcontainerfile.hxx
  gzfstream.cxx (formerly zfstream.cxx)
  gzfstream.hxx (formerly zfstream.hxx)
  sgstream.cxx
  sgstream.hxx
  sgstream_test.cxx
2017-02-12 21:30:51 +01:00
Richard Harrison
31e684b7e0 added support for short int encoding.
This is where the ID and the 16 bit value are transitted in the ID field; with no data field. The ID is in the highword - and this is detected by the client and processed as |ID  |VALU|
2017-02-12 20:14:02 +01:00
Richard Harrison
561087a30a Support for configurable MP Protocol Version 1.1.2
/sim/multiplay/protocol-version is either 1 or 2

The properties defined in multiplaymgr define which version they are related to; however if these are in a more recent protocol than selected they will be transmitted in the selected protocol version.

The id property list now defines a "transmit as" - however this is not yet implemented.

This commit is intended to be a WIP towards changes for 2017.1 that will ensure any future protocol changes are compatible with this version (so this 2017.1 would be able to see a protocl V3 FG if one ever existed), key to this is to stop processing the property list as soon as an unknown ID is encountered.
2017-02-12 16:57:24 +01:00
James Turner
a83947edbf Basic validation of added scenery paths.
Try to catch uses adding parent directories and hence missing
scenery.
2017-02-10 23:04:00 +00:00
Richard Harrison
ded4ec5ae3 merged 2017-02-07 00:37:14 +01:00
Richard Harrison
5b4e55a9a9 Should never happen; but I had a crash here. 2017-02-07 00:36:24 +01:00
Bertrand Coconnier
227087b3a8 Automatic detection of the ENABLE_SIMD setting for SG:
* Scrapped the previous code
* Instead use the symbol value imported from SG via the "CONFIG" mode of CMake find_package()
2017-02-07 00:04:56 +01:00
Richard Harrison
efcb969c7f Merge remote-tracking branch 'main-source/topics/nasal-aircraft-offset' into multiplayer-dev 2017-02-05 12:44:10 +01:00
Bertrand Coconnier
93a8ab99ff Fix to manage the case where SimGear include files are obtained via CMAKE_PREFIX_PATH 2017-02-05 10:27:30 +01:00
Richard Harrison
abd3e02d4d partitioned MP messages.
This moves certain properties into a second part of the buffer that isn't visible to the first with the intention of making a backwards compatible MP protocol that can have more efficient encoding in a second part that is after MsgLen.

Unfortunately this doesn't work because the code ensures that MsgLen in the header matches the received byte count.
2017-02-04 23:59:14 +01:00
Richard Harrison
78cfcbe466 Ensure avoinics sound totally disabled for AI craft 2017-02-04 23:57:26 +01:00
Bertrand Coconnier
044715ba05 CMake commands TRY_COMPILE and TRY_RUN are ignoring the instructions from INCLUDE_DIRECTORIES so the include directory has to specified ad hoc. 2017-02-04 22:53:22 +01:00
Bertrand Coconnier
80b8a298e1 Fix for when SimGear headers are not installed system wide (as is the case for Jenkins) 2017-02-04 21:53:18 +01:00
Bertrand Coconnier
4ab0b71fa8 The flag ENABLE_SIMD is now automatically carried over from SimGear. Mixed configurations between FG & SG could crash FG so this should not be allowed. 2017-02-04 20:21:19 +01:00
James Turner
80e45f6d9b Different solution for FGQCanvas install
Move the install line back inside the subdir, but pull in the extra
config file so the install-bindir is defined.
2017-02-04 08:25:41 +01:00
Richard Harrison
a896f4d20c Added new generic properties.
New string encoding that is efficient.
2017-02-04 06:11:12 +01:00
James Turner
311d59011c Fix an error when FGQCanvas is not defined.
There’s various cases where FGQCanvas might be enabled but still
fail to define the target.
2017-02-02 18:17:45 +01:00
James Turner
d13a672698 Expose aircraft-relative offset to Nasal.
This allows easily computing offsets in aircraft-relative coordinates,
and converting to global cartesian (ECEF) reference frame.
2017-02-02 17:54:18 +01:00
Richard Harrison
9c3697e16d Revised f_get_cart_ground_intersection to take 2 parameters, start:vec3d(x,y,z) , direction:vec3d(x,y,z) and returns geod hash.
Revised logic of f_get_cart_ground_intersection to make it more readable by checking the parameter validity at the beginning of the function
2017-02-02 17:25:40 +01:00
James Turner
d05b934702 Revert "Fixes for HUD, model-manager listeners."
This reverts commit 831053bd04.

See if this fixes the problem deleting models which Denk reported.
2017-02-02 17:02:39 +01:00
Erik Hofman
05b2b6536b Make use of the Vector new interpolation function 2017-02-02 11:35:55 +01:00
Richard Harrison
a9c55b1760 Change log level for "prepare_ground_cache(): scenery_available returns false" message as the message occurs at a high rate and seems to be more suited at bulk rather than warn level 2017-02-02 06:25:48 +01:00
Richard Harrison
4e87b8ea9a Multiplay: Improve log message handling for win32. 2017-02-02 06:25:35 +01:00
James Turner
0f3659818b QtInfoMsg requires Qt 5.5 2017-02-01 17:36:48 +01:00
James Turner
40fbebb777 Move FGQCanvas install command
This keeps standalone FGQCanvas build working.
2017-01-31 17:16:03 +01:00
James Turner
8f7c0d6801 Scenery extraction: set progress text
Fixes bug:https://sourceforge.net/p/flightgear/codetickets/1938/
2017-01-31 17:11:44 +01:00
Richard Harrison
0bf80f9b2a Add protection to the multiplayer (AI) interpolation to protect against segfaults when the previous and next packets contain different properties. 2017-01-30 23:25:00 +01:00
Erik Hofman
e39eac8a6d Nicer, human readanle, stack trace output 2017-01-30 15:58:09 +01:00
Erik Hofman
57dc778565 Fix a last minute typo 2017-01-30 12:31:05 +01:00
Erik Hofman
182f758eb7 Add a segmentation-fault report for Linux and Apple 2017-01-30 12:29:51 +01:00
James Turner
5d27d2509f Add “—-log-file” option, to log to other locations.
Each argument creates another log file, in the directory named. Symbolic
value ‘desktop’ creates logs on the user’s desktop.

Needs corresponding SimGear commit to build
2017-01-30 08:01:20 +01:00
James Turner
658074f78e Map Qt log to the Simgear log. 2017-01-30 08:01:20 +01:00
Erik Hofman
7133bc5c0f Make MSVC happy 2017-01-30 00:41:27 +01:00
Erik Hofman
ebfadb908c Make sure the AISim code compiles with the latest SIMD code changes in simgear 2017-01-29 15:27:41 +01:00
Rebecca N. Palmer
2b1336cd39 clear GroundLightManager also on non-standard exits to avoid crash
(e.g. --show-aircraft,
https://sourceforge.net/p/flightgear/codetickets/1935/ )
2017-01-28 23:07:23 +00:00
James Turner
d343496084 Check nav-cache write-ability explicitly.
Check the file permissions before opening using the new SGPath APIs,
and validate the result using Sqlite APIs after opening.
2017-01-28 16:05:18 +00:00
James Turner
45c6ec216f Update .desktop files to show the launcher
Suggested by Emilian, I assumed packagers tend to replace these files
or make their own decision anyway but for a non-terminal startup,
requesting the launcher seems a clear benefit to me.
2017-01-27 16:09:19 +00:00
James Turner
8472f8c6d0 Fix positional ordering of remote-canvas elements.
The mirror protocol now sends the position for internal as well as
leaf nodes, and the group uses this data to sort when no explicit
Z-indices exist. This gets the extra-500 much closer to working!
2017-01-26 23:14:48 +00:00
James Turner
c9f922ce1b Expose node position over property-mirror protocol. 2017-01-26 20:36:07 +00:00
Viktor Radnai
a26a5d741b Make wheels spin down slowly once off the ground 2017-01-26 20:36:07 +00:00
Erik Hofman
1a0537e493 Silence a few compiler warnings 2017-01-26 15:37:43 +01:00