mirror of
https://github.com/swift-project/pilotclient.git
synced 2026-04-02 23:25:53 +08:00
Ref T261, allow to enable/disable "fix scenery offset" via setup
* added UI functions * fixed setup model * use setup in interpolator
This commit is contained in:
committed by
Roland Winklmeier
parent
ea585ae166
commit
2e7e210010
@@ -31,7 +31,7 @@ namespace BlackMisc
|
||||
return true;
|
||||
}
|
||||
|
||||
bool CInterpolationAndRenderingSetupBase::setSendGndFlagToSimulator(bool sendFLag)
|
||||
bool CInterpolationAndRenderingSetupBase::setSendingGndFlagToSimulator(bool sendFLag)
|
||||
{
|
||||
if (sendFLag == m_sendGndToSim) { return false; }
|
||||
m_sendGndToSim = sendFLag;
|
||||
@@ -95,6 +95,9 @@ namespace BlackMisc
|
||||
case IndexEnabledAircraftParts: return CVariant::fromValue(m_enabledAircraftParts);
|
||||
case IndexEnableGndFlag: return CVariant::fromValue(m_enabledGndFlag);
|
||||
case IndexSendGndFlagToSimulator: return CVariant::fromValue(m_sendGndToSim);
|
||||
case IndexInterpolatorMode: return CVariant::fromValue(m_interpolatorMode);
|
||||
case IndexInterpolatorModeAsString: return CVariant::fromValue(this->getInterpolatorModeAsString());
|
||||
case IndexFixSceneryOffset: return CVariant::fromValue(m_fixSceneryOffset);
|
||||
default: break;
|
||||
}
|
||||
BLACK_VERIFY_X(false, Q_FUNC_INFO, "Cannot handle index");
|
||||
@@ -112,6 +115,9 @@ namespace BlackMisc
|
||||
case IndexEnabledAircraftParts: m_enabledAircraftParts = variant.toBool(); return;
|
||||
case IndexEnableGndFlag: m_enabledGndFlag = variant.toBool(); return;
|
||||
case IndexSendGndFlagToSimulator: m_sendGndToSim = variant.toBool(); return;
|
||||
case IndexInterpolatorMode: m_interpolatorMode = variant.toInt(); return;
|
||||
case IndexInterpolatorModeAsString: this->setInterpolatorMode(variant.toQString()); return;
|
||||
case IndexFixSceneryOffset: m_fixSceneryOffset = variant.toBool(); return;
|
||||
default: break;
|
||||
}
|
||||
BLACK_VERIFY_X(false, Q_FUNC_INFO, "Cannot handle index");
|
||||
@@ -127,12 +133,13 @@ namespace BlackMisc
|
||||
QStringLiteral(" | force full interpolation: ") % boolToYesNo(m_forceFullInterpolation) %
|
||||
QStringLiteral(" | enable parts: ") % boolToYesNo(m_enabledAircraftParts) %
|
||||
QStringLiteral(" | enable gnd: ") % boolToYesNo(m_enabledGndFlag) %
|
||||
QStringLiteral(" | send gnd: ") % boolToYesNo(m_sendGndToSim);
|
||||
QStringLiteral(" | send gnd: ") % boolToYesNo(m_sendGndToSim) %
|
||||
QStringLiteral(" | fix.scenery offset: ") % boolToYesNo(m_fixSceneryOffset);
|
||||
}
|
||||
|
||||
bool CInterpolationAndRenderingSetupBase::canHandleIndex(int index)
|
||||
{
|
||||
return index >= CInterpolationAndRenderingSetupBase::IndexLogInterpolation && index <= CInterpolationAndRenderingSetupBase::IndexEnabledAircraftParts;
|
||||
return index >= CInterpolationAndRenderingSetupBase::IndexLogInterpolation && index <= CInterpolationAndRenderingSetupBase::IndexFixSceneryOffset;
|
||||
}
|
||||
|
||||
CInterpolationAndRenderingSetupGlobal::CInterpolationAndRenderingSetupGlobal()
|
||||
@@ -251,7 +258,7 @@ namespace BlackMisc
|
||||
m_forceFullInterpolation = baseValues.isForcingFullInterpolation();
|
||||
m_enabledAircraftParts = baseValues.isAircraftPartsEnabled();
|
||||
m_enabledGndFlag = baseValues.isGndFlagEnabled();
|
||||
m_sendGndToSim = baseValues.sendGndFlagToSimulator();
|
||||
m_sendGndToSim = baseValues.isSendingGndFlagToSimulator();
|
||||
}
|
||||
|
||||
QString CInterpolationAndRenderingSetupGlobal::convertToQString(bool i18n) const
|
||||
@@ -314,7 +321,8 @@ namespace BlackMisc
|
||||
if (this->isForcingFullInterpolation() != globalSetup.isForcingFullInterpolation()) { diff.push_back(IndexForceFullInterpolation); }
|
||||
if (this->isAircraftPartsEnabled() != globalSetup.isAircraftPartsEnabled()) { diff.push_back(IndexEnabledAircraftParts); }
|
||||
if (this->isGndFlagEnabled() != globalSetup.isGndFlagEnabled()) { diff.push_back(IndexEnableGndFlag); }
|
||||
if (this->sendGndFlagToSimulator() != globalSetup.sendGndFlagToSimulator()) { diff.push_back(IndexSendGndFlagToSimulator); }
|
||||
if (this->isSendingGndFlagToSimulator() != globalSetup.isSendingGndFlagToSimulator()) { diff.push_back(IndexSendGndFlagToSimulator); }
|
||||
if (this->isFixingSceneryOffset() != globalSetup.isForcingFullInterpolation()) { diff.push_back(IndexFixSceneryOffset); }
|
||||
return diff;
|
||||
}
|
||||
|
||||
|
||||
@@ -37,7 +37,9 @@ namespace BlackMisc
|
||||
IndexSendGndFlagToSimulator,
|
||||
IndexEnableGndFlag,
|
||||
IndexEnabledAircraftParts,
|
||||
IndexInterpolatorMode
|
||||
IndexInterpolatorMode,
|
||||
IndexInterpolatorModeAsString,
|
||||
IndexFixSceneryOffset
|
||||
};
|
||||
|
||||
//! Interpolator type
|
||||
@@ -59,7 +61,7 @@ namespace BlackMisc
|
||||
//! Log.interpolation
|
||||
void setLogInterpolation(bool log) { m_logInterpolation = log; }
|
||||
|
||||
//! Full interpolation
|
||||
//! Full interpolation (skip optimizations like checking if aircraft moves etc.)
|
||||
bool isForcingFullInterpolation() const { return m_forceFullInterpolation; }
|
||||
|
||||
//! Force full interpolation
|
||||
@@ -71,20 +73,26 @@ namespace BlackMisc
|
||||
//! Mask enabled aircraft parts
|
||||
bool maskEnabledAircraftParts(bool mask);
|
||||
|
||||
//! Aircraft parts enabled
|
||||
//! Aircraft parts enabled (still requires the other aircraft to send parts)
|
||||
bool isAircraftPartsEnabled() const { return m_enabledAircraftParts; }
|
||||
|
||||
//! Set gnd flag enabled
|
||||
//! Set gnd.flag enabled (aircraft supports gnd.flag)
|
||||
bool setEnabledGndFLag(bool enabled);
|
||||
|
||||
//! Aircraft parts enabled
|
||||
//! Is gnd.flag enabled (aircraft supports gnd.flag)
|
||||
bool isGndFlagEnabled() const { return m_enabledGndFlag; }
|
||||
|
||||
//! Send GND flag to simulator
|
||||
bool sendGndFlagToSimulator() const { return m_sendGndToSim; }
|
||||
bool isSendingGndFlagToSimulator() const { return m_sendGndToSim; }
|
||||
|
||||
//! Set sending
|
||||
bool setSendGndFlagToSimulator(bool sendFLag);
|
||||
//! Set sending GND flag to simulator
|
||||
bool setSendingGndFlagToSimulator(bool sendFLag);
|
||||
|
||||
//! Fix scenery offset if it has been detected
|
||||
bool isFixingSceneryOffset() const { return m_fixSceneryOffset; }
|
||||
|
||||
//! Enable fix scenery offset if it has been detected
|
||||
void setFixingSceneryOffset(bool fix) { m_fixSceneryOffset = fix; }
|
||||
|
||||
//! Consolidate with a network client
|
||||
void consolidateWithClient(const Network::CClient &client);
|
||||
@@ -126,6 +134,7 @@ namespace BlackMisc
|
||||
bool m_enabledAircraftParts = true; //!< Enable aircraft parts
|
||||
bool m_enabledGndFlag = true; //!< Enable gnd.flag
|
||||
bool m_sendGndToSim = true; //!< Send the gnd.flag to simulator
|
||||
bool m_fixSceneryOffset = true; //!< Fix. scenery offset
|
||||
int m_interpolatorMode = static_cast<int>(Spline); //!< interpolator mode (spline, ...)
|
||||
};
|
||||
|
||||
@@ -138,7 +147,7 @@ namespace BlackMisc
|
||||
//! Properties by index
|
||||
enum ColumnIndex
|
||||
{
|
||||
IndexMaxRenderedAircraft = CInterpolationAndRenderingSetupBase::IndexEnabledAircraftParts + 1,
|
||||
IndexMaxRenderedAircraft = CInterpolationAndRenderingSetupBase::IndexFixSceneryOffset + 1,
|
||||
IndexMaxRenderedDistance
|
||||
};
|
||||
|
||||
@@ -208,6 +217,7 @@ namespace BlackMisc
|
||||
BLACK_METAMEMBER(sendGndToSim),
|
||||
BLACK_METAMEMBER(enabledAircraftParts),
|
||||
BLACK_METAMEMBER(enabledGndFlag),
|
||||
BLACK_METAMEMBER(fixSceneryOffset),
|
||||
BLACK_METAMEMBER(interpolatorMode),
|
||||
BLACK_METAMEMBER(maxRenderedAircraft),
|
||||
BLACK_METAMEMBER(maxRenderedDistance)
|
||||
@@ -267,6 +277,7 @@ namespace BlackMisc
|
||||
BLACK_METAMEMBER(sendGndToSim),
|
||||
BLACK_METAMEMBER(enabledAircraftParts),
|
||||
BLACK_METAMEMBER(enabledGndFlag),
|
||||
BLACK_METAMEMBER(fixSceneryOffset),
|
||||
BLACK_METAMEMBER(interpolatorMode)
|
||||
);
|
||||
};
|
||||
|
||||
@@ -359,7 +359,7 @@ namespace BlackMisc
|
||||
m_currentTimeMsSinceEpoch = currentTimeSinceEpoc;
|
||||
m_situationsLastModified = this->situationsLastModified(m_callsign);
|
||||
m_currentSetup = setup;
|
||||
m_currentSituations = this->remoteAircraftSituationsAndChange(true);
|
||||
m_currentSituations = this->remoteAircraftSituationsAndChange(setup.isFixingSceneryOffset());
|
||||
m_currentInterpolationStatus.reset();
|
||||
m_currentPartsStatus.reset();
|
||||
|
||||
|
||||
Reference in New Issue
Block a user