@@ -98,6 +98,13 @@ def my_dispatch_proc(self, pData, cbData, pContext):
98
98
elif dwID == SIMCONNECT_RECV_ID .SIMCONNECT_RECV_ID_EXCEPTION :
99
99
exc = cast (pData , POINTER (SIMCONNECT_RECV_EXCEPTION )).contents
100
100
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 )
101
108
102
109
elif (dwID == SIMCONNECT_RECV_ID .SIMCONNECT_RECV_ID_AIRPORT_LIST ) or (
103
110
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
456
463
sizeof (ctypes .c_double ) * len (pyarr ),
457
464
pObjData
458
465
)
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