Commit Graph

56 Commits

Author SHA1 Message Date
Klaus Basan
44d8e043e0 Ref T709, added DBus signatures and use CSettings class in service class
* CSettings objects will be shared among all services (traffic, weather, service)
* It is "global" for plugin
2019-08-11 23:15:44 +01:00
Mat Sutcliffe
eaa24952d1 Ref T710 Propagate libxplanemp CSL load error messages as swift validation errors. 2019-07-29 23:36:58 +01:00
Roland Rossgotterer
8943db5b2b Revert "[xSwiftBus] Automatically find and load CSL packages"
This reverts commit 61adfefa7a.
2019-05-15 17:19:56 +02:00
Roland Rossgotterer
aebf07511e [XSwiftBus] Allocate big memory buffers on the heap instead of stack 2019-05-14 11:37:54 +02:00
Roland Rossgotterer
61adfefa7a [xSwiftBus] Automatically find and load CSL packages
ref T657
2019-05-13 11:21:05 +02:00
Mat Sutcliffe
e9a4c49d68 Ref T547 Update license masthead in all source code files. 2019-02-22 20:36:43 +00:00
Mat Sutcliffe
acdbf9d43d Ref T470 CTraffic::getRemoteAircraftData uses NaN to represent
an unknown vertical offset.
2019-02-22 20:23:30 +00:00
Roland Rossgotterer
901cf34bc8 Fix X-Plane follow aircraft
This commit fixes two bugs:
- The camera position was never initialized until space was pressed. The camera position was therefore random
- Instead of saving the camera position, we actually want to save the delta camera position.

ref T465
2018-12-11 17:42:49 +01:00
Roland Rossgotterer
49bd38d722 [XSwiftBus] Add hasMultiplayerPlanesAquired() DBus API
This function will return whether X-Plane multiplayer planes have been acquired by XSwiftBus or if not, who else acquired them.
2018-11-29 20:54:26 +01:00
Roland Rossgotterer
ec8245ea53 [XSwiftBus] Give PQ variables a unit
ref T313
2018-11-29 20:54:26 +01:00
Roland Winklmeier
9bb75a6f2e Rotate camera in follow plane view only if space key is pressed
This commits merges the two orbit plane functions together in CTraffic.
The separation was necessary since XSwiftBus needed to be started manually
and until started, the pointer to CTraffic was invalid. Since XSwiftBus
is started automatically, it can be merged into one function again.
This commit also adds the feature to rotate the camera only if the space key
is pressed. This is equal to how FSX/P3D do it. Using the right mouse was
not possible, since X-Plane SDK does not offer that option.

ref T360
2018-11-04 17:42:42 +01:00
Roland Winklmeier
f3f3ebc306 Cleanup aircraft in X-Plane after DBusConnection drops
ref T392
2018-10-07 16:17:25 +02:00
Roland Winklmeier
ebe23a694b Fix GCC7 fallthrough warnings 2018-10-05 17:39:58 +02:00
Roland Winklmeier
616cc241f4 [XSwiftBus] Convert setPlanesTransponders to list setter
ref T374
2018-10-03 03:03:41 +02:00
Roland Winklmeier
65d00dca6e [XSwiftBus] Fix plural in CTraffic::setPlanesSurfaces 2018-10-03 03:03:41 +02:00
Roland Winklmeier
cfc9c3166e Decouple flightloop processing from DBus
There are needs to not only run DBus tasks, but also different generic
tasks during the processing loop.
2018-10-03 03:03:40 +02:00
Roland Winklmeier
f637b2996d Fix floating point comparison 2018-08-07 20:40:59 +02:00
Roland Winklmeier
05e0480bb4 Move XPlane gnd flag handling from parts to situation
ref T276
2018-08-07 20:40:57 +02:00
Roland Winklmeier
59da68da5e Delay setting the DBusConnection for a DBusObject
Previously, the DBusconnection had to be set at construction time and could
not be changed over the DBusObject life time. Now a new connection can be
set anytime and as often as required.
The shared ownership is now also properly implemented by shared pointers.

ref T291
2018-08-07 20:40:40 +02:00
Roland Winklmeier
ef8c7d7d1c Fix rare crash and swift not being notified about a failed plane adding
This fixes are rare case, that no XPMP plane could be created (no model
was found) and this was not signaled to swift.
2018-08-07 20:40:36 +02:00
Roland Winklmeier
dc9b2a42f7 Fix the correct naming of altitude and elevation 2018-08-07 20:40:34 +02:00
Klaus Basan
52513db63f Ref T290, XPlane refactoring
* typo getRemoteAircraftsData -> getRemoteAircraftData (no "s")
* typo getEelevationAtPosition (double "Ee")
* get functions "const"
* added unit for some variables such as latitudeDeg
2018-07-17 19:04:50 +02:00
Roland Winklmeier
128edcd118 Update libxplanemp 2018-06-18 03:04:27 +02:00
Roland Winklmeier
87ba7183cc Add new command to jump to previous plane in follow plane view
ref T269
2018-06-18 03:04:25 +02:00
Roland Winklmeier
e55103ccdf Rename all variables and functions to be similar to followPlaneView 2018-06-18 03:04:24 +02:00
Roland Winklmeier
10b8cf5fea Add new command to jump to next plane in follow plane view
ref T269
2018-06-18 03:04:22 +02:00
Roland Winklmeier
0b607f9e0b Add own aircraft to X-Plane plane view menu
ref T269
2018-06-13 13:59:17 +02:00
Roland Winklmeier
654cc1621e Align the position and surface variable names to plural 2018-06-13 13:59:16 +02:00
Roland Winklmeier
33963041cc Implement followAircraft for X-Plane
ref T266
2018-06-13 13:59:13 +02:00
Roland Winklmeier
dab41045d3 [xswiftbus] Check if plane exists already before adding a new one 2018-05-12 21:40:02 +02:00
Roland Winklmeier
2fd4d286d6 Refactor retrieving remote aircraft data
Instead of requesting it individually for each callsign and waiting for a
signal from xswiftbus, pass in a list of callsigns and use async callback
to read the data.
2018-05-08 16:06:57 +02:00
Roland Winklmeier
bf8ed5c006 Load X-Plane remote aircrafts one by one sequentially 2018-05-08 16:06:57 +02:00
Roland Winklmeier
7de5c06c7a [xswiftbus] Fix destroying of removed menu items 2018-05-08 16:06:57 +02:00
Roland Winklmeier
848da69fe1 Group sending of all plane positions and surfaces into a single DBus call 2018-05-08 16:06:56 +02:00
Klaus Basan
75c481228f Missing include, fixing missing M_PI
Using the little "PI = std::acos(-1);" trick to avoid include issues
2018-05-08 16:06:31 +02:00
Roland Winklmeier
37e592759c [xswiftbus] Plane View Menu
FSX/P3D have a nice feature to follow a remote aircraft with the camera.
X-Plane was missing this feature, since for X-Plane the remote aircrafts
are not known. However, from a plugin point of view, we know them and where
they are. So we can manually control the camera and provide a similar
feature.
This is still very simple. As soon as you move the mouse, the PoV angle will
change. In future updates, it should be change only while the right mouse
button is pressed.
2018-05-08 16:06:30 +02:00
Roland Winklmeier
6a8ae67e06 [xswiftbus] Make xswiftbus completely Qt free 2018-05-08 16:06:30 +02:00
Roland Winklmeier
b0a8fcaa45 [xswiftbus] Remove BlackMisc dependency
There were only very few classes used from Blackmisc after the interpolator
was moved to the driver. Therefore replace those few classes with
a simple alternative and remove BlackMisc from xswiftbus.
2018-05-08 16:06:30 +02:00
Roland Winklmeier
d77931e5ec [xswiftbus] Replace QtDBus with a libevent driven C++ wrapper on top of libdbus
QtDBus was the main component of xswiftbus' Qt dependency. This is the
first preparation step to get xswiftbus Qt free.
The new implementation is based on the low level libdbus library, which
was also in use by QtDBus itself. But instead of QtDBus, we use now a thin
C++ wrapper. To keep DBus handling async, libevent is used to monitor
timeouts and fds.
2018-05-08 16:06:29 +02:00
Roland Winklmeier
e1538573fe Remove old xswiftbus interpolator code
ref T259
2018-04-13 23:37:45 +02:00
Klaus Basan
9abc57bb3d Ref T259, Ref T243 remove aircraft parts and situations from interpolator
* no longer using the add parts/situations signals
* will use the remote aircraft provider parts directly

Result: all parts/situations are stored only once in memory and in one single place
2018-04-13 23:37:37 +02:00
Klaus Basan
0c06ac26f7 Ref T259, Ref T243 removed interpolation hints
* no longer needed with providers in that form
* pure refactoring commit, just guarantees compilation
* already minor adjustments to use providers
2018-04-13 23:37:18 +02:00
Klaus Basan
333a92ff63 Ref T259, Ref T243 renaming to CInterpolationAndRenderingSetupPerCallsign 2018-04-13 23:36:34 +02:00
Klaus Basan
6fab2fd60f Ref T259, further checks of Plane pointer 2018-04-05 02:53:19 +02:00
Klaus Basan
d4b7d7d181 Ref T259, check if plane object is in m_planesByCallsign 2018-04-05 02:52:56 +02:00
Klaus Basan
9517ce7d7c Ref T259, formatting 2018-04-05 02:52:50 +02:00
Roland Winklmeier
09de945242 Add experimental X-Plane CG offset fetching
ref T231
2018-04-05 02:52:28 +02:00
Roland Winklmeier
72497fdefc Regularly request remote aircraft data from X-Plane
This includes
* ground elevation
* model offset (to be implemented)

ref T259
2018-04-05 02:52:26 +02:00
Roland Winklmeier
2ab6a96d57 Adapt to libxplanemp improvements
* XPMPMultiplayerInit API change
* New CSL command 'VERT_OFFSET'
* OBJ8 objects can have multiple textures now. Therefore use the same model
name convention as with OBJ7.
2018-04-05 02:52:24 +02:00
Roland Winklmeier
4db0b83310 Move X-Plane interpolation into driver
ref T259
2018-04-05 02:52:20 +02:00