mirror of
https://github.com/swift-project/pilotclient.git
synced 2026-04-22 05:05:38 +08:00
[FG] Set velocities to 0 if simulator is paused
This commit is contained in:
committed by
Mat Sutcliffe
parent
5a01272258
commit
66c97cfe2e
@@ -200,6 +200,7 @@ namespace BlackSimPlugin::Flightgear
|
|||||||
{
|
{
|
||||||
m_serviceProxy->getOwnAircraftSituationData(&m_flightgearData);
|
m_serviceProxy->getOwnAircraftSituationData(&m_flightgearData);
|
||||||
m_serviceProxy->getOwnAircraftVelocityData(&m_flightgearData);
|
m_serviceProxy->getOwnAircraftVelocityData(&m_flightgearData);
|
||||||
|
m_serviceProxy->isPausedAsync(&m_simulatorPaused);
|
||||||
m_serviceProxy->getCom1ActiveKhzAsync(&m_flightgearData.com1ActiveKhz);
|
m_serviceProxy->getCom1ActiveKhzAsync(&m_flightgearData.com1ActiveKhz);
|
||||||
m_serviceProxy->getCom1StandbyKhzAsync(&m_flightgearData.com1StandbyKhz);
|
m_serviceProxy->getCom1StandbyKhzAsync(&m_flightgearData.com1StandbyKhz);
|
||||||
m_serviceProxy->getCom2ActiveKhzAsync(&m_flightgearData.com2ActiveKhz);
|
m_serviceProxy->getCom2ActiveKhzAsync(&m_flightgearData.com2ActiveKhz);
|
||||||
@@ -221,9 +222,18 @@ namespace BlackSimPlugin::Flightgear
|
|||||||
situation.setBank({ m_flightgearData.rollDeg, CAngleUnit::deg() });
|
situation.setBank({ m_flightgearData.rollDeg, CAngleUnit::deg() });
|
||||||
situation.setGroundSpeed({ m_flightgearData.groundspeedKts, CSpeedUnit::kts() });
|
situation.setGroundSpeed({ m_flightgearData.groundspeedKts, CSpeedUnit::kts() });
|
||||||
situation.setGroundElevation(CAltitude(m_flightgearData.groundElevation, CAltitude::MeanSeaLevel, CLengthUnit::m()), CAircraftSituation::FromProvider);
|
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,
|
if (!m_simulatorPaused)
|
||||||
CAngleUnit::rad(), CTimeUnit::s()});
|
{
|
||||||
|
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
|
// Updates
|
||||||
// Do not update ICAO codes, as this overrides reverse lookups
|
// Do not update ICAO codes, as this overrides reverse lookups
|
||||||
|
|||||||
@@ -244,6 +244,8 @@ namespace BlackSimPlugin::Flightgear
|
|||||||
qint64 m_statsAddMaxTimeMs = -1;
|
qint64 m_statsAddMaxTimeMs = -1;
|
||||||
qint64 m_statsAddCurrentTimeMs = -1;
|
qint64 m_statsAddCurrentTimeMs = -1;
|
||||||
|
|
||||||
|
bool m_simulatorPaused = false;
|
||||||
|
|
||||||
//! Reset the Flightgear data
|
//! Reset the Flightgear data
|
||||||
void resetFlightgearData()
|
void resetFlightgearData()
|
||||||
{
|
{
|
||||||
|
|||||||
Reference in New Issue
Block a user