diff --git a/src/blackcore/fsx/simconnect_datadefinition.cpp b/src/blackcore/fsx/simconnect_datadefinition.cpp index db6e63f4a..108020359 100644 --- a/src/blackcore/fsx/simconnect_datadefinition.cpp +++ b/src/blackcore/fsx/simconnect_datadefinition.cpp @@ -19,6 +19,8 @@ namespace BlackCore { HRESULT hr = S_OK; hr = initOwnAircraft(hSimConnect); + hr = initAircraftPosition(hSimConnect); + hr = initAircraftConfiguration(hSimConnect); return hr; } @@ -41,5 +43,28 @@ namespace BlackCore return hr; } + + HRESULT CSimConnectDataDefinition::initAircraftPosition(const HANDLE hSimConnect) + { + HRESULT hr = S_OK; + hr = SimConnect_AddToDataDefinition(hSimConnect, CSimConnectDataDefinition::DataAircraftPosition, "Plane Latitude", "Degrees"); + hr = SimConnect_AddToDataDefinition(hSimConnect, CSimConnectDataDefinition::DataAircraftPosition, "Plane Longitude", "Degrees"); + hr = SimConnect_AddToDataDefinition(hSimConnect, CSimConnectDataDefinition::DataAircraftPosition, "Plane Altitude", "Feet"); + hr = SimConnect_AddToDataDefinition(hSimConnect, CSimConnectDataDefinition::DataAircraftPosition, "Plane Heading Degrees True", "Degrees"); + hr = SimConnect_AddToDataDefinition(hSimConnect, CSimConnectDataDefinition::DataAircraftPosition, "Plane Pitch Degrees", "Degrees"); + hr = SimConnect_AddToDataDefinition(hSimConnect, CSimConnectDataDefinition::DataAircraftPosition, "Plane Bank Degrees", "Degrees"); + return hr; + } + + HRESULT CSimConnectDataDefinition::initAircraftConfiguration(const HANDLE hSimConnect) + { + HRESULT hr = S_OK; + hr = SimConnect_AddToDataDefinition(hSimConnect, CSimConnectDataDefinition::DataAircraftConfiguration, "GEAR CENTER POSITION", "Percent Over 100"); + hr = SimConnect_AddToDataDefinition(hSimConnect, CSimConnectDataDefinition::DataAircraftConfiguration, "GEAR LEFT POSITION", "Percent Over 100"); + hr = SimConnect_AddToDataDefinition(hSimConnect, CSimConnectDataDefinition::DataAircraftConfiguration, "GEAR RIGHT POSITION", "Percent Over 100"); + hr = SimConnect_AddToDataDefinition(hSimConnect, CSimConnectDataDefinition::DataAircraftConfiguration, "GEAR TAIL POSITION", "Percent Over 100"); + hr = SimConnect_AddToDataDefinition(hSimConnect, CSimConnectDataDefinition::DataAircraftConfiguration, "GEAR AUX POSITION", "Percent Over 100"); + return hr; + } } } diff --git a/src/blackcore/fsx/simconnect_datadefinition.h b/src/blackcore/fsx/simconnect_datadefinition.h index 24c516520..da9c57602 100644 --- a/src/blackcore/fsx/simconnect_datadefinition.h +++ b/src/blackcore/fsx/simconnect_datadefinition.h @@ -13,7 +13,7 @@ namespace BlackCore namespace FSX { //! \brief Data struct of our own aircraft - struct OwnAircraft + struct DataDefinitionOwnAircraft { double latitude; //!< Latitude double longitude; //!< Longitude @@ -30,6 +30,27 @@ namespace BlackCore double com2StandbyMHz; //!< COM1 standby frequency }; + //! \brief Data struct of aircraft position + struct DataDefinitionAircraftPosition + { + double latitude; //!< Latitude + double longitude; //!< Longitude + double altitude; //!< Altitude + double trueHeading; //!< True heading + double pitch; //!< Pitch + double bank; //!< Bank + }; + + //! \brief Data struct of aircraft position + struct DataDefinitionAircraftConfiguration + { + double gearCenter; //!< Gear center + double gearLeft; //!< Gear left + double gearRight; //!< Gear right + double gearTail; //!< Gear tail + double gearAux; //!< Gear aux + }; + //! \brief Handles SimConnect data definitions class CSimConnectDataDefinition { @@ -38,6 +59,8 @@ namespace BlackCore //! \brief SimConnect definiton ID's enum DataDefiniton { DataOwnAircraft, + DataAircraftPosition, + DataAircraftConfiguration }; //! \brief SimConnect request ID's @@ -61,6 +84,20 @@ namespace BlackCore * \return */ static HRESULT initOwnAircraft(const HANDLE hSimConnect); + + /*! + * \brief Initialize data definition for remote aircrafts + * \param hSimConnect + * \return + */ + static HRESULT initAircraftPosition(const HANDLE hSimConnect); + + /*! + * \brief Initialize data definition for remote aircraft configuration + * \param hSimConnect + * \return + */ + static HRESULT initAircraftConfiguration(const HANDLE hSimConnect); }; } }