Commit Graph

10 Commits

Author SHA1 Message Date
Klaus Basan
fe28c220fa Unit test fix
* Use correct version of loadAndResolveP3DSimConnect/loadAndResolveFsxSimConnect
* use CLogCategory::driver() for SimConnectSymbols
* added load(common_pre/post)
2018-11-16 02:49:54 +01:00
Klaus Basan
6e1c0633df Ref T349, log message if P3D driver is loaded 2018-11-16 02:49:52 +01:00
Klaus Basan
bb86701c9c Ref T349, added some P3D SimConnect API functions and utility functions to resolve string 2018-11-16 02:49:52 +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
a062607520 Ref T317, fix CLANG warning for SimConnect
- casting functions in "simconnectfunctions.h"
- using correctly casted values
- some other smaller fixes
2018-09-01 20:13:56 +02:00
Roland Winklmeier
597283dde1 Only link to SimConnect SP1 and XPack
SimConnect RTM is missing two important symbols:
- SimConnect_Text
- SimConnect_SubscribeToFacilities

Therefore remove it from the probing list.
2018-08-22 13:23:10 +02:00
Roland Winklmeier
53bb5aa9d9 Fix clang warnings 2018-08-22 13:23:10 +02:00
Roland Winklmeier
5a5fffa08c Test and report if any SimConnect symbol could not be loaded 2018-08-16 14:33:58 +02:00
Roland Winklmeier
ce99c0535f Check if SimConnect was properly loaded before attempting to use it
This commit adds a check that loadAndResolveSimConnect actually succeeds and
moves it right before SimConnect_Open is called.
The method itself was improved to check whether symbols got loaded already
in a previous run, before doing everything again.
2018-08-16 14:33:57 +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