Skip to content

Commit 3ceeb4c

Browse files
authored
Merge pull request odwdinc#110 from Helicopter-Emergency-Operations/master
Add creation of AI SimObjects
2 parents 3b43a79 + 040b895 commit 3ceeb4c

File tree

1 file changed

+24
-0
lines changed

1 file changed

+24
-0
lines changed

SimConnect/SimConnect.py

Lines changed: 24 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -98,6 +98,13 @@ def my_dispatch_proc(self, pData, cbData, pContext):
9898
elif dwID == SIMCONNECT_RECV_ID.SIMCONNECT_RECV_ID_EXCEPTION:
9999
exc = cast(pData, POINTER(SIMCONNECT_RECV_EXCEPTION)).contents
100100
self.handle_exception_event(exc)
101+
102+
elif dwID == SIMCONNECT_RECV_ID.SIMCONNECT_RECV_ID_ASSIGNED_OBJECT_ID:
103+
pObjData = cast(
104+
pData, POINTER(SIMCONNECT_RECV_ASSIGNED_OBJECT_ID)
105+
).contents
106+
objectId = pObjData.dwObjectID
107+
os.environ["SIMCONNECT_OBJECT_ID"] = str(objectId)
101108

102109
elif (dwID == SIMCONNECT_RECV_ID.SIMCONNECT_RECV_ID_AIRPORT_LIST) or (
103110
dwID == SIMCONNECT_RECV_ID.SIMCONNECT_RECV_ID_WAYPOINT_LIST) or (
@@ -456,3 +463,20 @@ def sendText(self, text, timeSeconds=5, TEXT_TYPE=SIMCONNECT_TEXT_TYPE.SIMCONNEC
456463
sizeof(ctypes.c_double) * len(pyarr),
457464
pObjData
458465
)
466+
467+
def createSimulatedObject(self, name, lat, lon, rqst, hdg=0, gnd=1, alt=0, pitch=0, bank=0, speed=0):
468+
simInitPos = SIMCONNECT_DATA_INITPOSITION()
469+
simInitPos.Altitude = alt
470+
simInitPos.Latitude = lat
471+
simInitPos.Longitude = lon
472+
simInitPos.Pitch = pitch
473+
simInitPos.Bank = bank
474+
simInitPos.Heading = hdg
475+
simInitPos.OnGround = gnd
476+
simInitPos.Airspeed = speed
477+
self.dll.AICreateSimulatedObject(
478+
self.hSimConnect,
479+
name.encode(),
480+
simInitPos,
481+
rqst.value
482+
)

0 commit comments

Comments
 (0)