Commit Graph

207 Commits

Author SHA1 Message Date
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
Roland Winklmeier
1032379773 [FSX] Inject weather via SimConnect instead of FSUIPC
refs #851
2017-02-24 00:09:18 +00:00
Klaus Basan
61e7f23847 refs #858, todo review (demoted, commented) 2017-02-24 00:09:00 +00:00
Roland Winklmeier
1a6c7fa192 Add control button to activate and deactivate swift weather
- GUI changes
- Context and ISimulator APIs
- Refactored settings and static weather injection in CSimulatorCommon

refs #807
2017-01-10 23:47:39 +00:00
Klaus Basan
4f1dc00d67 refs #848, check flags for FSUIPC parts before using them 2017-01-10 23:46:22 +00:00
Klaus Basan
c20b54466f refs #848, some upfront cleanup 2017-01-10 23:46:17 +00:00
Klaus Basan
93a18f433c refs #840, FSX driver: get ground elevation from simulator
* fixed wrong request id
* made functions private where possible
* added data definitions for simobject data
2017-01-10 23:45:30 +00:00
Roland Winklmeier
58c816197e Use onGround flag only when ground speed is low
OnGround flag is not synchronized with positions and causes jumps
during right before takeoff and after landing. By adding a threshold
currently being 20 kts, we move the jump into an area when the aircraft
is still leveled.
2017-01-10 23:45:06 +00:00
Roland Winklmeier
d46318be5e Use interpolated timestamp in order to get corresponding parts
So far the current timestamp was used to get the aircraft parts. This
caused aircraft jumps during takeoff and landing as soon as the on ground
flag changed.
2017-01-10 23:45:04 +00:00
Klaus Basan
1a500340f0 refs #836, elevation for own FSX/P3D aircraft in driver
plus some minor improvements such as const where applicable
2017-01-10 23:44:52 +00:00
Klaus Basan
b69008e0b3 refs #829, consolidated settings for simulator/messages
* move traits from blackcore to blackmisc
* renamed CSimulatorSettings/Messages
2016-12-13 19:02:13 +01:00
Klaus Basan
364725548d refs #823, always gear down on ground 2016-12-13 19:01:55 +01:00
Klaus Basan
add3aa5a74 Minor formatting/tweaks 2016-12-13 19:01:47 +01:00
Klaus Basan
df2073e5e6 refs #814, allow to disable aircraft parts updates, mostly for testing
* added flag in setup
* and UI
* plus some formatting in driver classes, removed unused member
2016-12-13 19:01:38 +01:00
Klaus Basan
20b4044d29 Minor UI and style fixes
* completer for airports in ATC component
* log messages
* style fixes
2016-12-13 19:01:18 +01:00
Klaus Basan
10d43798b0 refs #811, airports default implementation
* if no sim data are available use reader data
* merge airport data for FSX
* Added "network" in .pro (needed for network classes such as readers)
2016-12-13 19:01:15 +01:00
Klaus Basan
26cc77ebab refs #810, using DWORD instead of int to avoid possible issues (signed vs. unsigned)
Requires flags as negative flags do not indicate invalid
2016-12-13 19:01:11 +01:00
Roland Winklmeier
c1d8438ab7 Use '%lu' format when printing DWORD
Acoording th MSDN, DWORD is a typedef to unsigned long.
2016-12-13 19:01:07 +01:00
Klaus Basan
53d430575c refs #808, set internals object for FSX 2016-12-13 19:01:01 +01:00
Klaus Basan
2163fd9b01 refs #808, CSimulatorInternals
* renamed from CSimulatorSetup to CSimulatorInternals
* removed the FSX class, no longer needed
* utility functions for CNameVariantPair
2016-12-13 19:00:58 +01:00
Klaus Basan
871a1dd321 Prevent killing timer with wrong id 2016-12-13 19:00:52 +01:00
Roland Winklmeier
2e5176ebcc Set timer id to invalid once it got killed
After two consecutive calls to CSimulatorFsx::reset(), the timer was
killed again in the second call. This caused an internal Qt warning,
since the id is unknown after it got killed in the first call.
2016-12-13 19:00:51 +01:00
Klaus Basan
42549760ed refs #789, support for aircraft out of FSX reality bubble
* such aircraft will be tried to be added again
* removed qeueud adding as it was not solving the problem
2016-12-13 18:59:54 +01:00
Klaus Basan
94d6b8d6b8 refs #789, improvements to try to solve FSX issue in driver
* more asserts to find issues
* limit number of exceptions displayed
* reset() function (there was an issue with not cleaned up values)
* using CSimConnectObjects and adjustments for the previous changes
2016-12-06 09:47:07 +01:00
Klaus Basan
9deedf1e10 refs #789, improvements when addressing FSX driver issue
* added new utility funtion is model list / aircraft list
* added setters/getters for CSimConnectObject
* added setters/getters for InterpolationStatus / PartsStatus
* added CSimConnectObjects (better encapsulation)
2016-12-06 09:47:04 +01:00
Roland Winklmeier
ea561cf723 Warn in case pitch value from simulator is out of limits
refs #790
2016-12-06 09:46:43 +01:00
Klaus Basan
4f447cd408 refs #791, further improve reverse lookup
* utility function if web data are already available
* moved setOwnAircraftModel as reverseLookupAndUpdateOwnAircraftModel to CSimulatorCommon
* reverseLookupAndUpdateOwnAircraftModel also handles async lookup when data are not yet available
* removed context ps_allSwiftWebDataRead reverse lookup, done in CSimulatorCommon now
2016-12-06 09:34:43 +01:00
Klaus Basan
df60474510 refs #789, added signal when adding models fails
Signatures in context and simulator
2016-12-06 09:34:25 +01:00
Roland Winklmeier
42737faf2c Fix wrong pitch and bank value interpolation
Pitch and bank angle in CAircraftSituation are according to the
common aeronautical convention:
* Bank in degrees, positive = roll right
* Pitch in degrees, positive = pitch up

Microsoft Flight Simulator is using inverted angles, which was incorrectly
adjusted in the interpolator. This caused wrong values for X-Plane.
This angle correction is now moved into the MSFS specific plugins.
Additionally, so far the pitch and bank angles from own aircraft were
not yet corrected for MSFS. So we did send wrong values to the network.

refs #790
2016-12-06 09:34:24 +01:00
Klaus Basan
f8c9782da4 refs #789, FSX errors OPERATION_INVALID and EXCEPTION_UNRECOGNIZED_ID
* only emit aircraft as rendered when object id is received, not before
* added CSimualtedAircraft to CSimConnectObject (so it can be used as signal argument)
* some utility functions to get callsign/simobject by id
2016-12-06 09:34:20 +01:00
Klaus Basan
b87a3dffaa refs #780, during tests adjusted
* doxygen for fsx driver
* moved stats members in base class (so all drivers can update those
2016-12-06 09:34:18 +01:00
Roland Winklmeier
f8fe843687 [FSX] Fix issue that interpolated aircraft parts are not used
refs #780
2016-12-06 09:33:59 +01:00
Roland Winklmeier
fb3df51013 Move aircraft matching out of simulator plugins
All model matching will be done simulator independent in
CContextSimulator. The simulator specific part is kept in the model
set.
This also caused the signal modelMatchingCompleted to be renamed to
aircraftRenderingChanged, since the name wasn't accurate anymore.
Both getInstalledModels(), getInstalledModelsCount() and iconForModel()
were removed from the ISimulator interface.

refs #765
2016-09-19 16:30:05 +02:00
Roland Winklmeier
4e6c4a076a Delay initial weather injection until simulator is connected
Up to know, the initial weather injection was done in the constructor
of ISimulator implementation. This was to early, since in the best case
the injection was not doing anything and in the worst case, crashed
the application because the plugin wasn't ready yet.
This change also replaces ps_reloadSettings with a specific non-slot
version to avoid code duplication.
2016-08-26 21:05:07 +01:00
Roland Winklmeier
82324d3246 Fix injection of static weather scenarios 2016-08-26 21:04:32 +01:00
Roland Winklmeier
91d2556b16 [FSX] Signal simulator connected once SIMCONNECT_RECV_OPEN is received
refs #549
2016-08-05 11:49:32 +02:00
Mathew Sutcliffe
7a34cc6d9a refs #697 BlackCore settings renamed and reorganized. 2016-08-03 02:19:11 +01:00
Klaus Basan
86d85c6b60 refs #707, removed originator from some signatures
* not used in remote aircraft provider
* adjusted all using interfaces
2016-07-14 18:49:15 +02:00