Commit Graph

244 Commits

Author SHA1 Message Date
Mat Sutcliffe
e9a4c49d68 Ref T547 Update license masthead in all source code files. 2019-02-22 20:36:43 +00:00
Roland Rossgotterer
d639187f91 Convert static common simulator plugins to shared ones
Test Plan:
- Check that the new shared libraries are packaged in all platform installers.
- check that plugins are loaded properly on all platforms.

Reviewers: #swift_pilot_client, msutcliffe

Reviewed By: #swift_pilot_client, msutcliffe

Maniphest Tasks: T471

Differential Revision: https://dev.swift-project.org/D79
2019-02-22 20:34:50 +00:00
Mat Sutcliffe
82679a3010 Replace qmake variable BLACK_CONFIG with a system based on json files.
The config is loaded from json files by qmake, and we define the qmake
function `swiftConfig` for checking whether a feature is enabled.
This function can be directly used in `buildconfig_gen.cpp.in`,
so the trick with C++ comment tokens in variables is not needed.
2019-02-22 20:23:25 +00:00
Klaus Basan
59343c6c24 Minor style fixes 2018-12-14 19:57:31 +01:00
Roland Winklmeier
f63008dd3f Load P3D 64 bit SimConnect shared library at runtime
This aligns the behavior and concept with the 32 bit FSX version. SimConnect
is loaded at runtime, depending on the version being selected.
It also adds a featuren to change the P3D SimConnect version at runtime by
unloading the previous and loading a new one.

ref T349
2018-11-16 02:49:51 +01:00
Klaus Basan
83e2fcf85e FSX listener adjustments, timer requires "this" parent here
https://swift-project.slack.com/archives/G7GD2UP9C/p1534445228000100
2018-08-16 21:08:02 +02:00
Roland Winklmeier
b16af78142 Load SimConnect dynamically at runtime.
Previously the FSX/P3D driver tried to link a very specific SimConnect version
from the Windows Assembly cache. This caused issues with machines
which did not have this specific version of SimConnect in the assembly
cache since drivers refused to load without much information. Having a different
version of SimConnect in the assembly cache or even in the bin folder did
not help.
To fix this problem, SimConnect is now loaded and resolved manually at
runtime. This allows to try loading different versions from the assembly
cache or prefer to load the shipped one.
For this, the manifests are linked into the binary's resource section and
activated manually before loading. This has the positive effect, that
loading errors can be handled by code instead of raising a cryptic error and
aborting.
2018-07-12 18:29:45 +02:00
Klaus Basan
f728efb3be Ref T270, Ref T275 FSX/P3D moved the common parts of the .pro files into .pri files and included those
Remark: See also https://swift-project.slack.com/archives/G7GD2UP9C/p1528277800000196
2018-06-13 14:00:07 +02:00
Klaus Basan
78747782e4 Ref T270, Ref T275 FSX/P3D .pro files adjusted 2018-06-13 14:00:06 +02:00
Roland Winklmeier
4aaccb44c3 Cleanup the enabled modules in all sub projects
Most modules were just enabled to add include path for dependent headers
2018-06-02 02:08:46 +02:00
Klaus Basan
2ae8f5b03f Ref T270, added CSimulatorPluginCommon as base class in driver project
* unlike BlackCore::CSimulatorCommon we can add also UI aspects here
* used by emulated driver, XP and the FS series
2018-05-18 00:25:11 +02:00
Klaus Basan
3031e5b648 Ref T261, set client provider in simulator
Needed to obtain client capabilities
2018-05-08 16:06:48 +02:00
Klaus Basan
4b7237ce1b Ref T259, Ref T243 adjusted providers to use common base classes 2018-04-06 02:56:57 +02:00
Klaus Basan
d118ea402f Ref T232 clear remote aircraft data once network disconnects
* blackconfig in .pro
* verify function to detect dangling states
* clear remote data when disconnected from network
* there was one problem that the data where not correctly cleaned up and hence new aircraft where not added again after a disconnect/reconnect from network
* it is not yet clear why data happens (dangling data), that is what the debugVerify function is for
2018-01-30 20:31:11 +01:00
Klaus Basan
f7c714b153 Ref T180, FSX/P3D driver formatting 2017-11-10 19:28:17 +01:00
Klaus Basan
6b3cdf52ee Ref T180, adjusted FSX/P3D includes
* the fix header belongs into fsxcommon (not fsx) dir
* P3D is purely P3D, we do not build a P3D x86 driver
2017-11-05 20:02:03 +01:00
Klaus Basan
c6d184cd3b Ref T118, fix for simconnect.h not including windows.h 2017-10-31 15:39:11 +01:00
Klaus Basan
29e1d54e05 Ref T111, some fixes in the vicinity of plugin / drivers
* mostly style / doxygen / formatting
* assert/verify
2017-09-24 19:51:02 +01:00
Mathew Sutcliffe
1400f38aa9 Add missing PRE_TARGETDEPS in simulator plugin projects
Summary:
This fixes issue reported by Klaus in Slack:
> when I change something in the plugin driver, I always have to rebuild the plugins before I can debug again.

Also refactored `libraries.pri` to remove duplication.

Reviewers: #swift_pilot_client, rwinklmeier

Reviewed By: #swift_pilot_client, rwinklmeier

Subscribers: kbasan, jenkins

Tags: #swift_pilot_client

Differential Revision: https://dev.swift-project.org/D31
2017-09-24 19:49:18 +01:00
Roland Winklmeier
984b30aef3 Enable P3D-v4 64 bit build
Summary:
This commit enables P3D-v4 for 64 bit including all dependent libraries.
Those binaries are not yet installed, since they are considered
experimental.

Reviewers: #swift_pilot_client, msutcliffe

Reviewed By: #swift_pilot_client, msutcliffe

Differential Revision: https://dev.swift-project.org/D30
2017-09-24 19:49:16 +01:00
Klaus Basan
6d26c96569 Ref T27, preparation for refactoring, turned private slots into normal member functions
* Motivation: slots no longer required, and in the driver the (small) slot overhead might matter
* renamed some members to better reflect future use
* timer intervals as constexpr
* fixed some typos and comments
2017-06-27 20:50:26 +02:00
Roland Winklmeier
5a40e86ecf Add 32 and 64 bit FSUIPC library projects
Summary:
So far we were linking against the prebuilt FSUIPC user library,
compiled with VS2010 many years ago. The source of this user library is
part of the FSUIPC SDK, so we can benefit from modern compilers and
include it into our source tree.
This version contains some very small wide char fixes compared to the
official FSUIPC SDK source.
It also includes the new 64 bit version.

Reviewers: #swift_pilot_client, msutcliffe

Reviewed By: #swift_pilot_client, msutcliffe

Differential Revision: https://dev.swift-project.org/D29
2017-06-27 13:37:52 +02:00
Roland Winklmeier
79556260bd Remove QtConcurrent from list of Qt modules
Summary:
QtConcurrent isn't used any longer in swift code, so we can remove it
from the list of enabled modules. Disabling it causes the QtConcurrent
header path to be removed from the include paths and we no longer
unnecessarily link against it.

Reviewers: msutcliffe

Reviewed By: msutcliffe

Subscribers: jenkins

Differential Revision: https://dev.swift-project.org/D25
2017-06-09 12:29:59 +02:00
Klaus Basan
4a984ea1de refs #908, formatting 2017-04-17 23:59:28 +01:00
Klaus Basan
5d8ed66931 refs #891, FSX using common base class 2017-04-17 23:57:16 +01:00
Mathew Sutcliffe
04ddd3bfa5 refs #863 Move interpolator logging into a separate class.
A single logger instance can be shared between multiple interpolator instances.
2017-02-24 15:22:34 +00:00
Mathew Sutcliffe
e67b5fccc4 refs #863 Change callsign parameter to be a member instead. 2017-02-24 15:22:32 +00:00
Mathew Sutcliffe
9c918b8799 refs #863 Interpolator inheritance based on CRTP rather than virtual methods. 2017-02-24 15:22:26 +00:00
Mathew Sutcliffe
1c2533f5d2 refs #863 Moved nested status classes to namespace scope. 2017-02-24 15:22:25 +00:00
Mathew Sutcliffe
a167cc8e43 refs #863 Each aircraft gets its own interpolator instance,
so each one can cache calculations from one frame to the next.
The recent situations and parts are members of the interpolator.
2017-02-24 15:22:22 +00:00
Mathew Sutcliffe
2181702c5c refs #863 Change interpolation setup member to be a method parameter instead. 2017-02-24 15:22:21 +00:00
Klaus Basan
2a0d0e1d84 refs #873, sendToggledLightsToSimulator as own function
* better resending of lights when light state in simulator is not yet known
* support for cabin/recognition light
2017-02-24 15:20:34 +00:00
Klaus Basan
bcb42b0f0d Formatting 2017-02-24 15:20:33 +00:00
Klaus Basan
b6ac5cbb45 refs #873, added cabin and recognition light plus anyEngineOn 2017-02-24 15:20:32 +00:00
Klaus Basan
e3ab9d08c3 Do not show tiny airfields of FSX 2017-02-24 15:20:31 +00:00
Klaus Basan
01b79a76a6 refs #873, better guessing of parts (clients without aircraft config) 2017-02-24 15:20:29 +00:00
Klaus Basan
a61abfcb8b refs #873, use events for lights
* added members for sim objects
* receive lights for (remote) aircraft from simulator
* update lights
* utility functions for request ids
2017-02-24 00:20:01 +00:00
Klaus Basan
9c2682f386 refs #873, own data definition for lights
(as events will be used)
2017-02-24 00:19:57 +00:00
Klaus Basan
5f701e7547 refs #873, define events for lights 2017-02-24 00:19:47 +00:00
Klaus Basan
f701d6ad4a refs #873, FSX: do not send parts if they are equal
* == operator for struct
* do not send when equal
* fixed missing init of guessed parts struct
2017-02-24 00:19:45 +00:00
Klaus Basan
1d967b08e8 refs #865, based on discussion https://dev.vatsim-germany.org/issues/865#note-12
* do not call XP`s elevation provider if not needed in interpolator
* some renaming/utility functions
2017-02-24 00:19:41 +00:00
Klaus Basan
085f25fa86 refs #865, FSX: changed how elevation/CG is updated 2017-02-24 00:19:28 +00:00
Klaus Basan
1967c82221 Formatting 2017-02-24 00:19:19 +00:00
Klaus Basan
62d4a94106 refs #865, further improved logging
* set log flag in hints, so no lock for each aircraft is needed
* as a result log functions have a bool log parameter now
* highlight situation and parts changed
2017-02-24 00:19:18 +00:00
Klaus Basan
0488b4b5ea refs #865, adjusted FSX part to use parts in interpolation hints
* split update of aircraft parts in guessing/sending
* pass hints to interpolator
2017-02-24 00:19:06 +00:00
Klaus Basan
68dccbefa6 Formatting, renaming, Doxygen, minor UI adjustments 2017-02-24 00:18:51 +00:00
Klaus Basan
7ddb69825a refs #865, FSX: use onGround from CAircraftSituation 2017-02-24 00:18:49 +00:00
Klaus Basan
daab5eed49 refs #865, adjusted interpolator to use elevation or elevation provider
* adjusted IInterpolator::setGroundElevationFromHint
* removed cgAboveGround from getCorrectedAltitude
2017-02-24 00:18:43 +00:00
Klaus Basan
0a99c82ddc refs #865, FSX: added altitude above ground and CG for own aircraft 2017-02-24 00:18:38 +00:00
Mathew Sutcliffe
3f5139d717 refs #852 IInterpolator::getPartsBeforeTime renamed to getInterpolatedParts
and returns a single CAircraftParts object, not a list.
2017-02-24 00:17:55 +00:00