diff --git a/src/client/DCSInsight/DCSInsight.csproj b/src/client/DCSInsight/DCSInsight.csproj
index 45b26b0..16a335f 100644
--- a/src/client/DCSInsight/DCSInsight.csproj
+++ b/src/client/DCSInsight/DCSInsight.csproj
@@ -16,6 +16,7 @@
+
@@ -32,6 +33,17 @@
+
+ Always
+
+
+
+
+ Code
+
+
+ Code
+
diff --git a/src/client/DCSInsight/Items/iCommands.txt b/src/client/DCSInsight/Items/iCommands.txt
new file mode 100644
index 0000000..fad23bc
--- /dev/null
+++ b/src/client/DCSInsight/Items/iCommands.txt
@@ -0,0 +1,2094 @@
+
+
+*** fenv:
+iCommandPlaneRightMFD_OSB18 689
+iCommandViewTransposeModeOn 1593
+iCommandPlane_Env_WindshieldDefogDeice 1509
+iCommandDebugAxis9 2096
+iCommandThrottle1Decrease 1036
+iCommandPlaneAUTIncreaseRegimeLeft 165
+iCommandViewPitCameraMoveStop 490
+iCommandPlaneLeftMFD_CON_Increase 668
+iCommandPlane_HOTAS_MIC_SwitchDown 573
+iCommandPlaneCDU_M 1266
+iCommandPlane_Helmet_Brightess_Up 840
+iCommandPlaneCMSC_JMR 1347
+iCommandPlaneLeftMFD_OSB13 654
+iCommandPlaneNav_PB2_off 860
+iCommandPlaneViewHorizontal 2007
+iCommandViewKeyLCtrlS 1735
+iCommandPlaneRadarStop 235
+iCommandAltimeterPressureDecrease 317
+iCommandViewMouseButton2Up 1808
+iCommandViewStatic 150
+iCommandVROrientationMatrix_ZY 2160
+iCommandViewAWACSSetMaxRangeRestriction 1675
+iCommandPlaneCMSP_OSB_4 1327
+iCommandPlane_HOTAS_LeftThrottleButton_Off 1557
+iCommandVehicleRangeIncrease 1766
+iCommandGZoomInPressed 1652
+iCommandElectronicControlSystemRightEngine 743
+iCommandViewAWACSKeyData 2122
+iCommandViewLongitudeTransAbs 2053
+iCommandPlaneWheelBrakeRightOff 964
+iCommandGReticleLightToggle 1651
+iCommandPlaneCDU_L 1265
+iCommandPlaneConsoleLightsIncrease 1373
+iHeadTrackerPosX 2147
+iCommandMouseViewOnOff 339
+iCommandLeftEngineFuelValveShutOffCover 723
+iCommand_LWS_Reset 885
+iCommandDynamicRadioVolumeUp 1749
+iCommandPlaneCDU_P 1269
+iCommandViewRouteStop 1799
+iCommandViewNVGOff 1619
+iCommandPlane_R_828_Noise_Reductor_on_off 624
+iCommandPlane_Altimeter_ELECT 1412
+iCommandPlaneCDU_O 1268
+iCommandViewCameraAltUpSlow 1783
+iCommandPlaneQuickPadlockOff 1068
+iCommandBdaShowHide 1686
+iCommandVROrientationMatrix_XY 2154
+iCommandPlaneEmerElevatorDisengageL 1110
+iCommandViewBinocular 407
+iCommandPlane_VHF_AM_025MHz_Inc 1502
+iCommandPowerBattery1 706
+iCommandPlane_R_800_Test 620
+iCommandPlaneUFC_HACK 1306
+iCommandPowerBattery2 708
+iCommandPlaneRotorTipLights 516
+_ function: 000001A206066350
+iCommandPlane_HOTAS_TargetManagementSwitchLeft 546
+iCommandChangeRippleQuantity 281
+iCommandViewVertTrans 2050
+iCommandPlaneCircuitBreaker_16 1130
+iCommandViewCockpitChangeSeat 1602
+iCommandPlaneCircuitBreaker_22 1136
+iCommandPlaneAirRefuel 155
+iCommandPlaneNav_PB3_off 861
+iCommandGZoomIn 1576
+iCommandPlane_Oxygen_Normal 1504
+iCommandPlaneCDU_LSK_5L 1229
+iCommandPlane_HOTAS_PinkySwitchAft 569
+iCommandPlaneUFC_INTEN_DECREASE 1323
+iCommandGroundPowerAC 710
+iCommandCockpitCursorVerticalAbs 2039
+iCommandHelicopter_PPR_button_DIR_up 305
+iCommandPlane_ADF_Channel_prevous 582
+iCommandViewAWACSMapMouseMove 2042
+iCommand_CPT_MECH_WindscreenWiper_Speed 883
+iCommandPlaneRightMFD_OSB5 676
+iCommandPlaneVOID_1 1280
+iCommandDynamicRadioModulationNext 1739
+iCommandPlane_VHF_AM_01MHz_Dec 1499
+iCommandSoundOnOff 122
+iCommandAWACSBanditBearing 269
+iCommandCompassRose 435
+iCommandViewCameraAltUpRight 1773
+iCommandPlane_VHF_AM_Volume_Inc 1482
+iCommandPlaneUHFFreqModeDialGRD 1224
+iCommandPlaneModeGround 111
+iCommandPlaneIntercomFMPress 1166
+ICommandMenuItem2 967
+iCommandPlane_SpotLight_left 511
+iCommandPlaneDoAndHome 114
+iCommandDVADRFunctionSTDBY 1544
+iCommandViewFreeCameraSpeedAD 2611
+iCommandViewUnlock 20
+iCommandWeaponsControlSystem 734
+iCommandPlane_R_ENG_OPER_Norm_from_Motor 1565
+iCommandDebugAxis7 2094
+iCommandViewCameraRight 42
+iCommandHelicopter_APU_stop_up 804
+iCommandChangeGunRateOfFire 280
+iCommandPlane_SPU9_PTT_off 1590
+iCommandPlaneAUTIncreaseRegimeRight 167
+iCommandViewCenter 36
+iCommandPlaneCMDChangeRippleInterval 370
+iCommandPlane_R_800_Modulation_change 616
+iCommandViewFreeCameraSpeedPitch 2644
+iCommandViewCameraDownLeftSlow 355
+iCommandPilotSeatAdjustmentStop 1667
+iCommand_FireExting_TestGroups 931
+iCommand_CPT_MECH_PitotSystemHeatTest 953
+iCommandViewCockpitSetGunnerSeat2 1606
+iCommandPlaneCircuitBreaker_29 1143
+iCommandHelicopter_SelectWeapon_External 825
+iCommandPlaneFuelOff 80
+iCommandViewAWACSEndMixFireButton 1832
+iCommandViewRouteCancel 1800
+iCommandHelicopter_SignalFlares_YELLOW 832
+iCommandPlane_VHF_FM_1MHz_Inc 1476
+iCommandGSteeringWheel 1664
+iCommandPlaneCDU_X 1277
+iCommandFlightClockReset 288
+iCommandViewAWACSTargetPointerX 2076
+iCommandGLockon 1580
+iCommandLeftWheelBrake 2112
+iCommandEmergencyCargoUnhook 1669
+iCommandGChangeLN 1572
+iCommandVoIPRadioPushToTalkEnableDisableVoice 1731
+iCommandPlane_ADF_Volume_down 587
+iCommandViewHUDOnlyOnOff 326
+iCommandPlaneFSReceiverLever 1091
+iCommandPlane_VHF_AM_10MHz_Inc 1496
+iCommandTransferCursor 306
+iCommandPlaneRightMFD_OSB8_Off 1014
+iCommandPlane_HOTAS_CMS_Down 557
+iCommandPlaneFlapsOff 146
+iCommand_VMS_ALMAZ_UP_Check 902
+iCommandPlaneThrottleFrictionInc 1070
+iCommandAPUFuelValveShutOffCover 727
+iCommandPlaneTrimCancel 97
+iCommandPlane_HOTAS_MIC_SwitchUp 572
+iCommandViewFight 14
+iCommandPlaneFSRefuelLigtingIncrease 1099
+iCommandPlaneFSExtTanksWingValve 1077
+iCommandViewBookmarksEditor 1702
+iCommandPlaneLGPTaxiLight 1398
+iCommandVehicleElevationCorrectionDownSlow 1691
+iCommandPlaneUFC_CLR 1309
+iCommandPlane_VHF_FM_Mode_MAN 1463
+iCommandPlanePitchSASEngageL 1155
+iCommandPlane_VHF_AM_10MHz_Dec 1495
+iCommandViewFreeCameraSpeedYaw 2643
+iCommand_SHKVAL_scan_vel_up 916
+iCommandTrackEditInsert 320
+iCommandViewAWACSUnitInfoOn 423
+iCommandPlaneDesignate_CageOn_vertical 441
+iCommandPlaneCDU_8 1249
+iCommandViewCameraAltCenter 1782
+iCommandVehicle_IR_OFF 1835
+iCommandViewDownStop 1853
+iCommandPlaneCircuitBreaker_12 1126
+iCommandDynamicRadioPushToTalkDisableVoice 1738
+iCommandPlaneShowKneeboard 1587
+iCommandPlaneLeftRudderStart 201
+iCommandViewBriefing 1536
+iCommandPlaneIntercomTCNPress 1184
+iCommandPlaneUHF01MhzSelectorDec 1210
+iCommandPlaneFormationLights 521
+iCommandPlaneIntercomFMDecrease 1164
+deviceName Keyboard
+iCommandPlane_ABRIS_BT_2 497
+iHeadTrackerYawAdd 2623
+iCommandViewBRStartCameraAnimation 2633
+iCommandPlaneStabHorizon 388
+iCommandPlaneThrottleFrictionDec 1069
+iCommandPlaneCDU_LSK_9L 1231
+iCommand_IlluminationInterf_ADI_AHR_Illumination_brightness_down 941
+iCommand_VMS_ALMAZ_UP_SpeechInfoOff 914
+iCommandViewExternalZoomIn 334
+iCommandVoiceChatPushToTalkDisableVoice 1696
+iCommandViewPieMenu 1710
+iCommandPlaneTrimRightRudder 99
+iCommandHelicopter_SelectWeapon_AA 827
+iCommandHelicopter_CollectiveStopper_Down 857
+iCommandPlaneLeftMFD_OSB8_Off 989
+iCommandGZoomOut 1577
+iCommandPlane_ADF_Channel_next 581
+iCommandViewStopSlow 214
+iCommandViewCameraHeightUpStop 1840
+iCommandModalAutopilotCycle 1680
+iCommandBinocularToggleHints 1730
+iCommandPlaneFSSigAmplifier 1079
+iCommandPlaneNav_PB1_off 859
+iCommandPlaneDLK_Target2 444
+iCommandVehicle_LaunchGreenFlare 1614
+iCommandPlaneEmerTrimLWingDn 1103
+iCommandPlaneLeftMFD_OSB10_Off 991
+iCommandPlaneRefuelStatusIndLTSDecrease 1192
+iCommandPlane_Env_MainAirSupply 1519
+iCommandChangeRWRMode 286
+iCommandPlaneCMSP_OSB_3 1326
+iCommandPlaneIntercomTCNIncrease 1183
+iCommandWeaponsBallisticSelectorRight 947
+iCommandPlaneDLK_RefPoint_up 783
+iCommandPlane_L_ENG_OPER_Norm_from_Ign 1566
+iCommandIR_LevelDown 1804
+iCommandPlaneUHF1MhzSelectorInc 1207
+iCommandCockpitIllumination 815
+iCommandToggleCommandMenuUpdate 1697
+iCommandViewAWACSChangeROE 2133
+iCommandPlaneRightMFD_OSB12_Off 1018
+iCommandPlaneADIAHRIllumination 813
+iCommandPlaneLaunchPermissionOverride 349
+iCommandPlane_R_828_Channel_next 622
+iCommandPlane_ILS_MHz_Increase 1440
+iCommandPlaneCMSP_OSB_2 1325
+iCommandDecelerate 191
+iCommandPlaneCollective 2087
+iCommandViewAWACSRestrictionsButton 1674
+iCommandPlaneSelecterVerticalAbs 2034
+iCommandPlaneRightMFD_OSB9_Off 1015
+iCommandPlaneSASMonitorTestLeft 1157
+iCommandViewMirage 11
+iCommandPlane_FLAPS_DN 1049
+iCommandPlaneDLK_SendMemory 454
+iCommandPlane_VHF_FM_025MHz_Inc 1480
+iCommandPlaneUFC_MK 1311
+iCommandPlane_Peak_Vol_Decrease 1457
+iCommandViewAWACSTargetPointerY 2077
+iCommandPlaneLeftMFD_OSB14 655
+iCommandPlaneAHCPAltSCEDelta 1385
+iCommandViewForwardStop 291
+iCommandViewAWACSProcessFireMissionButton 1823
+iCommandSelecterStop 230
+iCommandPlaneWheelParkingBrake 855
+iCommandPlane_FLAPS_MNR 1048
+iCommandPlaneCMSC_AUD_DEC 1351
+iCommandViewCameraMoveVertical 1725
+iCommandVehicleAzimuthCorrectionRightSlow 1693
+iCommandPlaneShipTakeOff 120
+iCommandPlaneCDU_MINUS 1294
+iCommandViewCarrierAirboss 132
+iCommandPlaneNav_Wind_off 880
+iCommand_VMS_ALMAZ_UP_Repeat 915
+iCommandViewAWACSDistanceToolDistance 2054
+iCommandPlaneIntercomILSDecrease 1179
+iCommandPlaneFeedbackTrimmer 2035
+iCommandViewSnapView5 401
+iCommandEasyRadarScaleUp 836
+iCommandEjectingSystemPower1 730
+iCommandPlane_HOTAS_MIC_SwitchRight 575
+iCommandRotateTurretDownPressed 1640
+iCommand_IlluminationInterf_Control_Panel_Illumination_brightness_down 943
+iCommandPlaneUHFFreqModeDialMNL 1222
+iCommandADI_ZeroPitchTrimLeft 771
+iCommandViewAWACSDistanceX1 2070
+iCommandPlaneFSRightWingBoostPump 1084
+iCommand_FireExting_ExtinguishersToDown 925
+iCommandViewUpLeftFast 1854
+iCommandGRangefinderCombatRangeReset 1761
+iCommandLeftEngineFuelValveShutOff 722
+iCommandVehicle_FireSecondary 1658
+iCommandMainHydraulics 736
+iCommandKeyMaximum 2645
+iCommandPlane_HARS_LAT_Correction_Increase 1447
+iCommandToggleCommandMenu 179
+iCommandPlane_HOTAS_ChinaHatOff 589
+iCommandUpPilon 3
+iCommandPlaneFSQuantityIndicatorSelectorEXTCTR 1096
+iCommandGroundPowerDC_Cover 705
+iCommandPlaneSAUHRadio 60
+iCommandPlaneModeBore 108
+iCommandPlaneRightMFD_OSB12 683
+iCommandEjectingSystemPower1Cover 731
+iCommandPlaneIntercomUHFDecrease 1170
+iCommandViewAWACSJump 432
+iCommandPlaneAHCPCICUOnOff 1389
+iCommandPlaneCMSC_BRT_DEC 1349
+iCommandPlaneLeftMFD_OSB19 660
+iCommandPlane_I251_Brightness_Down 843
+iCommandPlaneLeftMFD_SYM_Stop 1006
+iCommandViewDownLeftSlow 212
+iCommandPlaneFloodLightsDecrease 1370
+iCommandElectricalPowerInverterTEST 1076
+iCommandVehicle_AmmoMaintainInterrupt 1643
+iCommandVehicle_LLTV 1679
+iCommandPlaneCDU_7 1248
+iCommandPlaneLeftMFD_OSB20 661
+iCommandRotateMinus 2
+iCommandVoIPRadioPushToTalkEnableDisableVoice_3 1756
+iCommandPlaneCMSP_DISP_ON 1341
+iCommandRotateTurretDownReleased 1657
+iCommandPlaneTrimLeft 93
+iCommandPlane_HOTAS_SpeedBrakeSwitchCenter 579
+iCommandPlane_K041_Power 525
+iCommandThrottleDecrease 1033
+iCommandPlaneAHCPGUNSafe 1378
+iCommandPlaneIntercomAIMIncrease 1174
+iCommandGSelectFeedSlot2 1623
+iCommandPlaneNav_INU_normal_align_off 873
+iCommandPlaneDLK_Target3 445
+iCommand_AGR_axis_right 935
+iCommandPlaneLeftMFD_OSB12 653
+iCommandPlaneLeftMFD_BRT_Stop 1004
+iCommandPlane_L_ENG_OPER_Ign 1057
+iCommandPlane_VHF_AM_Tone 1491
+iCommandPlane_AirborneTarget_up 797
+iCommandPlaneAutopilotOverrideOn 427
+iCommandPlaneNMSP_TCN 1404
+iCommandPlaneRightMFD_DSP_Decrease 695
+iCommandRoleCoalitionUpdated 2115
+iCommandPlaneModeBVR 106
+iCommandPlane_ADF_Receiver_Mode_change 585
+iCommandPlane_R_800_Test_up 793
+iCommandViewSnapView7 403
+iCommandPlane_R_ENG_OPER_Norm 1061
+iCommandPlane_LaserCode_Next 847
+iCommandViewAWACSGoBackFireButton 1831
+iCommandPlaneRightMFD_OSB1 672
+iCommandViewCameraAltDownLeftSlow 1789
+iCommandPlane_VHF_FM_Squelch 1468
+iHeadTrackerPosYNormed 2602
+iCommandPlaneCMSC_MWS 1348
+iCommandPlaneFSQuantityIndicatorSelectorEXTWING 1095
+iCommandPlane_HOTAS_CMS_Left 558
+iCommandNetCrewRequestControl 1672
+iCommandPilotSeatAdjustmentDown 1666
+iCommandHSI_Test_up 769
+iCommandPlaneCDU_2 1243
+iCommandPlaneCircuitBreaker_10 1124
+iCommandPlaneRightMFD_OSB8 679
+iCommandViewBtn3Up 1600
+iCommandEasyRadarOnOff 271
+iCommandPlaneMasterCautionOff 379
+iCommandVehicle_IR 1678
+iCommandPlaneCMSP_RTN 1330
+iCommandHelicopter_Right_Engine_Lock 601
+iCommandPlaneAHCPLaserSafe 1381
+iCommand_AGR_axis_left 934
+iCommandPlaneLeftMFD_OSB3_Off 984
+iCommandPlane_HOTAS_DataManagementSwitchOff 553
+iCommandSelecterDownLeft 228
+iCommandRotorRPMHigh 763
+iCommandPlaneAUTDecreaseRight 164
+iCommandInfoTextOnOff 153
+iCommandPlane_R_800_Power_on_off 621
+iCommandPlaneUHFPanelCover 1227
+iCommandViewRightMirrorOff 126
+iCommandViewRight 29
+iCommandPlaneDLK_Wingman2 448
+ICommandMenuItem10 975
+iCommandPlaneUnlockPadlock 330
+iCommandDynamicRadioPowerChangeNext 1747
+iCommandViewLaserCodeChanged 2137
+iCommandViewAWACSUpdateWOInfoLow 2106
+iCommandViewFightGround 341
+iCommandPlaneSASTakeOffTrim 1160
+iCommandHelicopter_Selected_Engine_interrupt_start 597
+iCommandPlane_CallHelpWindow 852
+iCommandPlaneEmerFlightControl 1114
+iCommandPlaneRightMFD_OSB15 686
+iCommandPlaneRefuelingReadyPreContact 1760
+iCommandPlane_TACAN_Mode_AAREC 1428
+iCommandPlane_ABRIS_Axis_Push 503
+iCommandCockpitVirtualAxis 2074
+iServiceInformAboutUserVAngle 2143
+iCommandPlane_HOTAS_ChinaHatAft 567
+iCommandPlaneTrimRoll 2020
+iCommandSelecterUpLeft 229
+iCommandPlaneIntercomIFFPress 1178
+iCommandViewCameraToHorizont 1845
+iCommandPlaneCDU_LSK_7L 1230
+iCommandPlane_Oxygen_100Oxygen 1507
+iCommandViewLndgOfficer 131
+iCommandPlaneNav_PB9_off 867
+iCommandPlaneModeVS 107
+iCommand_UV26_BITCover 898
+iCommandPlane_HARS_HDG_Decrease 1453
+iCommandPlane_R_828_ASU 625
+iCommand_UILayer_end 2600
+iCommandThrottle1Increase 1035
+iCommandViewLeft 28
+iCommandPlaneTrimRollAbs 2023
+iCommandViewLeftStop 1850
+iCommandRepKeyBegin 4000
+iCommandViewLeftMirrorOff 128
+iCommandPlaneCDU_V 1275
+iCommandPlane_P_51_WarEmergencyPower 1601
+iCommandPlane_AAP_CDU_Power 1414
+iCommandPlaneCircuitBreaker_9 1123
+iCommandPowerGeneratorLeft 711
+ICommandToggleConsole 981
+ICommandMenuItem1 966
+iCommandPlanePackWing 70
+iCommandGSelectFeedSlot1 1622
+ignore_features function: 000001A87FFC50B0
+iCommandPlaneJoinUp 117
+iCommand_EjectInterface_Circuit_Test 903
+iCommandPlaneNav_Wind 481
+iCommandViewCameraHeightUpFast 1838
+iCommandPlaneNav_PB0_off 858
+iCommandViewClipboardToCamera 1699
+iCommandPlaneLeftMFD_OSB11_Off 992
+iCommandPlaneLeftMFD_BRT_Decrease 667
+iCommandPlane_ILS_KHz_Increase 1442
+iCommandPlane_AAP_SteerPt_MARK 1421
+iCommandPlaneChangeWeapon 101
+iCommand_PVI_BRIGHTNESS_LEVER_down 920
+iCommandPlaneStabTangBank 386
+iHeadTrackerRollNormed 2146
+iCommandViewAir 8
+iCommandPlaneTrimOn 957
+iCommandGGroupModeOff 1583
+iCommandPlane_SpotLight_right 512
+iCommandVehicleElevationCorrectionUp 1645
+iCommandPlane_APU_Off 1056
+iCommandPlaneModeHelmet 109
+iCommandPlane_VHF_FM_FreqMode_OFF 1465
+iCommandPlaneLeftMFD_DSP_Stop 1003
+iCommandViewSnapView3 399
+iCommandMechClock_LeftLever_TurnRight 756
+ICommandMenuItem9 974
+iCommandPlane_HOTAS_CoolieOff 543
+iCommandPlane_R_800_3rd_wheel_down 612
+iCommandPlaneCircuitBreaker_13 1127
+defaultDeviceAssignmentFor function: 000001A20A4304A0
+ICommandSwitchDialog 979
+iCommandPlaneLeftMFD_OSB4 645
+iCommandGStartStopTracking 1662
+iCommandViewDownRightFast 1857
+iCommandPlaneJettisonFuelTanksUp 170
+iCommandBatteryPower 1073
+iCommandPlane_VHF_FM_Tone 1469
+iCommandPlaneUHFFunctionDialBOTH 1220
+iCommandPlaneLeftMFD_ADJ_Decrease 663
+iCommandPlaneZoomView 2009
+iCommandViewPitCameraMoveCenter 491
+iCommand_AGR_Test 932
+iCommandViewCameraUpSlow 47
+iCommandPlaneUHFFreqModeDialPRESET 1223
+iCommandToggleMirrors 1625
+iCommandPlane_Altimeter_CENTER 1413
+iCommandRotateTurretUpReleased 1656
+iCommandPlaneEject 83
+iCommandPlane_VHF_FM_10MHz_Dec 1473
+iCommandPlaneNightVisionLTSALL 1195
+iCommandPlaneCDU_T 1273
+iCommandPlaneAirBrakeOn 147
+iCommandViewRightMirrorOn 125
+iCommandPlane_TACAN_Test 1437
+iCommandPlaneCMSP_JTSN 1331
+iCommandPlaneFSRightMainBoostPump 1088
+iCommandPlaneUpStart 193
+iCommandViewLongitudeTrans 2052
+iCommandPlaneUFC_6 1300
+iCommandPlane_VHF_AM_025MHz_Dec 1501
+iCommandPlaneAHCPAltSCERadar 1386
+iCommandPlaneNav_PB4_off 862
+iCommandPlaneCMSP_RWR_MENU 1338
+iCommandHelicopter_PPR_button_K_up 301
+iCommandPlaneTrimDown 96
+iCommandPlaneCobra 121
+iCommandPlaneNightVisionLTSOFF 1196
+iCommand_C061K_heat 901
+iCommandViewAWACSKeyKey 2121
+iCommandPlane_Env_WindshieldWash 1514
+iCommandPlaneIntercomVHFPress 1169
+iCommandFuelExternalPumpsTanksInner 719
+iCommandVROrientationMatrix_ZZ 2161
+iCommandViewSnapView0 396
+iCommandPlane_R_800_1st_wheel_down 608
+iCommandPlaneRightMFD_ADJ_Stop 1027
+iCommandViewCameraAltitude 2043
+iCommandBrightnessILS 156
+iCommandViewForwardSlowStop 289
+iCommandPlane_HOTAS_DataManagementSwitchLeft 551
+iCommandPlaneDLK_None 945
+iCommandPlane_TACAN_Mode_AATR 1429
+iCommandPlaneCircuitBreaker_38 1152
+iCommandVoIPRadioPushToTalkEnableDisableVoice_2 1755
+iCommandPlane_HOTAS_PinkySwitchForward 568
+iCommandJFOMarkerAzimuth 2634
+iCommandViewSaveAngles4 239
+iCommandPlaneRoll 2002
+iCommandEmergencyGearCover 751
+iCommandBKOMode 761
+iCommandPlaneRightMFD_OSB1_Off 1007
+iCommandPlaneUHFStatus 1214
+iCommandPlaneRightMFD_OSB11_Off 1017
+iCommandViewUp 30
+iCommandPlane_DescentMode 507
+iCommandPlane_HOTAS_TDC_depress_on 634
+iCommandPlaneIntercomHM 1187
+iCommandAntiGSuitTest 1546
+iCommandMechClock_RightLever_Rotate_right 760
+iCommandViewIRPointerOnOff 415
+iCommandGZoomInToggle 1836
+iCommandArmGroundSafetyCover 1541
+iCommandViewSwitchReverse 180
+iCommandDecreaseRadarScanArea 262
+iCommandPlaneDLK_RefPoint 446
+iCommandPilotSeatAdjustmentUp 1665
+iCommandPlane_R_800_1st_wheel_up 607
+iCommandPlaneAttackMyTarget 118
+iCommandPlane_Oxygen_Ind_Test 1508
+iCommandPlaneTrimRudderAbs 2024
+iCommandPlane_P_51_PTT_on 1591
+iCommand_IlluminationInterf_Control_Panel_Illumination 894
+iCommandPlaneWheelBrakeLeftOn 961
+iCommandElectronicControlSystemLeftEngine 741
+iCommand_FireExting_Discharge_Left 1407
+iCommandViewRearm 1754
+iCommand_Ground_IFF_Down 1660
+iCommandEGI_HQ_TOD 1556
+iCommandViewInfoControlPanelOnOff 1636
+iCommandPlaneThrustLeftDelta 2017
+iCommandPitotAoAHeat 910
+iCommandPlane_R_828_Power_on_off 628
+iCommandGGroupModeOn 1582
+iCommandPlane_VHF_FM_Load 1470
+iCommandPlaneDoAndBack 115
+iCommandViewRoll 2046
+iCommandQuit 51
+iCommandPlane_DescentModeOff 508
+iCommandPlaneAHCPIFFCCOn 1391
+iCommandPlaneUHF100MhzSelector1 1201
+ICommandMenuExit 978
+iCommandPlaneKneeboardJumpBookmark 2620
+iCommandPlane_HOTAS_CoolieRight 542
+iCommandViewAWACSDistanceX2 2072
+iCommandCockpitSecondClickOn 433
+iCommandCanopyJettison 1548
+iCommandIFF_Power 738
+iCommandPlaneUFC_2 1296
+iCommandPlaneLeftMFD_OSB6 647
+iCommandCockpitShowPilotOnOff 835
+iCommandIR_LevelUp 1803
+iCommandPlaneNav_PB5 464
+iCommandViewSmoke3 1046
+iCommandRightEngineFuelValveShutOffCover 725
+iCommandPlaneUFC_8 1302
+iCommandPlaneCDU_W 1276
+iCommandScreenShot 257
+iCommandPlaneJump 192
+iCommandHelicopterHover 537
+iCommandPlaneRightMFD_OSB15_Off 1021
+iCommandPlaneCDU_OSET 1239
+iCommandViewAWACSFireMissionButton 1822
+iCommandPlaneBettyRepeat 254
+iCommandPlane_R_800_4th_wheel_down 614
+iCommandPlaneRadarLeft 88
+iCommandViewUpLeftStop 1858
+iCommandPlane_HOTAS_CMS_Off 560
+iCommandPlane_Env_AirConditioner_AUTO 1522
+iCommandViewCameraStop 1706
+iCommandRollForward 251
+iCommandPlaneUHFFunctionDialMAIN 1219
+iCommandPlaneRightMFD_ADJ_Increase 692
+iCommandPlaneDesignate_CageOff 440
+iCommandViewKeyLCtrlDStop 1821
+iCommandPlane_TACAN_Mode_TR 1427
+iCommandGAcceleratorAndBrake 1663
+iCommandElectricalPowerInverterSTBY 1074
+iCommandIFFAntennaUpper 1550
+iCommandPlaneDLK_SendMemory_up 791
+iCommandPlaneNoseIllum 1363
+iCommandPlane_ShowControls 851
+iCommandPlaneNav_Steerpoints_off 868
+iCommandPlane_VHF_FM_025MHz_Dec 1479
+iCommandPlaneEmerPitchRollTrim 1101
+iCommandPlaneCDU_PREV 1241
+iCommandViewAWACSApplyTargetPointer 2078
+iCommandViewAWACSInfoTargetButton 2079
+iCommandPlaneLeftMFD_OSB9_Off 990
+filename ./Config/Input/Aircrafts/Default/keyboard/default.lua
+iCommandDVADRFunctionOff 1543
+iCommandPlaneCMSP_MODE_MAN 1344
+iCommandViewCameraDownRight 345
+iCommandPlaneRightMFD_OSB11 682
+iCommandViewCameraUpLeft 342
+iCommandPlane_HARS_LAT_Correction_Decrease 1446
+iCommandViewCameraRoll 2617
+iCommandIFF_PowerCover 739
+iCommandPlaneAUTDecreaseRegime 67
+iCommandPlaneRadarRight 89
+iCommandMechClock_RightLever_Down_up 758
+iCommandPlaneLeftMFD_OSB18_Off 999
+iCommandRollBack 250
+iCommandClipboardToCockpit 1863
+iCommand_ZMS_3_MagVarRotaryRight 949
+iCommandHSI_SteeringSelection 770
+iCommandPlaneCircuitBreaker_11 1125
+iCommandPointOfViewUpLeft 223
+iCommandAutopilotEmergOFF 538
+iCommandHelicopterRightEngineBrake_ByAxis 2099
+iCommandPlaneCMDChangeRippleQuantity 368
+iCommandPlaneStabHbarBank 387
+iCommandPlaneAHCPMasterTrain 1376
+iCommandPlaneRightMFD_OSB2 673
+iCommandThrottle2Decrease 1039
+iCommandPlaneFireDetectBleedAirTest 1198
+iCommandPlaneIntercomILSPress 1181
+iCommand_FireExting_LeftEngineExting 921
+iCommandPlaneEmerElevatorDisengageOff 1111
+iCommandHelicopter_SelectWeapon_Internal 824
+iCommandPlaneStabHbarHeading 636
+iCommandflushTaxiData 1687
+iCommandCockpitClickOn 361
+iCommandViewAWACSInfoPathButton 2104
+iCommandPlane_ADF_Mode_change 583
+iCommandViewFastMouse 321
+iCommandPlaneCircuitBreaker_18 1132
+iCommandPlaneSASMonitorTestRight 1159
+iCommandPlaneSelecterHorizontalAbs 2033
+iCommandPlane_VHF_FM_Volume_Inc 1460
+iCommandHelicopter_PPR_button_DIR 594
+iCommandViewSlowMouse 322
+iCommandViewAWACSTargetRadiusSet 2136
+iCommandPlaneRightMFD_DSP_Stop 1028
+iCommandViewZoomAbs 2012
+iCommandPointOfViewLeft 222
+iCommandPlaneUFC_DEPR_DOWN 1321
+iCommandPlaneUFC_0 1304
+iCommandPlane_HOTAS_BoatSwitchCenter 565
+iCommandPlaneCircuitBreaker_36 1150
+iCommandViewWeaponAndTarget 135
+iCommandViewNormalMouse 323
+iCommandHelicopter_SelectWeapon_ALL 826
+iCommand_FireExting_RightEngineExting 923
+iCommandPlane_R_ENG_OPER_Motor 1062
+iCommandPlaneCDU_FPM 1240
+iCommandSelecterUpRight 226
+iCommandPlaneRightMFD_OSB17 688
+iCommandExtLadderRelease 1540
+iCommandPlaneCircuitBreaker_6 1120
+iCommandPlaneWheelBrakeLeftOff 962
+iCommandPlaneCDU_Z 1279
+iCommandPlaneRightMFD_OSB6 677
+iCommandViewRightFast 1847
+iCommandADI_Test 773
+iCommandPlaneIntercomHF 1191
+iCommandPlane_EngageGroundTargets 523
+iCommandDynamicRadioEncryptionOnOff 1746
+iCommandLampsControl 762
+iCommandPlaneLeftMFD_OSB14_Off 995
+iCommandPlaneHook 69
+iCommandViewCameraUpLeftSlow 353
+iCommandPlaneUHF0025MhzSelectorDec 1212
+iCommandPlaneRightMFD_OSB4 675
+iCommandViewAWACSLastZoomX2 2059
+iCommandPlaneUFC_DEPR_UP 1320
+iCommandPlaneLeftMFD_ADJ_Stop 1002
+iCommandPlane_HOTAS_SpeedBrakeSwitchForward 577
+iCommandPlaneGearUp 430
+iCommandDynamicRadioChannelDecrease 1744
+iCommandTacticalCargoUnhook 1668
+iCommandVehicleElevationCorrectionDown 1646
+iCommand_ZMS_3_MagVarRotaryLeft 950
+iCommandPlaneEmerSpeedBrakeRetract 1100
+iCommand_TDC_AbsolutePositionHorizontal 2130
+iCommandPlane_VHF_AM_FreqMode_OFF 1487
+iCommandViewPlus 22
+iCommand_ExplorationCansel 1618
+iCommandViewAWACSOutOfFocus 437
+iCommandViewSnapView8 404
+iCommandPlaneCMSP_JMR_ON 1337
+iCommandViewBtn3Down 1599
+iCommandViewSpeedUp 159
+iCommand_IlluminationInterf_Cockpit_Night_Illumination_brightness_up 936
+iCommandIFFAntennaBoth 1551
+iCommandRightEngineStart 312
+iCommandViewNavy 13
+iCommandPlaneRightMFD_OSB14 685
+iCommandPlaneNav_THeadingTimeRangeF 482
+iCommandPlaneLaserRangerOnOff 392
+iCommandViewCameraDown 44
+iCommand_AGR_Power 889
+iCommandPlaneRightStart 199
+iCommandViewAWACSDetectionAreas 2067
+iCommandPlaneUp 187
+iCommandPlaneCDU_BLANC_R 1292
+iCommandViewForward 37
+iCommandFreezeActionSystem 293
+iCommandViewLightBeaconToTarget 418
+iCommandPlane_ABRIS_Axis_Push_up 812
+iCommandVROrientationMatrix_YZ 2158
+iCommandViewCameraHeightDown 1841
+iCommandViewObject 1708
+iCommandHUDBrightnessUp 746
+iHeadTrackerPosReset 216
+iCommandPlane_ABRIS_Brightness_Decrease 505
+iCommandPlaneNav_PB4 463
+iCommandPlaneLeftMFD_BRT_Increase 666
+iCommandViewLocal 190
+iCommandPlaneCMSP_MODE_SEMI 1345
+iCommandPlaneSAUAutomatic 58
+iCommandViewSaveAngles7 242
+iCommandVehicleElevationCorrectionUpSlow 1690
+iCommandAutoLockOnPreviousSurfaceTarget 279
+iCommandPlane_GroundMovingTarget_up 796
+iCommand_VMS_ALMAZ_UP_EmergencyOn 913
+iCommandPlaneRightMFD_OSB5_Off 1011
+iCommandViewSaveAngles9 244
+iCommandPlaneCMSP_DISP_MENU 1340
+iCommandSelecterUp 141
+iCommandPlaneNav_DLK_OnOff 458
+iCommand_FireExting_APUExting 922
+iCommandMechClock_RightLever_Down 757
+iCommandViewCameraWorldAxes 1727
+iCommandViewKeepTerrain 395
+iCommandViewCameraAltDown 1770
+iCommandPlane_Env_WindshieldRainRemove 1512
+iCommandEngineLaunchMethod 838
+iCommandViewAWACSTargetXChanged 2128
+iCommandOneFrame 54
+iCommandPlane_Env_TempLevel_Increase 1526
+iCommandViewVertStop 296
+iCommandPlaneIntercomIFFIncrease 1177
+iCommandPlane_VHF_AM_1MHz_Dec 1497
+iCommandPlaneNav_INU_realign 470
+iCommandPlaneRightMFD_OSB10_Off 1016
+iCommandViewChaseArcade 383
+iCommandDynamicRadioBalanceRight 1752
+iCommandPlaneCDU_J 1263
+iCommandPlaneIntercomVHF 1189
+iCommandPlaneIntercomINT 1188
+iCommandPlaneCMSP_RWR_ON 1339
+iCommandPlaneRightMFD_OSB20 691
+iCommand_LASTE_from_ALT_to_ALTHDG 1563
+iCommandPlaneLeftMFD_OSB16_Off 997
+iCommandPlaneUFC_STEER_UP 1314
+iCommandPlaneLeftMFD_OSB11 652
+iCommandPlaneUHFFunctionDialADF 1221
+iCommandPlaneDropSnar 77
+iCommandPlane_R_800_Noise_Reductor_on_off 615
+iCommandHelicopter_Engine_Select 599
+iCommandEmergencyFlood 1072
+iCommandPlaneCDU_CLR 1285
+iCommandViewBack 38
+iCommandPlane_VHF_FM_FreqMode_DN 1467
+iCommandHelicopter_PPR_button_H 591
+iCommandPlaneLGPDownlockOverride 1395
+iCommandPlaneCDU_SYS 1236
+iCommandViewCameraAltStopSlow 1791
+iCommandPlane_ABRIS_BT_3_up 807
+iCommandPlaneCircuitBreaker_4 1118
+iCommandViewDownLeftStop 1860
+iCommandAccelReset 884
+iCommandSeatArmHandle 1533
+iCommandPlaneGearDown 431
+iCommandPlaneCDU_LSK_9R 1235
+iCommandViewCameraAltBackSlow 1794
+iCommandPlaneRightMFD_BRTMODE_NIGHT 1531
+iCommandPlaneAirBrake 73
+iCommandPlaneUFC_DATA_UP 1316
+iCommandExtCargoHook 1633
+iCommandViewRouteEnd 1802
+iCommandViewIR 425
+iCommandPlaneSASMonitorTestOff 1158
+iCommandViewCameraAltLeft 1771
+iCommandViewWeapons 149
+iCommandPlaneCDU_BLANC_L 1291
+iCommandPlaneRefuelStatusIndLTSIncrease 1193
+iCommandPlaneRightMFD_OSB_OFF 703
+iCommandSwitchMasterArm 283
+iCommandPlane_HOTAS_TargetManagementSwitchOff 548
+iHeadTrackerSpyglassZoomToggle 2605
+iCommandPlane_AmmoTypeSelect 534
+iCommandEasyRadarScaleOut 837
+iCommandPlaneNav_PB9 468
+iCommandAutoLockOnPreviousAircraft 275
+iCommandViewPitCameraMoveBack 489
+iCommandPlaneCMDCancelCurrentProgram 374
+iCommandIncRespawn 1709
+iCommandPlaneDLK_None_up 946
+iCommandPlaneUFC_MASTER_WARNING 1313
+iCommandPlane_HOTAS_CoolieUp 539
+iCommandPlaneUFC_ALT 1312
+iCommandPlane_TACAN_Chanel_Ones_Decrease 1432
+iCommandPlaneNav_PB0 459
+iCommandIR_GainDown 1806
+iCommandPlaneNav_BearingRangeT 483
+iCommandVoiceChatPushToTalkEnableVoice 1695
+iCommandPlaneScalesReject 253
+iHeadTrackerYawNormed 2144
+iCommandGChangeSpeedH 1578
+iCommandSelecterRight 140
+iCommandPlaneNav_SelfCoord_off 878
+iCommandToggleReceiveMode 1626
+iCommandViewBRSetCameraCustomPosition 2632
+iCommandPlaneParachute 76
+iCommandMechClock_RightLever_Rotate_left 759
+iCommandViewCameraHeightDownFast 1842
+iCommandPlaneEmerTrimNeutral 1106
+iCommandDebriefing 1537
+iCommandViewUpSlow 34
+iCommandViewUpRightFast 1855
+iCommandPlanePickleOn 350
+iCommandPlaneFireOff 85
+iCommandPlaneAUTDecreaseRegimeLeft 166
+iCommandPlaneRadarCenter 92
+iCommandPlane_VHF_FM_Mode_EMERFM 1461
+iCommandPlaneNightVisionLTSTCP 1194
+iCommand_FireDetectorsTest2ndGroup 955
+iCommandViewNormalKeyboard 333
+iCommandRotateTurretLeftPressed 1637
+iCommandPlaneIntercomFM 1190
+iCommandRecordSubtitleOn 324
+iCommand_IlluminationInterf_Panels_Illumination_brightness_up 938
+iCommandViewSetViewAngle 2639
+iCommandAPUFuelValveShutOff 726
+iCommandPlaneCockpitIlluminationGauges 494
+iCommandPlaneLeftMFD_OSB8 649
+iCommandPlaneThreatWarnSoundVolumeDown 409
+iCommandPlaneIntercomUHFIncrease 1171
+iCommandViewNeutrals 25
+iCommandGRangefinderOff 1631
+iCommandHelicopter_TC_RPM 820
+iCommand_IlluminationInterf_ADI_AHR_Illumination_brightness_up 940
+iCommandPlane_R_800_ADF_Sound_switch 618
+iCommandPlaneCMDChangeRippleIntervalOff 371
+iCommandPlaneCDU_PGUP 1289
+iCommandPlaneRightMFD_ADJ_Decrease 693
+iCommandPlane_GroundMovingTarget 527
+iCommandPlaneFSLeftMainBoostPump 1087
+iCommandViewPitCameraMoveUp 484
+iCommandHelicopter_SignalFlares_RED 830
+iCommandPlaneUHFTestDisplay 1213
+iCommandNaturalViewCockpitOut 130
+iCommandPlaneCMSP_BRT_DEC 1332
+iCommandPlane_HOTAS_TriggerSecondStage 554
+iCommandPlaneAUTUnlockRight 173
+iCommandPlaneNav_CourseTimeRange_off 879
+iCommand_FireExting_Signals 927
+iCommand_ENG_INTERF_Right_Engine_RT_12_6 904
+iCommandPlaneAUTUnlockLeft 172
+iCommand_AGR_Oriet 933
+iCommandViewCameraDownSlow 48
+iCommandPlaneIntercomFMIncrease 1165
+iCommandPlaneRightMFD_OSB17_Off 1023
+iCommandPlaneWingtipSmokeOnOff 78
+iCommandViewCameraToClipboard 1698
+iCommandPlaneAUTIncreaseRegime 66
+iCommandPlaneCMSP_MODE_OFF 1342
+iCommandViewAWACSObjectIdHigh 2045
+iCommandPlane_ILS_MHz_Decrease 1439
+iCommandPlaneSelecterHorizontal 2031
+iCommandJFOBinoRoll 2638
+iCommandPlane_R_828_Channel_prevous 623
+iCommandViewMe 21
+iCommandViewCameraAltForwardSlow 1792
+iCommandServiceCockpitLockPlayerSeat 2164
+iCommandPlaneCDU_6 1247
+iCommandPlane_VHF_FM_01MHz_Dec 1477
+iCommandPlaneRightMFD_OSB10 681
+iCommandPlaneModeCannon 113
+iCommandPlaneNav_BearingRangeT_off 882
+iCommandViewAWACSZoomOut 2064
+iCommandPlaneAUTIncrease 64
+iCommand_LWS_BIT_On 893
+iCommandIFFAntennaLower 1552
+iCommandViewCameraMoveHorizontal 1723
+iCommandGRangefinderOn 1630
+external_profile function: 000001A20A430C20
+iCommandPlaneAHCPIFFCCOff 1393
+iCommandViewRouteSpeed 2626
+iCommandControlPanelIllumination 814
+iCommand_UV26_PowerCover 896
+iCommandAutoLockOnNextAircraft 274
+iCommandDriverView 1661
+iCommandPlaneUHFLoad 1215
+iCommandPlaneCDU_LSK_7R 1234
+iCommandViewKeyAStop 1812
+iCommandPlanePositionLightsFlash 1356
+iCommandViewDown 31
+iCommandPlaneLeftMFD_BRTMODE_OFF 1527
+iCommandPlaneCDU_SLASH 1253
+iCommandViewTempCockpitToggle 237
+iCommandViewAWACSSetEngageAirWeapons 1682
+iCommandPlane_FireRate 535
+iCommandPlaneIntercomVHFIncrease 1168
+iCommandCockpitClickModeOnOff 363
+iCommandPlaneIntercomINTIncrease 1162
+iCommandViewLocomotivesToggle 348
+iCommandPlane_HARS_MagneticVar_Null 1450
+iCommandPlaneCMSP_MWS_MENU 1334
+iCommandViewCameraPz 2614
+iCommandPlane_L_ENG_OPER_Motor 1059
+iCommandPlane_Env_TempPress_NORM 1516
+iCommandAutoLockOnNextSurfaceTarget 278
+iCommandViewSnapView6 402
+iCommandSensorReset 1635
+iCommandPlaneModeNAV 105
+iCommandPlaneCMSC_BRT_INC 1350
+iCommandPlaneCDU_PLUS 1293
+iCommandPlaneYawSASEngageR 1154
+iCommandPlane_ABRIS_BT_4_up 808
+iCommandViewAWACSLastZoomY1 2060
+iCommandElectricalPowerInverter 713
+iCommandPlaneFSLeftWingBoostPump 1083
+iCommandPlane_TACAN_Chanel_Tens_Decrease 1434
+iCommandViewDownRight 206
+iCommandPlaneRadarVertical 2026
+iCommandPlaneSAUHBarometric 59
+iCommandVehicleRangeDecrease 1767
+iCommandBdaShowCursor 1688
+iCommandViewSaveAngles8 243
+iCommandViewCameraBaseReturn 352
+iCommandPlaneEngInstLightsDecrease 1361
+iCommandPlane_Env_TempPress_DUMP 1517
+iCommandPlaneNav_PB8_off 866
+iCommandHelicopter_Selected_Engine_start 596
+iCommandViewHorStop 295
+iCommandPlane_ABRIS_Axis_Increase_up 810
+iCommandPlane_ReadjustFreeTurbineRPM_Up 853
+iCommandPlaneHarsSasNormOverride 1197
+iCommandViewAtGround 1724
+iCommandGEmissionToggle 1624
+iCommandViewKeyLShiftAStop 1816
+iCommandPlaneRadarHorizontalAbs 2027
+iCommandPlane_HOTAS_TargetManagementSwitchUp 544
+iCommandPlane_HOTAS_MasterModeControlButton 561
+iCommandClockElapsedTimeReset 1629
+iCommandElectronicControlSystemLeftEngineCover 742
+iCommandPlaneTrimRudder 2021
+iCommandPlaneCMSP_MODE_STBY 1343
+iCommandPlaneNav_PB6_off 864
+iCommandDynamicRadioBalanceLeft 1751
+iCommandRecoverHuman 327
+iCommandPlane_WeaponMode_Manual_Auto 532
+iCommandPlaneDLK_Erase_up 789
+iCommandPlaneCircuitBreaker_2 1116
+iCommandViewLeftFast 1846
+iCommandJFOBinoAzimuth 2636
+iCommandServiceCockpitPopActor 2163
+iCommandDatalinkUHF_TLK 715
+iCommandPlaneLeftMFD_OSB1 642
+iCommandViewCameraLeftSlow 45
+iCommandPlaneNav_Cancel_off 876
+iCommandPlane_SpotSelect_switch 517
+iCommandPlaneAHCPTGPOnOff 1383
+iCommandPlane_VHF_FM_10MHz_Inc 1474
+iCommandPlaneLeftMFD_CON_Stop 1005
+iCommandPlaneLeftMFD_SYM_Up 670
+iCommandPlaneCancelWeaponsDelivery_up 799
+iCommand_FireExting_ReservoirsCover 929
+iCommandPlaneImmortal 169
+iCommandPlaneConsoleLightsDecrease 1372
+iCommandEnginesStop 310
+iCommandPlane_HOTAS_TargetManagementSwitchRight 547
+iCommandPlaneUHF100MhzSelector3 1203
+iCommandPlaneStabHbar 389
+iCommandPlaneNav_POS_corrMode_off 870
+iCommandPlaneCDU_A 1254
+iCommandViewAWACSTargetUnits 2085
+iCommandViewBtn1Up 1596
+iCommandViewExternalZoomOutStop 337
+iCommandPlaneAHCPLaserTrain 1382
+iCommandRightWheelBrake 2113
+iCommandPlaneDLK_Wingman2_up 785
+iCommandPlaneRightMFD_OSB7 678
+iCommandPlaneRightMFD_CON_Increase 698
+iCommandThrottleIncrease 1032
+iCommandPlaneSignalLTS 1366
+iCommandPlane_HOTAS_CMS_Up 556
+iCommandViewStop 209
+iCommandViewEnemies 24
+iCommandPlane_R_800_2nd_wheel_up 609
+iCommandTrainingUserRespondedBack 1628
+iCommandPlaneWheelBrakeOn 74
+iCommandPlaneEmerTrimNoseDn 1102
+iCommandViewLaserOnOff 411
+iCommandPlaneDown 186
+iCommandPilotGestureReadyToTaxi 1864
+iCommandViewWASDInputLayer 1721
+iCommandViewAWACSMapEventFlags 2119
+iCommandViewAWACSProcessMTOFireMissionButton 1825
+iCommandPlaneUFC_SEL_UP 1318
+iCommandViewAirdromeRoom 1833
+iCommandPlane_ILS_Volume_Decrease 1443
+iCommandThrottle2Increase 1038
+iCommandPlane_I251_Background_WhiteBlack 846
+iCommandPlane_TACAN_Mode_Off 1425
+iCommandPlaneRouteAutopilot 429
+iCommandViewSlowDown 160
+iCommandPlane_P_51_PTT_off 1592
+iCommandInfoOnOff 152
+iCommandPlane_VHF_AM_Preset_Dec 1493
+iCommandGFireStop 1575
+iCommandPlane_SpotLight_hor_stop 380
+iCommandPlaneCoverMySix 119
+iCommandViewCameraHeightUpSlow 1839
+iCommandAutoLockOnNearestSurfaceTarget 276
+iCommandDynamicRadioVolumeDown 1750
+iCommandInfoDataOnOff 154
+iCommandPlaneAutopilot 62
+iCommandRightEngineStop 314
+iCommandPlaneNMSP_HARS 1399
+iCommandPlaneCircuitBreaker_3 1117
+iCommandPlaneYawSASEngageL 1153
+iCommandPlaneStabCancel 408
+iCommandVehicle_IR_ON 1834
+iCommandPlane_ADF_Test 588
+iCommandViewPauseMode 2619
+iCommandPlane_Oxygen_Emergency 1503
+iCommandHelicopter_Engine_Launch_method 817
+iCommandPlane_ReadjustFreeTurbineRPM_Down 854
+iCommandViewCameraDownLeft 344
+iCommandPlane_ABRIS_BT_5 500
+iCommandPlaneCDU_G 1260
+iCommandTrkEsc 55
+iCommandPlane_AutomaticTurn 526
+iCommandEjectingSystemPower3 733
+iCommandPlane_ABRIS_Axis_Increase 501
+iCommandSelecterDown 142
+iCommandPlaneCircuitBreaker_7 1121
+iCommandViewMainMenuBar 1705
+iCommandPlane_R_800_50_100_switch 617
+iCommandPlane_ABRIS_BT_2_up 806
+iCommandPlaneNav_Airfields_off 872
+iCommandHSI_Test 768
+iCommandPlaneAHCPGUNPACArm 1377
+iCommandPlane_HOTAS_LeftThrottleButton 571
+iCommandPlane_AAP_SteerSw_Down 1424
+iCommandPlane_VHF_AM_01MHz_Inc 1500
+iCommandPlaneRadarChangeMode 285
+iCommandDebugAxis4 2091
+iCommandReloadShaders 1644
+iCommandPlaneNav_Cancel 477
+iCommandPlaneLeftMFD_OSB9 650
+iCommandRefusalTWS 143
+iCommandPlaneEmerTrimRWingDn 1104
+iCommandPowerOnOff 315
+iCommandPlane_R_800_4th_wheel_up 613
+iCommandVehicleAzimuthCorrectionLeftSlow 1692
+iCommandPlane_ADF_Homer_change 580
+iCommandViewUpLeft 208
+iCommandV_RangeDecrease_Up 1765
+iCommandHelicopter_Selected_Engine_start_up 802
+iCommandGStabilize 1608
+iCommandViewBtn1Down 1595
+iCommandPlaneCDU_Y 1278
+iCommandViewDownRightStop 1861
+iCommandActiveJamming 136
+iCommandViewFastKeyboard 331
+iCommandPlaneCollectiveStop 839
+iCommandPlaneCDU_PNT 1252
+iCommandPlaneCDU_3 1244
+iCommandPlane_ABRIS_BT_5_up 809
+iCommandPlaneDesignate_CageOn 439
+iCommandPlaneNav_PB8 467
+iCommandViewKeyLCtrlSStop 1819
+iCommandPlaneUHF10MhzSelectorDec 1206
+iCommandViewDownRightSlow 211
+iCommand_CPT_MECH_VMG_HYDRO_EKRAN_Cover 891
+iCommandViewKeyLShiftDStop 1817
+iCommandPlaneRadarOnOff 86
+iCommandRotateTurretRightPressed 1638
+iCommandPlaneCDU_FA 1286
+iCommandPlane_I251_Brightness_Up 842
+iCommandPlaneCircuitBreaker_30 1144
+iCommandPlaneFormationLightsDecrease 1359
+iHeadTrackerPitchNormed 2145
+iCommandLandDetailsDecrease 138
+iCommand_FireDetectorsTest1stGroup 954
+iCommandRecordCursorOnOff 307
+iCommandPlaneCircuitBreaker_19 1133
+iCommandPlaneCircuitBreaker_25 1139
+iCommandVROrientationMatrix_ZX 2159
+iCommandViewKeySStop 1811
+iCommandViewNVG_GainUp 1611
+iCommandPlaneCircuitBreaker_8 1122
+iCommandPlaneModeFI0 110
+iCommandViewPopupNavDisplay 134
+iCommandViewAWACSClearDistance 436
+iCommandPlaneCDU_4 1245
+iCommandViewUpLeftSlow 213
+iCommandWheelBrake 2101
+iCommandPlaneFuelOn 79
+iCommandPlane_R_ENG_FUEL_FLOW_Override 1066
+iCommandPlaneAHCPJTRSOnOff 1390
+iCommandPlaneTrimStop 215
+iCommandPlaneAUTDecreaseRegimeRight 168
+iCommandHSI_CourseRotaryRight 765
+iCommandAllChat 1670
+iCommandPlaneThreatWarnSoundVolumeUp 410
+iCommandMaximum 1865
+iCommandPlane_HOTAS_DataManagementSwitchDown 550
+iCommandChangeRippleIntervalDown 308
+iCommandPlaneNav_INU_normal_align 474
+iCommandPlaneThrustLeft 2005
+iCommandPlaneUHF10MhzSelectorInc 1205
+iCommandADI_ZeroPitchTrimRight 772
+ICommandMenuItem12 977
+iCommandPlaneThrustCommon 2004
+iCommandPlane_LockOn_finish 510
+iCommandPlaneAHCPGUNArm 1379
+iCommandViewTerrainLock 184
+iCommandHelicopter_Engines_Anti_Icing_Dust_Protection_System 819
+iCommandSelecterLeft 139
+iCommandHelicopter_PPR_button_T 592
+iCommandViewKeyS 1714
+iCommandPlane_R_800_3rd_wheel_up 611
+iCommandViewLightBeaconToTargetCycleBlink 420
+iCommandViewAWACS 15
+iCommandViewLightBeaconToTargetDeleteLastCreated 422
+iCommandRALT_DangerousAltitudeRotaryLeft 776
+iCommandPlanePositionLightsSteady 1358
+iCommandViewAWACSChangeColumnState 2110
+iCommandPlaneDLK_Target2_up 781
+iCommandViewBackStop 292
+iCommandViewKeyLCtrlW 1733
+iCommandPlaneFSLeftWingFillDisable 1085
+iCommandPlaneAntiCollisionLights 518
+iCommandPlaneFSQuantityIndicatorTest 1097
+iCommandPlaneCircuitBreaker_1 1115
+iCommandViewSaveAngles 236
+iCommandViewLightBeaconCycle 417
+iCommandPlaneNav_PB7_off 865
+iCommandPlaneCDU_C 1256
+iCommandViewAWACSFireEnabledChanged 2127
+iCommandPlaneFSQuantityIndicatorSelectorMAIN 1093
+iCommandPlaneCMSP_JMR_MENU 1336
+iCommandPlane_VHF_AM_Load 1492
+iCommandPlaneAUTDecrease 65
+iCommandPlaneUHFVolumeInc 1217
+iCommandPlane_AirborneTarget 528
+iCommandViewExternalZoomInStop 335
+iCommandPlane_SpotLight_up 513
+iCommandPlaneJettisonFuelTanks 178
+iCommandPlaneLeftMFD_OSB_OFF 702
+iCommandPlaneAuxInstLightsDecrease 1364
+iCommand_UILayer_MouseWheelBwd 2504
+iCommandPlaneRightMFD_CON_Decrease 699
+iCommandPlaneRightRudderStart 203
+iCommandLampsControl_up 800
+iCommandViewAWACSMapEventY 2118
+iCommandPlaneTrimViewOnOff 174
+iCommandPlaneCollectiveDecrease 632
+iCommandPlaneLeftMFD_OSB4_Off 985
+iCommandLaserRangeReset 888
+iCommandPlaneNMSP_STRPT 1402
+iCommandPlane_APU_Start 1055
+iCommandChangeReleaseMode 284
+iCommandPlaneCircuitBreaker_31 1145
+iCommandNull 0
+iCommand_ENG_INTERF_TempIndTestwStoppedEng 908
+iCommandViewAWACSSetColumnPath 2102
+iCommandAutopilotEmergOFF_up 297
+iCommandVoIPRadioPushToTalkEnableDisableVoice_1 1732
+iCommandPlaneUFC_3 1297
+iCommandPlaneAHCPHUDModeNormSTBY 1388
+iCommandViewDownLeft 207
+iCommandPlaneLeftMFD_OSB13_Off 994
+iCommandPlaneLeftMFD_OSB2_Off 983
+iCommandViewSwitchForward 181
+iCommandPlaneAUTOnOff 63
+iCommandPlaneUFC_7 1301
+iCommandPlane_RDR_ALTM_DIS 1053
+iCommandLeftEngineStart 311
+iCommandPlane_ABRIS_Axis_Decrease_up 811
+iCommandPlane_HOTAS_DataManagementSwitchRight 552
+iCommandViewVertTransAbs 2051
+iCommandFuelBypassValveCover 729
+iCommandHelicopter_Engine_Temperature_Control 822
+iCommandTrainingUserResponded 1535
+iCommandViewCameraAltUpRightSlow 1787
+iCommandHUDTest 748
+iCommandAccelerate 53
+iCommandPlaneFSTankCrossFeed 1082
+iCommandPlaneCDU_H 1261
+iCommandVoIPIntercomPushToTalkEnableDisableVoice 1757
+iCommandPlaneLockPadlock 329
+iCommandPointOfViewDownRight 219
+iCommandPlane_Env_FlowLevel_Increase 1521
+ICommandMenuItem3 968
+iCommandPlanePickleOff 351
+iCommandViewGround 10
+iCommandPlaneDLK_All_up 788
+iCommandAWACSHomeBearing 267
+iCommandViewFriends 23
+iCommandPlaneNav_PB1 460
+iCommandViewAWACSCheckFireButton 1830
+iCommand_ENG_INTERF_TempIndTestwRunningEng 907
+iCommandPlaneUFC_4 1298
+iCommandHSI_HeadingRotaryLeft 766
+iCommandPlaneCMSC_UNK 1355
+iCommandPlaneIntercomIFFDecrease 1176
+iCommandPlaneCDU_S 1272
+iCommandViewLock 19
+iCommandViewRouteBegin 1797
+iCommandPlane_R_ENG_OPER_Ign 1060
+iCommandViewKeyLShiftA 1719
+iCommandViewSlowKeyboard 332
+iCommandPlaneLeftMFD_OSB12_Off 993
+iCommandV_RangeDecrease_Down 1764
+iCommandFriendlyChat 50
+iCommandScoresWindowToggle 360
+ICommandMenuItem4 969
+iCommandWeaponsControlSystemCover 735
+iCommandPlane_HOTAS_CoolieLeft 541
+iCommandActivePauseOnOff 816
+iCommandPlaneNav_INU_realign_off 869
+iCommandPlaneDLK_mode_change 641
+iCommandViewForwardSlow 39
+iCommandViewNVGOnOff 416
+iCommandPlane_LaserCode_Previous 848
+iCommandBdaShowCursorStop 1689
+iCommandViewAWACSDistanceY2 2073
+iCommandPlaneDLK_Wingman4 450
+iCommandPlane_Oxygen_Supply 1506
+iCommandPlane_STALL_Vol_Decrease 1455
+iCommandPromotePlane 287
+iCommandViewFree 16
+iCommandViewCameraAltBack 1780
+iCommandPlane_SPU9_PTT_on 1589
+iCommandTrackEditReplace 319
+iCommandHelicopter_Engine_Temperature_Control_Cover 823
+iCommandViewRightSlow 33
+iCommandPlaneDLK_Erase 452
+iCommandPlaneTrimLeftRudder 98
+iCommand_WEAP_INTERF_MasterSimulate 890
+iCommandViewCameraRightSlow 46
+iCommandGReloadWeapon 1573
+iCommandFuelmeterPower 721
+iCommandViewSmoke2 1045
+iCommandPlaneCircuitBreaker_24 1138
+iCommandViewCameraHeightUp 1837
+iCommandPlane_HARS_HemisphereSel 1448
+iCommandPlane_HOTAS_MIC_SwitchOff 576
+iCommandPlaneDLK_Wingman3_up 786
+iCommandPlane_HARS_MagneticVar_Min15 1449
+iCommandPlaneDLK_Ingress_up 790
+iCommandPlaneNav_PB6 465
+iCommand_UILayer_MouseWheelFwd 2503
+iCommandPlaneLeftStop 198
+iCommandPlane_HOTAS_CMS_Zaxis 1041
+iCommandPlaneNav_PB7 466
+iCommandViewCameraCenter 49
+iCommandEmergencyGear 750
+iCommand_UILayer_MouseLeftButton 2501
+iCommandViewCameraJiggle 299
+iCommandPlaneNav_Targets_off 874
+iCommandViewWingman 1704
+iHeadTrackerPosZNormed 2603
+iCommandViewKeyA 1715
+iCommandPlane_AAP_SteerPt_MISSION 1422
+iCommandGraphicsFrameRate 157
+iCommandPlaneRightMFD_SYM_Dn 701
+iCommandPlaneIncreaseBase_Distance 412
+iCommandViewSnapView2 398
+iCommandViewAWACSChangeQuantityTarget 2607
+iCommandViewAWACSTargetRemoveButton 2082
+iCommandPlaneRightMFD_OSB18_Off 1024
+iCommandViewAWACSUnitInfoOff 424
+iCommandPlane_LockOn_start 509
+iCommandPlane_Env_TempPress_RAM 1518
+iCommandPlaneDLK_Wingman1 447
+iCommandPlaneDecreaseBase_Distance 413
+iCommandADI_TestCover 775
+iCommandPlaneDownStart 195
+iCommandViewAWACSShowPathes 2123
+iCommandPlaneRotateNoseWheel 2608
+iCommandPlaneChangeLockUp 1627
+iCommandPlaneAUTIncreaseLeft 161
+iCommandMarkerStateShip 266
+iCommandPlaneAUTDecreaseLeft 162
+iCommandPlane_Altimeter_PNEU 1411
+iHeadTrackerPosXNormed 2601
+iCommandPlaneRightMFD_OSB3 674
+iCommandPlaneLeftMFD_OSB7_Off 988
+iCommandViewCameraAltStop 1777
+iCommandPlane_SpotLight_vert_stop 515
+iCommandPlaneCDU_K 1264
+iCommandPlaneRudder 2003
+iCommandPlaneRightMFD_DSP_Increase 694
+iCommandPlane_Env_CanopyDefog_Dec 1510
+iCommandPlaneLGPLandLight 1396
+iCommandPlaneCMSP_MWS_ON 1335
+iCommandPlaneUFC_ENT 1310
+iCommandPlaneCMDDispenceOff 365
+iCommandPlaneGear 68
+iCommandPlane_AAP_PageSel_POSITION 1417
+iCommandPlane_Oxygen_TestMask 1505
+iCommandPlane_VHF_FM_Preset_Dec 1471
+iCommandViewAWACSShowTargets 2124
+iCommandPlaneNav_Airfields 473
+iCommand_NAVINTERF_HeadingCourse 944
+iCommandViewCameraYaw 2615
+iCommandHelicopter_Rotor_Lock 605
+iCommandPlaneCMDShowAmountOrProgram 377
+iCommandViewCameraAltDownRight 1774
+iCommandFuelPumpsTankForward 717
+iCommandPlane_ILS_Power 1438
+iCommandPlane_L_ENG_OPER_Norm 1058
+iCommand_TDC_AbsolutePositionVertical 2131
+iCommandDynamicRadioPushToTalkEnableVoice 1737
+iCommandGChangeWS 1571
+iCommandPlaneDLK_Wingman4_up 787
+iCommandViewBtn2Up 1598
+iCommandViewCameraAltUpLeftSlow 1790
+iCommandViewKeyD 1716
+iCommandViewJFO 1043
+iCommandPlane_R_828_ASU_up 794
+iCommand_FireExting_Reservoirs 928
+iCommandPlaneLeftMFD_OSB17 658
+iCommandAutoLockOnCenterSurfaceTarget 277
+iCommand_IlluminationInterf_Panels_Illumination_brightness_down 939
+iCommandViewObjectsAll 183
+iCommandPlaneUHFFunctionDialOFF 1218
+iCommandPlaneNav_Steerpoints 469
+iCommandPlaneIntercomUHFPress 1172
+iCommandViewCameraAltDownRightSlow 1788
+iCommandPlane_STALL_Vol_Increase 1456
+iCommandPlane_R_828_volume_down 627
+iCommandViewSaveAngles6 241
+iCommandRALT_Test 778
+iCommandPlaneUHF01MhzSelectorInc 1209
+join function: 000001A87FFC5050
+iCommandViewKeyLCtrlD 1736
+iHeadTrackerZoomToggle 2604
+iCommandPlane_HARS_SyncButton 1452
+iCommandDebugAxis5 2092
+iCommandPlaneCMDChangeBurstAmount 372
+iCommandHelicopter_SelectWeapon_hor_up 381
+iCommandPlaneCockpitIlluminationPanels 493
+iCommandPlaneCMSP_NEXT_DOWN 1329
+iCommandCockpitClickOff 362
+iCommandPlane_EngageAirDefenses 522
+iCommandMissileFire 5
+iCommandExtLadderButtonCover 1538
+iCommandPlaneCDU_I 1262
+iCommandViewNightVisionGogglesOn 438
+iCommandPlaneIntercomILSIncrease 1180
+iCommandPlaneDLK_Self_ID_change 640
+iCommandPlaneAHCPMasterArm 1374
+iCommandViewAWACSSetColumnAltitude 2138
+iCommandPlaneDLK_Target1 443
+iCommandPlaneCDU_NAV 1237
+iCommandPlaneDropFlareOnce 357
+iCommandPlaneLightsOnOff 175
+iCommandPlaneRight 189
+iCommandViewAWACSCancelFireMissionButton 1824
+iCommandPlaneCMSP_NEXT_UP 1328
+iCommandPlaneCDU_F 1259
+iCommandViewLeftMirrorOn 127
+iCommandViewPitCameraMoveForward 488
+iCommandPlaneFSRightMainFillDisable 1090
+iCommandPlaneLeftMFD_OSB7 648
+iCommandPlaneFltInstLightsIncrease 1368
+iCommandPlaneRightMFD_OSB2_Off 1008
+iCommandUHFAntennaUpper 1553
+folder ./Config/Input/Aircrafts/Default/keyboard/
+iCommandPlaneIntercomTCNDecrease 1182
+iCommandPlaneNavLights_CodeModeOff 520
+iCommandCockpitDeviceCommandsEnd 3999
+iCommandCockpitDeviceCommandsStart 3000
+iCommandViewFreeCameraSpeedHeight 2642
+iCommandViewAWACSFireMissionChanged 2641
+iCommandGViewAction 1570
+iCommandViewSetDefaultViewAngle 2640
+iCommandJFOBinoElevation 2637
+iCommandJFOMarkerElevation 2635
+iCommandPlaneIntercomVolumeDecrease 1185
+iCommandHSI_HeadingRotaryRight 767
+iCommandViewCameraAltRight 1772
+iCommandPlaneHUDFilterOnOff 247
+iCommandPlaneCDU_MK 1282
+iCommandViewBROnPilot 2631
+iCommandPlaneNMSP_PTR_ABLE_STOW 1406
+iCommandViewBROnAirSquadron 2630
+iCommandVehicle_ReloadStart 1642
+iCommandPlaneCircuitBreaker_15 1129
+iHeadTrackerRightHandEnable 2628
+iHeadTrackerLeftHandEnable 2627
+iCommandViewRoute 2625
+iCommandPlaneDropSnarOnceOff 536
+iHeadTrackerPitchAdd 2624
+iCommandViewAWACSDialog 2622
+iCommandViewCameraHeader 2621
+iCommandViewCameraFOV 2618
+iCommandViewCameraPitch 2616
+iCommandGroundPowerDC 704
+iCommandPlane_JettisonMode_explosion 850
+iCommandViewAWACSTargetZChanged 2129
+iCommandPlaneAHCPMasterSafe 1375
+iCommand_C061K_power 900
+iCommandDatalinkUHF_SA 716
+iCommandPlaneLeftMFD_OSB15 656
+iCommandViewCameraPy 2613
+iCommandViewCameraPx 2612
+iCommandViewFreeCameraSpeedWS 2610
+iCommandViewTempCockpitOff 18
+iCommand_UV26_Power 897
+iCommandPlaneEngineStatus 2609
+iCommandViewKeyLShiftD 1720
+iCommandCanopyActuatorDisengage 1547
+iCommandViewSnapViewStop 406
+iCommandLaserRangeModeSwitchCover 886
+iCommandVROrientationMatrix_YY 2157
+iCommandPlaneFSRefuelLigtingDecrease 1098
+iCommandPlaneDropChaffOnce 358
+iCommandPlane_Env_WindshieldCenter 1513
+iCommandPlane_TACAN_Chanel_Ones_Increase 1433
+iCommandPlaneNMSP_ANCHR 1403
+iCommandPlaneRightMFD_OSB4_Off 1010
+iCommandViewAWACSVehControlCloseButton 2108
+iCommandViewKeyLShiftS 1718
+iCommandPlaneCockpitIllumination 300
+iCommandViewKeyWStop 1810
+iCommandPlaneUFC_5 1299
+iCommandPlane_AAP_EGI_Power 1415
+iCommand_UILayer_MouseRightButton 2502
+iCommand_UILayer_start 2500
+iCommandDownPilon 4
+iCommandKeyNull 2000
+iCommandServiceCockpitUnlockPlayerSeat 2165
+iCommandServiceCockpitPushActor 2162
+iCommandPlane_SPU9_SPU_9_on_off 629
+iCommandPlane_HARS_MagneticVar_Plus15 1451
+iCommandPlaneRightMFD_OSB13_Off 1019
+iCommandPlaneAccelCompLights 1369
+iCommandViewAWACSCancelColumnPath 2103
+iCommandVROrientationMatrix_YX 2156
+iCommandPlane_VHF_AM_1MHz_Inc 1498
+iCommandViewKeyLShiftSStop 1815
+iCommandVROrientationMatrix_XZ 2155
+iCommandMechClock_LeftLever_Up 754
+iCommandRecordSubtitleOff 325
+iCommandAutoLockOnNearestAircraft 272
+iCommandViewAngleDefault 177
+iCommandUnfreezeActionSystem 294
+iCommandPlane_HeadOnAspect 529
+iCommandPilotGestureSalute 238
+iCommandPlaneStabHrad 390
+iHeadTrackerPosY 2148
+iCommandViewAWACSTargetCloseButton 2083
+iCommandPlaneSAUHorizon 61
+iCommandViewExternalZoomOut 336
+iCommandAWACSTankerBearing 268
+iCommandPlaneLeftMFD_DSP_Increase 664
+iCommandPlaneMFDZoomAbs 2030
+iCommandPlane_AAP_SteerSw_Up 1423
+iCommandViewPanToggle 346
+iCommandRoleSet 2150
+iCommandViewDownSlow 35
+iCommandPlaneRightMFD_BRT_Increase 696
+iCommandViewAll 26
+iCommandViewAWACSChangeColumnForm 2111
+iCommandPlane_R_ENG_OPER_Norm_from_Ign 1567
+iCommandPlaneCircuitBreaker_28 1142
+iCommandPlaneIntercomINTDecrease 1161
+iCommandPlaneRightMFD_OSB13 684
+iCommandPlaneFSQuantityIndicatorSelectorINT 1092
+iCommandVehicleAzimuthCorrectionRight 1648
+iServiceInformAboutUserHAngle 2142
+iCommandPlaneCDU_U 1274
+iCommandViewAWACSInfoAddTargetButton 2140
+iCommandPlaneLeftMFD_OSB18 659
+iCommandPlane_L_ENG_FUEL_FLOW_Norm 1063
+iCommandPlaneDLK_Target3_up 782
+iCommandPlaneLeftMFD_OSB15_Off 996
+iCommandAutoLockOnCenterAircraft 273
+iCommandViewRear 359
+iCommand_SHKVAL_scan_vel_down 917
+iCommandViewAWACSShowHealths 2139
+iCommandPlaneCMSP_OSB_1 1324
+iCommandPlane_ILS_Volume_Increase 1444
+iCommandPlane_TACAN_Chanel_Tens_Increase 1435
+iCommandNaturalViewCockpitIn 129
+iCommandPlaneNav_Enter 476
+iCommandADI_Test_up 774
+iCommandPlaneLeftMFD_BRTMODE_NIGHT 1528
+iCommandPlane_AutomaticTurn_up 795
+iCommandViewAWACSTargetChangeRadius 2135
+iCommandPlane_ABRIS_Power 495
+iCommandPlaneRightMFD_CON_Stop 1030
+iCommandViewLeftSlow 32
+iCommandViewAWACSChangeAlarmState 2134
+iCommandViewCameraHeightDownStop 1844
+iCommandAdjustViewAngleToComfortValue 2132
+iCommandPlane_I251_Contrast_Up 844
+iCommandPlaneRudderDelta 2015
+iCommandPlane_HOTAS_NoseWheelSteeringButton 562
+iCommandViewAWACSBridgesPriorChanged 2126
+iCommandPlaneUHFVolumeDec 1216
+iCommandViewAWACSRoadPriorChanged 2125
+iCommandExtLadderButton 1539
+iCommandViewAWACSKeyState 2120
+iCommandPlane_L_ENG_OPER_Norm_from_Motor 1564
+iCommand_LWS_Power 895
+iCommandSoundMicOff 124
+iCommandPowerBattery2_Cover 709
+iCommandViewCockpitSetOperatorSeat 1604
+iCommandViewAWACSMapEventX 2117
+iCommandPlaneBase_Distance 2040
+iCommandPlane_ABRIS_BT_3 498
+iCommandViewAWACSMapEventType 2116
+iCommandViewAWACSTargetSetButton 2114
+iCommandPlaneUFC_DATA_DOWN 1317
+iCommand_ENG_INTERF_Left_Engine_RT_12_6 905
+iCommandViewAWACSLastZoomY2 2061
+iCommandPlaneJettisonWeapons 82
+iCommandPowerBattery1_Cover 707
+iHeadTrackerPosZ 2149
+iCommandPlaneRadarDownLeft 233
+iCommandPlaneMasterCaution 252
+iCommandGHoldCursorModeOff 1585
+iCommandPlaneCDU_DIM 1287
+iCommandViewAWACSSetColumnSpeed 2109
+iCommandPlaneRightMFD_OSB3_Off 1009
+iCommandPlaneFonar 71
+iCommandPlaneCircuitBreaker_27 1141
+iCommandPlaneEngInstLightsIncrease 1362
+iCommandPlaneFire 84
+iCommandPlaneChangeTarget 102
+iCommandLandDetailsIncrease 137
+iCommandViewAWACSUpdateWOInfoHigh 2107
+iCommandPlane_Peak_Vol_Increase 1458
+iCommandViewAWACSSetPathCloseButton 2105
+iCommandPlaneUFC_SEL_DOWN 1319
+iCommandPlaneCMDChangeRippleQuantityOff 369
+iCommandPlane_EAC_ARM 1050
+iCommandPlaneCMDDispenceStopOff 367
+iCommandViewCameraAltLeftSlow 1785
+iCommandHelicopterRotorEngineBrake_ByAxis 2100
+iCommandPlaneCMDChangeBoard 376
+iCommandViewCameraDownRightSlow 356
+iCommandPlaneUHF1MhzSelectorDec 1208
+iCommandDebugAxis10 2097
+iCommandDebugAxis8 2095
+iCommandPlane_HOTAS_CMS_Right 559
+iCommandPlaneCDU_LSK_5R 1233
+iCommandMarkerStateRocket 265
+iCommandDebugAxis6 2093
+iCommandHSI_CourseRotaryLeft 764
+iCommandVehicleSightReticleAlternate 1649
+iCommandDebugAxis3 2090
+iCommandViewLaserChangeCode 1561
+iCommandDebugAxis2 2089
+iCommandPlaneRightMFD_OSB7_Off 1013
+iCommandPlane_I251_Contrast_Down 845
+iCommandViewAWACSTargetRounds 2086
+iCommandViewRollAbs 2047
+iCommand_IlluminationInterf_Cockpit_Night_Illumination_brightness_down 937
+iCommandPlaneNavChangePanelModeRight 455
+iCommandViewAWACSTargetStartTime 2084
+iCommandPlaneRightMFD_OSB16 687
+iCommandDVADRFunctionREC 1545
+iCommandPlane_HARS_Mode 1445
+iCommandViewAWACSTargetFireButton 2081
+iCommandViewAWACSInfoCloseButton 2080
+iCommandPlaneUFC_LTR 1308
+iCommandPlaneFloodLightsIncrease 1371
+iCommandPlaneCMDDispence 364
+iCommandCockpitVirtualAxisAbs 2075
+iCommandDatalinkTLK 714
+ICommandMenuItem11 976
+iCommandPlane_HOTAS_SpeedBrakeSwitchAft 578
+iCommandPlane_HOTAS_CoolieDown 540
+iCommandLeftEngineStop 313
+iCommand_FireExting_Discharge_Center 1408
+iCommandPlaneCMSC_SEP 1354
+iCommandViewAWACSDistanceY1 2071
+iCommandPlane_FLAPS_UP 1047
+iCommandPlaneCDU_0 1251
+iCommandViewBtn2Down 1597
+iCommandGZoomUpdate 1620
+iCommandViewAWACSCenterOnPlane 2069
+iCommandPlaneUHFPresetChannelSelectorDec 1200
+iCommandViewCameraAltForward 1778
+iCommandPlaneFormation 116
+iCommandPlaneAHCPIFFCCTest 1392
+iCommandHelicopter_APU_stop 598
+iCommandViewAWACSDangerousAreas 2068
+iCommandViewAWACSLabels 2066
+iCommandViewAWACSDistance 2065
+iCommandHelicopter_PanelsIlluminationButtonDown 833
+iCommandViewAWACSZoomIn 2063
+iCommandPlane_ChangeDeliveryMode_left 531
+iCommandViewAWACSZoom100 2062
+iCommandPlaneAUTIncreaseRight 163
+ICommandMenuItem8 973
+iCommandViewSpawnSignalFlare 2629
+iCommandViewAWACSLastZoomX1 2058
+iCommandHelicopter_SignalFlares_GREEN 829
+iCommandViewAWACSMouseMoveY 2057
+iCommandViewAWACSMouseMoveX 2056
+iCommandPlaneFSRightWingFillDisable 1086
+iCommandViewHorTransAbs 2049
+iCommandViewAWACSRadarEmission 1676
+iCommandViewTempCockpitOn 17
+iCommandViewExplosion 27
+iCommandViewCameraLeft 41
+iCommandLoadGame 256
+iCommandRightEngineFuelValveShutOff 724
+iCommandPlane_AAP_PageSel_OTHER 1416
+iCommandPlaneNav_Targets 475
+iCommandViewAWACSObjectIdLow 2044
+iCommandHelicopter_PanelsIlluminationButtonUp 834
+iCommandPlaneThrustRightDelta 2018
+iCommandPlaneSelecterVertical 2032
+iCommandPlaneBase_DistanceAbs 2041
+iCommandPlane_ADF_Volume_up 586
+iCommand_ENG_INTERF_EngVibrDetectorBIT 906
+iCommandPlaneIntercomINTPress 1163
+iCommandCockpitCursorHorizontalAbs 2038
+iCommandPlaneCDU_9 1250
+iCommandChangeRippleInterval 282
+iCommandCockpitCursorVertical 2037
+iCommandHelicopter_PPR_button_B_up 304
+iCommandPlaneFormationLightsIncrease 1360
+iCommandPowerGeneratorRight 712
+iCommandPlane_R_828_volume_up 626
+iCommandPlaneCDU_LSK_3L 1228
+iCommandPlaneDLK_Target1_up 780
+iCommandPlaneLeftMFD_OSB10 651
+iCommandPlaneCDU_PGDN 1290
+iCommandPlaneRadarVerticalAbs 2028
+iCommandPlane_R_800_2nd_wheel_down 610
+iCommandPlaneRadarHorizontal 2025
+iCommandPlaneCircuitBreaker_26 1140
+iCommand_FuelSysInterf_FuelQuantityIndTestOn 909
+iCommand_CPT_MECH_VMG_HYDRO_EKRAN 892
+iCommandViewVerticalAbs 2011
+iCommandPlaneTrimPitchAbs 2022
+iCommandViewFromTo 185
+iCommandPlaneTrimPitch 2019
+iCommandPlaneIntercomVolumeIncrease 1186
+iCommandViewCockpit 7
+iCommandPlane_TACAN_Volume_Decrease 1430
+iCommandPlaneCircuitBreaker_20 1134
+iCommandPlane_SPU9_radio_change 630
+iCommandViewPitCameraMoveDown 485
+iCommandPlaneViewVertical 2008
+iCommandViewCameraMoveAlongTheWalls 1809
+iCommandPlaneRollDelta 2014
+iCommandPlane_R_ENG_FUEL_FLOW_Norm 1065
+iCommandCoalitionSet 2151
+iCommandPlaneUHF100MhzSelectorA 1204
+iCommandViewHorizontalAbs 2010
+iCommandPlaneCDU_WP 1238
+iCommandPlane_FLAPS_MNR_from_UP 1568
+iCommandPlaneCDU_BCK 1283
+iCommandPlaneThrustRight 2006
+iCommandHelicopter_TC_RPM_Cover 821
+iCommandViewBookmarksMenu 1711
+iCommandAltimeterPressureIncrease 316
+iCommandViewCameraUpRightSlow 354
+iCommandPlaneCDU_SPC 1284
+iCommandPlane_VHF_FM_01MHz_Inc 1478
+iCommandPlanePitch 2001
+iCommandPlaneCMSP_MODE_AUTO 1346
+iCommandViewFreeInputLayer 1862
+iCommandPlaneCMSP_BRT_INC 1333
+iCommandPlaneRightStop 200
+iCommandPlaneResetMasterWarning 144
+iCommandPlaneRightMFD_OSB19_Off 1025
+iCommandViewUpRightStop 1859
+iCommandCanopyJettisonUnlockButton 1549
+iCommandPlaneLeftMFD_CON_Decrease 669
+iCommandViewDownLeftFast 1856
+iCommandPlaneLeftMFD_OSB1_Off 982
+iCommandViewMouseButton2Down 1796
+iCommandPlane_Env_FlowLevel_Decrease 1520
+iCommandViewUpStop 1852
+iCommandViewRightStop 1851
+iCommandPlane_VHF_FM_Volume_Dec 1459
+iCommandViewChase 12
+iCommandPlaneEmerTrimNoseUP 1105
+iCommandPlane_Helmet_Brightess_Down 841
+iCommandPlaneCollectiveIncrease 631
+iCommandViewDownFast 1849
+iCommandPlane_ABRIS_BT_1_up 805
+iCommandViewAWACSDistanceToolAngle 2055
+iCommandViewCockpitSetGunnerSeat1 1605
+iCommandPlanePitchSASEngageR 1156
+iCommandPlaneCMDDispenceStop 366
+iCommandPlaneChangeRadarPRF 394
+iCommandPlaneAHCPAltSCEBaro 1384
+iCommandPlane_R_800_Emergency_Radio 619
+iCommandViewCameraHeightDownSlow 1843
+iCommandPlaneRightMFD_BRT_Decrease 697
+iCommandPlane_VHF_FM_Mode_PRE 1464
+iCommandPlaneLeftMFD_OSB16 657
+iCommandElectricalPowerInverterOFF 1075
+iCommandPlaneRightMFD_OSB19 690
+iCommandPlane_VHF_FM_FreqMode_TK 1466
+iCommandViewAWACSRepeatFireButton 1829
+iCommandViewKeyW 1713
+iCommandFinishTrack 260
+iCommandPlaneDLK_Wingman1_up 784
+iCommandPlaneLeftMFD_ADJ_Increase 662
+iCommandPlane_WeaponMode_switch 533
+iCommandPlaneChangeLock 100
+iCommandHelicopter_SelectWeapon_vert_up 382
+iCommandPlanePitchDelta 2013
+iCommandViewAWACSFFEFireButton 1828
+iCommand_IlluminationInterf_Control_Panel_Illumination_brightness_up 942
+iCommandPlaneTrimUp 95
+iCommandPlaneEmergencyBrake 960
+iCommandPlaneDLK_Wingman3 449
+iCommandViewAWACSBackToFireMissionButton 1826
+iCommandHelicopter_SignalFlares_switch_OnOff 828
+iCommandHelicopter_PPR_button_K 590
+iCommandViewRouteForward 1798
+iCommandPlaneNavChangePanelModeLeft 456
+iCommandPlaneFltInstLightsDecrease 1367
+iCommandViewKeyLCtrlWStop 1818
+iCommandPlaneRightMFD_OSB20_Off 1026
+iCommandHeadingMethodSwitch 745
+iCommandPlaneUHF100MhzSelector2 1202
+iCommandViewCameraAltForwardStopSlow 1793
+iCommand_FireExting_VentilatorExting 924
+iCommand_UV26_BIT 899
+iCommandPointOfViewStop 225
+iCommandPlaneRightMFD_OSB6_Off 1012
+iCommandPlaneCDU_R 1271
+iCommandPlaneEmerAileronDisengageOff 1108
+iCommandGunFire 6
+iCommandIR_B_W_hot 1807
+iCommandHUDBrightnessDown 747
+iCommandViewUpFast 1848
+iCommandViewParticleEffect 1586
+iCommandViewCameraAltUp 1769
+iCommandIR_GainUp 1805
+iCommandPlane_ABRIS_BT_1 496
+iCommandPlaneCancelWeaponsDelivery 378
+iCommandPlaneLGPAntiSkid 1394
+iCommandPlaneNav_POS_init_off 877
+iCommandViewRouteBackward 1801
+iCommandHelicopter_SignalFlares_WHITE 831
+iCommandHelicopter_CollectiveStopper_Up 856
+iCommandCockpitTakeControl 248
+iCommandPlane_AAP_SteerPt_FLTPLAN 1420
+iCommandViewCameraAltBackStopSlow 1795
+iCommandPointOfViewCenter 224
+iCommandHelicopter_Rotor_Anti_Icing_System 818
+iCommandGIsometricView 1588
+iCommandViewKeyLShiftWStop 1814
+iCommandGIsoView_T 1728
+iCommandViewCameraAltRightSlow 1786
+iCommandPlane_L_ENG_FUEL_FLOW_Override 1064
+iCommandViewCameraAltDownSlow 1784
+iCommandViewCameraAltBackStop 1781
+iCommandViewCameraAltForwardStop 1779
+iCommandPlaneLeftMFD_BRTMODE_DAY 1529
+iCommandViewCameraAltUpLeft 1776
+iCommandPlaneLeftStart 197
+iCommandAllMissilePadlock 259
+iCommandIncreaseRadarScanArea 263
+iCommandExternalCargoIndicator 1650
+iCommandPlane_HOTAS_MasterModeControlButtonUP 633
+iCommandViewCameraAltDownLeft 1775
+iCommandPlaneEmerAileronDisengageL 1107
+iCommandPlaneDLK_All 451
+iCommandPlane_Env_BleddAir 1515
+iCommandMarkerStatePlane 264
+iCommandPlaneRightMFD_BRTMODE_DAY 1532
+iCommandPlaneNav_CourseTimeRange 480
+iCommandPlane_HOTAS_TargetManagementSwitchDown 545
+iCommandGClutchAxis 1768
+iCommandHelicopter_Rotor_Anti_Icing_Dust_Protection_System 912
+iCommandDebugAxis1 2088
+iCommandPlaneRightMFD_BRT_Stop 1029
+iCommandPlaneNavSetFixtakingMode 457
+iCommandV_RangeIncrease_Up 1763
+iCommandPlaneRadarDown 91
+iCommandPlaneAuxInstLightsIncrease 1365
+iCommandHUDTest_up 749
+iCommandViewSnapView9 405
+iCommandSaveGame 255
+iCommandPlaneNav_POS_corrMode 471
+iCommandViewGroundAndPlane 133
+iCommandViewSupercarrier 1753
+iCommandPlaneThrustCommonDelta 2016
+iCommandPlane_VHF_AM_Squelch 1490
+iCommandViewBackSlowStop 290
+iCommand_EjectInterface_Circuit_SelectRight 951
+iCommandPlaneCDU_N 1267
+iCommandDynamicRadioSquelchOnOff 1748
+iCommandMainHydraulicsCover 737
+iCommandViewPPI 1671
+iCommandPlane_ChangeDeliveryMode_right 530
+iCommandDynamicRadioGuardChangeNext 1745
+iCommandPlane_HOTAS_CMS_Zaxis_Off 1042
+iCommandDynamicRadioChannelIncrease 1743
+iCommandPlane_HOTAS_NoseWheelSteeringButtonOff 606
+iCommand_IlluminationInterf_Cockpit_Illumination 930
+iCommandPlaneEmerElevatorDisengageR 1112
+iCommandPlaneUpStop 194
+iCommandDynamicRadioFrequencyUp 1741
+iCommandDynamicRadioFreqChangeSelectorNext 1740
+iCommandPlane_HOTAS_TriggerSecondStage_Off 638
+iCommandPlane_HOTAS_ChinaHatForward 566
+iCommandPlane_HARS_HDG_Increase 1454
+iCommandVehicle_FireSecondaryOff 1659
+iCommandPlaneMFDZoom 2029
+iCommandViewKeyLCtrlA 1734
+iCommandPlaneCDU_E 1258
+iCommand_PVI_BRIGHTNESS_LEVER_up 919
+iCommandTargetingNavigationSystemsPower 740
+iCommandPlane_RDR_ALTM_NRM 1052
+iCommandGFire 1574
+iCommandViewTargetType 426
+iCommandViewLightBeaconCycleSpectrum 419
+iCommandCockpitSecondClickOff 434
+iCommandViewBackSlow 40
+iCommandPlane_AutomaticTracking_Gunsight_switch 524
+iCommandPlaneNav_Enter_off 875
+iCommandViewCameraUpRight 343
+iCommandPlaneCircuitBreaker_34 1148
+iCommandViewSmoke1 1044
+iCommandPlaneUHFSquelch 1226
+iCommandViewCameraMoveFrontal 1726
+iCommandPlaneLeftMFD_SYM_Dn 671
+iCommand_ExplorationTargetSelection 1617
+iCommandUHFAntennaLower 1555
+iCommandPlane_HOTAS_TDC_depress_off 635
+iCommandPlaneLeftMFD_OSB3 644
+iCommandHelicopter_Left_Engine_Lock 600
+iCommandViewCameraUp 43
+iCommandViewBriefingRoom 1712
+iCommandPlaneCMDCancelCurrentProgramOff 375
+iCommandPlaneNav_PB2 461
+iCommandVehicle_LaunchRedFlare 1613
+iCommandPlaneLeftRudderStop 202
+iCommandPlane_VHF_AM_Volume_Dec 1481
+iCommandAWACSDeclare 270
+iCommandPlaneCMDChangeBurstAmountOff 373
+iCommandPlaneEOSOnOff 87
+iCommandRALT_Test_up 779
+iCommandViewHangar 1703
+iCommand_SHKVAL_windscreen_wiper 918
+iCommandViewCatapultCrew 1701
+iCommandViewUpRight 205
+iCommandPlane_TACAN_Chanel_XY_Mode 1436
+iCommandViewCatapult 1700
+iCommandPlane_HARS_Fast_Erect 1410
+iCommandPlaneModeGrid 112
+iCommandViewTowerJump 298
+iCommandVehicleResetPanoramaOrientation 1694
+iCommandPlaneNMSP_EGI 1400
+iCommandPlaneLeftMFD_OSB19_Off 1000
+iCommandPlaneReturnToBase 1685
+iCommandViewKeyLShiftW 1717
+iCommandVoiceChat 56
+iCommandViewSnapView1 397
+iCommand_FireExting_ExtinguishersCover 926
+iCommandHelicopter_PPR_button_B 593
+iCommandPlane_EngageBandits 1684
+iCommandPlaneTeleport 1683
+iCommandRWRIntensityIncrease 1559
+iCommandVehicle_RearmingStart 1681
+iCommandPlaneRightMFD_OSB14_Off 1020
+iCommandChatShowHide 1673
+ICommandMenuItem6 971
+iCommandNoAcceleration 246
+iCommandPointOfViewDownLeft 221
+iCommandPlaneRadarUpLeft 234
+iCommandRotateTurretRightReleased 1655
+iCommandRotorRPMHigh_up 801
+iCommandPointOfViewUpRight 217
+iCommandRotateTurretLeftReleased 1654
+iCommandPlaneNav_PB3 462
+iCommandGZoomOutPressed 1653
+iCommandPlaneNav_POS_init 478
+iCommandVehicleAzimuthCorrectionLeft 1647
+iCommandRotatePlus 1
+iCommandRotateTurretUpPressed 1639
+iCommandPlane_TACAN_Volume_Increase 1431
+iCommandExternalCargoAutounhook 1634
+iCommandGRangefinderReset 1632
+iCommandTakeControlTrack 1621
+ICommandSwitchToCommonDialog 980
+iCommandBrakeGo 52
+iCommand_ExplorationStart 1616
+iCommandMissionRestart 1641
+iCommandPlaneCircuitBreaker_35 1149
+iCommandVehicle_LaunchWhiteFlare 1615
+iCommandPlaneNightTVOnOff 393
+iCommandPlaneZoomOut 104
+iCommandViewNVG_GainDown 1612
+iCommandViewSaveAngles5 240
+iCommandViewPauseOnOff 1609
+iCommandGViewWSCenter 1607
+iCommandViewCockpitSetPilotSeat 1603
+iCommandHelicopterLeftEngineBrake_ByAxis 2098
+iCommandPlaneLeftMFD_OSB5_Off 986
+iCommandPlaneQuickPadlockOn 1067
+iCommandViewTransposeModeOff 1594
+iCommandPlane_ABRIS_BT_4 499
+iCommandThreatMissilePadlock 258
+iCommandViewCameraReturn 347
+iCommandPlaneCDU_D 1257
+iCommand_EjectInterface_Circuit_SelectLeft 952
+iCommandGHoldCursorModeOn 1584
+iCommandGLockoff 1581
+iCommandGChangeSpeedV 1579
+iCommandPlaneLockPadlockTerrain 1534
+iCommandPlaneJettisonWeaponsUp 171
+iCommandViewAWACSbtnToGroup 1677
+iCommandHelicopterHover_up 385
+iCommand_LASTE_from_PATH_to_ALTHDG 1562
+iCommandPlaneRightRudderStop 204
+iCommandPlaneStabPathHold 637
+iCommandPlaneRightMFD_OSB9 680
+iCommandPlaneAHCPHUDModeDayNight 1387
+iCommandRWRIntensityDecrease 1558
+iCommandUHFAntennaAuto 1554
+bindKeyboardCommandsToMouse function: 000001A20A4166E0
+iCommandPlane_HOTAS_BoatSwitchAft 564
+iCommandPointOfViewDown 220
+iCommandPlaneLeftMFD_OSB5 646
+iCommandPlaneNMSP_TISL 1401
+iCommandPlaneWheelBrakeOff 75
+iCommandGEngineToggle 1759
+iCommandElectronicControlSystemRightEngineCover 744
+iCommandArmGroundSafetySwitch 1542
+iCommandPlane_VHF_FM_Mode_EMERAM 1462
+iCommandViewAWACSInfoDelTargetButton 2141
+iCommandPlaneIntercomAIMDecrease 1173
+iCommandPlane_ILS_KHz_Decrease 1441
+ICommandMenuItem7 972
+iCommandPlaneLeftMFD_OSB20_Off 1001
+iCommandServiceChangeSeat 2152
+iCommandPlaneIntercomAIMPress 1175
+iCommandViewPitHeadOnOff 492
+iCommandPlane_FLAPS_MNR_from_DN 1569
+iCommandPlaneNav_THeadingTimeRangeF_off 881
+iCommandPlaneRightMFD_BRTMODE_OFF 1530
+iCommandPlane_Env_TempLevel_Decrease 1525
+iCommandViewPitCameraMoveRight 487
+iCommandAutoLockOnClear 384
+iCommandPlane_Env_AirConditioner_COLD 1524
+iCommandPlaneRadarUp 90
+iCommandViewFreeJump 158
+iCommandPlane_HOTAS_TriggerFirstStage_Off 639
+iCommandEnginesStart 309
+iCommandPlaneLeftMFD_DSP_Decrease 665
+iCommandViewTower 9
+iCommandFuelExternalPumpsTanksOuter 720
+iCommandPlaneHeadLightOnOff 328
+iCommandPlane_EAC_OFF 1051
+iCommandPlaneTrimOff 958
+iCommandViewKeyLCtrlAStop 1820
+iCommandHelicopter_PPR_button_H_up 302
+iCommandViewKeyDStop 1813
+iCommandPlane_Env_CanopyDefog_Inc 1511
+iCommandPlaneUFC_STEER_DOWN 1315
+iCommandViewTrackEditMode 1722
+iCommandPlaneLeftMFD_OSB2 643
+iCommandPlaneNav_PB5_off 863
+iCommandPlane_VHF_AM_Preset_Inc 1494
+iCommandPlane_VHF_AM_FreqMode_DN 1489
+iCommandPlaneNav_SelfCoord 479
+iCommandPlane_VHF_AM_FreqMode_TK 1488
+iCommandPlane_HOTAS_TriggerFirstStage 555
+iCommandPlane_HOTAS_BoatSwitchForward 563
+iCommandPlane_VHF_AM_Mode_EMERAM 1484
+ICommandMenuItem5 970
+iCommandPlane_VHF_AM_Mode_EMERFM 1483
+iCommandViewCameraStart 1707
+iCommandPlaneCircuitBreaker_5 1119
+iCommandPlaneIntercomVHFDecrease 1167
+iCommandPlane_VHF_AM_Mode_PRE 1486
+iCommandViewUpRightSlow 210
+iCommandPlaneFlaps 72
+iCommandPlane_VHF_FM_1MHz_Dec 1475
+iCommandPlaneVOID_2 1281
+iCommandPlaneSalvoOnOff 81
+iCommandPlaneCircuitBreaker_33 1147
+iCommandWeaponsBallisticSelectorLeft 948
+iCommandHelicopter_PPR_button_T_up 303
+iCommandVROrientationMatrix_XX 2153
+iCommandViewAWACSCheckMessageButton 2606
+iCommandPlaneFSLeftMainFillDisable 1089
+iCommandPlane_Env_AirConditioner_HOT 1523
+iCommandPlaneFSExtTanksFuselageValve 1078
+iCommandViewPitCameraMoveLeft 486
+iCommandPlaneAirBrakeOff 148
+iCommandPlane_TACAN_Mode_Rec 1426
+iCommandPlane_AAP_PageSel_STEER 1418
+iCommandPlaneCircuitBreaker_32 1146
+iCommandPlaneStopBase_Distance 414
+iCommandPlaneRightMFD_SYM_Stop 1031
+iCommand_FireExting_Discharge_Right 1409
+iCommandPlaneDropSnarOnce 176
+iCommandMarkerState 261
+iCommandSoundMicOn 123
+iCommandPlaneNMSP_ILS 1405
+iCommandPlaneZoomIn 103
+iCommandViewObjectIgnore 182
+iCommandPlaneLGPLightsOff 1397
+iCommandViewHorTrans 2048
+iCommandChat 57
+iCommandPlane_HOTAS_MIC_SwitchLeft 574
+iCommandPlaneFSTankGate 1081
+iCommandPlaneAHCPLaserArm 1380
+iCommandV_RangeIncrease_Down 1762
+iCommandPlanePositionLightsOff 1357
+iCommandPlaneCMSC_PRI 1353
+iCommandPlaneCMSC_AUD_INC 1352
+iCommandHelicopter_Selected_Engine_interrupt_start_up 803
+iCommandSelecterDownRight 227
+iCommandPlaneNav_INU_precise_align_off 871
+iCommandFuelBypassValve 728
+iCommandPlaneUFC_INTEN_INCREASE 1322
+iCommandPlaneCircuitBreaker_14 1128
+iCommandActiveIRJamming 391
+iCommandPlaneUFC_FUNC 1307
+iCommandPlane_AAP_PageSel_WAYPT 1419
+iCommandViewSnapView4 400
+iCommandPlaneUFC_SPC 1305
+iCommandPlaneUFC_9 1303
+iCommandPlaneUFC_1 1295
+iCommandViewAux 1729
+iCommandViewLightBeaconToTargetCycleSpectrum 421
+iCommandFuelPumpsTankRear 718
+iCommandPlaneFlapsOn 145
+iCommandPlaneAutopilotOverrideOff 428
+iCommandEjectingSystemPower2 732
+iCommandPlane_VHF_FM_Preset_Inc 1472
+iCommandPlane_SpotLight_down 514
+iCommandPlaneCDU_Q 1270
+iCommandPlane_ABRIS_Axis_Decrease 502
+iCommandPlane_RouteMode 506
+iCommandMechClock_LeftLever_TurnLeft 755
+iCommandPlaneCDU_B 1255
+iCommandPointOfViewRight 218
+iCommandPlaneCDU_5 1246
+iCommandPlaneLeft 188
+iCommandPlaneCDU_1 1242
+iCommandPlaneEmerAileronDisengageR 1109
+iCommandPlaneNavLights_CodeModeOn 519
+iCommandPlaneWheelBrakeRightOn 963
+iCommandVoIPIntercomPushToTalkEnableDisableVoice_1 1758
+iCommandRollbackSave 249
+iCommandLaserRangeModeSwitch 887
+iCommandPlaneEmergencyDisconnectLever 965
+iCommandPlaneUHF0025MhzSelectorInc 1211
+iCommandPlaneCDU_LSK_3R 1232
+iCommandRALT_DangerousAltitudeRotaryRight 777
+iCommandMechClock_LeftLever_Down_up 753
+iCommandCockpitCursorHorizontal 2036
+iCommandPlaneUHFTTone 1225
+iCommandPlane_HOTAS_PinkySwitchCenter 570
+iCommandAltimeterPressureStop 318
+iCommandPlaneCircuitBreaker_17 1131
+iCommandPlaneTrimRight 94
+iCommandPlaneUHFPresetChannelSelectorInc 1199
+iCommandMissionResourcesManagement 1560
+iCommandMechClock_LeftLever_Down 752
+iCommandPlaneCircuitBreaker_37 1151
+iCommandPlaneCircuitBreaker_23 1137
+iCommandPlaneEmerFlapsRetract 1113
+iCommandPlaneLeftMFD_OSB17_Off 998
+iCommandPlaneFSQuantityIndicatorSelectorWING 1094
+iCommandPlaneRightMFD_SYM_Up 700
+iCommandPlaneFSLineCheck 1080
+iCommandPlane_ADF_Test_up 792
+iCommandPlaneCDU_BRT 1288
+iCommandAPUGeneratorPower 1071
+iCommandPlaneDownStop 196
+iCommandViewTargets 151
+iCommandPlaneRadarDownRight 232
+iCommandPlane_VHF_AM_Mode_MAN 1485
+iCommandViewExternalZoomDefault 338
+iCommandViewCoordinatesInLinearUnits 245
+iCommandPlane_LG_WRN_Silence 1054
+iCommandThrottle1Stop 1037
+iCommandPlaneDesignate_CageOn_horizontal 442
+iCommandThrottleStop 1034
+iCommandSlaveToTanker 1610
+iCommandPlaneRightMFD_OSB16_Off 1022
+iCommandViewAWACSAdjustFireButton 1827
+iCommandPlane_HOTAS_DataManagementSwitchUp 549
+iCommandReloadTables 849
+iCommandViewCameraMoveMode 340
+iCommandThrottle2Stop 1040
+iCommandPlane_ABRIS_Brightness_Increase 504
+iCommandDynamicRadioFrequencyDown 1742
+iCommandPlaneCircuitBreaker_21 1135
+iCommandPlaneLeftMFD_OSB6_Off 987
+iCommandPlaneLevitation 959
+iCommand_FireDetectorsTest3rdGroup 956
+iCommandPlaneNav_INU_precise_align 472
+iCommandPlane_HeadOnAspect_up 798
+iCommandPitotRam 911
+iCommandPlaneRadarUpRight 231
+iCommandPlaneDLK_Ingress 453
+iCommandHelicopter_PPR_BAR_RV 595
diff --git a/src/client/DCSInsight/JSON/DCSAPI.cs b/src/client/DCSInsight/JSON/DCSAPI.cs
index 4ea113d..c92d31e 100644
--- a/src/client/DCSInsight/JSON/DCSAPI.cs
+++ b/src/client/DCSInsight/JSON/DCSAPI.cs
@@ -36,6 +36,9 @@ public class DCSAPI
[JsonProperty("result", Required = Required.Default)]
public string Result { get; set; }
+
+ [JsonProperty("result_type", Required = Required.Default)]
+ public string ResultType { get; set; }
}
diff --git a/src/client/DCSInsight/MainWindow.xaml.cs b/src/client/DCSInsight/MainWindow.xaml.cs
index 7ec98a2..4f0cdfc 100644
--- a/src/client/DCSInsight/MainWindow.xaml.cs
+++ b/src/client/DCSInsight/MainWindow.xaml.cs
@@ -29,7 +29,7 @@ public partial class MainWindow : Window, IErrorListener, IConnectionListener, I
{
private static readonly Logger Logger = LogManager.GetCurrentClassLogger();
private List _dcsAPIList = new();
- private readonly List _loadedAPIUserControls = new();
+ private readonly List _loadedAPIUserControls = new();
private bool _formLoaded;
private TCPClientHandler _tcpClientHandler;
private bool _isConnected;
@@ -407,8 +407,16 @@ private void ShowAPIs(bool searching = false)
foreach (var dcsapi in filteredAPIs)
{
- var userControl = new UserControlAPI(dcsapi, _isConnected);
- _loadedAPIUserControls.Add(userControl);
+ if (dcsapi.Syntax.ToLower().Contains("losetcommand("))
+ {
+ var userControl = new UserControlLoSetCommandAPI(dcsapi, _isConnected);
+ _loadedAPIUserControls.Add(userControl);
+ }
+ else
+ {
+ var userControl = new UserControlAPI(dcsapi, _isConnected);
+ _loadedAPIUserControls.Add(userControl);
+ }
}
ItemsControlAPI.ItemsSource = null;
diff --git a/src/client/DCSInsight/Misc/LoSetCommand.cs b/src/client/DCSInsight/Misc/LoSetCommand.cs
new file mode 100644
index 0000000..bc6651a
--- /dev/null
+++ b/src/client/DCSInsight/Misc/LoSetCommand.cs
@@ -0,0 +1,35 @@
+using System;
+using System.Collections.Generic;
+using System.IO;
+using System.Linq;
+using System.Windows;
+
+namespace DCSInsight.Misc
+{
+ internal class LoSetCommand
+ {
+ public string Description { get; private set; }
+ public string Code { get; private set; }
+
+ internal static List LoadCommands()
+ {
+ var result = new List();
+ var resourceStream = Application.GetResourceStream(new Uri(@"/dcs-insight;component/Items/iCommands.txt", UriKind.Relative));
+ if (resourceStream == null) return result;
+
+ var streamReader = new StreamReader(resourceStream.Stream);
+ string line;
+
+ while ((line = streamReader.ReadLine()) != null)
+ {
+ if(!line.Trim().StartsWith("i") || !line.Contains('\t') || line.Contains('/')) continue;
+
+ var array = line.Split('\t');
+ result.Add(new LoSetCommand{Code = array[1].Trim(), Description = array[0].Trim() });
+ }
+
+ result = result.OrderBy(o => o.Description).ToList();
+ return result;
+ }
+ }
+}
diff --git a/src/client/DCSInsight/Misc/ResultComparator.cs b/src/client/DCSInsight/Misc/ResultComparator.cs
index 32c10a6..d5fcdce 100644
--- a/src/client/DCSInsight/Misc/ResultComparator.cs
+++ b/src/client/DCSInsight/Misc/ResultComparator.cs
@@ -1,5 +1,4 @@
using System;
-using System.Diagnostics;
using System.Globalization;
using System.Text;
using DCSInsight.JSON;
diff --git a/src/client/DCSInsight/UserControls/UserControlAPI.xaml b/src/client/DCSInsight/UserControls/UserControlAPI.xaml
index 5151494..c33625a 100644
--- a/src/client/DCSInsight/UserControls/UserControlAPI.xaml
+++ b/src/client/DCSInsight/UserControls/UserControlAPI.xaml
@@ -1,11 +1,12 @@
-
+
@@ -21,7 +22,7 @@
-
+
@@ -33,8 +34,8 @@
-
+
-
+
diff --git a/src/client/DCSInsight/UserControls/UserControlAPI.xaml.cs b/src/client/DCSInsight/UserControls/UserControlAPI.xaml.cs
index fb3a6c0..411e4cd 100644
--- a/src/client/DCSInsight/UserControls/UserControlAPI.xaml.cs
+++ b/src/client/DCSInsight/UserControls/UserControlAPI.xaml.cs
@@ -1,7 +1,6 @@
using System;
using System.Collections.Generic;
using System.Linq;
-using System.Threading;
using System.Threading.Tasks;
using System.Windows;
using System.Windows.Controls;
@@ -9,68 +8,42 @@
using DCSInsight.Events;
using DCSInsight.JSON;
using DCSInsight.Misc;
-using NLog;
namespace DCSInsight.UserControls
{
///
/// Interaction logic for UserControlAPI.xaml
///
- public partial class UserControlAPI : UserControl, IDisposable, IAsyncDisposable
+ public partial class UserControlAPI : UserControlAPIBase
{
- private static readonly Logger Logger = LogManager.GetCurrentClassLogger();
- private readonly DCSAPI _dcsAPI;
- private bool _isLoaded;
- private readonly List _textBoxParameterList = new();
- private bool _isConnected;
- private readonly Timer _pollingTimer;
- private bool _canSend;
- private bool _keepResults;
- private Button _buttonSend;
- private Label _labelKeepResults;
- private CheckBox _checkBoxKeepResults;
- private Label _labelPolling;
- private CheckBox _checkBoxPolling;
- private Label _labelPollingInterval;
- private ComboBox _comboBoxPollTimes;
- public int Id { get; private set; }
-
- public UserControlAPI(DCSAPI dcsAPI, bool isConnected)
+ public UserControlAPI(DCSAPI dcsAPI, bool isConnected) : base(dcsAPI, isConnected)
{
InitializeComponent();
- _dcsAPI = dcsAPI;
- Id = _dcsAPI.Id;
- _isConnected = isConnected;
- _pollingTimer = new Timer(PollingTimerCallback);
- _pollingTimer.Change(Timeout.Infinite, 10000);
}
- public void Dispose()
+ public new void Dispose()
{
- _pollingTimer?.Dispose();
+ base.Dispose();
GC.SuppressFinalize(this);
}
- public async ValueTask DisposeAsync()
+ public new async ValueTask DisposeAsync()
{
- if (_pollingTimer != null)
- {
- await _pollingTimer.DisposeAsync();
- GC.SuppressFinalize(this);
- }
+ await base.DisposeAsync();
+ GC.SuppressFinalize(this);
}
private void UserControlAPI_OnLoaded(object sender, RoutedEventArgs e)
{
try
{
- if (_isLoaded) return;
+ if (IsControlLoaded) return;
IsTabStop = true;
BuildUI();
- _isLoaded = true;
+ IsControlLoaded = true;
}
catch (Exception ex)
{
@@ -78,31 +51,18 @@ private void UserControlAPI_OnLoaded(object sender, RoutedEventArgs e)
}
}
- private void SetFormState()
+ protected override void SetFormState()
{
try
{
- _buttonSend.IsEnabled = !_textBoxParameterList.Any(o => string.IsNullOrEmpty(o.Text)) && _isConnected;
+ ButtonSend.IsEnabled = !TextBoxParameterList.Any(o => string.IsNullOrEmpty(o.Text)) && IsConnected;
- if (_dcsAPI.ReturnsData)
+ if (DCSAPI.ReturnsData)
{
- _checkBoxPolling.IsEnabled = _buttonSend.IsEnabled;
- _comboBoxPollTimes.IsEnabled = _checkBoxPolling.IsChecked == false;
+ CheckBoxPolling.IsEnabled = ButtonSend.IsEnabled;
+ ComboBoxPollTimes.IsEnabled = CheckBoxPolling.IsChecked == false;
}
- _canSend = _buttonSend.IsEnabled;
- }
- catch (Exception ex)
- {
- Common.ShowErrorMessageBox(ex);
- }
- }
-
- public void SetConnectionStatus(bool connected)
- {
- try
- {
- _isConnected = connected;
- SetFormState();
+ CanSend = ButtonSend.IsEnabled;
}
catch (Exception ex)
{
@@ -110,7 +70,7 @@ public void SetConnectionStatus(bool connected)
}
}
- private void BuildUI()
+ protected override void BuildUI()
{
try
{
@@ -118,12 +78,12 @@ private void BuildUI()
try
{
- TextBoxSyntax.Text = _dcsAPI.Syntax;
- TextBoxSyntax.ToolTip = $"API Id = {_dcsAPI.Id}";
+ TextBoxSyntax.Text = DCSAPI.Syntax;
+ TextBoxSyntax.ToolTip = $"Click to copy syntax. (API Id = {DCSAPI.Id})";
var controlList = new List();
- foreach (var dcsAPIParameterType in _dcsAPI.Parameters)
+ foreach (var dcsAPIParameterType in DCSAPI.Parameters)
{
var label = new Label
{
@@ -149,10 +109,10 @@ private void BuildUI()
textBox.KeyUp += TextBoxParameter_OnKeyUp;
controlList.Add(textBox);
- _textBoxParameterList.Add(textBox);
+ TextBoxParameterList.Add(textBox);
}
- _buttonSend = new Button
+ ButtonSend = new Button
{
Content = "Send",
Height = 20,
@@ -160,66 +120,66 @@ private void BuildUI()
VerticalAlignment = VerticalAlignment.Center,
Margin = new Thickness(20, 0, 0, 0)
};
- _buttonSend.Click += ButtonSend_OnClick;
- controlList.Add(_buttonSend);
+ ButtonSend.Click += ButtonSend_OnClick;
+ controlList.Add(ButtonSend);
- if (_dcsAPI.ReturnsData)
+ if (DCSAPI.ReturnsData)
{
- _labelKeepResults = new Label
+ LabelKeepResults = new Label
{
Content = "Keep results",
VerticalAlignment = VerticalAlignment.Center,
Margin = new Thickness(10, 0, 0, 0)
};
- controlList.Add(_labelKeepResults);
+ controlList.Add(LabelKeepResults);
- _checkBoxKeepResults = new CheckBox
+ CheckBoxKeepResults = new CheckBox
{
Margin = new Thickness(0, 0, 0, 0),
VerticalAlignment = VerticalAlignment.Center
};
- _checkBoxKeepResults.Checked += CheckBoxKeepResults_OnChecked;
- _checkBoxKeepResults.Unchecked += CheckBoxKeepResults_OnUnchecked;
- controlList.Add(_checkBoxKeepResults);
+ CheckBoxKeepResults.Checked += CheckBoxKeepResults_OnChecked;
+ CheckBoxKeepResults.Unchecked += CheckBoxKeepResults_OnUnchecked;
+ controlList.Add(CheckBoxKeepResults);
- _labelPolling = new Label
+ LabelPolling = new Label
{
Content = "Polling",
VerticalAlignment = VerticalAlignment.Center,
Margin = new Thickness(10, 0, 0, 0)
};
- controlList.Add(_labelPolling);
+ controlList.Add(LabelPolling);
- _checkBoxPolling = new CheckBox
+ CheckBoxPolling = new CheckBox
{
Margin = new Thickness(0, 0, 0, 0),
VerticalAlignment = VerticalAlignment.Center
};
- _checkBoxPolling.Checked += CheckBoxPolling_OnChecked;
- _checkBoxPolling.Unchecked += CheckBoxPolling_OnUnchecked;
- controlList.Add(_checkBoxPolling);
+ CheckBoxPolling.Checked += CheckBoxPolling_OnChecked;
+ CheckBoxPolling.Unchecked += CheckBoxPolling_OnUnchecked;
+ controlList.Add(CheckBoxPolling);
- _labelPollingInterval = new Label
+ LabelPollingInterval = new Label
{
Content = "Interval (ms) :",
VerticalAlignment = VerticalAlignment.Center,
Margin = new Thickness(10, 0, 0, 0)
};
- controlList.Add(_labelPollingInterval);
+ controlList.Add(LabelPollingInterval);
- _comboBoxPollTimes = new ComboBox
+ ComboBoxPollTimes = new ComboBox
{
Height = 20,
Margin = new Thickness(2, 0, 0, 0),
VerticalAlignment = VerticalAlignment.Center
};
- _comboBoxPollTimes.DataContextChanged += ComboBoxPollTimes_OnDataContextChanged;
- _comboBoxPollTimes.Items.Add(500);
- _comboBoxPollTimes.Items.Add(1000);
- _comboBoxPollTimes.Items.Add(2000);
- _comboBoxPollTimes.SelectedIndex = 0;
- controlList.Add(_comboBoxPollTimes);
+ ComboBoxPollTimes.DataContextChanged += ComboBoxPollTimes_OnDataContextChanged;
+ ComboBoxPollTimes.Items.Add(500);
+ ComboBoxPollTimes.Items.Add(1000);
+ ComboBoxPollTimes.Items.Add(2000);
+ ComboBoxPollTimes.SelectedIndex = 0;
+ controlList.Add(ComboBoxPollTimes);
}
ItemsControlParameters.ItemsSource = controlList;
@@ -237,13 +197,15 @@ private void BuildUI()
}
}
- public void SetResult(DCSAPI dcsApi)
+ public override void SetResult(DCSAPI dcsApi)
{
try
{
+ Dispatcher?.BeginInvoke((Action)(() => LabelResult.Content = $"Result ({dcsApi.ResultType})"));
+
var result = dcsApi.ErrorThrown ? dcsApi.ErrorMessage : (string.IsNullOrEmpty(dcsApi.Result) ? "nil" : dcsApi.Result);
- if (_keepResults)
+ if (KeepResults)
{
Dispatcher?.BeginInvoke((Action)(() => TextBoxResult.Text = TextBoxResult.Text.Insert(0, "\n---\n")));
Dispatcher?.BeginInvoke((Action)(() => TextBoxResult.Text = TextBoxResult.Text.Insert(0, result)));
@@ -257,14 +219,14 @@ public void SetResult(DCSAPI dcsApi)
}
}
- private void SendCommand()
+ protected override void SendCommand()
{
try
{
- foreach (var textBox in _textBoxParameterList)
+ foreach (var textBox in TextBoxParameterList)
{
var parameterId = (int)textBox.Tag;
- foreach (var parameter in _dcsAPI.Parameters)
+ foreach (var parameter in DCSAPI.Parameters)
{
if (parameter.Id == parameterId)
{
@@ -273,158 +235,7 @@ private void SendCommand()
}
}
- ICEventHandler.SendCommand(_dcsAPI);
- SetFormState();
- }
- catch (Exception ex)
- {
- Common.ShowErrorMessageBox(ex);
- }
- }
-
- private void ButtonSend_OnClick(object sender, RoutedEventArgs e)
- {
- try
- {
- SendCommand();
- }
- catch (Exception ex)
- {
- Common.ShowErrorMessageBox(ex);
- }
- }
-
- private void StartPolling(int milliseconds)
- {
- try
- {
- _pollingTimer.Change(milliseconds, milliseconds);
- SetFormState();
- }
- catch (Exception ex)
- {
- Common.ShowErrorMessageBox(ex);
- }
- }
-
- private void StopPolling()
- {
- try
- {
- _pollingTimer.Change(Timeout.Infinite, Timeout.Infinite);
- SetFormState();
- }
- catch (Exception ex)
- {
- Common.ShowErrorMessageBox(ex);
- }
- }
-
- private void PollingTimerCallback(object state)
- {
- try
- {
- if (_canSend)
- {
- Dispatcher?.BeginInvoke((Action)(SendCommand));
- }
- }
- catch (Exception ex)
- {
- ICEventHandler.SendErrorMessage( "Timer Polling Error", ex);
- }
- }
-
- private void CheckBoxPolling_OnUnchecked(object sender, RoutedEventArgs e)
- {
- try
- {
- StopPolling();
- SetFormState();
- }
- catch (Exception ex)
- {
- Common.ShowErrorMessageBox(ex);
- }
- }
-
- private void CheckBoxPolling_OnChecked(object sender, RoutedEventArgs e)
- {
- try
- {
- StartPolling(int.Parse(_comboBoxPollTimes.SelectedValue.ToString()));
- SetFormState();
- }
- catch (Exception ex)
- {
- Common.ShowErrorMessageBox(ex);
- }
- }
-
- private void ComboBoxPollTimes_OnDataContextChanged(object sender, DependencyPropertyChangedEventArgs e)
- {
- try
- {
- SetFormState();
- }
- catch (Exception ex)
- {
- Common.ShowErrorMessageBox(ex);
- }
- }
-
- private void TextBoxParameter_OnKeyDown_Number(object sender, KeyEventArgs e)
- {
- try
- {
- if (e.Key is not (>= Key.D0 and <= Key.D9 or >= Key.NumPad0 and <= Key.NumPad9 or Key.OemPeriod or Key.Tab) && e.Key != Key.OemMinus && e.Key != Key.OemPlus
- && e.Key != Key.Add && e.Key != Key.Subtract)
- {
- e.Handled = true;
- return;
- }
- SetFormState();
- }
- catch (Exception ex)
- {
- Common.ShowErrorMessageBox(ex);
- }
- }
-
- private void TextBoxParameter_OnKeyUp(object sender, KeyEventArgs e)
- {
- try
- {
- if (e.Key == Key.Enter && _canSend)
- {
- SendCommand();
- }
- SetFormState();
- }
- catch (Exception ex)
- {
- Common.ShowErrorMessageBox(ex);
- }
- }
-
- private void CheckBoxKeepResults_OnUnchecked(object sender, RoutedEventArgs e)
- {
- try
- {
- _keepResults = false;
- SetFormState();
- }
- catch (Exception ex)
- {
- Common.ShowErrorMessageBox(ex);
- }
- }
-
- private void CheckBoxKeepResults_OnChecked(object sender, RoutedEventArgs e)
- {
- try
- {
- _keepResults = true;
+ ICEventHandler.SendCommand(DCSAPI);
SetFormState();
}
catch (Exception ex)
diff --git a/src/client/DCSInsight/UserControls/UserControlAPIBase.cs b/src/client/DCSInsight/UserControls/UserControlAPIBase.cs
new file mode 100644
index 0000000..65fe6e3
--- /dev/null
+++ b/src/client/DCSInsight/UserControls/UserControlAPIBase.cs
@@ -0,0 +1,269 @@
+using System;
+using System.Collections.Generic;
+using System.Media;
+using System.Threading;
+using System.Threading.Tasks;
+using System.Windows;
+using System.Windows.Controls;
+using System.Windows.Input;
+using DCSInsight.Events;
+using DCSInsight.JSON;
+using DCSInsight.Misc;
+using NLog;
+
+namespace DCSInsight.UserControls
+{
+ ///
+ /// Interaction logic for UserControlAPIBase.xaml
+ ///
+ public abstract partial class UserControlAPIBase : UserControl, IDisposable, IAsyncDisposable
+ {
+ protected static readonly Logger Logger = LogManager.GetCurrentClassLogger();
+ protected readonly DCSAPI DCSAPI;
+ protected bool IsControlLoaded;
+ protected readonly List TextBoxParameterList = new();
+ protected readonly List ComboBoxParameterList = new();
+ protected bool IsConnected;
+ protected readonly Timer PollingTimer;
+ protected bool CanSend;
+ protected bool KeepResults;
+ protected Button ButtonSend;
+ protected Label LabelKeepResults;
+ protected CheckBox CheckBoxKeepResults;
+ protected Label LabelPolling;
+ protected CheckBox CheckBoxPolling;
+ protected Label LabelPollingInterval;
+ protected ComboBox ComboBoxPollTimes;
+ public int Id { get; protected set; }
+ protected abstract void BuildUI();
+ public abstract void SetResult(DCSAPI dcsApi);
+ protected abstract void SendCommand();
+ protected abstract void SetFormState();
+
+ protected UserControlAPIBase(DCSAPI dcsAPI, bool isConnected)
+ {
+ DCSAPI = dcsAPI;
+ Id = DCSAPI.Id;
+ IsConnected = isConnected;
+ PollingTimer = new Timer(PollingTimerCallback);
+ PollingTimer.Change(Timeout.Infinite, 10000);
+ }
+
+ public void Dispose()
+ {
+ PollingTimer?.Dispose();
+ GC.SuppressFinalize(this);
+ }
+
+ public async ValueTask DisposeAsync()
+ {
+ if (PollingTimer != null)
+ {
+ await PollingTimer.DisposeAsync();
+ GC.SuppressFinalize(this);
+ }
+ }
+
+ public void SetConnectionStatus(bool connected)
+ {
+ try
+ {
+ IsConnected = connected;
+ SetFormState();
+ }
+ catch (Exception ex)
+ {
+ Common.ShowErrorMessageBox(ex);
+ }
+ }
+
+ protected void ButtonSend_OnClick(object sender, RoutedEventArgs e)
+ {
+ try
+ {
+ SendCommand();
+ }
+ catch (Exception ex)
+ {
+ Common.ShowErrorMessageBox(ex);
+ }
+ }
+
+ protected void StartPolling(int milliseconds)
+ {
+ try
+ {
+ PollingTimer.Change(milliseconds, milliseconds);
+ SetFormState();
+ }
+ catch (Exception ex)
+ {
+ Common.ShowErrorMessageBox(ex);
+ }
+ }
+
+ protected void StopPolling()
+ {
+ try
+ {
+ PollingTimer.Change(Timeout.Infinite, Timeout.Infinite);
+ SetFormState();
+ }
+ catch (Exception ex)
+ {
+ Common.ShowErrorMessageBox(ex);
+ }
+ }
+
+ protected void PollingTimerCallback(object state)
+ {
+ try
+ {
+ if (CanSend)
+ {
+ Dispatcher?.BeginInvoke((Action)(SendCommand));
+ }
+ }
+ catch (Exception ex)
+ {
+ ICEventHandler.SendErrorMessage( "Timer Polling Error", ex);
+ }
+ }
+
+ protected void CheckBoxPolling_OnUnchecked(object sender, RoutedEventArgs e)
+ {
+ try
+ {
+ StopPolling();
+ SetFormState();
+ }
+ catch (Exception ex)
+ {
+ Common.ShowErrorMessageBox(ex);
+ }
+ }
+
+ protected void CheckBoxPolling_OnChecked(object sender, RoutedEventArgs e)
+ {
+ try
+ {
+ StartPolling(int.Parse(ComboBoxPollTimes.SelectedValue.ToString()));
+ SetFormState();
+ }
+ catch (Exception ex)
+ {
+ Common.ShowErrorMessageBox(ex);
+ }
+ }
+
+ protected void ComboBoxPollTimes_OnDataContextChanged(object sender, DependencyPropertyChangedEventArgs e)
+ {
+ try
+ {
+ SetFormState();
+ }
+ catch (Exception ex)
+ {
+ Common.ShowErrorMessageBox(ex);
+ }
+ }
+
+ protected void TextBoxParameter_OnKeyDown_Number(object sender, KeyEventArgs e)
+ {
+ try
+ {
+ if (e.Key is not (>= Key.D0 and <= Key.D9 or >= Key.NumPad0 and <= Key.NumPad9 or Key.OemPeriod or Key.Tab) && e.Key != Key.OemMinus && e.Key != Key.OemPlus
+ && e.Key != Key.Add && e.Key != Key.Subtract)
+ {
+ e.Handled = true;
+ return;
+ }
+ SetFormState();
+ }
+ catch (Exception ex)
+ {
+ Common.ShowErrorMessageBox(ex);
+ }
+ }
+
+ protected void TextBoxParameter_OnKeyUp(object sender, KeyEventArgs e)
+ {
+ try
+ {
+ if (e.Key == Key.Enter && CanSend)
+ {
+ SendCommand();
+ }
+ SetFormState();
+ }
+ catch (Exception ex)
+ {
+ Common.ShowErrorMessageBox(ex);
+ }
+ }
+
+ protected void CheckBoxKeepResults_OnUnchecked(object sender, RoutedEventArgs e)
+ {
+ try
+ {
+ KeepResults = false;
+ SetFormState();
+ }
+ catch (Exception ex)
+ {
+ Common.ShowErrorMessageBox(ex);
+ }
+ }
+
+ protected void CheckBoxKeepResults_OnChecked(object sender, RoutedEventArgs e)
+ {
+ try
+ {
+ KeepResults = true;
+ SetFormState();
+ }
+ catch (Exception ex)
+ {
+ Common.ShowErrorMessageBox(ex);
+ }
+ }
+
+ protected void TextBoxSyntax_OnMouseEnter(object sender, MouseEventArgs e)
+ {
+ try
+ {
+ Mouse.OverrideCursor = Cursors.Hand;
+ }
+ catch (Exception ex)
+ {
+ Common.ShowErrorMessageBox(ex);
+ }
+ }
+
+ protected void TextBoxSyntax_OnMouseLeave(object sender, MouseEventArgs e)
+ {
+ try
+ {
+ Mouse.OverrideCursor = Cursors.Arrow;
+ }
+ catch (Exception ex)
+ {
+ Common.ShowErrorMessageBox(ex);
+ }
+ }
+
+ protected void TextBoxSyntax_OnPreviewMouseDown(object sender, MouseButtonEventArgs e)
+ {
+ try
+ {
+ var textBox = (TextBox)sender;
+ Clipboard.SetText(textBox.Text);
+ SystemSounds.Asterisk.Play();
+ }
+ catch (Exception ex)
+ {
+ Common.ShowErrorMessageBox(ex);
+ }
+ }
+ }
+}
diff --git a/src/client/DCSInsight/UserControls/UserControlLoSetCommandAPI.xaml b/src/client/DCSInsight/UserControls/UserControlLoSetCommandAPI.xaml
new file mode 100644
index 0000000..2db21f4
--- /dev/null
+++ b/src/client/DCSInsight/UserControls/UserControlLoSetCommandAPI.xaml
@@ -0,0 +1,41 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/src/client/DCSInsight/UserControls/UserControlLoSetCommandAPI.xaml.cs b/src/client/DCSInsight/UserControls/UserControlLoSetCommandAPI.xaml.cs
new file mode 100644
index 0000000..c2d1890
--- /dev/null
+++ b/src/client/DCSInsight/UserControls/UserControlLoSetCommandAPI.xaml.cs
@@ -0,0 +1,267 @@
+using System;
+using System.Collections.Generic;
+using System.Linq;
+using System.Threading.Tasks;
+using System.Windows;
+using System.Windows.Controls;
+using System.Windows.Input;
+using DCSInsight.Events;
+using DCSInsight.JSON;
+using DCSInsight.Misc;
+
+namespace DCSInsight.UserControls
+{
+ ///
+ /// Interaction logic for UserControlLoSetCommandAPI.xaml
+ ///
+ public partial class UserControlLoSetCommandAPI : UserControlAPIBase
+ {
+
+ public UserControlLoSetCommandAPI(DCSAPI dcsAPI, bool isConnected) : base(dcsAPI, isConnected)
+ {
+ InitializeComponent();
+ }
+
+ public new void Dispose()
+ {
+ base.Dispose();
+ GC.SuppressFinalize(this);
+ }
+
+ public new async ValueTask DisposeAsync()
+ {
+ await base.DisposeAsync();
+ GC.SuppressFinalize(this);
+ }
+
+ private void UserControlLoSetCommandAPI_OnLoaded(object sender, RoutedEventArgs e)
+ {
+ try
+ {
+ if (IsControlLoaded) return;
+
+ IsTabStop = true;
+
+ BuildUI();
+ IsControlLoaded = true;
+ }
+ catch (Exception ex)
+ {
+ Common.ShowErrorMessageBox(ex);
+ }
+ }
+
+ protected override void SetFormState()
+ {
+ try
+ {
+ ButtonSend.IsEnabled = !TextBoxParameterList.Any(o => string.IsNullOrEmpty(o.Text)) && IsConnected;
+
+ if (DCSAPI.ReturnsData)
+ {
+ CheckBoxPolling.IsEnabled = ButtonSend.IsEnabled;
+ ComboBoxPollTimes.IsEnabled = CheckBoxPolling.IsChecked == false;
+ }
+ CanSend = ButtonSend.IsEnabled;
+ }
+ catch (Exception ex)
+ {
+ Common.ShowErrorMessageBox(ex);
+ }
+ }
+
+ protected override void BuildUI()
+ {
+ try
+ {
+ Mouse.OverrideCursor = Cursors.Wait;
+
+ try
+ {
+ TextBoxSyntax.Text = DCSAPI.Syntax;
+ TextBoxSyntax.ToolTip = $"Click to copy syntax. (API Id = {DCSAPI.Id})";
+
+ var controlList = new List();
+
+ foreach (var dcsAPIParameterType in DCSAPI.Parameters)
+ {
+ var label = new Label
+ {
+ Content = dcsAPIParameterType.ParameterName.Replace("_", "__"),
+ VerticalAlignment = VerticalAlignment.Center
+ };
+ controlList.Add(label);
+
+ if (dcsAPIParameterType.ParameterName == "iCommand")
+ {
+ var commands = LoSetCommand.LoadCommands();
+ var comboBox = new ComboBox
+ {
+ Name = "ComboBox" + dcsAPIParameterType.Id,
+ Tag = dcsAPIParameterType.Id,
+ MinWidth = 50,
+ MaxWidth = 100,
+ Height = 20,
+ IsReadOnly = true,
+ DisplayMemberPath = "Description",
+ ItemsSource = commands
+ };
+ controlList.Add(comboBox);
+ ComboBoxParameterList.Add(comboBox);
+ }
+ else
+ {
+ var textBox = new TextBox
+ {
+ Name = "TextBox" + dcsAPIParameterType.Id,
+ Tag = dcsAPIParameterType.Id,
+ MinWidth = 50,
+ MaxWidth = 100,
+ Height = 20,
+ IsTabStop = true
+ };
+
+ if (dcsAPIParameterType.Type == ParameterTypeEnum.number)
+ {
+ textBox.KeyDown += TextBoxParameter_OnKeyDown_Number;
+ }
+ textBox.KeyUp += TextBoxParameter_OnKeyUp;
+
+ controlList.Add(textBox);
+ TextBoxParameterList.Add(textBox);
+ }
+ }
+
+ ButtonSend = new Button
+ {
+ Content = "Send",
+ Height = 20,
+ Width = 50,
+ VerticalAlignment = VerticalAlignment.Center,
+ Margin = new Thickness(20, 0, 0, 0)
+ };
+ ButtonSend.Click += ButtonSend_OnClick;
+ controlList.Add(ButtonSend);
+
+ if (DCSAPI.ReturnsData)
+ {
+ LabelKeepResults = new Label
+ {
+ Content = "Keep results",
+ VerticalAlignment = VerticalAlignment.Center,
+ Margin = new Thickness(10, 0, 0, 0)
+ };
+ controlList.Add(LabelKeepResults);
+
+ CheckBoxKeepResults = new CheckBox
+ {
+ Margin = new Thickness(0, 0, 0, 0),
+ VerticalAlignment = VerticalAlignment.Center
+ };
+ CheckBoxKeepResults.Checked += CheckBoxKeepResults_OnChecked;
+ CheckBoxKeepResults.Unchecked += CheckBoxKeepResults_OnUnchecked;
+ controlList.Add(CheckBoxKeepResults);
+
+ LabelPolling = new Label
+ {
+ Content = "Polling",
+ VerticalAlignment = VerticalAlignment.Center,
+ Margin = new Thickness(10, 0, 0, 0)
+ };
+ controlList.Add(LabelPolling);
+
+ CheckBoxPolling = new CheckBox
+ {
+ Margin = new Thickness(0, 0, 0, 0),
+ VerticalAlignment = VerticalAlignment.Center
+
+ };
+ CheckBoxPolling.Checked += CheckBoxPolling_OnChecked;
+ CheckBoxPolling.Unchecked += CheckBoxPolling_OnUnchecked;
+ controlList.Add(CheckBoxPolling);
+
+ LabelPollingInterval = new Label
+ {
+ Content = "Interval (ms) :",
+ VerticalAlignment = VerticalAlignment.Center,
+ Margin = new Thickness(10, 0, 0, 0)
+ };
+ controlList.Add(LabelPollingInterval);
+
+ ComboBoxPollTimes = new ComboBox
+ {
+ Height = 20,
+ Margin = new Thickness(2, 0, 0, 0),
+ VerticalAlignment = VerticalAlignment.Center
+ };
+ ComboBoxPollTimes.DataContextChanged += ComboBoxPollTimes_OnDataContextChanged;
+ ComboBoxPollTimes.Items.Add(500);
+ ComboBoxPollTimes.Items.Add(1000);
+ ComboBoxPollTimes.Items.Add(2000);
+ ComboBoxPollTimes.SelectedIndex = 0;
+ controlList.Add(ComboBoxPollTimes);
+ }
+
+ ItemsControlParameters.ItemsSource = controlList;
+ SetFormState();
+ }
+ catch (Exception ex)
+ {
+ Common.ShowErrorMessageBox(ex);
+ }
+
+ }
+ finally
+ {
+ Mouse.OverrideCursor = Cursors.Arrow;
+ }
+ }
+
+ public override void SetResult(DCSAPI dcsApi)
+ {
+ try
+ {
+ Dispatcher?.BeginInvoke((Action)(() => LabelResult.Content = $"Result ({dcsApi.ResultType})"));
+
+ var result = dcsApi.ErrorThrown ? dcsApi.ErrorMessage : (string.IsNullOrEmpty(dcsApi.Result) ? "nil" : dcsApi.Result);
+
+ if (KeepResults)
+ {
+ Dispatcher?.BeginInvoke((Action)(() => TextBoxResult.Text = TextBoxResult.Text.Insert(0, "\n---\n")));
+ Dispatcher?.BeginInvoke((Action)(() => TextBoxResult.Text = TextBoxResult.Text.Insert(0, result)));
+ return;
+ }
+ Dispatcher?.BeginInvoke((Action)(() => TextBoxResult.Text = result));
+ }
+ catch (Exception ex)
+ {
+ Common.ShowErrorMessageBox(ex);
+ }
+ }
+
+ protected override void SendCommand()
+ {
+ try
+ {
+ foreach (var textBox in TextBoxParameterList)
+ {
+ var parameterId = (int)textBox.Tag;
+ foreach (var parameter in DCSAPI.Parameters)
+ {
+ if (parameter.Id == parameterId)
+ {
+ parameter.Value = textBox.Text;
+ }
+ }
+ }
+
+ ICEventHandler.SendCommand(DCSAPI);
+ SetFormState();
+ }
+ catch (Exception ex)
+ {
+ Common.ShowErrorMessageBox(ex);
+ }
+ }
+ }
+}
diff --git a/src/client/DCSInsight/Windows/WindowRangeTest.xaml.cs b/src/client/DCSInsight/Windows/WindowRangeTest.xaml.cs
index 49e1ac6..1930064 100644
--- a/src/client/DCSInsight/Windows/WindowRangeTest.xaml.cs
+++ b/src/client/DCSInsight/Windows/WindowRangeTest.xaml.cs
@@ -1,7 +1,6 @@
using System;
using System.Collections.Generic;
using System.ComponentModel;
-using System.Globalization;
using System.Linq;
using System.Text;
using System.Threading;
diff --git a/src/server/Scripts/DCS-INSIGHT/lib/APIHandler.lua b/src/server/Scripts/DCS-INSIGHT/lib/APIHandler.lua
index f49fa1b..3e6acfc 100644
--- a/src/server/Scripts/DCS-INSIGHT/lib/APIHandler.lua
+++ b/src/server/Scripts/DCS-INSIGHT/lib/APIHandler.lua
@@ -13,7 +13,6 @@ local LoGetAircraftDrawArgumentValueAPI = require("Scripts.DCS-INSIGHT.lib.comma
local LoGetSelfDataAPI = require("Scripts.DCS-INSIGHT.lib.commands.LoGetSelfDataAPI")
local LoGetModelTimeAPI = require("Scripts.DCS-INSIGHT.lib.commands.LoGetModelTimeAPI")
local LoGetMissionStartTimeAPI = require("Scripts.DCS-INSIGHT.lib.commands.LoGetMissionStartTimeAPI")
-local LoIsOwnshipExportAllowedAPI = require("Scripts.DCS-INSIGHT.lib.commands.LoIsOwnshipExportAllowedAPI")
local LoGetPilotNameAPI = require("Scripts.DCS-INSIGHT.lib.commands.LoGetPilotNameAPI")
local LoGetIndicatedAirSpeedAPI = require("Scripts.DCS-INSIGHT.lib.commands.LoGetIndicatedAirSpeedAPI")
local LoGetAccelerationUnitsAPI = require("Scripts.DCS-INSIGHT.lib.commands.LoGetAccelerationUnitsAPI")
@@ -39,6 +38,31 @@ local LoGetMagneticYawAPI = require("Scripts.DCS-INSIGHT.lib.commands.LoGetMagne
local LoGetBasicAtmospherePressureAPI = require("Scripts.DCS-INSIGHT.lib.commands.LoGetBasicAtmospherePressureAPI")
local LoGetMCPStateAPI = require("Scripts.DCS-INSIGHT.lib.commands.LoGetMCPStateAPI")
local LoGetTWSInfoAPI = require("Scripts.DCS-INSIGHT.lib.commands.LoGetTWSInfoAPI")
+local LoGetAngleOfSideSlipAPI = require("Scripts.DCS-INSIGHT.lib.commands.LoGetAngleOfSideSlipAPI")
+local LoGetRadarAltimeterAPI = require("Scripts.DCS-INSIGHT.lib.commands.LoGetRadarAltimeterAPI")
+local LoSetCommand1API = require("Scripts.DCS-INSIGHT.lib.commands.LoSetCommand1API")
+local LoSetCommand2API = require("Scripts.DCS-INSIGHT.lib.commands.LoSetCommand2API")
+local LoGetRouteAPI = require("Scripts.DCS-INSIGHT.lib.commands.LoGetRouteAPI")
+local LoGetWingInfoAPI = require("Scripts.DCS-INSIGHT.lib.commands.LoGetWingInfoAPI")
+local LoGetRadioBeaconsStatusAPI = require("Scripts.DCS-INSIGHT.lib.commands.LoGetRadioBeaconsStatusAPI")
+local LoGetVectorVelocityAPI = require("Scripts.DCS-INSIGHT.lib.commands.LoGetVectorVelocityAPI")
+local LoGetVectorWindVelocityAPI = require("Scripts.DCS-INSIGHT.lib.commands.LoGetVectorWindVelocityAPI")
+local LoGetAngularVelocityAPI = require("Scripts.DCS-INSIGHT.lib.commands.LoGetAngularVelocityAPI")
+local LoGetFMDataAPI = require("Scripts.DCS-INSIGHT.lib.commands.LoGetFMDataAPI")
+local LoIsOwnshipExportAllowedAPI = require("Scripts.DCS-INSIGHT.lib.commands.LoIsOwnshipExportAllowedAPI")
+local LoIsObjectExportAllowedAPI = require("Scripts.DCS-INSIGHT.lib.commands.LoIsObjectExportAllowedAPI")
+local LoIsSensorExportAllowedAPI = require("Scripts.DCS-INSIGHT.lib.commands.LoIsSensorExportAllowedAPI")
+local LoGetObjectByIdAPI = require("Scripts.DCS-INSIGHT.lib.commands.LoGetObjectByIdAPI")
+local LoGetWorldObjectsAPI = require("Scripts.DCS-INSIGHT.lib.commands.LoGetWorldObjectsAPI")
+local LoGetTargetInformationAPI = require("Scripts.DCS-INSIGHT.lib.commands.LoGetTargetInformationAPI")
+local LoGetLockedTargetInformationAPI = require("Scripts.DCS-INSIGHT.lib.commands.LoGetLockedTargetInformationAPI")
+local LoGetF15_TWS_ContactsAPI = require("Scripts.DCS-INSIGHT.lib.commands.LoGetF15_TWS_ContactsAPI")
+local LoGetSightingSystemInfoAPI = require("Scripts.DCS-INSIGHT.lib.commands.LoGetSightingSystemInfoAPI")
+local LoGetWingTargetsAPI = require("Scripts.DCS-INSIGHT.lib.commands.LoGetWingTargetsAPI")
+local LoGeoCoordinatesToLoCoordinatesAPI =
+ require("Scripts.DCS-INSIGHT.lib.commands.LoGeoCoordinatesToLoCoordinatesAPI")
+local LoGetAltitudeAPI = require("Scripts.DCS-INSIGHT.lib.commands.LoGetAltitudeAPI")
+local LoCoordinatesToGeoCoordinatesAPI = require("Scripts.DCS-INSIGHT.lib.commands.LoCoordinatesToGeoCoordinatesAPI")
--- @class APIHandler
--- @field public commandsTable table
@@ -63,160 +87,202 @@ local function counter()
return id
end
---- @func Fills the commands and api table
-function APIHandler:init()
- local getArgumentValueAPI = GetArgumentValueAPI:new(nil, counter())
- self.commandsTable[#self.commandsTable + 1] = getArgumentValueAPI
- self.apiTable[#self.apiTable + 1] = getArgumentValueAPI.apiInfo
+--- @func Fills the commands and api table with APIs having device_id as parameter
+function APIHandler:addDeviceAPIs()
+ self.commandsTable[#self.commandsTable + 1] = GetArgumentValueAPI:new(nil, counter())
+ self.apiTable[#self.apiTable + 1] = self.commandsTable[#self.commandsTable].apiInfo
+
+ self.commandsTable[#self.commandsTable + 1] = SetArgumentValueAPI:new(nil, counter())
+ self.apiTable[#self.apiTable + 1] = self.commandsTable[#self.commandsTable].apiInfo
+
+ self.commandsTable[#self.commandsTable + 1] = PerformClickableActionAPI:new(nil, counter())
+ self.apiTable[#self.apiTable + 1] = self.commandsTable[#self.commandsTable].apiInfo
+
+ self.commandsTable[#self.commandsTable + 1] = SetCommandAPI:new(nil, counter())
+ self.apiTable[#self.apiTable + 1] = self.commandsTable[#self.commandsTable].apiInfo
+
+ self.commandsTable[#self.commandsTable + 1] = GetFrequencyAPI:new(nil, counter())
+ self.apiTable[#self.apiTable + 1] = self.commandsTable[#self.commandsTable].apiInfo
- local setArgumentValueAPI = SetArgumentValueAPI:new(nil, counter())
- self.commandsTable[#self.commandsTable + 1] = setArgumentValueAPI
- self.apiTable[#self.apiTable + 1] = setArgumentValueAPI.apiInfo
+ self.commandsTable[#self.commandsTable + 1] = SetFrequencyAPI:new(nil, counter())
+ self.apiTable[#self.apiTable + 1] = self.commandsTable[#self.commandsTable].apiInfo
- local performClickableActionAPI = PerformClickableActionAPI:new(nil, counter())
- self.commandsTable[#self.commandsTable + 1] = performClickableActionAPI
- self.apiTable[#self.apiTable + 1] = performClickableActionAPI.apiInfo
+ self.commandsTable[#self.commandsTable + 1] = UpdateArgumentsAPI:new(nil, counter())
+ self.apiTable[#self.apiTable + 1] = self.commandsTable[#self.commandsTable].apiInfo
+end
+
+--- @func Fills the commands and api table with APIs taking parameters but not device_id
+function APIHandler:addParameterAPIs()
+ self.commandsTable[#self.commandsTable + 1] = LoGetAircraftDrawArgumentValueAPI:new(nil, counter())
+ self.apiTable[#self.apiTable + 1] = self.commandsTable[#self.commandsTable].apiInfo
+
+ self.commandsTable[#self.commandsTable + 1] = LoGetObjectByIdAPI:new(nil, counter())
+ self.apiTable[#self.apiTable + 1] = self.commandsTable[#self.commandsTable].apiInfo
+
+ self.commandsTable[#self.commandsTable + 1] = ListIndicationAPI:new(nil, counter())
+ self.apiTable[#self.apiTable + 1] = self.commandsTable[#self.commandsTable].apiInfo
- local setCommandAPI = SetCommandAPI:new(nil, counter())
- self.commandsTable[#self.commandsTable + 1] = setCommandAPI
- self.apiTable[#self.apiTable + 1] = setCommandAPI.apiInfo
+ self.commandsTable[#self.commandsTable + 1] = LoSetCommand1API:new(nil, counter())
+ self.apiTable[#self.apiTable + 1] = self.commandsTable[#self.commandsTable].apiInfo
+
+ self.commandsTable[#self.commandsTable + 1] = LoSetCommand2API:new(nil, counter())
+ self.apiTable[#self.apiTable + 1] = self.commandsTable[#self.commandsTable].apiInfo
+
+ self.commandsTable[#self.commandsTable + 1] = LoGeoCoordinatesToLoCoordinatesAPI:new(nil, counter())
+ self.apiTable[#self.apiTable + 1] = self.commandsTable[#self.commandsTable].apiInfo
+
+ self.commandsTable[#self.commandsTable + 1] = LoCoordinatesToGeoCoordinatesAPI:new(nil, counter())
+ self.apiTable[#self.apiTable + 1] = self.commandsTable[#self.commandsTable].apiInfo
+end
- local getFrequencyAPI = GetFrequencyAPI:new(nil, counter())
- self.commandsTable[#self.commandsTable + 1] = getFrequencyAPI
- self.apiTable[#self.apiTable + 1] = getFrequencyAPI.apiInfo
+--- @func Fills the commands and api table with APIs not taking parameters
+function APIHandler:addParameterlessAPIs()
+ self.commandsTable[#self.commandsTable + 1] = ListCockpitParamsAPI:new(nil, counter())
+ self.apiTable[#self.apiTable + 1] = self.commandsTable[#self.commandsTable].apiInfo
- local setFrequencyAPI = SetFrequencyAPI:new(nil, counter())
- self.commandsTable[#self.commandsTable + 1] = setFrequencyAPI
- self.apiTable[#self.apiTable + 1] = setFrequencyAPI.apiInfo
+ self.commandsTable[#self.commandsTable + 1] = LoGetSelfDataAPI:new(nil, counter())
+ self.apiTable[#self.apiTable + 1] = self.commandsTable[#self.commandsTable].apiInfo
- local updateArgumentsAPI = UpdateArgumentsAPI:new(nil, counter())
- self.commandsTable[#self.commandsTable + 1] = updateArgumentsAPI
- self.apiTable[#self.apiTable + 1] = updateArgumentsAPI.apiInfo
+ self.commandsTable[#self.commandsTable + 1] = LoGetModelTimeAPI:new(nil, counter())
+ self.apiTable[#self.apiTable + 1] = self.commandsTable[#self.commandsTable].apiInfo
- --[[ APIs not requiring device parameter below ]]
+ self.commandsTable[#self.commandsTable + 1] = LoGetMissionStartTimeAPI:new(nil, counter())
+ self.apiTable[#self.apiTable + 1] = self.commandsTable[#self.commandsTable].apiInfo
- local loGetAircraftDrawArgumentValue = LoGetAircraftDrawArgumentValueAPI:new(nil, counter())
- self.commandsTable[#self.commandsTable + 1] = loGetAircraftDrawArgumentValue
- self.apiTable[#self.apiTable + 1] = loGetAircraftDrawArgumentValue.apiInfo
+ self.commandsTable[#self.commandsTable + 1] = LoGetPilotNameAPI:new(nil, counter())
+ self.apiTable[#self.apiTable + 1] = self.commandsTable[#self.commandsTable].apiInfo
- local listIndicationAPI = ListIndicationAPI:new(nil, counter())
- self.commandsTable[#self.commandsTable + 1] = listIndicationAPI
- self.apiTable[#self.apiTable + 1] = listIndicationAPI.apiInfo
+ self.commandsTable[#self.commandsTable + 1] = LoGetIndicatedAirSpeedAPI:new(nil, counter())
+ self.apiTable[#self.apiTable + 1] = self.commandsTable[#self.commandsTable].apiInfo
- --[[ APIs not requiring parameters below ]]
+ self.commandsTable[#self.commandsTable + 1] = LoGetAccelerationUnitsAPI:new(nil, counter())
+ self.apiTable[#self.apiTable + 1] = self.commandsTable[#self.commandsTable].apiInfo
- local listCockpitParamsAPI = ListCockpitParamsAPI:new(nil, counter())
- self.commandsTable[#self.commandsTable + 1] = listCockpitParamsAPI
- self.apiTable[#self.apiTable + 1] = listCockpitParamsAPI.apiInfo
+ self.commandsTable[#self.commandsTable + 1] = LoGetADIPitchBankYawAPI:new(nil, counter())
+ self.apiTable[#self.apiTable + 1] = self.commandsTable[#self.commandsTable].apiInfo
- local loGetSelfData = LoGetSelfDataAPI:new(nil, counter())
- self.commandsTable[#self.commandsTable + 1] = loGetSelfData
- self.apiTable[#self.apiTable + 1] = loGetSelfData.apiInfo
+ self.commandsTable[#self.commandsTable + 1] = LoGetSnaresAPI:new(nil, counter())
+ self.apiTable[#self.apiTable + 1] = self.commandsTable[#self.commandsTable].apiInfo
- local loGetModelTimeAPI = LoGetModelTimeAPI:new(nil, counter())
- self.commandsTable[#self.commandsTable + 1] = loGetModelTimeAPI
- self.apiTable[#self.apiTable + 1] = loGetModelTimeAPI.apiInfo
+ self.commandsTable[#self.commandsTable + 1] = LoGetAltitudeAboveSeaLevelAPI:new(nil, counter())
+ self.apiTable[#self.apiTable + 1] = self.commandsTable[#self.commandsTable].apiInfo
- local loGetMissionStartTimeAPI = LoGetMissionStartTimeAPI:new(nil, counter())
- self.commandsTable[#self.commandsTable + 1] = loGetMissionStartTimeAPI
- self.apiTable[#self.apiTable + 1] = loGetMissionStartTimeAPI.apiInfo
+ self.commandsTable[#self.commandsTable + 1] = LoGetAltitudeAboveGroundLevelAPI:new(nil, counter())
+ self.apiTable[#self.apiTable + 1] = self.commandsTable[#self.commandsTable].apiInfo
- local loIsOwnshipExportAllowedAPI = LoIsOwnshipExportAllowedAPI:new(nil, counter())
- self.commandsTable[#self.commandsTable + 1] = loIsOwnshipExportAllowedAPI
- self.apiTable[#self.apiTable + 1] = loIsOwnshipExportAllowedAPI.apiInfo
+ self.commandsTable[#self.commandsTable + 1] = LoGetVerticalVelocityAPI:new(nil, counter())
+ self.apiTable[#self.apiTable + 1] = self.commandsTable[#self.commandsTable].apiInfo
- local loGetPilotName = LoGetPilotNameAPI:new(nil, counter())
- self.commandsTable[#self.commandsTable + 1] = loGetPilotName
- self.apiTable[#self.apiTable + 1] = loGetPilotName.apiInfo
+ self.commandsTable[#self.commandsTable + 1] = LoGetTrueAirSpeedAPI:new(nil, counter())
+ self.apiTable[#self.apiTable + 1] = self.commandsTable[#self.commandsTable].apiInfo
- local loGetIndicatedAirSpeedAPI = LoGetIndicatedAirSpeedAPI:new(nil, counter())
- self.commandsTable[#self.commandsTable + 1] = loGetIndicatedAirSpeedAPI
- self.apiTable[#self.apiTable + 1] = loGetIndicatedAirSpeedAPI.apiInfo
+ self.commandsTable[#self.commandsTable + 1] = LoGetMachNumberAPI:new(nil, counter())
+ self.apiTable[#self.apiTable + 1] = self.commandsTable[#self.commandsTable].apiInfo
- local loGetAccelerationUnitsAPI = LoGetAccelerationUnitsAPI:new(nil, counter())
- self.commandsTable[#self.commandsTable + 1] = loGetAccelerationUnitsAPI
- self.apiTable[#self.apiTable + 1] = loGetAccelerationUnitsAPI.apiInfo
+ self.commandsTable[#self.commandsTable + 1] = LoGetAngleOfAttackAPI:new(nil, counter())
+ self.apiTable[#self.apiTable + 1] = self.commandsTable[#self.commandsTable].apiInfo
- local loGetADIPitchBankYawAPI = LoGetADIPitchBankYawAPI:new(nil, counter())
- self.commandsTable[#self.commandsTable + 1] = loGetADIPitchBankYawAPI
- self.apiTable[#self.apiTable + 1] = loGetADIPitchBankYawAPI.apiInfo
+ self.commandsTable[#self.commandsTable + 1] = LoGetGlideDeviationAPI:new(nil, counter())
+ self.apiTable[#self.apiTable + 1] = self.commandsTable[#self.commandsTable].apiInfo
- local loGetSnaresAPI = LoGetSnaresAPI:new(nil, counter())
- self.commandsTable[#self.commandsTable + 1] = loGetSnaresAPI
- self.apiTable[#self.apiTable + 1] = loGetSnaresAPI.apiInfo
+ self.commandsTable[#self.commandsTable + 1] = LoGetSideDeviationAPI:new(nil, counter())
+ self.apiTable[#self.apiTable + 1] = self.commandsTable[#self.commandsTable].apiInfo
- local loGetAltitudeAboveSeaLevelAPI = LoGetAltitudeAboveSeaLevelAPI:new(nil, counter())
- self.commandsTable[#self.commandsTable + 1] = loGetAltitudeAboveSeaLevelAPI
- self.apiTable[#self.apiTable + 1] = loGetAltitudeAboveSeaLevelAPI.apiInfo
+ self.commandsTable[#self.commandsTable + 1] = LoGetSlipBallPositionAPI:new(nil, counter())
+ self.apiTable[#self.apiTable + 1] = self.commandsTable[#self.commandsTable].apiInfo
- local loGetAltitudeAboveGroundLevelAPI = LoGetAltitudeAboveGroundLevelAPI:new(nil, counter())
- self.commandsTable[#self.commandsTable + 1] = loGetAltitudeAboveGroundLevelAPI
- self.apiTable[#self.apiTable + 1] = loGetAltitudeAboveGroundLevelAPI.apiInfo
+ self.commandsTable[#self.commandsTable + 1] = LoGetEngineInfoAPI:new(nil, counter())
+ self.apiTable[#self.apiTable + 1] = self.commandsTable[#self.commandsTable].apiInfo
- local loGetVerticalVelocityAPI = LoGetVerticalVelocityAPI:new(nil, counter())
- self.commandsTable[#self.commandsTable + 1] = loGetVerticalVelocityAPI
- self.apiTable[#self.apiTable + 1] = loGetVerticalVelocityAPI.apiInfo
+ self.commandsTable[#self.commandsTable + 1] = LoGetMechInfoAPI:new(nil, counter())
+ self.apiTable[#self.apiTable + 1] = self.commandsTable[#self.commandsTable].apiInfo
- local loGetTrueAirSpeedAPI = LoGetTrueAirSpeedAPI:new(nil, counter())
- self.commandsTable[#self.commandsTable + 1] = loGetTrueAirSpeedAPI
- self.apiTable[#self.apiTable + 1] = loGetTrueAirSpeedAPI.apiInfo
+ self.commandsTable[#self.commandsTable + 1] = LoGetControlPanel_HSI_API:new(nil, counter())
+ self.apiTable[#self.apiTable + 1] = self.commandsTable[#self.commandsTable].apiInfo
- local loGetMachNumberAPI = LoGetMachNumberAPI:new(nil, counter())
- self.commandsTable[#self.commandsTable + 1] = loGetMachNumberAPI
- self.apiTable[#self.apiTable + 1] = loGetMachNumberAPI.apiInfo
+ self.commandsTable[#self.commandsTable + 1] = LoGetPayloadInfoAPI:new(nil, counter())
+ self.apiTable[#self.apiTable + 1] = self.commandsTable[#self.commandsTable].apiInfo
- local loGetAngleOfAttackAPI = LoGetAngleOfAttackAPI:new(nil, counter())
- self.commandsTable[#self.commandsTable + 1] = loGetAngleOfAttackAPI
- self.apiTable[#self.apiTable + 1] = loGetAngleOfAttackAPI.apiInfo
+ self.commandsTable[#self.commandsTable + 1] = LoGetNavigationInfoAPI:new(nil, counter())
+ self.apiTable[#self.apiTable + 1] = self.commandsTable[#self.commandsTable].apiInfo
- local loGetGlideDeviationAPI = LoGetGlideDeviationAPI:new(nil, counter())
- self.commandsTable[#self.commandsTable + 1] = loGetGlideDeviationAPI
- self.apiTable[#self.apiTable + 1] = loGetGlideDeviationAPI.apiInfo
+ self.commandsTable[#self.commandsTable + 1] = LoGetMagneticYawAPI:new(nil, counter())
+ self.apiTable[#self.apiTable + 1] = self.commandsTable[#self.commandsTable].apiInfo
- local loGetSideDeviationAPI = LoGetSideDeviationAPI:new(nil, counter())
- self.commandsTable[#self.commandsTable + 1] = loGetSideDeviationAPI
- self.apiTable[#self.apiTable + 1] = loGetSideDeviationAPI.apiInfo
+ self.commandsTable[#self.commandsTable + 1] = LoGetBasicAtmospherePressureAPI:new(nil, counter())
+ self.apiTable[#self.apiTable + 1] = self.commandsTable[#self.commandsTable].apiInfo
- local loGetSlipBallPositionAPI = LoGetSlipBallPositionAPI:new(nil, counter())
- self.commandsTable[#self.commandsTable + 1] = loGetSlipBallPositionAPI
- self.apiTable[#self.apiTable + 1] = loGetSlipBallPositionAPI.apiInfo
+ self.commandsTable[#self.commandsTable + 1] = LoGetMCPStateAPI:new(nil, counter())
+ self.apiTable[#self.apiTable + 1] = self.commandsTable[#self.commandsTable].apiInfo
- local loGetEngineInfoAPI = LoGetEngineInfoAPI:new(nil, counter())
- self.commandsTable[#self.commandsTable + 1] = loGetEngineInfoAPI
- self.apiTable[#self.apiTable + 1] = loGetEngineInfoAPI.apiInfo
+ self.commandsTable[#self.commandsTable + 1] = LoGetTWSInfoAPI:new(nil, counter())
+ self.apiTable[#self.apiTable + 1] = self.commandsTable[#self.commandsTable].apiInfo
- local loGetMechInfoAPI = LoGetMechInfoAPI:new(nil, counter())
- self.commandsTable[#self.commandsTable + 1] = loGetMechInfoAPI
- self.apiTable[#self.apiTable + 1] = loGetMechInfoAPI.apiInfo
+ self.commandsTable[#self.commandsTable + 1] = LoGetAngleOfSideSlipAPI:new(nil, counter())
+ self.apiTable[#self.apiTable + 1] = self.commandsTable[#self.commandsTable].apiInfo
- local loGetControlPanel_HSI_API = LoGetControlPanel_HSI_API:new(nil, counter())
- self.commandsTable[#self.commandsTable + 1] = loGetControlPanel_HSI_API
- self.apiTable[#self.apiTable + 1] = loGetControlPanel_HSI_API.apiInfo
+ self.commandsTable[#self.commandsTable + 1] = LoGetRadarAltimeterAPI:new(nil, counter())
+ self.apiTable[#self.apiTable + 1] = self.commandsTable[#self.commandsTable].apiInfo
- local loGetPayloadInfoAPI = LoGetPayloadInfoAPI:new(nil, counter())
- self.commandsTable[#self.commandsTable + 1] = loGetPayloadInfoAPI
- self.apiTable[#self.apiTable + 1] = loGetPayloadInfoAPI.apiInfo
+ self.commandsTable[#self.commandsTable + 1] = LoGetRouteAPI:new(nil, counter())
+ self.apiTable[#self.apiTable + 1] = self.commandsTable[#self.commandsTable].apiInfo
- local loGetNavigationInfoAPI = LoGetNavigationInfoAPI:new(nil, counter())
- self.commandsTable[#self.commandsTable + 1] = loGetNavigationInfoAPI
- self.apiTable[#self.apiTable + 1] = loGetNavigationInfoAPI.apiInfo
+ self.commandsTable[#self.commandsTable + 1] = LoGetWingInfoAPI:new(nil, counter())
+ self.apiTable[#self.apiTable + 1] = self.commandsTable[#self.commandsTable].apiInfo
- local loGetMagneticYawAPI = LoGetMagneticYawAPI:new(nil, counter())
- self.commandsTable[#self.commandsTable + 1] = loGetMagneticYawAPI
- self.apiTable[#self.apiTable + 1] = loGetMagneticYawAPI.apiInfo
+ self.commandsTable[#self.commandsTable + 1] = LoGetRadioBeaconsStatusAPI:new(nil, counter())
+ self.apiTable[#self.apiTable + 1] = self.commandsTable[#self.commandsTable].apiInfo
- local loGetBasicAtmospherePressureAPI = LoGetBasicAtmospherePressureAPI:new(nil, counter())
- self.commandsTable[#self.commandsTable + 1] = loGetBasicAtmospherePressureAPI
- self.apiTable[#self.apiTable + 1] = loGetBasicAtmospherePressureAPI.apiInfo
+ self.commandsTable[#self.commandsTable + 1] = LoGetVectorVelocityAPI:new(nil, counter())
+ self.apiTable[#self.apiTable + 1] = self.commandsTable[#self.commandsTable].apiInfo
- local loGetMCPStateAPI = LoGetMCPStateAPI:new(nil, counter())
- self.commandsTable[#self.commandsTable + 1] = loGetMCPStateAPI
- self.apiTable[#self.apiTable + 1] = loGetMCPStateAPI.apiInfo
+ self.commandsTable[#self.commandsTable + 1] = LoGetVectorWindVelocityAPI:new(nil, counter())
+ self.apiTable[#self.apiTable + 1] = self.commandsTable[#self.commandsTable].apiInfo
- local loGetTWSInfoAPI = LoGetTWSInfoAPI:new(nil, counter())
- self.commandsTable[#self.commandsTable + 1] = loGetTWSInfoAPI
- self.apiTable[#self.apiTable + 1] = loGetTWSInfoAPI.apiInfo
+ self.commandsTable[#self.commandsTable + 1] = LoGetAngularVelocityAPI:new(nil, counter())
+ self.apiTable[#self.apiTable + 1] = self.commandsTable[#self.commandsTable].apiInfo
+ self.commandsTable[#self.commandsTable + 1] = LoGetFMDataAPI:new(nil, counter())
+ self.apiTable[#self.apiTable + 1] = self.commandsTable[#self.commandsTable].apiInfo
+
+ self.commandsTable[#self.commandsTable + 1] = LoGetWorldObjectsAPI:new(nil, counter())
+ self.apiTable[#self.apiTable + 1] = self.commandsTable[#self.commandsTable].apiInfo
+
+ self.commandsTable[#self.commandsTable + 1] = LoGetTargetInformationAPI:new(nil, counter())
+ self.apiTable[#self.apiTable + 1] = self.commandsTable[#self.commandsTable].apiInfo
+
+ self.commandsTable[#self.commandsTable + 1] = LoGetLockedTargetInformationAPI:new(nil, counter())
+ self.apiTable[#self.apiTable + 1] = self.commandsTable[#self.commandsTable].apiInfo
+
+ self.commandsTable[#self.commandsTable + 1] = LoGetF15_TWS_ContactsAPI:new(nil, counter())
+ self.apiTable[#self.apiTable + 1] = self.commandsTable[#self.commandsTable].apiInfo
+
+ self.commandsTable[#self.commandsTable + 1] = LoGetSightingSystemInfoAPI:new(nil, counter())
+ self.apiTable[#self.apiTable + 1] = self.commandsTable[#self.commandsTable].apiInfo
+
+ self.commandsTable[#self.commandsTable + 1] = LoGetWingTargetsAPI:new(nil, counter())
+ self.apiTable[#self.apiTable + 1] = self.commandsTable[#self.commandsTable].apiInfo
+
+ self.commandsTable[#self.commandsTable + 1] = LoGetAltitudeAPI:new(nil, counter())
+ self.apiTable[#self.apiTable + 1] = self.commandsTable[#self.commandsTable].apiInfo
+
+ -- LoIs.. APIs
+
+ self.commandsTable[#self.commandsTable + 1] = LoIsOwnshipExportAllowedAPI:new(nil, counter())
+ self.apiTable[#self.apiTable + 1] = self.commandsTable[#self.commandsTable].apiInfo
+
+ self.commandsTable[#self.commandsTable + 1] = LoIsObjectExportAllowedAPI:new(nil, counter())
+ self.apiTable[#self.apiTable + 1] = self.commandsTable[#self.commandsTable].apiInfo
+
+ self.commandsTable[#self.commandsTable + 1] = LoIsSensorExportAllowedAPI:new(nil, counter())
+ self.apiTable[#self.apiTable + 1] = self.commandsTable[#self.commandsTable].apiInfo
+end
+
+--- @func Fills the commands and api table
+function APIHandler:init()
+ self:addDeviceAPIs()
+ self:addParameterAPIs()
+ self:addParameterlessAPIs()
self:verify_entries()
end
diff --git a/src/server/Scripts/DCS-INSIGHT/lib/DCS_API_defines.lua b/src/server/Scripts/DCS-INSIGHT/lib/DCS_API_defines.lua
index c8771e0..b87682c 100644
--- a/src/server/Scripts/DCS-INSIGHT/lib/DCS_API_defines.lua
+++ b/src/server/Scripts/DCS-INSIGHT/lib/DCS_API_defines.lua
@@ -16,40 +16,40 @@ CockpitDevice = {}
--- Updates device's arguments (mainpanel device 0)
function CockpitDevice:update_arguments() end
---- @func Sets command for a device
+--- Sets command for a device
--- @param command_id integer
--- @param value integer
function CockpitDevice:SetCommand(command_id, value) end
---- @func Sets a device's argument?
+--- Sets a device's argument?
--- @param argument_id integer
--- @param value integer
function CockpitDevice:set_argument_value(argument_id, value) end
---- @func Sets a device's frequency
+--- Sets a device's frequency
--- @param frequency number
function CockpitDevice:set_frequency(frequency) end
---- @func Gets a device's frequency
+--- Gets a device's frequency
--- @return number
function CockpitDevice:get_frequency() end
---- @func Gets a device based on the device ID as specified in devices.lua
+--- Gets a device based on the device ID as specified in devices.lua
--- @param argument_id integer
--- @return number The current value of the CockpitDevice
function CockpitDevice:get_argument_value(argument_id) end
---- @func Makes the device perform an action
+--- Makes the device perform an action
--- @param command_id integer
--- @param argument number
function CockpitDevice:performClickableAction(command_id, argument) end
---- @func Gets a device based on the device ID as specified in devices.lua
+--- Gets a device based on the device ID as specified in devices.lua
--- @param device_id integer
--- @return CockpitDevice
function GetDevice(device_id) end
---- @func Gets the draw value for a certain animation
+--- Gets the draw value for a certain animation
--- @param draw_argument_id integer
--- @return number
function LoGetAircraftDrawArgumentValue(draw_argument_id) end
@@ -74,58 +74,170 @@ LatLongAlt = {}
--- @field LatLongAlt LatLongAlt
AicraftData = {}
---- @func Returns SelfData that holds information about the aircraft
+--- Returns SelfData that holds information about the aircraft
--- @return AicraftData
function LoGetSelfData() end
---- @func Returns the simulation time
+--- Returns the simulation time
--- @return number
function LoGetModelTime() end
---- @func Returns the mission start time
+--- Returns the mission start time
--- @return number
function LoGetMissionStartTime() end
---- @func Returns HSI data
+--- Returns HSI data
--- @return number
function LoGetControlPanel_HSI() end
---- @func Returns payload information
+--- Returns payload information
--- @return number
function LoGetPayloadInfo() end
---- @func Returns magnetic yaw
+--- Returns magnetic yaw
--- @return number
function LoGetMagneticYaw() end
---- @func Returns mode control panel state
+--- Returns mode control panel state
--- @return number
function LoGetMCPState() end
---- @func Returns track while scan information
+--- Returns track while scan information
--- @return number
function LoGetTWSInfo() end
---- @func Returns atmospheric pressure
+--- Returns atmospheric pressure
--- @return number
function LoGetBasicAtmospherePressure() end
---- @func Returns navigational information
+--- Returns navigational information
--- @return number
function LoGetNavigationInfo() end
---- @func Returns whether own ships/aircraft data can be exported.
+--- Returns whether own ships/aircraft data can be exported.
--- @return boolean
function LoIsOwnshipExportAllowed() end
---- @func Returns pilot's name
+--- Returns pilot's name
--- @return string
function LoGetPilotName() end
---- @func Returns indicated airspeed
+--- Returns indicated airspeed
--- @return number
function LoGetIndicatedAirSpeed() end
+--- Returns route information
+--- @return table
+function LoGetRoute() end
+
+--- Returns information on wingman
+--- @return table
+function LoGetWingInfo() end
+
+--- Returns wind velocity
+--- @return table
+function LoGetVectorWindVelocity() end
+
+--- Returns angular velocity
+--- @return table
+function LoGetAngularVelocity() end
+
+--- Returns FM data
+--- @return table
+function LoGetFMData() end
+
+--- Returns radio beacon status
+--- @return table
+function LoGetRadioBeaconsStatus() end
+
+--- Returns vector velocity
+--- @return integer
+function LoGetVectorVelocity() end
+
+--- Set command using keyboard iCommand
+--- @param iCommand integer from DCS keyboard export list
+--- @return number
+function LoSetCommand(iCommand) end
+
+--- Set command using keyboard iCommand
+--- @param iCommand integer from DCS keyboard export list
+--- @param new_value integer for the iCommand
+--- @return number
+function LoSetCommand(iCommand, new_value) end
+
+--- Returns side slip angle
+--- @return number
+function LoGetAngleOfSideSlip() end
+
+--- Returns radar altitude
+--- @return number
+function LoGetRadarAltimeter() end
+
+--- Returns whether object export is allowed
+--- @return boolean
+function LoIsObjectExportAllowed() end
+
+--- Returns whether sensor export is allowed
+--- @return boolean
+function LoIsSensorExportAllowed() end
+
+--- Returns object
+--- @param object_id integer
+--- @return table
+function LoGetObjectById(object_id) end
+
+--- Returns all world objects
+--- @return table
+function LoGetWorldObjects() end
+
+--- Returns target information
+--- @return table
+function LoGetTargetInformation() end
+
+--- Returns locked target information
+--- @return table
+function LoGetLockedTargetInformation() end
+
+--- Returns F-15 TWS contacts
+--- @return table
+function LoGetF15_TWS_Contacts() end
+
+--- Returns Sighting system information
+--- @return table
+function LoGetSightingSystemInfo() end
+
+--- Returns wing's targets
+--- @return table
+function LoGetWingTargets() end
+
+--- Returns player's aircraft id
+--- @return string
+function LoGetPlayerPlaneId() end
+
+--- Returns altitude
+--- @return number
+function LoGetAltitude() end
+
+--- Returns name by type
+--- @param weapon_level1 integer
+--- @param weapon_level2 integer
+--- @param weapon_level3 integer
+--- @param weapon_level4 integer
+--- @return string
+function LoGetNameByType(weapon_level1, weapon_level2, weapon_level3, weapon_level4) end
+
+--- Converts lat long to x y z
+--- @param longitude_degrees number
+--- @param latitude_degrees number
+--- @return number, number, number
+function LoGeoCoordinatesToLoCoordinates(longitude_degrees, latitude_degrees) end
+
+--- Converts x, z to lat long
+--- @param x number
+--- @param z number
+--- @return number, number
+function LoCoordinatesToGeoCoordinates(x, z) end
+
--- Contains acceleration info for all dimensions
--- @class AccelerationUnit
--- @diagnostic disable-next-line: duplicate-doc-field
@@ -136,11 +248,11 @@ function LoGetIndicatedAirSpeed() end
--- @field z number
AccelerationUnit = {}
---- @func Returns G Load
+--- Returns G Load
--- @return AccelerationUnit
function LoGetAccelerationUnits() end
---- @func Returns ADI pitch, band, yaw
+--- Returns ADI pitch, band, yaw
--- @return number
function LoGetADIPitchBankYaw()
return unpack({ 0, 0, 0 })
@@ -153,58 +265,58 @@ end
--- @field flare number
CounterMeasures = {}
---- @func Returns information about countermeasures
+--- Returns information about countermeasures
--- @return CounterMeasures
function LoGetSnares() end
---- @func Returns a list of strings for a cockpit indicator (screen)
+--- Returns a list of strings for a cockpit indicator (screen)
--- @return string
function list_indication(indicator_id) end
---- @func Returns a list of pages (cockpit screens)
+--- Returns a list of pages (cockpit screens)
--- @return string
function list_cockpit_params() end
---- @func Maps value to from input_range to output_range
+--- Maps value to from input_range to output_range
--- @param argument_value number
--- @param input_range table
--- @param output_range table
--- @return number
function ValueConvert(argument_value, input_range, output_range) end
---- @func Returns altitude above sea level
+--- Returns altitude above sea level
--- @return number
function LoGetAltitudeAboveSeaLevel() end
---- @func Returns altitude above ground level
+--- Returns altitude above ground level
--- @return number
function LoGetAltitudeAboveGroundLevel() end
---- @func Returns vertical velocity
+--- Returns vertical velocity
--- @return number
function LoGetVerticalVelocity() end
---- @func Returns true air speed
+--- Returns true air speed
--- @return number
function LoGetTrueAirSpeed() end
---- @func Returns mach number
+--- Returns mach number
--- @return number
function LoGetMachNumber() end
---- @func Returns angle of attack
+--- Returns angle of attack
--- @return number
function LoGetAngleOfAttack() end
---- @func Returns glide deviation
+--- Returns glide deviation
--- @return number
function LoGetGlideDeviation() end
---- @func Returns side deviation
+--- Returns side deviation
--- @return number
function LoGetSideDeviation() end
---- @func Returns slip ball position
+--- Returns slip ball position
--- @return number
function LoGetSlipBallPosition() end
@@ -226,7 +338,7 @@ EngineSide = {}
--- @field FuelConsumption EngineSide
EngineInformation = {}
---- @func Returns engine information
+--- Returns engine information
--- @return EngineInformation
function LoGetEngineInfo() end
@@ -242,6 +354,6 @@ GearValue = {}
--- @field gear GearValue
MechanicalInformation = {}
---- @func Returns mechanical information
+--- Returns mechanical information
--- @return MechanicalInformation
function LoGetMechInfo() end
diff --git a/src/server/Scripts/DCS-INSIGHT/lib/Listener.lua b/src/server/Scripts/DCS-INSIGHT/lib/Listener.lua
index 63eda60..3a0fb0a 100644
--- a/src/server/Scripts/DCS-INSIGHT/lib/Listener.lua
+++ b/src/server/Scripts/DCS-INSIGHT/lib/Listener.lua
@@ -54,6 +54,8 @@ Listener.ReadClientData = function(str)
end
local api = Listener.Instance.APIHandler:execute(command)
+ Log:log_simple("Returning " .. api.result_type .. "\n")
+
local json = JSON:encode_pretty(api)
Listener.Instance.tcpServer:send(json)
diff --git a/src/server/Scripts/DCS-INSIGHT/lib/commands/GetArgumentValueAPI.lua b/src/server/Scripts/DCS-INSIGHT/lib/commands/GetArgumentValueAPI.lua
index 58e0aa9..de0f41f 100644
--- a/src/server/Scripts/DCS-INSIGHT/lib/commands/GetArgumentValueAPI.lua
+++ b/src/server/Scripts/DCS-INSIGHT/lib/commands/GetArgumentValueAPI.lua
@@ -55,7 +55,7 @@ function GetArgumentValueAPI:execute(api)
local result = GetDevice(param0):get_argument_value(param1)
- api = self:decode_result(api, result)
+ api = self:decode_result(api, result, nil)
return api
end
diff --git a/src/server/Scripts/DCS-INSIGHT/lib/commands/GetFrequencyAPI.lua b/src/server/Scripts/DCS-INSIGHT/lib/commands/GetFrequencyAPI.lua
index 0e80d62..6bdc7d9 100644
--- a/src/server/Scripts/DCS-INSIGHT/lib/commands/GetFrequencyAPI.lua
+++ b/src/server/Scripts/DCS-INSIGHT/lib/commands/GetFrequencyAPI.lua
@@ -52,7 +52,7 @@ function GetFrequencyAPI:execute(api)
end
local result = GetDevice(param0):get_frequency()
- api = self:decode_result(api, result)
+ api = self:decode_result(api, result, nil)
return api
end
diff --git a/src/server/Scripts/DCS-INSIGHT/lib/commands/ListCockpitParamsAPI.lua b/src/server/Scripts/DCS-INSIGHT/lib/commands/ListCockpitParamsAPI.lua
index be1c055..ce736b8 100644
--- a/src/server/Scripts/DCS-INSIGHT/lib/commands/ListCockpitParamsAPI.lua
+++ b/src/server/Scripts/DCS-INSIGHT/lib/commands/ListCockpitParamsAPI.lua
@@ -28,7 +28,7 @@ function ListCockpitParamsAPI:init() end
function ListCockpitParamsAPI:execute(api)
local result = list_cockpit_params()
- api = self:decode_result(api, result)
+ api = self:decode_result(api, result, nil)
return api
end
diff --git a/src/server/Scripts/DCS-INSIGHT/lib/commands/ListIndicationAPI.lua b/src/server/Scripts/DCS-INSIGHT/lib/commands/ListIndicationAPI.lua
index 6b7d5c0..8fd93b8 100644
--- a/src/server/Scripts/DCS-INSIGHT/lib/commands/ListIndicationAPI.lua
+++ b/src/server/Scripts/DCS-INSIGHT/lib/commands/ListIndicationAPI.lua
@@ -45,7 +45,7 @@ function ListIndicationAPI:execute(api)
local result = list_indication(param0)
- api = self:decode_result(api, result)
+ api = self:decode_result(api, result, nil)
return api
end
diff --git a/src/server/Scripts/DCS-INSIGHT/lib/commands/LoCoordinatesToGeoCoordinatesAPI.lua b/src/server/Scripts/DCS-INSIGHT/lib/commands/LoCoordinatesToGeoCoordinatesAPI.lua
new file mode 100644
index 0000000..ea39186
--- /dev/null
+++ b/src/server/Scripts/DCS-INSIGHT/lib/commands/LoCoordinatesToGeoCoordinatesAPI.lua
@@ -0,0 +1,59 @@
+module("LoCoordinatesToGeoCoordinatesAPI", package.seeall)
+
+local APIBase = require("Scripts.DCS-INSIGHT.lib.commands.common.APIBase")
+local ParamName = require("Scripts.DCS-INSIGHT.lib.commands.common.ParamName")
+local ParamType = require("Scripts.DCS-INSIGHT.lib.commands.common.ParamType")
+
+--- @class LoCoordinatesToGeoCoordinatesAPI : APIBase
+--- @field id number API ID
+--- @field apiInfo APIInfo
+local LoCoordinatesToGeoCoordinatesAPI = APIBase:new()
+
+--- @func Returns new LoCoordinatesToGeoCoordinatesAPI
+--- @param o table|nil Parent
+--- @param apiId integer API ID, must be unique
+--- @return APIBase
+function LoCoordinatesToGeoCoordinatesAPI:new(o, apiId)
+ o = o or APIBase:new(o, apiId, false, "LoCoordinatesToGeoCoordinates(x, z)", 2)
+
+ o:add_param_def(0, ParamName.x, ParamType.number)
+ o:add_param_def(1, ParamName.z, ParamType.number)
+
+ setmetatable(o, self)
+ self.__index = self
+ return o
+end
+
+--- @func Inits with internal data
+function LoCoordinatesToGeoCoordinatesAPI:init() end
+
+--- @func Executes sent api and returns the same api containing a result field
+--- @param api APIInfo
+function LoCoordinatesToGeoCoordinatesAPI:execute(api)
+ local param0
+ local param1
+
+ local result_code, message = self:verify_params()
+ if result_code == 1 then
+ api.error_thrown = true
+ api.error_message = message
+ return api
+ end
+
+ for i, param in pairs(api.parameter_defs) do
+ if param.id == 0 then
+ param0 = param.value
+ end
+ if param.id == 1 then
+ param1 = param.value
+ end
+ end
+
+ local lat, long = LoCoordinatesToGeoCoordinates(param0, param1)
+ local result = "latitude = " .. lat .. " longitude = " .. long
+ api = self:decode_result(api, result, "2 return values, all numbers")
+
+ return api
+end
+
+return LoCoordinatesToGeoCoordinatesAPI
diff --git a/src/server/Scripts/DCS-INSIGHT/lib/commands/LoGeoCoordinatesToLoCoordinatesAPI.lua b/src/server/Scripts/DCS-INSIGHT/lib/commands/LoGeoCoordinatesToLoCoordinatesAPI.lua
new file mode 100644
index 0000000..2343b06
--- /dev/null
+++ b/src/server/Scripts/DCS-INSIGHT/lib/commands/LoGeoCoordinatesToLoCoordinatesAPI.lua
@@ -0,0 +1,59 @@
+module("LoGeoCoordinatesToLoCoordinatesAPI", package.seeall)
+
+local APIBase = require("Scripts.DCS-INSIGHT.lib.commands.common.APIBase")
+local ParamName = require("Scripts.DCS-INSIGHT.lib.commands.common.ParamName")
+local ParamType = require("Scripts.DCS-INSIGHT.lib.commands.common.ParamType")
+
+--- @class LoGeoCoordinatesToLoCoordinatesAPI : APIBase
+--- @field id number API ID
+--- @field apiInfo APIInfo
+local LoGeoCoordinatesToLoCoordinatesAPI = APIBase:new()
+
+--- @func Returns new LoGeoCoordinatesToLoCoordinatesAPI
+--- @param o table|nil Parent
+--- @param apiId integer API ID, must be unique
+--- @return APIBase
+function LoGeoCoordinatesToLoCoordinatesAPI:new(o, apiId)
+ o = o or APIBase:new(o, apiId, false, "LoGeoCoordinatesToLoCoordinates(longitude_degrees, latitude_degrees)", 2)
+
+ o:add_param_def(0, ParamName.longitude_degrees, ParamType.number)
+ o:add_param_def(1, ParamName.latitude_degrees, ParamType.number)
+
+ setmetatable(o, self)
+ self.__index = self
+ return o
+end
+
+--- @func Inits with internal data
+function LoGeoCoordinatesToLoCoordinatesAPI:init() end
+
+--- @func Executes sent api and returns the same api containing a result field
+--- @param api APIInfo
+function LoGeoCoordinatesToLoCoordinatesAPI:execute(api)
+ local param0
+ local param1
+
+ local result_code, message = self:verify_params()
+ if result_code == 1 then
+ api.error_thrown = true
+ api.error_message = message
+ return api
+ end
+
+ for i, param in pairs(api.parameter_defs) do
+ if param.id == 0 then
+ param0 = param.value
+ end
+ if param.id == 1 then
+ param1 = param.value
+ end
+ end
+
+ local x, z = LoGeoCoordinatesToLoCoordinates(param0, param1)
+ local result = "x = " .. x .. " z = " .. z
+ api = self:decode_result(api, result, "2 return values, all numbers")
+
+ return api
+end
+
+return LoGeoCoordinatesToLoCoordinatesAPI
diff --git a/src/server/Scripts/DCS-INSIGHT/lib/commands/LoGetAccelerationUnitsAPI.lua b/src/server/Scripts/DCS-INSIGHT/lib/commands/LoGetAccelerationUnitsAPI.lua
index 8cad123..55996af 100644
--- a/src/server/Scripts/DCS-INSIGHT/lib/commands/LoGetAccelerationUnitsAPI.lua
+++ b/src/server/Scripts/DCS-INSIGHT/lib/commands/LoGetAccelerationUnitsAPI.lua
@@ -34,7 +34,7 @@ function LoGetAccelerationUnitsAPI:execute(api)
local result = LoGetAccelerationUnits()
- api = self:decode_result(api, result)
+ api = self:decode_result(api, result, nil)
return api
end
diff --git a/src/server/Scripts/DCS-INSIGHT/lib/commands/LoGetAircraftDrawArgumentValueAPI.lua b/src/server/Scripts/DCS-INSIGHT/lib/commands/LoGetAircraftDrawArgumentValueAPI.lua
index 524563b..fb69bca 100644
--- a/src/server/Scripts/DCS-INSIGHT/lib/commands/LoGetAircraftDrawArgumentValueAPI.lua
+++ b/src/server/Scripts/DCS-INSIGHT/lib/commands/LoGetAircraftDrawArgumentValueAPI.lua
@@ -45,7 +45,7 @@ function LoGetAircraftDrawArgumentValueAPI:execute(api)
local result = LoGetAircraftDrawArgumentValue(param0)
- api = self:decode_result(api, result)
+ api = self:decode_result(api, result, nil)
return api
end
diff --git a/src/server/Scripts/DCS-INSIGHT/lib/commands/LoGetAltitudeAPI.lua b/src/server/Scripts/DCS-INSIGHT/lib/commands/LoGetAltitudeAPI.lua
new file mode 100644
index 0000000..decd430
--- /dev/null
+++ b/src/server/Scripts/DCS-INSIGHT/lib/commands/LoGetAltitudeAPI.lua
@@ -0,0 +1,42 @@
+module("LoGetAltitudeAPI", package.seeall)
+
+local APIBase = require("Scripts.DCS-INSIGHT.lib.commands.common.APIBase")
+
+--- @class LoGetAltitudeAPI : APIBase
+--- @field id number API ID
+--- @field apiInfo APIInfo
+local LoGetAltitudeAPI = APIBase:new()
+
+--- @func Returns new LoGetAltitudeAPI
+--- @param o table|nil Parent
+--- @param apiId integer API ID, must be unique
+--- @return APIBase
+function LoGetAltitudeAPI:new(o, apiId)
+ o = o or APIBase:new(o, apiId, true, "LoGetAltitude()", 0)
+
+ setmetatable(o, self)
+ self.__index = self
+ return o
+end
+
+--- @func Inits with internal data
+function LoGetAltitudeAPI:init() end
+
+--- @func Executes sent api and returns the same api containing a result field
+--- @param api APIInfo
+function LoGetAltitudeAPI:execute(api)
+ local result_code, message = self:verify_params()
+ if result_code == 1 then
+ api.error_thrown = true
+ api.error_message = message
+ return api
+ end
+
+ local result = LoGetAltitude()
+
+ api = self:decode_result(api, result, nil)
+
+ return api
+end
+
+return LoGetAltitudeAPI
diff --git a/src/server/Scripts/DCS-INSIGHT/lib/commands/LoGetAltitudeAboveGroundLevelAPI.lua b/src/server/Scripts/DCS-INSIGHT/lib/commands/LoGetAltitudeAboveGroundLevelAPI.lua
index a107719..eeb8d9d 100644
--- a/src/server/Scripts/DCS-INSIGHT/lib/commands/LoGetAltitudeAboveGroundLevelAPI.lua
+++ b/src/server/Scripts/DCS-INSIGHT/lib/commands/LoGetAltitudeAboveGroundLevelAPI.lua
@@ -34,7 +34,7 @@ function LoGetAltitudeAboveGroundLevelAPI:execute(api)
local result = LoGetAltitudeAboveGroundLevel()
- api = self:decode_result(api, result)
+ api = self:decode_result(api, result, nil)
return api
end
diff --git a/src/server/Scripts/DCS-INSIGHT/lib/commands/LoGetAltitudeAboveSeaLevelAPI.lua b/src/server/Scripts/DCS-INSIGHT/lib/commands/LoGetAltitudeAboveSeaLevelAPI.lua
index 3ea00a5..3181a43 100644
--- a/src/server/Scripts/DCS-INSIGHT/lib/commands/LoGetAltitudeAboveSeaLevelAPI.lua
+++ b/src/server/Scripts/DCS-INSIGHT/lib/commands/LoGetAltitudeAboveSeaLevelAPI.lua
@@ -34,7 +34,7 @@ function LoGetAltitudeAboveSeaLevelAPI:execute(api)
local result = LoGetAltitudeAboveSeaLevel()
- api = self:decode_result(api, result)
+ api = self:decode_result(api, result, nil)
return api
end
diff --git a/src/server/Scripts/DCS-INSIGHT/lib/commands/LoGetAngleOfAttackAPI.lua b/src/server/Scripts/DCS-INSIGHT/lib/commands/LoGetAngleOfAttackAPI.lua
index 32a71aa..5e407cf 100644
--- a/src/server/Scripts/DCS-INSIGHT/lib/commands/LoGetAngleOfAttackAPI.lua
+++ b/src/server/Scripts/DCS-INSIGHT/lib/commands/LoGetAngleOfAttackAPI.lua
@@ -34,7 +34,7 @@ function LoGetAngleOfAttackAPI:execute(api)
local result = LoGetAngleOfAttack()
- api = self:decode_result(api, result)
+ api = self:decode_result(api, result, nil)
return api
end
diff --git a/src/server/Scripts/DCS-INSIGHT/lib/commands/LoGetAngleOfSideSlipAPI.lua b/src/server/Scripts/DCS-INSIGHT/lib/commands/LoGetAngleOfSideSlipAPI.lua
new file mode 100644
index 0000000..7a35028
--- /dev/null
+++ b/src/server/Scripts/DCS-INSIGHT/lib/commands/LoGetAngleOfSideSlipAPI.lua
@@ -0,0 +1,42 @@
+module("LoGetAngleOfSideSlipAPI", package.seeall)
+
+local APIBase = require("Scripts.DCS-INSIGHT.lib.commands.common.APIBase")
+
+--- @class LoGetAngleOfSideSlipAPI : APIBase
+--- @field id number API ID
+--- @field apiInfo APIInfo
+local LoGetAngleOfSideSlipAPI = APIBase:new()
+
+--- @func Returns new LoGetAngleOfSideSlipAPI
+--- @param o table|nil Parent
+--- @param apiId integer API ID, must be unique
+--- @return APIBase
+function LoGetAngleOfSideSlipAPI:new(o, apiId)
+ o = o or APIBase:new(o, apiId, true, "LoGetAngleOfSideSlip()", 0)
+
+ setmetatable(o, self)
+ self.__index = self
+ return o
+end
+
+--- @func Inits with internal data
+function LoGetAngleOfSideSlipAPI:init() end
+
+--- @func Executes sent api and returns the same api containing a result field
+--- @param api APIInfo
+function LoGetAngleOfSideSlipAPI:execute(api)
+ local result_code, message = self:verify_params()
+ if result_code == 1 then
+ api.error_thrown = true
+ api.error_message = message
+ return api
+ end
+
+ local result = LoGetAngleOfSideSlip()
+
+ api = self:decode_result(api, result, nil)
+
+ return api
+end
+
+return LoGetAngleOfSideSlipAPI
diff --git a/src/server/Scripts/DCS-INSIGHT/lib/commands/LoGetAngularVelocityAPI.lua b/src/server/Scripts/DCS-INSIGHT/lib/commands/LoGetAngularVelocityAPI.lua
new file mode 100644
index 0000000..1810e62
--- /dev/null
+++ b/src/server/Scripts/DCS-INSIGHT/lib/commands/LoGetAngularVelocityAPI.lua
@@ -0,0 +1,42 @@
+module("LoGetAngularVelocityAPI", package.seeall)
+
+local APIBase = require("Scripts.DCS-INSIGHT.lib.commands.common.APIBase")
+
+--- @class LoGetAngularVelocityAPI : APIBase
+--- @field id number API ID
+--- @field apiInfo APIInfo
+local LoGetAngularVelocityAPI = APIBase:new()
+
+--- @func Returns new LoGetAngularVelocityAPI
+--- @param o table|nil Parent
+--- @param apiId integer API ID, must be unique
+--- @return APIBase
+function LoGetAngularVelocityAPI:new(o, apiId)
+ o = o or APIBase:new(o, apiId, true, "LoGetAngularVelocity()", 0)
+
+ setmetatable(o, self)
+ self.__index = self
+ return o
+end
+
+--- @func Inits with internal data
+function LoGetAngularVelocityAPI:init() end
+
+--- @func Executes sent api and returns the same api containing a result field
+--- @param api APIInfo
+function LoGetAngularVelocityAPI:execute(api)
+ local result_code, message = self:verify_params()
+ if result_code == 1 then
+ api.error_thrown = true
+ api.error_message = message
+ return api
+ end
+
+ local result = LoGetAngularVelocity()
+
+ api = self:decode_result(api, result, nil)
+
+ return api
+end
+
+return LoGetAngularVelocityAPI
diff --git a/src/server/Scripts/DCS-INSIGHT/lib/commands/LoGetBasicAtmospherePressureAPI.lua b/src/server/Scripts/DCS-INSIGHT/lib/commands/LoGetBasicAtmospherePressureAPI.lua
index 0658c4f..f80f776 100644
--- a/src/server/Scripts/DCS-INSIGHT/lib/commands/LoGetBasicAtmospherePressureAPI.lua
+++ b/src/server/Scripts/DCS-INSIGHT/lib/commands/LoGetBasicAtmospherePressureAPI.lua
@@ -34,7 +34,7 @@ function LoGetBasicAtmospherePressureAPI:execute(api)
local result = LoGetBasicAtmospherePressure()
- api = self:decode_result(api, result)
+ api = self:decode_result(api, result, nil)
return api
end
diff --git a/src/server/Scripts/DCS-INSIGHT/lib/commands/LoGetControlPanel_HSI_API.lua b/src/server/Scripts/DCS-INSIGHT/lib/commands/LoGetControlPanel_HSI_API.lua
index 9f14b9c..8524c22 100644
--- a/src/server/Scripts/DCS-INSIGHT/lib/commands/LoGetControlPanel_HSI_API.lua
+++ b/src/server/Scripts/DCS-INSIGHT/lib/commands/LoGetControlPanel_HSI_API.lua
@@ -34,7 +34,7 @@ function LoGetControlPanel_HSI_API:execute(api)
local result = LoGetControlPanel_HSI()
- api = self:decode_result(api, result)
+ api = self:decode_result(api, result, nil)
return api
end
diff --git a/src/server/Scripts/DCS-INSIGHT/lib/commands/LoGetEngineInfoAPI.lua b/src/server/Scripts/DCS-INSIGHT/lib/commands/LoGetEngineInfoAPI.lua
index 804da5b..fdf78fb 100644
--- a/src/server/Scripts/DCS-INSIGHT/lib/commands/LoGetEngineInfoAPI.lua
+++ b/src/server/Scripts/DCS-INSIGHT/lib/commands/LoGetEngineInfoAPI.lua
@@ -34,7 +34,7 @@ function LoGetEngineInfoAPI:execute(api)
local result = LoGetEngineInfo()
- api = self:decode_result(api, result)
+ api = self:decode_result(api, result, nil)
return api
end
diff --git a/src/server/Scripts/DCS-INSIGHT/lib/commands/LoGetF15_TWS_ContactsAPI.lua b/src/server/Scripts/DCS-INSIGHT/lib/commands/LoGetF15_TWS_ContactsAPI.lua
new file mode 100644
index 0000000..6eeccf1
--- /dev/null
+++ b/src/server/Scripts/DCS-INSIGHT/lib/commands/LoGetF15_TWS_ContactsAPI.lua
@@ -0,0 +1,44 @@
+module("LoGetF15_TWS_ContactsAPI", package.seeall)
+
+local APIBase = require("Scripts.DCS-INSIGHT.lib.commands.common.APIBase")
+local ParamName = require("Scripts.DCS-INSIGHT.lib.commands.common.ParamName")
+local ParamType = require("Scripts.DCS-INSIGHT.lib.commands.common.ParamType")
+
+--- @class LoGetF15_TWS_ContactsAPI : APIBase
+--- @field id number API ID
+--- @field apiInfo APIInfo
+local LoGetF15_TWS_ContactsAPI = APIBase:new()
+
+--- @func Returns new LoGetF15_TWS_ContactsAPI
+--- @param o table|nil Parent
+--- @param apiId integer API ID, must be unique
+--- @return APIBase
+function LoGetF15_TWS_ContactsAPI:new(o, apiId)
+ o = o or APIBase:new(o, apiId, true, "LoGetF15_TWS_Contacts()", 0)
+
+ setmetatable(o, self)
+ self.__index = self
+ return o
+end
+
+--- @func Inits with internal data
+function LoGetF15_TWS_ContactsAPI:init() end
+
+--- @func Executes sent api and returns the same api containing a result field
+--- @param api APIInfo
+function LoGetF15_TWS_ContactsAPI:execute(api)
+ local result_code, message = self:verify_params()
+ if result_code == 1 then
+ api.error_thrown = true
+ api.error_message = message
+ return api
+ end
+
+ local result = LoGetF15_TWS_Contacts()
+
+ api = self:decode_result(api, result, nil)
+
+ return api
+end
+
+return LoGetF15_TWS_ContactsAPI
diff --git a/src/server/Scripts/DCS-INSIGHT/lib/commands/LoGetFMDataAPI.lua b/src/server/Scripts/DCS-INSIGHT/lib/commands/LoGetFMDataAPI.lua
new file mode 100644
index 0000000..ada9122
--- /dev/null
+++ b/src/server/Scripts/DCS-INSIGHT/lib/commands/LoGetFMDataAPI.lua
@@ -0,0 +1,42 @@
+module("LoGetFMDataAPI", package.seeall)
+
+local APIBase = require("Scripts.DCS-INSIGHT.lib.commands.common.APIBase")
+
+--- @class LoGetFMDataAPI : APIBase
+--- @field id number API ID
+--- @field apiInfo APIInfo
+local LoGetFMDataAPI = APIBase:new()
+
+--- @func Returns new LoGetFMDataAPI
+--- @param o table|nil Parent
+--- @param apiId integer API ID, must be unique
+--- @return APIBase
+function LoGetFMDataAPI:new(o, apiId)
+ o = o or APIBase:new(o, apiId, true, "LoGetFMData()", 0)
+
+ setmetatable(o, self)
+ self.__index = self
+ return o
+end
+
+--- @func Inits with internal data
+function LoGetFMDataAPI:init() end
+
+--- @func Executes sent api and returns the same api containing a result field
+--- @param api APIInfo
+function LoGetFMDataAPI:execute(api)
+ local result_code, message = self:verify_params()
+ if result_code == 1 then
+ api.error_thrown = true
+ api.error_message = message
+ return api
+ end
+
+ local result = LoGetFMData()
+
+ api = self:decode_result(api, result, nil)
+
+ return api
+end
+
+return LoGetFMDataAPI
diff --git a/src/server/Scripts/DCS-INSIGHT/lib/commands/LoGetGlideDeviationAPI.lua b/src/server/Scripts/DCS-INSIGHT/lib/commands/LoGetGlideDeviationAPI.lua
index 91c8eab..1e4d90b 100644
--- a/src/server/Scripts/DCS-INSIGHT/lib/commands/LoGetGlideDeviationAPI.lua
+++ b/src/server/Scripts/DCS-INSIGHT/lib/commands/LoGetGlideDeviationAPI.lua
@@ -34,7 +34,7 @@ function LoGetGlideDeviationAPI:execute(api)
local result = LoGetGlideDeviation()
- api = self:decode_result(api, result)
+ api = self:decode_result(api, result, nil)
return api
end
diff --git a/src/server/Scripts/DCS-INSIGHT/lib/commands/LoGetIndicatedAirSpeedAPI.lua b/src/server/Scripts/DCS-INSIGHT/lib/commands/LoGetIndicatedAirSpeedAPI.lua
index 28386af..e57d6e3 100644
--- a/src/server/Scripts/DCS-INSIGHT/lib/commands/LoGetIndicatedAirSpeedAPI.lua
+++ b/src/server/Scripts/DCS-INSIGHT/lib/commands/LoGetIndicatedAirSpeedAPI.lua
@@ -34,7 +34,7 @@ function LoGetIndicatedAirSpeedAPI:execute(api)
local result = LoGetIndicatedAirSpeed()
- api = self:decode_result(api, result)
+ api = self:decode_result(api, result, nil)
return api
end
diff --git a/src/server/Scripts/DCS-INSIGHT/lib/commands/LoGetLockedTargetInformationAPI.lua b/src/server/Scripts/DCS-INSIGHT/lib/commands/LoGetLockedTargetInformationAPI.lua
new file mode 100644
index 0000000..36c657e
--- /dev/null
+++ b/src/server/Scripts/DCS-INSIGHT/lib/commands/LoGetLockedTargetInformationAPI.lua
@@ -0,0 +1,42 @@
+module("LoGetLockedTargetInformationAPI", package.seeall)
+
+local APIBase = require("Scripts.DCS-INSIGHT.lib.commands.common.APIBase")
+
+--- @class LoGetLockedTargetInformationAPI : APIBase
+--- @field id number API ID
+--- @field apiInfo APIInfo
+local LoGetLockedTargetInformationAPI = APIBase:new()
+
+--- @func Returns new LoGetLockedTargetInformationAPI
+--- @param o table|nil Parent
+--- @param apiId integer API ID, must be unique
+--- @return APIBase
+function LoGetLockedTargetInformationAPI:new(o, apiId)
+ o = o or APIBase:new(o, apiId, true, "LoGetLockedTargetInformation()", 0)
+
+ setmetatable(o, self)
+ self.__index = self
+ return o
+end
+
+--- @func Inits with internal data
+function LoGetLockedTargetInformationAPI:init() end
+
+--- @func Executes sent api and returns the same api containing a result field
+--- @param api APIInfo
+function LoGetLockedTargetInformationAPI:execute(api)
+ local result_code, message = self:verify_params()
+ if result_code == 1 then
+ api.error_thrown = true
+ api.error_message = message
+ return api
+ end
+
+ local result = LoGetLockedTargetInformation()
+
+ api = self:decode_result(api, result, nil)
+
+ return api
+end
+
+return LoGetLockedTargetInformationAPI
diff --git a/src/server/Scripts/DCS-INSIGHT/lib/commands/LoGetMCPStateAPI.lua b/src/server/Scripts/DCS-INSIGHT/lib/commands/LoGetMCPStateAPI.lua
index 899e7f9..a0d2df8 100644
--- a/src/server/Scripts/DCS-INSIGHT/lib/commands/LoGetMCPStateAPI.lua
+++ b/src/server/Scripts/DCS-INSIGHT/lib/commands/LoGetMCPStateAPI.lua
@@ -34,7 +34,7 @@ function LoGetMCPStateAPI:execute(api)
local result = LoGetMCPState()
- api = self:decode_result(api, result)
+ api = self:decode_result(api, result, nil)
return api
end
diff --git a/src/server/Scripts/DCS-INSIGHT/lib/commands/LoGetMachNumberAPI.lua b/src/server/Scripts/DCS-INSIGHT/lib/commands/LoGetMachNumberAPI.lua
index b1d36cc..6077bac 100644
--- a/src/server/Scripts/DCS-INSIGHT/lib/commands/LoGetMachNumberAPI.lua
+++ b/src/server/Scripts/DCS-INSIGHT/lib/commands/LoGetMachNumberAPI.lua
@@ -34,7 +34,7 @@ function LoGetMachNumberAPI:execute(api)
local result = LoGetMachNumber()
- api = self:decode_result(api, result)
+ api = self:decode_result(api, result, nil)
return api
end
diff --git a/src/server/Scripts/DCS-INSIGHT/lib/commands/LoGetMagneticYawAPI.lua b/src/server/Scripts/DCS-INSIGHT/lib/commands/LoGetMagneticYawAPI.lua
index b8fbeb1..f02fabe 100644
--- a/src/server/Scripts/DCS-INSIGHT/lib/commands/LoGetMagneticYawAPI.lua
+++ b/src/server/Scripts/DCS-INSIGHT/lib/commands/LoGetMagneticYawAPI.lua
@@ -34,7 +34,7 @@ function LoGetMagneticYawAPI:execute(api)
local result = LoGetMagneticYaw()
- api = self:decode_result(api, result)
+ api = self:decode_result(api, result, nil)
return api
end
diff --git a/src/server/Scripts/DCS-INSIGHT/lib/commands/LoGetMechInfoAPI.lua b/src/server/Scripts/DCS-INSIGHT/lib/commands/LoGetMechInfoAPI.lua
index 2dfd1b1..f9bee7a 100644
--- a/src/server/Scripts/DCS-INSIGHT/lib/commands/LoGetMechInfoAPI.lua
+++ b/src/server/Scripts/DCS-INSIGHT/lib/commands/LoGetMechInfoAPI.lua
@@ -34,7 +34,7 @@ function LoGetMechInfoAPI:execute(api)
local result = LoGetMechInfo()
- api = self:decode_result(api, result)
+ api = self:decode_result(api, result, nil)
return api
end
diff --git a/src/server/Scripts/DCS-INSIGHT/lib/commands/LoGetMissionStartTimeAPI.lua b/src/server/Scripts/DCS-INSIGHT/lib/commands/LoGetMissionStartTimeAPI.lua
index d4d113d..5bcdaf4 100644
--- a/src/server/Scripts/DCS-INSIGHT/lib/commands/LoGetMissionStartTimeAPI.lua
+++ b/src/server/Scripts/DCS-INSIGHT/lib/commands/LoGetMissionStartTimeAPI.lua
@@ -34,7 +34,7 @@ function LoGetMissionStartTimeAPI:execute(api)
local result = LoGetMissionStartTime()
- api = self:decode_result(api, result)
+ api = self:decode_result(api, result, nil)
return api
end
diff --git a/src/server/Scripts/DCS-INSIGHT/lib/commands/LoGetModelTimeAPI.lua b/src/server/Scripts/DCS-INSIGHT/lib/commands/LoGetModelTimeAPI.lua
index 7f81392..a70a2e3 100644
--- a/src/server/Scripts/DCS-INSIGHT/lib/commands/LoGetModelTimeAPI.lua
+++ b/src/server/Scripts/DCS-INSIGHT/lib/commands/LoGetModelTimeAPI.lua
@@ -34,7 +34,7 @@ function LoGetModelTimeAPI:execute(api)
local result = LoGetModelTime()
- api = self:decode_result(api, result)
+ api = self:decode_result(api, result, nil)
return api
end
diff --git a/src/server/Scripts/DCS-INSIGHT/lib/commands/LoGetNameByTypeAPI.lua b/src/server/Scripts/DCS-INSIGHT/lib/commands/LoGetNameByTypeAPI.lua
new file mode 100644
index 0000000..d3dc4e4
--- /dev/null
+++ b/src/server/Scripts/DCS-INSIGHT/lib/commands/LoGetNameByTypeAPI.lua
@@ -0,0 +1,69 @@
+module("LoGetNameByTypeAPI", package.seeall)
+
+local APIBase = require("Scripts.DCS-INSIGHT.lib.commands.common.APIBase")
+local ParamName = require("Scripts.DCS-INSIGHT.lib.commands.common.ParamName")
+local ParamType = require("Scripts.DCS-INSIGHT.lib.commands.common.ParamType")
+
+--- @class LoGetNameByTypeAPI : APIBase
+--- @field id number API ID
+--- @field apiInfo APIInfo
+local LoGetNameByTypeAPI = APIBase:new()
+
+--- @func Returns new LoGetNameByTypeAPI
+--- @param o table|nil Parent
+--- @param apiId integer API ID, must be unique
+--- @return APIBase
+function LoGetNameByTypeAPI:new(o, apiId)
+ o = o
+ or APIBase:new(o, apiId, true, "LoGetNameByType(weapon_level1, weapon_level2, weapon_level3, weapon_level4)", 4)
+
+ o:add_param_def(0, ParamName.weapon_level1, ParamType.number)
+ o:add_param_def(1, ParamName.weapon_level2, ParamType.number)
+ o:add_param_def(2, ParamName.weapon_level3, ParamType.number)
+ o:add_param_def(3, ParamName.weapon_level4, ParamType.number)
+
+ setmetatable(o, self)
+ self.__index = self
+ return o
+end
+
+--- @func Inits with internal data
+function LoGetNameByTypeAPI:init() end
+
+--- @func Executes sent api and returns the same api containing a result field
+--- @param api APIInfo
+function LoGetNameByTypeAPI:execute(api)
+ local result_code, message = self:verify_params()
+ if result_code == 1 then
+ api.error_thrown = true
+ api.error_message = message
+ return api
+ end
+
+ local param0
+ local param1
+ local param2
+ local param3
+ for i, param in pairs(api.parameter_defs) do
+ if param.id == 0 then
+ param0 = param.value
+ end
+ if param.id == 1 then
+ param1 = param.value
+ end
+ if param.id == 2 then
+ param2 = param.value
+ end
+ if param.id == 3 then
+ param3 = param.value
+ end
+ end
+
+ local result = LoGetNameByType(param0, param1, param2, param3)
+
+ api = self:decode_result(api, result, nil)
+
+ return api
+end
+
+return LoGetNameByTypeAPI
diff --git a/src/server/Scripts/DCS-INSIGHT/lib/commands/LoGetNavigationInfoAPI.lua b/src/server/Scripts/DCS-INSIGHT/lib/commands/LoGetNavigationInfoAPI.lua
index 70e94a5..e19292e 100644
--- a/src/server/Scripts/DCS-INSIGHT/lib/commands/LoGetNavigationInfoAPI.lua
+++ b/src/server/Scripts/DCS-INSIGHT/lib/commands/LoGetNavigationInfoAPI.lua
@@ -34,7 +34,7 @@ function LoGetNavigationInfoAPI:execute(api)
local result = LoGetNavigationInfo()
- api = self:decode_result(api, result)
+ api = self:decode_result(api, result, nil)
return api
end
diff --git a/src/server/Scripts/DCS-INSIGHT/lib/commands/LoGetObjectByIdAPI.lua b/src/server/Scripts/DCS-INSIGHT/lib/commands/LoGetObjectByIdAPI.lua
new file mode 100644
index 0000000..df5bae6
--- /dev/null
+++ b/src/server/Scripts/DCS-INSIGHT/lib/commands/LoGetObjectByIdAPI.lua
@@ -0,0 +1,53 @@
+module("LoGetObjectByIdAPI", package.seeall)
+
+local APIBase = require("Scripts.DCS-INSIGHT.lib.commands.common.APIBase")
+local ParamName = require("Scripts.DCS-INSIGHT.lib.commands.common.ParamName")
+local ParamType = require("Scripts.DCS-INSIGHT.lib.commands.common.ParamType")
+
+--- @class LoGetObjectByIdAPI : APIBase
+--- @field id number API ID
+--- @field apiInfo APIInfo
+local LoGetObjectByIdAPI = APIBase:new()
+
+--- @func Returns new LoGetObjectByIdAPI
+--- @param o table|nil Parent
+--- @param apiId integer API ID, must be unique
+--- @return APIBase
+function LoGetObjectByIdAPI:new(o, apiId)
+ o = o or APIBase:new(o, apiId, true, "LoGetObjectById(object_id)", 1)
+
+ o:add_param_def(0, ParamName.object_id, ParamType.number)
+
+ setmetatable(o, self)
+ self.__index = self
+ return o
+end
+
+--- @func Inits with internal data
+function LoGetObjectByIdAPI:init() end
+
+--- @func Executes sent api and returns the same api containing a result field
+--- @param api APIInfo
+function LoGetObjectByIdAPI:execute(api)
+ local result_code, message = self:verify_params()
+ if result_code == 1 then
+ api.error_thrown = true
+ api.error_message = message
+ return api
+ end
+
+ local param0
+ for i, param in pairs(api.parameter_defs) do
+ if param.id == 0 then
+ param0 = param.value
+ end
+ end
+
+ local result = LoGetObjectById(param0)
+
+ api = self:decode_result(api, result, nil)
+
+ return api
+end
+
+return LoGetObjectByIdAPI
diff --git a/src/server/Scripts/DCS-INSIGHT/lib/commands/LoGetPayloadInfoAPI.lua b/src/server/Scripts/DCS-INSIGHT/lib/commands/LoGetPayloadInfoAPI.lua
index 38aa03b..898d4a0 100644
--- a/src/server/Scripts/DCS-INSIGHT/lib/commands/LoGetPayloadInfoAPI.lua
+++ b/src/server/Scripts/DCS-INSIGHT/lib/commands/LoGetPayloadInfoAPI.lua
@@ -34,7 +34,7 @@ function LoGetPayloadInfoAPI:execute(api)
local result = LoGetPayloadInfo()
- api = self:decode_result(api, result)
+ api = self:decode_result(api, result, nil)
return api
end
diff --git a/src/server/Scripts/DCS-INSIGHT/lib/commands/LoGetPilotNameAPI.lua b/src/server/Scripts/DCS-INSIGHT/lib/commands/LoGetPilotNameAPI.lua
index 0d666dd..51f14b7 100644
--- a/src/server/Scripts/DCS-INSIGHT/lib/commands/LoGetPilotNameAPI.lua
+++ b/src/server/Scripts/DCS-INSIGHT/lib/commands/LoGetPilotNameAPI.lua
@@ -34,7 +34,7 @@ function LoGetPilotNameAPI:execute(api)
local result = LoGetPilotName()
- api = self:decode_result(api, result)
+ api = self:decode_result(api, result, nil)
return api
end
diff --git a/src/server/Scripts/DCS-INSIGHT/lib/commands/LoGetPlayerPlaneIdAPI.lua b/src/server/Scripts/DCS-INSIGHT/lib/commands/LoGetPlayerPlaneIdAPI.lua
new file mode 100644
index 0000000..0ac1ee9
--- /dev/null
+++ b/src/server/Scripts/DCS-INSIGHT/lib/commands/LoGetPlayerPlaneIdAPI.lua
@@ -0,0 +1,44 @@
+module("LoGetPlayerPlaneIdAPI", package.seeall)
+
+local APIBase = require("Scripts.DCS-INSIGHT.lib.commands.common.APIBase")
+local ParamName = require("Scripts.DCS-INSIGHT.lib.commands.common.ParamName")
+local ParamType = require("Scripts.DCS-INSIGHT.lib.commands.common.ParamType")
+
+--- @class LoGetPlayerPlaneIdAPI : APIBase
+--- @field id number API ID
+--- @field apiInfo APIInfo
+local LoGetPlayerPlaneIdAPI = APIBase:new()
+
+--- @func Returns new LoGetPlayerPlaneIdAPI
+--- @param o table|nil Parent
+--- @param apiId integer API ID, must be unique
+--- @return APIBase
+function LoGetPlayerPlaneIdAPI:new(o, apiId)
+ o = o or APIBase:new(o, apiId, true, "LoGetPlayerPlaneId()", 0)
+
+ setmetatable(o, self)
+ self.__index = self
+ return o
+end
+
+--- @func Inits with internal data
+function LoGetPlayerPlaneIdAPI:init() end
+
+--- @func Executes sent api and returns the same api containing a result field
+--- @param api APIInfo
+function LoGetPlayerPlaneIdAPI:execute(api)
+ local result_code, message = self:verify_params()
+ if result_code == 1 then
+ api.error_thrown = true
+ api.error_message = message
+ return api
+ end
+
+ local result = LoGetPlayerPlaneId()
+
+ api = self:decode_result(api, result, nil)
+
+ return api
+end
+
+return LoGetPlayerPlaneIdAPI
diff --git a/src/server/Scripts/DCS-INSIGHT/lib/commands/LoGetRadarAltimeterAPI.lua b/src/server/Scripts/DCS-INSIGHT/lib/commands/LoGetRadarAltimeterAPI.lua
new file mode 100644
index 0000000..ca1578c
--- /dev/null
+++ b/src/server/Scripts/DCS-INSIGHT/lib/commands/LoGetRadarAltimeterAPI.lua
@@ -0,0 +1,42 @@
+module("LoGetRadarAltimeterAPI", package.seeall)
+
+local APIBase = require("Scripts.DCS-INSIGHT.lib.commands.common.APIBase")
+
+--- @class LoGetRadarAltimeterAPI : APIBase
+--- @field id number API ID
+--- @field apiInfo APIInfo
+local LoGetRadarAltimeterAPI = APIBase:new()
+
+--- @func Returns new LoGetRadarAltimeterAPI
+--- @param o table|nil Parent
+--- @param apiId integer API ID, must be unique
+--- @return APIBase
+function LoGetRadarAltimeterAPI:new(o, apiId)
+ o = o or APIBase:new(o, apiId, true, "LoGetRadarAltimeter()", 0)
+
+ setmetatable(o, self)
+ self.__index = self
+ return o
+end
+
+--- @func Inits with internal data
+function LoGetRadarAltimeterAPI:init() end
+
+--- @func Executes sent api and returns the same api containing a result field
+--- @param api APIInfo
+function LoGetRadarAltimeterAPI:execute(api)
+ local result_code, message = self:verify_params()
+ if result_code == 1 then
+ api.error_thrown = true
+ api.error_message = message
+ return api
+ end
+
+ local result = LoGetRadarAltimeter()
+
+ api = self:decode_result(api, result, nil)
+
+ return api
+end
+
+return LoGetRadarAltimeterAPI
diff --git a/src/server/Scripts/DCS-INSIGHT/lib/commands/LoGetRadioBeaconsStatusAPI.lua b/src/server/Scripts/DCS-INSIGHT/lib/commands/LoGetRadioBeaconsStatusAPI.lua
new file mode 100644
index 0000000..bfccbcb
--- /dev/null
+++ b/src/server/Scripts/DCS-INSIGHT/lib/commands/LoGetRadioBeaconsStatusAPI.lua
@@ -0,0 +1,42 @@
+module("LoGetRadioBeaconsStatusAPI", package.seeall)
+
+local APIBase = require("Scripts.DCS-INSIGHT.lib.commands.common.APIBase")
+
+--- @class LoGetRadioBeaconsStatusAPI : APIBase
+--- @field id number API ID
+--- @field apiInfo APIInfo
+local LoGetRadioBeaconsStatusAPI = APIBase:new()
+
+--- @func Returns new LoGetRadioBeaconsStatusAPI
+--- @param o table|nil Parent
+--- @param apiId integer API ID, must be unique
+--- @return APIBase
+function LoGetRadioBeaconsStatusAPI:new(o, apiId)
+ o = o or APIBase:new(o, apiId, true, "LoGetRadioBeaconsStatus()", 0)
+
+ setmetatable(o, self)
+ self.__index = self
+ return o
+end
+
+--- @func Inits with internal data
+function LoGetRadioBeaconsStatusAPI:init() end
+
+--- @func Executes sent api and returns the same api containing a result field
+--- @param api APIInfo
+function LoGetRadioBeaconsStatusAPI:execute(api)
+ local result_code, message = self:verify_params()
+ if result_code == 1 then
+ api.error_thrown = true
+ api.error_message = message
+ return api
+ end
+
+ local result = LoGetRadioBeaconsStatus()
+
+ api = self:decode_result(api, result, nil)
+
+ return api
+end
+
+return LoGetRadioBeaconsStatusAPI
diff --git a/src/server/Scripts/DCS-INSIGHT/lib/commands/LoGetRouteAPI.lua b/src/server/Scripts/DCS-INSIGHT/lib/commands/LoGetRouteAPI.lua
new file mode 100644
index 0000000..3cbbbfd
--- /dev/null
+++ b/src/server/Scripts/DCS-INSIGHT/lib/commands/LoGetRouteAPI.lua
@@ -0,0 +1,42 @@
+module("LoGetRouteAPI", package.seeall)
+
+local APIBase = require("Scripts.DCS-INSIGHT.lib.commands.common.APIBase")
+
+--- @class LoGetRouteAPI : APIBase
+--- @field id number API ID
+--- @field apiInfo APIInfo
+local LoGetRouteAPI = APIBase:new()
+
+--- @func Returns new LoGetRouteAPI
+--- @param o table|nil Parent
+--- @param apiId integer API ID, must be unique
+--- @return APIBase
+function LoGetRouteAPI:new(o, apiId)
+ o = o or APIBase:new(o, apiId, true, "LoGetRoute()", 0)
+
+ setmetatable(o, self)
+ self.__index = self
+ return o
+end
+
+--- @func Inits with internal data
+function LoGetRouteAPI:init() end
+
+--- @func Executes sent api and returns the same api containing a result field
+--- @param api APIInfo
+function LoGetRouteAPI:execute(api)
+ local result_code, message = self:verify_params()
+ if result_code == 1 then
+ api.error_thrown = true
+ api.error_message = message
+ return api
+ end
+
+ local result = LoGetRoute()
+
+ api = self:decode_result(api, result, nil)
+
+ return api
+end
+
+return LoGetRouteAPI
diff --git a/src/server/Scripts/DCS-INSIGHT/lib/commands/LoGetSelfDataAPI.lua b/src/server/Scripts/DCS-INSIGHT/lib/commands/LoGetSelfDataAPI.lua
index 5874a21..6c61fc8 100644
--- a/src/server/Scripts/DCS-INSIGHT/lib/commands/LoGetSelfDataAPI.lua
+++ b/src/server/Scripts/DCS-INSIGHT/lib/commands/LoGetSelfDataAPI.lua
@@ -34,7 +34,7 @@ function LoGetSelfDataAPI:execute(api)
local result = LoGetSelfData()
- api = self:decode_result(api, result)
+ api = self:decode_result(api, result, nil)
return api
end
diff --git a/src/server/Scripts/DCS-INSIGHT/lib/commands/LoGetSideDeviationAPI.lua b/src/server/Scripts/DCS-INSIGHT/lib/commands/LoGetSideDeviationAPI.lua
index a214d7c..6657c06 100644
--- a/src/server/Scripts/DCS-INSIGHT/lib/commands/LoGetSideDeviationAPI.lua
+++ b/src/server/Scripts/DCS-INSIGHT/lib/commands/LoGetSideDeviationAPI.lua
@@ -34,7 +34,7 @@ function LoGetSideDeviationAPI:execute(api)
local result = LoGetSideDeviation()
- api = self:decode_result(api, result)
+ api = self:decode_result(api, result, nil)
return api
end
diff --git a/src/server/Scripts/DCS-INSIGHT/lib/commands/LoGetSightingSystemInfoAPI.lua b/src/server/Scripts/DCS-INSIGHT/lib/commands/LoGetSightingSystemInfoAPI.lua
new file mode 100644
index 0000000..59c2617
--- /dev/null
+++ b/src/server/Scripts/DCS-INSIGHT/lib/commands/LoGetSightingSystemInfoAPI.lua
@@ -0,0 +1,44 @@
+module("LoGetSightingSystemInfoAPI", package.seeall)
+
+local APIBase = require("Scripts.DCS-INSIGHT.lib.commands.common.APIBase")
+local ParamName = require("Scripts.DCS-INSIGHT.lib.commands.common.ParamName")
+local ParamType = require("Scripts.DCS-INSIGHT.lib.commands.common.ParamType")
+
+--- @class LoGetSightingSystemInfoAPI : APIBase
+--- @field id number API ID
+--- @field apiInfo APIInfo
+local LoGetSightingSystemInfoAPI = APIBase:new()
+
+--- @func Returns new LoGetSightingSystemInfoAPI
+--- @param o table|nil Parent
+--- @param apiId integer API ID, must be unique
+--- @return APIBase
+function LoGetSightingSystemInfoAPI:new(o, apiId)
+ o = o or APIBase:new(o, apiId, true, "LoGetSightingSystemInfo()", 0)
+
+ setmetatable(o, self)
+ self.__index = self
+ return o
+end
+
+--- @func Inits with internal data
+function LoGetSightingSystemInfoAPI:init() end
+
+--- @func Executes sent api and returns the same api containing a result field
+--- @param api APIInfo
+function LoGetSightingSystemInfoAPI:execute(api)
+ local result_code, message = self:verify_params()
+ if result_code == 1 then
+ api.error_thrown = true
+ api.error_message = message
+ return api
+ end
+
+ local result = LoGetSightingSystemInfo()
+
+ api = self:decode_result(api, result, nil)
+
+ return api
+end
+
+return LoGetSightingSystemInfoAPI
diff --git a/src/server/Scripts/DCS-INSIGHT/lib/commands/LoGetSlipBallPositionAPI.lua b/src/server/Scripts/DCS-INSIGHT/lib/commands/LoGetSlipBallPositionAPI.lua
index b105f91..b9f3985 100644
--- a/src/server/Scripts/DCS-INSIGHT/lib/commands/LoGetSlipBallPositionAPI.lua
+++ b/src/server/Scripts/DCS-INSIGHT/lib/commands/LoGetSlipBallPositionAPI.lua
@@ -34,7 +34,7 @@ function LoGetSlipBallPositionAPI:execute(api)
local result = LoGetSlipBallPosition()
- api = self:decode_result(api, result)
+ api = self:decode_result(api, result, nil)
return api
end
diff --git a/src/server/Scripts/DCS-INSIGHT/lib/commands/LoGetSnaresAPI.lua b/src/server/Scripts/DCS-INSIGHT/lib/commands/LoGetSnaresAPI.lua
index f6e7a2e..13fb3f1 100644
--- a/src/server/Scripts/DCS-INSIGHT/lib/commands/LoGetSnaresAPI.lua
+++ b/src/server/Scripts/DCS-INSIGHT/lib/commands/LoGetSnaresAPI.lua
@@ -34,7 +34,7 @@ function LoGetSnaresAPI:execute(api)
local result = LoGetSnares()
- api = self:decode_result(api, result)
+ api = self:decode_result(api, result, nil)
return api
end
diff --git a/src/server/Scripts/DCS-INSIGHT/lib/commands/LoGetTWSInfoAPI.lua b/src/server/Scripts/DCS-INSIGHT/lib/commands/LoGetTWSInfoAPI.lua
index 34a7928..e7ccfc2 100644
--- a/src/server/Scripts/DCS-INSIGHT/lib/commands/LoGetTWSInfoAPI.lua
+++ b/src/server/Scripts/DCS-INSIGHT/lib/commands/LoGetTWSInfoAPI.lua
@@ -34,7 +34,7 @@ function LoGetTWSInfoAPI:execute(api)
local result = LoGetTWSInfo()
- api = self:decode_result(api, result)
+ api = self:decode_result(api, result, nil)
return api
end
diff --git a/src/server/Scripts/DCS-INSIGHT/lib/commands/LoGetTargetInformationAPI.lua b/src/server/Scripts/DCS-INSIGHT/lib/commands/LoGetTargetInformationAPI.lua
new file mode 100644
index 0000000..37c22ff
--- /dev/null
+++ b/src/server/Scripts/DCS-INSIGHT/lib/commands/LoGetTargetInformationAPI.lua
@@ -0,0 +1,44 @@
+module("LoGetTargetInformationAPI", package.seeall)
+
+local APIBase = require("Scripts.DCS-INSIGHT.lib.commands.common.APIBase")
+local ParamName = require("Scripts.DCS-INSIGHT.lib.commands.common.ParamName")
+local ParamType = require("Scripts.DCS-INSIGHT.lib.commands.common.ParamType")
+
+--- @class LoGetTargetInformationAPI : APIBase
+--- @field id number API ID
+--- @field apiInfo APIInfo
+local LoGetTargetInformationAPI = APIBase:new()
+
+--- @func Returns new LoGetTargetInformationAPI
+--- @param o table|nil Parent
+--- @param apiId integer API ID, must be unique
+--- @return APIBase
+function LoGetTargetInformationAPI:new(o, apiId)
+ o = o or APIBase:new(o, apiId, true, "LoGetTargetInformation()", 0)
+
+ setmetatable(o, self)
+ self.__index = self
+ return o
+end
+
+--- @func Inits with internal data
+function LoGetTargetInformationAPI:init() end
+
+--- @func Executes sent api and returns the same api containing a result field
+--- @param api APIInfo
+function LoGetTargetInformationAPI:execute(api)
+ local result_code, message = self:verify_params()
+ if result_code == 1 then
+ api.error_thrown = true
+ api.error_message = message
+ return api
+ end
+
+ local result = LoGetTargetInformation()
+
+ api = self:decode_result(api, result, nil)
+
+ return api
+end
+
+return LoGetTargetInformationAPI
diff --git a/src/server/Scripts/DCS-INSIGHT/lib/commands/LoGetTrueAirSpeedAPI.lua b/src/server/Scripts/DCS-INSIGHT/lib/commands/LoGetTrueAirSpeedAPI.lua
index 67afe41..1147dd0 100644
--- a/src/server/Scripts/DCS-INSIGHT/lib/commands/LoGetTrueAirSpeedAPI.lua
+++ b/src/server/Scripts/DCS-INSIGHT/lib/commands/LoGetTrueAirSpeedAPI.lua
@@ -34,7 +34,7 @@ function LoGetTrueAirSpeedAPI:execute(api)
local result = LoGetTrueAirSpeed()
- api = self:decode_result(api, result)
+ api = self:decode_result(api, result, nil)
return api
end
diff --git a/src/server/Scripts/DCS-INSIGHT/lib/commands/LoGetVectorVelocityAPI.lua b/src/server/Scripts/DCS-INSIGHT/lib/commands/LoGetVectorVelocityAPI.lua
new file mode 100644
index 0000000..c2d53e7
--- /dev/null
+++ b/src/server/Scripts/DCS-INSIGHT/lib/commands/LoGetVectorVelocityAPI.lua
@@ -0,0 +1,42 @@
+module("LoGetVectorVelocityAPI", package.seeall)
+
+local APIBase = require("Scripts.DCS-INSIGHT.lib.commands.common.APIBase")
+
+--- @class LoGetVectorVelocityAPI : APIBase
+--- @field id number API ID
+--- @field apiInfo APIInfo
+local LoGetVectorVelocityAPI = APIBase:new()
+
+--- @func Returns new LoGetVectorVelocityAPI
+--- @param o table|nil Parent
+--- @param apiId integer API ID, must be unique
+--- @return APIBase
+function LoGetVectorVelocityAPI:new(o, apiId)
+ o = o or APIBase:new(o, apiId, true, "LoGetVectorVelocity()", 0)
+
+ setmetatable(o, self)
+ self.__index = self
+ return o
+end
+
+--- @func Inits with internal data
+function LoGetVectorVelocityAPI:init() end
+
+--- @func Executes sent api and returns the same api containing a result field
+--- @param api APIInfo
+function LoGetVectorVelocityAPI:execute(api)
+ local result_code, message = self:verify_params()
+ if result_code == 1 then
+ api.error_thrown = true
+ api.error_message = message
+ return api
+ end
+
+ local result = LoGetVectorVelocity()
+
+ api = self:decode_result(api, result, nil)
+
+ return api
+end
+
+return LoGetVectorVelocityAPI
diff --git a/src/server/Scripts/DCS-INSIGHT/lib/commands/LoGetVectorWindVelocityAPI.lua b/src/server/Scripts/DCS-INSIGHT/lib/commands/LoGetVectorWindVelocityAPI.lua
new file mode 100644
index 0000000..bc9a267
--- /dev/null
+++ b/src/server/Scripts/DCS-INSIGHT/lib/commands/LoGetVectorWindVelocityAPI.lua
@@ -0,0 +1,42 @@
+module("LoGetVectorWindVelocityAPI", package.seeall)
+
+local APIBase = require("Scripts.DCS-INSIGHT.lib.commands.common.APIBase")
+
+--- @class LoGetVectorWindVelocityAPI : APIBase
+--- @field id number API ID
+--- @field apiInfo APIInfo
+local LoGetVectorWindVelocityAPI = APIBase:new()
+
+--- @func Returns new LoGetVectorWindVelocityAPI
+--- @param o table|nil Parent
+--- @param apiId integer API ID, must be unique
+--- @return APIBase
+function LoGetVectorWindVelocityAPI:new(o, apiId)
+ o = o or APIBase:new(o, apiId, true, "LoGetVectorWindVelocity()", 0)
+
+ setmetatable(o, self)
+ self.__index = self
+ return o
+end
+
+--- @func Inits with internal data
+function LoGetVectorWindVelocityAPI:init() end
+
+--- @func Executes sent api and returns the same api containing a result field
+--- @param api APIInfo
+function LoGetVectorWindVelocityAPI:execute(api)
+ local result_code, message = self:verify_params()
+ if result_code == 1 then
+ api.error_thrown = true
+ api.error_message = message
+ return api
+ end
+
+ local result = LoGetVectorWindVelocity()
+
+ api = self:decode_result(api, result, nil)
+
+ return api
+end
+
+return LoGetVectorWindVelocityAPI
diff --git a/src/server/Scripts/DCS-INSIGHT/lib/commands/LoGetVerticalVelocityAPI.lua b/src/server/Scripts/DCS-INSIGHT/lib/commands/LoGetVerticalVelocityAPI.lua
index 0da160c..4c3194c 100644
--- a/src/server/Scripts/DCS-INSIGHT/lib/commands/LoGetVerticalVelocityAPI.lua
+++ b/src/server/Scripts/DCS-INSIGHT/lib/commands/LoGetVerticalVelocityAPI.lua
@@ -34,7 +34,7 @@ function LoGetVerticalVelocityAPI:execute(api)
local result = LoGetVerticalVelocity()
- api = self:decode_result(api, result)
+ api = self:decode_result(api, result, nil)
return api
end
diff --git a/src/server/Scripts/DCS-INSIGHT/lib/commands/LoGetWingInfoAPI.lua b/src/server/Scripts/DCS-INSIGHT/lib/commands/LoGetWingInfoAPI.lua
new file mode 100644
index 0000000..247b9cb
--- /dev/null
+++ b/src/server/Scripts/DCS-INSIGHT/lib/commands/LoGetWingInfoAPI.lua
@@ -0,0 +1,42 @@
+module("LoGetWingInfoAPI", package.seeall)
+
+local APIBase = require("Scripts.DCS-INSIGHT.lib.commands.common.APIBase")
+
+--- @class LoGetWingInfoAPI : APIBase
+--- @field id number API ID
+--- @field apiInfo APIInfo
+local LoGetWingInfoAPI = APIBase:new()
+
+--- @func Returns new LoGetWingInfoAPI
+--- @param o table|nil Parent
+--- @param apiId integer API ID, must be unique
+--- @return APIBase
+function LoGetWingInfoAPI:new(o, apiId)
+ o = o or APIBase:new(o, apiId, true, "LoGetWingInfo()", 0)
+
+ setmetatable(o, self)
+ self.__index = self
+ return o
+end
+
+--- @func Inits with internal data
+function LoGetWingInfoAPI:init() end
+
+--- @func Executes sent api and returns the same api containing a result field
+--- @param api APIInfo
+function LoGetWingInfoAPI:execute(api)
+ local result_code, message = self:verify_params()
+ if result_code == 1 then
+ api.error_thrown = true
+ api.error_message = message
+ return api
+ end
+
+ local result = LoGetWingInfo()
+
+ api = self:decode_result(api, result, nil)
+
+ return api
+end
+
+return LoGetWingInfoAPI
diff --git a/src/server/Scripts/DCS-INSIGHT/lib/commands/LoGetWingTargetsAPI.lua b/src/server/Scripts/DCS-INSIGHT/lib/commands/LoGetWingTargetsAPI.lua
new file mode 100644
index 0000000..ce66b05
--- /dev/null
+++ b/src/server/Scripts/DCS-INSIGHT/lib/commands/LoGetWingTargetsAPI.lua
@@ -0,0 +1,44 @@
+module("LoGetWingTargetsAPI", package.seeall)
+
+local APIBase = require("Scripts.DCS-INSIGHT.lib.commands.common.APIBase")
+local ParamName = require("Scripts.DCS-INSIGHT.lib.commands.common.ParamName")
+local ParamType = require("Scripts.DCS-INSIGHT.lib.commands.common.ParamType")
+
+--- @class LoGetWingTargetsAPI : APIBase
+--- @field id number API ID
+--- @field apiInfo APIInfo
+local LoGetWingTargetsAPI = APIBase:new()
+
+--- @func Returns new LoGetWingTargetsAPI
+--- @param o table|nil Parent
+--- @param apiId integer API ID, must be unique
+--- @return APIBase
+function LoGetWingTargetsAPI:new(o, apiId)
+ o = o or APIBase:new(o, apiId, true, "LoGetWingTargets()", 0)
+
+ setmetatable(o, self)
+ self.__index = self
+ return o
+end
+
+--- @func Inits with internal data
+function LoGetWingTargetsAPI:init() end
+
+--- @func Executes sent api and returns the same api containing a result field
+--- @param api APIInfo
+function LoGetWingTargetsAPI:execute(api)
+ local result_code, message = self:verify_params()
+ if result_code == 1 then
+ api.error_thrown = true
+ api.error_message = message
+ return api
+ end
+
+ local result = LoGetWingTargets()
+
+ api = self:decode_result(api, result, nil)
+
+ return api
+end
+
+return LoGetWingTargetsAPI
diff --git a/src/server/Scripts/DCS-INSIGHT/lib/commands/LoGetWorldObjectsAPI.lua b/src/server/Scripts/DCS-INSIGHT/lib/commands/LoGetWorldObjectsAPI.lua
new file mode 100644
index 0000000..4064dbb
--- /dev/null
+++ b/src/server/Scripts/DCS-INSIGHT/lib/commands/LoGetWorldObjectsAPI.lua
@@ -0,0 +1,44 @@
+module("LoGetWorldObjectsAPI", package.seeall)
+
+local APIBase = require("Scripts.DCS-INSIGHT.lib.commands.common.APIBase")
+local ParamName = require("Scripts.DCS-INSIGHT.lib.commands.common.ParamName")
+local ParamType = require("Scripts.DCS-INSIGHT.lib.commands.common.ParamType")
+
+--- @class LoGetWorldObjectsAPI : APIBase
+--- @field id number API ID
+--- @field apiInfo APIInfo
+local LoGetWorldObjectsAPI = APIBase:new()
+
+--- @func Returns new LoGetWorldObjectsAPI
+--- @param o table|nil Parent
+--- @param apiId integer API ID, must be unique
+--- @return APIBase
+function LoGetWorldObjectsAPI:new(o, apiId)
+ o = o or APIBase:new(o, apiId, true, "LoGetWorldObjects()", 0)
+
+ setmetatable(o, self)
+ self.__index = self
+ return o
+end
+
+--- @func Inits with internal data
+function LoGetWorldObjectsAPI:init() end
+
+--- @func Executes sent api and returns the same api containing a result field
+--- @param api APIInfo
+function LoGetWorldObjectsAPI:execute(api)
+ local result_code, message = self:verify_params()
+ if result_code == 1 then
+ api.error_thrown = true
+ api.error_message = message
+ return api
+ end
+
+ local result = LoGetWorldObjects()
+
+ api = self:decode_result(api, result, nil)
+
+ return api
+end
+
+return LoGetWorldObjectsAPI
diff --git a/src/server/Scripts/DCS-INSIGHT/lib/commands/LoIsObjectExportAllowedAPI.lua b/src/server/Scripts/DCS-INSIGHT/lib/commands/LoIsObjectExportAllowedAPI.lua
new file mode 100644
index 0000000..fcc751f
--- /dev/null
+++ b/src/server/Scripts/DCS-INSIGHT/lib/commands/LoIsObjectExportAllowedAPI.lua
@@ -0,0 +1,42 @@
+module("LoIsObjectExportAllowedAPI", package.seeall)
+
+local APIBase = require("Scripts.DCS-INSIGHT.lib.commands.common.APIBase")
+
+--- @class LoIsObjectExportAllowedAPI : APIBase
+--- @field id number API ID
+--- @field apiInfo APIInfo
+local LoIsObjectExportAllowedAPI = APIBase:new()
+
+--- @func Returns new LoIsObjectExportAllowedAPI
+--- @param o table|nil Parent
+--- @param apiId integer API ID, must be unique
+--- @return APIBase
+function LoIsObjectExportAllowedAPI:new(o, apiId)
+ o = o or APIBase:new(o, apiId, true, "LoIsObjectExportAllowed()", 0)
+
+ setmetatable(o, self)
+ self.__index = self
+ return o
+end
+
+--- @func Inits with internal data
+function LoIsObjectExportAllowedAPI:init() end
+
+--- @func Executes sent api and returns the same api containing a result field
+--- @param api APIInfo
+function LoIsObjectExportAllowedAPI:execute(api)
+ local result_code, message = self:verify_params()
+ if result_code == 1 then
+ api.error_thrown = true
+ api.error_message = message
+ return api
+ end
+
+ local result = LoIsObjectExportAllowed()
+
+ api = self:decode_result(api, result, nil)
+
+ return api
+end
+
+return LoIsObjectExportAllowedAPI
diff --git a/src/server/Scripts/DCS-INSIGHT/lib/commands/LoIsOwnshipExportAllowedAPI.lua b/src/server/Scripts/DCS-INSIGHT/lib/commands/LoIsOwnshipExportAllowedAPI.lua
index e3af234..6554577 100644
--- a/src/server/Scripts/DCS-INSIGHT/lib/commands/LoIsOwnshipExportAllowedAPI.lua
+++ b/src/server/Scripts/DCS-INSIGHT/lib/commands/LoIsOwnshipExportAllowedAPI.lua
@@ -34,7 +34,7 @@ function LoIsOwnshipExportAllowedAPI:execute(api)
local result = LoIsOwnshipExportAllowed()
- api = self:decode_result(api, result)
+ api = self:decode_result(api, result, nil)
return api
end
diff --git a/src/server/Scripts/DCS-INSIGHT/lib/commands/LoIsSensorExportAllowedAPI.lua b/src/server/Scripts/DCS-INSIGHT/lib/commands/LoIsSensorExportAllowedAPI.lua
new file mode 100644
index 0000000..7240dff
--- /dev/null
+++ b/src/server/Scripts/DCS-INSIGHT/lib/commands/LoIsSensorExportAllowedAPI.lua
@@ -0,0 +1,42 @@
+module("LoIsSensorExportAllowedAPI", package.seeall)
+
+local APIBase = require("Scripts.DCS-INSIGHT.lib.commands.common.APIBase")
+
+--- @class LoIsSensorExportAllowedAPI : APIBase
+--- @field id number API ID
+--- @field apiInfo APIInfo
+local LoIsSensorExportAllowedAPI = APIBase:new()
+
+--- @func Returns new LoIsSensorExportAllowedAPI
+--- @param o table|nil Parent
+--- @param apiId integer API ID, must be unique
+--- @return APIBase
+function LoIsSensorExportAllowedAPI:new(o, apiId)
+ o = o or APIBase:new(o, apiId, true, "LoIsSensorExportAllowed()", 0)
+
+ setmetatable(o, self)
+ self.__index = self
+ return o
+end
+
+--- @func Inits with internal data
+function LoIsSensorExportAllowedAPI:init() end
+
+--- @func Executes sent api and returns the same api containing a result field
+--- @param api APIInfo
+function LoIsSensorExportAllowedAPI:execute(api)
+ local result_code, message = self:verify_params()
+ if result_code == 1 then
+ api.error_thrown = true
+ api.error_message = message
+ return api
+ end
+
+ local result = LoIsSensorExportAllowed()
+
+ api = self:decode_result(api, result, nil)
+
+ return api
+end
+
+return LoIsSensorExportAllowedAPI
diff --git a/src/server/Scripts/DCS-INSIGHT/lib/commands/LoSetCommand1API.lua b/src/server/Scripts/DCS-INSIGHT/lib/commands/LoSetCommand1API.lua
new file mode 100644
index 0000000..ebd7c3b
--- /dev/null
+++ b/src/server/Scripts/DCS-INSIGHT/lib/commands/LoSetCommand1API.lua
@@ -0,0 +1,54 @@
+module("LoSetCommand1API", package.seeall)
+
+local APIBase = require("Scripts.DCS-INSIGHT.lib.commands.common.APIBase")
+local ParamName = require("Scripts.DCS-INSIGHT.lib.commands.common.ParamName")
+local ParamType = require("Scripts.DCS-INSIGHT.lib.commands.common.ParamType")
+
+--- @class LoSetCommand1API : APIBase
+--- @field id number API ID
+--- @field apiInfo APIInfo
+local LoSetCommand1API = APIBase:new()
+
+--- @func Returns new LoSetCommand1API
+--- @param o table|nil Parent
+--- @param apiId integer API ID, must be unique
+--- @return APIBase
+function LoSetCommand1API:new(o, apiId)
+ o = o or APIBase:new(o, apiId, false, "LoSetCommand(iCommand)", 1)
+
+ o:add_param_def(0, ParamName.iCommand, ParamType.number)
+
+ setmetatable(o, self)
+ self.__index = self
+ return o
+end
+
+--- @func Inits with internal data
+function LoSetCommand1API:init() end
+
+--- @func Executes sent api and returns the same api containing a result field
+--- @param api APIInfo
+function LoSetCommand1API:execute(api)
+ local param0
+
+ local result_code, message = self:verify_params()
+ if result_code == 1 then
+ api.error_thrown = true
+ api.error_message = message
+ return api
+ end
+
+ for i, param in pairs(api.parameter_defs) do
+ if param.id == 0 then
+ param0 = param.value
+ end
+ end
+
+ local result = LoSetCommand(param0)
+
+ api = self:decode_result(api, result, nil)
+
+ return api
+end
+
+return LoSetCommand1API
diff --git a/src/server/Scripts/DCS-INSIGHT/lib/commands/LoSetCommand2API.lua b/src/server/Scripts/DCS-INSIGHT/lib/commands/LoSetCommand2API.lua
new file mode 100644
index 0000000..a9619f4
--- /dev/null
+++ b/src/server/Scripts/DCS-INSIGHT/lib/commands/LoSetCommand2API.lua
@@ -0,0 +1,59 @@
+module("LoSetCommand2API", package.seeall)
+
+local APIBase = require("Scripts.DCS-INSIGHT.lib.commands.common.APIBase")
+local ParamName = require("Scripts.DCS-INSIGHT.lib.commands.common.ParamName")
+local ParamType = require("Scripts.DCS-INSIGHT.lib.commands.common.ParamType")
+
+--- @class LoSetCommand2API : APIBase
+--- @field id number API ID
+--- @field apiInfo APIInfo
+local LoSetCommand2API = APIBase:new()
+
+--- @func Returns new LoSetCommand2API
+--- @param o table|nil Parent
+--- @param apiId integer API ID, must be unique
+--- @return APIBase
+function LoSetCommand2API:new(o, apiId)
+ o = o or APIBase:new(o, apiId, false, "LoSetCommand(iCommand, new_value)", 2)
+
+ o:add_param_def(0, ParamName.iCommand, ParamType.number)
+ o:add_param_def(1, ParamName.new_value, ParamType.number)
+
+ setmetatable(o, self)
+ self.__index = self
+ return o
+end
+
+--- @func Inits with internal data
+function LoSetCommand2API:init() end
+
+--- @func Executes sent api and returns the same api containing a result field
+--- @param api APIInfo
+function LoSetCommand2API:execute(api)
+ local param0
+ local param1
+
+ local result_code, message = self:verify_params()
+ if result_code == 1 then
+ api.error_thrown = true
+ api.error_message = message
+ return api
+ end
+
+ for i, param in pairs(api.parameter_defs) do
+ if param.id == 0 then
+ param0 = param.value
+ end
+ if param.id == 1 then
+ param1 = param.value
+ end
+ end
+
+ local result = LoSetCommand(param0, param1)
+
+ api = self:decode_result(api, result, nil)
+
+ return api
+end
+
+return LoSetCommand2API
diff --git a/src/server/Scripts/DCS-INSIGHT/lib/commands/PerformClickableActionAPI.lua b/src/server/Scripts/DCS-INSIGHT/lib/commands/PerformClickableActionAPI.lua
index cea6fbe..4adca5b 100644
--- a/src/server/Scripts/DCS-INSIGHT/lib/commands/PerformClickableActionAPI.lua
+++ b/src/server/Scripts/DCS-INSIGHT/lib/commands/PerformClickableActionAPI.lua
@@ -61,7 +61,7 @@ function PerformClickableActionAPI:execute(api)
end
local result = GetDevice(param0):performClickableAction(param1, param2)
- api = self:decode_result(api, result)
+ api = self:decode_result(api, result, nil)
return api
end
diff --git a/src/server/Scripts/DCS-INSIGHT/lib/commands/SetArgumentValueAPI.lua b/src/server/Scripts/DCS-INSIGHT/lib/commands/SetArgumentValueAPI.lua
index ce90dac..1604a92 100644
--- a/src/server/Scripts/DCS-INSIGHT/lib/commands/SetArgumentValueAPI.lua
+++ b/src/server/Scripts/DCS-INSIGHT/lib/commands/SetArgumentValueAPI.lua
@@ -62,7 +62,7 @@ function SetArgumentValueAPI:execute(api)
local result = GetDevice(param0):set_argument_value(param1, param2)
- api = self:decode_result(api, result)
+ api = self:decode_result(api, result, nil)
return api
end
diff --git a/src/server/Scripts/DCS-INSIGHT/lib/commands/SetCommandAPI.lua b/src/server/Scripts/DCS-INSIGHT/lib/commands/SetCommandAPI.lua
index efaa971..0da1cc1 100644
--- a/src/server/Scripts/DCS-INSIGHT/lib/commands/SetCommandAPI.lua
+++ b/src/server/Scripts/DCS-INSIGHT/lib/commands/SetCommandAPI.lua
@@ -61,7 +61,7 @@ function SetCommandAPI:execute(api)
end
local result = GetDevice(param0):SetCommand(param1, param2)
- api = self:decode_result(api, result)
+ api = self:decode_result(api, result, nil)
return api
end
diff --git a/src/server/Scripts/DCS-INSIGHT/lib/commands/SetFrequencyAPI.lua b/src/server/Scripts/DCS-INSIGHT/lib/commands/SetFrequencyAPI.lua
index d00ad5e..a88b8ea 100644
--- a/src/server/Scripts/DCS-INSIGHT/lib/commands/SetFrequencyAPI.lua
+++ b/src/server/Scripts/DCS-INSIGHT/lib/commands/SetFrequencyAPI.lua
@@ -57,7 +57,7 @@ function SetFrequencyAPI:execute(api)
end
local result = GetDevice(param0):set_frequency(param1)
- api = self:decode_result(api, result)
+ api = self:decode_result(api, result, nil)
return api
end
diff --git a/src/server/Scripts/DCS-INSIGHT/lib/commands/UpdateArgumentsAPI.lua b/src/server/Scripts/DCS-INSIGHT/lib/commands/UpdateArgumentsAPI.lua
index e9d046a..cce6f8a 100644
--- a/src/server/Scripts/DCS-INSIGHT/lib/commands/UpdateArgumentsAPI.lua
+++ b/src/server/Scripts/DCS-INSIGHT/lib/commands/UpdateArgumentsAPI.lua
@@ -52,7 +52,7 @@ function UpdateArgumentsAPI:execute(api)
end
local result = GetDevice(param0):update_arguments()
- api = self:decode_result(api, result)
+ api = self:decode_result(api, result, nil)
return api
end
diff --git a/src/server/Scripts/DCS-INSIGHT/lib/commands/common/APIBase.lua b/src/server/Scripts/DCS-INSIGHT/lib/commands/common/APIBase.lua
index 1010422..6cd9d74 100644
--- a/src/server/Scripts/DCS-INSIGHT/lib/commands/common/APIBase.lua
+++ b/src/server/Scripts/DCS-INSIGHT/lib/commands/common/APIBase.lua
@@ -63,7 +63,8 @@ end
--- @func Decodes result based on whether it is a function or procedure and sets api.result accordingly
--- @param api APIInfo
--- @param result any
-function APIBase:decode_result(api, result)
+--- @param result_type string|nil
+function APIBase:decode_result(api, result, result_type)
if result == nil then
if api.returns_data == true then
api.result = "result is nil"
@@ -73,6 +74,12 @@ function APIBase:decode_result(api, result)
return api
end
+ if result_type == nil then
+ api.result_type = type(result)
+ else
+ api.result_type = result_type
+ end
+
if type(result) == "table" then
local result, str = Log:dump_table(result, 100, 2000)
if string.len(str) == 0 then
diff --git a/src/server/Scripts/DCS-INSIGHT/lib/commands/common/APIInfo.lua b/src/server/Scripts/DCS-INSIGHT/lib/commands/common/APIInfo.lua
index 2a20ec1..608931e 100644
--- a/src/server/Scripts/DCS-INSIGHT/lib/commands/common/APIInfo.lua
+++ b/src/server/Scripts/DCS-INSIGHT/lib/commands/common/APIInfo.lua
@@ -11,6 +11,7 @@ local Parameter = require("Scripts.DCS-INSIGHT.lib.commands.common.Parameter")
--- @field error_thrown boolean
--- @field error_message string
--- @field result any
+--- @field result_type string
local APIInfo = {}
--- Constructs a new APIInfo
@@ -25,6 +26,7 @@ function APIInfo:new(id, returns_data, api_syntax, parameter_count, parameter_de
error_thrown = false,
error_message = "",
result = result,
+ result_type = type(result),
}
setmetatable(o, self)
self.__index = self
diff --git a/src/server/Scripts/DCS-INSIGHT/lib/commands/common/ParamName.lua b/src/server/Scripts/DCS-INSIGHT/lib/commands/common/ParamName.lua
index 6f7ecd7..7b8cf83 100644
--- a/src/server/Scripts/DCS-INSIGHT/lib/commands/common/ParamName.lua
+++ b/src/server/Scripts/DCS-INSIGHT/lib/commands/common/ParamName.lua
@@ -8,6 +8,17 @@ local ParamName = {
new_value = "new_value",
draw_argument_id = "draw_argument_id",
indicator_id = "indicator_id",
+ iCommand = "iCommand",
+ object_id = "object_id",
+ unknown = "unknown",
+ weapon_level1 = "weapon_level1",
+ weapon_level2 = "weapon_level2",
+ weapon_level3 = "weapon_level3",
+ weapon_level4 = "weapon_level4",
+ longitude_degrees = "longitude_degrees",
+ latitude_degrees = "latitude_degrees",
+ x = "x",
+ z = "z",
}
return ParamName