From 406db1928b102f61ed2eab07b2914ce605ef0a10 Mon Sep 17 00:00:00 2001 From: jonpas Date: Tue, 16 May 2017 00:29:52 +0200 Subject: [PATCH 1/7] 1.70 CMs - Remove countermeasure mode switching (#5163) --- addons/aircraft/CfgWeapons.hpp | 16 ---------------- addons/aircraft/stringtable.xml | 14 -------------- 2 files changed, 30 deletions(-) diff --git a/addons/aircraft/CfgWeapons.hpp b/addons/aircraft/CfgWeapons.hpp index b94d9f4940..7e5c2a34bb 100644 --- a/addons/aircraft/CfgWeapons.hpp +++ b/addons/aircraft/CfgWeapons.hpp @@ -1,5 +1,3 @@ -class Mode_SemiAuto; -class Mode_Burst; class Mode_FullAuto; class CfgWeapons { @@ -18,20 +16,6 @@ class CfgWeapons { magazineReloadTime = 0.1; }; - // Manual Switching Of Flare Mode - class SmokeLauncher; - class CMFlareLauncher: SmokeLauncher { - modes[] = {"Single", "Burst", "AIBurst"}; - - class Single: Mode_SemiAuto { - reloadTime = 0.1; - }; - - class Burst: Mode_Burst { - displayName = CSTRING(CMFlareLauncher_Burst_Name); - }; - }; - // bigger mag for comanche class CannonCore; class gatling_20mm: CannonCore { diff --git a/addons/aircraft/stringtable.xml b/addons/aircraft/stringtable.xml index 36012099b1..7e08f906ee 100644 --- a/addons/aircraft/stringtable.xml +++ b/addons/aircraft/stringtable.xml @@ -1,20 +1,6 @@ - - Burst - Feuerstoß - Ráfaga - Seria - Dávka - Rafale - Очередь - Sorozat - Rajada - Raffica - バースト - 점사 - XM301 XM301 From 0498e3bae1270019453a143e22a096906ad42a5c Mon Sep 17 00:00:00 2001 From: PabstMirror Date: Mon, 15 May 2017 17:30:47 -0500 Subject: [PATCH 2/7] 1.70 FCS - Remove ACE_FCS from most vics (#5152) * Handle 1.70 FCS * Cleanup CfgWeapons * Add warning for discreteDistance --- addons/fcs/CfgOptics.hpp | 210 +--------- addons/fcs/CfgVehicles.hpp | 458 +-------------------- addons/fcs/CfgWeapons.hpp | 9 - addons/fcs/XEH_postInit.sqf | 4 + addons/fcs/functions/dev_debugConfigs.sqf | 88 ++++ optionals/compat_rhs_afrf3/CfgVehicles.hpp | 5 + 6 files changed, 135 insertions(+), 639 deletions(-) create mode 100644 addons/fcs/functions/dev_debugConfigs.sqf diff --git a/addons/fcs/CfgOptics.hpp b/addons/fcs/CfgOptics.hpp index aa68a6f68a..f8770d7327 100644 --- a/addons/fcs/CfgOptics.hpp +++ b/addons/fcs/CfgOptics.hpp @@ -11,110 +11,13 @@ h = 0; \ }; +class RscText; class RscControlsGroup; class RscMapControl; class RscInGameUI { class RscUnitInfo; - class RscUnitInfo_AH64D_gunner { - controls[] = {"CA_Distance","ACE_CA_Distance"}; - MACRO_RANGEFINDER - }; - class RscWeaponRangeFinder { - controls[] = {"CA_Distance","ACE_CA_Distance"}; - MACRO_RANGEFINDER - }; - class RscWeaponRangeFinderPAS13 { - MACRO_RANGEFINDER - }; - class RscOptics_Rangefinder: RscUnitInfo { - class CA_IGUI_elements_group: RscControlsGroup { - class controls { - MACRO_RANGEFINDER - }; - }; - }; - class RscWeaponRangeFinderMAAWS { - class CA_IGUI_elements_group: RscControlsGroup { - class controls { - MACRO_RANGEFINDER - }; - }; - }; - class RscWeaponRangeFinderAbramsCom { - controls[] = {"CA_Distance","ACE_CA_Distance"}; - MACRO_RANGEFINDER - }; - class RscWeaponRangeFinderAbramsGun { - controls[] = {"CA_Distance","ACE_CA_Distance"}; - MACRO_RANGEFINDER - }; - class RscWeaponRangeFinderStrykerMGSGun { - controls[] = {"CA_Distance","ACE_CA_Distance"}; - MACRO_RANGEFINDER - }; - class RscOptics_crows: RscUnitInfo { - class CA_IGUI_elements_group: RscControlsGroup { - class controls { - MACRO_RANGEFINDER - }; - }; - }; - class RscOptics_strider_commander { - class CA_IGUI_elements_group: RscControlsGroup { - class controls { - MACRO_RANGEFINDER - }; - }; - }; - - class RscWeaponRangeZeroing: RscUnitInfo { - controls[] = {"CA_Zeroing", "CA_DistanceText", "CA_Distance","ACE_CA_Distance", "ACE_Rangehelper"}; - MACRO_RANGEFINDER - }; - class RscOptics_sos: RscUnitInfo { - class CA_IGUI_elements_group: RscControlsGroup { - class controls { - MACRO_RANGEFINDER - }; - }; - }; - class RscOptics_nightstalker: RscUnitInfo { - class CA_IGUI_elements_group: RscControlsGroup { - class controls { - MACRO_RANGEFINDER - }; - }; - }; - class RscOptics_tws: RscUnitInfo { - class CA_IGUI_elements_group: RscControlsGroup { - class controls { - MACRO_RANGEFINDER - }; - }; - }; - class RscOptics_punisher { - class CA_IGUI_elements_group: RscControlsGroup { - class controls { - MACRO_RANGEFINDER - }; - }; - }; - class RscOptics_tws_sniper: RscUnitInfo { - class CA_IGUI_elements_group: RscControlsGroup { - class controls { - MACRO_RANGEFINDER - }; - }; - }; - class RscOptics_SDV_periscope { - class CA_IGUI_elements_group: RscControlsGroup { - class controls { - MACRO_RANGEFINDER - }; - }; - }; class RscOptics_Heli_Attack_02_gunner: RscUnitInfo { class CA_IGUI_elements_group: RscControlsGroup { class controls { @@ -122,7 +25,7 @@ class RscInGameUI { }; }; }; - class Rsc_ACE_Helo_UI_Turret: RscUnitInfo { + class Rsc_ACE_Helo_UI_Turret: RscUnitInfo { // RscOptics_Heli_Attack_01_gunner onLoad = "[""onLoad"",_this,""RscUnitInfo"",'IGUI'] call (uinamespace getvariable 'BIS_fnc_initDisplay'); 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 { @@ -130,103 +33,30 @@ class RscInGameUI { }; }; }; - class RscOptics_Heli_Attack_01_gunner: RscUnitInfo { - class CA_IGUI_elements_group: RscControlsGroup { - class controls { - MACRO_RANGEFINDER - }; - }; - }; - class RscOptics_UAV_gunner: RscUnitInfo { - class CA_IGUI_elements_group: RscControlsGroup { - class controls { - MACRO_RANGEFINDER - }; - }; - }; - class RscOptics_UGV_gunner: RscUnitInfo { - class CA_IGUI_elements_group: RscControlsGroup { - class controls { - MACRO_RANGEFINDER - }; - }; - }; + class RscOptics_APC_Tracked_01_gunner: RscUnitInfo { class CA_IGUI_elements_group: RscControlsGroup { class controls { - MACRO_RANGEFINDER + class CA_Distance: RscText {}; }; }; }; - class RscOptics_APC_Tracked_03_gunner: RscUnitInfo { - class CA_IGUI_elements_group: RscControlsGroup { - class controls { - MACRO_RANGEFINDER - }; - }; - }; - class RscOptics_APC_Wheeled_01_gunner: RscUnitInfo { - class CA_IGUI_elements_group: RscControlsGroup { - class controls { - MACRO_RANGEFINDER - }; - }; - }; - class RscOptics_APC_Wheeled_03_commander: RscUnitInfo { - class CA_IGUI_elements_group: RscControlsGroup { - class controls { - MACRO_RANGEFINDER - }; - }; - }; - class RscOptics_APC_Wheeled_03_gunner: RscUnitInfo { - class CA_IGUI_elements_group: RscControlsGroup { - class controls { - MACRO_RANGEFINDER - }; - }; - }; - class RscOptics_MBT_01_commander: RscUnitInfo { - class CA_IGUI_elements_group: RscControlsGroup { - class controls { - MACRO_RANGEFINDER - }; - }; - }; - class RscOptics_MBT_01_gunner: RscUnitInfo { - class CA_IGUI_elements_group: RscControlsGroup { - class controls { - MACRO_RANGEFINDER - }; - }; - }; - class RscOptics_MBT_02_commander: RscUnitInfo { - class CA_IGUI_elements_group: RscControlsGroup { - class controls { - MACRO_RANGEFINDER - }; - }; - }; - class RscOptics_MBT_02_gunner: RscUnitInfo { - class CA_IGUI_elements_group: RscControlsGroup { - class controls { - MACRO_RANGEFINDER - }; - }; - }; - class RscOptics_MBT_03_gunner: RscUnitInfo { - class CA_IGUI_elements_group: RscControlsGroup { - class controls { - MACRO_RANGEFINDER - }; - }; - }; - - // marksmen - class RscOptics_LaserDesignator_02 { - class CA_IGUI_elements_group: RscControlsGroup { - class controls { - MACRO_RANGEFINDER + class ACE_RscOptics_APC_Tracked_01_gunner: RscOptics_APC_Tracked_01_gunner { + class CA_IGUI_elements_group: CA_IGUI_elements_group { + class controls: controls { + // MACRO_RANGEFINDER + modify IDC of CA_Distance + class CA_Distance: CA_Distance { + idc = 151; + }; + 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; + }; }; }; }; diff --git a/addons/fcs/CfgVehicles.hpp b/addons/fcs/CfgVehicles.hpp index 82572f2c68..47b731a66c 100644 --- a/addons/fcs/CfgVehicles.hpp +++ b/addons/fcs/CfgVehicles.hpp @@ -49,9 +49,6 @@ class CfgVehicles { class Turrets { class MainTurret: NewTurret { GVAR(Enabled) = 1; // all tracked vehicles get one by default - class Turrets { - class CommanderOptics; - }; }; }; }; @@ -60,231 +57,52 @@ class CfgVehicles { class Turrets { class MainTurret: NewTurret { GVAR(Enabled) = 1; // all tracked vehicles get one by default - class Turrets { - class CommanderOptics;//: CommanderOptics {}; - }; }; }; }; - class Car_F: Car { - class Turrets { - class MainTurret; - }; - }; - - class Wheeled_APC_F: Car_F { - class Turrets { - class MainTurret: NewTurret { - class Turrets { - class CommanderOptics;//: CommanderOptics {}; - }; - }; - }; - }; - - class MRAP_01_base_F: Car_F {}; - - class MRAP_01_gmg_base_F: MRAP_01_base_F { - class Turrets: Turrets { - class MainTurret: MainTurret { - GVAR(Enabled) = 1; - GVAR(MaxDistance) = 2000; - discreteDistance[] = {}; - discreteDistanceInitIndex = 0; - }; - }; - }; - - class MRAP_01_hmg_base_F: MRAP_01_gmg_base_F { - /*class Turrets: Turrets { - class MainTurret: MainTurret {}; - };*/ - }; - - class B_MRAP_01_F: MRAP_01_base_F { - class Turrets; - }; - - class MRAP_02_base_F: Car_F {}; - - class MRAP_02_hmg_base_F: MRAP_02_base_F { - class Turrets: Turrets { - class MainTurret: MainTurret { - GVAR(Enabled) = 1; - GVAR(MaxDistance) = 2000; - discreteDistance[] = {}; - discreteDistanceInitIndex = 0; - }; - }; - }; - - class MRAP_02_gmg_base_F: MRAP_02_hmg_base_F { - /*class Turrets: Turrets { - class MainTurret: MainTurret {}; - };*/ - }; - - class O_MRAP_02_F: MRAP_02_base_F { - class Turrets; - }; - - class MRAP_03_base_F: Car_F { - class Turrets: Turrets { - class CommanderTurret: MainTurret { - GVAR(Enabled) = 0; - }; - }; - }; - - class MRAP_03_hmg_base_F: MRAP_03_base_F { - class Turrets: Turrets { - class MainTurret: MainTurret { - GVAR(Enabled) = 1; - GVAR(MaxDistance) = 2000; - discreteDistance[] = {}; - discreteDistanceInitIndex = 0; - }; - class CommanderTurret: CommanderTurret { - GVAR(Enabled) = 0; - }; - }; - }; - - class MRAP_03_gmg_base_F: MRAP_03_hmg_base_F { - /*class Turrets: Turrets { - class MainTurret: MainTurret {}; - class CommanderTurret: CommanderTurret {}; - };*/ - }; - - class APC_Wheeled_01_base_F: Wheeled_APC_F { - /*class Turrets: Turrets { - class MainTurret: MainTurret { - class Turrets: Turrets { - class CommanderOptics: CommanderOptics {}; - }; - }; - };*/ - }; - - 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 { - class Turrets: Turrets { - class MainTurret: MainTurret { - GVAR(Enabled) = 1; - discreteDistance[] = {}; - discreteDistanceInitIndex = 0; - }; - }; - }; - - class APC_Wheeled_02_base_F: Wheeled_APC_F { - class Turrets: Turrets { - class MainTurret: MainTurret { - GVAR(Enabled) = 1; - GVAR(MaxDistance) = 2000; - discreteDistance[] = {}; - discreteDistanceInitIndex = 0; - }; - - // class CommanderOptics: CommanderOptics {}; - }; - }; - - class APC_Wheeled_03_base_F: Wheeled_APC_F { - class Turrets: Turrets { - class MainTurret: MainTurret { - GVAR(Enabled) = 1; - discreteDistance[] = {}; - discreteDistanceInitIndex = 0; - - /*class Turrets: Turrets { - class CommanderOptics: CommanderOptics {}; - };*/ - }; - }; - }; - - class I_APC_Wheeled_03_base_F: APC_Wheeled_03_base_F {}; - - class I_APC_Wheeled_03_cannon_F: I_APC_Wheeled_03_base_F { - /*class Turrets: Turrets { - class MainTurret: MainTurret {}; - };*/ - }; - class APC_Tracked_01_base_F: Tank_F { - /*class Turrets: Turrets { - class MainTurret: MainTurret { - class Turrets; - }; - };*/ - }; - - class B_APC_Tracked_01_base_F: APC_Tracked_01_base_F { - /*class Turrets: Turrets { - class MainTurret: MainTurret {}; - };*/ - }; - - class B_APC_Tracked_01_rcws_F: B_APC_Tracked_01_base_F { class Turrets: Turrets { class MainTurret: MainTurret { - GVAR(Enabled) = 1; - GVAR(MaxDistance) = 2000; - discreteDistance[] = {}; - discreteDistanceInitIndex = 0; + GVAR(Enabled) = 0; }; - class CommanderOptics: CommanderOptics {}; }; }; - class B_APC_Tracked_01_CRV_F: B_APC_Tracked_01_base_F { - //GVAR(Enabled) = 0; @todo - }; + class B_APC_Tracked_01_base_F: APC_Tracked_01_base_F {}; class B_APC_Tracked_01_AA_F: B_APC_Tracked_01_base_F { class Turrets: Turrets { class MainTurret: MainTurret { + GVAR(Enabled) = 1; + turretinfotype = "ACE_RscOptics_APC_Tracked_01_gunner"; + GVAR(MaxDistance) = 2000; discreteDistance[] = {}; discreteDistanceInitIndex = 0; magazines[] += {"ACE_120Rnd_35mm_ABM_shells_Tracer_Red"}; - - /*class Turrets: Turrets { - class CommanderOptics: CommanderOptics {}; - };*/ }; }; }; class APC_Tracked_02_base_F: Tank_F { - /*class Turrets: Turrets { + class Turrets: Turrets { class MainTurret: MainTurret { - class Turrets: Turrets { - class CommanderOptics: CommanderOptics {}; - }; + GVAR(Enabled) = 0; }; - };*/ + }; }; class O_APC_Tracked_02_base_F: APC_Tracked_02_base_F {}; - - class O_APC_Tracked_02_cannon_F: O_APC_Tracked_02_base_F { - /*class Turrets: Turrets { - class MainTurret: MainTurret {}; - };*/ - }; - + class O_APC_Tracked_02_AA_F: O_APC_Tracked_02_base_F { class Turrets: Turrets { class MainTurret: MainTurret { + GVAR(Enabled) = 1; + turretinfotype = "ACE_RscOptics_APC_Tracked_01_gunner"; + GVAR(MaxDistance) = 2000; + discreteDistance[] = {}; + discreteDistanceInitIndex = 0; magazines[] += {"ACE_120Rnd_35mm_ABM_shells_Tracer_Green"}; - - /*class Turrets: Turrets { - class CommanderOptics: CommanderOptics {}; - };*/ }; }; }; @@ -292,151 +110,31 @@ class CfgVehicles { class APC_Tracked_03_base_F: Tank_F { class Turrets: Turrets { class MainTurret: MainTurret { - discreteDistance[] = {}; - discreteDistanceInitIndex = 0; - - /*class Turrets: Turrets { - class CommanderOptics: CommanderOptics {}; - };*/ + GVAR(Enabled) = 0; }; }; }; class MBT_01_base_F: Tank_F { - class Turrets: Turrets { - class MainTurret: MainTurret { - discreteDistance[] = {}; - discreteDistanceInitIndex = 0; - - /*class Turrets: Turrets { - class CommanderOptics: 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 Turrets: Turrets { - class CommanderOptics: CommanderOptics { - GVAR(Enabled) = 1; - discreteDistance[] = {}; - discreteDistanceInitIndex = 0; - }; - }; - }; - }; - }; - - class MBT_01_arty_base_F: MBT_01_base_F { class Turrets: Turrets { class MainTurret: MainTurret { GVAR(Enabled) = 0; - - class Turrets: Turrets { - class CommanderOptics: CommanderOptics { - GVAR(Enabled) = 1; - GVAR(MaxDistance) = 2000; - discreteDistance[] = {}; - discreteDistanceInitIndex = 0; - }; - }; - }; - }; - }; - - class MBT_01_mlrs_base_F: MBT_01_base_F { - class Turrets: Turrets { - class MainTurret: MainTurret { - GVAR(Enabled) = 0; - //class Turrets; }; }; }; class MBT_02_base_F: Tank_F { - class Turrets: Turrets { - class MainTurret: MainTurret { - discreteDistance[] = {}; - discreteDistanceInitIndex = 0; - - class Turrets: Turrets { - class CommanderOptics: CommanderOptics { - GVAR(Enabled) = 1; - discreteDistance[] = {}; - discreteDistanceInitIndex = 0; - }; - }; - }; - }; - }; - - class MBT_02_arty_base_F: MBT_02_base_F { class Turrets: Turrets { class MainTurret: MainTurret { GVAR(Enabled) = 0; - - class Turrets: Turrets { - class CommanderOptics: CommanderOptics { - GVAR(Enabled) = 1; - GVAR(MaxDistance) = 2000; - discreteDistance[] = {}; - discreteDistanceInitIndex = 0; - }; - }; }; }; }; - + class MBT_03_base_F: Tank_F { class Turrets: Turrets { class MainTurret: MainTurret { - discreteDistance[] = {}; - discreteDistanceInitIndex = 0; - - class Turrets: Turrets { - class CommanderOptics: CommanderOptics { - GVAR(Enabled) = 1; - discreteDistance[] = {}; - discreteDistanceInitIndex = 0; - }; - }; - }; - }; - }; - - // SHIPS - class Ship: AllVehicles { - class Turrets { - class MainTurret; - }; - }; - - class Ship_F: Ship {}; - - class Boat_F: Ship_F {}; - - class Boat_Armed_01_base_F: Boat_F { - class Turrets: Turrets { - class FrontTurret: NewTurret { - GVAR(enabled) = 1; - GVAR(minDistance) = 100; - GVAR(maxDistance) = 2000; - GVAR(distanceInterval) = 5; - discreteDistance[] = {}; - discreteDistanceInitIndex = 0; - }; - class RearTurret: FrontTurret { - discreteDistance[] = {100,200,300,400,600,800,1000,1200}; // Originally inherited from FrontTurret - discreteDistanceInitIndex = 4; + GVAR(Enabled) = 0; }; }; }; @@ -450,51 +148,7 @@ class CfgVehicles { }; }; - class Plane: Air {}; - - class Helicopter_Base_F: Helicopter { - class Turrets: Turrets { - class CopilotTurret; - }; - }; - - class Helicopter_Base_H: Helicopter_Base_F { - class Turrets: Turrets { - class CopilotTurret; - }; - }; - - class Heli_Light_01_base_F: Helicopter_Base_H { - /*class Turrets: Turrets { - class CopilotTurret: CopilotTurret {}; - };*/ - }; - - class Heli_Light_01_unarmed_base_F: Heli_Light_01_base_F {}; - - class B_Heli_Light_01_F: Heli_Light_01_unarmed_base_F { - /*class Turrets: Turrets { - class CopilotTurret: CopilotTurret {}; - };*/ - }; - - class Heli_Light_01_armed_base_F: Heli_Light_01_base_F { - /*class Turrets: Turrets { - class CopilotTurret: CopilotTurret {}; - };*/ - }; - - class Heli_Light_02_base_F: Helicopter_Base_H { - /*class Turrets: Turrets { - class CopilotTurret: CopilotTurret {}; - };*/ - }; - - class Plane_Base_F: Plane { - class Turrets { - class CopilotTurret; - }; - }; + class Helicopter_Base_F: Helicopter {}; class Heli_Attack_01_base_F: Helicopter_Base_F { class Turrets: Turrets { @@ -515,80 +169,4 @@ class CfgVehicles { }; }; }; - - class Heli_Transport_01_base_F: Helicopter_Base_H { - /*class Turrets: Turrets { - class CopilotTurret: CopilotTurret {}; - class MainTurret: MainTurret {}; - class RightDoorGun: MainTurret {}; - };*/ - }; - - class Heli_Transport_02_base_F: Helicopter_Base_H { - /*class Turrets: Turrets { - class CopilotTurret: CopilotTurret {}; - };*/ - }; - - class Heli_light_03_base_F; - class I_Heli_light_03_base_F: Heli_light_03_base_F { - /*class Turrets: Turrets { - class MainTurret: MainTurret {}; - };*/ - }; - class I_Heli_light_03_F: Heli_light_03_base_F { - /*class Turrets: Turrets { - class MainTurret: MainTurret {}; - };*/ - }; - - class Plane_CAS_01_base_F: Plane_Base_F { - class Turrets; - }; - - class Plane_CAS_02_base_F: Plane_Base_F { - class Turrets; - }; - - class Plane_Fighter_03_base_F: Plane_Base_F { - class Turrets; - }; - - // static weapons. - class StaticWeapon: LandVehicle { - class Turrets { - class MainTurret; //: NewTurret {}; - }; - }; - - class StaticMGWeapon: StaticWeapon {}; - - class HMG_01_base_F: StaticMGWeapon { - class Turrets: Turrets { - class MainTurret: MainTurret { - GVAR(Enabled) = 1; - GVAR(MinDistance) = 200; - GVAR(MaxDistance) = 2000; - GVAR(DistanceInterval) = 5; - discreteDistance[] = {}; - discreteDistanceInitIndex = 0; - }; - }; - }; - - class StaticGrenadeLauncher: StaticWeapon {}; - class GMG_TriPod: StaticGrenadeLauncher {}; - - class GMG_01_base_F: GMG_TriPod { - class Turrets: Turrets { - class MainTurret: MainTurret { - GVAR(Enabled) = 1; - GVAR(MinDistance) = 200; - GVAR(MaxDistance) = 2000; - GVAR(DistanceInterval) = 5; - discreteDistance[] = {}; - discreteDistanceInitIndex = 0; - }; - }; - }; }; diff --git a/addons/fcs/CfgWeapons.hpp b/addons/fcs/CfgWeapons.hpp index 760e39e2de..555060b119 100644 --- a/addons/fcs/CfgWeapons.hpp +++ b/addons/fcs/CfgWeapons.hpp @@ -1,15 +1,6 @@ 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 = 4; //was "4 + 2", 2 is for manual zeroing, 4 is for the lead indicator - https://community.bistudio.com/wiki/A3_Locking_Review#ballisticsComputer diff --git a/addons/fcs/XEH_postInit.sqf b/addons/fcs/XEH_postInit.sqf index 02c9e72ae5..ef6e89d5cc 100644 --- a/addons/fcs/XEH_postInit.sqf +++ b/addons/fcs/XEH_postInit.sqf @@ -21,3 +21,7 @@ if (!hasInterface) exitWith {}; // Register event for global updates [QGVAR(forceUpdate), {[ACE_player] call FUNC(onForceUpdate)}] call CBA_fnc_addEventHandler; + +#ifdef DEBUG_MODE_FULL +call compile preprocessFileLineNumbers QPATHTOF(functions\dev_debugConfigs.sqf); +#endif diff --git a/addons/fcs/functions/dev_debugConfigs.sqf b/addons/fcs/functions/dev_debugConfigs.sqf new file mode 100644 index 0000000000..73abd89771 --- /dev/null +++ b/addons/fcs/functions/dev_debugConfigs.sqf @@ -0,0 +1,88 @@ +// PabstMirror +#include "script_component.hpp" + +diag_log text format ["[ACE_FCS] ---------------"]; +private _vehicles = configProperties [configFile >> "CfgVehicles", "(isClass _x) && {2 == getNumber (_x >> 'scope')}", true]; +private _problemUIs = []; +{ + private _vehicleType = configName _x; + { + private _turret = _x; + private _config = [_vehicleType, _turret] call CBA_fnc_getTurret; + if (!isNull _config) then { + private _aceFCS = (getNumber (_config >> "ACE_FCS_Enabled")) == 1; + + private _vanillaFCS = false; + private _weapons = getArray (_config >> "weapons"); + { + private _weapon = _x; + private _ballisticComputer = getNumber (configFile >> "CfgWeapons" >> _weapon >> "ballisticsComputer"); + _ballisticComputer = [_ballisticComputer, 5] call ace_common_fnc_toBin; + if ((_ballisticComputer select [(count _ballisticComputer) - 5, 1]) == "1") then { + _vanillaFCS = true; + if (_aceFCS) then {diag_log text format ["%1 -> %2: ACE FCS Enabled CONFLICTS with vanilla FCS [%3]", _vehicleType, _weapon, _ballisticComputer];}; + }; + } forEach _weapons; + + if (!(_weapons isEqualTo [])) then { + private _fcsMsg = switch (true) do { + // case ((!_vanillaFCS) && {!_aceFCS}): {"No FCS"}; + // case ((_vanillaFCS) && {_aceFCS}): {"CONFLICT FCS"}; + // case (_vanillaFCS): {"Vanilla FCS"}; + // case (_aceFCS): {"ACE FCS"}; + default {""}; + }; + if (_fcsMsg != "") then {diag_log text format ["%1: %2", _vehicleType, _fcsMsg];}; + }; + + if (_vanillaFCS) then { + private _dd = getArray (_config >> "discreteDistance"); + if (_dd isEqualTo []) exitWith {diag_log format ["%1->%2: discreteDistance with vanillaFCS [%3]", _vehicleType, _turret, _config];}; + }; + + if (true) then { + private _turretInfo = getText (_config >> "turretInfoType"); + private _infoConfig = configFile >> "RscInGameUI" >> _turretInfo; + if (!isNull _infoConfig) then { + private _idcList = []; + + private _fncGetIDCS = { + params ["_subConfig"]; + if (!isClass _subConfig) exitWith {diag_log "err";}; + private _controlsArray = getArray (_subConfig >> "controls"); + { + [_subConfig >> _x] call _fncGetIDCS; + } forEach _controlsArray; + private _controlsConfig = configProperties [(_subConfig >> "controls"), "isClass _x", true]; + { + [_x] call _fncGetIDCS; + } forEach _controlsConfig; + _idcList pushBack getNumber (_subConfig >> "idc"); + }; + [_infoConfig] call _fncGetIDCS; + + if (_aceFCS && {!(1713151 in _idcList)}) then { + _problemUIs pushBackUnique format ["%1: ACE_FCS, but missing ACE_CA_DIST", _turretInfo]; + }; + if (_aceFCS && {(198 in _idcList)}) then { + _problemUIs pushBackUnique format ["%1: ACE_FCS, but NEW Lazr CA_DIST", _turretInfo, _vehicleType]; + }; + if ((!_aceFCS) && {(1713151 in _idcList)}) then { + _problemUIs pushBackUnique format ["%1: Not ACE but has ACE_CA_DIST", _turretInfo, _vehicleType]; + }; + if (_vanillaFCS && {!(198 in _idcList)}) then { + _problemUIs pushBackUnique format ["%1: vanillaFCS but missing NEW Lazr CA_DIST [just a warning]", _turretInfo, _vehicleType]; + }; + }; + }; + }; + } forEach [[0],[0,0]]; +} forEach _vehicles; + +_problemUIs sort true; + +diag_log text format ["[ACE_FCS] ------- Problem UIs --------"]; +{ + diag_log text format ["- %1", _x]; +} forEach _problemUIs; +diag_log text format ["[ACE_FCS] ---------------"]; diff --git a/optionals/compat_rhs_afrf3/CfgVehicles.hpp b/optionals/compat_rhs_afrf3/CfgVehicles.hpp index 9de9f8220d..a6a8117780 100644 --- a/optionals/compat_rhs_afrf3/CfgVehicles.hpp +++ b/optionals/compat_rhs_afrf3/CfgVehicles.hpp @@ -423,6 +423,11 @@ class CfgVehicles { class rhs_2s3tank_base : Tank_F { EGVAR(refuel,fuelCapacity) = 830; + class Turrets: Turrets { + class MainTurret: MainTurret { + EGVAR(fcs,enabled) = 0; + }; + }; }; class OTR21_Base : Truck_F { From 941502af460f52302495915bcd7b3eda9c787a52 Mon Sep 17 00:00:00 2001 From: PabstMirror Date: Mon, 15 May 2017 17:37:36 -0500 Subject: [PATCH 3/7] Realistic names for 1.70 pylon magazines (#5165) --- addons/realisticnames/CfgMagazines.hpp | 61 +++++++++++++++++++++++++ addons/realisticnames/dev_dumpPylon.sqf | 29 ++++++++++++ 2 files changed, 90 insertions(+) create mode 100644 addons/realisticnames/dev_dumpPylon.sqf diff --git a/addons/realisticnames/CfgMagazines.hpp b/addons/realisticnames/CfgMagazines.hpp index a6a64a4a15..d32ee3ec2c 100644 --- a/addons/realisticnames/CfgMagazines.hpp +++ b/addons/realisticnames/CfgMagazines.hpp @@ -417,4 +417,65 @@ class CfgMagazines { class SmokeShellYellow: SmokeShell { displayName = CSTRING(SmokeShellYellow_Name); }; + + + // 1.70 Pylon Magazines (Should Match Weapon Name) + class 2Rnd_Missile_AA_04_F; + class PylonRack_1Rnd_Missile_AA_04_F: 2Rnd_Missile_AA_04_F { + displayName = "AIM-9 Sidewinder"; // [vanilla: Falchion-22 - Missile_AA_04_Plane_CAS_01_F] + }; + class 4Rnd_AAA_missiles; + class PylonRack_1Rnd_AAA_missiles: 4Rnd_AAA_missiles { + displayName = "AIM-132 ASRAAM"; // [vanilla: ASRAAM - missiles_ASRAAM] + }; + class 4Rnd_GAA_missiles; + class PylonRack_1Rnd_GAA_missiles: 4Rnd_GAA_missiles { + displayName = "AIM-120A AMRAAM"; // [vanilla: Zephyr - missiles_Zephyr] + }; + class 6Rnd_Missile_AGM_02_F; + class PylonRack_1Rnd_Missile_AGM_02_F: 6Rnd_Missile_AGM_02_F { + displayName = "AGM-65 Maverick"; // [vanilla: Macer - Missile_AGM_02_Plane_CAS_01_F] + }; + class PylonRack_3Rnd_Missile_AGM_02_F: PylonRack_1Rnd_Missile_AGM_02_F { + displayName = "AGM-65 Maverick 3x"; // [vanilla: Macer 3x - Missile_AGM_02_Plane_CAS_01_F] + }; + class 2Rnd_LG_scalpel; + class PylonRack_1Rnd_LG_scalpel: 2Rnd_LG_scalpel { + displayName = "9K121 Vikhr"; // [vanilla: Scalpel - missiles_SCALPEL] + }; + class PylonRack_3Rnd_LG_scalpel: PylonRack_1Rnd_LG_scalpel { + displayName = "9K121 Vikhr 3x"; // [vanilla: Scalpel 3x - missiles_SCALPEL] + }; + class PylonRack_4Rnd_LG_scalpel: PylonRack_1Rnd_LG_scalpel { + displayName = "9K121 Vikhr 4x"; // [vanilla: Scalpel 4x - missiles_SCALPEL] + }; + class PylonRack_7Rnd_Rocket_04_HE_F: 7Rnd_Rocket_04_HE_F { + displayName = "Hydra 70 7x HE"; // [vanilla: Shrieker 7x HE - Rocket_04_HE_Plane_CAS_01_F] + }; + class PylonRack_7Rnd_Rocket_04_AP_F: 7Rnd_Rocket_04_AP_F { + displayName = "Hydra 70 7x AP"; // [vanilla: Shrieker 7x AP - Rocket_04_AP_Plane_CAS_01_F] + }; + class 12Rnd_missiles; + class PylonRack_12Rnd_missiles: 12Rnd_missiles { + displayName = "Hydra 70"; // [vanilla: DAR - missiles_DAR] + }; + class PylonRack_20Rnd_Rocket_03_HE_F: 20Rnd_Rocket_03_HE_F { + displayName = "S-8 20x HE"; // [vanilla: Tratnyr 20x HE - Rocket_03_HE_Plane_CAS_02_F] + }; + class PylonRack_20Rnd_Rocket_03_AP_F: 20Rnd_Rocket_03_AP_F { + displayName = "S-8 20x AP"; // [vanilla: Tratnyr 20x AP - Rocket_03_AP_Plane_CAS_02_F] + }; + class 2Rnd_Missile_AA_03_F; + class PylonRack_1Rnd_Missile_AA_03_F: 2Rnd_Missile_AA_03_F { + displayName = "Wympel R-73"; // [vanilla: Sahr-3 - Missile_AA_03_Plane_CAS_02_F] + }; + class 4Rnd_Missile_AGM_01_F; + class PylonRack_1Rnd_Missile_AGM_01_F: 4Rnd_Missile_AGM_01_F { + displayName = "Kh-25MTP"; // [vanilla: Sharur - Missile_AGM_01_Plane_CAS_02_F] + }; + class 2Rnd_Bomb_03_F; + class PylonMissile_1Rnd_Bomb_03_F: 2Rnd_Bomb_03_F { + displayName = "FAB-250M-54"; // [vanilla: LOM-250G - Bomb_03_Plane_CAS_02_F] + }; + }; diff --git a/addons/realisticnames/dev_dumpPylon.sqf b/addons/realisticnames/dev_dumpPylon.sqf new file mode 100644 index 0000000000..df0d7ea4a5 --- /dev/null +++ b/addons/realisticnames/dev_dumpPylon.sqf @@ -0,0 +1,29 @@ +// [] execVM "z\ace\addons\realisticnames\dev_dumpPylon.sqf"; + +private _justLog = true; + +diag_log text format ["[Dumping Pylons] --------------------"]; +private _magazines = configProperties [configFile >> "CfgMagazines", "isClass _x", true]; +{ + private _pylonWeapon = getText (_x >> "pylonWeapon"); + if (_pylonWeapon != "") then { + private _weaponConfig = configFile >> "CfgWeapons" >> _pylonWeapon; + private _weaponName = getText (_weaponConfig >> "displayName"); + private _inherit = (configProperties [_x, "configName _x == 'displayName'", false]) isEqualTo []; + private _pylonMagName = getText (_x >> "displayName"); + if (_justLog) then { + if (!_inherit) then { + diag_log text format ["%1: [%2 vs %3]", configName _x, _pylonMagName, _weaponName]; + } else { + diag_log text format [" - %1: [%2 vs %3]", configName _x, _pylonMagName, _weaponName]; + }; + } else { + if (!_inherit) then { + diag_log text format ['class %1;', configName inheritsFrom _x]; + diag_log text format ['class %1: %2 {', configName _x, configName inheritsFrom _x]; + diag_log text format ['displayName = "%1"; [vanilla: %2 - %3]', _weaponName, _pylonMagName, _pylonWeapon]; + diag_log text format ['};', configName _x, configName inheritsFrom _x, _weaponName, _pylonMagName]; + }; + }; + }; +} forEach _magazines; From 5da5a7cc3e30c2113afd3de9e1cc34bbe9eb3832 Mon Sep 17 00:00:00 2001 From: PabstMirror Date: Mon, 15 May 2017 17:45:31 -0500 Subject: [PATCH 4/7] Fix gatling_30mm UBC for 1.70 (#5125) * Fix gatling_30mm UBC for 1.70 * Fix verEsion --- addons/realisticnames/CfgWeapons.hpp | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/addons/realisticnames/CfgWeapons.hpp b/addons/realisticnames/CfgWeapons.hpp index 3bc97b14ab..6aa3c7c3c8 100644 --- a/addons/realisticnames/CfgWeapons.hpp +++ b/addons/realisticnames/CfgWeapons.hpp @@ -319,7 +319,7 @@ class CfgWeapons { }; }; - class gatling_30mm: CannonCore { // This is a fictional veresion of the GSh-6-30, with 3 barrels + class gatling_30mm_base: CannonCore { // This is a fictional version of the GSh-6-30, with 3 barrels displayName = "GSh-3-30"; class LowROF: Mode_FullAuto { displayName = "GSh-3-30"; @@ -602,7 +602,7 @@ class CfgWeapons { class arifle_CTAR_GL_hex_F: arifle_CTAR_GL_base_F { displayName = CSTRING(arifle_CTAR_GL_hex); }; - + class arifle_CTARS_base_F; class arifle_CTARS_blk_F: arifle_CTARS_base_F { displayName = CSTRING(arifle_CTARS_blk); From 6034a13d4295299493fa12b2f5ae26e38493ba69 Mon Sep 17 00:00:00 2001 From: PabstMirror Date: Mon, 15 May 2017 18:00:09 -0500 Subject: [PATCH 5/7] Prep 3.9.2 (version numbers) --- addons/main/script_version.hpp | 4 ++-- docs/_config.yml | 4 ++-- docs/_config_dev.yml | 4 ++-- 3 files changed, 6 insertions(+), 6 deletions(-) diff --git a/addons/main/script_version.hpp b/addons/main/script_version.hpp index 6b0cc9e423..a52346e875 100644 --- a/addons/main/script_version.hpp +++ b/addons/main/script_version.hpp @@ -1,4 +1,4 @@ #define MAJOR 3 #define MINOR 9 -#define PATCHLVL 1 -#define BUILD 17 +#define PATCHLVL 2 +#define BUILD 18 diff --git a/docs/_config.yml b/docs/_config.yml index 0e5fab26bc..b8ac5e22c3 100644 --- a/docs/_config.yml +++ b/docs/_config.yml @@ -9,8 +9,8 @@ ace: version: major: 3 minor: 9 - patch: 1 - build: 17 + patch: 2 + build: 18 acex: githubUrl: https://github.com/acemod/ACEX diff --git a/docs/_config_dev.yml b/docs/_config_dev.yml index d3ec0acb83..227d4029bf 100644 --- a/docs/_config_dev.yml +++ b/docs/_config_dev.yml @@ -11,8 +11,8 @@ ace: version: major: 3 minor: 9 - patch: 1 - build: 17 + patch: 2 + build: 18 acex: githubUrl: https://github.com/acemod/ACEX From 5f0e6b7112a4ebd9879064cba50da27317b6502c Mon Sep 17 00:00:00 2001 From: jonpas Date: Tue, 16 May 2017 14:05:23 +0200 Subject: [PATCH 6/7] Update required Arma 3 version to 1.70 --- addons/main/script_mod.hpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/addons/main/script_mod.hpp b/addons/main/script_mod.hpp index 6cb346a72b..f0681137a6 100644 --- a/addons/main/script_mod.hpp +++ b/addons/main/script_mod.hpp @@ -9,7 +9,7 @@ #define VERSION_AR MAJOR,MINOR,PATCHLVL,BUILD // MINIMAL required version for the Mod. Components can specify others.. -#define REQUIRED_VERSION 1.64 +#define REQUIRED_VERSION 1.70 #define REQUIRED_CBA_VERSION {3,2,1} #ifdef COMPONENT_BEAUTIFIED From bae6124d0cf6c0e097c9c4ea05b6a61b0d5644ee Mon Sep 17 00:00:00 2001 From: jonpas Date: Tue, 16 May 2017 14:16:59 +0200 Subject: [PATCH 7/7] Prepare release 3.9.2 --- README.md | 2 +- docs/README_DE.md | 2 +- docs/README_PL.md | 2 +- mod.cpp | 4 ++-- 4 files changed, 5 insertions(+), 5 deletions(-) diff --git a/README.md b/README.md index b885f22b23..733af4eaed 100644 --- a/README.md +++ b/README.md @@ -4,7 +4,7 @@

- ACE3 Version + ACE3 Version ACE3 Issues diff --git a/docs/README_DE.md b/docs/README_DE.md index fda503c4d2..52b11e0797 100644 --- a/docs/README_DE.md +++ b/docs/README_DE.md @@ -4,7 +4,7 @@

- ACE3 Version + ACE3 Version ACE3 Fehlermeldungen diff --git a/docs/README_PL.md b/docs/README_PL.md index 01aa93ddb0..5c5163313f 100644 --- a/docs/README_PL.md +++ b/docs/README_PL.md @@ -3,7 +3,7 @@

- ACE3 Wersja + ACE3 Wersja ACE3 Zagadnienia diff --git a/mod.cpp b/mod.cpp index 639e957a64..3357f64b54 100644 --- a/mod.cpp +++ b/mod.cpp @@ -1,8 +1,8 @@ -name = "Advanced Combat Environment 3.9.1"; +name = "Advanced Combat Environment 3.9.2"; picture = "logo_ace3_ca.paa"; actionName = "GitHub"; action = "https://github.com/acemod/ACE3"; -description = "ACE3 - Version 3.9.1"; +description = "ACE3 - Version 3.9.2"; logo = "logo_ace3_ca.paa"; logoOver = "logo_ace3_ca.paa"; tooltip = "ACE3";