mirror of
https://github.com/swift-project/pilotclient.git
synced 2026-05-02 07:05:38 +08:00
committed by
Mathew Sutcliffe
parent
36fb62a6fe
commit
9c2682f386
@@ -12,6 +12,7 @@
|
|||||||
#include <tuple>
|
#include <tuple>
|
||||||
|
|
||||||
using namespace BlackMisc;
|
using namespace BlackMisc;
|
||||||
|
using namespace BlackMisc::Aviation;
|
||||||
|
|
||||||
namespace BlackSimPlugin
|
namespace BlackSimPlugin
|
||||||
{
|
{
|
||||||
@@ -81,14 +82,6 @@ namespace BlackSimPlugin
|
|||||||
// Hint: "Bool" and "Percent .." are units name
|
// Hint: "Bool" and "Percent .." are units name
|
||||||
// default data type is SIMCONNECT_DATATYPE_FLOAT64 -> double
|
// default data type is SIMCONNECT_DATATYPE_FLOAT64 -> double
|
||||||
|
|
||||||
// Lights
|
|
||||||
hr += SimConnect_AddToDataDefinition(hSimConnect, CSimConnectDefinitions::DataRemoteAircraftParts, "LIGHT STROBE", "Bool");
|
|
||||||
hr += SimConnect_AddToDataDefinition(hSimConnect, CSimConnectDefinitions::DataRemoteAircraftParts, "LIGHT LANDING", "Bool");
|
|
||||||
// hr += SimConnect_AddToDataDefinition(hSimConnect, CSimConnectDefinitions::DataRemoteAircraftParts, "LIGHT TAXI", "Bool");
|
|
||||||
hr += SimConnect_AddToDataDefinition(hSimConnect, CSimConnectDefinitions::DataRemoteAircraftParts, "LIGHT BEACON", "Bool");
|
|
||||||
hr += SimConnect_AddToDataDefinition(hSimConnect, CSimConnectDefinitions::DataRemoteAircraftParts, "LIGHT NAV", "Bool");
|
|
||||||
hr += SimConnect_AddToDataDefinition(hSimConnect, CSimConnectDefinitions::DataRemoteAircraftParts, "LIGHT LOGO", "Bool");
|
|
||||||
|
|
||||||
// Flaps
|
// Flaps
|
||||||
hr += SimConnect_AddToDataDefinition(hSimConnect, CSimConnectDefinitions::DataRemoteAircraftParts, "LEADING EDGE FLAPS LEFT PERCENT", "Percent Over 100");
|
hr += SimConnect_AddToDataDefinition(hSimConnect, CSimConnectDefinitions::DataRemoteAircraftParts, "LEADING EDGE FLAPS LEFT PERCENT", "Percent Over 100");
|
||||||
hr += SimConnect_AddToDataDefinition(hSimConnect, CSimConnectDefinitions::DataRemoteAircraftParts, "LEADING EDGE FLAPS RIGHT PERCENT", "Percent Over 100");
|
hr += SimConnect_AddToDataDefinition(hSimConnect, CSimConnectDefinitions::DataRemoteAircraftParts, "LEADING EDGE FLAPS RIGHT PERCENT", "Percent Over 100");
|
||||||
@@ -105,6 +98,14 @@ namespace BlackSimPlugin
|
|||||||
hr += SimConnect_AddToDataDefinition(hSimConnect, CSimConnectDefinitions::DataRemoteAircraftParts, "GENERAL ENG COMBUSTION:3", "Bool");
|
hr += SimConnect_AddToDataDefinition(hSimConnect, CSimConnectDefinitions::DataRemoteAircraftParts, "GENERAL ENG COMBUSTION:3", "Bool");
|
||||||
hr += SimConnect_AddToDataDefinition(hSimConnect, CSimConnectDefinitions::DataRemoteAircraftParts, "GENERAL ENG COMBUSTION:4", "Bool");
|
hr += SimConnect_AddToDataDefinition(hSimConnect, CSimConnectDefinitions::DataRemoteAircraftParts, "GENERAL ENG COMBUSTION:4", "Bool");
|
||||||
|
|
||||||
|
// Lights (other definition)
|
||||||
|
hr += SimConnect_AddToDataDefinition(hSimConnect, CSimConnectDefinitions::DataRemoteAircraftLights, "LIGHT STROBE", "Bool");
|
||||||
|
hr += SimConnect_AddToDataDefinition(hSimConnect, CSimConnectDefinitions::DataRemoteAircraftLights, "LIGHT LANDING", "Bool");
|
||||||
|
hr += SimConnect_AddToDataDefinition(hSimConnect, CSimConnectDefinitions::DataRemoteAircraftLights, "LIGHT TAXI", "Bool");
|
||||||
|
hr += SimConnect_AddToDataDefinition(hSimConnect, CSimConnectDefinitions::DataRemoteAircraftLights, "LIGHT BEACON", "Bool");
|
||||||
|
hr += SimConnect_AddToDataDefinition(hSimConnect, CSimConnectDefinitions::DataRemoteAircraftLights, "LIGHT NAV", "Bool");
|
||||||
|
hr += SimConnect_AddToDataDefinition(hSimConnect, CSimConnectDefinitions::DataRemoteAircraftLights, "LIGHT LOGO", "Bool");
|
||||||
|
|
||||||
if (hr != S_OK)
|
if (hr != S_OK)
|
||||||
{
|
{
|
||||||
CLogMessage(static_cast<CSimConnectDefinitions *>(nullptr)).error("SimConnect error: initRemoteAircraftSituation %1") << hr;
|
CLogMessage(static_cast<CSimConnectDefinitions *>(nullptr)).error("SimConnect error: initRemoteAircraftSituation %1") << hr;
|
||||||
@@ -182,14 +183,17 @@ namespace BlackSimPlugin
|
|||||||
|
|
||||||
bool DataDefinitionRemoteAircraftParts::operator==(const DataDefinitionRemoteAircraftParts &rhs) const
|
bool DataDefinitionRemoteAircraftParts::operator==(const DataDefinitionRemoteAircraftParts &rhs) const
|
||||||
{
|
{
|
||||||
return std::tie(lightBeacon, lightLanding, lightLogo, lightNav, lightStrobe,
|
return std::tie(flapsLeadingEdgeLeftPercent, flapsLeadingEdgeRightPercent, flapsTrailingEdgeLeftPercent, flapsTrailingEdgeRightPercent,
|
||||||
flapsLeadingEdgeLeftPercent, flapsLeadingEdgeRightPercent, flapsTrailingEdgeLeftPercent, flapsTrailingEdgeRightPercent,
|
|
||||||
gearHandlePosition, spoilersHandlePosition,
|
gearHandlePosition, spoilersHandlePosition,
|
||||||
engine1Combustion, engine2Combustion, engine3Combustion, engine4Combustion) ==
|
engine1Combustion, engine2Combustion, engine3Combustion, engine4Combustion) ==
|
||||||
std::tie(rhs.lightBeacon, rhs.lightLanding, rhs.lightLogo, rhs.lightNav, rhs.lightStrobe,
|
std::tie(rhs.flapsLeadingEdgeLeftPercent, rhs.flapsLeadingEdgeRightPercent, rhs.flapsTrailingEdgeLeftPercent, rhs.flapsTrailingEdgeRightPercent,
|
||||||
rhs.flapsLeadingEdgeLeftPercent, rhs.flapsLeadingEdgeRightPercent, rhs.flapsTrailingEdgeLeftPercent, rhs.flapsTrailingEdgeRightPercent,
|
|
||||||
rhs.gearHandlePosition, rhs.spoilersHandlePosition,
|
rhs.gearHandlePosition, rhs.spoilersHandlePosition,
|
||||||
rhs.engine1Combustion, rhs.engine2Combustion, rhs.engine3Combustion, rhs.engine4Combustion);
|
rhs.engine1Combustion, rhs.engine2Combustion, rhs.engine3Combustion, rhs.engine4Combustion);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
CAircraftLights DataDefinitionRemoteAircraftLights::toLights() const
|
||||||
|
{
|
||||||
|
return CAircraftLights(lightStrobe, lightLanding, lightTaxi, lightBeacon, lightNav, lightLogo);
|
||||||
|
}
|
||||||
} // namespace
|
} // namespace
|
||||||
} // namespace
|
} // namespace
|
||||||
|
|||||||
@@ -17,6 +17,7 @@
|
|||||||
#ifndef NOMINMAX
|
#ifndef NOMINMAX
|
||||||
#define NOMINMAX
|
#define NOMINMAX
|
||||||
#endif
|
#endif
|
||||||
|
#include "blackmisc/aviation/aircraftlights.h"
|
||||||
#include <simconnect/SimConnect.h>
|
#include <simconnect/SimConnect.h>
|
||||||
#include <windows.h>
|
#include <windows.h>
|
||||||
#include <algorithm>
|
#include <algorithm>
|
||||||
@@ -76,12 +77,6 @@ namespace BlackSimPlugin
|
|||||||
//! Data struct of remote aircraft parts
|
//! Data struct of remote aircraft parts
|
||||||
struct DataDefinitionRemoteAircraftParts
|
struct DataDefinitionRemoteAircraftParts
|
||||||
{
|
{
|
||||||
double lightStrobe; //!< Is strobe light on?
|
|
||||||
double lightLanding; //!< Is landing light on?
|
|
||||||
// double lightTaxi; //!< Is taxi light on?
|
|
||||||
double lightBeacon; //!< Is beacon light on?
|
|
||||||
double lightNav; //!< Is nav light on?
|
|
||||||
double lightLogo; //!< Is logo light on?
|
|
||||||
double flapsLeadingEdgeLeftPercent; //!< Leading edge left in percent
|
double flapsLeadingEdgeLeftPercent; //!< Leading edge left in percent
|
||||||
double flapsLeadingEdgeRightPercent; //!< Leading edge right in percent
|
double flapsLeadingEdgeRightPercent; //!< Leading edge right in percent
|
||||||
double flapsTrailingEdgeLeftPercent; //!< Trailing edge left in percent
|
double flapsTrailingEdgeLeftPercent; //!< Trailing edge left in percent
|
||||||
@@ -97,6 +92,20 @@ namespace BlackSimPlugin
|
|||||||
bool operator==(const DataDefinitionRemoteAircraftParts &rhs) const;
|
bool operator==(const DataDefinitionRemoteAircraftParts &rhs) const;
|
||||||
};
|
};
|
||||||
|
|
||||||
|
//! Data for aircraft lighs
|
||||||
|
struct DataDefinitionRemoteAircraftLights
|
||||||
|
{
|
||||||
|
double lightStrobe; //!< Is strobe light on?
|
||||||
|
double lightLanding; //!< Is landing light on?
|
||||||
|
double lightTaxi; //!< Is taxi light on?
|
||||||
|
double lightBeacon; //!< Is beacon light on?
|
||||||
|
double lightNav; //!< Is nav light on?
|
||||||
|
double lightLogo; //!< Is logo light on?
|
||||||
|
|
||||||
|
//! Convert to lights
|
||||||
|
BlackMisc::Aviation::CAircraftLights toLights() const;
|
||||||
|
};
|
||||||
|
|
||||||
//! Data for AI object sent back from simulator
|
//! Data for AI object sent back from simulator
|
||||||
struct DataDefinitionRemoteAircraftSimData
|
struct DataDefinitionRemoteAircraftSimData
|
||||||
{
|
{
|
||||||
@@ -158,6 +167,7 @@ namespace BlackSimPlugin
|
|||||||
{
|
{
|
||||||
DataOwnAircraft,
|
DataOwnAircraft,
|
||||||
DataOwnAircraftTitle,
|
DataOwnAircraftTitle,
|
||||||
|
DataRemoteAircraftLights,
|
||||||
DataRemoteAircraftParts,
|
DataRemoteAircraftParts,
|
||||||
DataRemoteAircraftPosition,
|
DataRemoteAircraftPosition,
|
||||||
DataRemoteAircraftSimData,
|
DataRemoteAircraftSimData,
|
||||||
|
|||||||
Reference in New Issue
Block a user