Commit Graph

150 Commits

Author SHA1 Message Date
Roland Winklmeier
5d7eff0797 Fix incorrect integer signedness in FS9 SDK
refs #790
2016-12-06 09:46:40 +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
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
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
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
Roland Winklmeier
10c4fa920d Add weather scenario settings to simulator plugins
refs #663
2016-06-17 10:46:31 +02:00
Mathew Sutcliffe
7ae453b532 refs #666 Moved interpolator to BlackMisc so xbus doesn't need to link BlackCore. 2016-06-08 23:54:13 +01:00
Roland Winklmeier
602beb0da2 Remove obsolete plugin storage
Plugin storage was used before the value cache existed. With the
value cache this is no longer used and can be removed.

refs #660
2016-05-24 16:45:14 +02:00
Roland Winklmeier
3d7a39ed00 Fix BlackMisc header includes
* Include only what is used
* Use forward declaration when possible
* Sorted includes

refs #630
2016-05-13 17:05:49 +02:00
Klaus Basan
96189f530b Fixed typo setGroundSpeed 2016-05-07 20:11:50 +02:00
Roland Winklmeier
781707fb7e Simulator driver fetches and injects weather from weather manager 2016-04-10 16:18:55 +02:00
Roland Winklmeier
dae31a1986 Use CWeatherManager as weathergrid provider in simulator plugins
refs #612
2016-04-10 16:13:58 +02:00
Roland Winklmeier
d379f14133 Introduce build config template buildconfig.h.in
refs #625
2016-03-31 17:12:01 +02:00
Mathew Sutcliffe
1801616953 refs #624 Use conditional SUBDIRS instead of REQUIRES for enabling/disabling subprojects. 2016-03-22 16:03:00 +00:00
Mathew Sutcliffe
6f1cf8e3d7 refs #624 Replace typedef with using. 2016-03-22 16:02:50 +00:00
Klaus Basan
3829aaeae8 refs #485, removal of CEnableForRuntime 2016-03-18 01:08:05 +00:00
Roland Winklmeier
99ab20bcc5 Inject global weather grid to Flight Simulators via FSUIPC
In the short term FSUIPC is used for all MSFS simulators, but in the
mid term this will be superceded by the Simconnect Weather API.

refs #579
2016-03-02 23:04:13 +01:00
Roland Winklmeier
794bf0cd74 Fix doxygen copydoc documentation
The following issues were fixed
* Fixed wrong/missing namespaces
* Fixed obvious typos in documentation
* Documentation not in sync with source code

refs #544
2016-02-08 01:53:17 +01:00
Roland Winklmeier
a7e74ea64a Move DirectPlay log function into directplayerror.h/cpp
refs #564
2016-01-05 14:10:45 +01:00
Roland Winklmeier
41da652b96 Increase usage of safe delete and release templates
refs #564
2016-01-05 14:10:38 +01:00
Roland Winklmeier
4d6c92e6c8 Move DirectPlay templates into directplayutils.h
refs #564
2016-01-05 14:10:30 +01:00
Roland Winklmeier
ba4b4dbf95 Move conversion functions to local source files
refs #564
2016-01-04 15:54:01 +01:00
Roland Winklmeier
cbf54d0416 Handle unknown direct play error codes instead of an empty message
refs #546
2015-12-20 16:57:51 +01:00
Roland Winklmeier
9960431d01 Move global Fs9 variables into CSimulatorFs9Factory
Global variables are always a bad idea since the order of destruction
is unknown and can cause undefined behaviour. In this case the
global shared pointer can be destroyed before CSimulatorFs9Factory which
relies on it.

refs #546
2015-12-17 19:51:16 +01:00
Klaus Basan
8058a19288 refs #546, allows to run on Win10 without DirectX
Does not fix that it is asked to install DX, but avoids the crash if installation is denied
2015-12-08 20:14:19 +01:00
Mathew Sutcliffe
6dd06e4045 Fixed two underscores which were missed. 2015-11-23 23:29:33 +00:00
Mathew Sutcliffe
9968ccbbdb refs #461 Use the REQUIRES variable in the leaf projects instead of conditions at the SUBDIRS level. 2015-11-23 23:29:29 +00:00
Roland Winklmeier
7ece093ee9 Refactor qmake SUBDIRS structure
The big swift.pro is refactored by the correct usage of SUBDIRS
template. The following additional changes are made:
- Removed '_' from all targets and folder names
- Aligned parent folder and target name

refs #461
2015-11-23 09:50:44 +01:00
Roland Winklmeier
2ff0c9fa86 Fix Windows and OSX includes 2015-11-22 18:45:25 +01:00
Michał Garapich
1b06e15b61 refs #510 Remove underscores from all the source file names 2015-11-22 12:53:09 +01:00
Klaus Basan
1fc7300982 refs #507, split up blackmiscfreefunctions
* single register metadata functions
* string utils
* metadata utils
* some formatting / license header where applicable
2015-11-22 02:42:29 +01:00
Roland Winklmeier
5eddef0f12 Add install targets
refs #486
2015-11-19 21:07:14 +00:00
Mathew Sutcliffe
6b75de0b3f refs #482 Project files changed to use new qmake feature files and build directory structure. 2015-11-19 21:02:41 +00:00
Klaus Basan
a8e8e5527a refs #452 updated drivers
* FSX/FS9 directories directly resolved in parser
* all: using BlackMisc::Simulation::CSimulatedAircraft instead of CAircraft
2015-11-19 20:59:10 +00:00
Klaus Basan
13df4302d7 refs #445, adjusted the drivers to reflect changes (liveries) 2015-11-19 20:57:27 +00:00
Mathew Sutcliffe
d4d862927e refs #441 Rename COriginator to CIdentifier and rename COriginatorAware to CIdentifiable. 2015-06-06 18:02:16 +01:00
Klaus Basan
d603b28697 refs #438, plugin loading testing session + meeting results
* simulator common, many members now private (info -> read only)
* renamed printDirectPlayError -> logDirectPlayError
* (re)added ASSERT for FS9
* removed parent from listener (with parent no moveToThread)
* removed QFuture / QConcurrent as we have agreed to do
* unloading a plugin no longer automatically restarts all listeners
  this allows a user to set one particualar simulator in the GUI and ony wait for that
* stop listener from own signal
2015-06-04 23:44:50 +02:00
Klaus Basan
91bcba6a0c refs #438, added plug info to listeners
* listener signal can be directly used without mapping
* (during debugging) it is much easier to identify a listener
2015-06-03 16:26:49 +02:00
Klaus Basan
a6dd7fdd09 refs #438, fixed assert situation in FS9 driver 2015-06-03 16:25:38 +02:00
Michal Garapich
b9b2b5770a refs #417 Add support for FSX and FS9 2015-05-30 08:22:55 +02:00
Klaus Basan
94eb33d228 refs #431, infinite recursion in driver unload
* Trivial changes to avoid changedStatus signal when nothing changed
* Do not reload plugin when already loaded
2015-05-29 16:53:39 +02:00
Klaus Basan
6c06ff5d46 refs #432, adjusted originators 2015-05-29 03:49:16 +02:00
Roland Winklmeier
6995ad7063 refs #409 Refactor matching implementation in MSFS drivers
CAircraftMapper used to be designed around FSX only. CAircraftMatcher
instead is more generic for different MSFS versions. Therefore it is
replaced with the latter. This change also gets rid of the singleton and
its drawbacks by using the plugin storage.
Last but not least it implements the first model matching for FS9.
2015-05-28 21:34:08 +02:00
Roland Winklmeier
74b6bb9756 refs #409 Move FS specific methods into FSX and FS9 driver
The reason for this change is, that the information these methods provide
are similar for FS9 and FSX, but the content is different.
2015-05-28 21:34:06 +02:00
Roland Winklmeier
5e4fe4d5d7 refs #409 permanent plugin storage 2015-05-28 21:33:49 +02:00
Roland Winklmeier
ee0bfd62fa refs #428 Use COriginator instead of QString in internal API 2015-05-25 16:06:44 +02:00