Commit Graph

1004 Commits

Author SHA1 Message Date
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
a508ad4ccb Ref T268, check in XPlane driver 2018-07-12 18:29:40 +02:00
Klaus Basan
d0adcc98cb Ref T289, merge CSimulatorCommonn/ISimulator 2018-07-12 18:29:36 +02:00
Klaus Basan
e904a288ad Ref T268, statistics functions moved to interface 2018-07-09 22:30:52 +02:00
Klaus Basan
f8c64c0296 Ref T268, proxy style 2018-07-09 22:30:51 +02:00
Klaus Basan
df869373e8 Ref T268, XPlane driver improvements
* 2 queues, one for pending "to be added" aircraft and one for "adding in progress" (easier timeout detection)
* disconnect DBus when unloading
* check if aircraft "are still in range" before adding
* adding to XPlane only in one place
* data for aircraft can be explicitly request and are requested directly when an aircraft has been added
2018-07-09 22:30:48 +02:00
Klaus Basan
79c1691fdc Ref T268, Xplane driver style/renaming 2018-07-09 22:30:47 +02:00
Klaus Basan
a21a510d82 Use Non ATC aircraft 2018-07-09 22:30:45 +02:00
Klaus Basan
1ba99b5392 Ref T268, XPlane to do not request updates of values "not near ground" 2018-07-09 22:30:44 +02:00
Klaus Basan
8a0b76e6d9 Use string conversion for FSX listener 2018-07-09 22:30:40 +02:00
Klaus Basan
74b044bd19 Ref T268, removed obsolete functions as of https://swift-project.slack.com/archives/G7GD2UP9C/p1530707227000095 2018-07-09 22:30:39 +02:00
Klaus Basan
ac406d43f6 Ref T286, renaming / adding utility functions in simulator info 2018-07-09 22:30:24 +02:00
Klaus Basan
2798d36435 Ref T275, FSX/P3D obtain model string and CG when model is added and set it in the providers 2018-07-09 22:30:23 +02:00
Klaus Basan
ca87784509 Ref T275, remember CG per model string 2018-07-09 22:30:22 +02:00
Klaus Basan
c168262159 Ref T275, utility functions in simulated aircraft, sim object .. 2018-07-09 22:30:21 +02:00
Klaus Basan
6bcded9264 Style 2018-07-09 22:30:20 +02:00
Klaus Basan
1f689a8830 Ref T275, Ref T280, Ref T245 FSX simulator improvements
* request model info
* stricter checks (asserts)
* display simulator debug messages in simulator view (not as normal status message)
2018-07-09 22:30:16 +02:00
Klaus Basan
9baa10c5f8 Style 2018-07-09 22:30:14 +02:00
Klaus Basan
7a4f723fc0 Fixes so that P3D code compiles on Win32 (FSX) 2018-07-03 21:02:31 +02:00
Klaus Basan
b7df378868 Minor fixes include order 2018-06-27 12:49:17 +02:00
Klaus Basan
7a745d2ce6 Ref T275, improved request id handling for FSX/P3D
* base reange for request IDs
* all operations use offsets
* we can conclude what an id is used for (debugging)

plus

* minor Doxygen fixes
* some renamings
2018-06-27 12:49:11 +02:00
Klaus Basan
e6ac7eb4df Add Qt += network 2018-06-27 12:49:09 +02:00
Klaus Basan
bc0b4502cf Ref T275, move some simple implementations into ISimulator
Goal: merge CSimulatorCommon/ISimulator
2018-06-27 12:49:08 +02:00
Klaus Basan
abdecaf9d8 Ref T275, count simconnectProc calls and how often it was doing nothing 2018-06-27 12:49:06 +02:00
Klaus Basan
dff5c90853 Ref T275, move simulator info into env. provider 2018-06-27 12:49:05 +02:00
Klaus Basan
e9e68de255 Ref T245, experimental camera support for P3D
* removed deprecated functions of SimObject
* specific P3D initEvent function
2018-06-27 12:49:03 +02:00
Klaus Basan
69193f089a Minor tweaks, style 2018-06-25 02:04:35 +02:00
Klaus Basan
e90027e3fc Ref T280, using "result.getPartsStatus().isReusedParts" 2018-06-20 00:58:38 +02:00
Klaus Basan
2c55015d26 Ref T275, ctor and option to check if gnd elevation "is better" 2018-06-18 20:55:06 +02:00
Klaus Basan
d864789890 Ref T280, FSX/P3D also measure time of inner SimConnectProc to see if SimConnect_CallDispatch has any influence 2018-06-18 03:04:51 +02:00
Klaus Basan
9777bf963c Style 2018-06-18 03:04:32 +02:00
Klaus Basan
6688b56e49 Fixed "SimConnect.lib(commClient.obj) : error LNK2019: unresolved external symbol __imp_CoTaskMemFree" on Win64 systems
* discussed here: https://swift-project.slack.com/archives/G7GD2UP9C/p1528793410000485
* This problem was obviously related to commit Ref T270, Ref T275 FSX/P3D moved the common parts of the .pro files into .pri files and included those
2018-06-18 03:04:20 +02:00
Klaus Basan
2b3b0bd9ee Ref T275, FSX/P3D check if SimObject has been removed 2018-06-18 03:04:19 +02:00
Klaus Basan
c5fb428fa9 Ref T280, using the QHash<CCallsign, T> definitions to unify use cases 2018-06-14 14:40:16 +02:00
Klaus Basan
444c7a18ba Ref T275, use getSimObjectForObjectId / getProbeForObjectId
* added getProbeForObjectId
* used getSimObjectForObjectId where not yet used
2018-06-13 14:00:31 +02:00
Klaus Basan
6f5b4c5de8 Ref T275, used "pending" function (FSX/P3D) to check if we can request position data 2018-06-13 14:00:30 +02:00
Klaus Basan
db8939c499 Ref T275, isShuttingDownOrDisconnected as stricter check 2018-06-13 14:00:25 +02:00
Klaus Basan
44f01d8d97 Ref T275, asynchronous version triggerUpdateRemoteAircraftFromSimulator and only fast updates for moving aircraft 2018-06-13 14:00:24 +02:00
Klaus Basan
a27f2b3a9c Style, typos 2018-06-13 14:00:21 +02:00
Klaus Basan
4975ecd712 Ref T275, improved tracing for FSX
* getStatisticsSimulatorSpecific for simulator specific traces/logs
* trace CSimulatorFsxCommon::SimConnectProc times
* trace which receive id is handled in SimConnectProc
* allow to limit aircraft updates (max FPS)
* handle airport updates outside SimConnectProc
2018-06-13 14:00:19 +02:00
Klaus Basan
bdf58ff538 Ref T275, utility functions to trace request ids 2018-06-13 14:00:18 +02:00
Klaus Basan
0f931eeeb3 Ref T268, moved changeRemoteAircraftModel/Enabled to CSimulatorCommon and removed duplicated code 2018-06-13 14:00:09 +02:00
Klaus Basan
de4c7852a6 Style, formatting 2018-06-13 14:00:08 +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
Klaus Basan
11aa3052f7 Ref T270, Ref T275 FSX/P3D auto trace sendId
In case of problems sendId tracing is automatically switched on for some tome
2018-06-13 14:00:05 +02:00
Klaus Basan
8f336a9631 Ref T273, Ref T275 FSX/P3D uses simulator common function to skip sending equal parts/situations 2018-06-13 13:59:57 +02:00
Klaus Basan
f3edf14186 Ref T273, Ref T275 XPlane uses simulator common function to skip sending equal parts/situations 2018-06-13 13:59:56 +02:00
Klaus Basan
bc7a9ca40e Emulated driver UI, messages in splitter 2018-06-13 13:59:53 +02:00
Klaus Basan
6ed541b6ab Ref T243, Ref T273, added info about elevation (where did we obtain it?) 2018-06-13 13:59:52 +02:00