Update the ffi lib

This commit is contained in:
Mihai Dinculescu
2022-10-07 17:41:43 +01:00
parent 9776960540
commit 41ebdbd03d
4 changed files with 93 additions and 29 deletions

16
Cargo.lock generated
View File

@@ -348,9 +348,9 @@ checksum = "73473c0e59e6d5812c5dfe2a064a6444949f089e20eec9a2e5506596494e4623"
[[package]]
name = "syn"
version = "1.0.101"
version = "1.0.102"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "e90cde112c4b9690b8cbe810cba9ddd8bc1d7472e2cae317b69e9438c1cba7d2"
checksum = "3fcd952facd492f9be3ef0d0b7032a6e442ee9b361d4acc2b1d0c4aaa5f613a1"
dependencies = [
"proc-macro2",
"quote",
@@ -403,9 +403,9 @@ dependencies = [
[[package]]
name = "tracing"
version = "0.1.36"
version = "0.1.37"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "2fce9567bd60a67d08a16488756721ba392f24f29006402881e43b19aac64307"
checksum = "8ce8c33a8d48bd45d624a6e523445fd21ec13d3653cd51f681abf67418f54eb8"
dependencies = [
"cfg-if",
"pin-project-lite",
@@ -415,9 +415,9 @@ dependencies = [
[[package]]
name = "tracing-attributes"
version = "0.1.22"
version = "0.1.23"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "11c75893af559bc8e10716548bdef5cb2b983f8e637db9d0e15126b61b484ee2"
checksum = "4017f8f45139870ca7e672686113917c71c7a6e02d4924eda67186083c03081a"
dependencies = [
"proc-macro2",
"quote",
@@ -426,9 +426,9 @@ dependencies = [
[[package]]
name = "tracing-core"
version = "0.1.29"
version = "0.1.30"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "5aeea4303076558a00714b823f9ad67d58a3bbda1df83d8827d21193156e22f7"
checksum = "24eb03ba0eab1fd845050058ce5e616558e8f8d8fca633e6b163fe25c797213a"
dependencies = [
"once_cell",
]

View File

@@ -11,11 +11,19 @@
#pragma once
#ifdef _MSFS_WASM
#ifndef SIMCONNECT_WASM_MODULE
#define SIMCONNECT_WASM_MODULE "env"
#endif
#endif
// <ASOBO-MOD - GM - now in 64 bit
#ifndef SIMCONNECT_H_NOMANIFEST
#if _MSC_FULL_VER >= 140040130
#if defined(_M_IX86) || defined(_M_X64)
//#pragma comment(linker,"/manifestdependency:\"type='win32' " \
// "name='" "Microsoft..SimConnect" "' " \
// "version='" "" "' " \
// "processorArchitecture='amd64' " \
// "publicKeyToken='" "" "'\"")
#endif // #if defined(_M_IX86) || defined(_M_X64)
#endif // #if _MSC_FULL_VER >= 140040130
#endif // #ifndef SIMCONNECT_H_NOMANIFEST
// ASOBO-MOD/>
#ifndef DWORD_MAX
#define DWORD_MAX 0xFFFFFFFF
@@ -117,6 +125,9 @@ SIMCONNECT_ENUM SIMCONNECT_RECV_ID{
#ifdef ENABLE_SIMCONNECT_EXPERIMENTAL
SIMCONNECT_RECV_ID_PICK,
#endif // ENABLE_SIMCONNECT_EXPERIMENTAL
SIMCONNECT_RECV_ID_EVENT_EX1,
SIMCONNECT_RECV_ID_FACILITY_DATA,
SIMCONNECT_RECV_ID_FACILITY_DATA_END,
};
// Data data types
@@ -278,6 +289,32 @@ SIMCONNECT_ENUM SIMCONNECT_FACILITY_LIST_TYPE{
SIMCONNECT_FACILITY_LIST_TYPE_COUNT // invalid
};
SIMCONNECT_ENUM SIMCONNECT_FACILITY_DATA_TYPE{
SIMCONNECT_FACILITY_DATA_AIRPORT,
SIMCONNECT_FACILITY_DATA_RUNWAY,
SIMCONNECT_FACILITY_DATA_START,
SIMCONNECT_FACILITY_DATA_FREQUENCY,
SIMCONNECT_FACILITY_DATA_HELIPAD,
SIMCONNECT_FACILITY_DATA_APPROACH,
SIMCONNECT_FACILITY_DATA_APPROACH_TRANSITION,
SIMCONNECT_FACILITY_DATA_APPROACH_LEG,
SIMCONNECT_FACILITY_DATA_FINAL_APPROACH_LEG,
SIMCONNECT_FACILITY_DATA_MISSED_APPROACH_LEG,
SIMCONNECT_FACILITY_DATA_DEPARTURE,
SIMCONNECT_FACILITY_DATA_ARRIVAL,
SIMCONNECT_FACILITY_DATA_RUNWAY_TRANSITION,
SIMCONNECT_FACILITY_DATA_ENROUTE_TRANSITION,
SIMCONNECT_FACILITY_DATA_TAXI_POINT,
SIMCONNECT_FACILITY_DATA_TAXI_PARKING,
SIMCONNECT_FACILITY_DATA_TAXI_PATH,
SIMCONNECT_FACILITY_DATA_TAXI_NAME,
SIMCONNECT_FACILITY_DATA_JETWAY,
SIMCONNECT_FACILITY_DATA_VOR,
SIMCONNECT_FACILITY_DATA_NDB,
SIMCONNECT_FACILITY_DATA_WAYPOINT,
SIMCONNECT_FACILITY_DATA_ROUTE,
};
SIMCONNECT_ENUM_FLAGS SIMCONNECT_VOR_FLAGS; // flags for SIMCONNECT_RECV_ID_VOR_LIST
static const DWORD SIMCONNECT_RECV_ID_VOR_LIST_HAS_NAV_SIGNAL = 0x00000001; // Has Nav signal
static const DWORD SIMCONNECT_RECV_ID_VOR_LIST_HAS_LOCALIZER = 0x00000002; // Has localizer
@@ -440,6 +477,20 @@ SIMCONNECT_REFSTRUCT SIMCONNECT_RECV_EVENT_MULTIPLAYER_SESSION_ENDED : public SI
// No event specific data, for now
};
SIMCONNECT_REFSTRUCT SIMCONNECT_RECV_EVENT_EX1 : public SIMCONNECT_RECV // when dwID == SIMCONNECT_RECV_ID_EVENT_EX1
{
static const DWORD UNKNOWN_GROUP = DWORD_MAX;
DWORD uGroupID;
DWORD uEventID;
// Doesn t support array so, let s list
DWORD dwData0;
DWORD dwData1;
DWORD dwData2;
DWORD dwData3;
DWORD dwData4;
};
// SIMCONNECT_DATA_RACE_RESULT
SIMCONNECT_STRUCT SIMCONNECT_DATA_RACE_RESULT
{
@@ -596,6 +647,23 @@ SIMCONNECT_REFSTRUCT SIMCONNECT_RECV_VOR_LIST : public SIMCONNECT_RECV_FACILITIE
SIMCONNECT_FIXEDTYPE_DATAV(SIMCONNECT_DATA_FACILITY_VOR, rgData, dwArraySize, U1 /*member of UnmanagedType enum*/, SIMCONNECT_DATA_FACILITY_VOR /*cli type*/);
};
SIMCONNECT_REFSTRUCT SIMCONNECT_RECV_FACILITY_DATA : public SIMCONNECT_RECV
{
DWORD UserRequestId;
DWORD UniqueRequestId;
DWORD ParentUniqueRequestId;
DWORD Type;
DWORD IsListItem;
DWORD ItemIndex;
DWORD ListSize;
SIMCONNECT_DATAV(Data, Type, );
};
SIMCONNECT_REFSTRUCT SIMCONNECT_RECV_FACILITY_DATA_END : public SIMCONNECT_RECV
{
DWORD RequestId;
};
#ifdef ENABLE_SIMCONNECT_EXPERIMENTAL
SIMCONNECT_REFSTRUCT SIMCONNECT_RECV_PICK : public SIMCONNECT_RECV // when dwID == SIMCONNECT_RECV_ID_RESERVED_KEY
@@ -664,26 +732,15 @@ SIMCONNECT_STRUCT SIMCONNECT_DATA_XYZ
#pragma pack(pop)
//----------------------------------------------------------------------------
// End of Struct definitions
//----------------------------------------------------------------------------
typedef void(CALLBACK *DispatchProc)(SIMCONNECT_RECV *pData, DWORD cbData, void *pContext);
//----------------------------------------------------------------------------
// End of Struct definitions
//----------------------------------------------------------------------------
#if !defined(SIMCONNECTAPI)
#ifdef _MSFS_WASM
#ifdef __INTELLISENSE__
#define MODULE_EXPORT
#define SIMCONNECTAPI extern "C" HRESULT
#else
#define MODULE_EXPORT __attribute__((visibility("default")))
#define SIMCONNECTAPI extern "C" __attribute__((import_module(SIMCONNECT_WASM_MODULE))) HRESULT
#endif
#else
#define MODULE_EXPORT
#define SIMCONNECTAPI extern "C" HRESULT __stdcall
#endif
#endif
typedef void(CALLBACK *DispatchProc)(SIMCONNECT_RECV *pData, DWORD cbData, void *pContext);
SIMCONNECTAPI SimConnect_MapClientEventToSimEvent(HANDLE hSimConnect, SIMCONNECT_CLIENT_EVENT_ID EventID, const char *EventName = "");
SIMCONNECTAPI SimConnect_TransmitClientEvent(HANDLE hSimConnect, SIMCONNECT_OBJECT_ID ObjectID, SIMCONNECT_CLIENT_EVENT_ID EventID, DWORD dwData, SIMCONNECT_NOTIFICATION_GROUP_ID GroupID, SIMCONNECT_EVENT_FLAG Flags);
@@ -757,5 +814,11 @@ SIMCONNECTAPI SimConnect_Text(HANDLE hSimConnect, SIMCONNECT_TEXT_TYPE type, flo
SIMCONNECTAPI SimConnect_SubscribeToFacilities(HANDLE hSimConnect, SIMCONNECT_FACILITY_LIST_TYPE type, SIMCONNECT_DATA_REQUEST_ID RequestID);
SIMCONNECTAPI SimConnect_UnsubscribeToFacilities(HANDLE hSimConnect, SIMCONNECT_FACILITY_LIST_TYPE type);
SIMCONNECTAPI SimConnect_RequestFacilitiesList(HANDLE hSimConnect, SIMCONNECT_FACILITY_LIST_TYPE type, SIMCONNECT_DATA_REQUEST_ID RequestID);
SIMCONNECTAPI SimConnect_TransmitClientEvent_EX1(HANDLE hSimConnect, SIMCONNECT_OBJECT_ID ObjectID, SIMCONNECT_CLIENT_EVENT_ID EventID, SIMCONNECT_NOTIFICATION_GROUP_ID GroupID, SIMCONNECT_EVENT_FLAG Flags, DWORD dwData0, DWORD dwData1 = 0, DWORD dwData2 = 0, DWORD dwData3 = 0, DWORD dwData4 = 0);
SIMCONNECTAPI SimConnect_AddToFacilityDefinition(HANDLE hSimConnect, SIMCONNECT_DATA_DEFINITION_ID DefineID, const char *FieldName);
SIMCONNECTAPI SimConnect_RequestFacilityData(HANDLE hSimConnect, SIMCONNECT_DATA_DEFINITION_ID DefineID, SIMCONNECT_DATA_REQUEST_ID RequestID, const char *ICAO, const char *Region = "");
SIMCONNECTAPI SimConnect_SubscribeToFacilities_EX1(HANDLE hSimConnect, SIMCONNECT_FACILITY_LIST_TYPE type, SIMCONNECT_DATA_REQUEST_ID newElemInRangeRequestID, SIMCONNECT_DATA_REQUEST_ID oldElemOutRangeRequestID);
SIMCONNECTAPI SimConnect_UnsubscribeToFacilities_EX1(HANDLE hSimConnect, SIMCONNECT_FACILITY_LIST_TYPE type, bool bUnsubscribeNewInRange, bool bUnsubscribeOldOutRange);
SIMCONNECTAPI SimConnect_RequestFacilitiesList_EX1(HANDLE hSimConnect, SIMCONNECT_FACILITY_LIST_TYPE type, SIMCONNECT_DATA_REQUEST_ID RequestID);
#endif // _SIMCONNECT_H_

Binary file not shown.

1
ffi/version.txt Normal file
View File

@@ -0,0 +1 @@
0.19.3.0