mirror of
https://github.com/swift-project/pilotclient.git
synced 2026-03-22 14:55:36 +08:00
Revert "Interpolate the dynamic offset time for aircraft situations"
This reverts commit efb6a3211d.
This commit is contained in:
@@ -1909,7 +1909,6 @@ namespace BlackCore::Fsd
|
||||
|
||||
qint64 CFSDClient::receivedPositionFixTsAndGetOffsetTime(const CCallsign &callsign, qint64 markerTs)
|
||||
{
|
||||
// \fixme This logic should be in a different class
|
||||
Q_ASSERT_X(!callsign.isEmpty(), Q_FUNC_INFO, "Need callsign");
|
||||
|
||||
if (markerTs < 0) { markerTs = QDateTime::currentMSecsSinceEpoch(); }
|
||||
@@ -1927,25 +1926,13 @@ namespace BlackCore::Fsd
|
||||
|
||||
int count = 0;
|
||||
const qint64 avgTimeMs = this->averageOffsetTimeMs(callsign, count, 3); // latest average
|
||||
qint64 targetOffsetTime = CFsdSetup::c_positionTimeOffsetMsec;
|
||||
qint64 offsetTime = CFsdSetup::c_positionTimeOffsetMsec;
|
||||
|
||||
if (avgTimeMs < CFsdSetup::c_minimumPositionTimeOffsetMsec && count >= 3)
|
||||
{
|
||||
targetOffsetTime = CFsdSetup::c_minimumPositionTimeOffsetMsec;
|
||||
offsetTime = CFsdSetup::c_minimumPositionTimeOffsetMsec;
|
||||
}
|
||||
|
||||
const qint64 previousInterpolatedOffsetTime = m_interpolatedOffsetTime.value(callsign, 0);
|
||||
qint64 offsetDiff = 0;
|
||||
if (targetOffsetTime < previousInterpolatedOffsetTime)
|
||||
{
|
||||
offsetDiff = std::max(targetOffsetTime - previousInterpolatedOffsetTime, diff / -c_offsetTimeInterpolationInverseRate);
|
||||
}
|
||||
else
|
||||
{
|
||||
offsetDiff = std::min(targetOffsetTime - previousInterpolatedOffsetTime, diff / c_offsetTimeInterpolationInverseRate);
|
||||
}
|
||||
qint64 offsetTime = previousInterpolatedOffsetTime + offsetDiff;
|
||||
m_interpolatedOffsetTime.insert(callsign, offsetTime);
|
||||
return m_additionalOffsetTime + offsetTime;
|
||||
}
|
||||
|
||||
|
||||
@@ -575,8 +575,6 @@ namespace BlackCore::Fsd
|
||||
QHash<BlackMisc::Aviation::CCallsign, PendingAtisQuery> m_pendingAtisQueries;
|
||||
QHash<BlackMisc::Aviation::CCallsign, qint64> m_lastPositionUpdate;
|
||||
QHash<BlackMisc::Aviation::CCallsign, QList<qint64>> m_lastOffsetTimes; //!< latest offset first
|
||||
QHash<BlackMisc::Aviation::CCallsign, qint64> m_interpolatedOffsetTime;
|
||||
static const int c_offsetTimeInterpolationInverseRate = 4;
|
||||
|
||||
BlackMisc::Aviation::CAtcStationList m_atcStations;
|
||||
|
||||
|
||||
Reference in New Issue
Block a user