diff --git a/src/plugins/simulator/xplane/simulatorxplane.cpp b/src/plugins/simulator/xplane/simulatorxplane.cpp index 5ade94298..f604431b6 100644 --- a/src/plugins/simulator/xplane/simulatorxplane.cpp +++ b/src/plugins/simulator/xplane/simulatorxplane.cpp @@ -478,13 +478,14 @@ namespace BlackSimPlugin { Q_ASSERT(isConnected()); using namespace BlackMisc::PhysicalQuantities; - m_traffic->setPlanePosition(situation.getCallsign().asString(), + m_traffic->addPlanePosition(situation.getCallsign().asString(), situation.latitude().value(CAngleUnit::deg()), situation.longitude().value(CAngleUnit::deg()), situation.getAltitude().value(CLengthUnit::ft()), situation.getPitch().value(CAngleUnit::deg()), situation.getBank().value(CAngleUnit::deg()), - situation.getHeading().value(CAngleUnit::deg())); + situation.getHeading().value(CAngleUnit::deg()), + situation.getAdjustedMSecsSinceEpoch()); // fixme sim machine's clock must be synchronized } void CSimulatorXPlane::ps_remoteProviderAddAircraftParts(const BlackMisc::Aviation::CCallsign &callsign, const BlackMisc::Aviation::CAircraftParts &parts) diff --git a/src/plugins/simulator/xplane/xbustrafficproxy.cpp b/src/plugins/simulator/xplane/xbustrafficproxy.cpp index bd129efdd..cf4e5406a 100644 --- a/src/plugins/simulator/xplane/xbustrafficproxy.cpp +++ b/src/plugins/simulator/xplane/xbustrafficproxy.cpp @@ -86,9 +86,9 @@ namespace BlackSimPlugin m_dbusInterface->callDBus(QLatin1String("removeAllPlanes")); } - void CXBusTrafficProxy::setPlanePosition(const QString &callsign, double latitude, double longitude, double altitude, double pitch, double roll, double heading) + void CXBusTrafficProxy::addPlanePosition(const QString &callsign, double latitude, double longitude, double altitude, double pitch, double roll, double heading, qint64 time) { - m_dbusInterface->callDBus(QLatin1String("setPlanePosition"), callsign, latitude, longitude, altitude, pitch, roll, heading); + m_dbusInterface->callDBus(QLatin1String("addPlanePosition"), callsign, latitude, longitude, altitude, pitch, roll, heading, time); } void CXBusTrafficProxy::setPlaneSurfaces(const QString &callsign, double gear, double flap, double spoiler, double speedBrake, double slat, double wingSweep, double thrust, diff --git a/src/plugins/simulator/xplane/xbustrafficproxy.h b/src/plugins/simulator/xplane/xbustrafficproxy.h index 2b60731aa..9cbd55609 100644 --- a/src/plugins/simulator/xplane/xbustrafficproxy.h +++ b/src/plugins/simulator/xplane/xbustrafficproxy.h @@ -102,8 +102,8 @@ namespace BlackSimPlugin //! \copydoc XBus::CTraffic::removeAllPlanes void removeAllPlanes(); - //! \copydoc XBus::CTraffic::setPlanePosition - void setPlanePosition(const QString &callsign, double latitude, double longitude, double altitude, double pitch, double roll, double heading); + //! \copydoc XBus::CTraffic::addPlanePosition + void addPlanePosition(const QString &callsign, double latitude, double longitude, double altitude, double pitch, double roll, double heading, qint64 time); //! \copydoc XBus::CTraffic::setPlaneSurfaces void setPlaneSurfaces(const QString &callsign, double gear, double flap, double spoiler, double speedBrake, double slat, double wingSweep, double thrust, diff --git a/src/xbus/traffic.cpp b/src/xbus/traffic.cpp index a835904f0..c752c2179 100644 --- a/src/xbus/traffic.cpp +++ b/src/xbus/traffic.cpp @@ -225,7 +225,7 @@ namespace XBus m_planesById.clear(); } - void CTraffic::setPlanePosition(const QString &callsign, double latitude, double longitude, double altitude, double pitch, double roll, double heading) + void CTraffic::addPlanePosition(const QString &callsign, double latitude, double longitude, double altitude, double pitch, double roll, double heading, qint64 time) { const auto plane = m_planesByCallsign.value(callsign, nullptr); if (plane) diff --git a/src/xbus/traffic.h b/src/xbus/traffic.h index 5ff468407..427c24da5 100644 --- a/src/xbus/traffic.h +++ b/src/xbus/traffic.h @@ -101,7 +101,7 @@ namespace XBus void removeAllPlanes(); //! Set the position of a traffic aircraft - void setPlanePosition(const QString &callsign, double latitude, double longitude, double altitude, double pitch, double roll, double heading); + void addPlanePosition(const QString &callsign, double latitude, double longitude, double altitude, double pitch, double roll, double heading, qint64 time); //! Set the flight control surfaces and lights of a traffic aircraft void setPlaneSurfaces(const QString &callsign, double gear, double flap, double spoiler, double speedBrake, double slat, double wingSweep, double thrust,