Revert "Interpolate the dynamic offset time for aircraft situations"

This reverts commit efb6a3211d.
This commit is contained in:
Lars Toenning
2024-01-15 21:11:38 +01:00
parent 18df2a5a12
commit 2f07c9313d
2 changed files with 2 additions and 17 deletions

View File

@@ -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;
}

View File

@@ -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;