diff --git a/addons/fcs/CfgEventHandlers.hpp b/addons/fcs/CfgEventHandlers.hpp index 69ef4a3057..0d507b359d 100644 --- a/addons/fcs/CfgEventHandlers.hpp +++ b/addons/fcs/CfgEventHandlers.hpp @@ -1,19 +1,19 @@ class Extended_PreInit_EventHandlers { - class ADDON { - init = QUOTE(call COMPILE_FILE(XEH_preInit) ); - }; + class ADDON { + init = QUOTE(call COMPILE_FILE(XEH_preInit) ); + }; }; class Extended_PostInit_EventHandlers { - class ADDON { - clientInit = QUOTE(call COMPILE_FILE(XEH_clientInit) ); - }; + class ADDON { + clientInit = QUOTE(call COMPILE_FILE(XEH_clientInit) ); + }; }; class Extended_Init_EventHandlers { - class AllVehicles { - class ADDON { - clientInit = QUOTE(_this call FUNC(vehicleInit)); + class AllVehicles { + class ADDON { + clientInit = QUOTE(_this call FUNC(vehicleInit)); + }; }; - }; }; diff --git a/addons/fcs/CfgOptics.hpp b/addons/fcs/CfgOptics.hpp index a5af4d175d..01b997b0ee 100644 --- a/addons/fcs/CfgOptics.hpp +++ b/addons/fcs/CfgOptics.hpp @@ -1,254 +1,254 @@ #define MACRO_RANGEFINDER \ - class CA_Distance; \ - class ACE_CA_Distance: CA_Distance { \ - idc = 1713151; \ - text = "----"; \ - }; \ - class ACE_Rangehelper: RscMapControl { \ - onDraw = "((ctrlParent (_this select 0)) displayCtrl 1713151) ctrlShow (cameraView == 'GUNNER');"; \ - w = 0; \ - h = 0; \ - }; + class CA_Distance; \ + class ACE_CA_Distance: CA_Distance { \ + idc = 1713151; \ + text = "----"; \ + }; \ + class ACE_Rangehelper: RscMapControl { \ + onDraw = "((ctrlParent (_this select 0)) displayCtrl 1713151) ctrlShow (cameraView == 'GUNNER');"; \ + w = 0; \ + h = 0; \ + }; class RscControlsGroup; class RscMapControl; class RscInGameUI { - class RscUnitInfo; - class RscUnitInfo_AH64D_gunner { - onLoad = ""; - controls[] = {"CA_Distance", "ACE_CA_Distance"}; - MACRO_RANGEFINDER - }; - class RscWeaponRangeFinder { - onLoad = "uiNamespace setVariable ['ACE_dlgRangefinder', _this select 0]; ((_this select 0) displayCtrl 151) ctrlSetTextColor [0, 0, 0, 0];"; - controls[] = {"CA_Distance", "ACE_CA_Distance"}; - MACRO_RANGEFINDER - }; + class RscUnitInfo; + class RscUnitInfo_AH64D_gunner { + onLoad = ""; + controls[] = {"CA_Distance", "ACE_CA_Distance"}; + MACRO_RANGEFINDER + }; + class RscWeaponRangeFinder { + onLoad = "uiNamespace setVariable ['ACE_dlgRangefinder', _this select 0]; ((_this select 0) displayCtrl 151) ctrlSetTextColor [0, 0, 0, 0];"; + controls[] = {"CA_Distance", "ACE_CA_Distance"}; + MACRO_RANGEFINDER + }; - class RscWeaponRangeFinderPAS13 { - onLoad = "uiNamespace setVariable ['ACE_dlgRangefinder', _this select 0]; ((_this select 0) displayCtrl 151) ctrlSetTextColor [0, 0, 0, 0];"; - MACRO_RANGEFINDER - }; - class RscOptics_Rangefinder: RscUnitInfo { - onLoad = "uiNamespace setVariable ['ACE_dlgRangefinder', _this select 0]; ((_this select 0) displayCtrl 151) ctrlSetTextColor [0, 0, 0, 0]; [""onLoad"",_this,""RscUnitInfo"",'IGUI'] call compile preprocessfilelinenumbers ""A3\ui_f\scripts\initDisplay.sqf"""; - class CA_IGUI_elements_group: RscControlsGroup { - class controls { + class RscWeaponRangeFinderPAS13 { + onLoad = "uiNamespace setVariable ['ACE_dlgRangefinder', _this select 0]; ((_this select 0) displayCtrl 151) ctrlSetTextColor [0, 0, 0, 0];"; MACRO_RANGEFINDER - }; }; - }; - class RscOptics_LaserDesignator { - onLoad = "uiNamespace setVariable ['ACE_dlgRangefinder', _this select 0]; ((_this select 0) displayCtrl 151) ctrlSetTextColor [0, 0, 0, 0];"; - class CA_IGUI_elements_group: RscControlsGroup { - class controls { + class RscOptics_Rangefinder: RscUnitInfo { + onLoad = "uiNamespace setVariable ['ACE_dlgRangefinder', _this select 0]; ((_this select 0) displayCtrl 151) ctrlSetTextColor [0, 0, 0, 0]; [""onLoad"",_this,""RscUnitInfo"",'IGUI'] call compile preprocessfilelinenumbers ""A3\ui_f\scripts\initDisplay.sqf"""; + class CA_IGUI_elements_group: RscControlsGroup { + class controls { + MACRO_RANGEFINDER + }; + }; + }; + class RscOptics_LaserDesignator { + onLoad = "uiNamespace setVariable ['ACE_dlgRangefinder', _this select 0]; ((_this select 0) displayCtrl 151) ctrlSetTextColor [0, 0, 0, 0];"; + class CA_IGUI_elements_group: RscControlsGroup { + class controls { + MACRO_RANGEFINDER + }; + }; + }; + class RscWeaponRangeFinderMAAWS { + onLoad = "uiNamespace setVariable ['ACE_dlgRangefinder', _this select 0]; ((_this select 0) displayCtrl 151) ctrlSetTextColor [0, 0, 0, 0];"; + class CA_IGUI_elements_group: RscControlsGroup { + class controls { + MACRO_RANGEFINDER + }; + }; + }; + class RscWeaponRangeFinderAbramsCom { + onLoad = "uiNamespace setVariable ['ACE_dlgRangefinder', _this select 0]; ((_this select 0) displayCtrl 151) ctrlSetTextColor [0, 0, 0, 0];"; + controls[] = {"CA_Distance", "ACE_CA_Distance"}; MACRO_RANGEFINDER - }; }; - }; - class RscWeaponRangeFinderMAAWS { - onLoad = "uiNamespace setVariable ['ACE_dlgRangefinder', _this select 0]; ((_this select 0) displayCtrl 151) ctrlSetTextColor [0, 0, 0, 0];"; - class CA_IGUI_elements_group: RscControlsGroup { - class controls { + class RscWeaponRangeFinderAbramsGun { + onLoad = "uiNamespace setVariable ['ACE_dlgRangefinder', _this select 0]; ((_this select 0) displayCtrl 151) ctrlSetTextColor [0, 0, 0, 0];"; + controls[] = {"CA_Distance", "ACE_CA_Distance"}; MACRO_RANGEFINDER - }; }; - }; - class RscWeaponRangeFinderAbramsCom { - onLoad = "uiNamespace setVariable ['ACE_dlgRangefinder', _this select 0]; ((_this select 0) displayCtrl 151) ctrlSetTextColor [0, 0, 0, 0];"; - controls[] = {"CA_Distance", "ACE_CA_Distance"}; - MACRO_RANGEFINDER - }; - class RscWeaponRangeFinderAbramsGun { - onLoad = "uiNamespace setVariable ['ACE_dlgRangefinder', _this select 0]; ((_this select 0) displayCtrl 151) ctrlSetTextColor [0, 0, 0, 0];"; - controls[] = {"CA_Distance", "ACE_CA_Distance"}; - MACRO_RANGEFINDER - }; - class RscWeaponRangeFinderStrykerMGSGun { - onLoad = "uiNamespace setVariable ['ACE_dlgRangefinder', _this select 0]; ((_this select 0) displayCtrl 151) ctrlSetTextColor [0, 0, 0, 0];"; - controls[] = {"CA_Distance", "ACE_CA_Distance"}; - MACRO_RANGEFINDER - }; - class RscOptics_crows: RscUnitInfo { - onLoad = "uiNamespace setVariable ['ACE_dlgRangefinder', _this select 0]; ((_this select 0) displayCtrl 151) ctrlSetTextColor [0, 0, 0, 0]; [""onLoad"",_this,""RscUnitInfo"",'IGUI'] call compile preprocessfilelinenumbers ""A3\ui_f\scripts\initDisplay.sqf"""; - class CA_IGUI_elements_group: RscControlsGroup { - class controls { + class RscWeaponRangeFinderStrykerMGSGun { + onLoad = "uiNamespace setVariable ['ACE_dlgRangefinder', _this select 0]; ((_this select 0) displayCtrl 151) ctrlSetTextColor [0, 0, 0, 0];"; + controls[] = {"CA_Distance", "ACE_CA_Distance"}; MACRO_RANGEFINDER - }; }; - }; - class RscOptics_strider_commander { - onLoad = "uiNamespace setVariable ['ACE_dlgRangefinder', _this select 0]; ((_this select 0) displayCtrl 151) ctrlSetTextColor [0, 0, 0, 0];"; - class CA_IGUI_elements_group: RscControlsGroup { - class controls { - MACRO_RANGEFINDER - }; + class RscOptics_crows: RscUnitInfo { + onLoad = "uiNamespace setVariable ['ACE_dlgRangefinder', _this select 0]; ((_this select 0) displayCtrl 151) ctrlSetTextColor [0, 0, 0, 0]; [""onLoad"",_this,""RscUnitInfo"",'IGUI'] call compile preprocessfilelinenumbers ""A3\ui_f\scripts\initDisplay.sqf"""; + class CA_IGUI_elements_group: RscControlsGroup { + class controls { + MACRO_RANGEFINDER + }; + }; + }; + class RscOptics_strider_commander { + onLoad = "uiNamespace setVariable ['ACE_dlgRangefinder', _this select 0]; ((_this select 0) displayCtrl 151) ctrlSetTextColor [0, 0, 0, 0];"; + class CA_IGUI_elements_group: RscControlsGroup { + class controls { + MACRO_RANGEFINDER + }; + }; }; - }; - class RscWeaponRangeZeroing: RscUnitInfo { - onLoad = "uiNamespace setVariable ['ACE_dlgRangefinder', _this select 0]; ((_this select 0) displayCtrl 151) ctrlSetTextColor [0, 0, 0, 0]; [""onLoad"",_this,""RscUnitInfo"",'IGUI'] call compile preprocessfilelinenumbers ""A3\ui_f\scripts\initDisplay.sqf"""; - controls[] = {"CA_Zeroing", "CA_DistanceText", "CA_Distance", "ACE_CA_Distance", "ACE_Rangehelper"}; - MACRO_RANGEFINDER - }; - class RscOptics_sos: RscUnitInfo { - onLoad = "uiNamespace setVariable ['ACE_dlgRangefinder', _this select 0]; ((_this select 0) displayCtrl 151) ctrlSetTextColor [0, 0, 0, 0]; [""onLoad"",_this,""RscUnitInfo"",'IGUI'] call compile preprocessfilelinenumbers ""A3\ui_f\scripts\initDisplay.sqf"""; - class CA_IGUI_elements_group: RscControlsGroup { - class controls { + class RscWeaponRangeZeroing: RscUnitInfo { + onLoad = "uiNamespace setVariable ['ACE_dlgRangefinder', _this select 0]; ((_this select 0) displayCtrl 151) ctrlSetTextColor [0, 0, 0, 0]; [""onLoad"",_this,""RscUnitInfo"",'IGUI'] call compile preprocessfilelinenumbers ""A3\ui_f\scripts\initDisplay.sqf"""; + controls[] = {"CA_Zeroing", "CA_DistanceText", "CA_Distance", "ACE_CA_Distance", "ACE_Rangehelper"}; MACRO_RANGEFINDER - }; }; - }; - class RscOptics_nightstalker: RscUnitInfo { - onLoad = "uiNamespace setVariable ['ACE_dlgRangefinder', _this select 0]; ((_this select 0) displayCtrl 151) ctrlSetTextColor [0, 0, 0, 0]; [""onLoad"",_this,""RscUnitInfo"",'IGUI'] call compile preprocessfilelinenumbers ""A3\ui_f\scripts\initDisplay.sqf"""; - class CA_IGUI_elements_group: RscControlsGroup { - class controls { - MACRO_RANGEFINDER - }; + class RscOptics_sos: RscUnitInfo { + onLoad = "uiNamespace setVariable ['ACE_dlgRangefinder', _this select 0]; ((_this select 0) displayCtrl 151) ctrlSetTextColor [0, 0, 0, 0]; [""onLoad"",_this,""RscUnitInfo"",'IGUI'] call compile preprocessfilelinenumbers ""A3\ui_f\scripts\initDisplay.sqf"""; + class CA_IGUI_elements_group: RscControlsGroup { + class controls { + MACRO_RANGEFINDER + }; + }; }; - }; - class RscOptics_tws: RscUnitInfo { - onLoad = "uiNamespace setVariable ['ACE_dlgRangefinder', _this select 0]; ((_this select 0) displayCtrl 151) ctrlSetTextColor [0, 0, 0, 0]; [""onLoad"",_this,""RscUnitInfo"",'IGUI'] call compile preprocessfilelinenumbers ""A3\ui_f\scripts\initDisplay.sqf"""; - class CA_IGUI_elements_group: RscControlsGroup { - class controls { - MACRO_RANGEFINDER - }; + class RscOptics_nightstalker: RscUnitInfo { + onLoad = "uiNamespace setVariable ['ACE_dlgRangefinder', _this select 0]; ((_this select 0) displayCtrl 151) ctrlSetTextColor [0, 0, 0, 0]; [""onLoad"",_this,""RscUnitInfo"",'IGUI'] call compile preprocessfilelinenumbers ""A3\ui_f\scripts\initDisplay.sqf"""; + class CA_IGUI_elements_group: RscControlsGroup { + class controls { + MACRO_RANGEFINDER + }; + }; }; - }; - class RscOptics_punisher { - onLoad = "uiNamespace setVariable ['ACE_dlgRangefinder', _this select 0]; ((_this select 0) displayCtrl 151) ctrlSetTextColor [0, 0, 0, 0];"; - class CA_IGUI_elements_group: RscControlsGroup { - class controls { - MACRO_RANGEFINDER - }; + class RscOptics_tws: RscUnitInfo { + onLoad = "uiNamespace setVariable ['ACE_dlgRangefinder', _this select 0]; ((_this select 0) displayCtrl 151) ctrlSetTextColor [0, 0, 0, 0]; [""onLoad"",_this,""RscUnitInfo"",'IGUI'] call compile preprocessfilelinenumbers ""A3\ui_f\scripts\initDisplay.sqf"""; + class CA_IGUI_elements_group: RscControlsGroup { + class controls { + MACRO_RANGEFINDER + }; + }; }; - }; - class RscOptics_tws_sniper: RscUnitInfo { - onLoad = "uiNamespace setVariable ['ACE_dlgRangefinder', _this select 0]; ((_this select 0) displayCtrl 151) ctrlSetTextColor [0, 0, 0, 0]; [""onLoad"",_this,""RscUnitInfo"",'IGUI'] call compile preprocessfilelinenumbers ""A3\ui_f\scripts\initDisplay.sqf"""; - class CA_IGUI_elements_group: RscControlsGroup { - class controls { - MACRO_RANGEFINDER - }; + class RscOptics_punisher { + onLoad = "uiNamespace setVariable ['ACE_dlgRangefinder', _this select 0]; ((_this select 0) displayCtrl 151) ctrlSetTextColor [0, 0, 0, 0];"; + class CA_IGUI_elements_group: RscControlsGroup { + class controls { + MACRO_RANGEFINDER + }; + }; }; - }; - class RscOptics_SDV_periscope { - onLoad = "uiNamespace setVariable ['ACE_dlgRangefinder', _this select 0]; ((_this select 0) displayCtrl 151) ctrlSetTextColor [0, 0, 0, 0];"; - class CA_IGUI_elements_group: RscControlsGroup { - class controls { - MACRO_RANGEFINDER - }; + class RscOptics_tws_sniper: RscUnitInfo { + onLoad = "uiNamespace setVariable ['ACE_dlgRangefinder', _this select 0]; ((_this select 0) displayCtrl 151) ctrlSetTextColor [0, 0, 0, 0]; [""onLoad"",_this,""RscUnitInfo"",'IGUI'] call compile preprocessfilelinenumbers ""A3\ui_f\scripts\initDisplay.sqf"""; + class CA_IGUI_elements_group: RscControlsGroup { + class controls { + MACRO_RANGEFINDER + }; + }; }; - }; - class RscOptics_Heli_Attack_02_gunner: RscUnitInfo { - onLoad = "uiNamespace setVariable ['ACE_dlgRangefinder', _this select 0]; ((_this select 0) displayCtrl 151) ctrlSetTextColor [0, 0, 0, 0]; [""onLoad"",_this,""RscUnitInfo"",'IGUI'] call compile preprocessfilelinenumbers ""A3\ui_f\scripts\initDisplay.sqf"""; - class CA_IGUI_elements_group: RscControlsGroup { - class controls { - MACRO_RANGEFINDER - }; + class RscOptics_SDV_periscope { + onLoad = "uiNamespace setVariable ['ACE_dlgRangefinder', _this select 0]; ((_this select 0) displayCtrl 151) ctrlSetTextColor [0, 0, 0, 0];"; + class CA_IGUI_elements_group: RscControlsGroup { + class controls { + MACRO_RANGEFINDER + }; + }; }; - }; - class RscOptics_Heli_Attack_01_gunner: RscUnitInfo { - onLoad = "uiNamespace setVariable ['ACE_dlgRangefinder', _this select 0]; ((_this select 0) displayCtrl 151) ctrlSetTextColor [0, 0, 0, 0]; [""onLoad"",_this,""RscUnitInfo"",'IGUI'] call compile preprocessfilelinenumbers ""A3\ui_f\scripts\initDisplay.sqf"""; - class CA_IGUI_elements_group: RscControlsGroup { - class controls { - MACRO_RANGEFINDER - }; + class RscOptics_Heli_Attack_02_gunner: RscUnitInfo { + onLoad = "uiNamespace setVariable ['ACE_dlgRangefinder', _this select 0]; ((_this select 0) displayCtrl 151) ctrlSetTextColor [0, 0, 0, 0]; [""onLoad"",_this,""RscUnitInfo"",'IGUI'] call compile preprocessfilelinenumbers ""A3\ui_f\scripts\initDisplay.sqf"""; + class CA_IGUI_elements_group: RscControlsGroup { + class controls { + MACRO_RANGEFINDER + }; + }; }; - }; - class RscOptics_UAV_gunner: RscUnitInfo { - onLoad = "uiNamespace setVariable ['ACE_dlgRangefinder', _this select 0]; ((_this select 0) displayCtrl 151) ctrlSetTextColor [0, 0, 0, 0]; [""onLoad"",_this,""RscUnitInfo"",'IGUI'] call compile preprocessfilelinenumbers ""A3\ui_f\scripts\initDisplay.sqf"""; - class CA_IGUI_elements_group: RscControlsGroup { - class controls { - MACRO_RANGEFINDER - }; + class RscOptics_Heli_Attack_01_gunner: RscUnitInfo { + onLoad = "uiNamespace setVariable ['ACE_dlgRangefinder', _this select 0]; ((_this select 0) displayCtrl 151) ctrlSetTextColor [0, 0, 0, 0]; [""onLoad"",_this,""RscUnitInfo"",'IGUI'] call compile preprocessfilelinenumbers ""A3\ui_f\scripts\initDisplay.sqf"""; + class CA_IGUI_elements_group: RscControlsGroup { + class controls { + MACRO_RANGEFINDER + }; + }; }; - }; - class RscOptics_UGV_gunner: RscUnitInfo { - onLoad = "uiNamespace setVariable ['ACE_dlgRangefinder', _this select 0]; ((_this select 0) displayCtrl 151) ctrlSetTextColor [0, 0, 0, 0]; [""onLoad"",_this,""RscUnitInfo"",'IGUI'] call compile preprocessfilelinenumbers ""A3\ui_f\scripts\initDisplay.sqf"""; - class CA_IGUI_elements_group: RscControlsGroup { - class controls { - MACRO_RANGEFINDER - }; + class RscOptics_UAV_gunner: RscUnitInfo { + onLoad = "uiNamespace setVariable ['ACE_dlgRangefinder', _this select 0]; ((_this select 0) displayCtrl 151) ctrlSetTextColor [0, 0, 0, 0]; [""onLoad"",_this,""RscUnitInfo"",'IGUI'] call compile preprocessfilelinenumbers ""A3\ui_f\scripts\initDisplay.sqf"""; + class CA_IGUI_elements_group: RscControlsGroup { + class controls { + MACRO_RANGEFINDER + }; + }; }; - }; - class RscOptics_APC_Tracked_01_gunner: RscUnitInfo { - onLoad = "uiNamespace setVariable ['ACE_dlgRangefinder', _this select 0]; ((_this select 0) displayCtrl 151) ctrlSetTextColor [0, 0, 0, 0]; [""onLoad"",_this,""RscUnitInfo"",'IGUI'] call compile preprocessfilelinenumbers ""A3\ui_f\scripts\initDisplay.sqf"""; - class CA_IGUI_elements_group: RscControlsGroup { - class controls { - MACRO_RANGEFINDER - }; + class RscOptics_UGV_gunner: RscUnitInfo { + onLoad = "uiNamespace setVariable ['ACE_dlgRangefinder', _this select 0]; ((_this select 0) displayCtrl 151) ctrlSetTextColor [0, 0, 0, 0]; [""onLoad"",_this,""RscUnitInfo"",'IGUI'] call compile preprocessfilelinenumbers ""A3\ui_f\scripts\initDisplay.sqf"""; + class CA_IGUI_elements_group: RscControlsGroup { + class controls { + MACRO_RANGEFINDER + }; + }; }; - }; - class RscOptics_APC_Tracked_03_gunner: RscUnitInfo { - onLoad = "uiNamespace setVariable ['ACE_dlgRangefinder', _this select 0]; ((_this select 0) displayCtrl 151) ctrlSetTextColor [0, 0, 0, 0]; [""onLoad"",_this,""RscUnitInfo"",'IGUI'] call compile preprocessfilelinenumbers ""A3\ui_f\scripts\initDisplay.sqf"""; - class CA_IGUI_elements_group: RscControlsGroup { - class controls { - MACRO_RANGEFINDER - }; + class RscOptics_APC_Tracked_01_gunner: RscUnitInfo { + onLoad = "uiNamespace setVariable ['ACE_dlgRangefinder', _this select 0]; ((_this select 0) displayCtrl 151) ctrlSetTextColor [0, 0, 0, 0]; [""onLoad"",_this,""RscUnitInfo"",'IGUI'] call compile preprocessfilelinenumbers ""A3\ui_f\scripts\initDisplay.sqf"""; + class CA_IGUI_elements_group: RscControlsGroup { + class controls { + MACRO_RANGEFINDER + }; + }; }; - }; - class RscOptics_APC_Wheeled_01_gunner: RscUnitInfo { - onLoad = "uiNamespace setVariable ['ACE_dlgRangefinder', _this select 0]; ((_this select 0) displayCtrl 151) ctrlSetTextColor [0, 0, 0, 0]; [""onLoad"",_this,""RscUnitInfo"",'IGUI'] call compile preprocessfilelinenumbers ""A3\ui_f\scripts\initDisplay.sqf"""; - class CA_IGUI_elements_group: RscControlsGroup { - class controls { - MACRO_RANGEFINDER - }; + class RscOptics_APC_Tracked_03_gunner: RscUnitInfo { + onLoad = "uiNamespace setVariable ['ACE_dlgRangefinder', _this select 0]; ((_this select 0) displayCtrl 151) ctrlSetTextColor [0, 0, 0, 0]; [""onLoad"",_this,""RscUnitInfo"",'IGUI'] call compile preprocessfilelinenumbers ""A3\ui_f\scripts\initDisplay.sqf"""; + class CA_IGUI_elements_group: RscControlsGroup { + class controls { + MACRO_RANGEFINDER + }; + }; }; - }; - class RscOptics_APC_Wheeled_03_commander: RscUnitInfo { - onLoad = "uiNamespace setVariable ['ACE_dlgRangefinder', _this select 0]; ((_this select 0) displayCtrl 151) ctrlSetTextColor [0, 0, 0, 0]; [""onLoad"",_this,""RscUnitInfo"",'IGUI'] call compile preprocessfilelinenumbers ""A3\ui_f\scripts\initDisplay.sqf"""; - class CA_IGUI_elements_group: RscControlsGroup { - class controls { - MACRO_RANGEFINDER - }; + class RscOptics_APC_Wheeled_01_gunner: RscUnitInfo { + onLoad = "uiNamespace setVariable ['ACE_dlgRangefinder', _this select 0]; ((_this select 0) displayCtrl 151) ctrlSetTextColor [0, 0, 0, 0]; [""onLoad"",_this,""RscUnitInfo"",'IGUI'] call compile preprocessfilelinenumbers ""A3\ui_f\scripts\initDisplay.sqf"""; + class CA_IGUI_elements_group: RscControlsGroup { + class controls { + MACRO_RANGEFINDER + }; + }; }; - }; - class RscOptics_APC_Wheeled_03_gunner: RscUnitInfo { - onLoad = "uiNamespace setVariable ['ACE_dlgRangefinder', _this select 0]; ((_this select 0) displayCtrl 151) ctrlSetTextColor [0, 0, 0, 0]; [""onLoad"",_this,""RscUnitInfo"",'IGUI'] call compile preprocessfilelinenumbers ""A3\ui_f\scripts\initDisplay.sqf"""; - class CA_IGUI_elements_group: RscControlsGroup { - class controls { - MACRO_RANGEFINDER - }; + class RscOptics_APC_Wheeled_03_commander: RscUnitInfo { + onLoad = "uiNamespace setVariable ['ACE_dlgRangefinder', _this select 0]; ((_this select 0) displayCtrl 151) ctrlSetTextColor [0, 0, 0, 0]; [""onLoad"",_this,""RscUnitInfo"",'IGUI'] call compile preprocessfilelinenumbers ""A3\ui_f\scripts\initDisplay.sqf"""; + class CA_IGUI_elements_group: RscControlsGroup { + class controls { + MACRO_RANGEFINDER + }; + }; }; - }; - class RscOptics_MBT_01_commander: RscUnitInfo { - onLoad = "uiNamespace setVariable ['ACE_dlgRangefinder', _this select 0]; ((_this select 0) displayCtrl 151) ctrlSetTextColor [0, 0, 0, 0]; [""onLoad"",_this,""RscUnitInfo"",'IGUI'] call compile preprocessfilelinenumbers ""A3\ui_f\scripts\initDisplay.sqf"""; - class CA_IGUI_elements_group: RscControlsGroup { - class controls { - MACRO_RANGEFINDER - }; + class RscOptics_APC_Wheeled_03_gunner: RscUnitInfo { + onLoad = "uiNamespace setVariable ['ACE_dlgRangefinder', _this select 0]; ((_this select 0) displayCtrl 151) ctrlSetTextColor [0, 0, 0, 0]; [""onLoad"",_this,""RscUnitInfo"",'IGUI'] call compile preprocessfilelinenumbers ""A3\ui_f\scripts\initDisplay.sqf"""; + class CA_IGUI_elements_group: RscControlsGroup { + class controls { + MACRO_RANGEFINDER + }; + }; }; - }; - class RscOptics_MBT_01_gunner: RscUnitInfo { - onLoad = "uiNamespace setVariable ['ACE_dlgRangefinder', _this select 0]; ((_this select 0) displayCtrl 151) ctrlSetTextColor [0, 0, 0, 0]; [""onLoad"",_this,""RscUnitInfo"",'IGUI'] call compile preprocessfilelinenumbers ""A3\ui_f\scripts\initDisplay.sqf"""; - class CA_IGUI_elements_group: RscControlsGroup { - class controls { - MACRO_RANGEFINDER - }; + class RscOptics_MBT_01_commander: RscUnitInfo { + onLoad = "uiNamespace setVariable ['ACE_dlgRangefinder', _this select 0]; ((_this select 0) displayCtrl 151) ctrlSetTextColor [0, 0, 0, 0]; [""onLoad"",_this,""RscUnitInfo"",'IGUI'] call compile preprocessfilelinenumbers ""A3\ui_f\scripts\initDisplay.sqf"""; + class CA_IGUI_elements_group: RscControlsGroup { + class controls { + MACRO_RANGEFINDER + }; + }; }; - }; - class RscOptics_MBT_02_commander: RscUnitInfo { - onLoad = "uiNamespace setVariable ['ACE_dlgRangefinder', _this select 0]; ((_this select 0) displayCtrl 151) ctrlSetTextColor [0, 0, 0, 0]; [""onLoad"",_this,""RscUnitInfo"",'IGUI'] call compile preprocessfilelinenumbers ""A3\ui_f\scripts\initDisplay.sqf"""; - class CA_IGUI_elements_group: RscControlsGroup { - class controls { - MACRO_RANGEFINDER - }; + class RscOptics_MBT_01_gunner: RscUnitInfo { + onLoad = "uiNamespace setVariable ['ACE_dlgRangefinder', _this select 0]; ((_this select 0) displayCtrl 151) ctrlSetTextColor [0, 0, 0, 0]; [""onLoad"",_this,""RscUnitInfo"",'IGUI'] call compile preprocessfilelinenumbers ""A3\ui_f\scripts\initDisplay.sqf"""; + class CA_IGUI_elements_group: RscControlsGroup { + class controls { + MACRO_RANGEFINDER + }; + }; }; - }; - class RscOptics_MBT_02_gunner: RscUnitInfo { - onLoad = "uiNamespace setVariable ['ACE_dlgRangefinder', _this select 0]; ((_this select 0) displayCtrl 151) ctrlSetTextColor [0, 0, 0, 0]; [""onLoad"",_this,""RscUnitInfo"",'IGUI'] call compile preprocessfilelinenumbers ""A3\ui_f\scripts\initDisplay.sqf"""; - class CA_IGUI_elements_group: RscControlsGroup { - class controls { - MACRO_RANGEFINDER - }; + class RscOptics_MBT_02_commander: RscUnitInfo { + onLoad = "uiNamespace setVariable ['ACE_dlgRangefinder', _this select 0]; ((_this select 0) displayCtrl 151) ctrlSetTextColor [0, 0, 0, 0]; [""onLoad"",_this,""RscUnitInfo"",'IGUI'] call compile preprocessfilelinenumbers ""A3\ui_f\scripts\initDisplay.sqf"""; + class CA_IGUI_elements_group: RscControlsGroup { + class controls { + MACRO_RANGEFINDER + }; + }; }; - }; - class RscOptics_MBT_03_gunner: RscUnitInfo { - onLoad = "uiNamespace setVariable ['ACE_dlgRangefinder', _this select 0]; ((_this select 0) displayCtrl 151) ctrlSetTextColor [0, 0, 0, 0]; [""onLoad"",_this,""RscUnitInfo"",'IGUI'] call compile preprocessfilelinenumbers ""A3\ui_f\scripts\initDisplay.sqf"""; - class CA_IGUI_elements_group: RscControlsGroup { - class controls { - MACRO_RANGEFINDER - }; + class RscOptics_MBT_02_gunner: RscUnitInfo { + onLoad = "uiNamespace setVariable ['ACE_dlgRangefinder', _this select 0]; ((_this select 0) displayCtrl 151) ctrlSetTextColor [0, 0, 0, 0]; [""onLoad"",_this,""RscUnitInfo"",'IGUI'] call compile preprocessfilelinenumbers ""A3\ui_f\scripts\initDisplay.sqf"""; + class CA_IGUI_elements_group: RscControlsGroup { + class controls { + MACRO_RANGEFINDER + }; + }; + }; + class RscOptics_MBT_03_gunner: RscUnitInfo { + onLoad = "uiNamespace setVariable ['ACE_dlgRangefinder', _this select 0]; ((_this select 0) displayCtrl 151) ctrlSetTextColor [0, 0, 0, 0]; [""onLoad"",_this,""RscUnitInfo"",'IGUI'] call compile preprocessfilelinenumbers ""A3\ui_f\scripts\initDisplay.sqf"""; + class CA_IGUI_elements_group: RscControlsGroup { + class controls { + MACRO_RANGEFINDER + }; + }; }; - }; }; diff --git a/addons/fcs/config.cpp b/addons/fcs/config.cpp index ddd490e674..e1ebaa2888 100644 --- a/addons/fcs/config.cpp +++ b/addons/fcs/config.cpp @@ -1,373 +1,373 @@ #include "script_component.hpp" class CfgPatches { - class ADDON { - units[] = {}; - weapons[] = {}; - requiredVersion = 0.60; - requiredAddons[] = {ace_common, ace_interaction}; - version = QUOTE(VERSION); - versionStr = QUOTE(VERSION); - versionAr[] = {VERSION_AR}; - author[] = {"KoffeinFlummi","BadGuy (simon84)"}; - authorUrl = "https://github.com/KoffeinFlummi/"; - }; + class ADDON { + units[] = {}; + weapons[] = {}; + requiredVersion = 0.60; + requiredAddons[] = {ace_common, ace_interaction}; + version = QUOTE(VERSION); + versionStr = QUOTE(VERSION); + versionAr[] = {VERSION_AR}; + author[] = {"KoffeinFlummi","BadGuy (simon84)"}; + authorUrl = "https://github.com/KoffeinFlummi/"; + }; }; #include "CfgEventHandlers.hpp" class ACE_Default_Keys { - class laseTarget { - displayName = $STR_ACE_FCS_LaseTarget; - condition = QUOTE(call FUNC(canUseRangefinder) || FUNC(canUseFCS)); - statement = QUOTE([_vehicle] call FUNC(keyDown)); - conditionUp = QUOTE(GVAR(enabled) && FUNC(canUseFCS)); - statementUp = QUOTE([_vehicle] call FUNC(keyUp)); - key = 15; - shift = 0; - control = 0; - alt = 0; - }; - class adjustRangeUp { - displayName = $STR_ACE_FCS_AdjustRangeUp; - condition = QUOTE(call FUNC(canUseRangefinder) || FUNC(canUseFCS)); - statement = QUOTE([_vehicle, 50] call FUNC(adjustRange)); - key = 201; - shift = 0; - control = 0; - alt = 0; - allowHolding = 1; - }; - class adjustRangeDown: adjustRangeUp { - displayName = $STR_ACE_FCS_AdjustRangeDown; - statement = QUOTE([_vehicle, -50] call FUNC(adjustRange)); - key = 209; - }; + class laseTarget { + displayName = $STR_ACE_FCS_LaseTarget; + condition = QUOTE(call FUNC(canUseRangefinder) || FUNC(canUseFCS)); + statement = QUOTE([_vehicle] call FUNC(keyDown)); + conditionUp = QUOTE(GVAR(enabled) && FUNC(canUseFCS)); + statementUp = QUOTE([_vehicle] call FUNC(keyUp)); + key = 15; + shift = 0; + control = 0; + alt = 0; + }; + class adjustRangeUp { + displayName = $STR_ACE_FCS_AdjustRangeUp; + condition = QUOTE(call FUNC(canUseRangefinder) || FUNC(canUseFCS)); + statement = QUOTE([_vehicle, 50] call FUNC(adjustRange)); + key = 201; + shift = 0; + control = 0; + alt = 0; + allowHolding = 1; + }; + class adjustRangeDown: adjustRangeUp { + displayName = $STR_ACE_FCS_AdjustRangeDown; + statement = QUOTE([_vehicle, -50] call FUNC(adjustRange)); + key = 209; + }; }; class CfgVehicles { - class All { - class Turrets; - }; - - class AllVehicles: All { - GVAR(Enabled) = 0; - GVAR(MinDistance) = 200; - GVAR(MaxDistance) = 9990; - GVAR(DistanceInterval) = 5; - class NewTurret { - class Turrets; + class All { + class Turrets; }; - class CargoTurret; - }; - class Land: AllVehicles {}; - - class LandVehicle: Land { - class CommanderOptics; - }; - - // WHEELED - class Car: LandVehicle { - class ACE_SelfActions { - class ResetFCS { - displayName = $STR_ACE_FCS_ResetFCS; - enableInside = 1; - condition = QUOTE(call FUNC(canResetFCS)); - statement = QUOTE([vehicle _player] call FUNC(reset);); - showDisabled = 0; - priority = 1; - icon = ""; - }; - }; - }; - - class Car_F: Car { - class Turrets { - class MainTurret; - }; - }; - - class Wheeled_APC_F: Car_F { - class Turrets { - class MainTurret: NewTurret { - class Turrets { - class CommanderOptics; + class AllVehicles: All { + GVAR(Enabled) = 0; + GVAR(MinDistance) = 200; + GVAR(MaxDistance) = 9990; + GVAR(DistanceInterval) = 5; + class NewTurret { + class Turrets; }; - }; + class CargoTurret; }; - }; - class APC_Wheeled_01_base_F: Wheeled_APC_F {}; - class B_APC_Wheeled_01_base_F: APC_Wheeled_01_base_F {}; - class B_APC_Wheeled_01_cannon_F: B_APC_Wheeled_01_base_F { - GVAR(Enabled) = 1; - class Turrets: Turrets { - class MainTurret: MainTurret { - discreteDistance[] = {}; - discreteDistanceInitIndex = 0; - }; - }; - }; + class Land: AllVehicles {}; - class APC_Wheeled_03_base_F: Wheeled_APC_F { - GVAR(Enabled) = 1; - class Turrets: Turrets { - class MainTurret: MainTurret { - discreteDistance[] = {}; - discreteDistanceInitIndex = 0; - }; + class LandVehicle: Land { + class CommanderOptics; }; - }; - // TRACKED - class Tank: LandVehicle { - GVAR(Enabled) = 1; // all tracked vehicles get one by default - class ACE_SelfActions { - class ResetFCS { - displayName = $STR_ACE_FCS_ResetFCS; - enableInside = 1; - condition = QUOTE(call FUNC(canResetFCS)); - statement = QUOTE([vehicle _player] call FUNC(reset);); - showDisabled = 0; - priority = 1; - icon = ""; - }; - }; - class Turrets { - class MainTurret: NewTurret { - class Turrets { - class CommanderOptics; + // WHEELED + class Car: LandVehicle { + class ACE_SelfActions { + class ResetFCS { + displayName = $STR_ACE_FCS_ResetFCS; + enableInside = 1; + condition = QUOTE(call FUNC(canResetFCS)); + statement = QUOTE([vehicle _player] call FUNC(reset);); + showDisabled = 0; + priority = 1; + icon = ""; + }; }; - }; }; - }; - class Tank_F: Tank { - class Turrets { - class MainTurret: NewTurret { + class Car_F: Car { class Turrets { - class CommanderOptics; + class MainTurret; }; - }; }; - }; - class MBT_01_base_F: Tank_F { - class Turrets: Turrets { - class MainTurret: MainTurret { - discreteDistance[] = {}; - discreteDistanceInitIndex = 0; - }; + class Wheeled_APC_F: Car_F { + class Turrets { + class MainTurret: NewTurret { + class Turrets { + class CommanderOptics; + }; + }; + }; }; - }; - class B_MBT_01_base_F: MBT_01_base_F {}; - class B_MBT_01_cannon_F: B_MBT_01_base_F {}; - class B_MBT_01_TUSK_F: B_MBT_01_cannon_F { - class Turrets: Turrets { - class MainTurret: MainTurret { - discreteDistance[] = {}; - discreteDistanceInitIndex = 0; - }; + class APC_Wheeled_01_base_F: Wheeled_APC_F {}; + class B_APC_Wheeled_01_base_F: APC_Wheeled_01_base_F {}; + class B_APC_Wheeled_01_cannon_F: B_APC_Wheeled_01_base_F { + GVAR(Enabled) = 1; + class Turrets: Turrets { + class MainTurret: MainTurret { + discreteDistance[] = {}; + discreteDistanceInitIndex = 0; + }; + }; }; - }; - class MBT_01_arty_base_F: MBT_01_base_F { - GVAR(Enabled) = 0; - }; - class MBT_01_mlrs_base_F: MBT_01_base_F { - GVAR(Enabled) = 0; - }; - class MBT_02_base_F: Tank_F { - class Turrets: Turrets { - class MainTurret: MainTurret { - discreteDistance[] = {}; - discreteDistanceInitIndex = 0; - }; + class APC_Wheeled_03_base_F: Wheeled_APC_F { + GVAR(Enabled) = 1; + class Turrets: Turrets { + class MainTurret: MainTurret { + discreteDistance[] = {}; + discreteDistanceInitIndex = 0; + }; + }; }; - }; - class MBT_02_arty_base_F: MBT_02_base_F { - GVAR(Enabled) = 0; - }; - class MBT_03_base_F: Tank_F { - class Turrets: Turrets { - class MainTurret: MainTurret { - discreteDistance[] = {}; - discreteDistanceInitIndex = 0; - }; + // TRACKED + class Tank: LandVehicle { + GVAR(Enabled) = 1; // all tracked vehicles get one by default + class ACE_SelfActions { + class ResetFCS { + displayName = $STR_ACE_FCS_ResetFCS; + enableInside = 1; + condition = QUOTE(call FUNC(canResetFCS)); + statement = QUOTE([vehicle _player] call FUNC(reset);); + showDisabled = 0; + priority = 1; + icon = ""; + }; + }; + class Turrets { + class MainTurret: NewTurret { + class Turrets { + class CommanderOptics; + }; + }; + }; }; - }; - class APC_Tracked_01_base_F: Tank_F {}; - class B_APC_Tracked_01_base_F: APC_Tracked_01_base_F {}; - class B_APC_Tracked_01_rcws_F: B_APC_Tracked_01_base_F { - GVAR(Enabled) = 0; - }; - class B_APC_Tracked_01_CRV_F: B_APC_Tracked_01_base_F { - GVAR(Enabled) = 0; - }; - class B_APC_Tracked_01_AA_F: B_APC_Tracked_01_base_F { - class Turrets: Turrets { - class MainTurret: MainTurret { - discreteDistance[] = {}; - discreteDistanceInitIndex = 0; - magazines[] += {"ACE_120Rnd_35mm_ABM_shells_Tracer_Red"}; - }; + class Tank_F: Tank { + class Turrets { + class MainTurret: NewTurret { + class Turrets { + class CommanderOptics; + }; + }; + }; }; - }; - class APC_Tracked_02_base_F: Tank_F {}; - class O_APC_Tracked_02_base_F: APC_Tracked_02_base_F {}; - class O_APC_Tracked_02_AA_F: O_APC_Tracked_02_base_F { - class Turrets: Turrets { - class MainTurret: MainTurret { - magazines[] += {"ACE_120Rnd_35mm_ABM_shells_Tracer_Green"}; - }; + class MBT_01_base_F: Tank_F { + class Turrets: Turrets { + class MainTurret: MainTurret { + discreteDistance[] = {}; + discreteDistanceInitIndex = 0; + }; + }; }; - }; - class APC_Tracked_03_base_F: Tank_F { - class Turrets: Turrets { - class MainTurret: MainTurret { - discreteDistance[] = {}; - discreteDistanceInitIndex = 0; - }; + class B_MBT_01_base_F: MBT_01_base_F {}; + class B_MBT_01_cannon_F: B_MBT_01_base_F {}; + class B_MBT_01_TUSK_F: B_MBT_01_cannon_F { + class Turrets: Turrets { + class MainTurret: MainTurret { + discreteDistance[] = {}; + discreteDistanceInitIndex = 0; + }; + }; + }; + class MBT_01_arty_base_F: MBT_01_base_F { + GVAR(Enabled) = 0; + }; + class MBT_01_mlrs_base_F: MBT_01_base_F { + GVAR(Enabled) = 0; }; - }; - // HELICOPTERS - class Air: AllVehicles {}; + class MBT_02_base_F: Tank_F { + class Turrets: Turrets { + class MainTurret: MainTurret { + discreteDistance[] = {}; + discreteDistanceInitIndex = 0; + }; + }; + }; + class MBT_02_arty_base_F: MBT_02_base_F { + GVAR(Enabled) = 0; + }; - class Helicopter: Air { - class ACE_SelfActions { - class ResetFCS { - displayName = $STR_ACE_FCS_ResetFCS; - enableInside = 1; - condition = QUOTE(call FUNC(canResetFCS)); - statement = QUOTE([vehicle _player] call FUNC(reset);); - showDisabled = 0; - priority = 1; - icon = ""; - }; + class MBT_03_base_F: Tank_F { + class Turrets: Turrets { + class MainTurret: MainTurret { + discreteDistance[] = {}; + discreteDistanceInitIndex = 0; + }; + }; }; - class Turrets { - class MainTurret; - }; - }; - class Helicopter_Base_F: Helicopter { - class Turrets: Turrets { - class CopilotTurret; + class APC_Tracked_01_base_F: Tank_F {}; + class B_APC_Tracked_01_base_F: APC_Tracked_01_base_F {}; + class B_APC_Tracked_01_rcws_F: B_APC_Tracked_01_base_F { + GVAR(Enabled) = 0; + }; + class B_APC_Tracked_01_CRV_F: B_APC_Tracked_01_base_F { + GVAR(Enabled) = 0; + }; + class B_APC_Tracked_01_AA_F: B_APC_Tracked_01_base_F { + class Turrets: Turrets { + class MainTurret: MainTurret { + discreteDistance[] = {}; + discreteDistanceInitIndex = 0; + magazines[] += {"ACE_120Rnd_35mm_ABM_shells_Tracer_Red"}; + }; + }; }; - }; - class Heli_Attack_01_base_F: Helicopter_Base_F { - GVAR(Enabled) = 1; - class Turrets: Turrets { - class MainTurret: MainTurret { - discreteDistance[] = {}; - discreteDistanceInitIndex = 0; - }; + class APC_Tracked_02_base_F: Tank_F {}; + class O_APC_Tracked_02_base_F: APC_Tracked_02_base_F {}; + class O_APC_Tracked_02_AA_F: O_APC_Tracked_02_base_F { + class Turrets: Turrets { + class MainTurret: MainTurret { + magazines[] += {"ACE_120Rnd_35mm_ABM_shells_Tracer_Green"}; + }; + }; }; - }; - class Heli_Attack_02_base_F: Helicopter_Base_F { - GVAR(Enabled) = 1; - class Turrets: Turrets { - class MainTurret: MainTurret { - discreteDistance[] = {}; - discreteDistanceInitIndex = 0; - }; + class APC_Tracked_03_base_F: Tank_F { + class Turrets: Turrets { + class MainTurret: MainTurret { + discreteDistance[] = {}; + discreteDistanceInitIndex = 0; + }; + }; + }; + + // HELICOPTERS + class Air: AllVehicles {}; + + class Helicopter: Air { + class ACE_SelfActions { + class ResetFCS { + displayName = $STR_ACE_FCS_ResetFCS; + enableInside = 1; + condition = QUOTE(call FUNC(canResetFCS)); + statement = QUOTE([vehicle _player] call FUNC(reset);); + showDisabled = 0; + priority = 1; + icon = ""; + }; + }; + class Turrets { + class MainTurret; + }; + }; + + class Helicopter_Base_F: Helicopter { + class Turrets: Turrets { + class CopilotTurret; + }; + }; + + class Heli_Attack_01_base_F: Helicopter_Base_F { + GVAR(Enabled) = 1; + class Turrets: Turrets { + class MainTurret: MainTurret { + discreteDistance[] = {}; + discreteDistanceInitIndex = 0; + }; + }; + }; + + class Heli_Attack_02_base_F: Helicopter_Base_F { + GVAR(Enabled) = 1; + class Turrets: Turrets { + class MainTurret: MainTurret { + discreteDistance[] = {}; + discreteDistanceInitIndex = 0; + }; + }; }; - }; }; class CfgWeapons { - // disable locking, so it doesn't interfere with our system - class CannonCore; - class cannon_120mm: CannonCore { - canLock = 0; - ballisticsComputer = 0; - }; - class autocannon_Base_F: CannonCore { - canLock = 0; - ballisticsComputer = 0; - }; - class autocannon_35mm: CannonCore { - canLock = 0; - ballisticsComputer = 0; - magazines[] += {"ACE_120Rnd_35mm_ABM_shells","ACE_120Rnd_35mm_ABM_shells_Tracer_Red","ACE_120Rnd_35mm_ABM_shells_Tracer_Green","ACE_120Rnd_35mm_ABM_shells_Tracer_Yellow"}; - }; + // disable locking, so it doesn't interfere with our system + class CannonCore; + class cannon_120mm: CannonCore { + canLock = 0; + ballisticsComputer = 0; + }; + class autocannon_Base_F: CannonCore { + canLock = 0; + ballisticsComputer = 0; + }; + class autocannon_35mm: CannonCore { + canLock = 0; + ballisticsComputer = 0; + magazines[] += {"ACE_120Rnd_35mm_ABM_shells","ACE_120Rnd_35mm_ABM_shells_Tracer_Red","ACE_120Rnd_35mm_ABM_shells_Tracer_Green","ACE_120Rnd_35mm_ABM_shells_Tracer_Yellow"}; + }; - // fix mrco having an invisible rangefinder - class ItemCore; - class optic_MRCO: ItemCore { - weaponInfoType = "RscWeaponZeroing"; - }; + // fix mrco having an invisible rangefinder + class ItemCore; + class optic_MRCO: ItemCore { + weaponInfoType = "RscWeaponZeroing"; + }; }; class CfgMagazines { - class 680Rnd_35mm_AA_shells; - class 680Rnd_35mm_AA_shells_Tracer_Red; - class 680Rnd_35mm_AA_shells_Tracer_Green; - class 680Rnd_35mm_AA_shells_Tracer_Yellow; + class 680Rnd_35mm_AA_shells; + class 680Rnd_35mm_AA_shells_Tracer_Red; + class 680Rnd_35mm_AA_shells_Tracer_Green; + class 680Rnd_35mm_AA_shells_Tracer_Yellow; - class ACE_120Rnd_35mm_ABM_shells: 680Rnd_35mm_AA_shells { - ammo = "ACE_B_35mm_ABM"; - count = 120; - displayName = "35mm ABM Shells"; - displayNameShort = "35mm ABM"; - }; - class ACE_120Rnd_35mm_ABM_shells_Tracer_Red: 680Rnd_35mm_AA_shells_Tracer_Red { - ammo = "ACE_B_35mm_ABM_Tracer_Red"; - count = 120; - displayName = "35mm ABM Shells"; - displayNameShort = "35mm ABM-T"; - }; - class ACE_120Rnd_35mm_ABM_shells_Tracer_Green: 680Rnd_35mm_AA_shells_Tracer_Green { - ammo = "ACE_B_35mm_ABM_Tracer_Green"; - count = 120; - displayName = "35mm ABM Shells"; - displayNameShort = "35mm ABM-T"; - }; - class ACE_120Rnd_35mm_ABM_shells_Tracer_Yellow: 680Rnd_35mm_AA_shells_Tracer_Yellow { - ammo = "ACE_B_35mm_ABM_Tracer_Yellow"; - count = 120; - displayName = "35mm ABM Shells"; - displayNameShort = "35mm ABM-T"; - }; + class ACE_120Rnd_35mm_ABM_shells: 680Rnd_35mm_AA_shells { + ammo = "ACE_B_35mm_ABM"; + count = 120; + displayName = "35mm ABM Shells"; + displayNameShort = "35mm ABM"; + }; + class ACE_120Rnd_35mm_ABM_shells_Tracer_Red: 680Rnd_35mm_AA_shells_Tracer_Red { + ammo = "ACE_B_35mm_ABM_Tracer_Red"; + count = 120; + displayName = "35mm ABM Shells"; + displayNameShort = "35mm ABM-T"; + }; + class ACE_120Rnd_35mm_ABM_shells_Tracer_Green: 680Rnd_35mm_AA_shells_Tracer_Green { + ammo = "ACE_B_35mm_ABM_Tracer_Green"; + count = 120; + displayName = "35mm ABM Shells"; + displayNameShort = "35mm ABM-T"; + }; + class ACE_120Rnd_35mm_ABM_shells_Tracer_Yellow: 680Rnd_35mm_AA_shells_Tracer_Yellow { + ammo = "ACE_B_35mm_ABM_Tracer_Yellow"; + count = 120; + displayName = "35mm ABM Shells"; + displayNameShort = "35mm ABM-T"; + }; }; class CfgAmmo { - class B_35mm_AA; - class B_35mm_AA_Tracer_Red; - class B_35mm_AA_Tracer_Green; - class B_35mm_AA_Tracer_Yellow; + class B_35mm_AA; + class B_35mm_AA_Tracer_Red; + class B_35mm_AA_Tracer_Green; + class B_35mm_AA_Tracer_Yellow; - class ACE_B_35mm_ABM: B_35mm_AA { - GVAR(Airburst) = 1; - deflecting = 0; - }; - class ACE_B_35mm_ABM_Tracer_Red: B_35mm_AA_Tracer_Red { - GVAR(Airburst) = 1; - deflecting = 0; - }; - class ACE_B_35mm_ABM_Tracer_Green: B_35mm_AA_Tracer_Green { - GVAR(Airburst) = 1; - deflecting = 0; - }; - class ACE_B_35mm_ABM_Tracer_Yellow: B_35mm_AA_Tracer_Yellow { - GVAR(Airburst) = 1; - deflecting = 0; - }; + class ACE_B_35mm_ABM: B_35mm_AA { + GVAR(Airburst) = 1; + deflecting = 0; + }; + class ACE_B_35mm_ABM_Tracer_Red: B_35mm_AA_Tracer_Red { + GVAR(Airburst) = 1; + deflecting = 0; + }; + class ACE_B_35mm_ABM_Tracer_Green: B_35mm_AA_Tracer_Green { + GVAR(Airburst) = 1; + deflecting = 0; + }; + class ACE_B_35mm_ABM_Tracer_Yellow: B_35mm_AA_Tracer_Yellow { + GVAR(Airburst) = 1; + deflecting = 0; + }; - class ACE_B_35mm_ABM_Helper: B_35mm_AA { - indirectHitRange = 6; - simulation = "shotRocket"; - timeToLive = 0; - }; + class ACE_B_35mm_ABM_Helper: B_35mm_AA { + indirectHitRange = 6; + simulation = "shotRocket"; + timeToLive = 0; + }; }; #include diff --git a/addons/fcs/functions/fnc_firedEH.sqf b/addons/fcs/functions/fnc_firedEH.sqf index 235e4531b8..e6fff694ca 100644 --- a/addons/fcs/functions/fnc_firedEH.sqf +++ b/addons/fcs/functions/fnc_firedEH.sqf @@ -29,9 +29,9 @@ if !(_magazineType in _FCSMagazines) exitWith {}; // GET ELEVATION OFFSET OF CURRENT MAGAZINE _offset = 0; { - if (_x == _magazineType) exitWith { - _offset = _FCSElevation select _forEachIndex; - }; + if (_x == _magazineType) exitWith { + _offset = _FCSElevation select _forEachIndex; + }; } forEach _FCSMagazines; [_round, (_unit getVariable QGVAR(Azimuth)), _offset, 0] call EFUNC(common,changeProjectileDirection); @@ -39,24 +39,24 @@ _offset = 0; // Air burst missile // may need to get rewritten if (getNumber (configFile >> "CfgAmmo" >> _ammoType >> "ACE_Airburst") == 1) then { - _this spawn { - _vehicle = _this select 0; - _projectile = _this select 6; + _this spawn { + _vehicle = _this select 0; + _projectile = _this select 6; - _distance = _vehicle getVariable [QGVAR(Distance), currentZeroing _vehicle]; + _distance = _vehicle getVariable [QGVAR(Distance), currentZeroing _vehicle]; - if (_distance < 50) exitWith {}; - if (_distance > 1500) exitWith {}; + if (_distance < 50) exitWith {}; + if (_distance > 1500) exitWith {}; - waitUntil {_projectile distance _vehicle > _distance || {!alive _projectile}}; - if (!alive _projectile) exitWith {}; + waitUntil {_projectile distance _vehicle > _distance || {!alive _projectile}}; + if (!alive _projectile) exitWith {}; - _position = getPosATL _projectile; + _position = getPosATL _projectile; - _subMunition = createVehicle ["ACE_B_35mm_ABM_Helper", _position, [], 0, "FLY"]; - _subMunition setPosATL _position; - _subMunition setVelocity [0, 0, -10]; + _subMunition = createVehicle ["ACE_B_35mm_ABM_Helper", _position, [], 0, "FLY"]; + _subMunition setPosATL _position; + _subMunition setVelocity [0, 0, -10]; - deleteVehicle _projectile; - }; + deleteVehicle _projectile; + }; }; diff --git a/addons/fcs/functions/fnc_getAngle.sqf b/addons/fcs/functions/fnc_getAngle.sqf index b1f743e8cc..03024d8b98 100644 --- a/addons/fcs/functions/fnc_getAngle.sqf +++ b/addons/fcs/functions/fnc_getAngle.sqf @@ -32,40 +32,40 @@ _simulationStep = _this select 6; if (_simulationStep == 0) exitWith {_angleTarget}; FUNC(traceBullet) = { - private ["_distance", "_angleTarget", "_maxElev", "_initSpeed", "_airFriction", "_timeToLive", "_simulationStep", "_angle", "_posTargetX", "_posTargetY", "_posX", "_posY", "_velocityX", "_velocityY", "_velocityMagnitude"]; + private ["_distance", "_angleTarget", "_maxElev", "_initSpeed", "_airFriction", "_timeToLive", "_simulationStep", "_angle", "_posTargetX", "_posTargetY", "_posX", "_posY", "_velocityX", "_velocityY", "_velocityMagnitude"]; - _distance = _this select 0; - _angleTarget = _this select 1; - _maxElev = _this select 2; - _initSpeed = _this select 3; - _airFriction = _this select 4; - _timeToLive = _this select 5; - _simulationStep = _this select 6; - _angle = _this select 7; + _distance = _this select 0; + _angleTarget = _this select 1; + _maxElev = _this select 2; + _initSpeed = _this select 3; + _airFriction = _this select 4; + _timeToLive = _this select 5; + _simulationStep = _this select 6; + _angle = _this select 7; - _angle = _angle - _angleTarget; - _angleTarget = 0; + _angle = _angle - _angleTarget; + _angleTarget = 0; - _posTargetX = (cos _angleTarget) * _distance; - _posTargetY = (sin _angleTarget) * _distance; + _posTargetX = (cos _angleTarget) * _distance; + _posTargetY = (sin _angleTarget) * _distance; - _posX = 0; - _posY = 0; + _posX = 0; + _posY = 0; - _velocityX = (cos _angle) * _initSpeed; - _velocityY = (sin _angle) * _initSpeed; + _velocityX = (cos _angle) * _initSpeed; + _velocityY = (sin _angle) * _initSpeed; - // trace the path of the bullet - for "_i" from 1 to ((floor (_timeToLive / _simulationStep)) + 1) do { - _velocityMagnitude = sqrt (_velocityX^2 + _velocityY^2); - _velocityX = _velocityX + _simulationStep * (_velocityX * _velocityMagnitude * _airFriction); - _velocityY = _velocityY + _simulationStep * (_velocityY * _velocityMagnitude * _airFriction - 9.81); - _posX = _posX + _velocityX * _simulationStep; - _posY = _posY + _velocityY * _simulationStep; - if (_posX >= _posTargetX) exitWith {}; // bullet passed the target - }; + // trace the path of the bullet + for "_i" from 1 to ((floor (_timeToLive / _simulationStep)) + 1) do { + _velocityMagnitude = sqrt (_velocityX^2 + _velocityY^2); + _velocityX = _velocityX + _simulationStep * (_velocityX * _velocityMagnitude * _airFriction); + _velocityY = _velocityY + _simulationStep * (_velocityY * _velocityMagnitude * _airFriction - 9.81); + _posX = _posX + _velocityX * _simulationStep; + _posY = _posY + _velocityY * _simulationStep; + if (_posX >= _posTargetX) exitWith {}; // bullet passed the target + }; - _posY - _posTargetY + _posY - _posTargetY }; if ((_this + [_maxElev]) call FUNC(traceBullet) < 0) exitWith {_maxElev - _angleTarget}; @@ -78,12 +78,12 @@ _f1 = (_this + [_angle1]) call FUNC(traceBullet); if ((abs _f1) <= PRECISION) exitWith {0}; while {(abs _f1) > PRECISION} do { - _f2 = (_this + [_angle2]) call FUNC(traceBullet); - _temp = _angle2-_f2*(_angle2-_angle1)/(_f2-_f1); - _angle1 = _angle2; - _angle2 = _temp; - _f1 = _f2; - _it2 = _it2+1; + _f2 = (_this + [_angle2]) call FUNC(traceBullet); + _temp = _angle2-_f2*(_angle2-_angle1)/(_f2-_f1); + _angle1 = _angle2; + _angle2 = _temp; + _f1 = _f2; + _it2 = _it2+1; }; //player globalChat format ["it1: %1 | _angle1: %2 | it2: %3 | _angle2: %4",_it1, _angle-_angleTarget, _it2, _angle2-_angleTarget]; diff --git a/addons/fcs/functions/fnc_keyDown.sqf b/addons/fcs/functions/fnc_keyDown.sqf index e0c6cd35f9..086a11c03c 100644 --- a/addons/fcs/functions/fnc_keyDown.sqf +++ b/addons/fcs/functions/fnc_keyDown.sqf @@ -23,13 +23,13 @@ GVAR(Enabled) = true; GVAR(Time) = time; if (_distance == 0) then { - _distance = [5, 5000, 0] call EFUNC(common,getTargetDistance); // maximum distance: 5000m, 5m precision + _distance = [5, 5000, 0] call EFUNC(common,getTargetDistance); // maximum distance: 5000m, 5m precision }; _weaponDirection = _vehicle weaponDirection currentWeapon _vehicle; GVAR(Position) = [ - (getPos _vehicle select 0) + _distance * (_weaponDirection select 0), - (getPos _vehicle select 1) + _distance * (_weaponDirection select 1), - (getPos _vehicle select 2) + _distance * (_weaponDirection select 2) + (getPos _vehicle select 0) + _distance * (_weaponDirection select 0), + (getPos _vehicle select 1) + _distance * (_weaponDirection select 1), + (getPos _vehicle select 2) + _distance * (_weaponDirection select 2) ]; diff --git a/addons/fcs/functions/fnc_keyUp.sqf b/addons/fcs/functions/fnc_keyUp.sqf index 69c11137cf..fc76ff2639 100644 --- a/addons/fcs/functions/fnc_keyUp.sqf +++ b/addons/fcs/functions/fnc_keyUp.sqf @@ -22,78 +22,78 @@ if !(GVAR(enabled) && FUNC(canUseFCS)) exitWith {}; _magazines = magazines _vehicle; if (_distance == 0) then { - _distance = [ - getNumber (configFile >> "CfgVehicles" >> typeOf _vehicle >> QGVAR(DistanceInterval)), - getNumber (configFile >> "CfgVehicles" >> typeOf _vehicle >> QGVAR(MaxDistance)), - getNumber (configFile >> "CfgVehicles" >> typeOf _vehicle >> QGVAR(MinDistance)) - ] call EFUNC(common,getTargetDistance); // maximum distance: 5000m, 5m precision + _distance = [ + getNumber (configFile >> "CfgVehicles" >> typeOf _vehicle >> QGVAR(DistanceInterval)), + getNumber (configFile >> "CfgVehicles" >> typeOf _vehicle >> QGVAR(MaxDistance)), + getNumber (configFile >> "CfgVehicles" >> typeOf _vehicle >> QGVAR(MinDistance)) + ] call EFUNC(common,getTargetDistance); // maximum distance: 5000m, 5m precision }; _weaponDirection = _vehicle weaponDirection currentWeapon _vehicle; _angleTarget = asin (_weaponDirection select 2); if (count _this > 2) then { - _distance = _this select 2; + _distance = _this select 2; }; if (!(isNil QGVAR(backgroundCalculation)) and {!(scriptDone GVAR(backgroundCalculation))}) then { - terminate GVAR(backgroundCalculation); + terminate GVAR(backgroundCalculation); }; // MOVING TARGETS _movingAzimuth = 0; if (time - GVAR(time) > 1 and GVAR(time) != -1 and count _this < 3) then { - // calculate speed of target - _posTarget = [ - (getPos _vehicle select 0) + _distance * (_weaponDirection select 0), - (getPos _vehicle select 1) + _distance * (_weaponDirection select 1), - (getPos _vehicle select 2) + _distance * (_weaponDirection select 2) - ]; - _velocityTarget = [ - ((_posTarget select 0) - (GVAR(position) select 0)) / (time - GVAR(time)), - ((_posTarget select 1) - (GVAR(position) select 1)) / (time - GVAR(time)), - ((_posTarget select 2) - (GVAR(position) select 2)) / (time - GVAR(time)) - ]; + // calculate speed of target + _posTarget = [ + (getPos _vehicle select 0) + _distance * (_weaponDirection select 0), + (getPos _vehicle select 1) + _distance * (_weaponDirection select 1), + (getPos _vehicle select 2) + _distance * (_weaponDirection select 2) + ]; + _velocityTarget = [ + ((_posTarget select 0) - (GVAR(position) select 0)) / (time - GVAR(time)), + ((_posTarget select 1) - (GVAR(position) select 1)) / (time - GVAR(time)), + ((_posTarget select 2) - (GVAR(position) select 2)) / (time - GVAR(time)) + ]; - // estimate time to target - _magazineType = currentMagazine _vehicle; - _ammoType = getText (configFile >> "CfgMagazines" >> _magazineType >> "ammo"); - _initSpeed = getNumber (configFile >> "CfgMagazines" >> _magazineType >> "initSpeed"); - _airFriction = getNumber (configFile >> "CfgAmmo" >> _ammoType >> "airFriction"); - _timeToLive = getNumber (configFile >> "CfgAmmo" >> _ammoType >> "timeToLive"); - _simulationStep = getNumber (configFile >> "CfgAmmo" >> _ammoType >> "simulationStep"); + // estimate time to target + _magazineType = currentMagazine _vehicle; + _ammoType = getText (configFile >> "CfgMagazines" >> _magazineType >> "ammo"); + _initSpeed = getNumber (configFile >> "CfgMagazines" >> _magazineType >> "initSpeed"); + _airFriction = getNumber (configFile >> "CfgAmmo" >> _ammoType >> "airFriction"); + _timeToLive = getNumber (configFile >> "CfgAmmo" >> _ammoType >> "timeToLive"); + _simulationStep = getNumber (configFile >> "CfgAmmo" >> _ammoType >> "simulationStep"); - if (_simulationStep != 0) then { - _posX = 0; - _velocityX = _initSpeed; - _velocityY = 0; - _timeToTarget = 0; - for "_i" from 1 to ((floor (_timeToLive / _simulationStep)) + 1) do { - _posX = _posX + _velocityX * _simulationStep; - if (_posX >= _distance) exitWith { // bullet passed the target - _timeToTarget = _i * _simulationStep; - }; - _velocityMagnitude = sqrt (_velocityX^2 + _velocityY^2); - _velocityX = _velocityX + _velocityX * _velocityMagnitude * _airFriction * _simulationStep; - _velocityY = _velocityY + _velocityY * _velocityMagnitude * _airFriction * _simulationStep - 9.81 * _simulationStep; + if (_simulationStep != 0) then { + _posX = 0; + _velocityX = _initSpeed; + _velocityY = 0; + _timeToTarget = 0; + for "_i" from 1 to ((floor (_timeToLive / _simulationStep)) + 1) do { + _posX = _posX + _velocityX * _simulationStep; + if (_posX >= _distance) exitWith { // bullet passed the target + _timeToTarget = _i * _simulationStep; + }; + _velocityMagnitude = sqrt (_velocityX^2 + _velocityY^2); + _velocityX = _velocityX + _velocityX * _velocityMagnitude * _airFriction * _simulationStep; + _velocityY = _velocityY + _velocityY * _velocityMagnitude * _airFriction * _simulationStep - 9.81 * _simulationStep; + }; + + // calculate offsets + _posArrival = [ + (_posTarget select 0) + (_velocityTarget select 0) * _timeToTarget, + (_posTarget select 1) + (_velocityTarget select 1) * _timeToTarget, + (_posTarget select 2) + (_velocityTarget select 2) * _timeToTarget + ]; + _dirArrival = [ + ((_posArrival select 0) - (getPos _vehicle select 0)) / (_posArrival distance (getPos _vehicle)), + ((_posArrival select 1) - (getPos _vehicle select 1)) / (_posArrival distance (getPos _vehicle)), + ((_posArrival select 2) - (getPos _vehicle select 2)) / (_posArrival distance (getPos _vehicle)) + ]; + + _movingAzimuth = ((_dirArrival select 0) atan2 (_dirArrival select 1)) - ((_weaponDirection select 0) atan2 (_weaponDirection select 1)); + _angleTarget = asin (_dirArrival select 2); + _distance = floor (_posArrival distance (getPos _vehicle)); }; - - // calculate offsets - _posArrival = [ - (_posTarget select 0) + (_velocityTarget select 0) * _timeToTarget, - (_posTarget select 1) + (_velocityTarget select 1) * _timeToTarget, - (_posTarget select 2) + (_velocityTarget select 2) * _timeToTarget - ]; - _dirArrival = [ - ((_posArrival select 0) - (getPos _vehicle select 0)) / (_posArrival distance (getPos _vehicle)), - ((_posArrival select 1) - (getPos _vehicle select 1)) / (_posArrival distance (getPos _vehicle)), - ((_posArrival select 2) - (getPos _vehicle select 2)) / (_posArrival distance (getPos _vehicle)) - ]; - - _movingAzimuth = ((_dirArrival select 0) atan2 (_dirArrival select 1)) - ((_weaponDirection select 0) atan2 (_weaponDirection select 1)); - _angleTarget = asin (_dirArrival select 2); - _distance = floor (_posArrival distance (getPos _vehicle)); - }; }; GVAR(enabled) = false; GVAR(time) = -1; @@ -102,7 +102,7 @@ GVAR(time) = -1; _viewDiff = _vehicle getVariable QGVAR(ViewDiff); _FCSAzimuth = _movingAzimuth; if (_viewDiff != 0) then { - _FCSAzimuth = (atan (_distance / _viewDiff) - (abs _viewDiff / _viewDiff) * 90) + _movingAzimuth; + _FCSAzimuth = (atan (_distance / _viewDiff) - (abs _viewDiff / _viewDiff) * 90) + _movingAzimuth; }; // CALCULATE OFFSET FOR CURRENT WEAPON @@ -112,16 +112,16 @@ _FCSElevation = []; _magazineType = currentMagazine _vehicle; _ammoType = getText (configFile >> "CfgMagazines" >> _magazineType >> "ammo"); if !(getText (configFile >> "CfgAmmo" >> _ammoType >> "simulation") == "shotMissile") then { - _maxElev = getNumber (configFile >> "CfgVehicles" >> typeOf _vehicle >> "Turrets" >> "MainTurret" >> "maxElev"); - _initSpeed = getNumber (configFile >> "CfgMagazines" >> _magazineType >> "initSpeed"); - _airFriction = getNumber (configFile >> "CfgAmmo" >> _ammoType >> "airFriction"); - _timeToLive = getNumber (configFile >> "CfgAmmo" >> _ammoType >> "timeToLive"); - _simulationStep = getNumber (configFile >> "CfgAmmo" >> _ammoType >> "simulationStep"); + _maxElev = getNumber (configFile >> "CfgVehicles" >> typeOf _vehicle >> "Turrets" >> "MainTurret" >> "maxElev"); + _initSpeed = getNumber (configFile >> "CfgMagazines" >> _magazineType >> "initSpeed"); + _airFriction = getNumber (configFile >> "CfgAmmo" >> _ammoType >> "airFriction"); + _timeToLive = getNumber (configFile >> "CfgAmmo" >> _ammoType >> "timeToLive"); + _simulationStep = getNumber (configFile >> "CfgAmmo" >> _ammoType >> "simulationStep"); - _offset = [_distance, _angleTarget, _maxElev, _initSpeed, _airFriction, _timeToLive, _simulationStep] call FUNC(getAngle); + _offset = [_distance, _angleTarget, _maxElev, _initSpeed, _airFriction, _timeToLive, _simulationStep] call FUNC(getAngle); - _FCSMagazines = _FCSMagazines + [_magazineType]; - _FCSElevation = _FCSElevation + [_offset]; + _FCSMagazines = _FCSMagazines + [_magazineType]; + _FCSElevation = _FCSElevation + [_offset]; }; _vehicle setVariable [QGVAR(Distance), _distance, true]; @@ -131,33 +131,33 @@ _vehicle setVariable [QGVAR(Azimuth), _FCSAzimuth, true]; // CALCULATE OFFSETS FOR OTHER WEAPONS IN THE BACKGROUND GVAR(backgroundCalculation) = [_vehicle, _magazines, _distance, _angleTarget, _FCSMagazines, _FCSElevation] spawn { - _vehicle = _this select 0; - _magazines = _this select 1; - _distance = _this select 2; - _angleTarget = _this select 3; - _FCSMagazines = _this select 4; - _FCSElevation = _this select 5; + _vehicle = _this select 0; + _magazines = _this select 1; + _distance = _this select 2; + _angleTarget = _this select 3; + _FCSMagazines = _this select 4; + _FCSElevation = _this select 5; - { - if !(_x in _FCSMagazines) then { - _ammoType = getText (configFile >> "CfgMagazines" >> _x >> "ammo"); - if !(getText (configFile >> "CfgAmmo" >> _ammoType >> "simulation") == "shotMissile") then { - _maxElev = getNumber (configFile >> "CfgVehicles" >> typeOf _vehicle >> "Turrets" >> "MainTurret" >> "maxElev"); - _initSpeed = getNumber (configFile >> "CfgMagazines" >> _x >> "initSpeed"); - _airFriction = getNumber (configFile >> "CfgAmmo" >> _ammoType >> "airFriction"); - _timeToLive = getNumber (configFile >> "CfgAmmo" >> _ammoType >> "timeToLive"); - _simulationStep = getNumber (configFile >> "CfgAmmo" >> _ammoType >> "simulationStep"); + { + if !(_x in _FCSMagazines) then { + _ammoType = getText (configFile >> "CfgMagazines" >> _x >> "ammo"); + if !(getText (configFile >> "CfgAmmo" >> _ammoType >> "simulation") == "shotMissile") then { + _maxElev = getNumber (configFile >> "CfgVehicles" >> typeOf _vehicle >> "Turrets" >> "MainTurret" >> "maxElev"); + _initSpeed = getNumber (configFile >> "CfgMagazines" >> _x >> "initSpeed"); + _airFriction = getNumber (configFile >> "CfgAmmo" >> _ammoType >> "airFriction"); + _timeToLive = getNumber (configFile >> "CfgAmmo" >> _ammoType >> "timeToLive"); + _simulationStep = getNumber (configFile >> "CfgAmmo" >> _ammoType >> "simulationStep"); - _offset = [_distance, _angleTarget, _maxElev, _initSpeed, _airFriction, _timeToLive, _simulationStep] call FUNC(getAngle); + _offset = [_distance, _angleTarget, _maxElev, _initSpeed, _airFriction, _timeToLive, _simulationStep] call FUNC(getAngle); - _FCSMagazines = _FCSMagazines + [_x]; - _FCSElevation = _FCSElevation + [_offset]; - }; - }; - } forEach _magazines; + _FCSMagazines = _FCSMagazines + [_x]; + _FCSElevation = _FCSElevation + [_offset]; + }; + }; + } forEach _magazines; - _vehicle setVariable [QGVAR(Magazines), _FCSMagazines, true]; - _vehicle setVariable [QGVAR(Elevation), _FCSElevation, true]; + _vehicle setVariable [QGVAR(Magazines), _FCSMagazines, true]; + _vehicle setVariable [QGVAR(Elevation), _FCSElevation, true]; }; [format ["%1: %2", localize "STR_ACE_FCS_ZeroedTo", _distance]] call EFUNC(common,displayTextStructured); diff --git a/addons/fcs/functions/fnc_vehicleInit.sqf b/addons/fcs/functions/fnc_vehicleInit.sqf index f65ce6dc7d..5872b1757f 100644 --- a/addons/fcs/functions/fnc_vehicleInit.sqf +++ b/addons/fcs/functions/fnc_vehicleInit.sqf @@ -15,22 +15,22 @@ private ["_gunBeg", "_gunnerView", "_gunBegPos", "_gunnerViewPos", "_viewDiff"]; if (getNumber (configFile >> "CfgVehicles" >> (typeOf (_this select 0)) >> QGVAR(Enabled)) == 1) then { - (_this select 0) addEventHandler ["Fired", {_this call FUNC(firedEH)}]; + (_this select 0) addEventHandler ["Fired", {_this call FUNC(firedEH)}]; - (_this select 0) setVariable [QGVAR(Distance), 0, true]; - (_this select 0) setVariable [QGVAR(Magazines), [], true]; - (_this select 0) setVariable [QGVAR(Elevation), [], true]; - (_this select 0) setVariable [QGVAR(Azimuth), 0, true]; + (_this select 0) setVariable [QGVAR(Distance), 0, true]; + (_this select 0) setVariable [QGVAR(Magazines), [], true]; + (_this select 0) setVariable [QGVAR(Elevation), [], true]; + (_this select 0) setVariable [QGVAR(Azimuth), 0, true]; - // calculate offset between gunner camera and muzzle position - if !((_this select 0) isKindOf "Air") then { - _gunBeg = getText (configFile >> "CfgVehicles" >> (typeOf (_this select 0)) >> "Turrets" >> "MainTurret" >> "gunBeg"); - _gunnerView = getText (configFile >> "CfgVehicles" >> (typeOf (_this select 0)) >> "Turrets" >> "MainTurret" >> "memoryPointGunnerOptics"); - _gunBegPos = ((_this select 0) selectionPosition _gunBeg) select 0; - _gunnerViewPos = ((_this select 0) selectionPosition _gunnerView) select 0; - _viewDiff = _gunBegPos - _gunnerViewPos; - (_this select 0) setVariable [QGVAR(ViewDiff), _viewDiff, true]; - } else { - (_this select 0) setVariable [QGVAR(ViewDiff), 0, true]; - }; + // calculate offset between gunner camera and muzzle position + if !((_this select 0) isKindOf "Air") then { + _gunBeg = getText (configFile >> "CfgVehicles" >> (typeOf (_this select 0)) >> "Turrets" >> "MainTurret" >> "gunBeg"); + _gunnerView = getText (configFile >> "CfgVehicles" >> (typeOf (_this select 0)) >> "Turrets" >> "MainTurret" >> "memoryPointGunnerOptics"); + _gunBegPos = ((_this select 0) selectionPosition _gunBeg) select 0; + _gunnerViewPos = ((_this select 0) selectionPosition _gunnerView) select 0; + _viewDiff = _gunBegPos - _gunnerViewPos; + (_this select 0) setVariable [QGVAR(ViewDiff), _viewDiff, true]; + } else { + (_this select 0) setVariable [QGVAR(ViewDiff), 0, true]; + }; }; diff --git a/addons/fcs/functions/script_component.hpp b/addons/fcs/functions/script_component.hpp index 153cad41b2..73e258a3b6 100644 --- a/addons/fcs/functions/script_component.hpp +++ b/addons/fcs/functions/script_component.hpp @@ -2,11 +2,11 @@ #include "\z\ace\Addons\main\script_mod.hpp" #ifdef DEBUG_ENABLED_FCS - #define DEBUG_MODE_FULL + #define DEBUG_MODE_FULL #endif #ifdef DEBUG_SETTINGS_FCS - #define DEBUG_SETTINGS DEBUG_SETTINGS_FCS + #define DEBUG_SETTINGS DEBUG_SETTINGS_FCS #endif #include "\z\ace\Addons\main\script_macros.hpp" diff --git a/addons/fcs/script_component.hpp b/addons/fcs/script_component.hpp index 153cad41b2..73e258a3b6 100644 --- a/addons/fcs/script_component.hpp +++ b/addons/fcs/script_component.hpp @@ -2,11 +2,11 @@ #include "\z\ace\Addons\main\script_mod.hpp" #ifdef DEBUG_ENABLED_FCS - #define DEBUG_MODE_FULL + #define DEBUG_MODE_FULL #endif #ifdef DEBUG_SETTINGS_FCS - #define DEBUG_SETTINGS DEBUG_SETTINGS_FCS + #define DEBUG_SETTINGS DEBUG_SETTINGS_FCS #endif #include "\z\ace\Addons\main\script_macros.hpp" diff --git a/addons/fcs/stringtable.xml b/addons/fcs/stringtable.xml index 7427b87d52..154d874f73 100644 --- a/addons/fcs/stringtable.xml +++ b/addons/fcs/stringtable.xml @@ -1,81 +1,81 @@  - - - Lase Target / Measure Distance - Ziel anlasern / Entfernung Messen - Télémétrer la cible - Naświetl cel / Zmierz odległość - Označit cíl / Změřit vzdálenost - Iluminar objetivo / Medir distancia - - Подсветить цель / Измерить расстояние - - - Zeroed To - Haltepunkt - Fijado a - Wyzerowany na - Nastaveno na - Zéroté à - Зероинг - Nullázás - Fixado em - Azzeramento a - - - Adjust FCS Range (Up) - Entfernung des FLS erhöhen - Zwiększ zasięg FCS - Ajustar distancia del FCS (arriba) - Nastavit FCS Náměr (nahoru) - Augmenter la distance du SCT - FCS tartomány állítása (Fel) - Ajustar distância do FCS (Acima) - Aumentare la distanza dell'FCS - Диапазон СУО (Выше) - - - Adjust FCS Range (Down) - Entfernung des FLS verringern - Zmniejsz zasięg FCS - Ajustar distancia del FCS (abajo) - Nastavit FCS Náměr (dolů) - Réduire la distance du SCT - FCS tartomány állítása (Le) - Ajustar distância do FCS (Abaixo) - Ridurre la distanza dell'FCS - Диапазон СУО (Ниже) - - - Reset FCS - FLS zurücksetzen - Reiniciar FCS - Réinitialiser le SCT - Resetuj FCS - Resetovat FCS - FCS visszaállítása - Reiniciar FCS - Azzeramento dell'FCS - Обнулить СУО - - - FCS has been reset. - FLS wurde zurückgesetzt. - FCS reiniciado - SCT réinitialisé. - FCS został zresetowany. - FCS byl resetován. - Az FCS visszaállítva - FCS reiniciado. - L'FCS è stato azzerato - СУО обнулен - - + + + Lase Target / Measure Distance + Ziel anlasern / Entfernung Messen + Télémétrer la cible + Naświetl cel / Zmierz odległość + Označit cíl / Změřit vzdálenost + Iluminar objetivo / Medir distancia + + Подсветить цель / Измерить расстояние + + + Zeroed To + Haltepunkt + Fijado a + Wyzerowany na + Nastaveno na + Zéroté à + Зероинг + Nullázás + Fixado em + Azzeramento a + + + Adjust FCS Range (Up) + Entfernung des FLS erhöhen + Zwiększ zasięg FCS + Ajustar distancia del FCS (arriba) + Nastavit FCS Náměr (nahoru) + Augmenter la distance du SCT + FCS tartomány állítása (Fel) + Ajustar distância do FCS (Acima) + Aumentare la distanza dell'FCS + Диапазон СУО (Выше) + + + Adjust FCS Range (Down) + Entfernung des FLS verringern + Zmniejsz zasięg FCS + Ajustar distancia del FCS (abajo) + Nastavit FCS Náměr (dolů) + Réduire la distance du SCT + FCS tartomány állítása (Le) + Ajustar distância do FCS (Abaixo) + Ridurre la distanza dell'FCS + Диапазон СУО (Ниже) + + + Reset FCS + FLS zurücksetzen + Reiniciar FCS + Réinitialiser le SCT + Resetuj FCS + Resetovat FCS + FCS visszaállítása + Reiniciar FCS + Azzeramento dell'FCS + Обнулить СУО + + + FCS has been reset. + FLS wurde zurückgesetzt. + FCS reiniciado + SCT réinitialisé. + FCS został zresetowany. + FCS byl resetován. + Az FCS visszaállítva + FCS reiniciado. + L'FCS è stato azzerato + СУО обнулен + +