diff --git a/src/plugins/simulator/xplane/simulatorxplane.cpp b/src/plugins/simulator/xplane/simulatorxplane.cpp index ec8b1cb9e..fcfd25397 100644 --- a/src/plugins/simulator/xplane/simulatorxplane.cpp +++ b/src/plugins/simulator/xplane/simulatorxplane.cpp @@ -308,6 +308,13 @@ namespace BlackSimPlugin this->updateOwnParts(parts); this->requestRemoteAircraftDataFromXPlane(); + + for (CXPlaneMPAircraft &xplaneAircraft : m_xplaneAircraftObjects) + { + // Update remote aircraft to have the latest transponder modes, codes etc. + CSimulatedAircraft simulatedAircraft = this->getAircraftInRangeForCallsign(xplaneAircraft.getCallsign()); + xplaneAircraft.setSimulatedAircraft(simulatedAircraft); + } } } diff --git a/src/plugins/simulator/xplane/xplanempaircraft.cpp b/src/plugins/simulator/xplane/xplanempaircraft.cpp index 15a87ee3b..92f89a728 100644 --- a/src/plugins/simulator/xplane/xplanempaircraft.cpp +++ b/src/plugins/simulator/xplane/xplanempaircraft.cpp @@ -32,6 +32,11 @@ namespace BlackSimPlugin m_interpolator->initCorrespondingModel(aircraft.getModel()); } + void CXPlaneMPAircraft::setSimulatedAircraft(const CSimulatedAircraft &simulatedAircraft) + { + m_aircraft = simulatedAircraft; + } + QString CXPlaneMPAircraft::getInterpolatorInfo(CInterpolationAndRenderingSetupBase::InterpolatorMode mode) const { Q_ASSERT(m_interpolator); diff --git a/src/plugins/simulator/xplane/xplanempaircraft.h b/src/plugins/simulator/xplane/xplanempaircraft.h index b87e38745..5d4328a96 100644 --- a/src/plugins/simulator/xplane/xplanempaircraft.h +++ b/src/plugins/simulator/xplane/xplanempaircraft.h @@ -37,6 +37,9 @@ namespace BlackSimPlugin //! Destructor ~CXPlaneMPAircraft() {} + //! Set simulated aircraft + void setSimulatedAircraft(const BlackMisc::Simulation::CSimulatedAircraft &simulatedAircraft); + //! Get callsign const BlackMisc::Aviation::CCallsign &getCallsign() const { return m_aircraft.getCallsign(); }