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