mirror of
https://github.com/swift-project/pilotclient.git
synced 2026-04-21 04:45:31 +08:00
refs #298, implemented isPaused for FSX
In the same step renamed enum SystemEvent values to make them easier to spot
This commit is contained in:
@@ -426,17 +426,20 @@ namespace BlackSimPlugin
|
|||||||
HRESULT CSimulatorFsx::initEvents()
|
HRESULT CSimulatorFsx::initEvents()
|
||||||
{
|
{
|
||||||
HRESULT hr = S_OK;
|
HRESULT hr = S_OK;
|
||||||
// System events
|
// System events, see http://msdn.microsoft.com/en-us/library/cc526983.aspx#SimConnect_SubscribeToSystemEvent
|
||||||
hr += SimConnect_SubscribeToSystemEvent(m_hSimConnect, EventSimStatus, "Sim");
|
hr += SimConnect_SubscribeToSystemEvent(m_hSimConnect, SystemEventSimStatus, "Sim");
|
||||||
hr += SimConnect_SubscribeToSystemEvent(m_hSimConnect, EventObjectAdded, "ObjectAdded");
|
hr += SimConnect_SubscribeToSystemEvent(m_hSimConnect, SystemEventObjectAdded, "ObjectAdded");
|
||||||
hr += SimConnect_SubscribeToSystemEvent(m_hSimConnect, EventObjectRemoved, "ObjectRemoved");
|
hr += SimConnect_SubscribeToSystemEvent(m_hSimConnect, SystemEventObjectRemoved, "ObjectRemoved");
|
||||||
hr += SimConnect_SubscribeToSystemEvent(m_hSimConnect, EventFrame, "Frame");
|
hr += SimConnect_SubscribeToSystemEvent(m_hSimConnect, SystemEventFrame, "Frame");
|
||||||
|
hr += SimConnect_SubscribeToSystemEvent(m_hSimConnect, SystemEventPause, "Pause");
|
||||||
if (hr != S_OK)
|
if (hr != S_OK)
|
||||||
{
|
{
|
||||||
qFatal("SimConnect_SubscribeToSystemEvent failed");
|
qFatal("SimConnect_SubscribeToSystemEvent failed");
|
||||||
}
|
}
|
||||||
|
|
||||||
// Mapped events
|
// Mapped events, see event ids here: http://msdn.microsoft.com/en-us/library/cc526980.aspx
|
||||||
|
hr += SimConnect_MapClientEventToSimEvent(m_hSimConnect, EventPauseToggle, "PAUSE_TOGGLE");
|
||||||
|
hr += SimConnect_MapClientEventToSimEvent(m_hSimConnect, SystemEventSlewToggle, "SLEW_TOGGLE");
|
||||||
hr += SimConnect_MapClientEventToSimEvent(m_hSimConnect, EventFreezeLat, "FREEZE_LATITUDE_LONGITUDE_SET");
|
hr += SimConnect_MapClientEventToSimEvent(m_hSimConnect, EventFreezeLat, "FREEZE_LATITUDE_LONGITUDE_SET");
|
||||||
hr += SimConnect_MapClientEventToSimEvent(m_hSimConnect, EventFreezeAlt, "FREEZE_ALTITUDE_SET");
|
hr += SimConnect_MapClientEventToSimEvent(m_hSimConnect, EventFreezeAlt, "FREEZE_ALTITUDE_SET");
|
||||||
hr += SimConnect_MapClientEventToSimEvent(m_hSimConnect, EventFreezeAtt, "FREEZE_ATTITUDE_SET");
|
hr += SimConnect_MapClientEventToSimEvent(m_hSimConnect, EventFreezeAtt, "FREEZE_ATTITUDE_SET");
|
||||||
|
|||||||
@@ -51,11 +51,13 @@ namespace BlackSimPlugin
|
|||||||
//! SimConnect Event IDs
|
//! SimConnect Event IDs
|
||||||
enum EventIds
|
enum EventIds
|
||||||
{
|
{
|
||||||
EventSimStatus,
|
SystemEventSimStatus,
|
||||||
EventObjectAdded,
|
SystemEventObjectAdded,
|
||||||
EventObjectRemoved,
|
SystemEventObjectRemoved,
|
||||||
EventSlewOn,
|
SystemEventSlewToggle,
|
||||||
EventFrame,
|
SystemEventFrame,
|
||||||
|
SystemEventPause,
|
||||||
|
EventPauseToggle,
|
||||||
EventFreezeLat,
|
EventFreezeLat,
|
||||||
EventFreezeAlt,
|
EventFreezeAlt,
|
||||||
EventFreezeAtt,
|
EventFreezeAtt,
|
||||||
|
|||||||
@@ -62,7 +62,7 @@ namespace BlackSimPlugin
|
|||||||
|
|
||||||
switch (event->uEventID)
|
switch (event->uEventID)
|
||||||
{
|
{
|
||||||
case EventSimStatus:
|
case SystemEventSimStatus:
|
||||||
{
|
{
|
||||||
if (event->dwData)
|
if (event->dwData)
|
||||||
{
|
{
|
||||||
@@ -74,17 +74,21 @@ namespace BlackSimPlugin
|
|||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
case SystemEventPause:
|
||||||
|
{
|
||||||
|
simulatorFsx->m_simPaused = event->dwData ? true : false;
|
||||||
|
break;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
case SIMCONNECT_RECV_ID_EVENT_OBJECT_ADDREMOVE:
|
case SIMCONNECT_RECV_ID_EVENT_OBJECT_ADDREMOVE:
|
||||||
{
|
{
|
||||||
SIMCONNECT_RECV_EVENT_OBJECT_ADDREMOVE *event = static_cast<SIMCONNECT_RECV_EVENT_OBJECT_ADDREMOVE *>(pData);
|
SIMCONNECT_RECV_EVENT_OBJECT_ADDREMOVE *event = static_cast<SIMCONNECT_RECV_EVENT_OBJECT_ADDREMOVE *>(pData);
|
||||||
if (event->uEventID == EventObjectAdded)
|
if (event->uEventID == SystemEventObjectAdded)
|
||||||
{
|
{
|
||||||
}
|
}
|
||||||
else if (event->uEventID == EventObjectRemoved)
|
else if (event->uEventID == SystemEventObjectRemoved)
|
||||||
{
|
{
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
@@ -94,7 +98,7 @@ namespace BlackSimPlugin
|
|||||||
SIMCONNECT_RECV_EVENT_FRAME *event = (SIMCONNECT_RECV_EVENT_FRAME *) pData;
|
SIMCONNECT_RECV_EVENT_FRAME *event = (SIMCONNECT_RECV_EVENT_FRAME *) pData;
|
||||||
switch (event->uEventID)
|
switch (event->uEventID)
|
||||||
{
|
{
|
||||||
case EventFrame:
|
case SystemEventFrame:
|
||||||
simulatorFsx->onSimFrame();
|
simulatorFsx->onSimFrame();
|
||||||
break;
|
break;
|
||||||
default:
|
default:
|
||||||
|
|||||||
Reference in New Issue
Block a user