diff --git a/src/plugins/simulator/xplane/simulatorxplane.cpp b/src/plugins/simulator/xplane/simulatorxplane.cpp index f604431b6..76a89def7 100644 --- a/src/plugins/simulator/xplane/simulatorxplane.cpp +++ b/src/plugins/simulator/xplane/simulatorxplane.cpp @@ -485,7 +485,7 @@ namespace BlackSimPlugin situation.getPitch().value(CAngleUnit::deg()), situation.getBank().value(CAngleUnit::deg()), situation.getHeading().value(CAngleUnit::deg()), - situation.getAdjustedMSecsSinceEpoch()); // fixme sim machine's clock must be synchronized + situation.getAdjustedMSecsSinceEpoch() - QDateTime::currentMSecsSinceEpoch()); } 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 cf4e5406a..ea3f81fa1 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::addPlanePosition(const QString &callsign, double latitude, double longitude, double altitude, double pitch, double roll, double heading, qint64 time) + void CXBusTrafficProxy::addPlanePosition(const QString &callsign, double latitude, double longitude, double altitude, double pitch, double roll, double heading, qint64 relativeTime) { - m_dbusInterface->callDBus(QLatin1String("addPlanePosition"), callsign, latitude, longitude, altitude, pitch, roll, heading, time); + m_dbusInterface->callDBus(QLatin1String("addPlanePosition"), callsign, latitude, longitude, altitude, pitch, roll, heading, relativeTime); } 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 9cbd55609..6dfd987b2 100644 --- a/src/plugins/simulator/xplane/xbustrafficproxy.h +++ b/src/plugins/simulator/xplane/xbustrafficproxy.h @@ -103,7 +103,7 @@ namespace BlackSimPlugin void removeAllPlanes(); //! \copydoc XBus::CTraffic::addPlanePosition - void addPlanePosition(const QString &callsign, double latitude, double longitude, double altitude, double pitch, double roll, double heading, qint64 time); + void addPlanePosition(const QString &callsign, double latitude, double longitude, double altitude, double pitch, double roll, double heading, qint64 relativeTime); //! \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 97dc7fa30..1cd753d50 100644 --- a/src/xbus/traffic.cpp +++ b/src/xbus/traffic.cpp @@ -249,7 +249,7 @@ namespace XBus m_planesById.clear(); } - void CTraffic::addPlanePosition(const QString &callsign, double latitude, double longitude, double altitude, double pitch, double roll, double heading, qint64 time) + void CTraffic::addPlanePosition(const QString &callsign, double latitude, double longitude, double altitude, double pitch, double roll, double heading, qint64 relativeTime) { const auto plane = m_planesByCallsign.value(callsign, nullptr); if (plane) @@ -267,7 +267,7 @@ namespace XBus CAngle(roll, CAngleUnit::deg()), CSpeed(0, CSpeedUnit::kts()) }, maxSituationCount); - plane->situations.front().setMSecsSinceEpoch(time); + plane->situations.front().setMSecsSinceEpoch(relativeTime + QDateTime::currentMSecsSinceEpoch()); } } diff --git a/src/xbus/traffic.h b/src/xbus/traffic.h index a4c3a0c9e..0da0155e5 100644 --- a/src/xbus/traffic.h +++ b/src/xbus/traffic.h @@ -104,7 +104,7 @@ namespace XBus void removeAllPlanes(); //! Set the position of a traffic aircraft - void addPlanePosition(const QString &callsign, double latitude, double longitude, double altitude, double pitch, double roll, double heading, qint64 time); + void addPlanePosition(const QString &callsign, double latitude, double longitude, double altitude, double pitch, double roll, double heading, qint64 relativeTime); //! 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,