Commit Graph

244 Commits

Author SHA1 Message Date
Klaus Basan
5d819b30f5 Split of CSimulatorPluginInfo and CSimulatorSetup
refs #404, and discussion https://dev.vatsim-germany.org/issues/404#note-8

* Changed CSimulatorSetup to use CNameVariantPairList as data. The old version was an hack and had to go, CNameVariantPairList would allow complex types in the future and can be already shown in the GUI.
* CNameVariantPairList was improved slightly in the same step
* Functions to get CSimulatorSetup from driver / context
* Removed CSimulatorSetup data from CSimulatorPluginInfo
2015-04-11 02:09:31 +02:00
Klaus Basan
f7b50b3f5a refs #366, passing Simulator plugin info to drivers
Add. some finetuning
2015-04-11 02:09:23 +02:00
Michał Garapich
985a1caecf refs #396 BlackMisc: nw* goes to network/, hw* goes to hardware/ 2015-04-07 19:22:37 +02:00
Klaus Basan
32f60722c8 refs #396, move subproject BlackSim into BlackMisc::Simulation
* removed unused samples / tests
* fixed found Doxygen issues
* removed blacksimfreefunctions, now in BlackMisc::Simulation::registerMetadata()
* samples_vetcor_geo to samples_geo
2015-04-07 19:22:16 +02:00
Roland Winklmeier
78d3350bf3 refs #396 move Blackmisc Aviation classes into subfolder 2015-04-07 18:20:20 +02:00
Michał Garapich
4d4acb20bc refs #366 cleanup
* Removed obsolete signal from IContextSimulator
* Removed connectToSimulator() method from IContextSimulator as it is no
longer relevant
* CSimulatorComponent updates automatically when simulator disconnects
* FS9 & FSX drivers update (including FSCommon)
2015-04-01 01:21:28 +02:00
Michał Garapich
63e48ae332 Remove ISimulator::getSimulatorInfo()
To provide maximum flexibility, the simulator info is specified by each
plugin in the JSON metadata file.

* Renamed SCimulatorInfo to CSimulatorPluginInfo
* Removed pre-defined simulator infos (UnspecifiedSim, FSX, etc)
* CContextSimulator keeps track of which plugin is loaded and its info
* QSignalMapper keeps track of which listener emitted the simulatorStared() signal
* CSimulatorPluginInfo contains name, simulator name and description
* TODO: GUI part
* TODO: CTestFsCommon
2015-04-01 01:20:25 +02:00
Michał Garapich
924e094a38 Listen for simulators on another thread 2015-04-01 00:05:15 +02:00
Michał Garapich
edc0646ab2 Make FSX works with ISimulatorListener.
SimConnect tries to connect to FSX every 5 seconds.
TODO: Use WinAPI to wait for FSX process to show up
2015-04-01 00:01:35 +02:00
Michał Garapich
afc22397bb JSON plugin metadata initial
* Added json files along with FILE macro for all drivers
* Get CSimulatorInfo from JSON rather than from ISimulatorFactory
2015-03-31 23:56:35 +02:00
Klaus Basan
48655bf551 refs #395, signatures for max.aircraft and max.range
(!) This in an intermediate step, the feature is not yet fully operational

* max distance for rendering as simulator property
* set max distance / aircraft from GUI

As result of the latest meeting
* changed CCallsignList to CCollection
* fixed some warning with elevated compiler settings (e.g. removed qint values -> int)
2015-03-29 20:15:13 +02:00
Klaus Basan
53afe798d4 Fixed warnings as mentioned in
https://dev.vatsim-germany.org/boards/22/topics/2587?r=2598#message-2598
and found by
+win32-msvc*:QMAKE_CXXFLAGS_WARN_ON *= /Wall /W3 /wd4640 /wd4619 /wd4350 /wd4351
2015-03-29 20:15:09 +02:00
Klaus Basan
70670b74c6 refs #393, allow to highlight a certain aircraft by blinking
* signatures in contexts
* some specialized functions in aircraft list
* context menus in aircraft view
* default "blinking" implementation in driver common base class
2015-03-29 20:15:05 +02:00
Klaus Basan
79b3cf3cd3 Misc. imorvements as discussed in RW/KB worksho
* preparation for a context menu to send text messages from ATC/aircraft view
* preparation for context menu for fast pos. updates
* reverse ICAO lookup at login screen
* display fast updates / parts in GUI
* moved max- aircraft into settings
* made serverselection own component
2015-03-20 17:11:10 +01:00
Klaus Basan
5ed95aee3d refs #391, allow to send aircraft parts from GUI
* GUI component for aircraft parts
* remote aircraft selector component
* Adjusted GUI for internals component
* Enable / disable debug messages from GUI
* Allow to init engines directly
* Removed unused async sort in sequence

In same step fixed found issues in interpolator
* allow to set max rendered aircraft
2015-03-20 17:08:23 +01:00
Klaus Basan
f31445e873 refs #386, further improvements on interpolation
* extended unit tests for interpolator / parts testing
* allow to skip sorting when splitting by time
* update ot aircraft to FSX in own member function
* Skip time sync parts (FSX) when disabled
2015-03-20 17:08:14 +01:00
Klaus Basan
eca8c5b637 Reflecting discussed changes for interpolation performance refs #386
(based on FSX testing)
* Only send changed situation to SIM
* Split sending of parts / situations
* Only send parts with a reduced frequency (means slower as positions)
* Mark geodetic height as null for default values (the value is usually unavailable)
* Fixed altitude to MSL for network data
* Trace which aircrafts support aircraft parts via network
* Renamed insert_fron push_front (as proposed by Roland)

Status quo / lessons learnt
* On slower PCs jitter is still noticed for interpolated aircraft.
* Running interpolation in an independent process (aka core, not in GUI) reduced load dependencies
  => it seems to make sense to run driver in own thread
* The onGround flag in parts seems clumsy as it required to retrieve parts for position updates
* In interpolation performance really matters
2015-03-20 17:00:41 +01:00
Klaus Basan
420a47e90c refs #369, changed interpolation to a working (but still too bad performing) version
* using split by callsign everywhere
* helper function to insert_front
* revised linear interpolator
* renamed to remoteAircraft
* renamed to container() in providers (gettters are usually copies)

Issues why changes did so long:
* insert in list is not adding in front, but same as push_back (that was confusing)
* naming of values before/after in interpolator was ambigious
* QMap keeps values sorted by key, not arbitrarily
2015-03-20 16:49:07 +01:00
Klaus Basan
190e2c3757 refs #386, performance issues
* keep split per callsign map in IInterpolator (so it is available for all interpolators)
* added signals to provider to add split situations / callsigns
* adjustments to airspace / context for those signals
* thread safe access to those from interpolator
* renamed from rendered to remote aircraft as discussed
* adjust samples
* removed no longer required functions in timestampobjectlist
2015-03-20 16:49:03 +01:00
Klaus Basan
f8bebf5ffa refs #386, performance issues
* keep split per callsign map in IInterpolator (so it is available for all interpolators)
* Interpolator using CWorker, so it can run in background
* added signals to provider to add split situations / callsigns
* adjustments to airspace / context for those signals
* thread safe access to those from interpolator
* renamed from rendered to remote aircraft as discussed
* adjust samples
* removed no longer required functions in timestampobjectlist
* changed connectioStatusChanged from uint -> int
2015-03-20 16:48:58 +01:00
Klaus Basan
df1c0c65da refs #384, allow subparts reading in FSUIPC and to disable FSUIPC (currently disable in FSX) 2015-03-20 16:34:06 +01:00
Klaus Basan
c47871b813 refs #382, reviewed audio context handling
* only init QDbusServer for P2P
* changed init order of contexts in runtime
* use "fake" signal to call setComVoiceRooms (remote in GUI)
* added slot to change voice room callsign
* used "org.swift" instead of "net.vatim" (just style)
* used const QString for serviceName
* added correct copyright header (just style)
2015-03-20 16:33:51 +01:00
Roland Winklmeier
50e9be8dd3 Dispatch Simconnect events every 10 ms 2015-03-20 16:33:19 +01:00
Roland Winklmeier
ebbeed4baf refs #328 Write aircraft parts to simulators
FSX only for the moment
2015-03-20 16:32:59 +01:00
Roland Winklmeier
bcc79ddeee refs #328 Read aircraft parts from simulators 2015-03-20 16:32:55 +01:00
Klaus Basan
5146b7357d refs #369, adjusted simulator drivers to changed interpolator and
removed addAircraftSituation
2015-03-20 16:32:15 +01:00
Klaus Basan
8c3547c33d refs #369, adjusted simulator drivers
* common base class BlackCore::CSimulatorCommon
* using providers IOwnAircraftProvider, IRenderedAircraftProvider
* using revers lookup in mapping
* using CSimulatedAircraft / CSimulatedAircraftList
* return values (success/failed) for member functions (e.g. setTimeSynchronization)
* getMaxRenderedAircraft / setMaxRenderedAircraft prepared
2015-03-20 16:31:33 +01:00
Klaus Basan
1b04205584 refs #369, adjusted plugins
* common base class for FS drivers
* moved mapper into common base class
* reflect changes for own aircraft provider
** removed member functions
** removed unused members
2015-03-20 16:30:48 +01:00
Klaus Basan
ce86c902b5 Upfront of refs #369
* consolidated ICoordinateGeodetic (e.g. fixed nested properties)
* shifted common functionality for objects/containers with callsign into interface
* shifted common functionality for objects/containers with geo position into interface
* shifted common functionality for objects/containers with timestamp into interface
* updated corresponding value objects / specialized lists
* adjusted all places where renamed functions are used
2015-03-20 16:30:18 +01:00
Klaus Basan
3a4e5ef556 refs #364, refs #368 improved handling of manually set models
* make sure manually set model is not subject of model matching
* added convenience member functions to detect manually set models
2015-01-25 03:55:45 +01:00
Klaus Basan
b12352047b refs #364, refs #368 drivers:
* changed to CSimulatedAircraft / Simulation::CAircraftModel
* added new functions such as icons for model
2015-01-24 01:15:16 +01:00
Klaus Basan
d0b5fc1249 refs #358, fixes as proposed by RW
* foreach -> for
* CVariant
2014-12-29 23:01:58 +01:00
Klaus Basan
69b095ff75 refs #358, fixed redundantAssignment from Jenkins Cppcheck 2014-12-28 22:21:04 +01:00
Klaus Basan
0f7332e82b No updates to simulator when sim is not simulating 2014-12-28 22:20:32 +01:00
Klaus Basan
9e5f228b08 using namespace in header removed, rectified resulting changes
* using namespace in context_runtime.h
* in same step also fixed some other using namespace issues
2014-12-28 22:20:09 +01:00
Klaus Basan
23e9159dfd refs #358, added (a first very simple) model matching to FSX driver
* isRunning → isSimulating
* adjusted addRemoteAircraft signature (remark: CClient as parameter will be removed)
* renamed to "ownAircraft" when referring to own aircraft
* functions to access installed models/matched models
* model matching in CSimulatorFsx::addRemoteAircraft
2014-12-28 22:19:28 +01:00
Klaus Basan
def17124db refs #358, split FSX driver and factory into different files 2014-12-28 20:46:01 +01:00
Klaus Basan
e11a3c1e6b refs #349, added SB client area (for ident, transponder mode) to driver
* added SB client area support
* renamed member functions to better reflect meaning
* added all structures required for SB client area
* changed to new logging
2014-12-13 13:17:36 +01:00
Klaus Basan
78e4900243 refs #349, housekeeping
* formatting
* tweaks (such as changing to new log style),
* Doxygen
* int instead of qint
2014-12-13 13:17:31 +01:00
Klaus Basan
a94bceddab refs #335, refs #342 improved simulator states
* new signal sending all 3 states together (connected, running, paused)
* renamed ISimulator::Status to ConnectionStatus
* consolidated some member / signal names
* for FS9/XPlane implemented stub functions
2014-11-30 00:54:07 +01:00
Klaus Basan
326ae96def Formatting, Doxygen 2014-11-30 00:54:04 +01:00
Klaus Basan
dd587207fe Formatting, renaming 2014-11-30 00:53:46 +01:00
Roland Winklmeier
0e675b97e6 refs #341 Remove unnecessary Q_DECL_EXPORT.
Qt MOC exports the required symbols.
2014-11-05 16:34:24 +01:00
Mathew Sutcliffe
a294e8db0f refs #336 Using the new CLogMessage syntax to log messages. 2014-10-16 17:05:50 +01:00
Roland Winklmeier
704721b01a refs #324 Enable the assert in addAircraftSituation 2014-10-07 23:37:07 +02:00
Roland Winklmeier
faf931742a refs #324 Remove timeout implementation from MSFS plugins 2014-10-07 23:37:04 +02:00
Mathew Sutcliffe
2c0e6505a0 refs #316 Debug messages should not be displayed by simulator plugins. 2014-10-04 22:17:04 +01:00
Mathew Sutcliffe
b16b02c3d6 refs #316 Changed blackmisc and blacksim to use CLogMessage to emit messages.
Also changed functions which always returned CStatusMessageList containing a single CStatusMessage,
to return CStatusMessage instead for simplicity.
2014-10-04 22:16:40 +01:00
Klaus Basan
b576e21b48 Workaround for assert in FSX plugin, refs #324 2014-09-11 12:07:56 +02:00
Mathew Sutcliffe
276484da8d refs #283 Fixed PQ unit assumption in FSX plugin 2014-08-27 00:02:36 +01:00