Commit Graph

51 Commits

Author SHA1 Message Date
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
Klaus Basan
880a954db9 refs #395, improvements for snapshot / restricted aircraft handling
* fixed isCurrentThreadCreatingThread and renamed to isCurrentThreadObjectThread (this check was never working), added 2 more thread checks
* changed remove aircraft function to return number of returned aircraft (like with the containers this allows to avoid unnecessary signals)
* removed unused function ps_recalculateRenderedAircraft() / SimulatorCommon
* using Queued airspaceAircraftSnapshot signal for binding (functor connect does not provide connection type)
* extened ASSERTs to check threads
* simulator: initial situation function with return value (success?)
* simulator: avoid unneccessary copy and provide correct rendered flag in add aircraft function
2015-05-22 03:08:16 +02:00
Roland Winklmeier
281b6f0b69 Fix clean shutdown of FS9 2015-05-21 01:37:37 +02:00
Roland Winklmeier
c8a035f49a Replace callsign type QString with CCallsign 2015-05-21 01:37:36 +02:00
Roland Winklmeier
3b8a4d5613 refs #404 Try to connect only if FS9 is registered as lobbied application 2015-05-21 00:43:22 +02:00
Klaus Basan
6d5c3d85a1 refs #420, refs #421, finetuning of FSX shutdown and crash detection 2015-05-18 12:56:08 +02:00
Mathew Sutcliffe
2cff441ff7 refs #395 Fixed MinGW errors from commit:e9f7810e. 2015-05-13 01:31:54 +01:00
Klaus Basan
1c3bb8d463 refs #395, prepared for snapshot handling
* logical / physical add/remote member functions in drivers, renamed functions
* added access to snapshot
* snapshot generation in analyzer
* snapshot handling in driver
* moved simulator base class in own files (.h/.cpp)
* added functions as required to context
2015-05-12 21:03:35 +01:00
Klaus Basan
e9f7810efc refs #395, prepared for logical / physical add/remote member functions
* renamed functions
* added access to snapshot
* moved simulator base class in own files (.h/.cpp)
2015-05-12 21:03:34 +01:00
Klaus Basan
3ecf37dda4 refs #395, changed own aircraft provider to thread safe member functions
(similar to remote aircraft provider)
* removed references
* made own aircraft context thread safe (reg. own aircrat data)
* removed the read only versions of the provider
* adjusted consuming methods
* renamed some functions ("ownAircraft...") to avoid ambiguity (with remote aircraft)
2015-05-12 20:46:48 +01:00
Klaus Basan
6debd33b4f refs #395, turned remote aircraft provider interface into thread safe interfaces
* references gone, situations, parts, aircraft now as threadsafe copy
* read only interface gone (no longer references, so no longer needed)
2015-05-12 20:46:45 +01:00
Klaus Basan
f7b50b3f5a refs #366, passing Simulator plugin info to drivers
Add. some finetuning
2015-04-11 02:09:23 +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
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
3897fb2d1a FS9 plugin cleanup
* Make host & lobby client plugin-global
* Post-rebase cleanups (FSX too)
2015-04-01 00:07:28 +02:00
Michał Garapich
570f4aa4ea Make FS9 works with ISimulatorListener
* The FS9 host is started in the Listener
* When FS9 starts up, it is called via the lobby to join the multiplayer
* Some minor changes in CContextSimulator
2015-04-01 00:05:12 +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
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
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
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
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
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
Roland Winklmeier
0c245916ff refs #334 Fix segfault when m_fs9Host is already destroyed 2014-11-30 02:49:24 +01:00
Mathew Sutcliffe
195c909ca0 refs #334 FS9 DirectPlay peer classes using CContinuousWorker. 2014-11-30 02:32:37 +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
Roland Winklmeier
c94295e473 Remove aircrafts limitation in FS9 plugin
It should not be the plugins descision to limit
the number of displayed aircrafts. Triggered an
assert
2014-10-08 01:35:07 +02:00
Roland Winklmeier
374be69d8a refs #331 Add FS9 animation param packet 2014-10-08 01:34:51 +02: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
Roland Winklmeier
8ba1a37ea7 Fix warning detected by gcc 4.9.1
- unused variables
- linker error with the MinGW DX SDK
- don't delete a void* pointer
- initialization order
2014-09-28 13:09:39 +02:00
Roland Winklmeier
f43f3013fe refs #308 QMetaObject always requires the full namespace for string based lookup 2014-09-13 14:53:00 +02:00
Roland Winklmeier
2ab1a0f847 refs #308 lobby client 2014-09-13 14:52:58 +02:00
Roland Winklmeier
b00d67e90c refs #308 improved client thread handling and cleanup
Threads are now waiting for closure
2014-09-13 14:52:55 +02:00
Roland Winklmeier
bd8eba6913 refs #308 style 2014-09-13 14:52:53 +02:00
Roland Winklmeier
53b257fa3d refs #308 Instead of enumerating hosts, use the well known host url
Since we are hosting in the same process, we can get the URL from the host
object and pass it to new clients.
2014-09-13 14:52:47 +02:00
Roland Winklmeier
7a02aff7b9 refs #308 private slot for client status changes 2014-09-13 14:39:43 +02:00
Mathew Sutcliffe
f4b7a9c6a2 refs #283 Rationalized ISimulator slots for managing remote aircraft 2014-08-27 00:02:34 +01:00
Mathew Sutcliffe
d25eac66b1 refs #283 Dedicated displayTextMessage for text messages instead of using displayStatusMessage for both.
The simulator can use this to display text messages in a different colour, for example.
2014-08-27 00:02:32 +01:00
Mathew Sutcliffe
61343e39f2 refs #283 ps_ prefix for private slots 2014-08-27 00:02:30 +01:00
Klaus Basan
3fb5087ea8 Renaming, header, Doxygen, formatting (during refs #314) 2014-08-24 02:45:52 +02:00