[FG] Set velocities to 0 if simulator is paused

This commit is contained in:
Lars Toenning
2022-02-12 00:53:18 +01:00
committed by Mat Sutcliffe
parent 5a01272258
commit 66c97cfe2e
2 changed files with 15 additions and 3 deletions

View File

@@ -200,6 +200,7 @@ namespace BlackSimPlugin::Flightgear
{
m_serviceProxy->getOwnAircraftSituationData(&m_flightgearData);
m_serviceProxy->getOwnAircraftVelocityData(&m_flightgearData);
m_serviceProxy->isPausedAsync(&m_simulatorPaused);
m_serviceProxy->getCom1ActiveKhzAsync(&m_flightgearData.com1ActiveKhz);
m_serviceProxy->getCom1StandbyKhzAsync(&m_flightgearData.com1StandbyKhz);
m_serviceProxy->getCom2ActiveKhzAsync(&m_flightgearData.com2ActiveKhz);
@@ -221,9 +222,18 @@ namespace BlackSimPlugin::Flightgear
situation.setBank({ m_flightgearData.rollDeg, CAngleUnit::deg() });
situation.setGroundSpeed({ m_flightgearData.groundspeedKts, CSpeedUnit::kts() });
situation.setGroundElevation(CAltitude(m_flightgearData.groundElevation, CAltitude::MeanSeaLevel, CLengthUnit::m()), CAircraftSituation::FromProvider);
situation.setVelocity({ m_flightgearData.velocityXMs, m_flightgearData.velocityYMs, m_flightgearData.velocityZMs,
CSpeedUnit::m_s(), m_flightgearData.pitchRateRadPerSec, m_flightgearData.rollRateRadPerSec, m_flightgearData.yawRateRadPerSec,
CAngleUnit::rad(), CTimeUnit::s()});
if (!m_simulatorPaused)
{
situation.setVelocity({ m_flightgearData.velocityXMs, m_flightgearData.velocityYMs, m_flightgearData.velocityZMs,
CSpeedUnit::m_s(), m_flightgearData.pitchRateRadPerSec, m_flightgearData.rollRateRadPerSec, m_flightgearData.yawRateRadPerSec,
CAngleUnit::rad(), CTimeUnit::s()});
}
else
{
situation.setVelocity({ 0.0, 0.0, 0.0, CSpeedUnit::m_s(), 0.0, 0.0, 0.0, CAngleUnit::rad(), CTimeUnit::s()});
}
// Updates
// Do not update ICAO codes, as this overrides reverse lookups

View File

@@ -244,6 +244,8 @@ namespace BlackSimPlugin::Flightgear
qint64 m_statsAddMaxTimeMs = -1;
qint64 m_statsAddCurrentTimeMs = -1;
bool m_simulatorPaused = false;
//! Reset the Flightgear data
void resetFlightgearData()
{