From efc7796f1b61dc937200be97e9ea7def86d89986 Mon Sep 17 00:00:00 2001 From: Lars Toenning Date: Sun, 29 Dec 2024 14:25:56 +0100 Subject: [PATCH] refactor: Remove timesync feature This is directly available by new simulators. --- src/core/context/contextsimulator.h | 11 --- src/core/context/contextsimulatorempty.h | 23 ----- src/core/context/contextsimulatorimpl.cpp | 30 ------ src/core/context/contextsimulatorimpl.h | 10 -- src/core/context/contextsimulatorproxy.cpp | 16 ---- src/core/context/contextsimulatorproxy.h | 10 -- src/core/simulator.h | 10 -- .../components/settingssimulatorcomponent.cpp | 23 ----- .../components/settingssimulatorcomponent.h | 3 - .../components/settingssimulatorcomponent.ui | 92 ------------------- .../simulator/emulated/simulatoremulated.cpp | 19 ---- .../simulator/emulated/simulatoremulated.h | 6 -- .../flightgear/simulatorflightgear.cpp | 7 -- .../flightgear/simulatorflightgear.h | 7 -- .../simulator/fscommon/simulatorfscommon.cpp | 9 -- .../simulator/fscommon/simulatorfscommon.h | 6 -- .../fsxcommon/simconnectdatadefinition.cpp | 2 - .../fsxcommon/simconnectdatadefinition.h | 10 -- .../fsxcommon/simulatorfsxcommon.cpp | 62 ------------- .../simulator/fsxcommon/simulatorfsxcommon.h | 4 - .../fsxcommon/simulatorfsxsimconnectproc.cpp | 7 -- .../simulator/xplane/simulatorxplane.cpp | 7 -- .../simulator/xplane/simulatorxplane.h | 10 -- 23 files changed, 384 deletions(-) diff --git a/src/core/context/contextsimulator.h b/src/core/context/contextsimulator.h index 6f8d639c4..ae5c9b81a 100644 --- a/src/core/context/contextsimulator.h +++ b/src/core/context/contextsimulator.h @@ -18,7 +18,6 @@ #include "misc/geo/elevationplane.h" #include "misc/pixmap.h" #include "misc/pq/length.h" -#include "misc/pq/time.h" #include "misc/simulation/aircraftmatchersetup.h" #include "misc/simulation/aircraftmodellist.h" #include "misc/simulation/interpolation/interpolationrenderingsetup.h" @@ -221,13 +220,6 @@ namespace swift::core::context //! Known model? virtual bool isKnownModelInSet(const QString &modelstring) const = 0; - //! Set time synchronization between simulator and user's computer time - //! \remarks not all drivers implement this, e.g. if it is an intrinsic simulator feature - virtual bool setTimeSynchronization(bool enable, const swift::misc::physical_quantities::CTime &offset) = 0; - - //! Is time synchronization on? - virtual bool isTimeSynchronized() const = 0; - //! \copydoc swift::misc::simulation::IInterpolationSetupProvider::getInterpolationSetupGlobal virtual swift::misc::simulation::CInterpolationAndRenderingSetupGlobal getInterpolationAndRenderingSetupGlobal() const = 0; @@ -254,9 +246,6 @@ namespace swift::core::context virtual swift::misc::CStatusMessageList getInterpolationMessages(const swift::misc::aviation::CCallsign &callsign) const = 0; - //! Time synchronization offset - virtual swift::misc::physical_quantities::CTime getTimeSynchronizationOffset() const = 0; - //! Simulator avialable (driver available)? bool isSimulatorAvailable() const; diff --git a/src/core/context/contextsimulatorempty.h b/src/core/context/contextsimulatorempty.h index 938086a49..2fcb69992 100644 --- a/src/core/context/contextsimulatorempty.h +++ b/src/core/context/contextsimulatorempty.h @@ -211,22 +211,6 @@ namespace swift::core::context return swift::misc::simulation::CSimulatorInternals(); } - //! \copydoc IContextSimulator::setTimeSynchronization - virtual bool setTimeSynchronization(bool enable, const swift::misc::physical_quantities::CTime &offset) override - { - Q_UNUSED(enable) - Q_UNUSED(offset) - logEmptyContextWarning(Q_FUNC_INFO); - return false; - } - - //! \copydoc IContextSimulator::isTimeSynchronized - virtual bool isTimeSynchronized() const override - { - logEmptyContextWarning(Q_FUNC_INFO); - return false; - } - //! \copydoc ISimulator::getInterpolationSetupGlobal virtual swift::misc::simulation::CInterpolationAndRenderingSetupGlobal getInterpolationAndRenderingSetupGlobal() const override @@ -281,13 +265,6 @@ namespace swift::core::context return swift::misc::CStatusMessageList(); } - //! \copydoc IContextSimulator::getTimeSynchronizationOffset - virtual swift::misc::physical_quantities::CTime getTimeSynchronizationOffset() const override - { - logEmptyContextWarning(Q_FUNC_INFO); - return swift::misc::physical_quantities::CTime(); - } - //! \copydoc IContextSimulator::followAircraft virtual bool followAircraft(const swift::misc::aviation::CCallsign &callsign) override { diff --git a/src/core/context/contextsimulatorimpl.cpp b/src/core/context/contextsimulatorimpl.cpp index ebbe27601..623694b45 100644 --- a/src/core/context/contextsimulatorimpl.cpp +++ b/src/core/context/contextsimulatorimpl.cpp @@ -372,26 +372,6 @@ namespace swift::core::context return this->getModelSet().findModelsStartingWith(modelString); } - bool CContextSimulator::setTimeSynchronization(bool enable, const CTime &offset) - { - if (isDebugEnabled()) { CLogMessage(this, CLogCategories::contextSlot()).debug() << Q_FUNC_INFO; } - if (!m_simulatorPlugin.second || m_simulatorPlugin.first.isUnspecified()) { return false; } - - const bool c = m_simulatorPlugin.second->setTimeSynchronization(enable, offset); - if (!c) { return false; } - - CLogMessage(this).info(enable ? QStringLiteral("Set time synchronization to %1").arg(offset.toQString()) : - QStringLiteral("Disabled time syncrhonization")); - return true; - } - - bool CContextSimulator::isTimeSynchronized() const - { - if (isDebugEnabled()) { CLogMessage(this, CLogCategories::contextSlot()).debug() << Q_FUNC_INFO; } - if (!m_simulatorPlugin.second || m_simulatorPlugin.first.isUnspecified()) { return false; } - return m_simulatorPlugin.second->isTimeSynchronized(); - } - CInterpolationAndRenderingSetupGlobal CContextSimulator::getInterpolationAndRenderingSetupGlobal() const { if (isDebugEnabled()) { CLogMessage(this, CLogCategories::contextSlot()).debug() << Q_FUNC_INFO; } @@ -446,16 +426,6 @@ namespace swift::core::context return m_simulatorPlugin.second->getInterpolationMessages(callsign); } - CTime CContextSimulator::getTimeSynchronizationOffset() const - { - if (isDebugEnabled()) { CLogMessage(this, CLogCategories::contextSlot()).debug() << Q_FUNC_INFO; } - if (!m_simulatorPlugin.second || m_simulatorPlugin.first.isUnspecified()) - { - return CTime(0, CTimeUnit::hrmin()); - } - return m_simulatorPlugin.second->getTimeSynchronizationOffset(); - } - bool CContextSimulator::loadSimulatorPlugin(const CSimulatorPluginInfo &simulatorPluginInfo) { Q_ASSERT(this->getIContextApplication()); diff --git a/src/core/context/contextsimulatorimpl.h b/src/core/context/contextsimulatorimpl.h index 30ca653fb..70bb193b8 100644 --- a/src/core/context/contextsimulatorimpl.h +++ b/src/core/context/contextsimulatorimpl.h @@ -150,16 +150,6 @@ namespace swift::core virtual swift::misc::simulation::CAircraftModelList getModelSetModelsStartingWith(const QString &modelString) const override; - //! \copydoc swift::core::context::IContextSimulator::getTimeSynchronizationOffset - virtual swift::misc::physical_quantities::CTime getTimeSynchronizationOffset() const override; - - //! \copydoc swift::core::context::IContextSimulator::setTimeSynchronization - virtual bool setTimeSynchronization(bool enable, - const swift::misc::physical_quantities::CTime &offset) override; - - //! \copydoc swift::core::context::IContextSimulator::isTimeSynchronized - virtual bool isTimeSynchronized() const override; - //! \copydoc swift::core::context::IContextSimulator::getInterpolationAndRenderingSetupGlobal virtual swift::misc::simulation::CInterpolationAndRenderingSetupGlobal getInterpolationAndRenderingSetupGlobal() const override; diff --git a/src/core/context/contextsimulatorproxy.cpp b/src/core/context/contextsimulatorproxy.cpp index 71083adef..67a775eeb 100644 --- a/src/core/context/contextsimulatorproxy.cpp +++ b/src/core/context/contextsimulatorproxy.cpp @@ -232,16 +232,6 @@ namespace swift::core::context m_dBusInterface->callDBus(QLatin1String("restoreDisabledModels")); } - bool CContextSimulatorProxy::setTimeSynchronization(bool enable, const CTime &offset) - { - return m_dBusInterface->callDBusRet(QLatin1String("setTimeSynchronization"), enable, offset); - } - - bool CContextSimulatorProxy::isTimeSynchronized() const - { - return m_dBusInterface->callDBusRet(QLatin1String("isTimeSynchronized")); - } - CInterpolationAndRenderingSetupGlobal CContextSimulatorProxy::getInterpolationAndRenderingSetupGlobal() const { return m_dBusInterface->callDBusRet( @@ -279,12 +269,6 @@ namespace swift::core::context m_dBusInterface->callDBus(QLatin1String("setInterpolationAndRenderingSetupGlobal"), setup); } - CTime CContextSimulatorProxy::getTimeSynchronizationOffset() const - { - return m_dBusInterface->callDBusRet( - QLatin1String("getTimeSynchronizationOffset")); - } - bool CContextSimulatorProxy::startSimulatorPlugin(const CSimulatorPluginInfo &simulatorInfo) { return m_dBusInterface->callDBusRet(QLatin1String("startSimulatorPlugin"), simulatorInfo); diff --git a/src/core/context/contextsimulatorproxy.h b/src/core/context/contextsimulatorproxy.h index 22545faec..889d5b527 100644 --- a/src/core/context/contextsimulatorproxy.h +++ b/src/core/context/contextsimulatorproxy.h @@ -139,13 +139,6 @@ namespace swift::core //! \copydoc swift::core::context::IContextSimulator::restoreDisabledModels virtual void restoreDisabledModels() override; - //! \copydoc swift::core::context::IContextSimulator::setTimeSynchronization - virtual bool setTimeSynchronization(bool enable, - const swift::misc::physical_quantities::CTime &offset) override; - - //! \copydoc swift::core::context::IContextSimulator::isTimeSynchronized - virtual bool isTimeSynchronized() const override; - //! \copydoc swift::core::context::IContextSimulator::getInterpolationAndRenderingSetupGlobal virtual swift::misc::simulation::CInterpolationAndRenderingSetupGlobal getInterpolationAndRenderingSetupGlobal() const override; @@ -171,9 +164,6 @@ namespace swift::core virtual swift::misc::CStatusMessageList getInterpolationMessages(const swift::misc::aviation::CCallsign &callsign) const override; - //! \copydoc swift::core::context::IContextSimulator::getTimeSynchronizationOffset - virtual swift::misc::physical_quantities::CTime getTimeSynchronizationOffset() const override; - //! \copydoc swift::core::context::IContextSimulator::followAircraft virtual bool followAircraft(const swift::misc::aviation::CCallsign &callsign) override; diff --git a/src/core/simulator.h b/src/core/simulator.h index e9b340122..b88c8718e 100644 --- a/src/core/simulator.h +++ b/src/core/simulator.h @@ -83,9 +83,6 @@ namespace swift::core //! Combined status virtual SimulatorStatus getSimulatorStatus() const; - //! Is time synchronization on? - virtual bool isTimeSynchronized() const = 0; - //! Get the simulator current internal state virtual const swift::misc::simulation::CSimulatorInternals &getSimulatorInternals() const { @@ -139,13 +136,6 @@ namespace swift::core //! Airports in range from simulator, or if not available from web service virtual swift::misc::aviation::CAirportList getAirportsInRange(bool recalculateDistance) const; - //! Set time synchronization between simulator and user's computer time - //! \remarks not all drivers implement this, e.g. if it is an intrinsic simulator feature - virtual bool setTimeSynchronization(bool enable, const swift::misc::physical_quantities::CTime &offset) = 0; - - //! Time synchronization offset - virtual swift::misc::physical_quantities::CTime getTimeSynchronizationOffset() const = 0; - //! Is the aircraft rendered (displayed in simulator)? //! This shall only return true if the aircraft is really visible in the simulator virtual bool isPhysicallyRenderedAircraft(const swift::misc::aviation::CCallsign &callsign) const = 0; diff --git a/src/gui/components/settingssimulatorcomponent.cpp b/src/gui/components/settingssimulatorcomponent.cpp index e3d53f595..4c87ccb36 100644 --- a/src/gui/components/settingssimulatorcomponent.cpp +++ b/src/gui/components/settingssimulatorcomponent.cpp @@ -72,8 +72,6 @@ namespace swift::gui::components connect(ui->pb_Reload, &QCheckBox::pressed, this, &CSettingsSimulatorComponent::onReload, Qt::QueuedConnection); connect(ui->pb_ApplyMaxAircraft, &QCheckBox::pressed, this, &CSettingsSimulatorComponent::onApplyMaxRenderedAircraft, Qt::QueuedConnection); - connect(ui->pb_ApplyTimeSync, &QCheckBox::pressed, this, &CSettingsSimulatorComponent::onApplyTimeSync, - Qt::QueuedConnection); connect(ui->pb_ApplyMaxDistance, &QCheckBox::pressed, this, &CSettingsSimulatorComponent::onApplyMaxRenderedDistance, Qt::QueuedConnection); connect(ui->pb_ApplyComSync, &QCheckBox::pressed, this, &CSettingsSimulatorComponent::onApplyComSync, @@ -130,11 +128,6 @@ namespace swift::gui::components const CInterpolationAndRenderingSetupGlobal setup = sGui->getIContextSimulator()->getInterpolationAndRenderingSetupGlobal(); - // time sync - ui->cb_TimeSync->setEnabled(m_pluginLoaded); - ui->le_TimeSyncOffset->setEnabled(m_pluginLoaded); - ui->pb_ApplyTimeSync->setEnabled(m_pluginLoaded); - // COM unit ui->pb_ApplyComSync->setEnabled(m_pluginLoaded); ui->cb_ComSync->setEnabled(m_pluginLoaded); @@ -164,10 +157,6 @@ namespace swift::gui::components if (m_pluginLoaded) { const IContextSimulator *sim = sGui->getIContextSimulator(); - const bool timeSynced = sim->isTimeSynchronized(); - ui->cb_TimeSync->setChecked(timeSynced); - const CTime timeOffset = sim->getTimeSynchronizationOffset(); - ui->le_TimeSyncOffset->setText(timeOffset.formattedHrsMin()); // settings const CSimulatorSettings settings = sim->getSimulatorSettings(); @@ -287,18 +276,6 @@ namespace swift::gui::components this->setGuiValues(); } - void CSettingsSimulatorComponent::onApplyTimeSync() - { - if (!sGui || sGui->isShuttingDown() || !sGui->getIContextSimulator()) { return; } - - const bool timeSync = ui->cb_TimeSync->isChecked(); - const QString os = ui->le_TimeSyncOffset->text(); - CTime ost(0, CTimeUnit::hrmin()); - if (!os.isEmpty()) { ost.parseFromString(os); } - if (ost.isNull()) { CLogMessage().validationWarning(u"Invalid offset time"); } - else { sGui->getIContextSimulator()->setTimeSynchronization(timeSync, ost); } - } - CSimulatorSettings CSettingsSimulatorComponent::getSimulatorSettings(bool &ok) { ok = false; diff --git a/src/gui/components/settingssimulatorcomponent.h b/src/gui/components/settingssimulatorcomponent.h index f1b28d8fc..6ea9acf4a 100644 --- a/src/gui/components/settingssimulatorcomponent.h +++ b/src/gui/components/settingssimulatorcomponent.h @@ -56,9 +56,6 @@ namespace swift::gui::components //! Apply disable rendering void onApplyDisableRendering(); - //! Apply time synchronization - void onApplyTimeSync(); - //! Apply COM sync void onApplyComSync(); diff --git a/src/gui/components/settingssimulatorcomponent.ui b/src/gui/components/settingssimulatorcomponent.ui index 5d493c2d0..7b9ca8002 100644 --- a/src/gui/components/settingssimulatorcomponent.ui +++ b/src/gui/components/settingssimulatorcomponent.ui @@ -118,95 +118,6 @@ - - - - - 3 - - - 0 - - - 0 - - - 0 - - - 0 - - - - - Enable time syncronization - - - - - - - - - - - 75 - 16777215 - - - - offset +/-hh:mm - - - #99:99 - - - +00:00 - - - 6 - - - - - - - Qt::Horizontal - - - - 40 - 20 - - - - - - - - - - - Time synchronization - - - Time synch. - - - - - - - - 125 - 0 - - - - apply - - - @@ -488,9 +399,6 @@ pb_Check sa_Settings - cb_TimeSync - le_TimeSyncOffset - pb_ApplyTimeSync pb_ApplyCGSource cb_ComSync pb_ApplyComSync diff --git a/src/plugins/simulator/emulated/simulatoremulated.cpp b/src/plugins/simulator/emulated/simulatoremulated.cpp index 34ec0c448..3cba6e6fc 100644 --- a/src/plugins/simulator/emulated/simulatoremulated.cpp +++ b/src/plugins/simulator/emulated/simulatoremulated.cpp @@ -59,8 +59,6 @@ namespace swift::simplugin::emulated } } - bool CSimulatorEmulated::isTimeSynchronized() const { return m_timeSyncronized; } - bool CSimulatorEmulated::connectTo() { const QPointer myself(this); @@ -168,23 +166,6 @@ namespace swift::simplugin::emulated m_monitorWidget->displayTextMessage(message); } - bool CSimulatorEmulated::setTimeSynchronization(bool enable, const CTime &offset) - { - if (canLog()) - { - m_monitorWidget->appendReceivingCall(Q_FUNC_INFO, boolToTrueFalse(enable), offset.toQString()); - } - m_timeSyncronized = enable; - m_offsetTime = offset; - return enable; - } - - CTime CSimulatorEmulated::getTimeSynchronizationOffset() const - { - if (canLog()) { m_monitorWidget->appendReceivingCall(Q_FUNC_INFO); } - return m_offsetTime; - } - bool CSimulatorEmulated::isPhysicallyRenderedAircraft(const CCallsign &callsign) const { if (canLog()) m_monitorWidget->appendReceivingCall(Q_FUNC_INFO, callsign.toQString()); diff --git a/src/plugins/simulator/emulated/simulatoremulated.h b/src/plugins/simulator/emulated/simulatoremulated.h index 1a37b1a74..1942d8982 100644 --- a/src/plugins/simulator/emulated/simulatoremulated.h +++ b/src/plugins/simulator/emulated/simulatoremulated.h @@ -46,7 +46,6 @@ namespace swift::simplugin::emulated virtual ~CSimulatorEmulated() override; // functions implemented - virtual bool isTimeSynchronized() const override; virtual bool connectTo() override; virtual bool disconnectFrom() override; virtual void unload() override; @@ -61,9 +60,6 @@ namespace swift::simplugin::emulated const swift::misc::CIdentifier &originator) override; virtual void displayStatusMessage(const swift::misc::CStatusMessage &message) const override; virtual void displayTextMessage(const swift::misc::network::CTextMessage &message) const override; - virtual bool setTimeSynchronization(bool enable, - const swift::misc::physical_quantities::CTime &offset) override; - virtual swift::misc::physical_quantities::CTime getTimeSynchronizationOffset() const override; virtual bool isPhysicallyRenderedAircraft(const swift::misc::aviation::CCallsign &callsign) const override; virtual swift::misc::aviation::CCallsignSet physicallyRenderedAircraft() const override; virtual swift::misc::CStatusMessageList @@ -173,11 +169,9 @@ namespace swift::simplugin::emulated bool m_paused = false; bool m_connected = true; bool m_simulating = true; - bool m_timeSyncronized = false; int m_countInterpolatedSituations = 0; int m_countInterpolatedParts = 0; QTimer m_interpolatorFetchTimer; //!< fetch data from interpolator - swift::misc::physical_quantities::CTime m_offsetTime; swift::misc::simulation::CSimulatedAircraft m_myAircraft; //!< represents own aircraft of simulator swift::misc::simulation::CSimulatedAircraftList m_renderedAircraft; //!< represents remote aircraft in simulator QPointer diff --git a/src/plugins/simulator/flightgear/simulatorflightgear.cpp b/src/plugins/simulator/flightgear/simulatorflightgear.cpp index 9791780a8..5e8505317 100644 --- a/src/plugins/simulator/flightgear/simulatorflightgear.cpp +++ b/src/plugins/simulator/flightgear/simulatorflightgear.cpp @@ -462,13 +462,6 @@ namespace swift::simplugin::flightgear return airports; } - bool CSimulatorFlightgear::setTimeSynchronization(bool enable, const physical_quantities::CTime &offset) - { - Q_UNUSED(offset) - if (enable) { CLogMessage(this).info(u"Flightgear provides real time synchronization, use this one"); } - return false; - } - bool CSimulatorFlightgear::isPhysicallyRenderedAircraft(const CCallsign &callsign) const { return m_flightgearAircraftObjects.contains(callsign); diff --git a/src/plugins/simulator/flightgear/simulatorflightgear.h b/src/plugins/simulator/flightgear/simulatorflightgear.h index 936e5a17b..1996ffcad 100644 --- a/src/plugins/simulator/flightgear/simulatorflightgear.h +++ b/src/plugins/simulator/flightgear/simulatorflightgear.h @@ -123,7 +123,6 @@ namespace swift::simplugin::flightgear //! \name ISimulator implementations //! @{ - virtual bool isTimeSynchronized() const override { return false; } virtual bool connectTo() override; virtual bool disconnectFrom() override; virtual bool updateOwnSimulatorCockpit(const swift::misc::simulation::CSimulatedAircraft &aircraft, @@ -133,12 +132,6 @@ namespace swift::simplugin::flightgear virtual void displayStatusMessage(const swift::misc::CStatusMessage &message) const override; virtual void displayTextMessage(const swift::misc::network::CTextMessage &message) const override; virtual swift::misc::aviation::CAirportList getAirportsInRange(bool recalculateDistance) const override; - virtual bool setTimeSynchronization(bool enable, - const swift::misc::physical_quantities::CTime &offset) override; - virtual swift::misc::physical_quantities::CTime getTimeSynchronizationOffset() const override - { - return swift::misc::physical_quantities::CTime(0, swift::misc::physical_quantities::CTimeUnit::hrmin()); - } virtual bool isPhysicallyRenderedAircraft(const swift::misc::aviation::CCallsign &callsign) const override; virtual swift::misc::aviation::CCallsignSet physicallyRenderedAircraft() const override; virtual void unload() override; diff --git a/src/plugins/simulator/fscommon/simulatorfscommon.cpp b/src/plugins/simulator/fscommon/simulatorfscommon.cpp index ac097c886..b90138221 100644 --- a/src/plugins/simulator/fscommon/simulatorfscommon.cpp +++ b/src/plugins/simulator/fscommon/simulatorfscommon.cpp @@ -59,15 +59,6 @@ namespace swift::simplugin::fscommon return r; } - CTime CSimulatorFsCommon::getTimeSynchronizationOffset() const { return m_syncTimeOffset; } - - bool CSimulatorFsCommon::setTimeSynchronization(bool enable, const physical_quantities::CTime &offset) - { - m_simTimeSynced = enable; - m_syncTimeOffset = offset; - return true; - } - CAirportList CSimulatorFsCommon::getAirportsInRange(bool recalculateDistance) const { if (!m_airportsInRangeFromSimulator.isEmpty()) diff --git a/src/plugins/simulator/fscommon/simulatorfscommon.h b/src/plugins/simulator/fscommon/simulatorfscommon.h index c6f0e8f80..f34e0edf3 100644 --- a/src/plugins/simulator/fscommon/simulatorfscommon.h +++ b/src/plugins/simulator/fscommon/simulatorfscommon.h @@ -32,10 +32,6 @@ namespace swift::simplugin::fscommon // ---------------------- ISimulator ------------------ virtual bool disconnectFrom() override; virtual bool isPaused() const override { return m_simPaused; } - virtual bool isTimeSynchronized() const override { return m_simTimeSynced; } - virtual swift::misc::physical_quantities::CTime getTimeSynchronizationOffset() const override; - virtual bool setTimeSynchronization(bool enable, - const swift::misc::physical_quantities::CTime &offset) override; virtual swift::misc::aviation::CAirportList getAirportsInRange(bool recalculateDistance) const override; // ---------------------- ISimulator ------------------ @@ -62,8 +58,6 @@ namespace swift::simplugin::fscommon 0; //!< own aircraft updates, even with 50 updates/sec long enough even for 32bit int m_skipCockpitUpdateCycles = 0; //!< skip some update cycles to allow changes in simulator cockpit to be set bool m_simPaused = false; //!< simulator paused? - bool m_simTimeSynced = false; //!< time synchronized? - swift::misc::physical_quantities::CTime m_syncTimeOffset; //!< time offset swift::misc::aviation::CAirportList m_airportsInRangeFromSimulator; //!< airports in range of own aircraft // cockpit as set in SIM diff --git a/src/plugins/simulator/fsxcommon/simconnectdatadefinition.cpp b/src/plugins/simulator/fsxcommon/simconnectdatadefinition.cpp index 20c19ccd1..1ee57e99f 100644 --- a/src/plugins/simulator/fsxcommon/simconnectdatadefinition.cpp +++ b/src/plugins/simulator/fsxcommon/simconnectdatadefinition.cpp @@ -25,7 +25,6 @@ namespace swift::simplugin::fsxcommon { static const QString ownAircraft("RequestOwnAircraft"); static const QString title("RequestOwnAircraftTitle"); - static const QString simEnv("RequestSimEnvironment"); static const QString sbData("RequestSbData"); static const QString facility("RequestFacility"); static const QString end(""); @@ -35,7 +34,6 @@ namespace swift::simplugin::fsxcommon { case RequestOwnAircraft: return ownAircraft; case RequestOwnAircraftTitle: return title; - case RequestSimEnvironment: return simEnv; case RequestSbData: return sbData; case RequestFacility: return facility; case RequestEndMarker: return end; diff --git a/src/plugins/simulator/fsxcommon/simconnectdatadefinition.h b/src/plugins/simulator/fsxcommon/simconnectdatadefinition.h index b5d6f9b82..d23a3497c 100644 --- a/src/plugins/simulator/fsxcommon/simconnectdatadefinition.h +++ b/src/plugins/simulator/fsxcommon/simconnectdatadefinition.h @@ -209,15 +209,6 @@ namespace swift::simplugin::fsxcommon bool isOnGround() const { return this->aboveGroundFt() < 1.0; } }; - //! Data struct simulator environment - struct DataDefinitionSimEnvironment - { - qint32 zuluTimeSeconds; //!< Simulator zulu (GMT) time in secs. - qint32 zuluYear; //!< Simulator zulu (GMT) year. - qint32 zuluMonth; //!< Simulator zulu (GMT) month. - qint32 zuluDayOfMonth; //!< Simulator zulu (GMT) day of the month. - }; - //! The whole SB data area //! \remark vPilot SB area https://forums.vatsim.net/viewtopic.php?p=519580 //! \remark SB offsets http://www.squawkbox.ca/doc/sdk/fsuipc.php @@ -301,7 +292,6 @@ namespace swift::simplugin::fsxcommon { RequestOwnAircraft, RequestOwnAircraftTitle, - RequestSimEnvironment, RequestSbData, //!< SB client area / XPDR mode RequestMSFSTransponder, //!< MSFS XPDR mode/ident RequestFacility, diff --git a/src/plugins/simulator/fsxcommon/simulatorfsxcommon.cpp b/src/plugins/simulator/fsxcommon/simulatorfsxcommon.cpp index 4f58d6cb4..749d754e3 100644 --- a/src/plugins/simulator/fsxcommon/simulatorfsxcommon.cpp +++ b/src/plugins/simulator/fsxcommon/simulatorfsxcommon.cpp @@ -528,12 +528,6 @@ namespace swift::simplugin::fsxcommon SIMCONNECT_PERIOD_SECOND, SIMCONNECT_DATA_REQUEST_FLAG_CHANGED), "Cannot request title", Q_FUNC_INFO, "SimConnect_RequestDataOnSimObject"); - hr += this->logAndTraceSendId( - SimConnect_RequestDataOnSimObject(m_hSimConnect, CSimConnectDefinitions::RequestSimEnvironment, - CSimConnectDefinitions::DataSimEnvironment, SIMCONNECT_OBJECT_ID_USER, - SIMCONNECT_PERIOD_SECOND, SIMCONNECT_DATA_REQUEST_FLAG_CHANGED), - "Cannot request sim.env.", Q_FUNC_INFO, "SimConnect_RequestDataOnSimObject"); - // TODO TZ use MSFS2024 FSUIPC? if (!this->getSimulatorPluginInfo().getSimulatorInfo().isMSFS() && !this->getSimulatorPluginInfo().getSimulatorInfo().isMSFS2024()) @@ -2553,61 +2547,6 @@ namespace swift::simplugin::fsxcommon return true; } - void CSimulatorFsxCommon::synchronizeTime(const DataDefinitionSimEnvironment *simEnv) - { - if (!m_simTimeSynced) { return; } - if (!this->isConnected()) { return; } - if (m_syncTimeDeferredCounter > 0) - { - --m_syncTimeDeferredCounter; - return; // wait some time before we snyc again - } - - const int zh = simEnv->zuluTimeSeconds / 3600; - const int zm = (simEnv->zuluTimeSeconds - (zh * 3600)) / 60; - const QDateTime simDateTime({ simEnv->zuluYear, simEnv->zuluMonth, simEnv->zuluDayOfMonth }, { zh, zm }, - Qt::UTC); - - QDateTime currentDateTime = QDateTime::currentDateTimeUtc(); - if (!m_syncTimeOffset.isZeroEpsilonConsidered()) - { - int offsetSeconds = m_syncTimeOffset.valueInteger(CTimeUnit::s()); - currentDateTime = currentDateTime.addSecs(offsetSeconds); - } - - if (qAbs(simDateTime.secsTo(currentDateTime)) < 120) - { - // checked and no relevant difference - m_syncTimeDeferredCounter = 10; // wait some time to check again - return; - } - - const DWORD h = static_cast(currentDateTime.time().hour()); - const DWORD m = static_cast(currentDateTime.time().minute()); - const DWORD y = static_cast(currentDateTime.date().year()); - const DWORD d = static_cast(currentDateTime.date().dayOfYear()); - - const HRESULT hr1 = SimConnect_TransmitClientEvent(m_hSimConnect, 0, EventSetTimeZuluHours, h, - SIMCONNECT_GROUP_PRIORITY_STANDARD, - SIMCONNECT_EVENT_FLAG_GROUPID_IS_PRIORITY); - const HRESULT hr2 = SimConnect_TransmitClientEvent(m_hSimConnect, 0, EventSetTimeZuluMinutes, m, - SIMCONNECT_GROUP_PRIORITY_STANDARD, - SIMCONNECT_EVENT_FLAG_GROUPID_IS_PRIORITY); - const HRESULT hr3 = SimConnect_TransmitClientEvent(m_hSimConnect, 0, EventSetTimeZuluYear, y, - SIMCONNECT_GROUP_PRIORITY_STANDARD, - SIMCONNECT_EVENT_FLAG_GROUPID_IS_PRIORITY); - const HRESULT hr4 = - SimConnect_TransmitClientEvent(m_hSimConnect, 0, EventSetTimeZuluDay, d, SIMCONNECT_GROUP_PRIORITY_STANDARD, - SIMCONNECT_EVENT_FLAG_GROUPID_IS_PRIORITY); - - if (isFailure(hr1, hr2, hr3, hr4)) { CLogMessage(this).warning(u"Sending time sync failed!"); } - else - { - m_syncTimeDeferredCounter = 5; // allow some time to sync - CLogMessage(this).info(u"Synchronized time to '%1' UTC") << currentDateTime.toString(); - } - } - bool CSimulatorFsxCommon::requestPositionDataForSimObject(const CSimConnectObject &simObject, SIMCONNECT_PERIOD period) { @@ -2727,7 +2666,6 @@ namespace swift::simplugin::fsxcommon m_simConnected = false; m_simSimulating = false; m_sbDataReceived = 0; - m_syncTimeDeferredCounter = 0; m_requestIdSimObjAircraft = static_cast(RequestSimObjAircraftStart); m_dispatchErrors = 0; m_receiveExceptionCount = 0; diff --git a/src/plugins/simulator/fsxcommon/simulatorfsxcommon.h b/src/plugins/simulator/fsxcommon/simulatorfsxcommon.h index 56d40ccf3..3e7ad7e89 100644 --- a/src/plugins/simulator/fsxcommon/simulatorfsxcommon.h +++ b/src/plugins/simulator/fsxcommon/simulatorfsxcommon.h @@ -549,9 +549,6 @@ namespace swift::simplugin::fsxcommon //! The SimConnect object for idxs CSimConnectObject getSimObjectForObjectId(DWORD objectId) const; - //! Sync time with user's computer - void synchronizeTime(const DataDefinitionSimEnvironment *simEnv); - //! Request data for a CSimConnectObject (aka remote aircraft) bool requestPositionDataForSimObject(const CSimConnectObject &simObject, SIMCONNECT_PERIOD period = SIMCONNECT_PERIOD_SECOND); @@ -651,7 +648,6 @@ namespace swift::simplugin::fsxcommon qint64 m_traceAutoUntilTs = -1; //!< allows to automatically trace for some time qint64 m_simulatingChangedTs = -1; //!< timestamp, when simulating changed (used to avoid jitter) int m_sbDataReceived = 0; //!< SB3 area data received - int m_syncTimeDeferredCounter = 0; //!< Set when synchronized, used to wait some time // tracing dispatch performance int m_dispatchErrors = 0; //!< number of dispatched failed, \sa dispatch diff --git a/src/plugins/simulator/fsxcommon/simulatorfsxsimconnectproc.cpp b/src/plugins/simulator/fsxcommon/simulatorfsxsimconnectproc.cpp index 394aaa5c3..54311a587 100644 --- a/src/plugins/simulator/fsxcommon/simulatorfsxsimconnectproc.cpp +++ b/src/plugins/simulator/fsxcommon/simulatorfsxsimconnectproc.cpp @@ -260,13 +260,6 @@ namespace swift::simplugin::fsxcommon simulatorFsxP3D->reverseLookupAndUpdateOwnAircraftModel(model); break; } - case CSimConnectDefinitions::RequestSimEnvironment: - { - const DataDefinitionSimEnvironment *simEnv = - reinterpret_cast(&pObjData->dwData); - simulatorFsxP3D->synchronizeTime(simEnv); - break; - } case CSimConnectDefinitions::RequestMSFSTransponder: { const DataDefinitionMSFSTransponderMode *transponderMode = diff --git a/src/plugins/simulator/xplane/simulatorxplane.cpp b/src/plugins/simulator/xplane/simulatorxplane.cpp index 67b389b51..cda3dbe9f 100644 --- a/src/plugins/simulator/xplane/simulatorxplane.cpp +++ b/src/plugins/simulator/xplane/simulatorxplane.cpp @@ -636,13 +636,6 @@ namespace swift::simplugin::xplane return airports; } - bool CSimulatorXPlane::setTimeSynchronization(bool enable, const physical_quantities::CTime &offset) - { - Q_UNUSED(offset) - if (enable) { CLogMessage(this).info(u"X-Plane provides real time synchronization, use this one"); } - return false; - } - bool CSimulatorXPlane::isPhysicallyRenderedAircraft(const CCallsign &callsign) const { return m_xplaneAircraftObjects.contains(callsign); diff --git a/src/plugins/simulator/xplane/simulatorxplane.h b/src/plugins/simulator/xplane/simulatorxplane.h index 5fa61208f..86e98b2c1 100644 --- a/src/plugins/simulator/xplane/simulatorxplane.h +++ b/src/plugins/simulator/xplane/simulatorxplane.h @@ -127,10 +127,6 @@ namespace swift::simplugin::xplane //! \name ISimulator implementations //! @{ - virtual bool isTimeSynchronized() const override - { - return false; - } // TODO: Can we query the XP intrinisc feature? virtual bool connectTo() override; virtual bool disconnectFrom() override; virtual bool updateOwnSimulatorCockpit(const swift::misc::simulation::CSimulatedAircraft &aircraft, @@ -140,12 +136,6 @@ namespace swift::simplugin::xplane virtual void displayStatusMessage(const swift::misc::CStatusMessage &message) const override; virtual void displayTextMessage(const swift::misc::network::CTextMessage &message) const override; virtual swift::misc::aviation::CAirportList getAirportsInRange(bool recalculateDistance) const override; - virtual bool setTimeSynchronization(bool enable, - const swift::misc::physical_quantities::CTime &offset) override; - virtual swift::misc::physical_quantities::CTime getTimeSynchronizationOffset() const override - { - return swift::misc::physical_quantities::CTime(0, swift::misc::physical_quantities::CTimeUnit::hrmin()); - } virtual bool isPhysicallyRenderedAircraft(const swift::misc::aviation::CCallsign &callsign) const override; virtual swift::misc::aviation::CCallsignSet physicallyRenderedAircraft() const override; virtual bool followAircraft(const swift::misc::aviation::CCallsign &callsign) override;