mirror of
https://github.com/swift-project/pilotclient.git
synced 2026-04-15 01:05:35 +08:00
committed by
Roland Winklmeier
parent
7c890c51d8
commit
e42cbbe834
@@ -19,7 +19,7 @@ namespace BlackSimPlugin
|
|||||||
HRESULT hr = S_OK;
|
HRESULT hr = S_OK;
|
||||||
hr = initOwnAircraft(hSimConnect);
|
hr = initOwnAircraft(hSimConnect);
|
||||||
hr = initRemoteAircraftSituation(hSimConnect);
|
hr = initRemoteAircraftSituation(hSimConnect);
|
||||||
hr = initAircraftConfiguration(hSimConnect);
|
hr = initGearHandlePosition(hSimConnect);
|
||||||
return hr;
|
return hr;
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -50,14 +50,10 @@ namespace BlackSimPlugin
|
|||||||
return hr;
|
return hr;
|
||||||
}
|
}
|
||||||
|
|
||||||
HRESULT CSimConnectDataDefinition::initAircraftConfiguration(const HANDLE hSimConnect)
|
HRESULT CSimConnectDataDefinition::initGearHandlePosition(const HANDLE hSimConnect)
|
||||||
{
|
{
|
||||||
HRESULT hr = S_OK;
|
HRESULT hr = S_OK;
|
||||||
hr = SimConnect_AddToDataDefinition(hSimConnect, CSimConnectDataDefinition::DataAircraftConfiguration, "GEAR CENTER POSITION", "Percent Over 100");
|
hr = SimConnect_AddToDataDefinition(hSimConnect, CSimConnectDataDefinition::DataDefinitionGearHandlePosition, "GEAR HANDLE POSITION", "BOOL", SIMCONNECT_DATATYPE_INT32);
|
||||||
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;
|
return hr;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -6,6 +6,8 @@
|
|||||||
#ifndef BLACKSIMPLUGIN_FSX_SIMCONNECT_DATADEFINITION_H
|
#ifndef BLACKSIMPLUGIN_FSX_SIMCONNECT_DATADEFINITION_H
|
||||||
#define BLACKSIMPLUGIN_FSX_SIMCONNECT_DATADEFINITION_H
|
#define BLACKSIMPLUGIN_FSX_SIMCONNECT_DATADEFINITION_H
|
||||||
|
|
||||||
|
#include <QtGlobal>
|
||||||
|
|
||||||
#ifndef NOMINMAX
|
#ifndef NOMINMAX
|
||||||
#define NOMINMAX
|
#define NOMINMAX
|
||||||
#endif
|
#endif
|
||||||
@@ -41,13 +43,9 @@ namespace BlackSimPlugin
|
|||||||
};
|
};
|
||||||
|
|
||||||
//! \brief Data struct of aircraft position
|
//! \brief Data struct of aircraft position
|
||||||
struct DataDefinitionAircraftConfiguration
|
struct DataDefinitionGearHandlePosition
|
||||||
{
|
{
|
||||||
double gearCenter; //!< Gear center
|
qint32 gearHandlePosition; //!< Bool, 1 if gear handle is applied otherwise 0
|
||||||
double gearLeft; //!< Gear left
|
|
||||||
double gearRight; //!< Gear right
|
|
||||||
double gearTail; //!< Gear tail
|
|
||||||
double gearAux; //!< Gear aux
|
|
||||||
};
|
};
|
||||||
|
|
||||||
//! \brief Handles SimConnect data definitions
|
//! \brief Handles SimConnect data definitions
|
||||||
@@ -59,7 +57,7 @@ namespace BlackSimPlugin
|
|||||||
enum DataDefiniton {
|
enum DataDefiniton {
|
||||||
DataOwnAircraft,
|
DataOwnAircraft,
|
||||||
DataDefinitionRemoteAircraftSituation,
|
DataDefinitionRemoteAircraftSituation,
|
||||||
DataAircraftConfiguration
|
DataDefinitionGearHandlePosition
|
||||||
};
|
};
|
||||||
|
|
||||||
//! \brief SimConnect request ID's
|
//! \brief SimConnect request ID's
|
||||||
@@ -96,7 +94,7 @@ namespace BlackSimPlugin
|
|||||||
* \param hSimConnect
|
* \param hSimConnect
|
||||||
* \return
|
* \return
|
||||||
*/
|
*/
|
||||||
static HRESULT initAircraftConfiguration(const HANDLE hSimConnect);
|
static HRESULT initGearHandlePosition(const HANDLE hSimConnect);
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -293,13 +293,10 @@ namespace BlackSimPlugin
|
|||||||
SimConnect_TransmitClientEvent(m_hSimConnect, objectID, EVENT_FREEZEATT, 1,
|
SimConnect_TransmitClientEvent(m_hSimConnect, objectID, EVENT_FREEZEATT, 1,
|
||||||
SIMCONNECT_GROUP_PRIORITY_HIGHEST, SIMCONNECT_EVENT_FLAG_GROUPID_IS_PRIORITY);
|
SIMCONNECT_GROUP_PRIORITY_HIGHEST, SIMCONNECT_EVENT_FLAG_GROUPID_IS_PRIORITY);
|
||||||
|
|
||||||
DataDefinitionAircraftConfiguration configuration;
|
DataDefinitionGearHandlePosition gearHandle;
|
||||||
configuration.gearCenter = 100.0;
|
gearHandle.gearHandlePosition = 1;
|
||||||
configuration.gearLeft = 100.0;
|
|
||||||
configuration.gearRight = 100.0;
|
SimConnect_SetDataOnSimObject(m_hSimConnect, CSimConnectDataDefinition::DataDefinitionGearHandlePosition, objectID, SIMCONNECT_DATA_SET_FLAG_DEFAULT, 0, sizeof(gearHandle), &gearHandle);
|
||||||
configuration.gearTail = 100.0;
|
|
||||||
configuration.gearAux = 100.0;
|
|
||||||
SimConnect_SetDataOnSimObject(m_hSimConnect, CSimConnectDataDefinition::DataAircraftConfiguration, objectID, SIMCONNECT_DATA_SET_FLAG_DEFAULT, 0, sizeof(DataDefinitionAircraftConfiguration), &configuration);
|
|
||||||
|
|
||||||
SimConnectObject simObject;
|
SimConnectObject simObject;
|
||||||
foreach(simObject, m_simConnectObjects)
|
foreach(simObject, m_simConnectObjects)
|
||||||
@@ -364,19 +361,16 @@ namespace BlackSimPlugin
|
|||||||
|
|
||||||
DataDefinitionRemoteAircraftSituation ddAircraftSituation;
|
DataDefinitionRemoteAircraftSituation ddAircraftSituation;
|
||||||
ddAircraftSituation.position = position;
|
ddAircraftSituation.position = position;
|
||||||
DataDefinitionAircraftConfiguration configuration;
|
|
||||||
configuration.gearCenter = 100.0;
|
DataDefinitionGearHandlePosition gearHandle;
|
||||||
configuration.gearLeft = 100.0;
|
gearHandle.gearHandlePosition = 1;
|
||||||
configuration.gearRight = 100.0;
|
|
||||||
configuration.gearTail = 100.0;
|
|
||||||
configuration.gearAux = 100.0;
|
|
||||||
|
|
||||||
if (simObj.m_objectId != 0)
|
if (simObj.m_objectId != 0)
|
||||||
{
|
{
|
||||||
SimConnect_SetDataOnSimObject(m_hSimConnect, CSimConnectDataDefinition::DataDefinitionRemoteAircraftSituation, simObj.m_objectId, SIMCONNECT_DATA_SET_FLAG_DEFAULT, 0, sizeof(ddAircraftSituation), &ddAircraftSituation);
|
SimConnect_SetDataOnSimObject(m_hSimConnect, CSimConnectDataDefinition::DataDefinitionRemoteAircraftSituation, simObj.m_objectId, SIMCONNECT_DATA_SET_FLAG_DEFAULT, 0, sizeof(ddAircraftSituation), &ddAircraftSituation);
|
||||||
|
|
||||||
// With the following SimConnect call all aircrafts loose their red tag. No idea why though.
|
// With the following SimConnect call all aircrafts loose their red tag. No idea why though.
|
||||||
SimConnect_SetDataOnSimObject(m_hSimConnect, CSimConnectDataDefinition::DataAircraftConfiguration, simObj.m_objectId, SIMCONNECT_DATA_SET_FLAG_DEFAULT, 0, sizeof(DataDefinitionAircraftConfiguration), &configuration);
|
SimConnect_SetDataOnSimObject(m_hSimConnect, CSimConnectDataDefinition::DataDefinitionGearHandlePosition, simObj.m_objectId, SIMCONNECT_DATA_SET_FLAG_DEFAULT, 0, sizeof(gearHandle), &gearHandle);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user