From 80ea079827961a9804dd54d1972c9f45272aec90 Mon Sep 17 00:00:00 2001 From: commy2 Date: Tue, 12 Jan 2016 19:32:26 +0100 Subject: [PATCH 01/90] reset interaction menu time variables on save game load --- addons/interact_menu/XEH_preInit.sqf | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/addons/interact_menu/XEH_preInit.sqf b/addons/interact_menu/XEH_preInit.sqf index 73b543250e..86e77387ec 100644 --- a/addons/interact_menu/XEH_preInit.sqf +++ b/addons/interact_menu/XEH_preInit.sqf @@ -67,6 +67,13 @@ GVAR(expanded) = false; GVAR(startHoverTime) = ACE_diagTime; GVAR(expandedTime) = ACE_diagTime; + +// reset on mission load +addMissionEventHandler ["Loaded", { + GVAR(startHoverTime) = 0; + GVAR(expandedTime) = 0; +}]; + GVAR(iconCtrls) = []; GVAR(iconCount) = 0; From 8bb7b072d42beb68b69c55580799b2bb83acf8c6 Mon Sep 17 00:00:00 2001 From: VKing Date: Sun, 28 Feb 2016 15:18:15 +0100 Subject: [PATCH 02/90] Standardize grammar of GVAR arrays in configs to place the square brackets outside the GVAR macro. This prevents any possible confusion when the GVARs are used in code. --- addons/concertina_wire/CfgVehicles.hpp | 2 +- addons/dragging/CfgVehicles.hpp | 26 +++++++++++++------------- addons/explosives/CfgAmmo.hpp | 8 ++++---- addons/fastroping/CfgVehicles.hpp | 24 ++++++++++++------------ addons/medical/CfgVehicles.hpp | 2 +- addons/repair/CfgVehicles.hpp | 16 ++++++++-------- addons/sitting/CfgVehicles.hpp | 24 ++++++++++++------------ addons/spottingscope/CfgVehicles.hpp | 2 +- addons/tripod/CfgVehicles.hpp | 2 +- addons/zeus/config.cpp | 2 +- 10 files changed, 54 insertions(+), 54 deletions(-) diff --git a/addons/concertina_wire/CfgVehicles.hpp b/addons/concertina_wire/CfgVehicles.hpp index 2a0b8cead2..f86dab5a69 100644 --- a/addons/concertina_wire/CfgVehicles.hpp +++ b/addons/concertina_wire/CfgVehicles.hpp @@ -112,7 +112,7 @@ class CfgVehicles { accuracy = 1000; autocenter = 0; EGVAR(dragging,canDrag) = 1; - EGVAR(dragging,dragPosition[]) = {0,0.5,0.5}; + EGVAR(dragging,dragPosition)[] = {0,0.5,0.5}; EGVAR(dragging,dragDirection) = 0; EGVAR(cargo,size) = 1; EGVAR(cargo,canLoad) = 1; diff --git a/addons/dragging/CfgVehicles.hpp b/addons/dragging/CfgVehicles.hpp index be5021fd43..b2806fa63d 100644 --- a/addons/dragging/CfgVehicles.hpp +++ b/addons/dragging/CfgVehicles.hpp @@ -4,11 +4,11 @@ class CfgVehicles { class LandVehicle; class StaticWeapon: LandVehicle { GVAR(canCarry) = 1; - GVAR(carryPosition[]) = {0,1.2,0}; + GVAR(carryPosition)[] = {0,1.2,0}; GVAR(carryDirection) = 0; GVAR(canDrag) = 1; - GVAR(dragPosition[]) = {0,1.2,0}; + GVAR(dragPosition)[] = {0,1.2,0}; GVAR(dragDirection) = 0; }; @@ -21,11 +21,11 @@ class CfgVehicles { class StaticMortar; class Mortar_01_base_F: StaticMortar { GVAR(canCarry) = 1; - GVAR(carryPosition[]) = {0,1.2,0}; + GVAR(carryPosition)[] = {0,1.2,0}; GVAR(carryDirection) = 0; GVAR(canDrag) = 1; - GVAR(dragPosition[]) = {0,1.2,0}; + GVAR(dragPosition)[] = {0,1.2,0}; GVAR(dragDirection) = 0; }; @@ -33,11 +33,11 @@ class CfgVehicles { class ThingX; class ReammoBox_F: ThingX { GVAR(canCarry) = 0; - GVAR(carryPosition[]) = {0,1,1}; + GVAR(carryPosition)[] = {0,1,1}; GVAR(carryDirection) = 0; GVAR(canDrag) = 0; - GVAR(dragPosition[]) = {0,1.2,0}; + GVAR(dragPosition)[] = {0,1.2,0}; GVAR(dragDirection) = 0; }; @@ -87,40 +87,40 @@ class CfgVehicles { class RoadCone_F: ThingX { XEH_ENABLED; GVAR(canCarry) = 1; - GVAR(carryPosition[]) = {0,1,1}; + GVAR(carryPosition)[] = {0,1,1}; GVAR(carryDirection) = 0; GVAR(canDrag) = 1; - GVAR(dragPosition[]) = {0,1.2,0}; + GVAR(dragPosition)[] = {0,1.2,0}; GVAR(dragDirection) = 0; }; class RoadBarrier_F: RoadCone_F { - GVAR(carryPosition[]) = {0,1,0.300671}; + GVAR(carryPosition)[] = {0,1,0.300671}; }; class ACE_RepairItem_Base: ThingX {}; class ACE_Track: ACE_RepairItem_Base { GVAR(canCarry) = 1; - GVAR(carryPosition[]) = {0,1,1}; + GVAR(carryPosition)[] = {0,1,1}; GVAR(carryDirection) = 0; }; class ACE_Wheel: ACE_RepairItem_Base { GVAR(canCarry) = 1; - GVAR(carryPosition[]) = {0,1,1}; + GVAR(carryPosition)[] = {0,1,1}; GVAR(carryDirection) = 0; }; class Lamps_base_F; class Land_PortableLight_single_F: Lamps_base_F { GVAR(canCarry) = 1; - GVAR(carryPosition[]) = {0,1.2,0}; + GVAR(carryPosition)[] = {0,1.2,0}; GVAR(carryDirection) = 180; GVAR(canDrag) = 1; - GVAR(dragPosition[]) = {0,1.2,0}; + GVAR(dragPosition)[] = {0,1.2,0}; GVAR(dragDirection) = 180; }; }; diff --git a/addons/explosives/CfgAmmo.hpp b/addons/explosives/CfgAmmo.hpp index 977e01e3af..8d81a52613 100644 --- a/addons/explosives/CfgAmmo.hpp +++ b/addons/explosives/CfgAmmo.hpp @@ -31,14 +31,14 @@ class CfgAmmo { class ClaymoreDirectionalMine_Remote_Ammo: DirectionalBombBase { GVAR(magazine) = "ClaymoreDirectionalMine_Remote_Mag"; GVAR(Explosive) = "ClaymoreDirectionalMine_Remote_Ammo_Scripted"; - GVAR(defuseObjectPosition[]) = {0, 0, 0.038}; + GVAR(defuseObjectPosition)[] = {0, 0, 0.038}; soundActivation[] = {"", 0, 0, 0}; soundDeactivation[] = {"", 0, 0, 0}; }; // class ClaymoreDirectionalMine_Remote_Ammo_Scripted: ClaymoreDirectionalMine_Remote_Ammo {}; class APERSTripMine_Wire_Ammo: DirectionalBombBase { - GVAR(defuseObjectPosition[]) = {-1.415, 0, 0.12}; + GVAR(defuseObjectPosition)[] = {-1.415, 0, 0.12}; }; class SLAMDirectionalMine_Wire_Ammo: DirectionalBombBase { @@ -66,7 +66,7 @@ class CfgAmmo { class DemoCharge_Remote_Ammo: PipeBombBase { GVAR(magazine) = "DemoCharge_Remote_Mag"; GVAR(Explosive) = "DemoCharge_Remote_Ammo_Scripted"; - GVAR(defuseObjectPosition[]) = {0.07, 0, 0.055}; + GVAR(defuseObjectPosition)[] = {0.07, 0, 0.055}; soundActivation[] = {"", 0, 0, 0}; soundDeactivation[] = {"", 0, 0, 0}; hit = 500; @@ -76,7 +76,7 @@ class CfgAmmo { class SatchelCharge_Remote_Ammo: PipeBombBase { GVAR(magazine) = "SatchelCharge_Remote_Mag"; GVAR(Explosive) = "SatchelCharge_Remote_Ammo_Scripted"; - GVAR(defuseObjectPosition[]) = {0.1, 0.1, 0.05}; + GVAR(defuseObjectPosition)[] = {0.1, 0.1, 0.05}; soundActivation[] = {"", 0, 0, 0}; soundDeactivation[] = {"", 0, 0, 0}; }; diff --git a/addons/fastroping/CfgVehicles.hpp b/addons/fastroping/CfgVehicles.hpp index 560f60cffc..83890a51ad 100644 --- a/addons/fastroping/CfgVehicles.hpp +++ b/addons/fastroping/CfgVehicles.hpp @@ -154,54 +154,54 @@ class CfgVehicles { class Heli_Light_02_base_F: Helicopter_Base_H { GVAR(enabled) = 1; - GVAR(ropeOrigins[]) = {{1.41, 1.38, 0}, {-1.41, 1.38, 0}}; + GVAR(ropeOrigins)[] = {{1.41, 1.38, 0}, {-1.41, 1.38, 0}}; GVAR(onPrepare) = QFUNC(onPrepareCommon); GVAR(onCut) = QFUNC(onCutCommon); }; class Heli_Attack_02_base_F: Helicopter_Base_F { GVAR(enabled) = 1; - GVAR(ropeOrigins[]) = {{1.25, 1.5, -0.6}, {-1.1, 1.5, -0.6}}; + GVAR(ropeOrigins)[] = {{1.25, 1.5, -0.6}, {-1.1, 1.5, -0.6}}; GVAR(onPrepare) = QFUNC(onPrepareCommon); GVAR(onCut) = QFUNC(onCutCommon); }; class Heli_Transport_01_base_F: Helicopter_Base_H { GVAR(enabled) = 2; - GVAR(ropeOrigins[]) = {"ropeOriginRight", "ropeOriginLeft"}; + GVAR(ropeOrigins)[] = {"ropeOriginRight", "ropeOriginLeft"}; GVAR(friesType) = "ACE_friesAnchorBar"; - GVAR(friesAttachmentPoint[]) = {0.065, 2.2, -0.15}; + GVAR(friesAttachmentPoint)[] = {0.065, 2.2, -0.15}; GVAR(onPrepare) = QFUNC(onPrepareCommon); GVAR(onCut) = QFUNC(onCutCommon); EQUIP_FRIES_ATTRIBUTE; }; class Heli_Transport_02_base_F: Helicopter_Base_H { GVAR(enabled) = 1; - GVAR(ropeOrigins[]) = {{0.94, -4.82, -1.16}, {-0.94, -4.82, -1.16}}; + GVAR(ropeOrigins)[] = {{0.94, -4.82, -1.16}, {-0.94, -4.82, -1.16}}; }; class Heli_Transport_03_base_F: Helicopter_Base_H { GVAR(enabled) = 1; - GVAR(ropeOrigins[]) = {{0.75, -5.29, -0.11}, {-0.87, -5.29, -0.11}}; + GVAR(ropeOrigins)[] = {{0.75, -5.29, -0.11}, {-0.87, -5.29, -0.11}}; }; class Heli_light_03_base_F: Helicopter_Base_F { GVAR(enabled) = 2; - GVAR(ropeOrigins[]) = {"ropeOriginRight", "ropeOriginLeft"}; + GVAR(ropeOrigins)[] = {"ropeOriginRight", "ropeOriginLeft"}; GVAR(friesType) = "ACE_friesGantryReverse"; - GVAR(friesAttachmentPoint[]) = {1.04, 2.5, -0.34}; + GVAR(friesAttachmentPoint)[] = {1.04, 2.5, -0.34}; EQUIP_FRIES_ATTRIBUTE; }; class Heli_light_03_unarmed_base_F: Heli_light_03_base_F { GVAR(enabled) = 2; - GVAR(ropeOrigins[]) = {"ropeOriginRight", "ropeOriginLeft"}; + GVAR(ropeOrigins)[] = {"ropeOriginRight", "ropeOriginLeft"}; GVAR(friesType) = "ACE_friesGantry"; - GVAR(friesAttachmentPoint[]) = {-1.07, 3.26, -0.5}; + GVAR(friesAttachmentPoint)[] = {-1.07, 3.26, -0.5}; EQUIP_FRIES_ATTRIBUTE; }; class Heli_Transport_04_base_F; class O_Heli_Transport_04_bench_F: Heli_Transport_04_base_F { GVAR(enabled) = 1; - GVAR(ropeOrigins[]) = {{1.03, 1.6, -0.23}, {1.03, -1.36, -0.23}, {-1.23, 1.6, -0.23}, {-1.23, -1.36, -0.23}}; + GVAR(ropeOrigins)[] = {{1.03, 1.6, -0.23}, {1.03, -1.36, -0.23}, {-1.23, 1.6, -0.23}, {-1.23, -1.36, -0.23}}; }; class O_Heli_Transport_04_covered_F: Heli_Transport_04_base_F { GVAR(enabled) = 1; - GVAR(ropeOrigins[]) = {{0.83, -4.7, -0.03}, {-1.02, -4.7, -0.03}}; + GVAR(ropeOrigins)[] = {{0.83, -4.7, -0.03}, {-1.02, -4.7, -0.03}}; }; }; diff --git a/addons/medical/CfgVehicles.hpp b/addons/medical/CfgVehicles.hpp index bddb8fc8a6..e1ac49f1ac 100644 --- a/addons/medical/CfgVehicles.hpp +++ b/addons/medical/CfgVehicles.hpp @@ -658,7 +658,7 @@ class CfgVehicles { icon = ""; displayName = CSTRING(Bodybag_Display); EGVAR(dragging,canDrag) = 1; - EGVAR(dragging,dragPosition[]) = {0,1.2,0}; + EGVAR(dragging,dragPosition)[] = {0,1.2,0}; EGVAR(dragging,dragDirection) = 0; EGVAR(cargo,size) = 1; EGVAR(cargo,canLoad) = 1; diff --git a/addons/repair/CfgVehicles.hpp b/addons/repair/CfgVehicles.hpp index 1968023881..0d2e8f96d4 100644 --- a/addons/repair/CfgVehicles.hpp +++ b/addons/repair/CfgVehicles.hpp @@ -342,7 +342,7 @@ class CfgVehicles { class Helicopter_Base_H; class Heli_Transport_04_base_F: Helicopter_Base_H { - GVAR(hitpointGroups[]) = { {"HitEngine", {"HitEngine1", "HitEngine2"}}, {"Glass_1_hitpoint", {"Glass_2_hitpoint", "Glass_3_hitpoint", "Glass_4_hitpoint", "Glass_5_hitpoint", "Glass_6_hitpoint", "Glass_7_hitpoint", "Glass_8_hitpoint", "Glass_9_hitpoint", "Glass_10_hitpoint", "Glass_11_hitpoint", "Glass_12_hitpoint", "Glass_13_hitpoint", "Glass_14_hitpoint", "Glass_15_hitpoint", "Glass_16_hitpoint", "Glass_17_hitpoint", "Glass_18_hitpoint", "Glass_19_hitpoint", "Glass_20_hitpoint"}} }; + GVAR(hitpointGroups)[] = { {"HitEngine", {"HitEngine1", "HitEngine2"}}, {"Glass_1_hitpoint", {"Glass_2_hitpoint", "Glass_3_hitpoint", "Glass_4_hitpoint", "Glass_5_hitpoint", "Glass_6_hitpoint", "Glass_7_hitpoint", "Glass_8_hitpoint", "Glass_9_hitpoint", "Glass_10_hitpoint", "Glass_11_hitpoint", "Glass_12_hitpoint", "Glass_13_hitpoint", "Glass_14_hitpoint", "Glass_15_hitpoint", "Glass_16_hitpoint", "Glass_17_hitpoint", "Glass_18_hitpoint", "Glass_19_hitpoint", "Glass_20_hitpoint"}} }; }; class O_Heli_Transport_04_repair_F: Heli_Transport_04_base_F { GVAR(canRepair) = 1; @@ -357,12 +357,12 @@ class CfgVehicles { class Heli_Transport_02_base_F; class I_Heli_Transport_02_F: Heli_Transport_02_base_F { - GVAR(hitpointPositions[]) = {{"HitVRotor", {-1,-9.4,1.8}}, {"HitHRotor", {0,1.8,1.3}}}; + GVAR(hitpointPositions)[] = {{"HitVRotor", {-1,-9.4,1.8}}, {"HitHRotor", {0,1.8,1.3}}}; }; class Helicopter_Base_F; class Heli_light_03_base_F: Helicopter_Base_F { - GVAR(hitpointPositions[]) = {{"HitVRotor", {-0.5,-5.55,1.2}}, {"HitHRotor", {0,1.8,1.5}}}; + GVAR(hitpointPositions)[] = {{"HitVRotor", {-0.5,-5.55,1.2}}, {"HitHRotor", {0,1.8,1.5}}}; }; class B_APC_Tracked_01_base_F; @@ -372,12 +372,12 @@ class CfgVehicles { }; class B_APC_Tracked_01_AA_F: B_APC_Tracked_01_base_F { - GVAR(hitpointPositions[]) = {{"HitTurret", {0,-2,0}}}; + GVAR(hitpointPositions)[] = {{"HitTurret", {0,-2,0}}}; }; class Car_F; class Offroad_01_base_F: Car_F { - GVAR(hitpointGroups[]) = { {"HitGlass1", {"HitGlass2"}} }; + GVAR(hitpointGroups)[] = { {"HitGlass1", {"HitGlass2"}} }; }; class Offroad_01_repair_base_F: Offroad_01_base_F { GVAR(canRepair) = 1; @@ -385,7 +385,7 @@ class CfgVehicles { }; class MRAP_01_base_F: Car_F { - GVAR(hitpointGroups[]) = { {"HitGlass1", {"HitGlass2", "HitGlass3", "HitGlass4", "HitGlass5", "HitGlass6"}} }; + GVAR(hitpointGroups)[] = { {"HitGlass1", {"HitGlass2", "HitGlass3", "HitGlass4", "HitGlass5", "HitGlass6"}} }; }; class B_Truck_01_mover_F; @@ -416,9 +416,9 @@ class CfgVehicles { class Quadbike_01_base_F; class B_Quadbike_01_F: Quadbike_01_base_F { - GVAR(hitpointPositions[]) = { {"HitEngine", {0, 0.5, -0.7}}, {"HitFuel", {0, 0, -0.5}} }; + GVAR(hitpointPositions)[] = { {"HitEngine", {0, 0.5, -0.7}}, {"HitFuel", {0, 0, -0.5}} }; }; class Hatchback_01_base_F: Car_F { - GVAR(hitpointPositions[]) = {{"HitBody", {0, 0.7, -0.5}}, {"HitFuel", {0, -1.75, -0.75}}}; + GVAR(hitpointPositions)[] = {{"HitBody", {0, 0.7, -0.5}}, {"HitFuel", {0, -1.75, -0.75}}}; }; }; diff --git a/addons/sitting/CfgVehicles.hpp b/addons/sitting/CfgVehicles.hpp index fde1786268..c21ffeaa86 100644 --- a/addons/sitting/CfgVehicles.hpp +++ b/addons/sitting/CfgVehicles.hpp @@ -42,9 +42,9 @@ class CfgVehicles { XEH_ENABLED; GVAR(canSit) = 1; GVAR(sitDirection) = 180; - GVAR(sitPosition[]) = {0, -0.1, -0.45}; + GVAR(sitPosition)[] = {0, -0.1, -0.45}; EGVAR(dragging,canCarry) = 1; - EGVAR(dragging,carryPosition[]) = {0, 0.75, 0.5}; + EGVAR(dragging,carryPosition)[] = {0, 0.75, 0.5}; EGVAR(dragging,carryDirection) = 180; }; // Camping Chair @@ -52,9 +52,9 @@ class CfgVehicles { XEH_ENABLED; GVAR(canSit) = 1; GVAR(sitDirection) = 180; - GVAR(sitPosition[]) = {0, -0.1, -0.45}; + GVAR(sitPosition)[] = {0, -0.1, -0.45}; EGVAR(dragging,canCarry) = 1; - EGVAR(dragging,carryPosition[]) = {0, 0.75, 0.5}; + EGVAR(dragging,carryPosition)[] = {0, 0.75, 0.5}; EGVAR(dragging,carryDirection) = 180; }; @@ -64,9 +64,9 @@ class CfgVehicles { XEH_ENABLED; GVAR(canSit) = 1; GVAR(sitDirection) = 90; - GVAR(sitPosition[]) = {0, 0, -0.5}; + GVAR(sitPosition)[] = {0, 0, -0.5}; EGVAR(dragging,canCarry) = 1; - EGVAR(dragging,carryPosition[]) = {0, 0.75, 0.5}; + EGVAR(dragging,carryPosition)[] = {0, 0.75, 0.5}; EGVAR(dragging,carryDirection) = 270; }; // Chair (Wooden) @@ -74,9 +74,9 @@ class CfgVehicles { XEH_ENABLED; GVAR(canSit) = 1; GVAR(sitDirection) = 180; - GVAR(sitPosition[]) = {0, -0.05, 0}; + GVAR(sitPosition)[] = {0, -0.05, 0}; EGVAR(dragging,canCarry) = 1; - EGVAR(dragging,carryPosition[]) = {0, 0.75, 0.5}; + EGVAR(dragging,carryPosition)[] = {0, 0.75, 0.5}; EGVAR(dragging,carryDirection) = 180; }; // Office Chair @@ -84,9 +84,9 @@ class CfgVehicles { XEH_ENABLED; GVAR(canSit) = 1; GVAR(sitDirection) = 180; - GVAR(sitPosition[]) = {0, 0, -0.6}; + GVAR(sitPosition)[] = {0, 0, -0.6}; EGVAR(dragging,canCarry) = 1; - EGVAR(dragging,carryPosition[]) = {0, 0.75, 0.5}; + EGVAR(dragging,carryPosition)[] = {0, 0.75, 0.5}; EGVAR(dragging,carryDirection) = 180; }; // Rattan Chair @@ -94,9 +94,9 @@ class CfgVehicles { XEH_ENABLED; GVAR(canSit) = 1; GVAR(sitDirection) = 180; - GVAR(sitPosition[]) = {0, -0.1, -1}; // Z must be -1 due to chair's geometry (magic floating seat point) + GVAR(sitPosition)[] = {0, -0.1, -1}; // Z must be -1 due to chair's geometry (magic floating seat point) EGVAR(dragging,canCarry) = 1; - EGVAR(dragging,carryPosition[]) = {0, 0.75, 0.5}; + EGVAR(dragging,carryPosition)[] = {0, 0.75, 0.5}; EGVAR(dragging,carryDirection) = 180; }; }; diff --git a/addons/spottingscope/CfgVehicles.hpp b/addons/spottingscope/CfgVehicles.hpp index 434c1c96ca..decdb36ee0 100644 --- a/addons/spottingscope/CfgVehicles.hpp +++ b/addons/spottingscope/CfgVehicles.hpp @@ -107,7 +107,7 @@ class CfgVehicles { }; }; EGVAR(dragging,canDrag) = 1; - EGVAR(dragging,dragPosition[]) = {0,1,0}; + EGVAR(dragging,dragPosition)[] = {0,1,0}; EGVAR(dragging,dragDirection) = 0; class ACE_Actions: ACE_Actions{ class ACE_MainActions: ACE_MainActions { diff --git a/addons/tripod/CfgVehicles.hpp b/addons/tripod/CfgVehicles.hpp index de16d6867a..7470dbe604 100644 --- a/addons/tripod/CfgVehicles.hpp +++ b/addons/tripod/CfgVehicles.hpp @@ -36,7 +36,7 @@ class CfgVehicles { class ACE_TripodObject: ThingX { XEH_ENABLED; EGVAR(dragging,canDrag) = 1; - EGVAR(dragging,dragPosition[]) = {0,1,0}; + EGVAR(dragging,dragPosition)[] = {0,1,0}; EGVAR(dragging,dragDirection) = 0; scope = 2; displayName = CSTRING(DisplayName); diff --git a/addons/zeus/config.cpp b/addons/zeus/config.cpp index 853edaf2e9..f41769e727 100644 --- a/addons/zeus/config.cpp +++ b/addons/zeus/config.cpp @@ -36,7 +36,7 @@ class CfgPatches { class ACE_Curator { GVAR(captives) = "ace_captives"; GVAR(medical) = "ace_medical"; - GVAR(cargoAndRepair[]) = {"ace_cargo", "ace_repair"}; + GVAR(cargoAndRepair)[] = {"ace_cargo", "ace_repair"}; }; #include "CfgEventHandlers.hpp" From 75c2e3d032bf12c9a1021c41cc5c12d9076311f7 Mon Sep 17 00:00:00 2001 From: BaerMitUmlaut Date: Sat, 27 Feb 2016 23:00:24 +0100 Subject: [PATCH 03/90] Added QUOTE macros to fastroping configs --- addons/fastroping/CfgMoves.hpp | 6 +++--- addons/fastroping/CfgVehicles.hpp | 26 +++++++++++++------------- 2 files changed, 16 insertions(+), 16 deletions(-) diff --git a/addons/fastroping/CfgMoves.hpp b/addons/fastroping/CfgMoves.hpp index da2d0f0613..747bd5bf7f 100644 --- a/addons/fastroping/CfgMoves.hpp +++ b/addons/fastroping/CfgMoves.hpp @@ -9,7 +9,7 @@ class CfgMovesMaleSdr: CfgMovesBasic { class States { class Crew; class ACE_freefallLoop: Crew { - file = PATHTOF(anim\freefallLoop.rtm); + file = QUOTE(PATHTOF(anim\freefallLoop.rtm)); interpolateTo[] = {"Unconscious", 1}; disableWeapons = 1; disableWeaponsLong = 1; @@ -18,7 +18,7 @@ class CfgMovesMaleSdr: CfgMovesBasic { speed = 0.204082; }; class ACE_freefallStart: Crew { - file = PATHTOF(anim\freefallStart.rtm); + file = QUOTE(PATHTOF(anim\freefallStart.rtm)); interpolateTo[] = {"Unconscious", 1}; disableWeapons = 1; disableWeaponsLong = 1; @@ -27,7 +27,7 @@ class CfgMovesMaleSdr: CfgMovesBasic { speed = 0.61224502; }; class ACE_slidingLoop: Crew { - file = PATHTOF(anim\slidingLoop.rtm); + file = QUOTE(PATHTOF(anim\slidingLoop.rtm)); interpolateTo[] = {"Unconscious", 1}; disableWeapons = 1; disableWeaponsLong = 1; diff --git a/addons/fastroping/CfgVehicles.hpp b/addons/fastroping/CfgVehicles.hpp index 560f60cffc..41fc81399a 100644 --- a/addons/fastroping/CfgVehicles.hpp +++ b/addons/fastroping/CfgVehicles.hpp @@ -4,7 +4,7 @@ control = "Checkbox"; \ displayName = CSTRING(Eden_equipFRIES); \ tooltip = CSTRING(Eden_equipFRIES_Tooltip); \ - expression = [_this] call FUNC(equipFRIES); \ + expression = QUOTE([_this] call FUNC(equipFRIES)); \ typeName = "BOOL"; \ condition = "objectVehicle"; \ defaultValue = false; \ @@ -22,7 +22,7 @@ class CfgVehicles { class ACE_friesAnchorBar: ACE_friesBase { author = "jokoho48"; scope = 1; - model = PATHTOF(data\friesAnchorBar.p3d); + model = QUOTE(PATHTOF(data\friesAnchorBar.p3d)); animated = 1; class AnimationSources: AnimationSources { class extendHookRight { @@ -40,7 +40,7 @@ class CfgVehicles { class ACE_friesGantry: ACE_friesBase { author = "jokoho48"; scope = 1; - model = PATHTOF(data\friesGantry.p3d); + model = QUOTE(PATHTOF(data\friesGantry.p3d)); animated = 1; class AnimationSources: AnimationSources { class adjustWidth { @@ -90,7 +90,7 @@ class CfgVehicles { displayName = CSTRING(Module_FRIES_DisplayName); icon = QUOTE(PATHTOF(UI\Icon_Module_FRIES_ca.paa)); category = "ACE"; - function = QUOTE(FUNC(moduleEquipFRIES)); + function = QFUNC(moduleEquipFRIES); functionPriority = 10; isGlobal = 0; isTriggerActivated = 0; @@ -108,29 +108,29 @@ class CfgVehicles { class ACE_SelfActions { class ACE_prepareFRIES { displayName = CSTRING(Interaction_prepareFRIES); - condition = [vehicle _player] call FUNC(canPrepareFRIES); - statement = [vehicle _player] call FUNC(prepareFRIES); + condition = QUOTE([vehicle _player] call FUNC(canPrepareFRIES)); + statement = QUOTE([vehicle _player] call FUNC(prepareFRIES)); showDisabled = 0; priority = 1; }; class ACE_deployRopes { displayName = CSTRING(Interaction_deployRopes); - condition = [_player, vehicle _player] call FUNC(canDeployRopes); - statement = [QGVAR(deployRopes), [vehicle _player]] call EFUNC(common,serverEvent); + condition = QUOTE([ARR_2(_player,vehicle _player)] call FUNC(canDeployRopes)); + statement = QUOTE([ARR_2(QUOTE(QGVAR(deployRopes)),[vehicle _player])] call EFUNC(common,serverEvent)); showDisabled = 0; priority = 1; }; class ACE_cutRopes { displayName = CSTRING(Interaction_cutRopes); - condition = [vehicle _player] call FUNC(canCutRopes); - statement = [vehicle _player] call FUNC(cutRopes); + condition = QUOTE([vehicle _player] call FUNC(canCutRopes)); + statement = QUOTE([vehicle _player] call FUNC(cutRopes)); showDisabled = 0; priority = 1; }; class ACE_fastRope { displayName = CSTRING(Interaction_fastRope); - condition = [_player, vehicle _player] call FUNC(canFastRope); - statement = [_player, vehicle _player] call FUNC(fastRope); + condition = QUOTE([ARR_2(_player,vehicle _player)] call FUNC(canFastRope)); + statement = QUOTE([ARR_2(_player,vehicle _player)] call FUNC(fastRope)); showDisabled = 0; priority = 1; }; @@ -143,7 +143,7 @@ class CfgVehicles { class GVAR(helper): Helicopter_Base_F { author = "KoffeinFlummi"; scope = 1; - model = PATHTOF(data\helper.p3d); + model = QUOTE(PATHTOF(data\helper.p3d)); class ACE_Actions { class ACE_MainActions { condition = "false"; From 353b5e9ef42d80f89c7c46b7984c31cd55cb2400 Mon Sep 17 00:00:00 2001 From: VKing Date: Tue, 1 Mar 2016 21:58:21 +0100 Subject: [PATCH 04/90] Replace transportMax... with maximumLoad for mortar boxes. Fixes 3490 --- addons/mk6mortar/CfgVehicles.hpp | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) diff --git a/addons/mk6mortar/CfgVehicles.hpp b/addons/mk6mortar/CfgVehicles.hpp index 175cbf82f3..fa6667f874 100644 --- a/addons/mk6mortar/CfgVehicles.hpp +++ b/addons/mk6mortar/CfgVehicles.hpp @@ -139,8 +139,7 @@ class CfgVehicles { class ACE_Box_82mm_Mo_HE: Box_NATO_AmmoOrd_F { displayName = CSTRING(HEBox_DisplayName); author = ECSTRING(common,ACETeam); - transportMaxWeapons = 4; - transportMaxMagazines = 8; + maximumLoad = 400; class TransportMagazines { MACRO_ADDMAGAZINE(ACE_1Rnd_82mm_Mo_HE,8); }; @@ -161,7 +160,7 @@ class CfgVehicles { }; class ACE_Box_82mm_Mo_Combo: ACE_Box_82mm_Mo_HE { displayName = CSTRING(ComboBox_DisplayName); - transportMaxMagazines = 48; + maximumLoad = 2400; class TransportMagazines { MACRO_ADDMAGAZINE(ACE_1Rnd_82mm_Mo_HE,32); MACRO_ADDMAGAZINE(ACE_1Rnd_82mm_Mo_Smoke,8); From b86e5d8ad69a85037c709fd96a42db86a08be063 Mon Sep 17 00:00:00 2001 From: looterz Date: Tue, 1 Mar 2016 18:23:33 -0600 Subject: [PATCH 05/90] Fixes player markers not showing up correctly when BFT_ShowPlayerNames is enabled in multiplayer --- addons/map/functions/fnc_blueForceTrackingUpdate.sqf | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/addons/map/functions/fnc_blueForceTrackingUpdate.sqf b/addons/map/functions/fnc_blueForceTrackingUpdate.sqf index 34d41bb49c..cecf228924 100644 --- a/addons/map/functions/fnc_blueForceTrackingUpdate.sqf +++ b/addons/map/functions/fnc_blueForceTrackingUpdate.sqf @@ -33,7 +33,7 @@ if (GVAR(BFT_Enabled) and {(!isNil "ACE_player") and {alive ACE_player}}) then { private _markerType = [_x] call EFUNC(common,getMarkerType); private _colour = format ["Color%1", side _x]; - private _marker = createMarkerLocal [format ["ACE_BFT_%1", _forEachIndex], [(getPos leader _x) select 0, (getPos leader _x) select 1]]; + private _marker = createMarkerLocal [format ["ACE_BFT_%1", _forEachIndex], [(getPos _x) select 0, (getPos _x) select 1]]; _marker setMarkerTypeLocal _markerType; _marker setMarkerColorLocal _colour; _marker setMarkerTextLocal (name _x); From 8f620f2e614b6c6a5bd6d567a8c64b15ae5171c4 Mon Sep 17 00:00:00 2001 From: PabstMirror Date: Tue, 1 Mar 2016 18:49:41 -0600 Subject: [PATCH 06/90] Fix portable light floating / dir when carrying #3486 --- addons/common/functions/fnc_fixPosition.sqf | 10 ++++++++++ addons/dragging/functions/fnc_handleScrollWheel.sqf | 4 ++++ 2 files changed, 14 insertions(+) diff --git a/addons/common/functions/fnc_fixPosition.sqf b/addons/common/functions/fnc_fixPosition.sqf index e2e2d71059..689512d925 100644 --- a/addons/common/functions/fnc_fixPosition.sqf +++ b/addons/common/functions/fnc_fixPosition.sqf @@ -16,6 +16,16 @@ // setVectorUp requires local object if (!local _this) exitWith {}; +if ((getText (configFile >> "CfgVehicles" >> (typeOf _this) >> "simulation")) == "house") then { + //Houses don't have gravity/physics, so make sure they are not floating + private _posAbove = (getPos _this) select 2; + TRACE_2("house",_this,_posAbove); + if (_posAbove > 0.1) then { + private _newPosASL = (getPosASL _this) vectorDiff [0,0,_posAbove]; + _this setPosASL _newPosASL; + }; +}; + private _position = getPos _this; // don't place the object below the ground diff --git a/addons/dragging/functions/fnc_handleScrollWheel.sqf b/addons/dragging/functions/fnc_handleScrollWheel.sqf index e3547ca63a..c97284618c 100644 --- a/addons/dragging/functions/fnc_handleScrollWheel.sqf +++ b/addons/dragging/functions/fnc_handleScrollWheel.sqf @@ -40,4 +40,8 @@ detach _carriedItem; _carriedItem setPosATL _position; _carriedItem attachTo [_unit]; +//reset the carry direction +private _direction = _carriedItem getVariable [QGVAR(carryDirection), 0]; +["setDir", _carriedItem, [_carriedItem, _direction]] call EFUNC(common,targetEvent); + true From 928a9b9485269f78d38d4770eea44c4834a4eac5 Mon Sep 17 00:00:00 2001 From: esteldunedain Date: Wed, 2 Mar 2016 15:25:41 -0300 Subject: [PATCH 07/90] Increase interaction distance with explosives from 1m to 1.5m. Fix #3379 --- addons/explosives/CfgVehicles.hpp | 6 ++---- 1 file changed, 2 insertions(+), 4 deletions(-) diff --git a/addons/explosives/CfgVehicles.hpp b/addons/explosives/CfgVehicles.hpp index ce77ce0d79..db9c7c9b7e 100644 --- a/addons/explosives/CfgVehicles.hpp +++ b/addons/explosives/CfgVehicles.hpp @@ -56,7 +56,7 @@ class CfgVehicles { class ACE_Actions { class ACE_MainActions { selection = ""; - distance = 1; + distance = 1.5; condition = "true"; class ACE_Defuse { displayName = CSTRING(Defuse); @@ -88,12 +88,11 @@ class CfgVehicles { class ACE_Actions { class ACE_MainActions { selection = ""; - distance = 1; + distance = 1.5; condition = "true"; class ACE_SetTrigger { selection = ""; displayName = CSTRING(TriggerMenu); - distance = 1; condition = "true"; statement = ""; insertChildren = QUOTE([ARR_3(_target getVariable QUOTE(QGVAR(class)),_target,_player)] call FUNC(addTriggerActions);); @@ -105,7 +104,6 @@ class CfgVehicles { class ACE_PickUp { selection = ""; displayName = CSTRING(Pickup); - distance = 1; condition = "true"; statement = QUOTE([ARR_2(_player,_target getVariable QUOTE(QGVAR(class)))] call EFUNC(common,addToInventory);deleteVehicle _target;); showDisabled = 0; From e6a5d2dacd08abb3f8ed2c8487de281b87dd9407 Mon Sep 17 00:00:00 2001 From: PabstMirror Date: Wed, 2 Mar 2016 13:19:20 -0600 Subject: [PATCH 08/90] Add CBA 2.3.1 to versioning check --- addons/main/config.cpp | 13 +++++++++++++ 1 file changed, 13 insertions(+) diff --git a/addons/main/config.cpp b/addons/main/config.cpp index 857478a442..ccd72e5667 100644 --- a/addons/main/config.cpp +++ b/addons/main/config.cpp @@ -588,3 +588,16 @@ class CfgMods { #include "CfgModuleCategories.hpp" #include "CfgVehicleClasses.hpp" + +class CfgSettings { + class CBA { + class Versioning { + class ACE { + class dependencies { + CBA[] = {"cba_main", {2,3,1}, "true"}; + }; + }; + }; + }; +}; + From e0493458c0a65f8ab2da87056be766e5c3f6fcd7 Mon Sep 17 00:00:00 2001 From: esteldunedain Date: Wed, 2 Mar 2016 16:19:38 -0300 Subject: [PATCH 09/90] Reduce interaction distance for defusing back to 1m --- addons/explosives/CfgVehicles.hpp | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/addons/explosives/CfgVehicles.hpp b/addons/explosives/CfgVehicles.hpp index db9c7c9b7e..5f81bde127 100644 --- a/addons/explosives/CfgVehicles.hpp +++ b/addons/explosives/CfgVehicles.hpp @@ -56,7 +56,7 @@ class CfgVehicles { class ACE_Actions { class ACE_MainActions { selection = ""; - distance = 1.5; + distance = 1; condition = "true"; class ACE_Defuse { displayName = CSTRING(Defuse); @@ -66,7 +66,6 @@ class CfgVehicles { showDisabled = 0; icon = PATHTOF(UI\Defuse_ca.paa); priority = 0.8; - distance = 1; }; }; }; From 137a512a9e6a5312504a5718d4d7b9ba2a7ff6c0 Mon Sep 17 00:00:00 2001 From: PabstMirror Date: Wed, 2 Mar 2016 16:33:29 -0600 Subject: [PATCH 10/90] close main display if using incompatible cba --- addons/common/functions/fnc_checkFiles.sqf | 12 ++++++++++++ 1 file changed, 12 insertions(+) diff --git a/addons/common/functions/fnc_checkFiles.sqf b/addons/common/functions/fnc_checkFiles.sqf index 19a4c6f72a..1f3a26db7d 100644 --- a/addons/common/functions/fnc_checkFiles.sqf +++ b/addons/common/functions/fnc_checkFiles.sqf @@ -19,6 +19,18 @@ private _version = getText (configFile >> "CfgPatches" >> "ace_main" >> "version ACE_LOGINFO_1("ACE is version %1.",_version); +//CBA Versioning check - close main display if using incompatible version +private _cbaVersionAr = getArray (configFile >> "CfgPatches" >> "cba_main" >> "versionAr"); +private _cbaRequiredAr = (getArray (configFile >> "CfgSettings" >> "CBA" >> "Versioning" >> "ACE" >> "dependencies" >> "CBA")) select 1; +ACE_LOGINFO_2("CBA is version %1 [min required %2]",_cbaVersionAr,_cbaRequiredAr); +if ([_cbaRequiredAr, _cbaVersionAr] call cba_versioning_fnc_version_compare) then { + private _errorMsg = format ["CBA Version [%1] is outdated [required %2]", _cbaVersionAr, _cbaRequiredAr]; + ACE_LOGERROR(_errorMsg); + if (hasInterface) then { + ["[ACE] ERROR", _errorMsg, {findDisplay 46 closeDisplay 0}] call FUNC(errorMessage); + }; +}; + //private _addons = activatedAddons; // broken with High-Command module, see #2134 private _addons = "true" configClasses (configFile >> "CfgPatches");// _addons = _addons apply {toLower configName _x};// From ef95e278f95fd8eb2c68c5121201f3e4a5933df6 Mon Sep 17 00:00:00 2001 From: jonpas Date: Thu, 3 Mar 2016 17:35:43 +0100 Subject: [PATCH 11/90] Fix Cancel Action by moving it to MouseButtonDown display EH --- addons/explosives/XEH_PREP.hpp | 1 + addons/explosives/XEH_missionDisplayLoad.sqf | 1 + .../functions/fnc_cancelPlacement.sqf | 28 +++++++++++++++++++ .../functions/fnc_setupExplosive.sqf | 7 ----- addons/sandbag/XEH_missionDisplayLoad.sqf | 1 + addons/sandbag/functions/fnc_deploy.sqf | 6 ---- addons/sandbag/functions/fnc_deployCancel.sqf | 7 +++-- .../sandbag/functions/fnc_deployConfirm.sqf | 1 - .../tacticalladder/XEH_missionDisplayLoad.sqf | 1 + .../functions/fnc_cancelTLdeploy.sqf | 15 +++++----- .../functions/fnc_confirmTLdeploy.sqf | 1 - .../functions/fnc_positionTL.sqf | 6 ---- addons/trenches/XEH_missionDisplayLoad.sqf | 1 + addons/trenches/functions/fnc_placeCancel.sqf | 8 ++++-- .../trenches/functions/fnc_placeConfirm.sqf | 1 - addons/trenches/functions/fnc_placeTrench.sqf | 6 ---- 16 files changed, 51 insertions(+), 40 deletions(-) create mode 100644 addons/explosives/functions/fnc_cancelPlacement.sqf diff --git a/addons/explosives/XEH_PREP.hpp b/addons/explosives/XEH_PREP.hpp index b3686a986f..0d8a4eeca5 100644 --- a/addons/explosives/XEH_PREP.hpp +++ b/addons/explosives/XEH_PREP.hpp @@ -6,6 +6,7 @@ PREP(addExplosiveActions); PREP(addToSpeedDial); PREP(addTransmitterActions); PREP(addTriggerActions); +PREP(cancelPlacement); PREP(canDefuse); PREP(canDetonate); PREP(connectExplosive); diff --git a/addons/explosives/XEH_missionDisplayLoad.sqf b/addons/explosives/XEH_missionDisplayLoad.sqf index 289d2f067a..1475f774e8 100644 --- a/addons/explosives/XEH_missionDisplayLoad.sqf +++ b/addons/explosives/XEH_missionDisplayLoad.sqf @@ -3,3 +3,4 @@ params ["_display"]; _display displayAddEventHandler ["MouseZChanged", {(_this select 1) call FUNC(handleScrollWheel)}]; +_display displayAddEventHandler ["MouseButtonDown", {[ACE_player, _this select 1] call FUNC(cancelPlacement)}]; diff --git a/addons/explosives/functions/fnc_cancelPlacement.sqf b/addons/explosives/functions/fnc_cancelPlacement.sqf new file mode 100644 index 0000000000..4a7f385a01 --- /dev/null +++ b/addons/explosives/functions/fnc_cancelPlacement.sqf @@ -0,0 +1,28 @@ +/* + * Author: Garth 'L-H' de Wet + * Cancels explosives placement. + * + * Arguments: + * 0: Unit + * 1: Key + * + * Return Value: + * None + * + * Example: + * [unit, 1] call ace_explosives_fnc_cancelPlacement + * + * Public: No + */ +#include "script_component.hpp" + +params ["_unit", "_key"]; + +if (_key != 1) exitWith {}; + +if (_unit == ACE_player && + {([_unit, objNull, ["isNotSwimming"]] call EFUNC(common,canInteractWith))} && + {(_magClassname in (magazines _unit))} +) exitWith {}; + +GVAR(placeAction) = PLACE_CANCEL; diff --git a/addons/explosives/functions/fnc_setupExplosive.sqf b/addons/explosives/functions/fnc_setupExplosive.sqf index b1fdf7216b..567bb95db8 100644 --- a/addons/explosives/functions/fnc_setupExplosive.sqf +++ b/addons/explosives/functions/fnc_setupExplosive.sqf @@ -141,13 +141,6 @@ GVAR(TweakedAngle) = 0; //Don't allow placing in a bad position: if (_badPosition && {GVAR(placeAction) == PLACE_APPROVE}) then {GVAR(placeAction) = PLACE_WAITING;}; - if (((inputAction "zoomTemp") > 0) || //Cancel on RMB, For some reason this works (when held) but AddActionEventHandler doesn't - {_unit != ACE_player} || - {!([_unit, objNull, ["isNotSwimming"]] call EFUNC(common,canInteractWith))} || - {!(_magClassname in (magazines _unit))}) then { - GVAR(placeAction) = PLACE_CANCEL; - }; - if (GVAR(placeAction) != PLACE_WAITING) then { [_pfID] call CBA_fnc_removePerFrameHandler; GVAR(pfeh_running) = false; diff --git a/addons/sandbag/XEH_missionDisplayLoad.sqf b/addons/sandbag/XEH_missionDisplayLoad.sqf index 289d2f067a..cb85ffb9fb 100644 --- a/addons/sandbag/XEH_missionDisplayLoad.sqf +++ b/addons/sandbag/XEH_missionDisplayLoad.sqf @@ -3,3 +3,4 @@ params ["_display"]; _display displayAddEventHandler ["MouseZChanged", {(_this select 1) call FUNC(handleScrollWheel)}]; +_display displayAddEventHandler ["MouseButtonDown", {[ACE_player, _this select 1] call FUNC(deployCancel)}]; diff --git a/addons/sandbag/functions/fnc_deploy.sqf b/addons/sandbag/functions/fnc_deploy.sqf index 1a539929ff..735a736bbb 100644 --- a/addons/sandbag/functions/fnc_deploy.sqf +++ b/addons/sandbag/functions/fnc_deploy.sqf @@ -52,10 +52,4 @@ _unit setVariable [QGVAR(Deploy), [ {[_this select 0] call FUNC(deployConfirm)} ] call EFUNC(common,addActionEventHandler)]; -_unit setVariable [QGVAR(Cancel), [ - _unit, "zoomtemp", - {GVAR(deployPFH) != -1}, - {[_this select 0] call FUNC(deployCancel)} -] call EFUNC(common,addActionEventHandler)]; - _unit setVariable [QGVAR(isDeploying), true, true]; diff --git a/addons/sandbag/functions/fnc_deployCancel.sqf b/addons/sandbag/functions/fnc_deployCancel.sqf index bb9d691fa9..e0315d7849 100644 --- a/addons/sandbag/functions/fnc_deployCancel.sqf +++ b/addons/sandbag/functions/fnc_deployCancel.sqf @@ -3,7 +3,8 @@ * Cancels sandbag deployment * * Arguments: - * 0: unit + * 0: Unit + * 1: Key * * Return Value: * None @@ -15,7 +16,9 @@ */ #include "script_component.hpp" -params ["_unit"]; +params ["_unit", "_key"]; + +if (_key != 1) exitWith {}; // enable running again [_unit, "forceWalk", "ACE_Sandbag", false] call EFUNC(common,statusEffect_set); diff --git a/addons/sandbag/functions/fnc_deployConfirm.sqf b/addons/sandbag/functions/fnc_deployConfirm.sqf index 8c789fd124..c560bc15ba 100644 --- a/addons/sandbag/functions/fnc_deployConfirm.sqf +++ b/addons/sandbag/functions/fnc_deployConfirm.sqf @@ -51,7 +51,6 @@ GVAR(deployPFH) = -1; call EFUNC(interaction,hideMouseHint); [_unit, "DefaultAction", _unit getVariable [QGVAR(Deploy), -1]] call EFUNC(common,removeActionEventHandler); -[_unit, "zoomtemp", _unit getVariable [QGVAR(Cancel), -1]] call EFUNC(common,removeActionEventHandler); // play animation _unit playActionNow "PutDown"; diff --git a/addons/tacticalladder/XEH_missionDisplayLoad.sqf b/addons/tacticalladder/XEH_missionDisplayLoad.sqf index 289d2f067a..05419598b9 100644 --- a/addons/tacticalladder/XEH_missionDisplayLoad.sqf +++ b/addons/tacticalladder/XEH_missionDisplayLoad.sqf @@ -3,3 +3,4 @@ params ["_display"]; _display displayAddEventHandler ["MouseZChanged", {(_this select 1) call FUNC(handleScrollWheel)}]; +_display displayAddEventHandler ["MouseButtonDown", {[ACE_player, _this select 1] call FUNC(cancelTLdeploy)}]; diff --git a/addons/tacticalladder/functions/fnc_cancelTLdeploy.sqf b/addons/tacticalladder/functions/fnc_cancelTLdeploy.sqf index 940b2b612a..6f9eb5cff9 100644 --- a/addons/tacticalladder/functions/fnc_cancelTLdeploy.sqf +++ b/addons/tacticalladder/functions/fnc_cancelTLdeploy.sqf @@ -3,8 +3,8 @@ * Cancel tactical ladder deployment * * Arguments: - * 0: unit - * 1: ladder + * 0: Unit + * 1: Key * * Return Value: * None @@ -18,23 +18,24 @@ #define __ANIMS ["extract_1","extract_2","extract_3","extract_4","extract_5","extract_6","extract_7","extract_8","extract_9","extract_10","extract_11"] -params ["_unit", "_ladder"]; +params ["_unit", "_key"]; + +if (_key != 1) exitWith {}; // enable running again [_unit, "forceWalk", "ACE_Ladder", false] call EFUNC(common,statusEffect_set); -detach _ladder; +detach GVAR(ladder); -_ladder animate ["rotate", 0]; +GVAR(ladder) animate ["rotate", 0]; { - _ladder animate [_x, 0]; + GVAR(ladder) animate [_x, 0]; } count __ANIMS; // remove mouse buttons and hint call EFUNC(interaction,hideMouseHint); [_unit, "DefaultAction", _unit getVariable [QGVAR(Deploy), -1]] call EFUNC(Common,removeActionEventHandler); -[_unit, "zoomtemp", _unit getVariable [QGVAR(Cancel), -1]] call EFUNC(Common,removeActionEventHandler); GVAR(ladder) = objNull; diff --git a/addons/tacticalladder/functions/fnc_confirmTLdeploy.sqf b/addons/tacticalladder/functions/fnc_confirmTLdeploy.sqf index 9d5783b327..3703fe1f47 100644 --- a/addons/tacticalladder/functions/fnc_confirmTLdeploy.sqf +++ b/addons/tacticalladder/functions/fnc_confirmTLdeploy.sqf @@ -34,7 +34,6 @@ detach _ladder; call EFUNC(interaction,hideMouseHint); [_unit, "DefaultAction", _unit getVariable [QGVAR(Deploy), -1]] call EFUNC(common,removeActionEventHandler); -[_unit, "zoomtemp", _unit getVariable [QGVAR(Cancel), -1]] call EFUNC(common,removeActionEventHandler); GVAR(ladder) = objNull; diff --git a/addons/tacticalladder/functions/fnc_positionTL.sqf b/addons/tacticalladder/functions/fnc_positionTL.sqf index 94e28dea33..27ea683b5a 100644 --- a/addons/tacticalladder/functions/fnc_positionTL.sqf +++ b/addons/tacticalladder/functions/fnc_positionTL.sqf @@ -50,9 +50,3 @@ _unit setVariable [QGVAR(Deploy), [ {!isNull GVAR(ladder)}, {[_this select 0, GVAR(ladder)] call FUNC(confirmTLdeploy)} ] call EFUNC(common,addActionEventHandler)]; - -_unit setVariable [QGVAR(Cancel), [ - _unit, "zoomtemp", - {!isNull GVAR(ladder)}, - {[_this select 0, GVAR(ladder)] call FUNC(cancelTLdeploy)} -] call EFUNC(common,addActionEventHandler)]; diff --git a/addons/trenches/XEH_missionDisplayLoad.sqf b/addons/trenches/XEH_missionDisplayLoad.sqf index 289d2f067a..2c4951ec7a 100644 --- a/addons/trenches/XEH_missionDisplayLoad.sqf +++ b/addons/trenches/XEH_missionDisplayLoad.sqf @@ -3,3 +3,4 @@ params ["_display"]; _display displayAddEventHandler ["MouseZChanged", {(_this select 1) call FUNC(handleScrollWheel)}]; +_display displayAddEventHandler ["MouseButtonDown", {[ACE_player, _this select 1] call FUNC(placeCancel)}]; diff --git a/addons/trenches/functions/fnc_placeCancel.sqf b/addons/trenches/functions/fnc_placeCancel.sqf index a48d6e3f5b..90c9d6ecc7 100644 --- a/addons/trenches/functions/fnc_placeCancel.sqf +++ b/addons/trenches/functions/fnc_placeCancel.sqf @@ -3,7 +3,8 @@ * Cancels trench dig * * Arguments: - * 0: unit + * 0: Unit + * 1: Key * * Return Value: * None @@ -15,7 +16,9 @@ */ #include "script_component.hpp" -params ["_unit"]; +params ["_unit", "_key"]; + +if (_key != 1) exitWith {}; // enable running again [_unit, "forceWalk", "ACE_Trenches", false] call EFUNC(common,statusEffect_set); @@ -31,6 +34,5 @@ GVAR(digPFH) = -1; call EFUNC(interaction,hideMouseHint); [_unit, "DefaultAction", _unit getVariable [QGVAR(Dig), -1]] call EFUNC(common,removeActionEventHandler); -[_unit, "zoomtemp", _unit getVariable [QGVAR(Cancel), -1]] call EFUNC(common,removeActionEventHandler); _unit setVariable [QGVAR(isPlacing), false, true]; diff --git a/addons/trenches/functions/fnc_placeConfirm.sqf b/addons/trenches/functions/fnc_placeConfirm.sqf index 797499a63f..47f80014f8 100644 --- a/addons/trenches/functions/fnc_placeConfirm.sqf +++ b/addons/trenches/functions/fnc_placeConfirm.sqf @@ -28,7 +28,6 @@ GVAR(digPFH) = -1; call EFUNC(interaction,hideMouseHint); [_unit, "DefaultAction", _unit getVariable [QGVAR(Dig), -1]] call EFUNC(common,removeActionEventHandler); -[_unit, "zoomtemp", _unit getVariable [QGVAR(Cancel), -1]] call EFUNC(common,removeActionEventHandler); _unit setVariable [QGVAR(isPlacing), false, true]; diff --git a/addons/trenches/functions/fnc_placeTrench.sqf b/addons/trenches/functions/fnc_placeTrench.sqf index 21c4d92bb9..48a768427f 100644 --- a/addons/trenches/functions/fnc_placeTrench.sqf +++ b/addons/trenches/functions/fnc_placeTrench.sqf @@ -95,10 +95,4 @@ _unit setVariable [QGVAR(Dig), [ {[_this select 0] call FUNC(placeConfirm)} ] call EFUNC(common,addActionEventHandler)]; -_unit setVariable [QGVAR(Cancel), [ - _unit, "zoomtemp", - {GVAR(digPFH) != -1}, - {[_this select 0] call FUNC(placeCancel)} -] call EFUNC(common,addActionEventHandler)]; - _unit setVariable [QGVAR(isPlacing), true, true]; From 56c5343bd7199d3c8cc9be6ac37948e50d2a1cea Mon Sep 17 00:00:00 2001 From: PabstMirror Date: Thu, 3 Mar 2016 12:54:13 -0600 Subject: [PATCH 12/90] Set sandbag side to civ to show in 3den ref #3102 #2633 --- addons/sandbag/CfgVehicles.hpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/addons/sandbag/CfgVehicles.hpp b/addons/sandbag/CfgVehicles.hpp index 99f0fa6125..64d62ad424 100644 --- a/addons/sandbag/CfgVehicles.hpp +++ b/addons/sandbag/CfgVehicles.hpp @@ -52,7 +52,7 @@ class CfgVehicles { author = ECSTRING(common,ACETeam); scope = 2; - side = -1; + side = 3; model = PATHTOF(data\ace_sandbag_build.p3d); displayName = CSTRING(sandbag_displayName); vehicleClass = "ACE_Logistics_Items"; From 53a36f8783022425870dff19bb825e2b3e253590 Mon Sep 17 00:00:00 2001 From: PabstMirror Date: Thu, 3 Mar 2016 13:00:47 -0600 Subject: [PATCH 13/90] Add REQUIRED_CBA_VERSION macro to script_mod.hpp --- addons/main/config.cpp | 2 +- addons/main/script_mod.hpp | 1 + 2 files changed, 2 insertions(+), 1 deletion(-) diff --git a/addons/main/config.cpp b/addons/main/config.cpp index ccd72e5667..5f34c6137d 100644 --- a/addons/main/config.cpp +++ b/addons/main/config.cpp @@ -594,7 +594,7 @@ class CfgSettings { class Versioning { class ACE { class dependencies { - CBA[] = {"cba_main", {2,3,1}, "true"}; + CBA[] = {"cba_main", REQUIRED_CBA_VERSION, "true"}; }; }; }; diff --git a/addons/main/script_mod.hpp b/addons/main/script_mod.hpp index 0c6ec9acb4..dd2cef0204 100644 --- a/addons/main/script_mod.hpp +++ b/addons/main/script_mod.hpp @@ -13,3 +13,4 @@ // MINIMAL required version for the Mod. Components can specify others.. #define REQUIRED_VERSION 1.56 +#define REQUIRED_CBA_VERSION {2,3,1} From e3deebff7e8a93a223d29f301304532a9335fe66 Mon Sep 17 00:00:00 2001 From: PabstMirror Date: Thu, 3 Mar 2016 13:23:53 -0600 Subject: [PATCH 14/90] Fix empty callback for hr adjustment Fix #3526 Same issue as #3384 --- .../medical/functions/fnc_treatmentAdvanced_medicationLocal.sqf | 1 + 1 file changed, 1 insertion(+) diff --git a/addons/medical/functions/fnc_treatmentAdvanced_medicationLocal.sqf b/addons/medical/functions/fnc_treatmentAdvanced_medicationLocal.sqf index 2c3cf4cc41..85f8485f6b 100644 --- a/addons/medical/functions/fnc_treatmentAdvanced_medicationLocal.sqf +++ b/addons/medical/functions/fnc_treatmentAdvanced_medicationLocal.sqf @@ -64,6 +64,7 @@ if (isNil _hrCallback) then { } else { _hrCallback = missionNamespace getVariable _hrCallback; }; +if (!(_hrCallback isEqualType {})) then {_hrCallback = {TRACE_1("callback was NOT code",_hrCallback)};}; // Adjust the heart rate based upon config entry _heartRate = _target getVariable [QGVAR(heartRate), 70]; From 0b3abd55d32cc57b885da12e624072968d731885 Mon Sep 17 00:00:00 2001 From: GitHawk Date: Fri, 4 Mar 2016 13:59:14 +0100 Subject: [PATCH 15/90] Disallow refueling with running engine --- addons/refuel/functions/fnc_canTurnOn.sqf | 3 ++- addons/refuel/functions/fnc_refuel.sqf | 3 +++ 2 files changed, 5 insertions(+), 1 deletion(-) diff --git a/addons/refuel/functions/fnc_canTurnOn.sqf b/addons/refuel/functions/fnc_canTurnOn.sqf index 98173e0fa4..e9de5c205c 100644 --- a/addons/refuel/functions/fnc_canTurnOn.sqf +++ b/addons/refuel/functions/fnc_canTurnOn.sqf @@ -27,4 +27,5 @@ if (isNull _unit || !(_nozzle getVariable [QGVAR(isRefueling), false]) && {[_nozzle getVariable QGVAR(source)] call FUNC(getFuel) != 0} && {!isNull (_nozzle getVariable [QGVAR(sink), objNull])} && - {(fuel (_nozzle getVariable QGVAR(sink))) < 1} + {(fuel (_nozzle getVariable QGVAR(sink))) < 1} && + {!(isEngineOn (_nozzle getVariable QGVAR(sink)))} diff --git a/addons/refuel/functions/fnc_refuel.sqf b/addons/refuel/functions/fnc_refuel.sqf index 117cf5ea1e..a1187c3954 100644 --- a/addons/refuel/functions/fnc_refuel.sqf +++ b/addons/refuel/functions/fnc_refuel.sqf @@ -52,6 +52,9 @@ private _maxFuel = getNumber (configFile >> "CfgVehicles" >> (typeOf _target) >> private _finished = false; private _fueling = _nozzle getVariable [QGVAR(isRefueling), false]; if (_fueling) then { + if (isEngineOn _sink) exitWith { + _nozzle setVariable [QGVAR(isRefueling), false, true]; + }; private _fuelInSource = [_source] call FUNC(getFuel); if (_fuelInSource == 0) exitWith { [LSTRING(Hint_SourceEmpty), 2, _unit] call EFUNC(common,displayTextStructured); From 4826a89ef5397a92c628eedd8f7a86ad478503ba Mon Sep 17 00:00:00 2001 From: PabstMirror Date: Fri, 4 Mar 2016 11:45:38 -0600 Subject: [PATCH 16/90] Fix captivity system on dedicated Fix #3532 --- addons/captives/XEH_postInit.sqf | 13 ++++++------- 1 file changed, 6 insertions(+), 7 deletions(-) diff --git a/addons/captives/XEH_postInit.sqf b/addons/captives/XEH_postInit.sqf index 144d3efb9a..5aada0950f 100644 --- a/addons/captives/XEH_postInit.sqf +++ b/addons/captives/XEH_postInit.sqf @@ -1,5 +1,11 @@ #include "script_component.hpp" +["SettingsInitialized", { + // Hold on a little bit longer to ensure anims will work + [{ + GVAR(captivityEnabled) = true; + }, [], 0.05] call EFUNC(common,waitAndExecute); +}] call EFUNC(common,addEventHandler); //Handles when someone starts escorting and then disconnects, leaving the captive attached //This is normaly handled by the PFEH in doEscortCaptive, but that won't be running if they DC @@ -33,10 +39,3 @@ if (!hasInterface) exitWith {}; ["isNotEscorting", {!(GETVAR(_this select 0,GVAR(isEscorting),false))}] call EFUNC(common,addCanInteractWithCondition); ["isNotHandcuffed", {!(GETVAR(_this select 0,GVAR(isHandcuffed),false))}] call EFUNC(common,addCanInteractWithCondition); ["isNotSurrendering", {!(GETVAR(_this select 0,GVAR(isSurrendering),false))}] call EFUNC(common,addCanInteractWithCondition); - -["SettingsInitialized", { - // Hold on a little bit longer to ensure anims will work - [{ - GVAR(captivityEnabled) = true; - }, [], 0.05] call EFUNC(common,waitAndExecute); -}] call EFUNC(common,addEventHandler); From b37b1a39b2acbbc1c7eb1951881d4999af3ed50d Mon Sep 17 00:00:00 2001 From: jonpas Date: Sat, 5 Mar 2016 14:29:04 +0100 Subject: [PATCH 17/90] Allow string input for isBackpack --- addons/backpacks/functions/fnc_isBackpack.sqf | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/addons/backpacks/functions/fnc_isBackpack.sqf b/addons/backpacks/functions/fnc_isBackpack.sqf index d6b0fb1071..aa12b85ad9 100644 --- a/addons/backpacks/functions/fnc_isBackpack.sqf +++ b/addons/backpacks/functions/fnc_isBackpack.sqf @@ -12,7 +12,7 @@ */ #include "script_component.hpp" -params [["_backpack", objNull, [objNull]]]; +params [["_backpack", objNull, [objNull, ""]]]; if (_backpack isEqualType objNull) then { _backpack = typeOf _backpack; From 401d457a46d916c63f9d4a22de72b9765e1bfb6e Mon Sep 17 00:00:00 2001 From: jonpas Date: Sat, 5 Mar 2016 17:41:47 +0100 Subject: [PATCH 18/90] Replace execRemoteFnc with global/targetEvent in refuel --- addons/refuel/XEH_postInit.sqf | 17 +++++++++++++++++ .../functions/fnc_connectNozzleAction.sqf | 2 +- addons/refuel/functions/fnc_refuel.sqf | 2 +- addons/refuel/functions/fnc_reset.sqf | 4 ++-- addons/refuel/functions/fnc_returnNozzle.sqf | 2 +- addons/refuel/functions/fnc_takeNozzle.sqf | 2 +- 6 files changed, 23 insertions(+), 6 deletions(-) diff --git a/addons/refuel/XEH_postInit.sqf b/addons/refuel/XEH_postInit.sqf index 16c4232457..151f08d80b 100644 --- a/addons/refuel/XEH_postInit.sqf +++ b/addons/refuel/XEH_postInit.sqf @@ -5,3 +5,20 @@ if (isServer) then { addMissionEventHandler ["HandleDisconnect", {_this call FUNC(handleDisconnect)}]; }; + +// @todo move to common? +[QGVAR(setVectorDirAndUp), { + params ["_vehicle", "_vectorDirAndUp"]; + + if (local _vehicle) then { + (_this select 0) setVectorDirAndUp (_this select 1) + }; +}] call EFUNC(common,addEventHandler); + +[QGVAR(setVehicleHitPointDamage), { + (_this select 0) setHitPointDamage (_this select 1); +}] call EFUNC(common,addEventHandler); + +[QGVAR(resetLocal), { + _this call FUNC(resetLocal); +}] call EFUNC(common,addEventHandler); diff --git a/addons/refuel/functions/fnc_connectNozzleAction.sqf b/addons/refuel/functions/fnc_connectNozzleAction.sqf index bf9b6b8092..ec99f51fa4 100644 --- a/addons/refuel/functions/fnc_connectNozzleAction.sqf +++ b/addons/refuel/functions/fnc_connectNozzleAction.sqf @@ -119,7 +119,7 @@ _endPosTestOffset set [2, (_startingOffset select 2)]; }; }; }; - [[_nozzle, _dirAndUp], "{(_this select 0) setVectorDirAndUp (_this select 1)}", 2] call EFUNC(common,execRemoteFnc); + [QGVAR(setVectorDirAndUp), [_nozzle, _dirAndUp]] call EFUNC(common,globalEvent); _nozzle setVariable [QGVAR(sink), _target, true]; _nozzle setVariable [QGVAR(isConnected), true, true]; _target setVariable [QGVAR(nozzle), _nozzle, true]; diff --git a/addons/refuel/functions/fnc_refuel.sqf b/addons/refuel/functions/fnc_refuel.sqf index 117cf5ea1e..d4c5e111f6 100644 --- a/addons/refuel/functions/fnc_refuel.sqf +++ b/addons/refuel/functions/fnc_refuel.sqf @@ -77,7 +77,7 @@ private _maxFuel = getNumber (configFile >> "CfgVehicles" >> (typeOf _target) >> _unit setVariable [QGVAR(tempFuel), _fuelInSink]; if !(local _sink) then { - [[_sink, _fuelInSink], "{(_this select 0) setFuel (_this select 1)}", _sink] call EFUNC(common,execRemoteFnc); + ["setFuel", _sink [_sink, _fuelInSink]] call EFUNC(common,targetEvent); } else { _sink setFuel _fuelInSink; }; diff --git a/addons/refuel/functions/fnc_reset.sqf b/addons/refuel/functions/fnc_reset.sqf index 8c9b2aaf6b..f0955b609a 100644 --- a/addons/refuel/functions/fnc_reset.sqf +++ b/addons/refuel/functions/fnc_reset.sqf @@ -20,7 +20,7 @@ params [["_target", objNull, [objNull]]]; if (local _target) then { _target setHitPointDamage ["HitEngine", _target getVariable [QGVAR(engineHit), 0]]; } else { - [[_target, ["HitEngine", _target getVariable [QGVAR(engineHit), 0]]], "{(_this select 0) setHitPointDamage (_this select 1)}", _target] call EFUNC(common,execRemoteFnc); + [QGVAR(setVehicleHitPointDamage), _target, ["HitEngine", _target getVariable [QGVAR(engineHit), 0]]] call EFUNC(common,targetEvent); }; _target setVariable [QGVAR(engineHit), nil, true]; _target setVariable [QGVAR(isConnected), false, true]; @@ -41,7 +41,7 @@ if !(isNil "_nozzle") then { if (local _x) then { [_x, _nozzle] call FUNC(resetLocal); } else { - [[_x, _nozzle], "{_this call FUNC(resetLocal)}", _x] call EFUNC(common,execRemoteFnc); + [QGVAR(resetLocal), _x, [_x, _nozzle]] call EFUNC(common,targetEvent); }; } count allPlayers; deleteVehicle _nozzle; diff --git a/addons/refuel/functions/fnc_returnNozzle.sqf b/addons/refuel/functions/fnc_returnNozzle.sqf index 852a3d8c38..f3f00429da 100644 --- a/addons/refuel/functions/fnc_returnNozzle.sqf +++ b/addons/refuel/functions/fnc_returnNozzle.sqf @@ -49,7 +49,7 @@ if (isNull _nozzle || {_source != _target}) exitWith {false}; deleteVehicle _nozzle; if !(local _target) then { - [[_target, ["HitEngine", _target getVariable [QGVAR(engineHit), 0]]], "{(_this select 0) setHitPointDamage (_this select 1)}", _sink] call EFUNC(common,execRemoteFnc); + [QGVAR(setVehicleHitPointDamage), _target, ["HitEngine", _target getVariable [QGVAR(engineHit), 0]]] call EFUNC(common,targetEvent); } else { _target setHitPointDamage ["HitEngine", _target getVariable [QGVAR(engineHit), 0]]; }; diff --git a/addons/refuel/functions/fnc_takeNozzle.sqf b/addons/refuel/functions/fnc_takeNozzle.sqf index 3bccce15e2..02eefe27fe 100644 --- a/addons/refuel/functions/fnc_takeNozzle.sqf +++ b/addons/refuel/functions/fnc_takeNozzle.sqf @@ -28,7 +28,7 @@ private _endPosOffset = [0, 0, 0]; if (isNull _nozzle) then { // func is called on fuel truck _target setVariable [QGVAR(engineHit), _target getHitPointDamage "HitEngine", true]; if !(local _target) then { - [[_target, ["HitEngine", 1]], "{(_this select 0) setHitPointDamage (_this select 1)}", _sink] call EFUNC(common,execRemoteFnc); + [QGVAR(setVehicleHitPointDamage), _target, ["HitEngine", 1]] call EFUNC(common,targetEvent); } else { _target setHitPointDamage ["HitEngine", 1]; }; From 015a60e6c4c3e2aaa0ca21e702cb1a1797a1515d Mon Sep 17 00:00:00 2001 From: jonpas Date: Sat, 5 Mar 2016 17:44:03 +0100 Subject: [PATCH 19/90] Increase fuel update to 1s --- addons/refuel/functions/fnc_refuel.sqf | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/addons/refuel/functions/fnc_refuel.sqf b/addons/refuel/functions/fnc_refuel.sqf index d4c5e111f6..69e76f9ae9 100644 --- a/addons/refuel/functions/fnc_refuel.sqf +++ b/addons/refuel/functions/fnc_refuel.sqf @@ -16,7 +16,7 @@ #include "script_component.hpp" -#define PFH_STEPSIZE 0.1 +#define PFH_STEPSIZE 1 params [["_unit", objNull, [objNull]], ["_target", objNull, [objNull]], ["_nozzle", objNull, [objNull]], ["_connectToPoint", [0,0,0], [[]], 3]]; From 589ca27b600f21b84380600af9d27252d3c89a29 Mon Sep 17 00:00:00 2001 From: jonpas Date: Sat, 5 Mar 2016 18:02:21 +0100 Subject: [PATCH 20/90] Fix missing comma --- addons/refuel/functions/fnc_refuel.sqf | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/addons/refuel/functions/fnc_refuel.sqf b/addons/refuel/functions/fnc_refuel.sqf index 69e76f9ae9..9db305526c 100644 --- a/addons/refuel/functions/fnc_refuel.sqf +++ b/addons/refuel/functions/fnc_refuel.sqf @@ -77,7 +77,7 @@ private _maxFuel = getNumber (configFile >> "CfgVehicles" >> (typeOf _target) >> _unit setVariable [QGVAR(tempFuel), _fuelInSink]; if !(local _sink) then { - ["setFuel", _sink [_sink, _fuelInSink]] call EFUNC(common,targetEvent); + ["setFuel", _sink, [_sink, _fuelInSink]] call EFUNC(common,targetEvent); } else { _sink setFuel _fuelInSink; }; From 881eaf951aeb9f64a2e4cbb9e5180e67e690655a Mon Sep 17 00:00:00 2001 From: jonpas Date: Sat, 5 Mar 2016 18:07:07 +0100 Subject: [PATCH 21/90] Move setVectorDirAndUp and setHitPointDamage events to common, Make refuel set nozzle position execute only on target where local --- addons/common/XEH_postInit.sqf | 3 +++ addons/refuel/XEH_postInit.sqf | 13 ------------- addons/refuel/functions/fnc_connectNozzleAction.sqf | 2 +- addons/refuel/functions/fnc_reset.sqf | 2 +- addons/refuel/functions/fnc_returnNozzle.sqf | 2 +- addons/refuel/functions/fnc_takeNozzle.sqf | 2 +- 6 files changed, 7 insertions(+), 17 deletions(-) diff --git a/addons/common/XEH_postInit.sqf b/addons/common/XEH_postInit.sqf index 58e674dd8d..f188025d7b 100644 --- a/addons/common/XEH_postInit.sqf +++ b/addons/common/XEH_postInit.sqf @@ -158,6 +158,9 @@ if (isServer) then { ["enableSimulationGlobal", {(_this select 0) enableSimulationGlobal (_this select 1)}] call FUNC(addEventHandler); }; +["setVectorDirAndUp", {(_this select 0) setVectorDirAndUp (_this select 1)}] call FUNC(addEventHandler); +["setHitPointDamage", {(_this select 0) setHitPointDamage (_this select 1)}] call FUNC(addEventHandler); + ////////////////////////////////////////////////// // Set up remote execution diff --git a/addons/refuel/XEH_postInit.sqf b/addons/refuel/XEH_postInit.sqf index 151f08d80b..5078d808a2 100644 --- a/addons/refuel/XEH_postInit.sqf +++ b/addons/refuel/XEH_postInit.sqf @@ -6,19 +6,6 @@ if (isServer) then { addMissionEventHandler ["HandleDisconnect", {_this call FUNC(handleDisconnect)}]; }; -// @todo move to common? -[QGVAR(setVectorDirAndUp), { - params ["_vehicle", "_vectorDirAndUp"]; - - if (local _vehicle) then { - (_this select 0) setVectorDirAndUp (_this select 1) - }; -}] call EFUNC(common,addEventHandler); - -[QGVAR(setVehicleHitPointDamage), { - (_this select 0) setHitPointDamage (_this select 1); -}] call EFUNC(common,addEventHandler); - [QGVAR(resetLocal), { _this call FUNC(resetLocal); }] call EFUNC(common,addEventHandler); diff --git a/addons/refuel/functions/fnc_connectNozzleAction.sqf b/addons/refuel/functions/fnc_connectNozzleAction.sqf index ec99f51fa4..ae707a5718 100644 --- a/addons/refuel/functions/fnc_connectNozzleAction.sqf +++ b/addons/refuel/functions/fnc_connectNozzleAction.sqf @@ -119,7 +119,7 @@ _endPosTestOffset set [2, (_startingOffset select 2)]; }; }; }; - [QGVAR(setVectorDirAndUp), [_nozzle, _dirAndUp]] call EFUNC(common,globalEvent); + ["setVectorDirAndUp", _nozzle, [_nozzle, _dirAndUp]] call EFUNC(common,targetEvent); _nozzle setVariable [QGVAR(sink), _target, true]; _nozzle setVariable [QGVAR(isConnected), true, true]; _target setVariable [QGVAR(nozzle), _nozzle, true]; diff --git a/addons/refuel/functions/fnc_reset.sqf b/addons/refuel/functions/fnc_reset.sqf index f0955b609a..da983e6492 100644 --- a/addons/refuel/functions/fnc_reset.sqf +++ b/addons/refuel/functions/fnc_reset.sqf @@ -20,7 +20,7 @@ params [["_target", objNull, [objNull]]]; if (local _target) then { _target setHitPointDamage ["HitEngine", _target getVariable [QGVAR(engineHit), 0]]; } else { - [QGVAR(setVehicleHitPointDamage), _target, ["HitEngine", _target getVariable [QGVAR(engineHit), 0]]] call EFUNC(common,targetEvent); + ["setHitPointDamage", _target, ["HitEngine", _target getVariable [QGVAR(engineHit), 0]]] call EFUNC(common,targetEvent); }; _target setVariable [QGVAR(engineHit), nil, true]; _target setVariable [QGVAR(isConnected), false, true]; diff --git a/addons/refuel/functions/fnc_returnNozzle.sqf b/addons/refuel/functions/fnc_returnNozzle.sqf index f3f00429da..179785f863 100644 --- a/addons/refuel/functions/fnc_returnNozzle.sqf +++ b/addons/refuel/functions/fnc_returnNozzle.sqf @@ -49,7 +49,7 @@ if (isNull _nozzle || {_source != _target}) exitWith {false}; deleteVehicle _nozzle; if !(local _target) then { - [QGVAR(setVehicleHitPointDamage), _target, ["HitEngine", _target getVariable [QGVAR(engineHit), 0]]] call EFUNC(common,targetEvent); + ["setHitPointDamage", _target, ["HitEngine", _target getVariable [QGVAR(engineHit), 0]]] call EFUNC(common,targetEvent); } else { _target setHitPointDamage ["HitEngine", _target getVariable [QGVAR(engineHit), 0]]; }; diff --git a/addons/refuel/functions/fnc_takeNozzle.sqf b/addons/refuel/functions/fnc_takeNozzle.sqf index 02eefe27fe..08f9e152c0 100644 --- a/addons/refuel/functions/fnc_takeNozzle.sqf +++ b/addons/refuel/functions/fnc_takeNozzle.sqf @@ -28,7 +28,7 @@ private _endPosOffset = [0, 0, 0]; if (isNull _nozzle) then { // func is called on fuel truck _target setVariable [QGVAR(engineHit), _target getHitPointDamage "HitEngine", true]; if !(local _target) then { - [QGVAR(setVehicleHitPointDamage), _target, ["HitEngine", 1]] call EFUNC(common,targetEvent); + ["setHitPointDamage", _target, ["HitEngine", 1]] call EFUNC(common,targetEvent); } else { _target setHitPointDamage ["HitEngine", 1]; }; From 9463b052184261ad3769d92652c4b36785ea1252 Mon Sep 17 00:00:00 2001 From: jonpas Date: Sat, 5 Mar 2016 18:16:09 +0100 Subject: [PATCH 22/90] targetEvent -> objectEvent --- addons/refuel/functions/fnc_checkFuel.sqf | 4 ++-- addons/refuel/functions/fnc_connectNozzleAction.sqf | 2 +- addons/refuel/functions/fnc_refuel.sqf | 6 +----- addons/refuel/functions/fnc_reset.sqf | 13 +++---------- addons/refuel/functions/fnc_returnNozzle.sqf | 6 +----- addons/refuel/functions/fnc_takeNozzle.sqf | 6 +----- 6 files changed, 9 insertions(+), 28 deletions(-) diff --git a/addons/refuel/functions/fnc_checkFuel.sqf b/addons/refuel/functions/fnc_checkFuel.sqf index 6ba7a4928e..140021419d 100644 --- a/addons/refuel/functions/fnc_checkFuel.sqf +++ b/addons/refuel/functions/fnc_checkFuel.sqf @@ -27,9 +27,9 @@ private _fuel = [_target] call FUNC(getFuel); params ["_args"]; _args params [["_unit", objNull, [objNull]], ["_target", objNull, [objNull]], ["_fuel", 0, [0]]]; if (_fuel > 0 ) then { - ["displayTextStructured", [_unit], [[LSTRING(Hint_RemainingFuel), _fuel], 2, _unit]] call EFUNC(common,targetEvent); + ["displayTextStructured", _unit, [[LSTRING(Hint_RemainingFuel), _fuel], 2, _unit]] call EFUNC(common,objectEvent); } else { - ["displayTextStructured", [_unit], [LSTRING(Hint_Empty), 2, _unit]] call EFUNC(common,targetEvent); + ["displayTextStructured", _unit, [LSTRING(Hint_Empty), 2, _unit]] call EFUNC(common,objectEvent); }; true }, diff --git a/addons/refuel/functions/fnc_connectNozzleAction.sqf b/addons/refuel/functions/fnc_connectNozzleAction.sqf index ae707a5718..1df5f1e208 100644 --- a/addons/refuel/functions/fnc_connectNozzleAction.sqf +++ b/addons/refuel/functions/fnc_connectNozzleAction.sqf @@ -119,7 +119,7 @@ _endPosTestOffset set [2, (_startingOffset select 2)]; }; }; }; - ["setVectorDirAndUp", _nozzle, [_nozzle, _dirAndUp]] call EFUNC(common,targetEvent); + ["setVectorDirAndUp", _nozzle, [_nozzle, _dirAndUp]] call EFUNC(common,objectEvent); _nozzle setVariable [QGVAR(sink), _target, true]; _nozzle setVariable [QGVAR(isConnected), true, true]; _target setVariable [QGVAR(nozzle), _nozzle, true]; diff --git a/addons/refuel/functions/fnc_refuel.sqf b/addons/refuel/functions/fnc_refuel.sqf index 9db305526c..5ee3bf3794 100644 --- a/addons/refuel/functions/fnc_refuel.sqf +++ b/addons/refuel/functions/fnc_refuel.sqf @@ -76,11 +76,7 @@ private _maxFuel = getNumber (configFile >> "CfgVehicles" >> (typeOf _target) >> }; _unit setVariable [QGVAR(tempFuel), _fuelInSink]; - if !(local _sink) then { - ["setFuel", _sink, [_sink, _fuelInSink]] call EFUNC(common,targetEvent); - } else { - _sink setFuel _fuelInSink; - }; + ["setFuel", _sink, [_sink, _fuelInSink]] call EFUNC(common,objectEvent); [_source, _fuelInSource] call FUNC(setFuel); } else { _unit setVariable [QGVAR(tempFuel), fuel _sink]; diff --git a/addons/refuel/functions/fnc_reset.sqf b/addons/refuel/functions/fnc_reset.sqf index da983e6492..ff04ed13e3 100644 --- a/addons/refuel/functions/fnc_reset.sqf +++ b/addons/refuel/functions/fnc_reset.sqf @@ -17,11 +17,8 @@ params [["_target", objNull, [objNull]]]; -if (local _target) then { - _target setHitPointDamage ["HitEngine", _target getVariable [QGVAR(engineHit), 0]]; -} else { - ["setHitPointDamage", _target, ["HitEngine", _target getVariable [QGVAR(engineHit), 0]]] call EFUNC(common,targetEvent); -}; +["setHitPointDamage", _target, ["HitEngine", _target getVariable [QGVAR(engineHit), 0]]] call EFUNC(common,objectEvent); + _target setVariable [QGVAR(engineHit), nil, true]; _target setVariable [QGVAR(isConnected), false, true]; @@ -38,11 +35,7 @@ if !(isNil "_nozzle") then { }; { - if (local _x) then { - [_x, _nozzle] call FUNC(resetLocal); - } else { - [QGVAR(resetLocal), _x, [_x, _nozzle]] call EFUNC(common,targetEvent); - }; + [QGVAR(resetLocal), _x, [_x, _nozzle]] call EFUNC(common,objectEvent); } count allPlayers; deleteVehicle _nozzle; }; diff --git a/addons/refuel/functions/fnc_returnNozzle.sqf b/addons/refuel/functions/fnc_returnNozzle.sqf index 179785f863..af3e8c6d4e 100644 --- a/addons/refuel/functions/fnc_returnNozzle.sqf +++ b/addons/refuel/functions/fnc_returnNozzle.sqf @@ -48,11 +48,7 @@ if (isNull _nozzle || {_source != _target}) exitWith {false}; }; deleteVehicle _nozzle; - if !(local _target) then { - ["setHitPointDamage", _target, ["HitEngine", _target getVariable [QGVAR(engineHit), 0]]] call EFUNC(common,targetEvent); - } else { - _target setHitPointDamage ["HitEngine", _target getVariable [QGVAR(engineHit), 0]]; - }; + ["setHitPointDamage", _target, ["HitEngine", _target getVariable [QGVAR(engineHit), 0]]] call EFUNC(common,objectEvent); _target setVariable [QGVAR(engineHit), nil, true]; }, "", diff --git a/addons/refuel/functions/fnc_takeNozzle.sqf b/addons/refuel/functions/fnc_takeNozzle.sqf index 08f9e152c0..d862aa16b5 100644 --- a/addons/refuel/functions/fnc_takeNozzle.sqf +++ b/addons/refuel/functions/fnc_takeNozzle.sqf @@ -27,11 +27,7 @@ REFUEL_HOLSTER_WEAPON private _endPosOffset = [0, 0, 0]; if (isNull _nozzle) then { // func is called on fuel truck _target setVariable [QGVAR(engineHit), _target getHitPointDamage "HitEngine", true]; - if !(local _target) then { - ["setHitPointDamage", _target, ["HitEngine", 1]] call EFUNC(common,targetEvent); - } else { - _target setHitPointDamage ["HitEngine", 1]; - }; + ["setHitPointDamage", _target, ["HitEngine", 1]] call EFUNC(common,objectEvent); _target setVariable [QGVAR(isConnected), true, true]; _endPosOffset = getArray (configFile >> "CfgVehicles" >> typeOf _target >> QGVAR(hooks)); From b8a4349c10142a6c04bab723758817b4640093db Mon Sep 17 00:00:00 2001 From: BaerMitUmlaut Date: Sat, 5 Mar 2016 20:25:35 +0100 Subject: [PATCH 23/90] Added deployment API and waypoint --- addons/fastroping/CfgWaypoints.hpp | 11 ++ addons/fastroping/UI/Icon_Waypoint.paa | Bin 0 -> 5625 bytes addons/fastroping/XEH_preInit.sqf | 1 + addons/fastroping/config.cpp | 1 + addons/fastroping/functions/fnc_deployAI.sqf | 95 ++++++++++++++++++ .../functions/fnc_deployAIWaypoint.sqf | 42 ++++++++ addons/fastroping/stringtable.xml | 4 + 7 files changed, 154 insertions(+) create mode 100644 addons/fastroping/CfgWaypoints.hpp create mode 100644 addons/fastroping/UI/Icon_Waypoint.paa create mode 100644 addons/fastroping/functions/fnc_deployAI.sqf create mode 100644 addons/fastroping/functions/fnc_deployAIWaypoint.sqf diff --git a/addons/fastroping/CfgWaypoints.hpp b/addons/fastroping/CfgWaypoints.hpp new file mode 100644 index 0000000000..4c4da2a7cb --- /dev/null +++ b/addons/fastroping/CfgWaypoints.hpp @@ -0,0 +1,11 @@ +class CfgWaypoints { + class ACE { + displayName = "ACE"; + class Fastrope { + displayName = CSTRING(Waypoint_Fastrope); + displayNameDebug = "Fastrope"; + file = QUOTE(PATHTOF(functions\fnc_deployAIWaypoint.sqf)); + icon = QUOTE(PATHTOF(UI\Icon_Waypoint.paa)); + }; + }; +}; diff --git a/addons/fastroping/UI/Icon_Waypoint.paa b/addons/fastroping/UI/Icon_Waypoint.paa new file mode 100644 index 0000000000000000000000000000000000000000..4f7d9086aea0e9e86ad854091a1257e9b6c50653 GIT binary patch literal 5625 zcmeHL4Nz3q6+Um-2dIM}vckq}L4_hl3Q6i#$7Fbfh`dY*i|(UN`UguBMfropiKwtdvbsIz-o5;+^(Qm6 z%}je|7x>;e_x#>-&V9(HmfC7LL{=fdWBQS&9Pquo!0Gg)3Op{*Z(nIbO_^yQv z-z)Gv4-o$45`oiJPo+Qh)KvPG-3k|7FO$&AxKK83>lNKvqP1GCtacipFz zLx1FuVUrgIHmP-ciK-Ao6n^C}7H>_n+v(ArTqaO!V$~X-K20{oV6gNCfx$GFa7YZ< zNA+Uq(~IW*;1KghlL3}q(?bf>RgW?{8XA4+;~ozlDdDfzj1Oz7wg?>MC4F^xo_Rcw zZbbT7fxp(=+_2I6Hmf&sKH8-x_GLZCxHSc!f$YsPaID#Z+Zz%q?Bo6z1h%1wn=bP} zdj7C={XMi_l4N-lYK$4V^W(X7He2LzwdO217H|x5{t4&sdnq0a0E$%SP#2M4nP>JW#^yM_ICYAi>k|jO8SkZ@absz3$@6=_PT*FUyhyZL@4(OlJAF z+41~6-9B?j3B~*nU6!>UIz7j|-2Z=NzrR00wR-+?Jzyd2H<@HG{*L({%aAC*|t9Vn4KPGrSDJxy(L{uetZ7t^G;$EIu~d_3`z$PjRPj z_(RURXK25K%dE6mL_b3J?e*_ii!W>{`MaP$a)sH?;zQ{R|C3&nzve}L9$|8FNhYnu+AX*gZ*0PSb~Lk89-&xaiw zP`Ece|C{&`bZ?6-nDh$$+=@GgU%QqxhQUu6*Js&gSco5i&AeWW%zsTYt!-M?-Q%fe z^?5t~E3Ut7h)s8}^T+ewY;oZcAbFI3<*iM{qweA}+<#eq>R4HhYd@!h&1U=c8*B1K z{Zoewy-+lB$XbFqrzlA>|9#{5yf)%=^M1lPgWi}rPoHd>G*81!rq!ccj~@4Qw{vbq z!Tjef$0I~@=N+Fq+;v#-C& z*pL<-Ewl8WFDxWF)|X^Vp!s0wBaH3JmbG&tUR1C2oR-L!KVH{3(N6#k4&d{Mn<5hT;naM_eKZxH zq0mg?kA@`|;{{eUEjH=q^Tj;qE*{Qt@cvExtF0{4)tbo8FYDj_4)|eT{jl?o>DAnj zmX`cZaTmqodhh)-4LC0?bXF74@He@)oz3PQcAq48#E5IK@IR-kRvye+maT=tZD9 zSefD()v7_g&916|XJ33Iv|f zt%tZ~53p+l-pXOdlBx2zzKLsIAGXo$>h8NqAGTe&51@H_ru$)*Mq@+-Y^)rTqKDXP zvVv_q@H_g31NsJb4aY7mhxX!(ZsB7G$qIDSHE{aNv|mDoMZ*QNpWpctGm{5lVSSL% z5&K9v8*A7WZAYMM%C$1^gVulr$p$9hhzrg}{`lS=?j8Np=!ucsDc87KZ$dS{rgIIc zN1Cr}BX-nJ{DIDWBT<1oRlI5 zUYKRxFEjb5J|gC1nWe8KlgUT*_P}gCf3u#)FosKW0S2e^KBkZCi-3eW@fspw8{GlX zCrdP_UBH?zNX zJfGuZThKA2Y{lSD;WItB5l%Z~E!d^6XZfUS2=UU2!7uF(qbx~~$&Ptw2AN5-Vh`cB zzdu*t*~{@5*OyuaX8cZiyXE`=l~~444E~&9oW9Tt_giJVLRf~dh^+S;8y;P-@g=q zHf%))D)R8HgLM}O?A9MtXDw!zE=pC@Usio1;a7R=r4nKG-6t+YWHcAP$Bl#)M(n5< S&sT!H-eZAdXN9%MitC?n9qNey literal 0 HcmV?d00001 diff --git a/addons/fastroping/XEH_preInit.sqf b/addons/fastroping/XEH_preInit.sqf index 83bb997eac..33f7b7b44e 100644 --- a/addons/fastroping/XEH_preInit.sqf +++ b/addons/fastroping/XEH_preInit.sqf @@ -8,6 +8,7 @@ PREP(canFastRope); PREP(canPrepareFRIES); PREP(checkVehicleThread); PREP(cutRopes); +PREP(deployAI); PREP(deployRopes); PREP(equipFRIES); PREP(fastRope); diff --git a/addons/fastroping/config.cpp b/addons/fastroping/config.cpp index 25ec1876fa..a74abeb3b8 100644 --- a/addons/fastroping/config.cpp +++ b/addons/fastroping/config.cpp @@ -15,3 +15,4 @@ class CfgPatches { #include "CfgEventHandlers.hpp" #include "CfgMoves.hpp" #include "CfgVehicles.hpp" +#include "CfgWaypoints.hpp" diff --git a/addons/fastroping/functions/fnc_deployAI.sqf b/addons/fastroping/functions/fnc_deployAI.sqf new file mode 100644 index 0000000000..6d77259fa6 --- /dev/null +++ b/addons/fastroping/functions/fnc_deployAI.sqf @@ -0,0 +1,95 @@ +/* + * Author: BaerMitUmlaut + * Auomatically deploy a helicopter filled with AI units. + * + * Arguments: + * 0: The helicopter + * 1: Deploy special roles (gunners, copilot) (default: false) + * 2: Create deployment group (default: true) + * + * Return Value: + * None + * + * Example: + * [_vehicle] call ace_fastroping_fnc_deployAI + * + * Public: Yes + */ + +#include "script_component.hpp" +params [["_vehicle", objNull, [objNull]], ["_deploySpecial", false, [true]], ["_createDeploymentGroup", true, [true]]]; +private ["_config", "_configEnabled", "_deployTime", "_unitsToDeploy", "_deployGroup"]; + +if (isNull _vehicle || {!(_vehicle isKindOf "Helicopter")}) exitWith { + if (hasInterface) then { + ["deployAI was called with an invalid or non-existant vehicle.", QFUNC(deployAI)] spawn BIS_fnc_guiMessage; + }; + ACE_LOGERROR('FUNC(deployAI): deployAI was called with an invalid or non-existant vehicle.'); +}; + +_config = configFile >> "CfgVehicles" >> typeOf _vehicle; +_configEnabled = getNumber (_config >> QGVAR(enabled)); +if (_configEnabled == 0) exitWith { + if (hasInterface) then { + [format ["You cannot fast rope from a ""%1"" helicopter.", getText (_config >> "DisplayName")], QFUNC(deployAI)] spawn BIS_fnc_guiMessage; + }; + ACE_LOGERROR_1('FUNC(deployAI): You cannot fast rope from a "%1" helicopter.',getText (_config >> "DisplayName")); +}; + +if (_configEnabled == 2 && {isNull (_vehicle getVariable [QGVAR(FRIES), objNull])}) exitWith { + if (hasInterface) then { + [format ["""%1"" requires a FRIES for fastroping, but has not been equipped with one.", getText (_config >> "DisplayName")], QFUNC(deployAI)] spawn BIS_fnc_guiMessage; + }; + ACE_LOGERROR_1('FUNC(deployAI): "%1" requires a FRIES for fastroping but has not been equipped with one.',getText (_config >> "DisplayName")); +}; + +_unitsToDeploy = crew _vehicle; +if (_deploySpecial) then { + _unitsToDeploy deleteAt (_unitsToDeploy find driver _vehicle); +} else { + _unitsToDeploy = _unitsToDeploy select {(assignedVehicleRole _x) select 0 == "cargo"}; +}; + +if (_unitsToDeploy isEqualTo []) exitWith { + ACE_LOGWARNING_1('FUNC(deployAI): Found no units to deploy in "%1".',getText (_config >> "DisplayName")); +}; + +if (_createDeploymentGroup) then { + _deployGroup = createGroup side (_unitsToDeploy select 0); + _unitsToDeploy joinSilent _deployGroup; +}; + +_deployTime = 0; +if (getText (_config >> QGVAR(onPrepare)) != "") then { + _deployTime = [_vehicle] call (missionNamespace getVariable (getText (_config >> QGVAR(onPrepare)))); +}; +[{[_this] call FUNC(deployRopes)}, _vehicle, _deployTime] call EFUNC(common,waitAndExecute); +driver _vehicle disableAI "MOVE"; + +DFUNC(deployAIRecursive) = { + params ["_vehicle", "_unitsToDeploy"]; + + private _unit = _unitsToDeploy deleteAt 0; + unassignVehicle _unit; + [_unit, _vehicle] call FUNC(fastRope); + + if !(_unitsToDeploy isEqualTo []) then { + [{ + [{ + params ["_vehicle"]; + private _deployedRopes = _vehicle getVariable [QGVAR(deployedRopes), []]; + ({!(_x select 5)} count (_deployedRopes)) > 0 + }, FUNC(deployAIRecursive), _this] call EFUNC(common,waitUntilAndExecute); + }, [_vehicle, _unitsToDeploy], 1] call EFUNC(common,waitAndExecute); + } else { + [{ + private _deployedRopes = _this getVariable [QGVAR(deployedRopes), []]; + ({_x select 5} count (_deployedRopes)) == 0 + }, { + [_this] call FUNC(cutRopes); + driver _this enableAI "MOVE"; + }, _vehicle] call EFUNC(common,waitUntilAndExecute); + }; +}; + +[FUNC(deployAIRecursive), [_vehicle, _unitsToDeploy], _deployTime + 4] call EFUNC(common,waitAndExecute); diff --git a/addons/fastroping/functions/fnc_deployAIWaypoint.sqf b/addons/fastroping/functions/fnc_deployAIWaypoint.sqf new file mode 100644 index 0000000000..9d8f4a03e2 --- /dev/null +++ b/addons/fastroping/functions/fnc_deployAIWaypoint.sqf @@ -0,0 +1,42 @@ +/* + * Author: BaerMitUmlaut + * Waypoint function for the fast rope waypoint. + * + * Arguments: + * 0: Group + * 1: Waypoint position + * + * Return Value: + * true + * + * Example: + * [_group, [6560, 12390, 0]] call ace_fastroping_fnc_deployAIWayoint + * + * Public: No + */ + +#include "script_component.hpp" +params [["_group", grpNull, [grpNull]], ["_position", [0, 0, 0], [[]], 3]]; +private ["_vehicle", "_commander", "_speedMode"]; + +_vehicle = vehicle leader _group; +_commander = effectiveCommander _vehicle; +_speedMode = speedMode _group; + +// - Approach ----------------------------------------------------------------- +if (_vehicle distance2D _position > 50) then { + _group setSpeedMode "LIMITED"; + _vehicle flyInHeight 20; + _commander doMove _position; + waitUntil {_vehicle distance2D _position < 50}; + waitUntil {vectorMagnitude (velocity _vehicle) < 3}; + //doStop _commander; +}; + +// - Deployment --------------------------------------------------------------- +[_vehicle] call FUNC(deployAI); +waitUntil {!((_vehicle getVariable [QGVAR(deployedRopes), []]) isEqualTo [])}; +waitUntil {(_vehicle getVariable [QGVAR(deployedRopes), []]) isEqualTo []}; +_group setSpeedMode _speedMode; + +true diff --git a/addons/fastroping/stringtable.xml b/addons/fastroping/stringtable.xml index 5394cf9b63..f6c0f34826 100644 --- a/addons/fastroping/stringtable.xml +++ b/addons/fastroping/stringtable.xml @@ -57,5 +57,9 @@ Equipe l'hélicoptère sélectionné avec un Fast Rope Insertion Extraction System Equipa el helicoptero seleccionado con un Sistema de Inserción Extracción Fast Rope + + LET UNITS FAST ROPE + EINHEITEN ABSEILEN LASSEN + From 21d546ac1c8d50a6aba2d9abb281132a9296e8b0 Mon Sep 17 00:00:00 2001 From: BaerMitUmlaut Date: Sat, 5 Mar 2016 21:22:45 +0100 Subject: [PATCH 24/90] Added note concerning BIS_fnc_guiMessage --- addons/fastroping/functions/fnc_deployAI.sqf | 1 + 1 file changed, 1 insertion(+) diff --git a/addons/fastroping/functions/fnc_deployAI.sqf b/addons/fastroping/functions/fnc_deployAI.sqf index 6d77259fa6..dd4bfe4e71 100644 --- a/addons/fastroping/functions/fnc_deployAI.sqf +++ b/addons/fastroping/functions/fnc_deployAI.sqf @@ -22,6 +22,7 @@ private ["_config", "_configEnabled", "_deployTime", "_unitsToDeploy", "_deployG if (isNull _vehicle || {!(_vehicle isKindOf "Helicopter")}) exitWith { if (hasInterface) then { + // Note: BIS_fnc_guiMessage causes a CTD with call, so spawn is used instead. ["deployAI was called with an invalid or non-existant vehicle.", QFUNC(deployAI)] spawn BIS_fnc_guiMessage; }; ACE_LOGERROR('FUNC(deployAI): deployAI was called with an invalid or non-existant vehicle.'); From 8039332743d766efe3541581b103e01d9c85c163 Mon Sep 17 00:00:00 2001 From: BaerMitUmlaut Date: Sat, 5 Mar 2016 23:19:53 +0100 Subject: [PATCH 25/90] Switched to preStart + XEH_PREP --- addons/fastroping/CfgEventHandlers.hpp | 6 ++++++ addons/fastroping/XEH_PREP.hpp | 16 ++++++++++++++++ addons/fastroping/XEH_preInit.sqf | 17 +---------------- addons/fastroping/XEH_preStart.sqf | 3 +++ 4 files changed, 26 insertions(+), 16 deletions(-) create mode 100644 addons/fastroping/XEH_PREP.hpp create mode 100644 addons/fastroping/XEH_preStart.sqf diff --git a/addons/fastroping/CfgEventHandlers.hpp b/addons/fastroping/CfgEventHandlers.hpp index e75956f440..0d3301d6e0 100644 --- a/addons/fastroping/CfgEventHandlers.hpp +++ b/addons/fastroping/CfgEventHandlers.hpp @@ -1,3 +1,9 @@ +class Extended_PreStart_EventHandlers { + class ADDON { + init = QUOTE(call COMPILE_FILE(XEH_preStart)); + }; +}; + class Extended_PreInit_EventHandlers { class ADDON { init = QUOTE(call COMPILE_FILE(XEH_preInit)); diff --git a/addons/fastroping/XEH_PREP.hpp b/addons/fastroping/XEH_PREP.hpp new file mode 100644 index 0000000000..266005f1ee --- /dev/null +++ b/addons/fastroping/XEH_PREP.hpp @@ -0,0 +1,16 @@ +PREP(canCutRopes); +PREP(canDeployRopes); +PREP(canFastRope); +PREP(canPrepareFRIES); +PREP(checkVehicleThread); +PREP(cutRopes); +PREP(deployRopes); +PREP(equipFRIES); +PREP(fastRope); +PREP(fastRopeLocalPFH); +PREP(fastRopeServerPFH); +PREP(moduleEquipFRIES); +PREP(onCutCommon); +PREP(onPrepareCommon); +PREP(onRopeBreak); +PREP(prepareFRIES); diff --git a/addons/fastroping/XEH_preInit.sqf b/addons/fastroping/XEH_preInit.sqf index 83bb997eac..a7feade1c3 100644 --- a/addons/fastroping/XEH_preInit.sqf +++ b/addons/fastroping/XEH_preInit.sqf @@ -2,21 +2,6 @@ ADDON = false; -PREP(canCutRopes); -PREP(canDeployRopes); -PREP(canFastRope); -PREP(canPrepareFRIES); -PREP(checkVehicleThread); -PREP(cutRopes); -PREP(deployRopes); -PREP(equipFRIES); -PREP(fastRope); -PREP(fastRopeLocalPFH); -PREP(fastRopeServerPFH); -PREP(moduleEquipFRIES); -PREP(onCutCommon); -PREP(onPrepareCommon); -PREP(onRopeBreak); -PREP(prepareFRIES); +#include "XEH_PREP.hpp" ADDON = true; diff --git a/addons/fastroping/XEH_preStart.sqf b/addons/fastroping/XEH_preStart.sqf new file mode 100644 index 0000000000..022888575e --- /dev/null +++ b/addons/fastroping/XEH_preStart.sqf @@ -0,0 +1,3 @@ +#include "script_component.hpp" + +#include "XEH_PREP.hpp" From b20e433f43375563c1c791e80af77e8938950e11 Mon Sep 17 00:00:00 2001 From: BaerMitUmlaut Date: Sat, 5 Mar 2016 23:20:44 +0100 Subject: [PATCH 26/90] Fixed bug with fastroping simultaneously --- addons/fastroping/functions/fnc_fastRope.sqf | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/addons/fastroping/functions/fnc_fastRope.sqf b/addons/fastroping/functions/fnc_fastRope.sqf index 9d91697d22..bf2730efc7 100644 --- a/addons/fastroping/functions/fnc_fastRope.sqf +++ b/addons/fastroping/functions/fnc_fastRope.sqf @@ -24,7 +24,7 @@ _deployedRopes = _vehicle getVariable [QGVAR(deployedRopes), []]; _usableRope = _deployedRopes select 0; _usableRopeIndex = 0; { - if !(_x select 6) exitWith { + if !(_x select 5) exitWith { _usableRope = _x; _usableRopeIndex = _forEachIndex; }; From 8e895e8cffbe15d827c575725f19506a9d739d28 Mon Sep 17 00:00:00 2001 From: BaerMitUmlaut Date: Sat, 5 Mar 2016 23:21:10 +0100 Subject: [PATCH 27/90] Added gantry hiding animation --- addons/fastroping/CfgVehicles.hpp | 12 +++++++++++- addons/fastroping/data/model.cfg | 18 ++++++++++++++++++ 2 files changed, 29 insertions(+), 1 deletion(-) diff --git a/addons/fastroping/CfgVehicles.hpp b/addons/fastroping/CfgVehicles.hpp index 3468a0ecb9..9aba9e2a85 100644 --- a/addons/fastroping/CfgVehicles.hpp +++ b/addons/fastroping/CfgVehicles.hpp @@ -110,10 +110,20 @@ class CfgVehicles { initPhase = 0; animPeriod = 0; }; + class hideGantryLeft { + source = "user"; + initPhase = 0; + animPeriod = 0; + }; + class hideGantryRight { + source = "user"; + initPhase = 0; + animPeriod = 0; + }; }; }; class ACE_friesGantryReverse: ACE_friesGantry { - class AnimationSources { + class AnimationSources: AnimationSources { class adjustWidth { source = "user"; initPhase = 0.213; diff --git a/addons/fastroping/data/model.cfg b/addons/fastroping/data/model.cfg index de8c55b45d..3291e7a509 100644 --- a/addons/fastroping/data/model.cfg +++ b/addons/fastroping/data/model.cfg @@ -90,6 +90,24 @@ class CfgModels { angle0 = "rad 0"; angle1 = "rad 360"; }; + class hideGantryLeft { + type = "hide"; + source = ""; + selection = "gantryLeft"; + animPeriod = 0; + minValue = 0; + maxValue = 1; + hideValue = 0.99999; + }; + class hideGantryRight { + type = "hide"; + source = ""; + selection = "gantryRight"; + animPeriod = 0; + minValue = 0; + maxValue = 1; + hideValue = 0.99999; + }; }; }; }; From ae3a41e6d8fff04684b88f1930a57d7ffd8f31a9 Mon Sep 17 00:00:00 2001 From: jonpas Date: Sun, 6 Mar 2016 02:38:05 +0100 Subject: [PATCH 28/90] Move common event handlers closer to their counterparts --- addons/common/XEH_postInit.sqf | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) diff --git a/addons/common/XEH_postInit.sqf b/addons/common/XEH_postInit.sqf index f188025d7b..6ea32c3534 100644 --- a/addons/common/XEH_postInit.sqf +++ b/addons/common/XEH_postInit.sqf @@ -152,15 +152,14 @@ if (isServer) then { ["playMove", {(_this select 0) playMove (_this select 1)}] call FUNC(addEventHandler); ["playMoveNow", {(_this select 0) playMoveNow (_this select 1)}] call FUNC(addEventHandler); ["switchMove", {(_this select 0) switchMove (_this select 1)}] call FUNC(addEventHandler); +["setVectorDirAndUp", {(_this select 0) setVectorDirAndUp (_this select 1)}] call FUNC(addEventHandler); +["setHitPointDamage", {(_this select 0) setHitPointDamage (_this select 1)}] call FUNC(addEventHandler); if (isServer) then { ["hideObjectGlobal", {(_this select 0) hideObjectGlobal (_this select 1)}] call FUNC(addEventHandler); ["enableSimulationGlobal", {(_this select 0) enableSimulationGlobal (_this select 1)}] call FUNC(addEventHandler); }; -["setVectorDirAndUp", {(_this select 0) setVectorDirAndUp (_this select 1)}] call FUNC(addEventHandler); -["setHitPointDamage", {(_this select 0) setHitPointDamage (_this select 1)}] call FUNC(addEventHandler); - ////////////////////////////////////////////////// // Set up remote execution From 6a58af5b33b86cde97480b20b49fa7520db5a0de Mon Sep 17 00:00:00 2001 From: commy2 Date: Sun, 6 Mar 2016 06:22:38 +0100 Subject: [PATCH 29/90] fix save game crash?, ref #3397 --- addons/interact_menu/XEH_preInit.sqf | 3 +++ .../functions/fnc_addActionToClass.sqf | 9 +++++---- .../interact_menu/functions/fnc_addMainAction.sqf | 8 ++++++-- addons/interact_menu/functions/fnc_compileMenu.sqf | 6 +++--- .../functions/fnc_compileMenuSelfAction.sqf | 6 +++--- .../functions/fnc_removeActionFromClass.sqf | 14 ++++++++------ .../functions/fnc_renderActionPoints.sqf | 9 +++++---- 7 files changed, 33 insertions(+), 22 deletions(-) diff --git a/addons/interact_menu/XEH_preInit.sqf b/addons/interact_menu/XEH_preInit.sqf index ac3ee9b0f5..791402cd01 100644 --- a/addons/interact_menu/XEH_preInit.sqf +++ b/addons/interact_menu/XEH_preInit.sqf @@ -4,6 +4,9 @@ ADDON = false; #include "XEH_PREP.hpp" +GVAR(ActNamespace) = [] call CBA_fnc_createNamespace; +GVAR(ActSelfNamespace) = [] call CBA_fnc_createNamespace; + // Event handlers for all interact menu controls DFUNC(handleMouseMovement) = { if (GVAR(cursorKeepCentered)) then { diff --git a/addons/interact_menu/functions/fnc_addActionToClass.sqf b/addons/interact_menu/functions/fnc_addActionToClass.sqf index 68efce4f2c..56ae64e5f9 100644 --- a/addons/interact_menu/functions/fnc_addActionToClass.sqf +++ b/addons/interact_menu/functions/fnc_addActionToClass.sqf @@ -30,10 +30,11 @@ if (_typeNum == 0) then { [_objectType] call FUNC(compileMenuSelfAction); }; -private _varName = format [[QGVAR(Act_%1), QGVAR(SelfAct_%1)] select _typeNum, _objectType]; -private _actionTrees = missionNamespace getVariable [_varName, []]; -if((count _actionTrees) == 0) then { - missionNamespace setVariable [_varName, _actionTrees]; +private _namespace = [GVAR(ActNamespace), GVAR(ActSelfNamespace)] select _typeNum; +private _actionTrees = _namespace getVariable _objectType; +if (isNil "_actionTrees") then { + _actionTrees = []; + _namespace setVariable [_objectType, _actionTrees]; }; if (_parentPath isEqualTo ["ACE_MainActions"]) then { diff --git a/addons/interact_menu/functions/fnc_addMainAction.sqf b/addons/interact_menu/functions/fnc_addMainAction.sqf index 161e12d6de..4370f4d2ee 100644 --- a/addons/interact_menu/functions/fnc_addMainAction.sqf +++ b/addons/interact_menu/functions/fnc_addMainAction.sqf @@ -18,8 +18,12 @@ params ["_objectType", "_typeNum"]; -private _varName = format [[QGVAR(Act_%1), QGVAR(SelfAct_%1)] select _typeNum, _objectType]; -private _actionTrees = missionNamespace getVariable [_varName, []]; +private _namespace = [GVAR(ActNamespace), GVAR(ActSelfNamespace)] select _typeNum; +private _actionTrees = _namespace getVariable _objectType; +if (isNil "_actionTrees") then { + _actionTrees = []; +}; + private _parentNode = [_actionTrees, ["ACE_MainActions"]] call FUNC(findActionNode); if (isNil {_parentNode}) then { diff --git a/addons/interact_menu/functions/fnc_compileMenu.sqf b/addons/interact_menu/functions/fnc_compileMenu.sqf index 02941626d1..7f2ca38540 100644 --- a/addons/interact_menu/functions/fnc_compileMenu.sqf +++ b/addons/interact_menu/functions/fnc_compileMenu.sqf @@ -18,10 +18,10 @@ private _objectType = _target; if (_target isEqualType objNull) then { _objectType = typeOf _target; }; -private _actionsVarName = format [QGVAR(Act_%1), _objectType]; +private _namespace = GVAR(ActNamespace); // Exit if the action menu is already compiled for this class -if !(isNil {missionNamespace getVariable [_actionsVarName, nil]}) exitWith {}; +if !(isNil {_namespace getVariable _objectType}) exitWith {}; private _recurseFnc = { params ["_actionsCfg", "_parentDistance"]; @@ -104,7 +104,7 @@ private _actionsCfg = configFile >> "CfgVehicles" >> _objectType >> "ACE_Actions TRACE_1("Building ACE_Actions",_objectType); private _actions = [_actionsCfg, 0] call _recurseFnc; -missionNamespace setVariable [_actionsVarName, _actions]; +_namespace setVariable [_objectType, _actions]; /* [ diff --git a/addons/interact_menu/functions/fnc_compileMenuSelfAction.sqf b/addons/interact_menu/functions/fnc_compileMenuSelfAction.sqf index de1364ee84..eb9727a072 100644 --- a/addons/interact_menu/functions/fnc_compileMenuSelfAction.sqf +++ b/addons/interact_menu/functions/fnc_compileMenuSelfAction.sqf @@ -18,10 +18,10 @@ private _objectType = _target; if (_target isEqualType objNull) then { _objectType = typeOf _target; }; -private _actionsVarName = format [QGVAR(SelfAct_%1), _objectType]; +private _namespace = GVAR(ActSelfNamespace); // Exit if the action menu is already compiled for this class -if !(isNil {missionNamespace getVariable [_actionsVarName, nil]}) exitWith {}; +if !(isNil {_namespace getVariable _objectType}) exitWith {}; private _recurseFnc = { @@ -125,4 +125,4 @@ private _actions = [ ] ]; -missionNamespace setVariable [_actionsVarName, _actions]; +_namespace setVariable [_objectType, _actions]; diff --git a/addons/interact_menu/functions/fnc_removeActionFromClass.sqf b/addons/interact_menu/functions/fnc_removeActionFromClass.sqf index c95f53f152..a01078ad3b 100644 --- a/addons/interact_menu/functions/fnc_removeActionFromClass.sqf +++ b/addons/interact_menu/functions/fnc_removeActionFromClass.sqf @@ -19,18 +19,20 @@ params ["_objectType", "_typeNum", "_fullPath"]; -private ["_res","_varName","_actionTrees", "_parentNode", "_found"]; -_res = _fullPath call FUNC(splitPath); +private _res = _fullPath call FUNC(splitPath); _res params ["_parentPath", "_actionName"]; -_varName = format [[QGVAR(Act_%1), QGVAR(SelfAct_%1)] select _typeNum, _objectType]; -_actionTrees = missionNamespace getVariable [_varName, []]; +private _namespace = [GVAR(ActNamespace), GVAR(ActSelfNamespace)] select _typeNum; +private _actionTrees = _namespace getVariable _objectType; +if (isNil "_actionTrees") then { + _actionTrees = []; +}; -_parentNode = [_actionTrees, _parentPath] call FUNC(findActionNode); +private _parentNode = [_actionTrees, _parentPath] call FUNC(findActionNode); if (isNil {_parentNode}) exitWith {}; // Iterate through children of the father -_found = false; +private _found = false; { if (((_x select 0) select 0) == _actionName) exitWith { TRACE_2("Deleting Action", _forEachIndex, _x); diff --git a/addons/interact_menu/functions/fnc_renderActionPoints.sqf b/addons/interact_menu/functions/fnc_renderActionPoints.sqf index 1d42f38c6c..c99688564a 100644 --- a/addons/interact_menu/functions/fnc_renderActionPoints.sqf +++ b/addons/interact_menu/functions/fnc_renderActionPoints.sqf @@ -54,8 +54,9 @@ private _fnc_renderNearbyActions = { } count GVAR(objectActionList); // Iterate through base level class actions and render them if appropiate - private _actionsVarName = format [QGVAR(Act_%1), typeOf _target]; - private _classActions = missionNamespace getVariable [_actionsVarName, []]; + private _namespace = GVAR(ActNamespace); + private _classActions = _namespace getVariable typeOf _target; + { private _action = _x; // Try to render the menu @@ -95,8 +96,8 @@ private _fnc_renderSelfActions = { GVAR(objectActionList) = _target getVariable [QGVAR(selfActions), []]; // Iterate through base level class actions and render them if appropiate - private _actionsVarName = format [QGVAR(SelfAct_%1), typeOf _target]; - private _classActions = missionNamespace getVariable [_actionsVarName, []]; + private _namespace = GVAR(ActSelfNamespace); + private _classActions = _namespace getVariable typeOf _target; private _pos = if !(GVAR(useCursorMenu)) then { //Convert to ASL, add offset and then convert back to AGL (handles waves when over water) From f43b287093e6b224e8f5e58a5152740b64d2ec64 Mon Sep 17 00:00:00 2001 From: commy2 Date: Sun, 6 Mar 2016 06:53:59 +0100 Subject: [PATCH 30/90] use namespace for cargo filters, fixes problem with save games --- addons/inventory/XEH_postInit.sqf | 42 ++++++++++++++++++ addons/inventory/XEH_preInit.sqf | 43 ------------------- .../functions/fnc_forceItemListUpdate.sqf | 7 +-- 3 files changed, 44 insertions(+), 48 deletions(-) diff --git a/addons/inventory/XEH_postInit.sqf b/addons/inventory/XEH_postInit.sqf index bf7adec77a..c6ddaf4700 100644 --- a/addons/inventory/XEH_postInit.sqf +++ b/addons/inventory/XEH_postInit.sqf @@ -2,6 +2,48 @@ if (!hasInterface) exitWith {}; +// cache config +// items in the inventory display can only be distinguished by their lb names and pictures +// this can cause collisions (mainly weapons with attachments), +// but if the item has the same name and picture it at least shouldn't change the filter anyway +// luckily we don't need private items, so dummy and parent classes are out of the picture + +GVAR(ItemKeyNamespace) = [] call CBA_fnc_createNamespace; + +private _fnc_addToCache = { + private _displayName = getText (_this >> "displayName"); + private _picture = getText (_this >> "picture"); + + // list box seems to delete the leading backslash + if (_picture select [0,1] == "\") then { + _picture = _picture select [1]; + }; + + GVAR(ItemKeyNamespace) setVariable [format ["%1:%2", _displayName, _picture], _this]; +}; + +// weapons and items +{ + if (getNumber (_x >> "scope") > 0) then {_x call _fnc_addToCache}; + false +} count ( + ("true" configClasses (configFile >> "CfgWeapons")) + + ("true" configClasses (configFile >> "CfgGlasses")) +); + +// magazines +{ + if (getNumber (_x >> "scope") == 2) then {_x call _fnc_addToCache}; + false +} count ("true" configClasses (configFile >> "CfgMagazines")); + +// backpacks +{ + if (getNumber (_x >> "scope") > 0 && {getNumber (_x >> "isBackpack") == 1}) then {_x call _fnc_addToCache}; + false +} count ("true" configClasses (configFile >> "CfgVehicles")); + + GVAR(customFilters) = []; GVAR(selectedFilterIndex) = -1; diff --git a/addons/inventory/XEH_preInit.sqf b/addons/inventory/XEH_preInit.sqf index 535b9be656..a7feade1c3 100644 --- a/addons/inventory/XEH_preInit.sqf +++ b/addons/inventory/XEH_preInit.sqf @@ -4,47 +4,4 @@ ADDON = false; #include "XEH_PREP.hpp" -// cache config -// items in the inventory display can only be distinguished by their lb names and pictures -// this can cause collisions (mainly weapons with attachments), -// but if the item has the same name and picture it at least shouldn't change the filter anyway -// luckily we don't need private items, so dummy and parent classes are out of the picture - -if !(uiNamespace getVariable [QGVAR(configCached), false]) then { - private _fnc_addToCache = { - private _displayName = getText (_this >> "displayName"); - private _picture = getText (_this >> "picture"); - - // list box seems to delete the leading backslash - if (_picture select [0,1] == "\") then { - _picture = _picture select [1]; - }; - - uiNamespace setVariable [format [QGVAR(ItemKey:%1:%2), _displayName, _picture], _this]; - }; - - // weapons and items - { - if (getNumber (_x >> "scope") > 0) then {_x call _fnc_addToCache}; - false - } count ( - ("true" configClasses (configFile >> "CfgWeapons")) + - ("true" configClasses (configFile >> "CfgGlasses")) - ); - - // magazines - { - if (getNumber (_x >> "scope") == 2) then {_x call _fnc_addToCache}; - false - } count ("true" configClasses (configFile >> "CfgMagazines")); - - // backpacks - { - if (getNumber (_x >> "scope") > 0 && {getNumber (_x >> "isBackpack") == 1}) then {_x call _fnc_addToCache}; - false - } count ("true" configClasses (configFile >> "CfgVehicles")); - - uiNamespace setVariable [QGVAR(configCached), true]; -}; - ADDON = true; diff --git a/addons/inventory/functions/fnc_forceItemListUpdate.sqf b/addons/inventory/functions/fnc_forceItemListUpdate.sqf index 89142b99ff..e5358212bb 100644 --- a/addons/inventory/functions/fnc_forceItemListUpdate.sqf +++ b/addons/inventory/functions/fnc_forceItemListUpdate.sqf @@ -23,12 +23,9 @@ if (_filterFunction isEqualType {}) then { private _i = 0; while {_i < lbSize _itemList} do { - private _config = uiNamespace getVariable [ - format [QGVAR(ItemKey:%1:%2), _itemList lbText _i, _itemList lbPicture _i], - configNull - ]; + private _config = GVAR(ItemKeyNamespace) getVariable format ["%1:%2", _itemList lbText _i, _itemList lbPicture _i]; - if (!isNull _config && {!(_config call _filterFunction)}) then { + if (!isNil "_config" && {!(_config call _filterFunction)}) then { _itemList lbDelete _i; // in case the filter function returns nil. Otherwise could lock up the game. From 8603f2062af671cea9e5dfaa468a104defdd22a8 Mon Sep 17 00:00:00 2001 From: commy2 Date: Sun, 6 Mar 2016 07:14:43 +0100 Subject: [PATCH 31/90] simplify --- addons/inventory/XEH_postInit.sqf | 25 ++++++------------------- 1 file changed, 6 insertions(+), 19 deletions(-) diff --git a/addons/inventory/XEH_postInit.sqf b/addons/inventory/XEH_postInit.sqf index c6ddaf4700..7135383734 100644 --- a/addons/inventory/XEH_postInit.sqf +++ b/addons/inventory/XEH_postInit.sqf @@ -22,27 +22,14 @@ private _fnc_addToCache = { GVAR(ItemKeyNamespace) setVariable [format ["%1:%2", _displayName, _picture], _this]; }; -// weapons and items -{ - if (getNumber (_x >> "scope") > 0) then {_x call _fnc_addToCache}; - false -} count ( - ("true" configClasses (configFile >> "CfgWeapons")) + - ("true" configClasses (configFile >> "CfgGlasses")) -); +private _allItems = []; -// magazines -{ - if (getNumber (_x >> "scope") == 2) then {_x call _fnc_addToCache}; - false -} count ("true" configClasses (configFile >> "CfgMagazines")); - -// backpacks -{ - if (getNumber (_x >> "scope") > 0 && {getNumber (_x >> "isBackpack") == 1}) then {_x call _fnc_addToCache}; - false -} count ("true" configClasses (configFile >> "CfgVehicles")); +_allItems append ("getNumber (_x >> 'scope') > 0" configClasses (configFile >> "CfgWeapons")); +_allItems append ("getNumber (_x >> 'scope') > 0" configClasses (configFile >> "CfgGlasses")); +_allItems append ("getNumber (_x >> 'scope') == 2" configClasses (configFile >> "CfgMagazines")); +_allItems append ("getNumber (_x >> 'scope') > 0 && {getNumber (_x >> 'isBackpack') == 1}" configClasses (configFile >> "CfgVehicles")); +{_x call _fnc_addToCache; false} count _allItems; GVAR(customFilters) = []; GVAR(selectedFilterIndex) = -1; From 8892aeed9dc484e3bccd9eb54243b00c3c90380d Mon Sep 17 00:00:00 2001 From: commy2 Date: Sun, 6 Mar 2016 07:55:34 +0100 Subject: [PATCH 32/90] missed one --- addons/interaction/functions/fnc_addPassengerActions.sqf | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/addons/interaction/functions/fnc_addPassengerActions.sqf b/addons/interaction/functions/fnc_addPassengerActions.sqf index 47a845601b..ca87542172 100644 --- a/addons/interaction/functions/fnc_addPassengerActions.sqf +++ b/addons/interaction/functions/fnc_addPassengerActions.sqf @@ -20,8 +20,11 @@ params ["", "", "_parameters"]; _parameters params ["_unit"]; -private _varName = format [QEGVAR(interact_menu,Act_%1), typeOf _unit]; -private _actionTrees = missionNamespace getVariable [_varName, []]; +private _namespace = EGVAR(interact_menu,ActNamespace); +private _actionTrees = _namespace getVariable typeOf _unit; +if (isNil "_actionTrees") then { + _actionTrees = []; +}; private _actions = []; From 79db282acab6bb3ced41e458e2bde61c0dff5114 Mon Sep 17 00:00:00 2001 From: commy2 Date: Sun, 6 Mar 2016 09:12:49 +0100 Subject: [PATCH 33/90] remove obsolete fix, fix #3545 --- addons/smallarms/CfgWeapons.hpp | 76 ++++++++++++++------------------- 1 file changed, 31 insertions(+), 45 deletions(-) diff --git a/addons/smallarms/CfgWeapons.hpp b/addons/smallarms/CfgWeapons.hpp index c0f4b4daef..75d8ee6538 100644 --- a/addons/smallarms/CfgWeapons.hpp +++ b/addons/smallarms/CfgWeapons.hpp @@ -58,18 +58,12 @@ class CfgWeapons { // Grenade launchers ///////////////////////////////////// // Updated strings are in weapon configs. class GrenadeLauncher; - class UGL_F : GrenadeLauncher {}; + class UGL_F: GrenadeLauncher {}; // MXs //////////////////////////////////////////////////// - class arifle_MX_Base_F : Rifle_Base_F { - //magazines[] = {"30Rnd_65x39_caseless_mag", "30Rnd_65x39_caseless_mag_Tracer", "100Rnd_65x39_caseless_mag", "100Rnd_65x39_caseless_mag_Tracer"}; - - // http://www.bushmaster.com/acr/#/intro - // 800 rpm (whatever, fictional lol) - - //class Single : Mode_SemiAuto {}; - class Single : Mode_SemiAuto { + class arifle_MX_Base_F: Rifle_Base_F { + class Single: Mode_SemiAuto { reloadTime = 0.075; }; @@ -78,20 +72,20 @@ class CfgWeapons { }; }; - class arifle_MX_SW_F : arifle_MX_Base_F { + class arifle_MX_SW_F: arifle_MX_Base_F { modes[] = {"Single", "manual", "close", "short", "medium", "far_optic1", "far_optic2"}; - //class Single : Single {}; - //class manual : FullAuto {}; + //class Single: Single {}; + //class manual: FullAuto {}; }; // Katibas //////////////////////////////////////////////////// - class arifle_katiba_Base_F : Rifle_Base_F { + class arifle_katiba_Base_F: Rifle_Base_F { // http://world.guns.ru/assault/iran/khaybar-kh2002-e.html // 800 rpm - class Single : Mode_SemiAuto { + class Single: Mode_SemiAuto { reloadTime = 0.075; }; @@ -102,16 +96,16 @@ class CfgWeapons { // SDAR ////////////////////////////////////////////////// - class SDAR_base_F : Rifle_Base_F { + class SDAR_base_F: Rifle_Base_F { modes[] = {"Single", "FullAuto"}; // Leave in the imaginary full-auto mode because, whatever. }; // Tavor TRG //////////////////////////////////////////////// - class Tavor_base_F : Rifle_Base_F { + class Tavor_base_F: Rifle_Base_F { // http://www.israel-weapon.com/files/brochure_2012/IWI_TAVOR_AR.pdf // 700 ~1000 rpm (850) - class Single : Mode_SemiAuto { + class Single: Mode_SemiAuto { reloadTime = 0.07; }; @@ -122,10 +116,10 @@ class CfgWeapons { // Mk20 (F2000) ////////////////////////////////////////////////// - class mk20_base_F : Rifle_Base_F { + class mk20_base_F: Rifle_Base_F { // http://www.fnherstal.com/primary-menu/products-capabilities/rifles/technical-data/product/182/232/182/1/_/fn-f2000R-standard.html // 850 rpm - class Single : Mode_SemiAuto { + class Single: Mode_SemiAuto { reloadTime = 0.07; }; @@ -136,14 +130,14 @@ class CfgWeapons { // SMG Vermin //////////////////////////////////////////////////// - class SMG_01_Base : Rifle_Base_F { + class SMG_01_Base: Rifle_Base_F { // http://kriss-usa.com/pdf/operatormanual/ // 1200 rpm - class Single : Mode_SemiAuto { + class Single: Mode_SemiAuto { reloadTime = 0.05; }; - class Burst : Mode_Burst { + class Burst: Mode_Burst { burst = 2; reloadTime = 0.05; }; @@ -155,17 +149,17 @@ class CfgWeapons { // SMG Scorpion //////////////////////////////////////////////////// - class SMG_02_base_F : Rifle_Base_F { + class SMG_02_base_F: Rifle_Base_F { //http://www.czub.cz/zbrojovka/cz-manual/Instruction-Manual-Scorpion-EVO-3-A1_en.pdf // 1150 rpm - class Single : Mode_SemiAuto { + class Single: Mode_SemiAuto { // http://www.stengg.com/upload/915fGdhTi3ggnnGQGGL.pdf // 900-1100 rpm (1000rpm) reloadTime = 0.052; }; - class Burst : Mode_Burst { + class Burst: Mode_Burst { reloadTime = 0.052; }; @@ -177,11 +171,9 @@ class CfgWeapons { // SMG PDW2000 /////////////////////////////////////////////////// class pdw2000_base_F: Rifle_Base_F { - magazines[] = {"30Rnd_9x21_Mag"}; - modes[] = {"Single", "FullAuto"}; // No burst on this thing - class Single : Mode_SemiAuto { + class Single: Mode_SemiAuto { // http://www.stengg.com/upload/915fGdhTi3ggnnGQGGL.pdf // 900-1100 rpm (1000rpm) reloadTime = 0.06; @@ -194,24 +186,18 @@ class CfgWeapons { // Pistols ////////////////////////////////////////////// - class hgun_P07_F : Pistol_Base_F { - magazines[] = {"16Rnd_9x21_Mag"}; - }; - - class hgun_Rook40_F : Pistol_Base_F { - magazines[] = {"16Rnd_9x21_Mag"}; - }; - - /*class hgun_ACPC2_F: Pistol_Base_F {}; + /*class hgun_P07_F: Pistol_Base_F {}; + class hgun_Rook40_F: Pistol_Base_F {}; + class hgun_ACPC2_F: Pistol_Base_F {}; class hgun_Pistol_heavy_01_F: Pistol_Base_F {}; class hgun_Pistol_heavy_02_F: Pistol_Base_F {};*/ // LMGs ////////////////////////////////////////////// - class LMG_Mk200_F : Rifle_Long_Base_F { + class LMG_Mk200_F: Rifle_Long_Base_F { modes[] = {"manual", "Single", "close", "short", "medium", "far_optic1", "far_optic2"}; - class manual : Mode_FullAuto { + class manual: Mode_FullAuto { // http://www.defensereview.com/kac-stoner-lmg-belt-fed-5-56mm-nato-lightweight-light-machine-gun-squad-automatic-weapon-lmgsaw-displayed-at-sofic-2010/ // 550 rpm reloadTime = 0.109; @@ -219,7 +205,7 @@ class CfgWeapons { // Add semi-auto mode. // Inherit from 'manual' for sound reasons. - class Single : manual { + class Single: manual { reloadTime = 0.109; dispersion = 0.00175; // radians. Equal to 6 MOA. autofire = 0; @@ -233,28 +219,28 @@ class CfgWeapons { class LMG_Zafir_F: Rifle_Long_Base_F { modes[] = {"FullAuto", "Single", "close", "short", "medium", "far_optic1", "far_optic2"}; - class FullAuto : Mode_FullAuto { + class FullAuto: Mode_FullAuto { reloadTime = 0.070; // 850 RPM on gas position 1 }; }; // Sniper and anti-materiel rifles ///////////////////////////////// - class EBR_base_F : Rifle_Long_Base_F { + class EBR_base_F: Rifle_Long_Base_F { // EMR/EBR is typically issued semi-auto AFAIK modes[] = {"Single", "single_close_optics1", "single_medium_optics1", "single_far_optics1"}; cursor = "arifle"; }; - class LRR_base_F : Rifle_Long_Base_F { + class LRR_base_F: Rifle_Long_Base_F { cursor = "arifle"; }; - class GM6_base_F : Rifle_Long_Base_F { + class GM6_base_F: Rifle_Long_Base_F { cursor = "arifle"; // Fuck your balancing, BI. - class Single : Mode_SemiAuto { + class Single: Mode_SemiAuto { // 250 rpm is probably the limit of the finger on a heavy bullpup trigger like this thing must have. reloadTime = 0.24; }; From 52007fab6a687a5bf992de3faf18f844c5c475dd Mon Sep 17 00:00:00 2001 From: jonpas Date: Sun, 6 Mar 2016 12:06:17 +0100 Subject: [PATCH 34/90] Add sanity checks, fix explosives checks --- addons/explosives/functions/fnc_cancelPlacement.sqf | 7 +------ addons/explosives/functions/fnc_setupExplosive.sqf | 7 +++++++ addons/sandbag/functions/fnc_deployCancel.sqf | 2 +- addons/tacticalladder/functions/fnc_cancelTLdeploy.sqf | 2 +- addons/trenches/functions/fnc_placeCancel.sqf | 2 +- 5 files changed, 11 insertions(+), 9 deletions(-) diff --git a/addons/explosives/functions/fnc_cancelPlacement.sqf b/addons/explosives/functions/fnc_cancelPlacement.sqf index 4a7f385a01..e6bd60f637 100644 --- a/addons/explosives/functions/fnc_cancelPlacement.sqf +++ b/addons/explosives/functions/fnc_cancelPlacement.sqf @@ -18,11 +18,6 @@ params ["_unit", "_key"]; -if (_key != 1) exitWith {}; - -if (_unit == ACE_player && - {([_unit, objNull, ["isNotSwimming"]] call EFUNC(common,canInteractWith))} && - {(_magClassname in (magazines _unit))} -) exitWith {}; +if (_key != 1 || {!GVAR(pfeh_running)}) exitWith {}; GVAR(placeAction) = PLACE_CANCEL; diff --git a/addons/explosives/functions/fnc_setupExplosive.sqf b/addons/explosives/functions/fnc_setupExplosive.sqf index 567bb95db8..709ea688d5 100644 --- a/addons/explosives/functions/fnc_setupExplosive.sqf +++ b/addons/explosives/functions/fnc_setupExplosive.sqf @@ -141,6 +141,13 @@ GVAR(TweakedAngle) = 0; //Don't allow placing in a bad position: if (_badPosition && {GVAR(placeAction) == PLACE_APPROVE}) then {GVAR(placeAction) = PLACE_WAITING;}; + if (_unit != ACE_player || + {!([_unit, objNull, ["isNotSwimming"]] call EFUNC(common,canInteractWith))} || + {!(_magClassname in (magazines _unit))} + ) then { + GVAR(placeAction) = PLACE_CANCEL; + }; + if (GVAR(placeAction) != PLACE_WAITING) then { [_pfID] call CBA_fnc_removePerFrameHandler; GVAR(pfeh_running) = false; diff --git a/addons/sandbag/functions/fnc_deployCancel.sqf b/addons/sandbag/functions/fnc_deployCancel.sqf index e0315d7849..6cb38e4f73 100644 --- a/addons/sandbag/functions/fnc_deployCancel.sqf +++ b/addons/sandbag/functions/fnc_deployCancel.sqf @@ -18,7 +18,7 @@ params ["_unit", "_key"]; -if (_key != 1) exitWith {}; +if (_key != 1 || {GVAR(deployPFH) == -1}) exitWith {}; // enable running again [_unit, "forceWalk", "ACE_Sandbag", false] call EFUNC(common,statusEffect_set); diff --git a/addons/tacticalladder/functions/fnc_cancelTLdeploy.sqf b/addons/tacticalladder/functions/fnc_cancelTLdeploy.sqf index 6f9eb5cff9..b009028c93 100644 --- a/addons/tacticalladder/functions/fnc_cancelTLdeploy.sqf +++ b/addons/tacticalladder/functions/fnc_cancelTLdeploy.sqf @@ -20,7 +20,7 @@ params ["_unit", "_key"]; -if (_key != 1) exitWith {}; +if (_key != 1 || {isNull GVAR(ladder)}) exitWith {}; // enable running again [_unit, "forceWalk", "ACE_Ladder", false] call EFUNC(common,statusEffect_set); diff --git a/addons/trenches/functions/fnc_placeCancel.sqf b/addons/trenches/functions/fnc_placeCancel.sqf index 90c9d6ecc7..b3d6bf78da 100644 --- a/addons/trenches/functions/fnc_placeCancel.sqf +++ b/addons/trenches/functions/fnc_placeCancel.sqf @@ -18,7 +18,7 @@ params ["_unit", "_key"]; -if (_key != 1) exitWith {}; +if (_key != 1 || {GVAR(digPFH) == -1}) exitWith {}; // enable running again [_unit, "forceWalk", "ACE_Trenches", false] call EFUNC(common,statusEffect_set); From b47b887a219ab6a7da4be7e0c44157d695ea1484 Mon Sep 17 00:00:00 2001 From: jonpas Date: Sun, 6 Mar 2016 16:20:16 +0100 Subject: [PATCH 35/90] Fix event name already being used --- addons/common/XEH_postInit.sqf | 2 +- addons/refuel/functions/fnc_reset.sqf | 2 +- addons/refuel/functions/fnc_returnNozzle.sqf | 2 +- addons/refuel/functions/fnc_takeNozzle.sqf | 2 +- 4 files changed, 4 insertions(+), 4 deletions(-) diff --git a/addons/common/XEH_postInit.sqf b/addons/common/XEH_postInit.sqf index 6ea32c3534..b17ff292a4 100644 --- a/addons/common/XEH_postInit.sqf +++ b/addons/common/XEH_postInit.sqf @@ -153,7 +153,7 @@ if (isServer) then { ["playMoveNow", {(_this select 0) playMoveNow (_this select 1)}] call FUNC(addEventHandler); ["switchMove", {(_this select 0) switchMove (_this select 1)}] call FUNC(addEventHandler); ["setVectorDirAndUp", {(_this select 0) setVectorDirAndUp (_this select 1)}] call FUNC(addEventHandler); -["setHitPointDamage", {(_this select 0) setHitPointDamage (_this select 1)}] call FUNC(addEventHandler); +["setVanillaHitPointDamage", {(_this select 0) setHitPointDamage (_this select 1)}] call FUNC(addEventHandler); if (isServer) then { ["hideObjectGlobal", {(_this select 0) hideObjectGlobal (_this select 1)}] call FUNC(addEventHandler); diff --git a/addons/refuel/functions/fnc_reset.sqf b/addons/refuel/functions/fnc_reset.sqf index ff04ed13e3..6e3bdbe774 100644 --- a/addons/refuel/functions/fnc_reset.sqf +++ b/addons/refuel/functions/fnc_reset.sqf @@ -17,7 +17,7 @@ params [["_target", objNull, [objNull]]]; -["setHitPointDamage", _target, ["HitEngine", _target getVariable [QGVAR(engineHit), 0]]] call EFUNC(common,objectEvent); +["setVanillaHitPointDamage", _target, [_target, ["HitEngine", _target getVariable [QGVAR(engineHit), 0]] ] ] call EFUNC(common,objectEvent); _target setVariable [QGVAR(engineHit), nil, true]; _target setVariable [QGVAR(isConnected), false, true]; diff --git a/addons/refuel/functions/fnc_returnNozzle.sqf b/addons/refuel/functions/fnc_returnNozzle.sqf index af3e8c6d4e..bd4da5569b 100644 --- a/addons/refuel/functions/fnc_returnNozzle.sqf +++ b/addons/refuel/functions/fnc_returnNozzle.sqf @@ -48,7 +48,7 @@ if (isNull _nozzle || {_source != _target}) exitWith {false}; }; deleteVehicle _nozzle; - ["setHitPointDamage", _target, ["HitEngine", _target getVariable [QGVAR(engineHit), 0]]] call EFUNC(common,objectEvent); + ["setVanillaHitPointDamage", _target, [_target, ["HitEngine", _target getVariable [QGVAR(engineHit), 0]] ] ] call EFUNC(common,objectEvent); _target setVariable [QGVAR(engineHit), nil, true]; }, "", diff --git a/addons/refuel/functions/fnc_takeNozzle.sqf b/addons/refuel/functions/fnc_takeNozzle.sqf index d862aa16b5..3d557f9a2e 100644 --- a/addons/refuel/functions/fnc_takeNozzle.sqf +++ b/addons/refuel/functions/fnc_takeNozzle.sqf @@ -27,7 +27,7 @@ REFUEL_HOLSTER_WEAPON private _endPosOffset = [0, 0, 0]; if (isNull _nozzle) then { // func is called on fuel truck _target setVariable [QGVAR(engineHit), _target getHitPointDamage "HitEngine", true]; - ["setHitPointDamage", _target, ["HitEngine", 1]] call EFUNC(common,objectEvent); + ["setVanillaHitPointDamage", _target, [_target, ["HitEngine", 1]] ] call EFUNC(common,objectEvent); _target setVariable [QGVAR(isConnected), true, true]; _endPosOffset = getArray (configFile >> "CfgVehicles" >> typeOf _target >> QGVAR(hooks)); From c378cd9f12e0d0451bbf9682d3e57a6d9289edcd Mon Sep 17 00:00:00 2001 From: jonpas Date: Sun, 6 Mar 2016 16:47:46 +0100 Subject: [PATCH 36/90] Disable action menu on mouse hint with inGameUISetEventHandler rather than showHud, as showHud disables UI script commands --- addons/interaction/functions/fnc_hideMouseHint.sqf | 5 ++++- addons/interaction/functions/fnc_showMouseHint.sqf | 5 ++++- 2 files changed, 8 insertions(+), 2 deletions(-) diff --git a/addons/interaction/functions/fnc_hideMouseHint.sqf b/addons/interaction/functions/fnc_hideMouseHint.sqf index d7f9d9140e..709b798fed 100644 --- a/addons/interaction/functions/fnc_hideMouseHint.sqf +++ b/addons/interaction/functions/fnc_hideMouseHint.sqf @@ -19,4 +19,7 @@ if (isNull (uiNamespace getVariable ["ACE_Helper_Display", objNull])) exitWith { (QGVAR(InteractionHelper) call BIS_fnc_rscLayer) cutText ["", "PLAIN"]; -["mouseHint", []] call EFUNC(common,showHud); //This is equivalent to the old showHud true +// Disable action menu, showHud also disables all scripted UI (such as drawIcon3D) +inGameUISetEventHandler ["PrevAction", "false"]; +inGameUISetEventHandler ["NextAction", "false"]; +inGameUISetEventHandler ["Action", "false"]; diff --git a/addons/interaction/functions/fnc_showMouseHint.sqf b/addons/interaction/functions/fnc_showMouseHint.sqf index 429b7d7670..57c8a7bf50 100644 --- a/addons/interaction/functions/fnc_showMouseHint.sqf +++ b/addons/interaction/functions/fnc_showMouseHint.sqf @@ -50,4 +50,7 @@ if (_scroll == "") exitWith { (_display displayCtrl 1002) ctrlSetText _scroll; -["mouseHint", [false, true, true, true, true, true, true, false]] call EFUNC(common,showHud); //This is equivalent to the old showHud false +// Enable action menu +inGameUISetEventHandler ["PrevAction", "true"]; +inGameUISetEventHandler ["NextAction", "true"]; +inGameUISetEventHandler ["Action", "true"]; From 858c68f8d702a0dd1db50220f3f2c552a4c2e0a5 Mon Sep 17 00:00:00 2001 From: jonpas Date: Sun, 6 Mar 2016 16:54:27 +0100 Subject: [PATCH 37/90] Don't use modifier for rotation where not needed --- .../functions/fnc_handleScrollWheel.sqf | 2 +- addons/explosives/stringtable.xml | 20 ++++++++--------- .../functions/fnc_handleScrollWheel.sqf | 4 ++-- addons/sandbag/stringtable.xml | 22 +++++++++---------- .../functions/fnc_handleScrollWheel.sqf | 2 +- .../functions/fnc_handleScrollWheel.sqf | 4 ++-- addons/trenches/stringtable.xml | 16 +++++++++----- 7 files changed, 37 insertions(+), 33 deletions(-) diff --git a/addons/explosives/functions/fnc_handleScrollWheel.sqf b/addons/explosives/functions/fnc_handleScrollWheel.sqf index 0d5fdd2aba..36530afb08 100644 --- a/addons/explosives/functions/fnc_handleScrollWheel.sqf +++ b/addons/explosives/functions/fnc_handleScrollWheel.sqf @@ -15,7 +15,7 @@ */ #include "script_component.hpp" -if ((!GVAR(pfeh_running)) || {ACE_Modifier == 0}) exitWith {false}; +if (!GVAR(pfeh_running)) exitWith {false}; GVAR(TweakedAngle) = ((GVAR(TweakedAngle) + 7.2 * _this) + 360) % 360; diff --git a/addons/explosives/stringtable.xml b/addons/explosives/stringtable.xml index ad89649cbd..e3ba902a9b 100644 --- a/addons/explosives/stringtable.xml +++ b/addons/explosives/stringtable.xml @@ -107,16 +107,16 @@ Отмена - +Ctrl rotate - +Strg drehen - +Ctrl girar - +Ctrl tourner - +Ctrl rotazione - +Ctrl otočit - +Ctrl forgatás - +Ctrl obrót - +Ctrl rotaciona - +Ctrl Bращать + Rotate + Drehen + Girar + Tourner + Rotazione + Otočit + Forgatás + Obrót + Rotaciona + Bращать Turn On Thor III diff --git a/addons/sandbag/functions/fnc_handleScrollWheel.sqf b/addons/sandbag/functions/fnc_handleScrollWheel.sqf index 94697d7691..20d403a7a1 100644 --- a/addons/sandbag/functions/fnc_handleScrollWheel.sqf +++ b/addons/sandbag/functions/fnc_handleScrollWheel.sqf @@ -15,9 +15,9 @@ */ #include "script_component.hpp" -params ["_scroll"]; +if (GVAR(deployPFH) == -1) exitWith {false}; -if (GETMVAR(ACE_Modifier,0) == 0 || GVAR(deployPFH) == -1) exitWith { false }; +params ["_scroll"]; GVAR(deployDirection) = GVAR(deployDirection) + (_scroll * 5); diff --git a/addons/sandbag/stringtable.xml b/addons/sandbag/stringtable.xml index 70db715d77..a1d7a46938 100644 --- a/addons/sandbag/stringtable.xml +++ b/addons/sandbag/stringtable.xml @@ -146,16 +146,16 @@ Aqui não tem areia - +Ctrl rotate - +Strg drehen - +Ctrl girar - +Ctrl tourner - +Ctrl rotazione - +Ctrl otočit - +Ctrl forgatás - +Ctrl obrót - +Ctrl rotaciona - +Ctrl Bращать + Rotate + Drehen + Girar + Tourner + Rotazione + Otočit + Forgatás + Obrót + Rotaciona + Bращать - \ No newline at end of file + diff --git a/addons/tacticalladder/functions/fnc_handleScrollWheel.sqf b/addons/tacticalladder/functions/fnc_handleScrollWheel.sqf index c22141ca24..e7d4136526 100644 --- a/addons/tacticalladder/functions/fnc_handleScrollWheel.sqf +++ b/addons/tacticalladder/functions/fnc_handleScrollWheel.sqf @@ -19,7 +19,7 @@ params ["_scroll"]; if (isNull GVAR(ladder)) exitWith { false }; -if (GETMVAR(ACE_Modifier,0) == 0) then { +if (ACE_Modifier == 0) then { private ["_currentStep"]; // Lengthening if (_scroll > 0) then { diff --git a/addons/trenches/functions/fnc_handleScrollWheel.sqf b/addons/trenches/functions/fnc_handleScrollWheel.sqf index 783463dd25..5dbe661417 100644 --- a/addons/trenches/functions/fnc_handleScrollWheel.sqf +++ b/addons/trenches/functions/fnc_handleScrollWheel.sqf @@ -15,9 +15,9 @@ */ #include "script_component.hpp" -params ["_scroll"]; +if (GVAR(digPFH) == -1) exitWith {false}; -if (GETMVAR(ACE_Modifier,0) == 0 || GVAR(digPFH) == -1) exitWith { false }; +params ["_scroll"]; GVAR(digDirection) = GVAR(digDirection) + (_scroll * 5); diff --git a/addons/trenches/stringtable.xml b/addons/trenches/stringtable.xml index 4fef526858..617a604457 100644 --- a/addons/trenches/stringtable.xml +++ b/addons/trenches/stringtable.xml @@ -82,12 +82,16 @@ Annuler la creusée - +Ctrl rotate - +Strg drehen - +Ctrl obrót - +Ctrl ruota - +Ctrl rotar - +Ctrl rotation + Rotate + Drehen + Girar + Tourner + Rotazione + Otočit + Forgatás + Obrót + Rotaciona + Bращать Digging Trench From 84af4b7676e35da79771fba6e52507a653356a96 Mon Sep 17 00:00:00 2001 From: BaerMitUmlaut Date: Sun, 6 Mar 2016 19:53:37 +0100 Subject: [PATCH 38/90] Force open ramps on helicopters --- addons/fastroping/CfgVehicles.hpp | 42 ++++++++++++++++--- addons/fastroping/XEH_PREP.hpp | 1 + .../fastroping/functions/fnc_canCloseRamp.sqf | 29 +++++++++++++ .../fastroping/functions/fnc_onCutCommon.sqf | 12 +++++- .../functions/fnc_onPrepareCommon.sqf | 5 +++ 5 files changed, 81 insertions(+), 8 deletions(-) create mode 100644 addons/fastroping/functions/fnc_canCloseRamp.sqf diff --git a/addons/fastroping/CfgVehicles.hpp b/addons/fastroping/CfgVehicles.hpp index 9aba9e2a85..2cbc95b063 100644 --- a/addons/fastroping/CfgVehicles.hpp +++ b/addons/fastroping/CfgVehicles.hpp @@ -35,11 +35,8 @@ class CfgVehicles { }; }; - class Helicopter_Base_F; - class ACE_friesBase: Helicopter_Base_F { - destrType = ""; - class Turrets {}; - + class Helicopter; + class Helicopter_Base_F: Helicopter { class ACE_SelfActions { class ACE_prepareFRIES { displayName = CSTRING(Interaction_prepareFRIES); @@ -71,6 +68,10 @@ class CfgVehicles { }; }; }; + class ACE_friesBase: Helicopter_Base_F { + destrType = ""; + class Turrets {}; + }; class ACE_friesAnchorBar: ACE_friesBase { author = "jokoho48"; scope = 1; @@ -175,10 +176,28 @@ class CfgVehicles { class Heli_Transport_02_base_F: Helicopter_Base_H { GVAR(enabled) = 1; GVAR(ropeOrigins[]) = {{0.94, -4.82, -1.16}, {-0.94, -4.82, -1.16}}; + GVAR(onPrepare) = QFUNC(onPrepareCommon); + GVAR(onCut) = QFUNC(onCutCommon); + + class UserActions { + class Ramp_Open; + class Ramp_Close: Ramp_Open { + condition = QUOTE([ARR_5(this,'CargoRamp_Open',[[0],[1],[2]])] call FUNC(canCloseRamp)); + }; + }; }; class Heli_Transport_03_base_F: Helicopter_Base_H { GVAR(enabled) = 1; GVAR(ropeOrigins[]) = {{0.75, -5.29, -0.11}, {-0.87, -5.29, -0.11}}; + GVAR(onPrepare) = QFUNC(onPrepareCommon); + GVAR(onCut) = QFUNC(onCutCommon); + + class UserActions { + class Ramp_Open; + class Ramp_Close: Ramp_Open { + condition = QUOTE([ARR_5(this,'Door_rear_source',[[0],[3],[4]])] call FUNC(canCloseRamp)); + }; + }; }; class Heli_light_03_base_F: Helicopter_Base_F { GVAR(enabled) = 2; @@ -194,7 +213,9 @@ class CfgVehicles { GVAR(friesAttachmentPoint[]) = {-1.07, 3.26, -0.5}; EQUIP_FRIES_ATTRIBUTE; }; - class Heli_Transport_04_base_F; + class Heli_Transport_04_base_F: Helicopter_Base_H { + class UserActions; + }; class O_Heli_Transport_04_bench_F: Heli_Transport_04_base_F { GVAR(enabled) = 1; GVAR(ropeOrigins[]) = {{1.03, 1.6, -0.23}, {1.03, -1.36, -0.23}, {-1.23, 1.6, -0.23}, {-1.23, -1.36, -0.23}}; @@ -202,5 +223,14 @@ class CfgVehicles { class O_Heli_Transport_04_covered_F: Heli_Transport_04_base_F { GVAR(enabled) = 1; GVAR(ropeOrigins[]) = {{0.83, -4.7, -0.03}, {-1.02, -4.7, -0.03}}; + GVAR(onPrepare) = QFUNC(onPrepareCommon); + GVAR(onCut) = QFUNC(onCutCommon); + + class UserActions: UserActions { + class CloseDoor_6; + class Ramp_Close: CloseDoor_6 { + condition = QUOTE([ARR_6(this,'Door_6_source',[[0],[1],[2],[3]])] call FUNC(canCloseRamp)); + }; + }; }; }; diff --git a/addons/fastroping/XEH_PREP.hpp b/addons/fastroping/XEH_PREP.hpp index 266005f1ee..780f358f8a 100644 --- a/addons/fastroping/XEH_PREP.hpp +++ b/addons/fastroping/XEH_PREP.hpp @@ -1,3 +1,4 @@ +PREP(canCloseRamp); PREP(canCutRopes); PREP(canDeployRopes); PREP(canFastRope); diff --git a/addons/fastroping/functions/fnc_canCloseRamp.sqf b/addons/fastroping/functions/fnc_canCloseRamp.sqf new file mode 100644 index 0000000000..58827cb29b --- /dev/null +++ b/addons/fastroping/functions/fnc_canCloseRamp.sqf @@ -0,0 +1,29 @@ +/* + * Author: BaerMitUmlaut + * Checks if the player can close the ramp of the given helo. + * + * Arguments: + * 0: The helicopter + * 1: The ramp animation name + * 2: Turret paths that can close the ramp + * + * Return Value: + * Able to close ramp + * + * Example: + * [_player, _vehicle] call ace_fastroping_fnc_canCloseRamp + * + * Public: No + */ + +#include "script_component.hpp" +params ["_vehicle", "_door", "_turretPaths"]; + +(_vehicle doorPhase _door > 0.5) && +{alive _vehicle} && +{(_vehicle getVariable ["bis_disabled_Ramp", 0]) != 1} && +{!(_vehicle getVariable [QGVAR(doorsLocked), false])} && +{ + (ACE_player == driver _vehicle) || + {((assignedVehicleRole ACE_player) param [1, []]) in _turretPaths} +} diff --git a/addons/fastroping/functions/fnc_onCutCommon.sqf b/addons/fastroping/functions/fnc_onCutCommon.sqf index 7bfb95b68b..404f94e9d8 100644 --- a/addons/fastroping/functions/fnc_onCutCommon.sqf +++ b/addons/fastroping/functions/fnc_onCutCommon.sqf @@ -24,16 +24,24 @@ if !(isNull _fries) then { [{ _this animateDoor ["door_R", 0]; _this animateDoor ["door_L", 0]; - _vehicle animate ["dvere1_posunZ", 0]; - _vehicle animate ["dvere2_posunZ", 0]; + _this animateDoor ["CargoRamp_Open", 0]; + _this animateDoor ["Door_rear_source", 0]; + _this animateDoor ["Door_6_source", 0]; + _this animate ["dvere1_posunZ", 0]; + _this animate ["dvere2_posunZ", 0]; + _this setVariable [QGVAR(doorsLocked), false, true]; }, _vehicle, 2] call EFUNC(common,waitAndExecute); 4 } else { _vehicle animateDoor ["door_R", 0]; _vehicle animateDoor ["door_L", 0]; + _vehicle animateDoor ["CargoRamp_Open", 0]; + _vehicle animateDoor ["Door_rear_source", 0]; + _vehicle animateDoor ["Door_6_source", 0]; _vehicle animate ["dvere1_posunZ", 0]; _vehicle animate ["dvere2_posunZ", 0]; + _vehicle setVariable [QGVAR(doorsLocked), false, true]; 2 }; diff --git a/addons/fastroping/functions/fnc_onPrepareCommon.sqf b/addons/fastroping/functions/fnc_onPrepareCommon.sqf index d9138ea0e2..5e8bf931bb 100644 --- a/addons/fastroping/functions/fnc_onPrepareCommon.sqf +++ b/addons/fastroping/functions/fnc_onPrepareCommon.sqf @@ -22,9 +22,14 @@ _waitTime = 2; _vehicle animateDoor ["door_R", 1]; _vehicle animateDoor ["door_L", 1]; +_vehicle animateDoor ["CargoRamp_Open", 1]; +_vehicle animateDoor ["Door_rear_source", 1]; +_vehicle animateDoor ["Door_6_source", 1]; _vehicle animate ["dvere1_posunZ", 1]; _vehicle animate ["dvere2_posunZ", 1]; +_vehicle setVariable [QGVAR(doorsLocked), true, true]; + _fries = _vehicle getVariable [QGVAR(FRIES), objNull]; if !(isNull _fries) then { [{ From c65656a016fc377eb03583dcc04d144ff1aa3141 Mon Sep 17 00:00:00 2001 From: BaerMitUmlaut Date: Sun, 6 Mar 2016 20:33:23 +0100 Subject: [PATCH 39/90] Improved rope glitchyness --- addons/fastroping/XEH_postInit.sqf | 5 ----- addons/fastroping/functions/fnc_cutRopes.sqf | 6 ++++-- addons/fastroping/functions/fnc_deployRopes.sqf | 5 +++-- addons/fastroping/functions/fnc_fastRopeLocalPFH.sqf | 1 + addons/fastroping/functions/fnc_fastRopeServerPFH.sqf | 4 ++-- 5 files changed, 10 insertions(+), 11 deletions(-) diff --git a/addons/fastroping/XEH_postInit.sqf b/addons/fastroping/XEH_postInit.sqf index 873d1091e5..ae88feaa76 100644 --- a/addons/fastroping/XEH_postInit.sqf +++ b/addons/fastroping/XEH_postInit.sqf @@ -7,8 +7,3 @@ [QGVAR(startFastRope), { [FUNC(fastRopeServerPFH), 0, _this] call CBA_fnc_addPerFrameHandler; }] call EFUNC(common,addEventHandler); - -[QGVAR(ropeDetach), { - params ["_object", "_rope"]; - _object ropeDetach _rope; -}] call EFUNC(common,addEventHandler); diff --git a/addons/fastroping/functions/fnc_cutRopes.sqf b/addons/fastroping/functions/fnc_cutRopes.sqf index 88b02a70af..71fe682f7e 100644 --- a/addons/fastroping/functions/fnc_cutRopes.sqf +++ b/addons/fastroping/functions/fnc_cutRopes.sqf @@ -32,8 +32,10 @@ _deployedRopes = _vehicle getVariable [QGVAR(deployedRopes), []]; }; }; - [QGVAR(ropeDetach), [_hook, _ropeTop]] call EFUNC(common,serverEvent); - [{{deleteVehicle _x} count _this}, [_ropeTop, _ropeBottom, _dummy, _hook], 60] call EFUNC(common,waitAndExecute); + detach _dummy; + deleteVehicle _ropeTop; + deleteVehicle _hook; + [{{deleteVehicle _x} count _this}, [_ropeBottom, _dummy], 60] call EFUNC(common,waitAndExecute); } count _deployedRopes; _vehicle setVariable [QGVAR(deployedRopes), [], true]; diff --git a/addons/fastroping/functions/fnc_deployRopes.sqf b/addons/fastroping/functions/fnc_deployRopes.sqf index c944b2c3cb..af79dd2cfe 100644 --- a/addons/fastroping/functions/fnc_deployRopes.sqf +++ b/addons/fastroping/functions/fnc_deployRopes.sqf @@ -35,13 +35,14 @@ _hookAttachment = _vehicle getVariable [QGVAR(FRIES), _vehicle]; _origin = getPosATL _hook; - _dummy = createVehicle [QGVAR(helper), _origin vectorAdd [0, 0, -1], [], 0, "CAN_COLLIDE"]; + _dummy = createVehicle [QGVAR(helper), _origin, [], 0, "CAN_COLLIDE"]; _dummy allowDamage false; _dummy disableCollisionWith _vehicle; + _dummy attachTo [_hook, [0, 0, 0]]; _ropeTop = ropeCreate [_dummy, [0, 0, 0], _hook, [0, 0, 0], 0.5]; _ropeBottom = ropeCreate [_dummy, [0, 0, 0], 1]; - ropeUnwind [_ropeBottom, 30, 34.5, false]; + ropeUnwind [_ropeBottom, 30, 35, false]; _ropeTop addEventHandler ["RopeBreak", {[_this, "top"] call FUNC(onRopeBreak)}]; _ropeBottom addEventHandler ["RopeBreak", {[_this, "bottom"] call FUNC(onRopeBreak)}]; diff --git a/addons/fastroping/functions/fnc_fastRopeLocalPFH.sqf b/addons/fastroping/functions/fnc_fastRopeLocalPFH.sqf index d05c8bfdbc..6a4e810ff5 100644 --- a/addons/fastroping/functions/fnc_fastRopeLocalPFH.sqf +++ b/addons/fastroping/functions/fnc_fastRopeLocalPFH.sqf @@ -26,6 +26,7 @@ if (vehicle _unit != _unit) exitWith {}; //Start fast roping if (animationState _unit != "ACE_FastRoping") exitWith { + detach _dummy; _unit disableCollisionWith _dummy; _unit attachTo [_dummy, [0, 0, -1.45]]; [_unit, "ACE_FastRoping", 2] call EFUNC(common,doAnimation); diff --git a/addons/fastroping/functions/fnc_fastRopeServerPFH.sqf b/addons/fastroping/functions/fnc_fastRopeServerPFH.sqf index 44f9fedd1a..627ed959bc 100644 --- a/addons/fastroping/functions/fnc_fastRopeServerPFH.sqf +++ b/addons/fastroping/functions/fnc_fastRopeServerPFH.sqf @@ -54,14 +54,14 @@ if (((getPos _unit select 2) < 0.2) || {ropeLength _ropeTop == 34.5} || {vectorM deleteVehicle _ropeBottom; _origin = getPosASL _hook; - _dummy setPosASL (_origin vectorAdd [0, 0, -1]); + _dummy attachTo [_hook, [0, 0, 0]]; //Restore original mass and center of mass _dummy setMass 40; _dummy setCenterOfMass [0.000143227,0.00105986,-0.246147]; _ropeTop = ropeCreate [_dummy, [0, 0, 0], _hook, [0, 0, 0], 0.5]; - _ropeBottom = ropeCreate [_dummy, [0, 0, 0], 34.5]; + _ropeBottom = ropeCreate [_dummy, [0, 0, 0], 35]; _ropeTop addEventHandler ["RopeBreak", {[_this, "top"] call FUNC(onRopeBreak)}]; _ropeBottom addEventHandler ["RopeBreak", {[_this, "bottom"] call FUNC(onRopeBreak)}]; From 7344474658f4d2dcc0210eecc1934656b53e48ce Mon Sep 17 00:00:00 2001 From: BaerMitUmlaut Date: Wed, 2 Mar 2016 00:01:34 +0100 Subject: [PATCH 40/90] Added RHS Fastroping compatibility --- .../compat_rhs_afrf3/CfgEventHandlers.hpp | 11 ++ optionals/compat_rhs_afrf3/CfgVehicles.hpp | 53 +++++++- optionals/compat_rhs_afrf3/XEH_PREP.hpp | 2 + optionals/compat_rhs_afrf3/XEH_preInit.sqf | 7 ++ optionals/compat_rhs_afrf3/XEH_preStart.sqf | 3 + optionals/compat_rhs_afrf3/config.cpp | 3 +- .../compat_rhs_afrf3/functions/fnc_onCut.sqf | 23 ++++ .../functions/fnc_onPrepare.sqf | 23 ++++ .../compat_rhs_afrf3/script_component.hpp | 2 +- .../compat_rhs_usf3/CfgEventHandlers.hpp | 11 ++ optionals/compat_rhs_usf3/CfgVehicles.hpp | 116 +++++++++++++++++- optionals/compat_rhs_usf3/XEH_PREP.hpp | 3 + optionals/compat_rhs_usf3/XEH_preInit.sqf | 7 ++ optionals/compat_rhs_usf3/XEH_preStart.sqf | 3 + optionals/compat_rhs_usf3/config.cpp | 3 +- .../functions/fnc_canCloseDoor.sqf | 30 +++++ .../compat_rhs_usf3/functions/fnc_onCut.sqf | 36 ++++++ .../functions/fnc_onPrepare.sqf | 38 ++++++ .../compat_rhs_usf3/script_component.hpp | 2 +- 19 files changed, 367 insertions(+), 9 deletions(-) create mode 100644 optionals/compat_rhs_afrf3/CfgEventHandlers.hpp create mode 100644 optionals/compat_rhs_afrf3/XEH_PREP.hpp create mode 100644 optionals/compat_rhs_afrf3/XEH_preInit.sqf create mode 100644 optionals/compat_rhs_afrf3/XEH_preStart.sqf create mode 100644 optionals/compat_rhs_afrf3/functions/fnc_onCut.sqf create mode 100644 optionals/compat_rhs_afrf3/functions/fnc_onPrepare.sqf create mode 100644 optionals/compat_rhs_usf3/CfgEventHandlers.hpp create mode 100644 optionals/compat_rhs_usf3/XEH_PREP.hpp create mode 100644 optionals/compat_rhs_usf3/XEH_preInit.sqf create mode 100644 optionals/compat_rhs_usf3/XEH_preStart.sqf create mode 100644 optionals/compat_rhs_usf3/functions/fnc_canCloseDoor.sqf create mode 100644 optionals/compat_rhs_usf3/functions/fnc_onCut.sqf create mode 100644 optionals/compat_rhs_usf3/functions/fnc_onPrepare.sqf diff --git a/optionals/compat_rhs_afrf3/CfgEventHandlers.hpp b/optionals/compat_rhs_afrf3/CfgEventHandlers.hpp new file mode 100644 index 0000000000..93e3311cf2 --- /dev/null +++ b/optionals/compat_rhs_afrf3/CfgEventHandlers.hpp @@ -0,0 +1,11 @@ +class Extended_PreStart_EventHandlers { + class ADDON { + init = QUOTE(call COMPILE_FILE(XEH_preStart)); + }; +}; + +class Extended_PreInit_EventHandlers { + class ADDON { + init = QUOTE(call COMPILE_FILE(XEH_preInit)); + }; +}; diff --git a/optionals/compat_rhs_afrf3/CfgVehicles.hpp b/optionals/compat_rhs_afrf3/CfgVehicles.hpp index d0486ecd0e..5402a2faf1 100644 --- a/optionals/compat_rhs_afrf3/CfgVehicles.hpp +++ b/optionals/compat_rhs_afrf3/CfgVehicles.hpp @@ -1,4 +1,4 @@ -class cfgVehicles { +class CfgVehicles { class LandVehicle; class Tank: LandVehicle { class NewTurret; @@ -201,9 +201,58 @@ class cfgVehicles { EGVAR(refuel,fuelCapacity) = 3600; }; - class Heli_Light_02_base_F; + class Helicopter_Base_F; + class Helicopter_Base_H: Helicopter_Base_F { + class EventHandlers; + }; + class Heli_Light_02_base_F: Helicopter_Base_H {}; class RHS_Mi8_base : Heli_Light_02_base_F { EGVAR(refuel,fuelCapacity) = 3700; + class EventHandlers: EventHandlers { + class RHS_EventHandlers; + }; + }; + + class RHS_Mi8amt_base: RHS_Mi8_base { + EGVAR(fastroping,enabled) = 1; + EGVAR(fastroping,ropeOrigins)[] = {{-1.13, 4.67, -0.89}}; + EGVAR(fastroping,onCut) = QFUNC(onCut); + EGVAR(fastroping,onPrepare) = QFUNC(onPrepare); + + class UserActions { + class openDoor; + class closeDoor_L: openDoor { + condition = QUOTE((this doorPhase 'LeftDoor' > 0.5) && {alive this} && {!(this getVariable [ARR_2(QUOTE(QEGVAR(fastroping,doorsLocked)),false)])}); + }; + }; + + class EventHandlers: EventHandlers { + class RHS_EventHandlers: RHS_EventHandlers { + getOut = QUOTE(if !(_this getVariable [ARR_2(QUOTE(QEGVAR(fastroping,doorsLocked)),false)]) then {_this call rhs_fnc_mi8_doors}); + }; + }; + }; + + class RHS_Mi8_VVS_Base: RHS_Mi8_base {}; + class RHS_Mi8mt_vvs: RHS_Mi8_VVS_Base {}; + class RHS_Mi8mt_Cargo_vvs: RHS_Mi8mt_vvs { + EGVAR(fastroping,enabled) = 1; + EGVAR(fastroping,ropeOrigins)[] = {{-1.13, 4.67, -0.89}}; + EGVAR(fastroping,onCut) = QFUNC(onCut); + EGVAR(fastroping,onPrepare) = QFUNC(onPrepare); + + class UserActions { + class openDoor; + class closeDoor_L: openDoor { + condition = QUOTE((this doorPhase 'LeftDoor' > 0.5) && {alive this} && {!(this getVariable [ARR_2(QUOTE(QEGVAR(fastroping,doorsLocked)),false)])}); + }; + }; + + class EventHandlers: EventHandlers { + class RHS_EventHandlers: RHS_EventHandlers { + getOut = QUOTE(if !(_this getVariable [ARR_2(QUOTE(QEGVAR(fastroping,doorsLocked)),false)]) then {_this call rhs_fnc_mi8_doors}); + }; + }; }; class Heli_Attack_02_base_F; diff --git a/optionals/compat_rhs_afrf3/XEH_PREP.hpp b/optionals/compat_rhs_afrf3/XEH_PREP.hpp new file mode 100644 index 0000000000..cb5a1268d9 --- /dev/null +++ b/optionals/compat_rhs_afrf3/XEH_PREP.hpp @@ -0,0 +1,2 @@ +PREP(onCut); +PREP(onPrepare); diff --git a/optionals/compat_rhs_afrf3/XEH_preInit.sqf b/optionals/compat_rhs_afrf3/XEH_preInit.sqf new file mode 100644 index 0000000000..a7feade1c3 --- /dev/null +++ b/optionals/compat_rhs_afrf3/XEH_preInit.sqf @@ -0,0 +1,7 @@ +#include "script_component.hpp" + +ADDON = false; + +#include "XEH_PREP.hpp" + +ADDON = true; diff --git a/optionals/compat_rhs_afrf3/XEH_preStart.sqf b/optionals/compat_rhs_afrf3/XEH_preStart.sqf new file mode 100644 index 0000000000..022888575e --- /dev/null +++ b/optionals/compat_rhs_afrf3/XEH_preStart.sqf @@ -0,0 +1,3 @@ +#include "script_component.hpp" + +#include "XEH_PREP.hpp" diff --git a/optionals/compat_rhs_afrf3/config.cpp b/optionals/compat_rhs_afrf3/config.cpp index 4840f8da82..82873b01e2 100644 --- a/optionals/compat_rhs_afrf3/config.cpp +++ b/optionals/compat_rhs_afrf3/config.cpp @@ -6,12 +6,13 @@ class CfgPatches { weapons[] = {}; requiredVersion = REQUIRED_VERSION; requiredAddons[] = {"rhs_c_weapons", "rhs_c_troops", "rhs_c_bmd", "rhs_c_bmp", "rhs_c_bmp3", "rhs_c_a2port_armor", "rhs_c_btr", "rhs_c_sprut", "rhs_c_t72", "rhs_c_tanks", "rhs_c_a2port_air", "rhs_c_a2port_car", "rhs_c_cars", "rhs_c_2s3", "rhs_c_rva"}; - author[]={"Ruthberg", "GitHawk"}; + author[]={"Ruthberg", "GitHawk", "BaerMitUmlaut"}; VERSION_CONFIG; }; }; #include "CfgAmmo.hpp" +#include "CfgEventHandlers.hpp" #include "CfgMagazines.hpp" #include "CfgWeapons.hpp" #include "CfgVehicles.hpp" diff --git a/optionals/compat_rhs_afrf3/functions/fnc_onCut.sqf b/optionals/compat_rhs_afrf3/functions/fnc_onCut.sqf new file mode 100644 index 0000000000..ef2efd3a92 --- /dev/null +++ b/optionals/compat_rhs_afrf3/functions/fnc_onCut.sqf @@ -0,0 +1,23 @@ +/* + * Author: BaerMitUmlaut + * Function for closing doors and retracting the hooks for RHS USF helos. + * + * Arguments: + * 0: Helicopter + * + * Return Value: + * Amount of time to wait before cutting ropes + * + * Example: + * [_vehicle] call ace_compat_rhs_afrf3_fnc_onCut + * + * Public: No + */ + +#include "..\script_component.hpp" +params ["_vehicle"]; + +_vehicle setVariable [QEGVAR(fastroping,doorsLocked), false, true]; +_vehicle animateDoor ["LeftDoor", 0]; + +2 diff --git a/optionals/compat_rhs_afrf3/functions/fnc_onPrepare.sqf b/optionals/compat_rhs_afrf3/functions/fnc_onPrepare.sqf new file mode 100644 index 0000000000..1c2b82bef8 --- /dev/null +++ b/optionals/compat_rhs_afrf3/functions/fnc_onPrepare.sqf @@ -0,0 +1,23 @@ +/* + * Author: BaerMitUmlaut + * Function for opening doors and extending the hook for most vanilla helos. + * + * Arguments: + * 0: Helicopter + * + * Return Value: + * Amount of time to wait before deploying ropes + * + * Example: + * [_vehicle] call ace_compat_rhs_afrf3_fnc_onPrepare + * + * Public: No + */ + +#include "..\script_component.hpp" +params ["_vehicle"]; + +_vehicle setVariable [QEGVAR(fastroping,doorsLocked), true, true]; +_vehicle animateDoor ["LeftDoor", 1]; + +2 diff --git a/optionals/compat_rhs_afrf3/script_component.hpp b/optionals/compat_rhs_afrf3/script_component.hpp index edf3963b1f..307b1f8de6 100644 --- a/optionals/compat_rhs_afrf3/script_component.hpp +++ b/optionals/compat_rhs_afrf3/script_component.hpp @@ -1,4 +1,4 @@ -#define COMPONENT rhs_c_weapons_comp +#define COMPONENT compat_rhs_afrf3 #include "\z\ace\addons\main\script_mod.hpp" diff --git a/optionals/compat_rhs_usf3/CfgEventHandlers.hpp b/optionals/compat_rhs_usf3/CfgEventHandlers.hpp new file mode 100644 index 0000000000..93e3311cf2 --- /dev/null +++ b/optionals/compat_rhs_usf3/CfgEventHandlers.hpp @@ -0,0 +1,11 @@ +class Extended_PreStart_EventHandlers { + class ADDON { + init = QUOTE(call COMPILE_FILE(XEH_preStart)); + }; +}; + +class Extended_PreInit_EventHandlers { + class ADDON { + init = QUOTE(call COMPILE_FILE(XEH_preInit)); + }; +}; diff --git a/optionals/compat_rhs_usf3/CfgVehicles.hpp b/optionals/compat_rhs_usf3/CfgVehicles.hpp index 87c66f7212..82bd23d5a2 100644 --- a/optionals/compat_rhs_usf3/CfgVehicles.hpp +++ b/optionals/compat_rhs_usf3/CfgVehicles.hpp @@ -1,4 +1,17 @@ -class cfgVehicles { +#define EQUIP_FRIES_ATTRIBUTE class Attributes { \ + class EGVAR(fastroping,equipFRIES) { \ + property = QEGVAR(fastroping,equipFRIES); \ + control = "Checkbox"; \ + displayName = ECSTRING(fastroping,Eden_equipFRIES); \ + tooltip = ECSTRING(fastroping,Eden_equipFRIES_Tooltip); \ + expression = QUOTE([_this] call EFUNC(fastroping,equipFRIES)); \ + typeName = "BOOL"; \ + condition = "objectVehicle"; \ + defaultValue = false; \ + }; \ +} + +class CfgVehicles { class LandVehicle; class Tank: LandVehicle { class NewTurret; @@ -44,21 +57,118 @@ class cfgVehicles { ace_repair_hitpointGroups[] = {{"era_1_hitpoint", {"era_2_hitpoint", "era_3_hitpoint", "era_4_hitpoint", "era_5_hitpoint", "era_6_hitpoint", "era_7_hitpoint", "era_8_hitpoint", "era_9_hitpoint", "era_10_hitpoint", "era_11_hitpoint", "era_12_hitpoint", "era_13_hitpoint", "era_14_hitpoint", "era_15_hitpoint", "era_16_hitpoint", "era_17_hitpoint", "era_18_hitpoint", "era_19_hitpoint", "era_20_hitpoint", "era_21_hitpoint", "era_22_hitpoint", "era_23_hitpoint", "era_24_hitpoint", "era_25_hitpoint", "era_26_hitpoint", "era_27_hitpoint", "era_28_hitpoint", "era_29_hitpoint", "era_30_hitpoint", "era_31_hitpoint", "era_32_hitpoint", "era_33_hitpoint", "era_34_hitpoint", "era_35_hitpoint", "era_36_hitpoint", "era_37_hitpoint", "era_38_hitpoint", "era_39_hitpoint", "era_40_hitpoint", "era_41_hitpoint", "era_42_hitpoint", "era_43_hitpoint", "era_44_hitpoint", "era_45_hitpoint", "era_46_hitpoint"}}}; }; - class Heli_light_03_base_F; + class Helicopter; + class Helicopter_Base_F: Helicopter { + class Eventhandlers; + }; + class Heli_Light_03_base_F: Helicopter_Base_F {}; class RHS_UH1_Base: Heli_light_03_base_F { EGVAR(refuel,fuelCapacity) = 1447; }; - class Heli_Transport_01_base_F; + class RHS_UH1Y_base: RHS_UH1_Base {}; + class RHS_UH1Y_US_base: RHS_UH1Y_base {}; + class RHS_UH1Y: RHS_UH1Y_US_base { + EGVAR(fastroping,enabled) = 2; + EGVAR(fastroping,friesType) = "ACE_friesAnchorBar"; + EGVAR(fastroping,friesAttachmentPoint)[] = {0, 2.38, -0.135}; + EGVAR(fastroping,onCut) = QFUNC(onCut); + EGVAR(fastroping,onPrepare) = QFUNC(onPrepare); + EGVAR(fastroping,ropeOrigins)[] = {"ropeOriginLeft", "ropeOriginRight"}; + + class UserActions; + class EventHandlers: EventHandlers { + class RHSUSF_EventHandlers; + }; + + EQUIP_FRIES_ATTRIBUTE; + }; + class RHS_UH1Y_FFAR: RHS_UH1Y { + class UserActions: UserActions { + class OpenCargoDoor; + class CloseCargoDoor: OpenCargoDoor { + condition = QUOTE([ARR_2(this,'doorRB')] call FUNC(canCloseDoor)); + }; + class CloseCargoLDoor: OpenCargoDoor { + condition = QUOTE([ARR_2(this,'doorLB')] call FUNC(canCloseDoor)); + }; + }; + + class EventHandlers: EventHandlers { + class RHSUSF_EventHandlers: RHSUSF_EventHandlers { + getOut = QUOTE(if !(_this getVariable [ARR_2(QUOTE(QEGVAR(fastroping,doorsLocked)),false)]) then {_this call rhs_fnc_uh60_doors}); + }; + }; + }; + + class Helicopter_Base_H: Helicopter_Base_F { + class Eventhandlers; + }; + class Heli_Transport_01_base_F: Helicopter_Base_H {}; class RHS_UH60_Base: Heli_Transport_01_base_F { EGVAR(refuel,fuelCapacity) = 1360; }; + class RHS_UH60M_base: RHS_UH60_Base {}; + class RHS_UH60M_US_base: RHS_UH60M_base {}; + class RHS_UH60M: RHS_UH60M_US_base { + EGVAR(fastroping,enabled) = 2; + EGVAR(fastroping,friesType) = "ACE_friesAnchorBar"; + EGVAR(fastroping,friesAttachmentPoint)[] = {0, 1.25, -0.65}; + EGVAR(fastroping,onCut) = QFUNC(onCut); + EGVAR(fastroping,onPrepare) = QFUNC(onPrepare); + EGVAR(fastroping,ropeOrigins)[] = {"ropeOriginLeft", "ropeOriginRight"}; + + class UserActions { + class OpenCargoDoor; + class CloseCargoDoor: OpenCargoDoor { + condition = QUOTE([ARR_2(this,'doorRB')] call FUNC(canCloseDoor)); + }; + class CloseCargoLDoor: OpenCargoDoor { + condition = QUOTE([ARR_2(this,'doorLB')] call FUNC(canCloseDoor)); + }; + }; + + class EventHandlers: EventHandlers { + class RHSUSF_EventHandlers { + getOut = QUOTE(if !(_this getVariable [ARR_2(QUOTE(QEGVAR(fastroping,doorsLocked)),false)]) then {_this call rhs_fnc_uh60_doors}); + }; + }; + + EQUIP_FRIES_ATTRIBUTE; + }; + + class RHS_UH60M_MEV: RHS_UH60M { + EGVAR(fastroping,enabled) = 0; + class Attributes { + delete EGVAR(fastroping,equipFRIES); + }; + }; + + class RHS_UH60M_MEV2: RHS_UH60M_MEV { + EGVAR(fastroping,enabled) = 2; + EQUIP_FRIES_ATTRIBUTE; + }; + class Heli_Transport_02_base_F; class RHS_CH_47F_base: Heli_Transport_02_base_F { EGVAR(refuel,fuelCapacity) = 3914; }; + class RHS_CH_47F: RHS_CH_47F_base { + EGVAR(fastroping,enabled) = 1; + EGVAR(fastroping,ropeOrigins)[] = {{0.5, -7.15, -0.95}, {-0.5, -7.15, -0.95}}; + EGVAR(fastroping,onCut) = QFUNC(onCut); + EGVAR(fastroping,onPrepare) = QFUNC(onPrepare); + + class UserActions { + class OpenCargoDoor; + class CloseCargoDoor: OpenCargoDoor { + condition = QUOTE([ARR_2(this,'ramp_anim')] call FUNC(canCloseDoor)); + }; + }; + }; + class Heli_Attack_01_base_F; class RHS_AH1Z_base: Heli_Attack_01_base_F { EGVAR(refuel,fuelCapacity) = 1600; diff --git a/optionals/compat_rhs_usf3/XEH_PREP.hpp b/optionals/compat_rhs_usf3/XEH_PREP.hpp new file mode 100644 index 0000000000..821ee657be --- /dev/null +++ b/optionals/compat_rhs_usf3/XEH_PREP.hpp @@ -0,0 +1,3 @@ +PREP(canCloseDoor); +PREP(onCut); +PREP(onPrepare); diff --git a/optionals/compat_rhs_usf3/XEH_preInit.sqf b/optionals/compat_rhs_usf3/XEH_preInit.sqf new file mode 100644 index 0000000000..a7feade1c3 --- /dev/null +++ b/optionals/compat_rhs_usf3/XEH_preInit.sqf @@ -0,0 +1,7 @@ +#include "script_component.hpp" + +ADDON = false; + +#include "XEH_PREP.hpp" + +ADDON = true; diff --git a/optionals/compat_rhs_usf3/XEH_preStart.sqf b/optionals/compat_rhs_usf3/XEH_preStart.sqf new file mode 100644 index 0000000000..022888575e --- /dev/null +++ b/optionals/compat_rhs_usf3/XEH_preStart.sqf @@ -0,0 +1,3 @@ +#include "script_component.hpp" + +#include "XEH_PREP.hpp" diff --git a/optionals/compat_rhs_usf3/config.cpp b/optionals/compat_rhs_usf3/config.cpp index ce847e969e..ef173ad1c6 100644 --- a/optionals/compat_rhs_usf3/config.cpp +++ b/optionals/compat_rhs_usf3/config.cpp @@ -6,12 +6,13 @@ class CfgPatches { weapons[] = {}; requiredVersion = REQUIRED_VERSION; requiredAddons[] = {"rhsusf_c_weapons", "rhsusf_c_troops", "rhsusf_c_m1a1", "rhsusf_c_m1a2", "RHS_US_A2_AirImport", "rhsusf_c_m109", "rhsusf_c_hmmwv", "rhsusf_c_rg33", "rhsusf_c_fmtv", "rhsusf_c_m113", "RHS_US_A2Port_Armor"}; - author[]={"Ruthberg", "GitHawk"}; + author[]={"Ruthberg", "GitHawk", "BaerMitUmlaut"}; VERSION_CONFIG; }; }; #include "CfgAmmo.hpp" +#include "CfgEventHandlers.hpp" #include "CfgMagazines.hpp" #include "CfgWeapons.hpp" #include "CfgVehicles.hpp" diff --git a/optionals/compat_rhs_usf3/functions/fnc_canCloseDoor.sqf b/optionals/compat_rhs_usf3/functions/fnc_canCloseDoor.sqf new file mode 100644 index 0000000000..bbe3ce6e9c --- /dev/null +++ b/optionals/compat_rhs_usf3/functions/fnc_canCloseDoor.sqf @@ -0,0 +1,30 @@ +/* + * Author: BaerMitUmlaut + * Checks if the door can be closed. + * + * Arguments: + * 0: Helicopter + * 1: Door + * + * Return Value: + * Door can be closed + * + * Example: + * [_vehicle, "DoorLB"] call ace_compat_rhs_usf3_fnc_canCloseDoor + * + * Public: No + */ + +#include "..\script_component.hpp" +params ["_vehicle", "_door"]; + +(_vehicle doorPhase _door > 0) && +{alive _vehicle} && +{!(_vehicle getVariable QEGVAR(fastroping,doorsLocked),false])} && +{ + if (_vehicle isKindOf "RHS_CH_47F") then { + ACE_player in [driver _vehicle, _vehicle turretUnit [3], _vehicle turretUnit [4]] + } else { + ACE_player in _vehicle + } +} diff --git a/optionals/compat_rhs_usf3/functions/fnc_onCut.sqf b/optionals/compat_rhs_usf3/functions/fnc_onCut.sqf new file mode 100644 index 0000000000..26177bd15a --- /dev/null +++ b/optionals/compat_rhs_usf3/functions/fnc_onCut.sqf @@ -0,0 +1,36 @@ +/* + * Author: BaerMitUmlaut + * Function for closing doors and retracting the hooks for RHS USF helos. + * + * Arguments: + * 0: Helicopter + * + * Return Value: + * Amount of time to wait before cutting ropes + * + * Example: + * [_vehicle] call ace_compat_rhs_usf3_fnc_onCut + * + * Public: No + */ + +#include "..\script_component.hpp" +params ["_vehicle"]; + +_vehicle setVariable [QEGVAR(fastroping,doorsLocked), false, true]; + +private _fries = _vehicle getVariable [QEGVAR(fastroping,FRIES), objNull]; +if !(isNull _fries) then { + _fries animate ["extendHookRight", 0]; + _fries animate ["extendHookLeft", 0]; + [{ + _this animateDoor ["doorRB", 0]; + _this animateDoor ["doorLB", 0]; + }, _vehicle, 2] call EFUNC(common,waitAndExecute); + + 4 +} else { + _vehicle animateDoor ["ramp_anim", 0]; + + 2 +}; diff --git a/optionals/compat_rhs_usf3/functions/fnc_onPrepare.sqf b/optionals/compat_rhs_usf3/functions/fnc_onPrepare.sqf new file mode 100644 index 0000000000..25b244c810 --- /dev/null +++ b/optionals/compat_rhs_usf3/functions/fnc_onPrepare.sqf @@ -0,0 +1,38 @@ +/* + * Author: BaerMitUmlaut + * Function for opening doors and extending the hook for most vanilla helos. + * + * Arguments: + * 0: Helicopter + * + * Return Value: + * Amount of time to wait before deploying ropes + * + * Example: + * [_vehicle] call ace_compat_rhs_usf3_fnc_onPrepare + * + * Public: No + */ + +#include "..\script_component.hpp" +params ["_vehicle"]; +private ["_fries", "_waitTime"]; + +_vehicle setVariable [QEGVAR(fastroping,doorsLocked), true, true]; + +_waitTime = 2; + +_vehicle animateDoor ["doorRB", 1]; +_vehicle animateDoor ["doorLB", 1]; +_vehicle animateDoor ["ramp_anim", 1]; + +_fries = _vehicle getVariable [QEGVAR(fastroping,FRIES), objNull]; +if !(isNull _fries) then { + [{ + _this animate ["extendHookRight", 1]; + _this animate ["extendHookLeft", 1]; + }, _fries, 2] call EFUNC(common,waitAndExecute); + _waitTime = 4; +}; + +_waitTime diff --git a/optionals/compat_rhs_usf3/script_component.hpp b/optionals/compat_rhs_usf3/script_component.hpp index c0a5bbf1f4..32aecef74e 100644 --- a/optionals/compat_rhs_usf3/script_component.hpp +++ b/optionals/compat_rhs_usf3/script_component.hpp @@ -1,4 +1,4 @@ -#define COMPONENT rhsusf_c_weapons_comp +#define COMPONENT compat_rhs_usf3 #include "\z\ace\addons\main\script_mod.hpp" From 46367c003c3f94c218bb05922fb98d7dbe079263 Mon Sep 17 00:00:00 2001 From: SzwedzikPL Date: Sun, 6 Mar 2016 18:19:19 +0100 Subject: [PATCH 41/90] Fixed EH parameters, prevent wrong fastroping option due to inherition --- optionals/compat_rhs_afrf3/CfgVehicles.hpp | 7 +++++-- optionals/compat_rhs_usf3/CfgVehicles.hpp | 5 ++--- 2 files changed, 7 insertions(+), 5 deletions(-) diff --git a/optionals/compat_rhs_afrf3/CfgVehicles.hpp b/optionals/compat_rhs_afrf3/CfgVehicles.hpp index 5402a2faf1..87d8673cd8 100644 --- a/optionals/compat_rhs_afrf3/CfgVehicles.hpp +++ b/optionals/compat_rhs_afrf3/CfgVehicles.hpp @@ -208,6 +208,7 @@ class CfgVehicles { class Heli_Light_02_base_F: Helicopter_Base_H {}; class RHS_Mi8_base : Heli_Light_02_base_F { EGVAR(refuel,fuelCapacity) = 3700; + EGVAR(fastroping,enabled) = 0; class EventHandlers: EventHandlers { class RHS_EventHandlers; }; @@ -228,7 +229,7 @@ class CfgVehicles { class EventHandlers: EventHandlers { class RHS_EventHandlers: RHS_EventHandlers { - getOut = QUOTE(if !(_this getVariable [ARR_2(QUOTE(QEGVAR(fastroping,doorsLocked)),false)]) then {_this call rhs_fnc_mi8_doors}); + getOut = QUOTE(if !((_this select 0) getVariable [ARR_2(QUOTE(QEGVAR(fastroping,doorsLocked)),false)]) then {_this call rhs_fnc_mi8_doors}); }; }; }; @@ -250,7 +251,7 @@ class CfgVehicles { class EventHandlers: EventHandlers { class RHS_EventHandlers: RHS_EventHandlers { - getOut = QUOTE(if !(_this getVariable [ARR_2(QUOTE(QEGVAR(fastroping,doorsLocked)),false)]) then {_this call rhs_fnc_mi8_doors}); + getOut = QUOTE(if !((_this select 0) getVariable [ARR_2(QUOTE(QEGVAR(fastroping,doorsLocked)),false)]) then {_this call rhs_fnc_mi8_doors}); }; }; }; @@ -258,10 +259,12 @@ class CfgVehicles { class Heli_Attack_02_base_F; class RHS_Ka52_base : Heli_Attack_02_base_F { EGVAR(refuel,fuelCapacity) = 1870; + EGVAR(fastroping,enabled) = 0; }; class RHS_Mi24_base : Heli_Attack_02_base_F { EGVAR(refuel,fuelCapacity) = 1851; + EGVAR(fastroping,enabled) = 0; }; class rhs_t80b : rhs_tank_base { diff --git a/optionals/compat_rhs_usf3/CfgVehicles.hpp b/optionals/compat_rhs_usf3/CfgVehicles.hpp index 82bd23d5a2..2d3b28fbae 100644 --- a/optionals/compat_rhs_usf3/CfgVehicles.hpp +++ b/optionals/compat_rhs_usf3/CfgVehicles.hpp @@ -96,7 +96,7 @@ class CfgVehicles { class EventHandlers: EventHandlers { class RHSUSF_EventHandlers: RHSUSF_EventHandlers { - getOut = QUOTE(if !(_this getVariable [ARR_2(QUOTE(QEGVAR(fastroping,doorsLocked)),false)]) then {_this call rhs_fnc_uh60_doors}); + getOut = QUOTE(if !((_this select 0) getVariable [ARR_2(QUOTE(QEGVAR(fastroping,doorsLocked)),false)]) then {_this call rhs_fnc_uh60_doors}); }; }; }; @@ -128,10 +128,9 @@ class CfgVehicles { condition = QUOTE([ARR_2(this,'doorLB')] call FUNC(canCloseDoor)); }; }; - class EventHandlers: EventHandlers { class RHSUSF_EventHandlers { - getOut = QUOTE(if !(_this getVariable [ARR_2(QUOTE(QEGVAR(fastroping,doorsLocked)),false)]) then {_this call rhs_fnc_uh60_doors}); + getOut = QUOTE(if !((_this select 0) getVariable [ARR_2(QUOTE(QEGVAR(fastroping,doorsLocked)),false)]) then {_this call rhs_fnc_uh60_doors}); }; }; From 45383a0c1d39e2ac46a9bbe3f68600be2accac2a Mon Sep 17 00:00:00 2001 From: BaerMitUmlaut Date: Mon, 7 Mar 2016 18:42:43 +0100 Subject: [PATCH 42/90] Fixed missing bracket --- optionals/compat_rhs_usf3/functions/fnc_canCloseDoor.sqf | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/optionals/compat_rhs_usf3/functions/fnc_canCloseDoor.sqf b/optionals/compat_rhs_usf3/functions/fnc_canCloseDoor.sqf index bbe3ce6e9c..909875cc15 100644 --- a/optionals/compat_rhs_usf3/functions/fnc_canCloseDoor.sqf +++ b/optionals/compat_rhs_usf3/functions/fnc_canCloseDoor.sqf @@ -20,7 +20,7 @@ params ["_vehicle", "_door"]; (_vehicle doorPhase _door > 0) && {alive _vehicle} && -{!(_vehicle getVariable QEGVAR(fastroping,doorsLocked),false])} && +{!(_vehicle getVariable [QEGVAR(fastroping,doorsLocked),false])} && { if (_vehicle isKindOf "RHS_CH_47F") then { ACE_player in [driver _vehicle, _vehicle turretUnit [3], _vehicle turretUnit [4]] From 8c867e5e55bd9e7f65305d99845cbf5406d21cf6 Mon Sep 17 00:00:00 2001 From: BaerMitUmlaut Date: Mon, 7 Mar 2016 20:15:55 +0100 Subject: [PATCH 43/90] Standardised script_component inclusion --- optionals/compat_rhs_afrf3/functions/fnc_onCut.sqf | 2 +- optionals/compat_rhs_afrf3/functions/fnc_onPrepare.sqf | 2 +- optionals/compat_rhs_afrf3/functions/script_component.hpp | 1 + optionals/compat_rhs_usf3/functions/fnc_canCloseDoor.sqf | 2 +- optionals/compat_rhs_usf3/functions/fnc_onCut.sqf | 2 +- optionals/compat_rhs_usf3/functions/fnc_onPrepare.sqf | 2 +- optionals/compat_rhs_usf3/functions/script_component.hpp | 1 + 7 files changed, 7 insertions(+), 5 deletions(-) create mode 100644 optionals/compat_rhs_afrf3/functions/script_component.hpp create mode 100644 optionals/compat_rhs_usf3/functions/script_component.hpp diff --git a/optionals/compat_rhs_afrf3/functions/fnc_onCut.sqf b/optionals/compat_rhs_afrf3/functions/fnc_onCut.sqf index ef2efd3a92..6a249a55c4 100644 --- a/optionals/compat_rhs_afrf3/functions/fnc_onCut.sqf +++ b/optionals/compat_rhs_afrf3/functions/fnc_onCut.sqf @@ -14,7 +14,7 @@ * Public: No */ -#include "..\script_component.hpp" +#include "script_component.hpp" params ["_vehicle"]; _vehicle setVariable [QEGVAR(fastroping,doorsLocked), false, true]; diff --git a/optionals/compat_rhs_afrf3/functions/fnc_onPrepare.sqf b/optionals/compat_rhs_afrf3/functions/fnc_onPrepare.sqf index 1c2b82bef8..8a9dc9471e 100644 --- a/optionals/compat_rhs_afrf3/functions/fnc_onPrepare.sqf +++ b/optionals/compat_rhs_afrf3/functions/fnc_onPrepare.sqf @@ -14,7 +14,7 @@ * Public: No */ -#include "..\script_component.hpp" +#include "script_component.hpp" params ["_vehicle"]; _vehicle setVariable [QEGVAR(fastroping,doorsLocked), true, true]; diff --git a/optionals/compat_rhs_afrf3/functions/script_component.hpp b/optionals/compat_rhs_afrf3/functions/script_component.hpp new file mode 100644 index 0000000000..afabd202be --- /dev/null +++ b/optionals/compat_rhs_afrf3/functions/script_component.hpp @@ -0,0 +1 @@ +#include "\z\ace\addons\compat_rhs_afrf3\script_component.hpp" diff --git a/optionals/compat_rhs_usf3/functions/fnc_canCloseDoor.sqf b/optionals/compat_rhs_usf3/functions/fnc_canCloseDoor.sqf index 909875cc15..61269519ed 100644 --- a/optionals/compat_rhs_usf3/functions/fnc_canCloseDoor.sqf +++ b/optionals/compat_rhs_usf3/functions/fnc_canCloseDoor.sqf @@ -15,7 +15,7 @@ * Public: No */ -#include "..\script_component.hpp" +#include "script_component.hpp" params ["_vehicle", "_door"]; (_vehicle doorPhase _door > 0) && diff --git a/optionals/compat_rhs_usf3/functions/fnc_onCut.sqf b/optionals/compat_rhs_usf3/functions/fnc_onCut.sqf index 26177bd15a..3663a10bd5 100644 --- a/optionals/compat_rhs_usf3/functions/fnc_onCut.sqf +++ b/optionals/compat_rhs_usf3/functions/fnc_onCut.sqf @@ -14,7 +14,7 @@ * Public: No */ -#include "..\script_component.hpp" +#include "script_component.hpp" params ["_vehicle"]; _vehicle setVariable [QEGVAR(fastroping,doorsLocked), false, true]; diff --git a/optionals/compat_rhs_usf3/functions/fnc_onPrepare.sqf b/optionals/compat_rhs_usf3/functions/fnc_onPrepare.sqf index 25b244c810..3e655a0aca 100644 --- a/optionals/compat_rhs_usf3/functions/fnc_onPrepare.sqf +++ b/optionals/compat_rhs_usf3/functions/fnc_onPrepare.sqf @@ -14,7 +14,7 @@ * Public: No */ -#include "..\script_component.hpp" +#include "script_component.hpp" params ["_vehicle"]; private ["_fries", "_waitTime"]; diff --git a/optionals/compat_rhs_usf3/functions/script_component.hpp b/optionals/compat_rhs_usf3/functions/script_component.hpp new file mode 100644 index 0000000000..c2cdf03c81 --- /dev/null +++ b/optionals/compat_rhs_usf3/functions/script_component.hpp @@ -0,0 +1 @@ +#include "\z\ace\addons\compat_rhs_usf3\script_component.hpp" From 35857f45235cac8199c742e56ca93a761f774a7f Mon Sep 17 00:00:00 2001 From: BaerMitUmlaut Date: Mon, 7 Mar 2016 18:27:12 +0100 Subject: [PATCH 44/90] Cleanup canPrepareFRIES --- addons/fastroping/functions/fnc_canPrepareFRIES.sqf | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) diff --git a/addons/fastroping/functions/fnc_canPrepareFRIES.sqf b/addons/fastroping/functions/fnc_canPrepareFRIES.sqf index ef33a4c7ff..67e2165c3f 100644 --- a/addons/fastroping/functions/fnc_canPrepareFRIES.sqf +++ b/addons/fastroping/functions/fnc_canPrepareFRIES.sqf @@ -19,7 +19,6 @@ params ["_vehicle"]; private _config = configFile >> "CfgVehicles" >> typeOf _vehicle; -(isNumber (_config >> QGVAR(enabled)) && -{(getNumber (_config >> QGVAR(enabled)) == 1) || {!(isNull (_vehicle getVariable [QGVAR(FRIES), objNull]))}} && +((getNumber (_config >> QGVAR(enabled)) == 1) || {!(isNull (_vehicle getVariable [QGVAR(FRIES), objNull]))}) && {(_vehicle getVariable [QGVAR(deploymentStage), 0]) == 0} && -{isText (_config >> QGVAR(onPrepare))}) +{getText (_config >> QGVAR(onPrepare)) != ""} From e605ede04a501e99b1f887b93e76cb6257c06350 Mon Sep 17 00:00:00 2001 From: commy2 Date: Tue, 8 Mar 2016 01:19:32 +0100 Subject: [PATCH 45/90] execute addActionEvents in unscheduled env --- addons/common/functions/fnc_addActionEventHandler.sqf | 2 +- addons/common/functions/fnc_addActionMenuEventHandler.sqf | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/addons/common/functions/fnc_addActionEventHandler.sqf b/addons/common/functions/fnc_addActionEventHandler.sqf index fe641010e4..56d2de16db 100644 --- a/addons/common/functions/fnc_addActionEventHandler.sqf +++ b/addons/common/functions/fnc_addActionEventHandler.sqf @@ -45,7 +45,7 @@ if (_actionID == -1) then { private _addAction = call compile format [ "[ '', - {if (inputAction '%1' == 0) exitWith {}; {if (_this call (_x select 0)) then {_this call (_x select 1)}} forEach (((_this select 0) getVariable '%2') select 1 select 2)}, + {[{if (inputAction '%1' == 0) exitWith {}; {if (_this call (_x select 0)) then {_this call (_x select 1)}} forEach (((_this select 0) getVariable '%2') select 1 select 2)}, _this] call CBA_fnc_directCall}, nil, -1, false, diff --git a/addons/common/functions/fnc_addActionMenuEventHandler.sqf b/addons/common/functions/fnc_addActionMenuEventHandler.sqf index e68507ae7b..c86cf45f17 100644 --- a/addons/common/functions/fnc_addActionMenuEventHandler.sqf +++ b/addons/common/functions/fnc_addActionMenuEventHandler.sqf @@ -52,7 +52,7 @@ _actionIDs pushBack _id; private _addAction = call compile format [ "[ '%2', - {if (inputAction '%1' == 0) then {if (_this call (%3 select 2)) then {_this call (%3 select 3)}} else {_this call (%3 select 1)}}, + {[{if (inputAction '%1' == 0) then {if (_this call (%3 select 2)) then {_this call (%3 select 3)}} else {_this call (%3 select 1)}}, _this] call CBA_fnc_directCall}, nil, %4, false, From b5e95f394501d8ed6eccafdda36f2dc0233f206e Mon Sep 17 00:00:00 2001 From: PabstMirror Date: Tue, 8 Mar 2016 01:17:40 -0600 Subject: [PATCH 46/90] Add some names/descriptions to settings configs --- addons/advanced_ballistics/ACE_Settings.hpp | 11 ++++ addons/explosives/ACE_Settings.hpp | 4 ++ addons/interaction/ACE_Settings.hpp | 2 + addons/medical/ACE_Settings.hpp | 60 ++++++++++++++++++++- addons/microdagr/ACE_Settings.hpp | 4 +- addons/mk6mortar/ACE_Settings.hpp | 8 +++ addons/rearm/ACE_Settings.hpp | 1 + addons/refuel/ACE_Settings.hpp | 1 + addons/respawn/ACE_Settings.hpp | 4 ++ addons/spectator/ACE_Settings.hpp | 8 +++ addons/switchunits/ACE_Settings.hpp | 12 +++++ addons/vehiclelock/ACE_Settings.hpp | 10 +++- addons/viewdistance/ACE_Settings.hpp | 6 +++ addons/zeus/ACE_Settings.hpp | 10 ++++ 14 files changed, 136 insertions(+), 5 deletions(-) diff --git a/addons/advanced_ballistics/ACE_Settings.hpp b/addons/advanced_ballistics/ACE_Settings.hpp index d88a9b1148..9815cc8491 100644 --- a/addons/advanced_ballistics/ACE_Settings.hpp +++ b/addons/advanced_ballistics/ACE_Settings.hpp @@ -1,29 +1,34 @@ class ACE_Settings { class GVAR(enabled) { + category = CSTRING(DisplayName); displayName = CSTRING(enabled_DisplayName); description = CSTRING(enabled_Description); typeName = "BOOL"; value = 0; }; class GVAR(simulateForSnipers) { + category = CSTRING(DisplayName); displayName = CSTRING(simulateForSnipers_DisplayName); description = CSTRING(simulateForSnipers_Description); typeName = "BOOL"; value = 1; }; class GVAR(simulateForGroupMembers) { + category = CSTRING(DisplayName); displayName = CSTRING(simulateForGroupMembers_DisplayName); description = CSTRING(simulateForGroupMembers_Description); typeName = "BOOL"; value = 0; }; class GVAR(simulateForEveryone) { + category = CSTRING(DisplayName); displayName = CSTRING(simulateForEveryone_DisplayName); description = CSTRING(simulateForEveryone_Description); typeName = "BOOL"; value = 0; }; class GVAR(disabledInFullAutoMode) { + category = CSTRING(DisplayName); displayName = CSTRING(disabledInFullAutoMod_DisplayName); description = CSTRING(disabledInFullAutoMod_Description); typeName = "BOOL"; @@ -31,6 +36,7 @@ class ACE_Settings { }; /* // TODO: We currently do not have firedEHs on vehicles class GVAR(vehicleGunnerEnabled) { + category = CSTRING(DisplayName); displayName = "Enabled For Vehicle Gunners"; description = "Enables advanced ballistics for vehicle gunners"; typeName = "BOOL"; @@ -38,30 +44,35 @@ class ACE_Settings { }; */ class GVAR(ammoTemperatureEnabled) { + category = CSTRING(DisplayName); displayName = CSTRING(ammoTemperatureEnabled_DisplayName); description = CSTRING(ammoTemperatureEnabled_Description); typeName = "BOOL"; value = 1; }; class GVAR(barrelLengthInfluenceEnabled) { + category = CSTRING(DisplayName); displayName = CSTRING(barrelLengthInfluenceEnabled_DisplayName); description = CSTRING(barrelLengthInfluenceEnabled_Description); typeName = "BOOL"; value = 1; }; class GVAR(bulletTraceEnabled) { + category = CSTRING(DisplayName); displayName = CSTRING(bulletTraceEnabled_DisplayName); description = CSTRING(bulletTraceEnabled_Description); typeName = "BOOL"; value = 1; }; class GVAR(simulationInterval) { + category = CSTRING(DisplayName); displayName = CSTRING(simulationInterval_DisplayName); description = CSTRING(simulationInterval_Description); typeName = "SCALAR"; value = 0.0; }; class GVAR(simulationRadius) { + category = CSTRING(DisplayName); displayName = CSTRING(simulationRadius_DisplayName); description = CSTRING(simulationRadius_Description); typeName = "SCALAR"; diff --git a/addons/explosives/ACE_Settings.hpp b/addons/explosives/ACE_Settings.hpp index ef6a723d5b..ceb6b62d25 100644 --- a/addons/explosives/ACE_Settings.hpp +++ b/addons/explosives/ACE_Settings.hpp @@ -1,9 +1,13 @@ class ACE_Settings { class GVAR(RequireSpecialist) { + displayName = CSTRING(RequireSpecialist_DisplayName); + description = CSTRING(RequireSpecialist_Description); value = 0; typeName = "BOOL"; }; class GVAR(PunishNonSpecialists) { + displayName = CSTRING(PunishNonSpecialists_DisplayName); + description = CSTRING(PunishNonSpecialists_Description); value = 1; typeName = "BOOL"; }; diff --git a/addons/interaction/ACE_Settings.hpp b/addons/interaction/ACE_Settings.hpp index a4e6dad42c..1cb8b747ef 100644 --- a/addons/interaction/ACE_Settings.hpp +++ b/addons/interaction/ACE_Settings.hpp @@ -1,6 +1,8 @@ class ACE_Settings { class GVAR(EnableTeamManagement) { + displayName = CSTRING(EnableTeamManagement_DisplayName); + description = CSTRING(EnableTeamManagement_Description); value = 1; typeName = "BOOL"; }; diff --git a/addons/medical/ACE_Settings.hpp b/addons/medical/ACE_Settings.hpp index 429cb995a1..e029f86d00 100644 --- a/addons/medical/ACE_Settings.hpp +++ b/addons/medical/ACE_Settings.hpp @@ -1,12 +1,16 @@ class ACE_Settings { class GVAR(level) { category = CSTRING(Category_Medical); + displayName = CSTRING(MedicalSettings_level_DisplayName); + description = CSTRING(MedicalSettings_level_Description); value = 1; typeName = "SCALAR"; values[] = {"Disabled", "Basic", "Advanced"}; }; class GVAR(medicSetting) { category = CSTRING(Category_Medical); + displayName = CSTRING(MedicalSettings_medicSetting_DisplayName); + description = CSTRING(MedicalSettings_medicSetting_Description); value = 1; typeName = "SCALAR"; values[] = {"Disabled", "Normal", "Advanced"}; @@ -20,6 +24,8 @@ class ACE_Settings { }; class GVAR(enableFor) { category = CSTRING(Category_Medical); + displayName = CSTRING(AdvancedMedicalSettings_enableFor_DisplayName); + description = CSTRING(AdvancedMedicalSettings_enableFor_Description); value = 0; typeName = "SCALAR"; values[] = {"Players only", "Players and AI"}; @@ -31,11 +37,15 @@ class ACE_Settings { }; class GVAR(bleedingCoefficient) { category = CSTRING(Category_Medical); + displayName = CSTRING(MedicalSettings_bleedingCoefficient_DisplayName); + description = CSTRING(MedicalSettings_bleedingCoefficient_Description); typeName = "SCALAR"; value = 1; }; class GVAR(painCoefficient) { category = CSTRING(Category_Medical); + displayName = CSTRING(MedicalSettings_painCoefficient_DisplayName); + description = CSTRING(MedicalSettings_painCoefficient_Description); typeName = "SCALAR"; value = 1; }; @@ -51,58 +61,80 @@ class ACE_Settings { }; class GVAR(enableAdvancedWounds) { category = CSTRING(Category_Medical); + displayName = CSTRING(AdvancedMedicalSettings_enableAdvancedWounds_DisplayName); + description = CSTRING(AdvancedMedicalSettings_enableAdvancedWounds_Description); typeName = "BOOL"; value = false; }; class GVAR(enableVehicleCrashes) { category = CSTRING(Category_Medical); + displayName = CSTRING(AdvancedMedicalSettings_enableVehicleCrashes_DisplayName); + description = CSTRING(AdvancedMedicalSettings_enableVehicleCrashes_Description); typeName = "BOOL"; value = 1; }; class GVAR(enableScreams) { category = CSTRING(Category_Medical); + displayName = CSTRING(MedicalSettings_enableScreams_DisplayName); + description = CSTRING(MedicalSettings_enableScreams_Description); typeName = "BOOL"; value = 1; }; class GVAR(playerDamageThreshold) { category = CSTRING(Category_Medical); + displayName = CSTRING(MedicalSettings_playerDamageThreshold_DisplayName); + description = CSTRING(MedicalSettings_playerDamageThreshold_Description); typeName = "SCALAR"; value = 1; }; class GVAR(AIDamageThreshold) { category = CSTRING(Category_Medical); + displayName = CSTRING(MedicalSettings_AIDamageThreshold_DisplayName); + description = CSTRING(MedicalSettings_AIDamageThreshold_Description); typeName = "SCALAR"; value = 1; }; class GVAR(enableUnconsciousnessAI) { category = CSTRING(Category_Medical); + displayName = CSTRING(MedicalSettings_enableUnconsciousnessAI_DisplayName); + description = CSTRING(MedicalSettings_enableUnconsciousnessAI_Description); value = 1; typeName = "SCALAR"; values[] = {"Disabled", "50/50", "Enabled"}; }; class GVAR(remoteControlledAI) { category = CSTRING(Category_Medical); + displayName = CSTRING(MedicalSettings_remoteControlledAI_DisplayName); + description = CSTRING(MedicalSettings_remoteControlledAI_Description); typeName = "BOOL"; value = 1; }; class GVAR(preventInstaDeath) { category = CSTRING(Category_Medical); + displayName = CSTRING(MedicalSettings_preventInstaDeath_DisplayName); + description = CSTRING(MedicalSettings_preventInstaDeath_Description); typeName = "BOOL"; value = 0; }; class GVAR(enableRevive) { category = CSTRING(Category_Medical); + displayName = CSTRING(ReviveSettings_enableRevive_DisplayName); + description = CSTRING(ReviveSettings_enableRevive_Description); typeName = "SCALAR"; value = 0; values[] = {"Disabled", "Players only", "Players and AI"}; }; class GVAR(maxReviveTime) { category = CSTRING(Category_Medical); + displayName = CSTRING(ReviveSettings_maxReviveTime_DisplayName); + description = CSTRING(ReviveSettings_maxReviveTime_Description); typeName = "SCALAR"; value = 120; }; class GVAR(amountOfReviveLives) { category = CSTRING(Category_Medical); + displayName = CSTRING(ReviveSettings_amountOfReviveLives_DisplayName); + description = CSTRING(ReviveSettings_amountOfReviveLives_Description); typeName = "SCALAR"; value = -1; }; @@ -113,6 +145,8 @@ class ACE_Settings { }; class GVAR(allowLitterCreation) { category = CSTRING(Category_Medical); + displayName = CSTRING(MedicalSettings_allowLitterCreation_DisplayName); + description = CSTRING(MedicalSettings_allowLitterCreation_Description); typeName = "BOOL"; value = 1; }; @@ -130,53 +164,71 @@ class ACE_Settings { }; class GVAR(litterCleanUpDelay) { category = CSTRING(Category_Medical); + displayName = CSTRING(MedicalSettings_litterCleanUpDelay_DisplayName); + description = CSTRING(MedicalSettings_litterCleanUpDelay_Description); typeName = "SCALAR"; value = 0; }; class GVAR(medicSetting_basicEpi) { category = CSTRING(Category_Medical); + displayName = CSTRING(BasicMedicalSettings_medicSetting_basicEpi_DisplayName); + description = CSTRING(BasicMedicalSettings_medicSetting_basicEpi_Description); typeName = "SCALAR"; value = 1; values[] = {"Anyone", "Medics only", "Doctors only"}; }; class GVAR(medicSetting_PAK) { category = CSTRING(Category_Medical); + displayName = CSTRING(AdvancedMedicalSettings_medicSetting_PAK_DisplayName); + description = CSTRING(AdvancedMedicalSettings_medicSetting_PAK_Description); typeName = "SCALAR"; value = 1; values[] = {"Anyone", "Medics only", "Doctors only"}; }; class GVAR(medicSetting_SurgicalKit) { category = CSTRING(Category_Medical); + displayName = CSTRING(AdvancedMedicalSettings_medicSetting_SurgicalKit_DisplayName); + description = CSTRING(AdvancedMedicalSettings_medicSetting_SurgicalKit_Description); typeName = "SCALAR"; value = 1; values[] = {"Anyone", "Medics only", "Doctors only"}; }; class GVAR(consumeItem_PAK) { category = CSTRING(Category_Medical); + displayName = CSTRING(AdvancedMedicalSettings_consumeItem_PAK_DisplayName); + description = CSTRING(AdvancedMedicalSettings_consumeItem_PAK_Description); typeName = "SCALAR"; value = 0; values[] = {"No", "Yes"}; }; class GVAR(consumeItem_SurgicalKit) { category = CSTRING(Category_Medical); + displayName = CSTRING(AdvancedMedicalSettings_consumeItem_SurgicalKit_DisplayName); + description = CSTRING(AdvancedMedicalSettings_consumeItem_SurgicalKit_Description); typeName = "SCALAR"; value = 0; values[] = {"No", "Yes"}; }; class GVAR(useLocation_basicEpi) { category = CSTRING(Category_Medical); + displayName = CSTRING(BasicMedicalSettings_useLocation_basicEpi_DisplayName); + description = CSTRING(BasicMedicalSettings_useLocation_basicEpi_Description); typeName = "SCALAR"; value = 0; values[] = {CSTRING(AdvancedMedicalSettings_anywhere), CSTRING(AdvancedMedicalSettings_vehicle), CSTRING(AdvancedMedicalSettings_facility), CSTRING(AdvancedMedicalSettings_vehicleAndFacility), ECSTRING(common,Disabled)}; }; class GVAR(useLocation_PAK) { category = CSTRING(Category_Medical); + displayName = CSTRING(AdvancedMedicalSettings_useLocation_PAK_DisplayName); + description = CSTRING(AdvancedMedicalSettings_useLocation_PAK_Description); typeName = "SCALAR"; value = 3; values[] = {CSTRING(AdvancedMedicalSettings_anywhere), CSTRING(AdvancedMedicalSettings_vehicle), CSTRING(AdvancedMedicalSettings_facility), CSTRING(AdvancedMedicalSettings_vehicleAndFacility), ECSTRING(common,Disabled)}; }; class GVAR(useLocation_SurgicalKit) { category = CSTRING(Category_Medical); + displayName = CSTRING(AdvancedMedicalSettings_useLocation_SurgicalKit_DisplayName); + description = CSTRING(AdvancedMedicalSettings_useLocation_SurgicalKit_Description); typeName = "SCALAR"; value = 2; values[] = {CSTRING(AdvancedMedicalSettings_anywhere), CSTRING(AdvancedMedicalSettings_vehicle), CSTRING(AdvancedMedicalSettings_facility), CSTRING(AdvancedMedicalSettings_vehicleAndFacility), ECSTRING(common,Disabled)}; @@ -199,17 +251,23 @@ class ACE_Settings { }; class GVAR(keepLocalSettingsSynced) { category = CSTRING(Category_Medical); + displayName = CSTRING(MedicalSettings_keepLocalSettingsSynced_DisplayName); + description = CSTRING(MedicalSettings_keepLocalSettingsSynced_Description); typeName = "BOOL"; value = 1; }; class GVAR(healHitPointAfterAdvBandage) { category = CSTRING(Category_Medical); + displayName = CSTRING(AdvancedMedicalSettings_healHitPointAfterAdvBandage_DisplayName); + description = CSTRING(AdvancedMedicalSettings_healHitPointAfterAdvBandage_Description); displayName = CSTRING(healHitPointAfterAdvBandage); typeName = "BOOL"; value = 0; }; class GVAR(painIsOnlySuppressed) { category = CSTRING(Category_Medical); + displayName = CSTRING(AdvancedMedicalSettings_painIsOnlySuppressed_DisplayName); + description = CSTRING(AdvancedMedicalSettings_painIsOnlySuppressed_Description); displayName = CSTRING(painIsOnlySuppressed); typeName = "BOOL"; value = 1; @@ -232,7 +290,6 @@ class ACE_Settings { typeName = "BOOL"; value = 0; }; - class GVAR(menuTypeStyle) { category = CSTRING(Category_Medical); displayName = CSTRING(menuTypeDisplay); @@ -242,7 +299,6 @@ class ACE_Settings { values[] = {CSTRING(useSelection), CSTRING(useRadial), "Disabled"}; isClientSettable = 1; }; - class GVAR(delayUnconCaptive) { category = CSTRING(Category_Medical); displayName = CSTRING(MedicalSettings_delayUnconCaptive_DisplayName); diff --git a/addons/microdagr/ACE_Settings.hpp b/addons/microdagr/ACE_Settings.hpp index db175e7303..4cf83794dd 100644 --- a/addons/microdagr/ACE_Settings.hpp +++ b/addons/microdagr/ACE_Settings.hpp @@ -1,7 +1,9 @@ class ACE_Settings { class GVAR(MapDataAvailable) { + displayName = CSTRING(MapDataAvailable_DisplayName); + description = CSTRING(MapDataAvailable_Description); value = 2; typeName = "SCALAR"; isClientSettable = 0; }; -}; \ No newline at end of file +}; diff --git a/addons/mk6mortar/ACE_Settings.hpp b/addons/mk6mortar/ACE_Settings.hpp index 6d1eebf942..cd7d4e64cb 100644 --- a/addons/mk6mortar/ACE_Settings.hpp +++ b/addons/mk6mortar/ACE_Settings.hpp @@ -1,21 +1,29 @@ class ACE_Settings { //These settings effect gameplay difficutly: defaults will leave the mortar the same as vanilla class GVAR(airResistanceEnabled) { + displayName = CSTRING(airResistanceEnabled_DisplayName); + description = CSTRING(airResistanceEnabled_Description); value = 0; typeName = "BOOL"; isClientSetable = 0; }; class GVAR(allowComputerRangefinder) { + displayName = CSTRING(allowComputerRangefinder_DisplayName); + description = CSTRING(allowComputerRangefinder_Description); value = 1; typeName = "BOOL"; isClientSetable = 0; }; class GVAR(allowCompass) { + displayName = CSTRING(allowCompass_DisplayName); + description = CSTRING(allowCompass_Description); value = 1; typeName = "BOOL"; isClientSetable = 0; }; class GVAR(useAmmoHandling) { + displayName = CSTRING(useAmmoHandling_DisplayName); + description = CSTRING(useAmmoHandling_Description); value = 0; typeName = "BOOL"; isClientSetable = 0; diff --git a/addons/rearm/ACE_Settings.hpp b/addons/rearm/ACE_Settings.hpp index f4d6562807..798bbd7650 100644 --- a/addons/rearm/ACE_Settings.hpp +++ b/addons/rearm/ACE_Settings.hpp @@ -1,5 +1,6 @@ class ACE_Settings { class GVAR(level) { + category = ECSTRING(OptionsMenu,CategoryLogistics); displayName = CSTRING(RearmSettings_level_DisplayName); description = CSTRING(RearmSettings_level_Description); value = 0; diff --git a/addons/refuel/ACE_Settings.hpp b/addons/refuel/ACE_Settings.hpp index 0ae0accaad..b38a880641 100644 --- a/addons/refuel/ACE_Settings.hpp +++ b/addons/refuel/ACE_Settings.hpp @@ -1,5 +1,6 @@ class ACE_Settings { class GVAR(rate) { + category = ECSTRING(OptionsMenu,CategoryLogistics); displayName = CSTRING(RefuelSettings_speed_DisplayName); description = CSTRING(RefuelSettings_speed_Description); value = 1; diff --git a/addons/respawn/ACE_Settings.hpp b/addons/respawn/ACE_Settings.hpp index f704d25412..86083d6d07 100644 --- a/addons/respawn/ACE_Settings.hpp +++ b/addons/respawn/ACE_Settings.hpp @@ -1,10 +1,14 @@ class ACE_Settings { class GVAR(SavePreDeathGear) { + displayName = CSTRING(SavePreDeathGear_DisplayName); + description = CSTRING(SavePreDeathGear_Description); value = 0; typeName = "BOOL"; }; class GVAR(RemoveDeadBodiesDisconnected) { + displayName = CSTRING(RemoveDeadBodiesDisconnected_DisplayName); + description = CSTRING(RemoveDeadBodiesDisconnected_Description); value = 1; typeName = "BOOL"; }; diff --git a/addons/spectator/ACE_Settings.hpp b/addons/spectator/ACE_Settings.hpp index 78402cff23..31e4ea3fd0 100644 --- a/addons/spectator/ACE_Settings.hpp +++ b/addons/spectator/ACE_Settings.hpp @@ -1,20 +1,28 @@ class ACE_Settings { class GVAR(filterUnits) { + displayName = CSTRING(units_DisplayName); + description = CSTRING(units_Description); typeName = "SCALAR"; value = 2; values[] = {CSTRING(units_none), CSTRING(units_players), CSTRING(units_playable), CSTRING(units_all)}; }; class GVAR(filterSides) { + displayName = CSTRING(sides_DisplayName); + description = CSTRING(sides_Description); typeName = "SCALAR"; value = 0; values[] = {CSTRING(sides_player), CSTRING(sides_friendly), CSTRING(sides_hostile), CSTRING(sides_all)}; }; class GVAR(restrictModes) { + displayName = CSTRING(modes_DisplayName); + description = CSTRING(modes_Description); typeName = "SCALAR"; value = 0; values[] = {CSTRING(modes_all), CSTRING(modes_unit), CSTRING(modes_free), CSTRING(modes_internal), CSTRING(modes_external)}; }; class GVAR(restrictVisions) { + displayName = CSTRING(visions_DisplayName); + description = CSTRING(visions_Description); typeName = "SCALAR"; value = 0; values[] = {CSTRING(modes_all), CSTRING(visions_nv), CSTRING(visions_ti), "$STR_Special_None"}; diff --git a/addons/switchunits/ACE_Settings.hpp b/addons/switchunits/ACE_Settings.hpp index 06c1ff274c..fe15e63e87 100644 --- a/addons/switchunits/ACE_Settings.hpp +++ b/addons/switchunits/ACE_Settings.hpp @@ -4,26 +4,38 @@ class ACE_Settings { typeName = "BOOL"; }; class GVAR(SwitchToWest) { + displayName = CSTRING(SwitchToWest_DisplayName); + description = CSTRING(SwitchToWest_Description); value = 0; typeName = "BOOL"; }; class GVAR(SwitchToEast) { + displayName = CSTRING(SwitchToEast_DisplayName); + description = CSTRING(SwitchToEast_Description); value = 0; typeName = "BOOL"; }; class GVAR(SwitchToIndependent) { + displayName = CSTRING(SwitchToIndependent_DisplayName); + description = CSTRING(SwitchToIndependent_Description); value = 0; typeName = "BOOL"; }; class GVAR(SwitchToCivilian) { + displayName = CSTRING(SwitchToCivilian_DisplayName); + description = CSTRING(SwitchToCivilian_Description); value = 0; typeName = "BOOL"; }; class GVAR(EnableSafeZone) { + displayName = CSTRING(EnableSafeZone_DisplayName); + description = CSTRING(EnableSafeZone_Description); value = 1; typeName = "BOOL"; }; class GVAR(SafeZoneRadius) { + displayName = CSTRING(SafeZoneRadius_DisplayName); + description = CSTRING(SafeZoneRadius_Description); value = 100; typeName = "SCALAR"; }; diff --git a/addons/vehiclelock/ACE_Settings.hpp b/addons/vehiclelock/ACE_Settings.hpp index 9eac505db2..fabc8b94ad 100644 --- a/addons/vehiclelock/ACE_Settings.hpp +++ b/addons/vehiclelock/ACE_Settings.hpp @@ -1,14 +1,20 @@ class ACE_Settings { class GVAR(DefaultLockpickStrength) { + displayName = CSTRING(DefaultLockpickStrength_DisplayName); + description = CSTRING(DefaultLockpickStrength_Description); value = 10; typeName = "SCALAR"; }; class GVAR(LockVehicleInventory) { + displayName = CSTRING(LockVehicleInventory_DisplayName); + description = CSTRING(LockVehicleInventory_Description); value = 0; typeName = "BOOL"; - }; + }; class GVAR(VehicleStartingLockState) { + displayName = CSTRING(VehicleStartingLockState_DisplayName); + description = CSTRING(VehicleStartingLockState_Description); value = -1; typeName = "SCALAR"; }; -}; \ No newline at end of file +}; diff --git a/addons/viewdistance/ACE_Settings.hpp b/addons/viewdistance/ACE_Settings.hpp index 1499626b7f..356c7d86f2 100644 --- a/addons/viewdistance/ACE_Settings.hpp +++ b/addons/viewdistance/ACE_Settings.hpp @@ -1,11 +1,13 @@ class ACE_Settings { class GVAR(enabled) { + category = CSTRING(Module_DisplayName); typeName = "BOOL"; value = 1; displayName = CSTRING(enabled_DisplayName); description = CSTRING(enabled_Description); }; class GVAR(viewDistanceOnFoot) { + category = CSTRING(Module_DisplayName); typeName = "SCALAR"; isClientSettable = 1; value = 0; // index, NOT value // Can set it to client's actual viewdistance in the init function once ACE_Settings supports numbers (if ever). @@ -14,6 +16,7 @@ class ACE_Settings { description = CSTRING(onFoot_Description); }; class GVAR(viewDistanceLandVehicle) { + category = CSTRING(Module_DisplayName); typeName = "SCALAR"; isClientSettable = 1; value = 0; // index, NOT value @@ -22,6 +25,7 @@ class ACE_Settings { description = CSTRING(landVehicle_Description); }; class GVAR(viewDistanceAirVehicle) { + category = CSTRING(Module_DisplayName); typeName = "SCALAR"; isClientSettable = 1; value = 0; // index, NOT value @@ -30,12 +34,14 @@ class ACE_Settings { description = CSTRING(airVehicle_Description); }; class GVAR(limitViewDistance) { + category = CSTRING(Module_DisplayName); typeName = "SCALAR"; value = 10000; // Value, NOT index. 10000 is the maximum in A3 displayName = CSTRING(limit_DisplayName); description = CSTRING(limit_setting); }; class GVAR(objectViewDistanceCoeff) { + category = CSTRING(Module_DisplayName); typeName = "SCALAR"; isClientSettable = 1; value = 0; // index. Actual coefficient is given by functions/fnc_returnObjectCoeff.sqf diff --git a/addons/zeus/ACE_Settings.hpp b/addons/zeus/ACE_Settings.hpp index 6488a23e4e..6357992cf6 100644 --- a/addons/zeus/ACE_Settings.hpp +++ b/addons/zeus/ACE_Settings.hpp @@ -1,21 +1,31 @@ class ACE_Settings { class GVAR(zeusAscension) { + displayName = CSTRING(ascension_DisplayName); + description = CSTRING(ascension_Description); typeName = "BOOL"; value = 0; }; class GVAR(zeusBird) { + displayName = CSTRING(bird_DisplayName); + description = CSTRING(bird_Description); typeName = "BOOL"; value = 0; }; class GVAR(remoteWind) { + displayName = CSTRING(remoteWind_DisplayName); + description = CSTRING(remoteWind_Description); typeName = "BOOL"; value = 0; }; class GVAR(radioOrdnance) { + displayName = CSTRING(radioOrdnance_DisplayName); + description = CSTRING(radioOrdnance_Description); typeName = "BOOL"; value = 0; }; class GVAR(revealMines) { + displayName = CSTRING(revealMines_DisplayName); + description = CSTRING(revealMines_Description); typeName = "SCALAR"; value = 0; values[] = {"$STR_A3_OPTIONS_DISABLED", CSTRING(revealMines_partial), CSTRING(revealMines_full)}; From 3232654e13dcc76472b55f4f9e49a5c9d62440dc Mon Sep 17 00:00:00 2001 From: PabstMirror Date: Tue, 8 Mar 2016 11:02:49 -0600 Subject: [PATCH 47/90] Close #3565 -Fix spelling of local var _woundEffectiveness --- .../functions/fnc_treatmentAdvanced_bandageLocal.sqf | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/addons/medical/functions/fnc_treatmentAdvanced_bandageLocal.sqf b/addons/medical/functions/fnc_treatmentAdvanced_bandageLocal.sqf index 5c02ecc0cb..5cfe73ab8d 100644 --- a/addons/medical/functions/fnc_treatmentAdvanced_bandageLocal.sqf +++ b/addons/medical/functions/fnc_treatmentAdvanced_bandageLocal.sqf @@ -15,7 +15,7 @@ #include "script_component.hpp" -private ["_openWounds", "_config", "_effectiveness","_mostEffectiveInjury", "_mostEffectiveSpot", "_woundEffectivenss", "_mostEffectiveInjury", "_impact", "_exit", "_classID", "_effectivenessFound", "_className", "_hitPoints", "_hitSelections", "_point", "_woundTreatmentConfig"]; +private ["_openWounds", "_config", "_effectiveness","_mostEffectiveInjury", "_mostEffectiveSpot", "_woundEffectiveness", "_mostEffectiveInjury", "_impact", "_exit", "_classID", "_effectivenessFound", "_className", "_hitPoints", "_hitSelections", "_point", "_woundTreatmentConfig"]; params ["_target", "_bandage", "_selectionName", ["_specificClass", -1]]; // Ensure it is a valid bodypart @@ -44,7 +44,7 @@ _exit = false; TRACE_2("OPENWOUND: ", _target, _x); // Only parse injuries that are for the selected bodypart. if (_partX == _part) then { - _woundEffectivenss = _effectiveness; + _woundEffectiveness = _effectiveness; // Select the classname from the wound classname storage _className = GVAR(woundClassNames) select _classID; @@ -54,7 +54,7 @@ _exit = false; // Collect the effectiveness from the used bandage for this wound type _woundTreatmentConfig = (_config >> _className); if (isNumber (_woundTreatmentConfig >> "effectiveness")) then { - _woundEffectivenss = getNumber (_woundTreatmentConfig >> "effectiveness"); + _woundEffectiveness = getNumber (_woundTreatmentConfig >> "effectiveness"); }; } else { ACE_LOGWARNING_2("No config for wound type [%1] config base [%2]", _className, _config); @@ -62,15 +62,15 @@ _exit = false; TRACE_2("Wound classes: ", _specificClass, _classID); if (_specificClass == _classID) exitWith { - _effectivenessFound = _woundEffectivenss; + _effectivenessFound = _woundEffectiveness; _mostEffectiveSpot = _forEachIndex; _mostEffectiveInjury = _x; _exit = true; }; // Check if this is the currently most effective found. - if (_woundEffectivenss * ((_x select 4) * (_x select 3)) > _effectivenessFound * ((_mostEffectiveInjury select 4) * (_mostEffectiveInjury select 3))) then { - _effectivenessFound = _woundEffectivenss; + if (_woundEffectiveness * ((_x select 4) * (_x select 3)) > _effectivenessFound * ((_mostEffectiveInjury select 4) * (_mostEffectiveInjury select 3))) then { + _effectivenessFound = _woundEffectiveness; _mostEffectiveSpot = _forEachIndex; _mostEffectiveInjury = _x; }; From 1a77b0fcd48c2daf83fc55899152aa72ae39d071 Mon Sep 17 00:00:00 2001 From: PabstMirror Date: Tue, 8 Mar 2016 11:43:35 -0600 Subject: [PATCH 48/90] Disable drag and carry for StaticCannon #3528 --- addons/dragging/CfgVehicles.hpp | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/addons/dragging/CfgVehicles.hpp b/addons/dragging/CfgVehicles.hpp index dab8c1e842..ac0ca8c5dd 100644 --- a/addons/dragging/CfgVehicles.hpp +++ b/addons/dragging/CfgVehicles.hpp @@ -14,6 +14,11 @@ class CfgVehicles { GVAR(dragDirection) = 0; }; + class StaticCannon: StaticWeapon { + GVAR(canCarry) = 0; + GVAR(canDrag) = 0; + }; + //remove actions from Taru Pods class Pod_Heli_Transport_04_base_F: StaticWeapon { GVAR(canCarry) = 0; From 94adcf4ccbf2842061b2d94829db74ec546dfe40 Mon Sep 17 00:00:00 2001 From: PabstMirror Date: Tue, 8 Mar 2016 13:17:20 -0600 Subject: [PATCH 49/90] MicroDagr Scalar Values --- addons/microdagr/ACE_Settings.hpp | 1 + 1 file changed, 1 insertion(+) diff --git a/addons/microdagr/ACE_Settings.hpp b/addons/microdagr/ACE_Settings.hpp index 4cf83794dd..637584178c 100644 --- a/addons/microdagr/ACE_Settings.hpp +++ b/addons/microdagr/ACE_Settings.hpp @@ -5,5 +5,6 @@ class ACE_Settings { value = 2; typeName = "SCALAR"; isClientSettable = 0; + values[] = {CSTRING(MapFill_None), CSTRING(MapFill_OnlyRoads), CSTRING(MapFill_Full)}; }; }; From ad3a03a9c77c59c79bbcbd5be363950a4a4b0aa2 Mon Sep 17 00:00:00 2001 From: PabstMirror Date: Tue, 8 Mar 2016 13:52:34 -0600 Subject: [PATCH 50/90] versioning - Add warnings for missing compat PBOs --- addons/main/CfgDependencies.hpp | 23 +++++++++++++++++++++++ addons/main/config.cpp | 14 +------------- 2 files changed, 24 insertions(+), 13 deletions(-) create mode 100644 addons/main/CfgDependencies.hpp diff --git a/addons/main/CfgDependencies.hpp b/addons/main/CfgDependencies.hpp new file mode 100644 index 0000000000..6dd58fb60b --- /dev/null +++ b/addons/main/CfgDependencies.hpp @@ -0,0 +1,23 @@ +class CfgSettings { + class CBA { + class Versioning { + class ACE { + class dependencies { + //ACE will hard exit if this is missing + CBA[] = {"cba_main", REQUIRED_CBA_VERSION, "true"}; + + //Warnings for missing compat pbos + compat_r3f[] = {"ace_compat_r3f", {VERSION_AR}, "isClass (configFile >> 'CfgPatches' >> 'R3F_Armes')"}; + compat_rh_acc[] = {"ace_compat_rh_acc", {VERSION_AR}, "isClass (configFile >> 'CfgPatches' >> 'RH_acc')"}; + compat_rh_de[] = {"ace_compat_rh_de", {VERSION_AR}, "isClass (configFile >> 'CfgPatches' >> 'RH_de_cfg')"}; + compat_rh_m4[] = {"ace_compat_rh_m4", {VERSION_AR}, "isClass (configFile >> 'CfgPatches' >> 'RH_m4_cfg')"}; + compat_rh_pdw[] = {"ace_compat_rh_pdw", {VERSION_AR}, "isClass (configFile >> 'CfgPatches' >> 'RH_PDW')"}; + compat_rhs_afrf3[] = {"ace_compat_rhs_afrf3", {VERSION_AR}, "isClass (configFile >> 'CfgPatches' >> 'rhs_main')"}; + compat_rhs_usf3[] = {"ace_compat_rhs_usf3", {VERSION_AR}, "isClass (configFile >> 'CfgPatches' >> 'rhsusf_main')"}; + compat_rksl_pm_ii[] = {"ace_compat_rksl_pm_ii", {VERSION_AR}, "isClass (configFile >> 'CfgPatches' >> 'RKSL_PMII')"}; + compat_sma3_iansky[] = {"ace_compat_sma3_iansky", {VERSION_AR}, "isClass (configFile >> 'CfgPatches' >> 'iansky_opt')"}; + }; + }; + }; + }; +}; diff --git a/addons/main/config.cpp b/addons/main/config.cpp index 5f34c6137d..3181df1dea 100644 --- a/addons/main/config.cpp +++ b/addons/main/config.cpp @@ -586,18 +586,6 @@ class CfgMods { }; }; +#include "CfgDependencies.hpp" #include "CfgModuleCategories.hpp" #include "CfgVehicleClasses.hpp" - -class CfgSettings { - class CBA { - class Versioning { - class ACE { - class dependencies { - CBA[] = {"cba_main", REQUIRED_CBA_VERSION, "true"}; - }; - }; - }; - }; -}; - From aad79eda853e01c698189829ffb19c84bdaf8316 Mon Sep 17 00:00:00 2001 From: esteldunedain Date: Sat, 12 Mar 2016 10:06:45 -0300 Subject: [PATCH 51/90] The dead shouldn't interact (it's not TWD) --- addons/common/XEH_postInit.sqf | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/addons/common/XEH_postInit.sqf b/addons/common/XEH_postInit.sqf index b17ff292a4..8eeed526f5 100644 --- a/addons/common/XEH_postInit.sqf +++ b/addons/common/XEH_postInit.sqf @@ -444,6 +444,11 @@ if (!isNil QGVAR(PreInit_playerChanged_PFHID)) then { // Add various canInteractWith conditions ////////////////////////////////////////////////// +["isNotDead", { + params ["_unit", "_target"]; + alive _unit +}] call FUNC(addCanInteractWithCondition); + ["notOnMap", {!visibleMap}] call FUNC(addCanInteractWithCondition); ["isNotInside", { From fca8b51bb2376ebdc8f754d6fd6362e922ebdfda Mon Sep 17 00:00:00 2001 From: commy2 Date: Tue, 12 Jan 2016 19:32:26 +0100 Subject: [PATCH 52/90] reset interaction menu time variables on save game load --- addons/interact_menu/XEH_preInit.sqf | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/addons/interact_menu/XEH_preInit.sqf b/addons/interact_menu/XEH_preInit.sqf index 791402cd01..fae8843a4e 100644 --- a/addons/interact_menu/XEH_preInit.sqf +++ b/addons/interact_menu/XEH_preInit.sqf @@ -45,6 +45,13 @@ GVAR(expanded) = false; GVAR(startHoverTime) = ACE_diagTime; GVAR(expandedTime) = ACE_diagTime; + +// reset on mission load +addMissionEventHandler ["Loaded", { + GVAR(startHoverTime) = 0; + GVAR(expandedTime) = 0; +}]; + GVAR(iconCtrls) = []; GVAR(iconCount) = 0; From 61f1959109a97b150065a5515aa164ba63c851f5 Mon Sep 17 00:00:00 2001 From: Thomas Kooi Date: Sat, 12 Mar 2016 18:55:42 +0100 Subject: [PATCH 53/90] Fix morphine increasing viscosity Morphine should decrease viscosity instead of increase. Closes #3579 --- addons/medical/ACE_Medical_Treatments.hpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/addons/medical/ACE_Medical_Treatments.hpp b/addons/medical/ACE_Medical_Treatments.hpp index 47d78d23e1..14205fbd30 100644 --- a/addons/medical/ACE_Medical_Treatments.hpp +++ b/addons/medical/ACE_Medical_Treatments.hpp @@ -1366,7 +1366,7 @@ class ACE_Medical_Advanced { timeInSystem = 900; maxDose = 4; inCompatableMedication[] = {}; - viscosityChange = 10; + viscosityChange = -10; }; class Epinephrine { painReduce = 0; From 1985e7e20ae94e08b9c59cb7f79a40b6ea0f9397 Mon Sep 17 00:00:00 2001 From: PabstMirror Date: Sat, 12 Mar 2016 13:42:52 -0600 Subject: [PATCH 54/90] Fix versioning true when compiled --- addons/main/config.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/addons/main/config.cpp b/addons/main/config.cpp index 5f34c6137d..1326014f45 100644 --- a/addons/main/config.cpp +++ b/addons/main/config.cpp @@ -594,7 +594,7 @@ class CfgSettings { class Versioning { class ACE { class dependencies { - CBA[] = {"cba_main", REQUIRED_CBA_VERSION, "true"}; + CBA[] = {"cba_main", REQUIRED_CBA_VERSION, "(true)"}; }; }; }; From 32846014a1b72a115805c488ebe7fb9e2effde1a Mon Sep 17 00:00:00 2001 From: SzwedzikPL Date: Mon, 14 Mar 2016 14:21:02 +0100 Subject: [PATCH 55/90] fix ammo handling init on dedicated --- addons/mk6mortar/XEH_postInit.sqf | 2 ++ .../fnc_handlePlayerVehicleChanged.sqf | 29 +++++++++---------- addons/mk6mortar/functions/fnc_mortarInit.sqf | 13 +++++---- 3 files changed, 23 insertions(+), 21 deletions(-) diff --git a/addons/mk6mortar/XEH_postInit.sqf b/addons/mk6mortar/XEH_postInit.sqf index 5c82d55f50..9c098b8cdd 100644 --- a/addons/mk6mortar/XEH_postInit.sqf +++ b/addons/mk6mortar/XEH_postInit.sqf @@ -15,6 +15,8 @@ _static setMagazineTurretAmmo [_magazine, _ammoCount, [0]]; }] call EFUNC(common,addEventHandler); +["initMortar", {_this call FUNC(mortarInit);}] call EFUNC(common,addEventHandler); + if (!hasInterface) exitWith {}; ["playerVehicleChanged", {_this call FUNC(handlePlayerVehicleChanged);}] call EFUNC(common,addEventHandler); diff --git a/addons/mk6mortar/functions/fnc_handlePlayerVehicleChanged.sqf b/addons/mk6mortar/functions/fnc_handlePlayerVehicleChanged.sqf index 02049289aa..2d921973d4 100644 --- a/addons/mk6mortar/functions/fnc_handlePlayerVehicleChanged.sqf +++ b/addons/mk6mortar/functions/fnc_handlePlayerVehicleChanged.sqf @@ -16,31 +16,30 @@ */ #include "script_component.hpp" -PARAMS_2(_player,_newVehicle); - -private["_tubeWeaponName" ,"_fireModes", "_lastFireMode"]; +params ["_player", "_newVehicle"]; if (isNull _newVehicle) exitWith {}; if (!(_newVehicle isKindOf "Mortar_01_base_F")) exitWith {}; // Run magazine handling initialization if enabled -if (!EGVAR(common,settingsInitFinished)) then { - EGVAR(common,runAtSettingsInitialized) pushBack [{ - if (GVAR(useAmmoHandling) && {!(_this getVariable [QGVAR(initialized),false]) && !(_this getVariable [QGVAR(exclude),false])}) then { - _this call FUNC(mortarInit); +if (!(_newVehicle getVariable [QGVAR(initialized),false]) && !(_newVehicle getVariable [QGVAR(exclude),false])) then { + // Make sure that mortar init is executed after settings init + [{ + params ["_mortar"]; + if (GVAR(useAmmoHandling) && {!(_mortar getVariable [QGVAR(initialized),false]) && !(_mortar getVariable [QGVAR(exclude),false])}) then { + //wait for proper turret locality change + [{ + ["initMortar", [_this], [_this]] call EFUNC(common,globalEvent); + }, _mortar, 0.05] call EFUNC(common,waitAndExecute); }; - }, _newVehicle]; -} else { - if (GVAR(useAmmoHandling) && {!(_newVehicle getVariable [QGVAR(initialized),false]) && !(_newVehicle getVariable [QGVAR(exclude),false])}) then { - _newVehicle call FUNC(mortarInit); - }; + }, _newVehicle] call EFUNC(common,runAfterSettingsInit); }; -_tubeWeaponName = (weapons _newVehicle) select 0; -_fireModes = getArray (configFile >> "CfgWeapons" >> _tubeWeaponName >> "modes"); +private _tubeWeaponName = (weapons _newVehicle) select 0; +private _fireModes = getArray (configFile >> "CfgWeapons" >> _tubeWeaponName >> "modes"); //Restore last firemode: -_lastFireMode = _newVehicle getVariable [QGVAR(lastFireMode), -1]; +private _lastFireMode = _newVehicle getVariable [QGVAR(lastFireMode), -1]; if (_lastFireMode != -1) then { _player action ["SwitchWeapon", _newVehicle, _player, _lastFireMode]; }; diff --git a/addons/mk6mortar/functions/fnc_mortarInit.sqf b/addons/mk6mortar/functions/fnc_mortarInit.sqf index 7c74cb8249..68c9eab91e 100644 --- a/addons/mk6mortar/functions/fnc_mortarInit.sqf +++ b/addons/mk6mortar/functions/fnc_mortarInit.sqf @@ -18,27 +18,28 @@ params ["_mortar"]; if (_mortar getVariable [QGVAR(initialized),false] || _mortar getVariable [QGVAR(exclude),false]) exitWith {TRACE_1("Exit",_mortar)}; +if (!(_mortar turretLocal [0])) exitWith {TRACE_1("Exit - turret not local",_mortar)}; -// Remove all magazines +// Remove all magazines from turret if (count magazines _mortar > 0) then { { - [QGVAR(removeMagazine), [_mortar, _x]] call EFUNC(common,globalEvent); + _mortar removeMagazineTurret [_x,[0]]; } forEach magazines _mortar; }; -// Replace current weapon with ammo handling weapon +// Replace current turret weapon with ammo handling weapon private _currentWeapon = _mortar weaponsTurret [0] select 0; private _newWeapon = ""; -if (_currentWeapon == "mortar_82mm") then { +if (tolower _currentWeapon == "mortar_82mm") then { _newWeapon = "ace_mortar_82mm"; } else { _newWeapon = getText (configFile >> "CfgWeapons" >> _currentWeapon >> QGVAR(replaceWith)); }; if (_newWeapon != "") then { - _mortar removeWeaponGlobal _currentWeapon; - _mortar addWeaponGlobal _newWeapon; + _mortar removeWeaponTurret [_currentWeapon,[0]]; + _mortar addWeaponTurret [_newWeapon,[0]]; }; _mortar setVariable [QGVAR(initialized),true,true]; From 14183470bc65251a4ddf2461c1e80b7ff2c89010 Mon Sep 17 00:00:00 2001 From: esteldunedain Date: Mon, 14 Mar 2016 12:16:23 -0300 Subject: [PATCH 56/90] Revert "Improved rope glitchyness" This reverts commit c65656a016fc377eb03583dcc04d144ff1aa3141. --- addons/fastroping/XEH_postInit.sqf | 5 +++++ addons/fastroping/functions/fnc_cutRopes.sqf | 6 ++---- addons/fastroping/functions/fnc_deployRopes.sqf | 5 ++--- addons/fastroping/functions/fnc_fastRopeLocalPFH.sqf | 1 - addons/fastroping/functions/fnc_fastRopeServerPFH.sqf | 4 ++-- 5 files changed, 11 insertions(+), 10 deletions(-) diff --git a/addons/fastroping/XEH_postInit.sqf b/addons/fastroping/XEH_postInit.sqf index ae88feaa76..873d1091e5 100644 --- a/addons/fastroping/XEH_postInit.sqf +++ b/addons/fastroping/XEH_postInit.sqf @@ -7,3 +7,8 @@ [QGVAR(startFastRope), { [FUNC(fastRopeServerPFH), 0, _this] call CBA_fnc_addPerFrameHandler; }] call EFUNC(common,addEventHandler); + +[QGVAR(ropeDetach), { + params ["_object", "_rope"]; + _object ropeDetach _rope; +}] call EFUNC(common,addEventHandler); diff --git a/addons/fastroping/functions/fnc_cutRopes.sqf b/addons/fastroping/functions/fnc_cutRopes.sqf index 71fe682f7e..88b02a70af 100644 --- a/addons/fastroping/functions/fnc_cutRopes.sqf +++ b/addons/fastroping/functions/fnc_cutRopes.sqf @@ -32,10 +32,8 @@ _deployedRopes = _vehicle getVariable [QGVAR(deployedRopes), []]; }; }; - detach _dummy; - deleteVehicle _ropeTop; - deleteVehicle _hook; - [{{deleteVehicle _x} count _this}, [_ropeBottom, _dummy], 60] call EFUNC(common,waitAndExecute); + [QGVAR(ropeDetach), [_hook, _ropeTop]] call EFUNC(common,serverEvent); + [{{deleteVehicle _x} count _this}, [_ropeTop, _ropeBottom, _dummy, _hook], 60] call EFUNC(common,waitAndExecute); } count _deployedRopes; _vehicle setVariable [QGVAR(deployedRopes), [], true]; diff --git a/addons/fastroping/functions/fnc_deployRopes.sqf b/addons/fastroping/functions/fnc_deployRopes.sqf index af79dd2cfe..c944b2c3cb 100644 --- a/addons/fastroping/functions/fnc_deployRopes.sqf +++ b/addons/fastroping/functions/fnc_deployRopes.sqf @@ -35,14 +35,13 @@ _hookAttachment = _vehicle getVariable [QGVAR(FRIES), _vehicle]; _origin = getPosATL _hook; - _dummy = createVehicle [QGVAR(helper), _origin, [], 0, "CAN_COLLIDE"]; + _dummy = createVehicle [QGVAR(helper), _origin vectorAdd [0, 0, -1], [], 0, "CAN_COLLIDE"]; _dummy allowDamage false; _dummy disableCollisionWith _vehicle; - _dummy attachTo [_hook, [0, 0, 0]]; _ropeTop = ropeCreate [_dummy, [0, 0, 0], _hook, [0, 0, 0], 0.5]; _ropeBottom = ropeCreate [_dummy, [0, 0, 0], 1]; - ropeUnwind [_ropeBottom, 30, 35, false]; + ropeUnwind [_ropeBottom, 30, 34.5, false]; _ropeTop addEventHandler ["RopeBreak", {[_this, "top"] call FUNC(onRopeBreak)}]; _ropeBottom addEventHandler ["RopeBreak", {[_this, "bottom"] call FUNC(onRopeBreak)}]; diff --git a/addons/fastroping/functions/fnc_fastRopeLocalPFH.sqf b/addons/fastroping/functions/fnc_fastRopeLocalPFH.sqf index 6a4e810ff5..d05c8bfdbc 100644 --- a/addons/fastroping/functions/fnc_fastRopeLocalPFH.sqf +++ b/addons/fastroping/functions/fnc_fastRopeLocalPFH.sqf @@ -26,7 +26,6 @@ if (vehicle _unit != _unit) exitWith {}; //Start fast roping if (animationState _unit != "ACE_FastRoping") exitWith { - detach _dummy; _unit disableCollisionWith _dummy; _unit attachTo [_dummy, [0, 0, -1.45]]; [_unit, "ACE_FastRoping", 2] call EFUNC(common,doAnimation); diff --git a/addons/fastroping/functions/fnc_fastRopeServerPFH.sqf b/addons/fastroping/functions/fnc_fastRopeServerPFH.sqf index 627ed959bc..44f9fedd1a 100644 --- a/addons/fastroping/functions/fnc_fastRopeServerPFH.sqf +++ b/addons/fastroping/functions/fnc_fastRopeServerPFH.sqf @@ -54,14 +54,14 @@ if (((getPos _unit select 2) < 0.2) || {ropeLength _ropeTop == 34.5} || {vectorM deleteVehicle _ropeBottom; _origin = getPosASL _hook; - _dummy attachTo [_hook, [0, 0, 0]]; + _dummy setPosASL (_origin vectorAdd [0, 0, -1]); //Restore original mass and center of mass _dummy setMass 40; _dummy setCenterOfMass [0.000143227,0.00105986,-0.246147]; _ropeTop = ropeCreate [_dummy, [0, 0, 0], _hook, [0, 0, 0], 0.5]; - _ropeBottom = ropeCreate [_dummy, [0, 0, 0], 35]; + _ropeBottom = ropeCreate [_dummy, [0, 0, 0], 34.5]; _ropeTop addEventHandler ["RopeBreak", {[_this, "top"] call FUNC(onRopeBreak)}]; _ropeBottom addEventHandler ["RopeBreak", {[_this, "bottom"] call FUNC(onRopeBreak)}]; From 72c9e9da39dd2bbb3e96070eae482e5f3468159c Mon Sep 17 00:00:00 2001 From: jonpas Date: Wed, 16 Mar 2016 20:17:23 +0100 Subject: [PATCH 57/90] Replace usage of filter to select in tagging --- addons/tagging/functions/fnc_tagTestingThread.sqf | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/addons/tagging/functions/fnc_tagTestingThread.sqf b/addons/tagging/functions/fnc_tagTestingThread.sqf index 18d14e2e4f..a904587f8a 100644 --- a/addons/tagging/functions/fnc_tagTestingThread.sqf +++ b/addons/tagging/functions/fnc_tagTestingThread.sqf @@ -16,7 +16,7 @@ #include "script_component.hpp" -_fnc_isLeaning = { +GVAR(tagsToTest) = GVAR(tagsToTest) select { params ["_tag", "_tagPosASL", "_vectorDirAndUp"]; _vectorDirAndUp params ["_v1", "_v2"]; @@ -34,7 +34,6 @@ _fnc_isLeaning = { }; true }; -GVAR(tagsToTest) = [GVAR(tagsToTest), _fnc_isLeaning] call EFUNC(common,filter); // If there's no more tag if (GVAR(tagsToTest) isEqualTo []) exitWith { From 485900dce8bba0bd80811e95cf300cb43f61c423 Mon Sep 17 00:00:00 2001 From: Glowbal Date: Wed, 16 Mar 2016 22:59:28 +0100 Subject: [PATCH 58/90] increment patch version --- README.md | 2 +- addons/main/script_mod.hpp | 2 +- docs/README_DE.md | 2 +- docs/README_PL.md | 2 +- mod.cpp | 4 ++-- 5 files changed, 6 insertions(+), 6 deletions(-) diff --git a/README.md b/README.md index 3de005ce29..3ead78c57f 100644 --- a/README.md +++ b/README.md @@ -4,7 +4,7 @@

- ACE3 Version + ACE3 Version ACE3 Issues diff --git a/addons/main/script_mod.hpp b/addons/main/script_mod.hpp index dd2cef0204..1f86448c94 100644 --- a/addons/main/script_mod.hpp +++ b/addons/main/script_mod.hpp @@ -5,7 +5,7 @@ #define MAJOR 3 #define MINOR 5 -#define PATCHLVL 0 +#define PATCHLVL 1 #define BUILD 0 #define VERSION MAJOR.MINOR.PATCHLVL.BUILD diff --git a/docs/README_DE.md b/docs/README_DE.md index 0f9ca83536..95a7b3c406 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 f8ff8683e5..87884e3a68 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 b146f500b0..a0ee3b211e 100644 --- a/mod.cpp +++ b/mod.cpp @@ -1,8 +1,8 @@ -name = "Advanced Combat Environment 3.5.0"; +name = "Advanced Combat Environment 3.5.1"; picture = "logo_ace3_ca.paa"; actionName = "GitHub"; action = "https://github.com/acemod/ACE3"; -description = "ACE3 - Version 3.5.0"; +description = "ACE3 - Version 3.5.1"; logo = "logo_ace3_ca.paa"; logoOver = "logo_ace3_ca.paa"; tooltip = "ACE3"; From 218d333738531a778d249a91afdc5ff74aeefaef Mon Sep 17 00:00:00 2001 From: PabstMirror Date: Thu, 17 Mar 2016 11:56:20 -0500 Subject: [PATCH 59/90] Fix nametag error when rank is empty string --- addons/nametags/functions/fnc_drawNameTagIcon.sqf | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/addons/nametags/functions/fnc_drawNameTagIcon.sqf b/addons/nametags/functions/fnc_drawNameTagIcon.sqf index c564e6e90f..95c3f5228b 100644 --- a/addons/nametags/functions/fnc_drawNameTagIcon.sqf +++ b/addons/nametags/functions/fnc_drawNameTagIcon.sqf @@ -36,7 +36,7 @@ _fnc_parameters = { _icon = format [QUOTE(PATHTOF(UI\soundwave%1.paa)), floor random 10]; _size = 1; } else { - if (_drawRank) then { + if (_drawRank && {rank _target != ""}) then { _icon = format["\A3\Ui_f\data\GUI\Cfg\Ranks\%1_gs.paa", toLower rank _target]; _size = 1; }; From b25ffdb54febee9698d10253ef8a4562588afc3f Mon Sep 17 00:00:00 2001 From: BaerMitUmlaut Date: Fri, 18 Mar 2016 00:15:57 +0100 Subject: [PATCH 60/90] Fixed network race condition --- addons/fastroping/functions/fnc_fastRopeServerPFH.sqf | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/addons/fastroping/functions/fnc_fastRopeServerPFH.sqf b/addons/fastroping/functions/fnc_fastRopeServerPFH.sqf index 44f9fedd1a..ed78d43592 100644 --- a/addons/fastroping/functions/fnc_fastRopeServerPFH.sqf +++ b/addons/fastroping/functions/fnc_fastRopeServerPFH.sqf @@ -25,7 +25,7 @@ private ["_vectorUp", "_vectorDir", "_origin"]; if (vehicle _unit != _unit) exitWith {}; //Start fast roping -if (animationState _unit != "ACE_FastRoping") exitWith { +if (getMass _dummy != 80) exitWith { //Fix for twitchyness _dummy setMass 80; _dummy setCenterOfMass [0, 0, -2]; @@ -38,7 +38,9 @@ if (animationState _unit != "ACE_FastRoping") exitWith { }; //Check if rope broke and unit is falling -if (isNull attachedTo _unit) exitWith { +//Make sure this isn't executed before the unit is actually fastroping +//Note: Stretching ropes does not change ropeLength +if ((isNull attachedTo _unit) && {ropeLength _ropeTop > 0.5}) exitWith { [_pfhHandle] call CBA_fnc_removePerFrameHandler; }; From fc067822561c1b3f52d5fe008d98d724f81168f3 Mon Sep 17 00:00:00 2001 From: BaerMitUmlaut Date: Fri, 18 Mar 2016 00:16:31 +0100 Subject: [PATCH 61/90] Fixed broken ropeDetach --- addons/fastroping/XEH_postInit.sqf | 5 ----- addons/fastroping/functions/fnc_cutRopes.sqf | 7 +++++-- 2 files changed, 5 insertions(+), 7 deletions(-) diff --git a/addons/fastroping/XEH_postInit.sqf b/addons/fastroping/XEH_postInit.sqf index 873d1091e5..ae88feaa76 100644 --- a/addons/fastroping/XEH_postInit.sqf +++ b/addons/fastroping/XEH_postInit.sqf @@ -7,8 +7,3 @@ [QGVAR(startFastRope), { [FUNC(fastRopeServerPFH), 0, _this] call CBA_fnc_addPerFrameHandler; }] call EFUNC(common,addEventHandler); - -[QGVAR(ropeDetach), { - params ["_object", "_rope"]; - _object ropeDetach _rope; -}] call EFUNC(common,addEventHandler); diff --git a/addons/fastroping/functions/fnc_cutRopes.sqf b/addons/fastroping/functions/fnc_cutRopes.sqf index 88b02a70af..dcabda56ba 100644 --- a/addons/fastroping/functions/fnc_cutRopes.sqf +++ b/addons/fastroping/functions/fnc_cutRopes.sqf @@ -32,8 +32,11 @@ _deployedRopes = _vehicle getVariable [QGVAR(deployedRopes), []]; }; }; - [QGVAR(ropeDetach), [_hook, _ropeTop]] call EFUNC(common,serverEvent); - [{{deleteVehicle _x} count _this}, [_ropeTop, _ropeBottom, _dummy, _hook], 60] call EFUNC(common,waitAndExecute); + //Destroy rope + //Only delete the hook first so the rope falls down. + //Note: ropeDetach was used here before, but the command seems a bit broken. + deleteVehicle _hook; + [{{deleteVehicle _x} count _this}, [_ropeTop, _ropeBottom, _dummy], 60] call EFUNC(common,waitAndExecute); } count _deployedRopes; _vehicle setVariable [QGVAR(deployedRopes), [], true]; From 0fc7525cbd0e87ef2fbd388d0281a735242dbdcb Mon Sep 17 00:00:00 2001 From: bux578 Date: Fri, 18 Mar 2016 09:27:06 +0100 Subject: [PATCH 62/90] Update CONTRIBUTING.md --- .github/CONTRIBUTING.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/CONTRIBUTING.md b/.github/CONTRIBUTING.md index 8eb5664cf5..b8aae89b77 100644 --- a/.github/CONTRIBUTING.md +++ b/.github/CONTRIBUTING.md @@ -24,6 +24,6 @@ ACE2, AGM and CSE had a lot of features implemented or planned. All of them are Please refrain from making requests for any planned or existing features from either ACE2, AGM or CSE. Most of them are already being or have been considered for porting or a rewrite. ## Requesting a feature -In order to avoid duplicates and keep the issue tracker organized, we have created a common issue for [ACE3 Feature requests](https://github.com/acemod/ACE3/issues/414). Any and all relevant requests should be submitted there, where they will also get discussed and evaluated. Before adding a new one, make sure to check the previous entries from the thread and do a quick search for similar suggestions; please don't reiterate requests for features that had already been accepted for inclusion, or those which were disregarded earlier. +In order to avoid duplicates and keep the issue tracker organized, we have created a common issue for [ACE3 Feature requests](https://github.com/acemod/ACE3/issues/3594). Any and all relevant requests should be submitted there, where they will also get discussed and evaluated. Before adding a new one, make sure to check the previous entries from the thread and do a quick search for similar suggestions; please don't reiterate requests for features that had already been accepted for inclusion, or those which were disregarded earlier. Following their approval, feature requests may be moved by moderators to a separate issue for further discussion. From 8555f00889e54cc5c855375bd35cd78e97f59c62 Mon Sep 17 00:00:00 2001 From: SzwedzikPL Date: Fri, 18 Mar 2016 17:26:37 +0100 Subject: [PATCH 63/90] remove needless tolower from mortarinit --- addons/mk6mortar/functions/fnc_mortarInit.sqf | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/addons/mk6mortar/functions/fnc_mortarInit.sqf b/addons/mk6mortar/functions/fnc_mortarInit.sqf index 68c9eab91e..65d0ff74db 100644 --- a/addons/mk6mortar/functions/fnc_mortarInit.sqf +++ b/addons/mk6mortar/functions/fnc_mortarInit.sqf @@ -31,7 +31,7 @@ if (count magazines _mortar > 0) then { private _currentWeapon = _mortar weaponsTurret [0] select 0; private _newWeapon = ""; -if (tolower _currentWeapon == "mortar_82mm") then { +if (_currentWeapon == "mortar_82mm") then { _newWeapon = "ace_mortar_82mm"; } else { _newWeapon = getText (configFile >> "CfgWeapons" >> _currentWeapon >> QGVAR(replaceWith)); From a841839aa60af15b47f49c006ad199c9a60dc5e4 Mon Sep 17 00:00:00 2001 From: commy2 Date: Sat, 19 Mar 2016 19:37:26 +0100 Subject: [PATCH 64/90] don't overwrite helicopter sub class self actions --- addons/fastroping/CfgVehicles.hpp | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/addons/fastroping/CfgVehicles.hpp b/addons/fastroping/CfgVehicles.hpp index 14804d3526..a9f5ebfbad 100644 --- a/addons/fastroping/CfgVehicles.hpp +++ b/addons/fastroping/CfgVehicles.hpp @@ -35,8 +35,8 @@ class CfgVehicles { }; }; - class Helicopter; - class Helicopter_Base_F: Helicopter { + class Air; + class Helicopter: Air { class ACE_SelfActions { class ACE_prepareFRIES { displayName = CSTRING(Interaction_prepareFRIES); @@ -68,6 +68,8 @@ class CfgVehicles { }; }; }; + + class Helicopter_Base_F; class ACE_friesBase: Helicopter_Base_F { destrType = ""; class Turrets {}; From 5aeb19312ba77735f66b93b0f9d3972a1583d411 Mon Sep 17 00:00:00 2001 From: commy2 Date: Sun, 20 Mar 2016 17:09:03 +0100 Subject: [PATCH 65/90] fix script error in tagging --- addons/tagging/functions/fnc_tagTestingThread.sqf | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/addons/tagging/functions/fnc_tagTestingThread.sqf b/addons/tagging/functions/fnc_tagTestingThread.sqf index a904587f8a..0e3bb8075d 100644 --- a/addons/tagging/functions/fnc_tagTestingThread.sqf +++ b/addons/tagging/functions/fnc_tagTestingThread.sqf @@ -17,7 +17,7 @@ #include "script_component.hpp" GVAR(tagsToTest) = GVAR(tagsToTest) select { - params ["_tag", "_tagPosASL", "_vectorDirAndUp"]; + _x params ["_tag", "_tagPosASL", "_vectorDirAndUp"]; _vectorDirAndUp params ["_v1", "_v2"]; From ec2920ed353631740cf1a8609805bf64f9da313a Mon Sep 17 00:00:00 2001 From: esteldunedain Date: Sun, 20 Mar 2016 22:24:30 -0300 Subject: [PATCH 66/90] Improve protractor accuracy. Close #3606 --- addons/advanced_ballistics/functions/fnc_displayProtractor.sqf | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/addons/advanced_ballistics/functions/fnc_displayProtractor.sqf b/addons/advanced_ballistics/functions/fnc_displayProtractor.sqf index 5ad6cb111e..8ff21e60cc 100644 --- a/addons/advanced_ballistics/functions/fnc_displayProtractor.sqf +++ b/addons/advanced_ballistics/functions/fnc_displayProtractor.sqf @@ -47,7 +47,7 @@ GVAR(Protractor) = true; __ctrl1 ctrlSetTextColor [1, 1, 1, 1]; __ctrl2 ctrlSetScale 1; - __ctrl2 ctrlSetPosition [SafeZoneX + 0.001, SafeZoneY + 0.001 - 0.0012 * (-58 max (asin((ACE_player weaponDirection currentWeapon ACE_player) select 2)) min 58), 0.2, 0.2 * 4/3]; + __ctrl2 ctrlSetPosition [SafeZoneX + 0.001, SafeZoneY - 0.001 - 0.1074 * (-0.86 max ((ACE_player weaponDirection currentWeapon ACE_player) select 2) min 0.86), 0.2, 0.2 * 4/3]; __ctrl2 ctrlCommit 0; __ctrl2 ctrlSetText QUOTE(PATHTOF(UI\protractor_marker.paa)); __ctrl2 ctrlSetTextColor [1, 1, 1, 1]; From cdcde46a7da6e5a2ff61f5fe7a21fb38e6d178a9 Mon Sep 17 00:00:00 2001 From: SzwedzikPL Date: Tue, 22 Mar 2016 13:05:47 +0100 Subject: [PATCH 67/90] Fix double displayName in medical settings --- addons/medical/ACE_Settings.hpp | 2 -- 1 file changed, 2 deletions(-) diff --git a/addons/medical/ACE_Settings.hpp b/addons/medical/ACE_Settings.hpp index e029f86d00..a785c2cad5 100644 --- a/addons/medical/ACE_Settings.hpp +++ b/addons/medical/ACE_Settings.hpp @@ -260,7 +260,6 @@ class ACE_Settings { category = CSTRING(Category_Medical); displayName = CSTRING(AdvancedMedicalSettings_healHitPointAfterAdvBandage_DisplayName); description = CSTRING(AdvancedMedicalSettings_healHitPointAfterAdvBandage_Description); - displayName = CSTRING(healHitPointAfterAdvBandage); typeName = "BOOL"; value = 0; }; @@ -268,7 +267,6 @@ class ACE_Settings { category = CSTRING(Category_Medical); displayName = CSTRING(AdvancedMedicalSettings_painIsOnlySuppressed_DisplayName); description = CSTRING(AdvancedMedicalSettings_painIsOnlySuppressed_Description); - displayName = CSTRING(painIsOnlySuppressed); typeName = "BOOL"; value = 1; }; From 86ad2ab415e0e3bf30c7ea4331a7182ed80c3e2b Mon Sep 17 00:00:00 2001 From: PabstMirror Date: Thu, 24 Mar 2016 11:53:55 -0500 Subject: [PATCH 68/90] Only warn for weapon compat if AB is on --- addons/advanced_ballistics/XEH_postInit.sqf | 15 +++++++++++++++ addons/main/CfgDependencies.hpp | 11 ++--------- 2 files changed, 17 insertions(+), 9 deletions(-) diff --git a/addons/advanced_ballistics/XEH_postInit.sqf b/addons/advanced_ballistics/XEH_postInit.sqf index a541d30ce8..246529299c 100644 --- a/addons/advanced_ballistics/XEH_postInit.sqf +++ b/addons/advanced_ballistics/XEH_postInit.sqf @@ -33,6 +33,21 @@ if (!hasInterface) exitWith {}; ["firedPlayer", DFUNC(handleFired)] call EFUNC(common,addEventHandler); ["firedPlayerNonLocal", DFUNC(handleFired)] call EFUNC(common,addEventHandler); + //Add warnings for missing compat PBOs (only if AB is on) + { + _x params ["_modPBO", "_compatPBO"]; + if ((isClass (configFile >> "CfgPatches" >> _modPBO)) && {!isClass (configFile >> "CfgPatches" >> _compatPBO)}) then { + ACE_LOGWARNING_2("Weapon Mod [%1] missing ace compat pbo [%2] (from @ace\optionals)",_modPBO,_compatPBO); + }; + } forEach [ + ["RH_acc","ace_compat_rh_acc"], + ["RH_de_cfg","ace_compat_rh_de"], + ["RH_m4_cfg","ace_compat_rh_m4"], + ["RH_PDW","ace_compat_rh_pdw"], + ["RKSL_PMII","ace_compat_rksl_pm_ii"], + ["iansky_opt","ace_compat_sma3_iansky"], + ["R3F_Armes","ace_compat_r3f"] + ]; }] call EFUNC(common,addEventHandler); #ifdef DEBUG_MODE_FULL diff --git a/addons/main/CfgDependencies.hpp b/addons/main/CfgDependencies.hpp index 6dd58fb60b..3414bc80b6 100644 --- a/addons/main/CfgDependencies.hpp +++ b/addons/main/CfgDependencies.hpp @@ -4,18 +4,11 @@ class CfgSettings { class ACE { class dependencies { //ACE will hard exit if this is missing - CBA[] = {"cba_main", REQUIRED_CBA_VERSION, "true"}; + CBA[] = {"cba_main", REQUIRED_CBA_VERSION, "(true)"}; - //Warnings for missing compat pbos - compat_r3f[] = {"ace_compat_r3f", {VERSION_AR}, "isClass (configFile >> 'CfgPatches' >> 'R3F_Armes')"}; - compat_rh_acc[] = {"ace_compat_rh_acc", {VERSION_AR}, "isClass (configFile >> 'CfgPatches' >> 'RH_acc')"}; - compat_rh_de[] = {"ace_compat_rh_de", {VERSION_AR}, "isClass (configFile >> 'CfgPatches' >> 'RH_de_cfg')"}; - compat_rh_m4[] = {"ace_compat_rh_m4", {VERSION_AR}, "isClass (configFile >> 'CfgPatches' >> 'RH_m4_cfg')"}; - compat_rh_pdw[] = {"ace_compat_rh_pdw", {VERSION_AR}, "isClass (configFile >> 'CfgPatches' >> 'RH_PDW')"}; + //Warnings for missing RHS compat pbos compat_rhs_afrf3[] = {"ace_compat_rhs_afrf3", {VERSION_AR}, "isClass (configFile >> 'CfgPatches' >> 'rhs_main')"}; compat_rhs_usf3[] = {"ace_compat_rhs_usf3", {VERSION_AR}, "isClass (configFile >> 'CfgPatches' >> 'rhsusf_main')"}; - compat_rksl_pm_ii[] = {"ace_compat_rksl_pm_ii", {VERSION_AR}, "isClass (configFile >> 'CfgPatches' >> 'RKSL_PMII')"}; - compat_sma3_iansky[] = {"ace_compat_sma3_iansky", {VERSION_AR}, "isClass (configFile >> 'CfgPatches' >> 'iansky_opt')"}; }; }; }; From e90609d04352f6c12bc67f1ce5451e48216985d0 Mon Sep 17 00:00:00 2001 From: PabstMirror Date: Thu, 24 Mar 2016 12:23:48 -0500 Subject: [PATCH 69/90] Fix AB Terrain Extension --- addons/advanced_ballistics/XEH_postInit.sqf | 4 +++- .../functions/fnc_initializeTerrainExtension.sqf | 2 +- 2 files changed, 4 insertions(+), 2 deletions(-) diff --git a/addons/advanced_ballistics/XEH_postInit.sqf b/addons/advanced_ballistics/XEH_postInit.sqf index a541d30ce8..ef451ff937 100644 --- a/addons/advanced_ballistics/XEH_postInit.sqf +++ b/addons/advanced_ballistics/XEH_postInit.sqf @@ -21,7 +21,6 @@ if (!GVAR(extensionAvailable)) exitWith { }; }; */ -[] call FUNC(initializeTerrainExtension); if (!hasInterface) exitWith {}; @@ -29,6 +28,9 @@ if (!hasInterface) exitWith {}; //If not enabled, dont't add PFEH if (!GVAR(enabled)) exitWith {}; + //Run the terrain processor + [] call FUNC(initializeTerrainExtension); + // Register fire event handler ["firedPlayer", DFUNC(handleFired)] call EFUNC(common,addEventHandler); ["firedPlayerNonLocal", DFUNC(handleFired)] call EFUNC(common,addEventHandler); diff --git a/addons/advanced_ballistics/functions/fnc_initializeTerrainExtension.sqf b/addons/advanced_ballistics/functions/fnc_initializeTerrainExtension.sqf index 02468d0349..25562a71d0 100644 --- a/addons/advanced_ballistics/functions/fnc_initializeTerrainExtension.sqf +++ b/addons/advanced_ballistics/functions/fnc_initializeTerrainExtension.sqf @@ -24,7 +24,7 @@ _mapSize = getNumber (configFile >> "CfgWorlds" >> worldName >> "MapSize"); if (("ace_advanced_ballistics" callExtension format["init:%1:%2", worldName, _mapSize]) == "Terrain already initialized") exitWith { #ifdef DEBUG_MODE_FULL systemChat "AdvancedBallistics: Terrain already initialized"; - #endIf + #endif }; _mapGrids = ceil(_mapSize / 50) + 1; From e5a7578f92b0fec25ee7ce2822d9f30a3cf2c56b Mon Sep 17 00:00:00 2001 From: Alessandro Foresi Date: Sun, 27 Mar 2016 21:20:15 +0200 Subject: [PATCH 70/90] Translation: IT completed (no BOM) --- addons/advanced_ballistics/stringtable.xml | 2 +- addons/aircraft/stringtable.xml | 2 +- addons/attach/stringtable.xml | 2 +- addons/captives/stringtable.xml | 2 +- addons/cargo/stringtable.xml | 2 +- addons/common/stringtable.xml | 2 +- addons/concertina_wire/stringtable.xml | 2 +- addons/dagr/stringtable.xml | 2 +- addons/dragging/stringtable.xml | 2 +- addons/explosives/stringtable.xml | 10 ++++++++-- addons/fastroping/stringtable.xml | 11 ++++++++++- addons/finger/stringtable.xml | 2 +- addons/flashlights/stringtable.xml | 2 +- addons/frag/stringtable.xml | 2 +- addons/gestures/stringtable.xml | 2 +- addons/hearing/stringtable.xml | 5 +++-- addons/interact_menu/stringtable.xml | 2 +- addons/interaction/stringtable.xml | 6 ++++-- addons/inventory/stringtable.xml | 2 +- addons/main/stringtable.xml | 2 +- addons/map/stringtable.xml | 2 +- addons/map_gestures/stringtable.xml | 2 +- addons/medical/stringtable.xml | 17 ++++++++++++++-- addons/medical_menu/stringtable.xml | 2 +- addons/microdagr/stringtable.xml | 2 +- addons/missileguidance/stringtable.xml | 2 +- addons/mk6mortar/stringtable.xml | 23 +++++++++++++++++++++- addons/nightvision/stringtable.xml | 2 +- addons/optionsmenu/stringtable.xml | 2 +- addons/overheating/stringtable.xml | 9 +++++++-- addons/parachute/stringtable.xml | 2 +- addons/rearm/stringtable.xml | 2 +- addons/refuel/stringtable.xml | 2 +- addons/repair/stringtable.xml | 2 +- addons/respawn/stringtable.xml | 2 +- addons/scopes/stringtable.xml | 2 +- addons/sitting/stringtable.xml | 2 +- addons/slideshow/stringtable.xml | 2 +- addons/spectator/stringtable.xml | 2 +- addons/switchunits/stringtable.xml | 2 +- addons/tacticalladder/stringtable.xml | 5 +++-- addons/tagging/stringtable.xml | 17 ++++++++++++++-- addons/trenches/stringtable.xml | 2 +- addons/tripod/stringtable.xml | 2 +- addons/viewdistance/stringtable.xml | 2 +- addons/yardage450/stringtable.xml | 2 +- addons/zeus/stringtable.xml | 2 +- 47 files changed, 125 insertions(+), 54 deletions(-) diff --git a/addons/advanced_ballistics/stringtable.xml b/addons/advanced_ballistics/stringtable.xml index 718057a5b4..371ef67fea 100644 --- a/addons/advanced_ballistics/stringtable.xml +++ b/addons/advanced_ballistics/stringtable.xml @@ -1,4 +1,4 @@ - + diff --git a/addons/aircraft/stringtable.xml b/addons/aircraft/stringtable.xml index 5480cb9740..3dec20b5f0 100644 --- a/addons/aircraft/stringtable.xml +++ b/addons/aircraft/stringtable.xml @@ -1,4 +1,4 @@ - + diff --git a/addons/attach/stringtable.xml b/addons/attach/stringtable.xml index 462e3d725c..a374c42802 100644 --- a/addons/attach/stringtable.xml +++ b/addons/attach/stringtable.xml @@ -1,4 +1,4 @@ - + diff --git a/addons/captives/stringtable.xml b/addons/captives/stringtable.xml index 4044723c4a..59c7ca7165 100644 --- a/addons/captives/stringtable.xml +++ b/addons/captives/stringtable.xml @@ -1,4 +1,4 @@ - + diff --git a/addons/cargo/stringtable.xml b/addons/cargo/stringtable.xml index 57daacd207..630f903ca2 100644 --- a/addons/cargo/stringtable.xml +++ b/addons/cargo/stringtable.xml @@ -1,4 +1,4 @@ - + diff --git a/addons/common/stringtable.xml b/addons/common/stringtable.xml index 32a979653f..a3c593cc2b 100644 --- a/addons/common/stringtable.xml +++ b/addons/common/stringtable.xml @@ -1,4 +1,4 @@ - + diff --git a/addons/concertina_wire/stringtable.xml b/addons/concertina_wire/stringtable.xml index 616879f31e..100a5ed2df 100644 --- a/addons/concertina_wire/stringtable.xml +++ b/addons/concertina_wire/stringtable.xml @@ -1,4 +1,4 @@ - + diff --git a/addons/dagr/stringtable.xml b/addons/dagr/stringtable.xml index 01b43391ab..90aaffaaba 100644 --- a/addons/dagr/stringtable.xml +++ b/addons/dagr/stringtable.xml @@ -1,4 +1,4 @@ - + diff --git a/addons/dragging/stringtable.xml b/addons/dragging/stringtable.xml index b0334f3ca2..393638e0c5 100644 --- a/addons/dragging/stringtable.xml +++ b/addons/dragging/stringtable.xml @@ -1,4 +1,4 @@ - + diff --git a/addons/explosives/stringtable.xml b/addons/explosives/stringtable.xml index e3ba902a9b..fe41b24e74 100644 --- a/addons/explosives/stringtable.xml +++ b/addons/explosives/stringtable.xml @@ -1,4 +1,4 @@ - + @@ -647,6 +647,7 @@ Mina M6 SLAM (atak od dołu) Mina M6 SLAM (Ataque Inferior) Mine M6 SLAM (par le bas) + Mina M6 SLAM (base) M6 SLAM Mine (Side Attack) @@ -661,6 +662,7 @@ Mina M6 SLAM (atak od boku) Mina M6 SLAM (Ataque Lateral) Mine M6 SLAM (de flanc) + STR_ACE_Explosives_Module_SLAMBottomAttack_DisplayName M6 SLAM Mine (Bottom Attack) Mine M6 SLAM (par le bas) M6-SLAM-Mine (Bodenangriff) Mina M6 SLAM (base) Mina M6 SLAM (atak od dołu) Mina M6 SLAM (Laterale) Large IED (Urban, Pressure Plate) @@ -675,6 +677,7 @@ Duży IED (miejski, płyta naciskowa) IED Grande (Urbano, Placa de presión) Grand EEI (Urbain, plaque de pression) + IED grande (urbano, a pressione) Large IED (Dug-in, Pressure Plate) @@ -689,6 +692,7 @@ Duży IED (zakopany, płyta naciskowa) IED Grande (Enterrado, Placa de presión) Grand EEI (Enterré, plaque de pression) + IED grande (interrato, a pressione) Small IED (Urban, Pressure Plate) @@ -703,6 +707,7 @@ Mały IED (miejski, płyta naciskowa) IED Pequeño (Urbano, Placa de presión) Petit EEI (Urbain, plaque de pression) + IED piccolo (urbano, a pressione) Small IED (Dug-in, Pressure Plate) @@ -717,6 +722,7 @@ Mały IED (zakopany, płyta naciskowa) IED Pequeño (Enterrado, Placa de presión) Petit EEI (Enterré, plaque de pression) + IED piccolo (interrato, a pressione) Connect to %1 @@ -731,4 +737,4 @@ Conectar à %1 - + \ No newline at end of file diff --git a/addons/fastroping/stringtable.xml b/addons/fastroping/stringtable.xml index f6c0f34826..96c4626de1 100644 --- a/addons/fastroping/stringtable.xml +++ b/addons/fastroping/stringtable.xml @@ -7,6 +7,7 @@ Wyposaż FRIES Equiper le FRIES Equipar FRIES + Equipaggia la FRIES Equips compatible helicopters with a Fast Rope Insertion Extraction System. @@ -14,6 +15,7 @@ Wyposaża kompatybilne helikoptery w zestaw Fast Rope Insertion Extraction System. Equipe les hélicoptères compatibles avec un Module Fast Rope Insertion Extraction System. Equipar helicoptero compatible con un Sistema de Inserción Extracción Fast Rope. + Equipagga l'elicottero compatibile con il Fast Rope Insertion Exstraction System Prepare fast roping system @@ -21,6 +23,7 @@ Przygotuj system zjazdu na linach Préparer le système de corde lisse Preparar el sistema fast roping + Prepara le corde Deploy ropes @@ -28,6 +31,7 @@ Wypuść liny Déployer les cordes Desplegar cuerdas + Srotola le corde Fast rope @@ -35,6 +39,7 @@ Zjedź na linie Descendre à la corde Descender por la cuerda + Scendi sulla corda Cut ropes @@ -42,6 +47,7 @@ Odetnij liny Détacher les cordes Cortar cuerdas + Taglia le corde Equip helicopter with FRIES @@ -49,6 +55,7 @@ Wyposaż helikopter w FRIES Equiper l'hélicoptère avec le FRIED Equipar helicoptero con FRIES + Equipaggia l'elicottero con FRIES Equips the selected helicopter with a Fast Rope Insertion Extraction System @@ -56,10 +63,12 @@ Wyposaża wybrany helikopter w zestaw Fast Rope Insertion Extraction System Equipe l'hélicoptère sélectionné avec un Fast Rope Insertion Extraction System Equipa el helicoptero seleccionado con un Sistema de Inserción Extracción Fast Rope + Equipaggia l'elicottero selezionato con il Fast Rope Insertion Extraction System LET UNITS FAST ROPE EINHEITEN ABSEILEN LASSEN + SCENDI DALLE CORDE - + \ No newline at end of file diff --git a/addons/finger/stringtable.xml b/addons/finger/stringtable.xml index 3f68d337f2..f335c12f0a 100644 --- a/addons/finger/stringtable.xml +++ b/addons/finger/stringtable.xml @@ -1,4 +1,4 @@ - + diff --git a/addons/flashlights/stringtable.xml b/addons/flashlights/stringtable.xml index dad3158b38..56b967e2d4 100644 --- a/addons/flashlights/stringtable.xml +++ b/addons/flashlights/stringtable.xml @@ -1,4 +1,4 @@ - + diff --git a/addons/frag/stringtable.xml b/addons/frag/stringtable.xml index 4191a405d3..4bdf513aff 100644 --- a/addons/frag/stringtable.xml +++ b/addons/frag/stringtable.xml @@ -1,4 +1,4 @@ - + diff --git a/addons/gestures/stringtable.xml b/addons/gestures/stringtable.xml index 1f008ddae9..a5af13cd1e 100644 --- a/addons/gestures/stringtable.xml +++ b/addons/gestures/stringtable.xml @@ -1,4 +1,4 @@ - + diff --git a/addons/hearing/stringtable.xml b/addons/hearing/stringtable.xml index 1777c08e4f..1d40dca8ae 100644 --- a/addons/hearing/stringtable.xml +++ b/addons/hearing/stringtable.xml @@ -1,4 +1,4 @@ - + @@ -115,6 +115,7 @@ Desactiva el efecto de zumbido cuando el jugador recibe daño auditivo. Usuń szum w uszach przy chwilowej utracie słuchu. Enlève les acouphènes quand le joueur prend des dommages auditifs. + Quando il giocatore riceve danni all'udito, non fa sentire i fischi nelle orecchie Hearing @@ -208,4 +209,4 @@ Ajouter l'item "ACE_EarPlugs" à toutes les unités qui ont des armes lourdes. Peut être desactivé si des équipements personnels sont utilisés. - + \ No newline at end of file diff --git a/addons/interact_menu/stringtable.xml b/addons/interact_menu/stringtable.xml index aac120ddbc..00118adee9 100644 --- a/addons/interact_menu/stringtable.xml +++ b/addons/interact_menu/stringtable.xml @@ -1,4 +1,4 @@ - + diff --git a/addons/interaction/stringtable.xml b/addons/interaction/stringtable.xml index b847a66aa6..05df33e043 100644 --- a/addons/interaction/stringtable.xml +++ b/addons/interaction/stringtable.xml @@ -1,4 +1,4 @@ - + @@ -711,6 +711,7 @@ Włącz Encender Allumer + Accendi Turn off @@ -718,6 +719,7 @@ Wyłącz Apagar Eteindre + Spegni Pass magazine @@ -775,4 +777,4 @@ Montrer l'interaction "donner un chargeur". - + \ No newline at end of file diff --git a/addons/inventory/stringtable.xml b/addons/inventory/stringtable.xml index 6384c11641..cb4aee728d 100644 --- a/addons/inventory/stringtable.xml +++ b/addons/inventory/stringtable.xml @@ -1,4 +1,4 @@ - + diff --git a/addons/main/stringtable.xml b/addons/main/stringtable.xml index 985bfb4836..f49394a68c 100644 --- a/addons/main/stringtable.xml +++ b/addons/main/stringtable.xml @@ -1,4 +1,4 @@ - + diff --git a/addons/map/stringtable.xml b/addons/map/stringtable.xml index 73bf0cc774..42a0145d0b 100644 --- a/addons/map/stringtable.xml +++ b/addons/map/stringtable.xml @@ -1,4 +1,4 @@ - + diff --git a/addons/map_gestures/stringtable.xml b/addons/map_gestures/stringtable.xml index e89d6c07a3..464dcaf352 100644 --- a/addons/map_gestures/stringtable.xml +++ b/addons/map_gestures/stringtable.xml @@ -1,4 +1,4 @@ - + diff --git a/addons/medical/stringtable.xml b/addons/medical/stringtable.xml index 7091de6b6e..00cde86765 100644 --- a/addons/medical/stringtable.xml +++ b/addons/medical/stringtable.xml @@ -1,4 +1,4 @@ - + @@ -55,6 +55,7 @@ Inyectar Adenosina Wstrzyknij adenozynę Injecter de l'adénosine + Inietta andenosina Inject Atropine @@ -254,6 +255,7 @@ Inyectando Adenosina... Wstrzykiwanie adenozyny... Injection d'adénosine... + Inietto l'andenosina Injecting Atropine... @@ -969,6 +971,7 @@ Asenosina auto-inyectable Autostrzykawka z adenozyną Auto-injécteur d'adénosine + Autoiniettore di adenosina Used to counter effects of Epinephrine @@ -976,6 +979,7 @@ Utilizada para contrarrestar los effectos de la Epinefrina Adenozyna. Stosowana do zwalczania efektów działania adrenaliny. Utilisé pour contrer les effets de l'adrénaline + Usato per contrastare l'effetto dell'epinefrina A drug used to counter the effects of Epinephrine @@ -983,6 +987,7 @@ Medicamento usado para contrarrestar los efectos de la Epinefrina. Organiczny związek chemiczny z grupy nukleozydów. Skuteczna w leczeniu częstoskurczu komorowego. Działa rozszerzająco na naczynia krwionośne. Un composé utilisé pour contrer les effets de l'adrénaline + Medicamento usato per contrastare l'effetto dell'epinefrina Atropine autoinjector @@ -3199,6 +3204,7 @@ Podstawowe ustawienia medyczne Ajustes médicos básicos [ACE] Réglages du système médical basic [ACE] + Impostazioni Mediche Di Base [ACE] Advanced Medical Settings [ACE] @@ -3314,6 +3320,7 @@ Permitir Epinefrina Ograniczenia adrenaliny Autoriser l'adrénaline + Permette epinefrina Who can use Epinephrine for full heal? (Basic medical only) @@ -3321,6 +3328,7 @@ Configura quienes pueden usar Epinefrina (Solo sistema médico básico) Kto może skorzystać z adrenaliny w celu pełnego uleczenia? (Tylko podstawowy system medyczny) Qui peut utiliser l'adrénaline pour les soins complets ? (Médical basique seulement) + Chi può usare l'epinefrina per la cura completa? (solo per sistema medico di base) Allow PAK @@ -3412,6 +3420,7 @@ Ubicaciones epinefrina Ograniczenia adrenaliny Position des adrénalines + Ubicazione epinefrina Where can the Epinephrine be used? (Basic Medical) @@ -3419,6 +3428,7 @@ Configura donde puede usarse Epinefrina (Solo sistema médico básico) Gdzie można korzystać z adrenaliny? (Podstawowy system medyczny) Où peuvent être utilisées les adrénalines ? (Médical basique) + Dove si può usare l'epinefrina? (Sistema medico di base) Locations PAK @@ -3664,6 +3674,7 @@ Configure las opciones de tratamiento del sistema médico básico de ACE Skonfiguruj ustawienia leczenia podstawowego systemu medycznego ACE Configure les réglages de traitement dans ACE médical basique + Configura le impostazioni trattamenti per ACE Medical di base Configure the treatment settings from ACE Advanced Medical @@ -4125,12 +4136,14 @@ Delay cease fire of AI while player is unconscious for medical reasons. Verzögert das Ende des KI-Beschusses auf einen Spieler, wenn dieser aus medizinischen Gründen bewustlos wird. + Ritarda il cessate il fuoco dell'IA quando il giocatore è svenuto per motivi medici. Delay cease fire of AI for unconsciousness Verzögert Ende des KI-Beschusses bei medizinischer Bewustlosigkeit Demora antes de volverse neutral al caer inconsciente Opóźnij status captive u nieprzytomnych osób + Ritarda il cessate il fuoco dell'IA quando si è svenuti - + \ No newline at end of file diff --git a/addons/medical_menu/stringtable.xml b/addons/medical_menu/stringtable.xml index f825882be6..a55bb575cd 100644 --- a/addons/medical_menu/stringtable.xml +++ b/addons/medical_menu/stringtable.xml @@ -1,4 +1,4 @@ - + diff --git a/addons/microdagr/stringtable.xml b/addons/microdagr/stringtable.xml index c20ea7aede..fcc38b8f7c 100644 --- a/addons/microdagr/stringtable.xml +++ b/addons/microdagr/stringtable.xml @@ -1,4 +1,4 @@ - + diff --git a/addons/missileguidance/stringtable.xml b/addons/missileguidance/stringtable.xml index ff14fea9f7..1f188db453 100644 --- a/addons/missileguidance/stringtable.xml +++ b/addons/missileguidance/stringtable.xml @@ -1,4 +1,4 @@ - + diff --git a/addons/mk6mortar/stringtable.xml b/addons/mk6mortar/stringtable.xml index 5daa29a0f6..e77a771b38 100644 --- a/addons/mk6mortar/stringtable.xml +++ b/addons/mk6mortar/stringtable.xml @@ -1,4 +1,4 @@ - + @@ -150,6 +150,7 @@ Usar manejo de munición. Aktywuj obsługę amunicji Utiliser la gestion des munitions + Utilizza la gestione delle munizioni Removes mortar magazines, requiring individual rounds to be loaded by the gunner or loader. Does not affect AI mortars. @@ -157,6 +158,7 @@ Elimina los cargadores del mortero, requiriendo al artillero o cargador la carga manual de cada rondas. No afecta morteros controlados por IA. Usuwa magazynki moździerza, wymagając ładowania pojedynczych pocisków przez strzelca lub ładowniczego. Nie dotyczy moździerzy AI. Enlever les chargeurs de mortier, requiert des obus individuels qui doivent être chargés par le tireur ou le servant. N'affect pas les mortiers IA. + Toglie i proiettili dal mortaio. I colpi singoli devono essere caricati dall'operatore. Non cambia quado l'IA spara. Remove Round @@ -164,6 +166,7 @@ Extraer ronda Wyładuj pocisk Enlever l'obus + Togli proiettile Load Mortar @@ -171,6 +174,7 @@ Cargar mortero Załaduj moździerz Charger le mortier + Carica mortaio Unloading Round @@ -178,6 +182,7 @@ Descargando ronda Rozładowywanie moździerza Déchargement de l'obus + Scarica proiettile Preparing Round @@ -185,6 +190,7 @@ Preparando ronda Przygotowywanie pocisku Praparation de l'obus + Prepara il proiettile Load HE @@ -192,6 +198,7 @@ Cargar HE Załaduj pocisk wybuchowy Charger HE + Carica proiettile esplosivo ad alto potenziale (HE) Load Smoke @@ -199,6 +206,7 @@ Cargar Humo Załaduj pocisk dymny Charger Fumigène + Carica fumogeno Load Illumination @@ -206,6 +214,7 @@ Cargar Iluminación Załaduj pocisk oświetlający Charger Eclairante + Carica illuminante Load Guided HE @@ -213,6 +222,7 @@ Cagar HE Guiada Załaduj kierowany pocisk wybuchowy Charger HE guidé + Carica HE guidata Load Laser Guided HE @@ -220,6 +230,7 @@ Cargar HE Guiada por Laser Załaduj laserowo napr. pocisk wybuchowy Charger HE guidé au laser + Carica HE a guida laser 82mm HE Round @@ -227,6 +238,7 @@ Ronda 82mm HE Pocisk wybuchowy kal. 82mm Obus de 82mm HE + Proiettile da 82mm HE 82mm Smoke Round @@ -234,6 +246,7 @@ Ronda 82mm Humo Pocisk dymny kal. 82mm Obus de 82mm fumigène + Proiettile Fumogeno da 82mm 82mm Illumination Round @@ -241,6 +254,7 @@ Ronda 82mm Iluminación Pocisk oświetlający kal. 82mm Obus de 82mm éclairant + Proiettile illuminante da 82mm 82mm Guided HE Round @@ -248,6 +262,7 @@ Ronda 82mm Guiada Kierowany pocisk wybuchowy kal. 82mm Obus de 82mm HE guidé + Proiettile HE guidato 82mm Laser Guided HE Round @@ -255,6 +270,7 @@ Ronda 82mm Guiada por Laser Laserowo napr. pocisk wybuchowy kal. 82mm Obus de 82mm HE guidé au laser + Proiettile HE a guida laser Used in Mk6 mortar @@ -262,6 +278,7 @@ Usada en el mortero Mk6 Używany w moździerzu Mk6 Utilisé dans le mortier Mk6 + Usato nel mortaio Mk6 [ACE] 82mm HE Rounds Box @@ -269,6 +286,7 @@ [ACE] Caja de municiones 82mm HE [ACE] Skrzynka amunicji wybuchowej 82mm [ACE] Obus de 82mm HE + [ACE] Scatola proiettili espolisvi ad alto potenziale (HE) da 82mm [ACE] 82mm Smoke Rounds Box @@ -276,6 +294,7 @@ [ACE] Caja de municiones 82mm Humo [ACE] Skrzynka amunicji dymnej 82mm [ACE] Obus de 82mm fumigène + [ACE] Scatola fumogeni da 82mm [ACE] 82mm Illumination Rounds Box @@ -283,6 +302,7 @@ [ACE] Caja de municiones 82mm Iluminacion [ACE] Skrzynka amunicji oświetlającej 82mm [ACE] Obus de 82mm éclairants + [ACE] Scatola illuminanti da 82mm [ACE] 82mm Default Loadout Box @@ -290,6 +310,7 @@ [ACE] Caja de municiones 82mm por defecto [ACE] Skrzynka amunicji standardowej 82mm [ACE] Obus de 82mm par défaut + [ACE] Scatola proiettili 82mm standard \ No newline at end of file diff --git a/addons/nightvision/stringtable.xml b/addons/nightvision/stringtable.xml index 708860d134..abc0218908 100644 --- a/addons/nightvision/stringtable.xml +++ b/addons/nightvision/stringtable.xml @@ -1,4 +1,4 @@ - + diff --git a/addons/optionsmenu/stringtable.xml b/addons/optionsmenu/stringtable.xml index b051e3f219..66ad0dd00b 100644 --- a/addons/optionsmenu/stringtable.xml +++ b/addons/optionsmenu/stringtable.xml @@ -1,4 +1,4 @@ - + diff --git a/addons/overheating/stringtable.xml b/addons/overheating/stringtable.xml index 23a1b0253a..f17ee88670 100644 --- a/addons/overheating/stringtable.xml +++ b/addons/overheating/stringtable.xml @@ -1,4 +1,4 @@ - + @@ -79,6 +79,7 @@ Desencasquillar el arma al recargar. Usuń zacięcie przy przeładowaniu Des-enrayer l'arme au rechargement. + Disinceppa l'arma quando si ricarica Reloading clears a weapon jam. @@ -86,6 +87,7 @@ Recargar el arma la desencasquilla. Przeładowywanie usuwa zacięcie Recharger vide la chambre de l'arme + L'arma si disinceppa quando si ricarica Chance of unjam failing @@ -93,6 +95,7 @@ Probabilidad de falla al desencasquillar. Szansa na porażkę usuw. zacięcia Chance de rater le des-enrayement + Probabilità di sbagliare a disinceppare l'arma Probability that an unjam action might fail, requiring to be repeated. @@ -100,6 +103,7 @@ Probabilidad de que el proceso de desencasquille falle, teniendo que repetirlo. Szansa na to, że przy przeładowaniu broni zacięcie nie zostanie usunięte, przez co czynność będzie musiała zostać powtórzona ponownie. Probabilité qu'une action de des-enrayement échoue, nécessitant de recommencer. + Probabilità che si possa sbagliare a caso a disinceppare l'arma. Richiede di ripetere. Spare barrel @@ -167,6 +171,7 @@ Falló el desencasquillado Porażka przy usuwaniu zacięcia Toujours enrayé ! + Non si è disinceppata! Swap barrel @@ -253,4 +258,4 @@ Температура - + \ No newline at end of file diff --git a/addons/parachute/stringtable.xml b/addons/parachute/stringtable.xml index 880cc55e5f..db21b182d1 100644 --- a/addons/parachute/stringtable.xml +++ b/addons/parachute/stringtable.xml @@ -1,4 +1,4 @@ - + diff --git a/addons/rearm/stringtable.xml b/addons/rearm/stringtable.xml index 7806735c57..b7da05d989 100644 --- a/addons/rearm/stringtable.xml +++ b/addons/rearm/stringtable.xml @@ -1,4 +1,4 @@ - + diff --git a/addons/refuel/stringtable.xml b/addons/refuel/stringtable.xml index 2df51ea540..df30ac2380 100644 --- a/addons/refuel/stringtable.xml +++ b/addons/refuel/stringtable.xml @@ -1,4 +1,4 @@ - + diff --git a/addons/repair/stringtable.xml b/addons/repair/stringtable.xml index fb505f4f4e..2af94c1ef2 100644 --- a/addons/repair/stringtable.xml +++ b/addons/repair/stringtable.xml @@ -1,4 +1,4 @@ - + diff --git a/addons/respawn/stringtable.xml b/addons/respawn/stringtable.xml index e0d04aabfa..716679d0d0 100644 --- a/addons/respawn/stringtable.xml +++ b/addons/respawn/stringtable.xml @@ -1,4 +1,4 @@ - + diff --git a/addons/scopes/stringtable.xml b/addons/scopes/stringtable.xml index 8dc7a9eba0..2e7918cb7d 100644 --- a/addons/scopes/stringtable.xml +++ b/addons/scopes/stringtable.xml @@ -1,4 +1,4 @@ - + diff --git a/addons/sitting/stringtable.xml b/addons/sitting/stringtable.xml index f7c7b84b93..2231ff5145 100644 --- a/addons/sitting/stringtable.xml +++ b/addons/sitting/stringtable.xml @@ -1,4 +1,4 @@ - + diff --git a/addons/slideshow/stringtable.xml b/addons/slideshow/stringtable.xml index 4c45399ba6..5459adeea7 100644 --- a/addons/slideshow/stringtable.xml +++ b/addons/slideshow/stringtable.xml @@ -1,4 +1,4 @@ - + diff --git a/addons/spectator/stringtable.xml b/addons/spectator/stringtable.xml index b78febbef7..3ec849658f 100644 --- a/addons/spectator/stringtable.xml +++ b/addons/spectator/stringtable.xml @@ -1,4 +1,4 @@ - + diff --git a/addons/switchunits/stringtable.xml b/addons/switchunits/stringtable.xml index 60d7fb0ecd..bd4fe13a56 100644 --- a/addons/switchunits/stringtable.xml +++ b/addons/switchunits/stringtable.xml @@ -1,4 +1,4 @@ - + diff --git a/addons/tacticalladder/stringtable.xml b/addons/tacticalladder/stringtable.xml index 1e2c037f20..ab1ffbed9b 100644 --- a/addons/tacticalladder/stringtable.xml +++ b/addons/tacticalladder/stringtable.xml @@ -1,4 +1,4 @@ - + @@ -57,6 +57,7 @@ +Ctrl naklonit +Ctrl inclinar +Ctrl incliner + +Ctrl per inclinare Position ladder @@ -83,4 +84,4 @@ Pegar escada - + \ No newline at end of file diff --git a/addons/tagging/stringtable.xml b/addons/tagging/stringtable.xml index 392de0d24f..41964c9b13 100644 --- a/addons/tagging/stringtable.xml +++ b/addons/tagging/stringtable.xml @@ -1,4 +1,4 @@ - + @@ -7,6 +7,7 @@ Marcar en negro Oznakuj na czarno Tag noir + Marca nero Tag red @@ -14,6 +15,7 @@ Marcar en rojo Oznakuj na czerwono Tag rouge + Marca rosso Tag green @@ -21,6 +23,7 @@ Marcar en verde Oznakuj na zielono Tag vert + Marca verde Tag blue @@ -28,6 +31,7 @@ Marcar en azul Oznakuj na niebiesko Tag bleu + Marca blu Tag ground black @@ -35,6 +39,7 @@ Oznakuj ziemię na czarno Marcar suelo en negro Tag fond noir + Segna nero a terra Tag ground red @@ -42,6 +47,7 @@ Oznakuj ziemię na czerwono Marcar suelo en rojo Tag fond rouge + Segna rosso a terra Tag ground green @@ -49,6 +55,7 @@ Oznakuj ziemię na zielono Marcar suelo en verde Tag fond vert + Segna verde a terra Tag ground blue @@ -56,6 +63,7 @@ Oznakuj ziemię na niebiesko Marcar suelo en azul Tag font bleu + Segna blu a terra Black spray paint @@ -63,6 +71,7 @@ Pintura negra Czarna farba w sprayu Peinture pulvérisée noire + Bomboletta spray nera Red spray paint @@ -70,6 +79,7 @@ Pintura roja Czerwona farba w sprayu Peinture pulvérisée rouge + Bomboletta spray rossa Green spray paint @@ -77,6 +87,7 @@ Pintura verde Zielona farba w sprayu Peinture pulvérisée verte + Bomboletta spray verde Blue spray paint @@ -84,6 +95,7 @@ Pintura azul Niebieska farba w sprayu Peinture pulvérisée bleue + Bomboletta spray blu A can of spray paint for tagging walls. @@ -91,6 +103,7 @@ Lata de pintura en aerosol para marcar. Farba w sprayu, służy do oznakowywania terenu. Un spray de peinture pour taguer les murs. + Una bomboletta di spay per contrassegnare i muri. - + \ No newline at end of file diff --git a/addons/trenches/stringtable.xml b/addons/trenches/stringtable.xml index 617a604457..a6b922a00f 100644 --- a/addons/trenches/stringtable.xml +++ b/addons/trenches/stringtable.xml @@ -1,4 +1,4 @@ - + diff --git a/addons/tripod/stringtable.xml b/addons/tripod/stringtable.xml index a57c6ca51d..c2abcff8bc 100644 --- a/addons/tripod/stringtable.xml +++ b/addons/tripod/stringtable.xml @@ -1,4 +1,4 @@ - + diff --git a/addons/viewdistance/stringtable.xml b/addons/viewdistance/stringtable.xml index a0f2bceb68..518f673455 100644 --- a/addons/viewdistance/stringtable.xml +++ b/addons/viewdistance/stringtable.xml @@ -1,4 +1,4 @@ - + diff --git a/addons/yardage450/stringtable.xml b/addons/yardage450/stringtable.xml index c9f1c94b1b..4fdc0dfe72 100644 --- a/addons/yardage450/stringtable.xml +++ b/addons/yardage450/stringtable.xml @@ -1,4 +1,4 @@ - + diff --git a/addons/zeus/stringtable.xml b/addons/zeus/stringtable.xml index c07d4f7f84..8ef47b9b27 100644 --- a/addons/zeus/stringtable.xml +++ b/addons/zeus/stringtable.xml @@ -1,4 +1,4 @@ - + From e97c7c0f65721e9957e968193134ed462efd451a Mon Sep 17 00:00:00 2001 From: Alessandro Foresi Date: Sun, 27 Mar 2016 21:22:15 +0200 Subject: [PATCH 71/90] Translation: IT completed (with BOM) --- addons/advanced_ballistics/stringtable.xml | 2 +- addons/aircraft/stringtable.xml | 2 +- addons/atragmx/stringtable.xml | 2 +- addons/attach/stringtable.xml | 2 +- addons/ballistics/stringtable.xml | 2 +- addons/captives/stringtable.xml | 2 +- addons/cargo/stringtable.xml | 2 +- addons/common/stringtable.xml | 2 +- addons/concertina_wire/stringtable.xml | 2 +- addons/dagr/stringtable.xml | 2 +- addons/disarming/stringtable.xml | 2 +- addons/disposable/stringtable.xml | 2 +- addons/dragging/stringtable.xml | 2 +- addons/explosives/stringtable.xml | 2 +- addons/fastroping/stringtable.xml | 2 +- addons/fcs/stringtable.xml | 2 +- addons/finger/stringtable.xml | 2 +- addons/flashlights/stringtable.xml | 2 +- addons/flashsuppressors/stringtable.xml | 2 +- addons/frag/stringtable.xml | 2 +- addons/gestures/stringtable.xml | 2 +- addons/goggles/stringtable.xml | 2 +- addons/grenades/stringtable.xml | 2 +- addons/hearing/stringtable.xml | 2 +- addons/huntir/stringtable.xml | 2 +- addons/interact_menu/stringtable.xml | 2 +- addons/interaction/stringtable.xml | 2 +- addons/inventory/stringtable.xml | 2 +- addons/javelin/stringtable.xml | 2 +- addons/kestrel4500/stringtable.xml | 2 +- addons/laser/stringtable.xml | 2 +- addons/laser_selfdesignate/stringtable.xml | 2 +- addons/laserpointer/stringtable.xml | 2 +- addons/logistics_uavbattery/stringtable.xml | 2 +- addons/logistics_wirecutter/stringtable.xml | 2 +- addons/magazinerepack/stringtable.xml | 2 +- addons/main/stringtable.xml | 2 +- addons/map/stringtable.xml | 2 +- addons/map_gestures/stringtable.xml | 2 +- addons/maptools/stringtable.xml | 2 +- addons/markers/stringtable.xml | 2 +- addons/medical/stringtable.xml | 2 +- addons/medical_menu/stringtable.xml | 2 +- addons/microdagr/stringtable.xml | 2 +- addons/missileguidance/stringtable.xml | 2 +- addons/missionmodules/stringtable.xml | 2 +- addons/mk6mortar/stringtable.xml | 2 +- addons/movement/stringtable.xml | 2 +- addons/mx2a/stringtable.xml | 2 +- addons/nametags/stringtable.xml | 2 +- addons/nightvision/stringtable.xml | 2 +- addons/optics/stringtable.xml | 2 +- addons/optionsmenu/stringtable.xml | 2 +- addons/overheating/stringtable.xml | 2 +- addons/parachute/stringtable.xml | 2 +- addons/rangecard/stringtable.xml | 2 +- addons/realisticnames/stringtable.xml | 2 +- addons/rearm/stringtable.xml | 2 +- addons/refuel/stringtable.xml | 2 +- addons/reload/stringtable.xml | 2 +- addons/reloadlaunchers/stringtable.xml | 2 +- addons/repair/stringtable.xml | 2 +- addons/respawn/stringtable.xml | 2 +- addons/safemode/stringtable.xml | 2 +- addons/sandbag/stringtable.xml | 2 +- addons/scopes/stringtable.xml | 2 +- addons/sitting/stringtable.xml | 2 +- addons/slideshow/stringtable.xml | 2 +- addons/spectator/stringtable.xml | 2 +- addons/spottingscope/stringtable.xml | 2 +- addons/switchunits/stringtable.xml | 2 +- addons/tacticalladder/stringtable.xml | 2 +- addons/tagging/stringtable.xml | 2 +- addons/trenches/stringtable.xml | 2 +- addons/tripod/stringtable.xml | 2 +- addons/vector/stringtable.xml | 2 +- addons/vehiclelock/stringtable.xml | 2 +- addons/vehicles/stringtable.xml | 2 +- addons/viewdistance/stringtable.xml | 2 +- addons/weaponselect/stringtable.xml | 2 +- addons/weather/stringtable.xml | 2 +- addons/winddeflection/stringtable.xml | 2 +- addons/yardage450/stringtable.xml | 2 +- addons/zeus/stringtable.xml | 2 +- 84 files changed, 84 insertions(+), 84 deletions(-) diff --git a/addons/advanced_ballistics/stringtable.xml b/addons/advanced_ballistics/stringtable.xml index 371ef67fea..718057a5b4 100644 --- a/addons/advanced_ballistics/stringtable.xml +++ b/addons/advanced_ballistics/stringtable.xml @@ -1,4 +1,4 @@ - + diff --git a/addons/aircraft/stringtable.xml b/addons/aircraft/stringtable.xml index 3dec20b5f0..5480cb9740 100644 --- a/addons/aircraft/stringtable.xml +++ b/addons/aircraft/stringtable.xml @@ -1,4 +1,4 @@ - + diff --git a/addons/atragmx/stringtable.xml b/addons/atragmx/stringtable.xml index a8e23ffbda..3790fb1f2d 100644 --- a/addons/atragmx/stringtable.xml +++ b/addons/atragmx/stringtable.xml @@ -1,4 +1,4 @@ - + diff --git a/addons/attach/stringtable.xml b/addons/attach/stringtable.xml index a374c42802..462e3d725c 100644 --- a/addons/attach/stringtable.xml +++ b/addons/attach/stringtable.xml @@ -1,4 +1,4 @@ - + diff --git a/addons/ballistics/stringtable.xml b/addons/ballistics/stringtable.xml index 39bbac1726..b51303fa6d 100644 --- a/addons/ballistics/stringtable.xml +++ b/addons/ballistics/stringtable.xml @@ -1,4 +1,4 @@ - + diff --git a/addons/captives/stringtable.xml b/addons/captives/stringtable.xml index 59c7ca7165..4044723c4a 100644 --- a/addons/captives/stringtable.xml +++ b/addons/captives/stringtable.xml @@ -1,4 +1,4 @@ - + diff --git a/addons/cargo/stringtable.xml b/addons/cargo/stringtable.xml index 630f903ca2..57daacd207 100644 --- a/addons/cargo/stringtable.xml +++ b/addons/cargo/stringtable.xml @@ -1,4 +1,4 @@ - + diff --git a/addons/common/stringtable.xml b/addons/common/stringtable.xml index a3c593cc2b..32a979653f 100644 --- a/addons/common/stringtable.xml +++ b/addons/common/stringtable.xml @@ -1,4 +1,4 @@ - + diff --git a/addons/concertina_wire/stringtable.xml b/addons/concertina_wire/stringtable.xml index 100a5ed2df..616879f31e 100644 --- a/addons/concertina_wire/stringtable.xml +++ b/addons/concertina_wire/stringtable.xml @@ -1,4 +1,4 @@ - + diff --git a/addons/dagr/stringtable.xml b/addons/dagr/stringtable.xml index 90aaffaaba..01b43391ab 100644 --- a/addons/dagr/stringtable.xml +++ b/addons/dagr/stringtable.xml @@ -1,4 +1,4 @@ - + diff --git a/addons/disarming/stringtable.xml b/addons/disarming/stringtable.xml index 61eaf9af59..dfa030273a 100644 --- a/addons/disarming/stringtable.xml +++ b/addons/disarming/stringtable.xml @@ -1,4 +1,4 @@ - + diff --git a/addons/disposable/stringtable.xml b/addons/disposable/stringtable.xml index acdc79473c..ac2b76ee7f 100644 --- a/addons/disposable/stringtable.xml +++ b/addons/disposable/stringtable.xml @@ -1,4 +1,4 @@ - + diff --git a/addons/dragging/stringtable.xml b/addons/dragging/stringtable.xml index 393638e0c5..b0334f3ca2 100644 --- a/addons/dragging/stringtable.xml +++ b/addons/dragging/stringtable.xml @@ -1,4 +1,4 @@ - + diff --git a/addons/explosives/stringtable.xml b/addons/explosives/stringtable.xml index fe41b24e74..4cabe2ce06 100644 --- a/addons/explosives/stringtable.xml +++ b/addons/explosives/stringtable.xml @@ -1,4 +1,4 @@ - + diff --git a/addons/fastroping/stringtable.xml b/addons/fastroping/stringtable.xml index 96c4626de1..1a03e59409 100644 --- a/addons/fastroping/stringtable.xml +++ b/addons/fastroping/stringtable.xml @@ -1,4 +1,4 @@ - + diff --git a/addons/fcs/stringtable.xml b/addons/fcs/stringtable.xml index 035d9d7a36..8750d2a4e3 100644 --- a/addons/fcs/stringtable.xml +++ b/addons/fcs/stringtable.xml @@ -1,4 +1,4 @@ - + diff --git a/addons/finger/stringtable.xml b/addons/finger/stringtable.xml index f335c12f0a..3f68d337f2 100644 --- a/addons/finger/stringtable.xml +++ b/addons/finger/stringtable.xml @@ -1,4 +1,4 @@ - + diff --git a/addons/flashlights/stringtable.xml b/addons/flashlights/stringtable.xml index 56b967e2d4..dad3158b38 100644 --- a/addons/flashlights/stringtable.xml +++ b/addons/flashlights/stringtable.xml @@ -1,4 +1,4 @@ - + diff --git a/addons/flashsuppressors/stringtable.xml b/addons/flashsuppressors/stringtable.xml index 5f6a0ebc86..f075f1aa34 100644 --- a/addons/flashsuppressors/stringtable.xml +++ b/addons/flashsuppressors/stringtable.xml @@ -1,4 +1,4 @@ - + diff --git a/addons/frag/stringtable.xml b/addons/frag/stringtable.xml index 4bdf513aff..4191a405d3 100644 --- a/addons/frag/stringtable.xml +++ b/addons/frag/stringtable.xml @@ -1,4 +1,4 @@ - + diff --git a/addons/gestures/stringtable.xml b/addons/gestures/stringtable.xml index a5af13cd1e..1f008ddae9 100644 --- a/addons/gestures/stringtable.xml +++ b/addons/gestures/stringtable.xml @@ -1,4 +1,4 @@ - + diff --git a/addons/goggles/stringtable.xml b/addons/goggles/stringtable.xml index 6b5a623715..ce337760d7 100644 --- a/addons/goggles/stringtable.xml +++ b/addons/goggles/stringtable.xml @@ -1,4 +1,4 @@ - + diff --git a/addons/grenades/stringtable.xml b/addons/grenades/stringtable.xml index a05f6635cd..44d9e7ad47 100644 --- a/addons/grenades/stringtable.xml +++ b/addons/grenades/stringtable.xml @@ -1,4 +1,4 @@ - + diff --git a/addons/hearing/stringtable.xml b/addons/hearing/stringtable.xml index 1d40dca8ae..e92229cdd4 100644 --- a/addons/hearing/stringtable.xml +++ b/addons/hearing/stringtable.xml @@ -1,4 +1,4 @@ - + diff --git a/addons/huntir/stringtable.xml b/addons/huntir/stringtable.xml index 2331c3855c..8648f58ea9 100644 --- a/addons/huntir/stringtable.xml +++ b/addons/huntir/stringtable.xml @@ -1,4 +1,4 @@ - + diff --git a/addons/interact_menu/stringtable.xml b/addons/interact_menu/stringtable.xml index 00118adee9..aac120ddbc 100644 --- a/addons/interact_menu/stringtable.xml +++ b/addons/interact_menu/stringtable.xml @@ -1,4 +1,4 @@ - + diff --git a/addons/interaction/stringtable.xml b/addons/interaction/stringtable.xml index 05df33e043..0e1afa21a1 100644 --- a/addons/interaction/stringtable.xml +++ b/addons/interaction/stringtable.xml @@ -1,4 +1,4 @@ - + diff --git a/addons/inventory/stringtable.xml b/addons/inventory/stringtable.xml index cb4aee728d..6384c11641 100644 --- a/addons/inventory/stringtable.xml +++ b/addons/inventory/stringtable.xml @@ -1,4 +1,4 @@ - + diff --git a/addons/javelin/stringtable.xml b/addons/javelin/stringtable.xml index 385abf586e..dcc03dca91 100644 --- a/addons/javelin/stringtable.xml +++ b/addons/javelin/stringtable.xml @@ -1,4 +1,4 @@ - + diff --git a/addons/kestrel4500/stringtable.xml b/addons/kestrel4500/stringtable.xml index defb44c2dc..3ad9e8824f 100644 --- a/addons/kestrel4500/stringtable.xml +++ b/addons/kestrel4500/stringtable.xml @@ -1,4 +1,4 @@ - + diff --git a/addons/laser/stringtable.xml b/addons/laser/stringtable.xml index f51b9cd127..4a478096d0 100644 --- a/addons/laser/stringtable.xml +++ b/addons/laser/stringtable.xml @@ -1,4 +1,4 @@ - + diff --git a/addons/laser_selfdesignate/stringtable.xml b/addons/laser_selfdesignate/stringtable.xml index 17c562a2bb..cdd7439200 100644 --- a/addons/laser_selfdesignate/stringtable.xml +++ b/addons/laser_selfdesignate/stringtable.xml @@ -1,4 +1,4 @@ - + diff --git a/addons/laserpointer/stringtable.xml b/addons/laserpointer/stringtable.xml index afd11addb1..1e4b150c3d 100644 --- a/addons/laserpointer/stringtable.xml +++ b/addons/laserpointer/stringtable.xml @@ -1,4 +1,4 @@ - + diff --git a/addons/logistics_uavbattery/stringtable.xml b/addons/logistics_uavbattery/stringtable.xml index c38c3daae3..6ff6e4b52d 100644 --- a/addons/logistics_uavbattery/stringtable.xml +++ b/addons/logistics_uavbattery/stringtable.xml @@ -1,4 +1,4 @@ - + diff --git a/addons/logistics_wirecutter/stringtable.xml b/addons/logistics_wirecutter/stringtable.xml index ef5d0522e3..1f9955f4be 100644 --- a/addons/logistics_wirecutter/stringtable.xml +++ b/addons/logistics_wirecutter/stringtable.xml @@ -1,4 +1,4 @@ - + diff --git a/addons/magazinerepack/stringtable.xml b/addons/magazinerepack/stringtable.xml index 1fc873f0c3..b89b4b587d 100644 --- a/addons/magazinerepack/stringtable.xml +++ b/addons/magazinerepack/stringtable.xml @@ -1,4 +1,4 @@ - + diff --git a/addons/main/stringtable.xml b/addons/main/stringtable.xml index f49394a68c..985bfb4836 100644 --- a/addons/main/stringtable.xml +++ b/addons/main/stringtable.xml @@ -1,4 +1,4 @@ - + diff --git a/addons/map/stringtable.xml b/addons/map/stringtable.xml index 42a0145d0b..73bf0cc774 100644 --- a/addons/map/stringtable.xml +++ b/addons/map/stringtable.xml @@ -1,4 +1,4 @@ - + diff --git a/addons/map_gestures/stringtable.xml b/addons/map_gestures/stringtable.xml index 464dcaf352..e89d6c07a3 100644 --- a/addons/map_gestures/stringtable.xml +++ b/addons/map_gestures/stringtable.xml @@ -1,4 +1,4 @@ - + diff --git a/addons/maptools/stringtable.xml b/addons/maptools/stringtable.xml index cde1096170..3db0d4d972 100644 --- a/addons/maptools/stringtable.xml +++ b/addons/maptools/stringtable.xml @@ -1,4 +1,4 @@ - + diff --git a/addons/markers/stringtable.xml b/addons/markers/stringtable.xml index 9d015b0403..44d64eb1e0 100644 --- a/addons/markers/stringtable.xml +++ b/addons/markers/stringtable.xml @@ -1,4 +1,4 @@ - + diff --git a/addons/medical/stringtable.xml b/addons/medical/stringtable.xml index 00cde86765..a3953be23b 100644 --- a/addons/medical/stringtable.xml +++ b/addons/medical/stringtable.xml @@ -1,4 +1,4 @@ - + diff --git a/addons/medical_menu/stringtable.xml b/addons/medical_menu/stringtable.xml index a55bb575cd..f825882be6 100644 --- a/addons/medical_menu/stringtable.xml +++ b/addons/medical_menu/stringtable.xml @@ -1,4 +1,4 @@ - + diff --git a/addons/microdagr/stringtable.xml b/addons/microdagr/stringtable.xml index fcc38b8f7c..c20ea7aede 100644 --- a/addons/microdagr/stringtable.xml +++ b/addons/microdagr/stringtable.xml @@ -1,4 +1,4 @@ - + diff --git a/addons/missileguidance/stringtable.xml b/addons/missileguidance/stringtable.xml index 1f188db453..ff14fea9f7 100644 --- a/addons/missileguidance/stringtable.xml +++ b/addons/missileguidance/stringtable.xml @@ -1,4 +1,4 @@ - + diff --git a/addons/missionmodules/stringtable.xml b/addons/missionmodules/stringtable.xml index 4fc1cd08b7..1043d99f64 100644 --- a/addons/missionmodules/stringtable.xml +++ b/addons/missionmodules/stringtable.xml @@ -1,4 +1,4 @@ - + diff --git a/addons/mk6mortar/stringtable.xml b/addons/mk6mortar/stringtable.xml index e77a771b38..f545bc8a35 100644 --- a/addons/mk6mortar/stringtable.xml +++ b/addons/mk6mortar/stringtable.xml @@ -1,4 +1,4 @@ - + diff --git a/addons/movement/stringtable.xml b/addons/movement/stringtable.xml index 4ab3d1253b..af5ce71af4 100644 --- a/addons/movement/stringtable.xml +++ b/addons/movement/stringtable.xml @@ -1,4 +1,4 @@ - + diff --git a/addons/mx2a/stringtable.xml b/addons/mx2a/stringtable.xml index ad46cebfde..e2c7ed2dc7 100644 --- a/addons/mx2a/stringtable.xml +++ b/addons/mx2a/stringtable.xml @@ -1,4 +1,4 @@ - + diff --git a/addons/nametags/stringtable.xml b/addons/nametags/stringtable.xml index a945339ead..5f048eeb4e 100644 --- a/addons/nametags/stringtable.xml +++ b/addons/nametags/stringtable.xml @@ -1,4 +1,4 @@ - + diff --git a/addons/nightvision/stringtable.xml b/addons/nightvision/stringtable.xml index abc0218908..708860d134 100644 --- a/addons/nightvision/stringtable.xml +++ b/addons/nightvision/stringtable.xml @@ -1,4 +1,4 @@ - + diff --git a/addons/optics/stringtable.xml b/addons/optics/stringtable.xml index 4fafdb1996..a6818a90d3 100644 --- a/addons/optics/stringtable.xml +++ b/addons/optics/stringtable.xml @@ -1,4 +1,4 @@ - + diff --git a/addons/optionsmenu/stringtable.xml b/addons/optionsmenu/stringtable.xml index 66ad0dd00b..b051e3f219 100644 --- a/addons/optionsmenu/stringtable.xml +++ b/addons/optionsmenu/stringtable.xml @@ -1,4 +1,4 @@ - + diff --git a/addons/overheating/stringtable.xml b/addons/overheating/stringtable.xml index f17ee88670..3269d9cf7e 100644 --- a/addons/overheating/stringtable.xml +++ b/addons/overheating/stringtable.xml @@ -1,4 +1,4 @@ - + diff --git a/addons/parachute/stringtable.xml b/addons/parachute/stringtable.xml index db21b182d1..880cc55e5f 100644 --- a/addons/parachute/stringtable.xml +++ b/addons/parachute/stringtable.xml @@ -1,4 +1,4 @@ - + diff --git a/addons/rangecard/stringtable.xml b/addons/rangecard/stringtable.xml index 0bd1160b87..e97a31195e 100644 --- a/addons/rangecard/stringtable.xml +++ b/addons/rangecard/stringtable.xml @@ -1,4 +1,4 @@ - + diff --git a/addons/realisticnames/stringtable.xml b/addons/realisticnames/stringtable.xml index ad8338b0f1..b9f6c85b93 100644 --- a/addons/realisticnames/stringtable.xml +++ b/addons/realisticnames/stringtable.xml @@ -1,4 +1,4 @@ - + diff --git a/addons/rearm/stringtable.xml b/addons/rearm/stringtable.xml index b7da05d989..7806735c57 100644 --- a/addons/rearm/stringtable.xml +++ b/addons/rearm/stringtable.xml @@ -1,4 +1,4 @@ - + diff --git a/addons/refuel/stringtable.xml b/addons/refuel/stringtable.xml index df30ac2380..2df51ea540 100644 --- a/addons/refuel/stringtable.xml +++ b/addons/refuel/stringtable.xml @@ -1,4 +1,4 @@ - + diff --git a/addons/reload/stringtable.xml b/addons/reload/stringtable.xml index f7412e1d2e..647322e8e6 100644 --- a/addons/reload/stringtable.xml +++ b/addons/reload/stringtable.xml @@ -1,4 +1,4 @@ - + diff --git a/addons/reloadlaunchers/stringtable.xml b/addons/reloadlaunchers/stringtable.xml index 5e38ce4009..72193d48e2 100644 --- a/addons/reloadlaunchers/stringtable.xml +++ b/addons/reloadlaunchers/stringtable.xml @@ -1,4 +1,4 @@ - + diff --git a/addons/repair/stringtable.xml b/addons/repair/stringtable.xml index 2af94c1ef2..fb505f4f4e 100644 --- a/addons/repair/stringtable.xml +++ b/addons/repair/stringtable.xml @@ -1,4 +1,4 @@ - + diff --git a/addons/respawn/stringtable.xml b/addons/respawn/stringtable.xml index 716679d0d0..e0d04aabfa 100644 --- a/addons/respawn/stringtable.xml +++ b/addons/respawn/stringtable.xml @@ -1,4 +1,4 @@ - + diff --git a/addons/safemode/stringtable.xml b/addons/safemode/stringtable.xml index a6847c17c8..9717ba4dae 100644 --- a/addons/safemode/stringtable.xml +++ b/addons/safemode/stringtable.xml @@ -1,4 +1,4 @@ - + diff --git a/addons/sandbag/stringtable.xml b/addons/sandbag/stringtable.xml index a1d7a46938..99be2bddf1 100644 --- a/addons/sandbag/stringtable.xml +++ b/addons/sandbag/stringtable.xml @@ -1,4 +1,4 @@ - + diff --git a/addons/scopes/stringtable.xml b/addons/scopes/stringtable.xml index 2e7918cb7d..8dc7a9eba0 100644 --- a/addons/scopes/stringtable.xml +++ b/addons/scopes/stringtable.xml @@ -1,4 +1,4 @@ - + diff --git a/addons/sitting/stringtable.xml b/addons/sitting/stringtable.xml index 2231ff5145..f7c7b84b93 100644 --- a/addons/sitting/stringtable.xml +++ b/addons/sitting/stringtable.xml @@ -1,4 +1,4 @@ - + diff --git a/addons/slideshow/stringtable.xml b/addons/slideshow/stringtable.xml index 5459adeea7..4c45399ba6 100644 --- a/addons/slideshow/stringtable.xml +++ b/addons/slideshow/stringtable.xml @@ -1,4 +1,4 @@ - + diff --git a/addons/spectator/stringtable.xml b/addons/spectator/stringtable.xml index 3ec849658f..b78febbef7 100644 --- a/addons/spectator/stringtable.xml +++ b/addons/spectator/stringtable.xml @@ -1,4 +1,4 @@ - + diff --git a/addons/spottingscope/stringtable.xml b/addons/spottingscope/stringtable.xml index a562e31c8c..3a0b89b857 100644 --- a/addons/spottingscope/stringtable.xml +++ b/addons/spottingscope/stringtable.xml @@ -1,4 +1,4 @@ - + diff --git a/addons/switchunits/stringtable.xml b/addons/switchunits/stringtable.xml index bd4fe13a56..60d7fb0ecd 100644 --- a/addons/switchunits/stringtable.xml +++ b/addons/switchunits/stringtable.xml @@ -1,4 +1,4 @@ - + diff --git a/addons/tacticalladder/stringtable.xml b/addons/tacticalladder/stringtable.xml index ab1ffbed9b..7a60933ceb 100644 --- a/addons/tacticalladder/stringtable.xml +++ b/addons/tacticalladder/stringtable.xml @@ -1,4 +1,4 @@ - + diff --git a/addons/tagging/stringtable.xml b/addons/tagging/stringtable.xml index 41964c9b13..2b1f38ba68 100644 --- a/addons/tagging/stringtable.xml +++ b/addons/tagging/stringtable.xml @@ -1,4 +1,4 @@ - + diff --git a/addons/trenches/stringtable.xml b/addons/trenches/stringtable.xml index a6b922a00f..617a604457 100644 --- a/addons/trenches/stringtable.xml +++ b/addons/trenches/stringtable.xml @@ -1,4 +1,4 @@ - + diff --git a/addons/tripod/stringtable.xml b/addons/tripod/stringtable.xml index c2abcff8bc..a57c6ca51d 100644 --- a/addons/tripod/stringtable.xml +++ b/addons/tripod/stringtable.xml @@ -1,4 +1,4 @@ - + diff --git a/addons/vector/stringtable.xml b/addons/vector/stringtable.xml index 9d1936304e..80135294d4 100644 --- a/addons/vector/stringtable.xml +++ b/addons/vector/stringtable.xml @@ -1,4 +1,4 @@ - + diff --git a/addons/vehiclelock/stringtable.xml b/addons/vehiclelock/stringtable.xml index 9b8b06fd40..32e9c762d0 100644 --- a/addons/vehiclelock/stringtable.xml +++ b/addons/vehiclelock/stringtable.xml @@ -1,4 +1,4 @@ - + diff --git a/addons/vehicles/stringtable.xml b/addons/vehicles/stringtable.xml index dcf2348175..005bba53a3 100644 --- a/addons/vehicles/stringtable.xml +++ b/addons/vehicles/stringtable.xml @@ -1,4 +1,4 @@ - + diff --git a/addons/viewdistance/stringtable.xml b/addons/viewdistance/stringtable.xml index 518f673455..a0f2bceb68 100644 --- a/addons/viewdistance/stringtable.xml +++ b/addons/viewdistance/stringtable.xml @@ -1,4 +1,4 @@ - + diff --git a/addons/weaponselect/stringtable.xml b/addons/weaponselect/stringtable.xml index 4a273a6cf3..c9a8e43f60 100644 --- a/addons/weaponselect/stringtable.xml +++ b/addons/weaponselect/stringtable.xml @@ -1,4 +1,4 @@ - + diff --git a/addons/weather/stringtable.xml b/addons/weather/stringtable.xml index f2e9027e68..0b0ed8fd17 100644 --- a/addons/weather/stringtable.xml +++ b/addons/weather/stringtable.xml @@ -1,4 +1,4 @@ - + diff --git a/addons/winddeflection/stringtable.xml b/addons/winddeflection/stringtable.xml index 8e8ad27e7a..6cb4858d21 100644 --- a/addons/winddeflection/stringtable.xml +++ b/addons/winddeflection/stringtable.xml @@ -1,4 +1,4 @@ - + diff --git a/addons/yardage450/stringtable.xml b/addons/yardage450/stringtable.xml index 4fdc0dfe72..c9f1c94b1b 100644 --- a/addons/yardage450/stringtable.xml +++ b/addons/yardage450/stringtable.xml @@ -1,4 +1,4 @@ - + diff --git a/addons/zeus/stringtable.xml b/addons/zeus/stringtable.xml index 8ef47b9b27..c07d4f7f84 100644 --- a/addons/zeus/stringtable.xml +++ b/addons/zeus/stringtable.xml @@ -1,4 +1,4 @@ - + From bcde9f8ed64cf4c7e6425c211df283b8a4e01c3c Mon Sep 17 00:00:00 2001 From: PabstMirror Date: Mon, 28 Mar 2016 01:15:58 -0500 Subject: [PATCH 72/90] Filter minor falling damage to non-leg hitpoints --- addons/medical/functions/fnc_handleDamage_caching.sqf | 1 + 1 file changed, 1 insertion(+) diff --git a/addons/medical/functions/fnc_handleDamage_caching.sqf b/addons/medical/functions/fnc_handleDamage_caching.sqf index cc969ce961..c1cf726399 100644 --- a/addons/medical/functions/fnc_handleDamage_caching.sqf +++ b/addons/medical/functions/fnc_handleDamage_caching.sqf @@ -58,6 +58,7 @@ if (_unit getVariable [QGVAR(isFalling), false]) then { } else { _newDamage = _newDamage * 0.5; }; + if (_newDamage < 0.075) then {_newDamage = 0;}; //Filter minor falling damage to non-leg hitpoints } else { if (_selectionName == "") then { _selectionName = selectRandom ["leg_l", "leg_r"]; From 666a4030b51ffbde67b160cda21084b8b97380b8 Mon Sep 17 00:00:00 2001 From: commy2 Date: Tue, 29 Mar 2016 13:21:13 +0200 Subject: [PATCH 73/90] make FUNC(scriptedExplosive) work in scheduled env, ref #3621 --- addons/explosives/functions/fnc_scriptedExplosive.sqf | 11 +++++++---- 1 file changed, 7 insertions(+), 4 deletions(-) diff --git a/addons/explosives/functions/fnc_scriptedExplosive.sqf b/addons/explosives/functions/fnc_scriptedExplosive.sqf index b4abb204b3..6a554ac09c 100644 --- a/addons/explosives/functions/fnc_scriptedExplosive.sqf +++ b/addons/explosives/functions/fnc_scriptedExplosive.sqf @@ -4,7 +4,7 @@ * detonate editor-placed explosives. * * Arguments: - * 0: Explosives objects to detonate + * 0: Explosives objects to detonate * 1: Fuze delay (for each explosive; use negative number for random time up to value) * * Return Value: @@ -18,10 +18,13 @@ */ #include "script_component.hpp" -params ["_explosiveArr",["_fuzeTime",0]]; +params [["_explosiveArr", [], [[], objNull]], ["_fuzeTime", 0, [0]]]; + +if (_explosiveArr isEqualType objNull) then { + _explosiveArr = [_explosiveArr]; +}; -private _detTime; { - _detTime = if (_fuzeTime < 0) then {random abs _fuzeTime} else {_fuzeTime}; + private _detTime = if (_fuzeTime < 0) then {random abs _fuzeTime} else {_fuzeTime}; [objNull, -1, [_x, _detTime]] call FUNC(detonateExplosive); } forEach _explosiveArr; From 1f6f90a5b23069938e728bf350e1c22de462961e Mon Sep 17 00:00:00 2001 From: commy2 Date: Tue, 29 Mar 2016 13:59:07 +0200 Subject: [PATCH 74/90] fixerrornoname --- addons/common/CfgEventHandlers.hpp | 2 +- addons/common/functions/fnc_setName.sqf | 8 +------- addons/common/script_component.hpp | 2 ++ 3 files changed, 4 insertions(+), 8 deletions(-) diff --git a/addons/common/CfgEventHandlers.hpp b/addons/common/CfgEventHandlers.hpp index 2c4f3922bc..6340402639 100644 --- a/addons/common/CfgEventHandlers.hpp +++ b/addons/common/CfgEventHandlers.hpp @@ -33,7 +33,7 @@ class Extended_InitPost_EventHandlers { }; class CAManBase { class GVAR(setName) { - init = QUOTE(if (local (_this select 0)) then {_this call FUNC(setName)};); + init = QUOTE(if (local (_this select 0)) then {[ARR_3(FUNC(setName), _this, DELAY_SETNAME)] call FUNC(waitAndExecute)};); }; class GVAR(muteUnit) { init = QUOTE(_this call FUNC(muteUnitHandleInitPost)); diff --git a/addons/common/functions/fnc_setName.sqf b/addons/common/functions/fnc_setName.sqf index b9ecbdc3a6..1b2b515ec2 100644 --- a/addons/common/functions/fnc_setName.sqf +++ b/addons/common/functions/fnc_setName.sqf @@ -19,13 +19,7 @@ if (isNull _unit || {!alive _unit}) exitWith {}; if (_unit isKindOf "CAManBase") then { private _sanitizedName = [name _unit, true] call FUNC(sanitizeString); private _rawName = [name _unit, false] call FUNC(sanitizeString); - - //Debug Testing Code (with html tags): - // private _sanitizedName = ["Name", true] call FUNC(sanitizeString); - // private _rawName = ["Name", false] call FUNC(sanitizeString); - - //if (_name != _unit getVariable ["ACE_Name", ""]) then { + _unit setVariable ["ACE_Name", _sanitizedName, true]; _unit setVariable ["ACE_NameRaw", _rawName, true]; - //}; }; diff --git a/addons/common/script_component.hpp b/addons/common/script_component.hpp index 4e941943fa..3b915f2c24 100644 --- a/addons/common/script_component.hpp +++ b/addons/common/script_component.hpp @@ -19,3 +19,5 @@ #define VERSION_CONFIG_COMMON VERSION_CONFIG;\ versionDesc = "ACE 3";\ versionAct = QUOTE(call COMPILE_FILE(init_versionTooltip)) + +#define DELAY_SETNAME 1 From 4e1b2dd24a97481bf822145c12cc20994a034459 Mon Sep 17 00:00:00 2001 From: commy2 Date: Tue, 29 Mar 2016 15:32:05 +0200 Subject: [PATCH 75/90] just delay setName one frame --- addons/common/CfgEventHandlers.hpp | 2 +- addons/common/script_component.hpp | 2 -- 2 files changed, 1 insertion(+), 3 deletions(-) diff --git a/addons/common/CfgEventHandlers.hpp b/addons/common/CfgEventHandlers.hpp index 6340402639..6e8528cf03 100644 --- a/addons/common/CfgEventHandlers.hpp +++ b/addons/common/CfgEventHandlers.hpp @@ -33,7 +33,7 @@ class Extended_InitPost_EventHandlers { }; class CAManBase { class GVAR(setName) { - init = QUOTE(if (local (_this select 0)) then {[ARR_3(FUNC(setName), _this, DELAY_SETNAME)] call FUNC(waitAndExecute)};); + init = QUOTE(if (local (_this select 0)) then {[ARR_2(FUNC(setName),_this)] call FUNC(execNextFrame)};); }; class GVAR(muteUnit) { init = QUOTE(_this call FUNC(muteUnitHandleInitPost)); diff --git a/addons/common/script_component.hpp b/addons/common/script_component.hpp index 3b915f2c24..4e941943fa 100644 --- a/addons/common/script_component.hpp +++ b/addons/common/script_component.hpp @@ -19,5 +19,3 @@ #define VERSION_CONFIG_COMMON VERSION_CONFIG;\ versionDesc = "ACE 3";\ versionAct = QUOTE(call COMPILE_FILE(init_versionTooltip)) - -#define DELAY_SETNAME 1 From c24c1b9dc0d427469350d0c917fd48ad96b9b188 Mon Sep 17 00:00:00 2001 From: jonpas Date: Tue, 29 Mar 2016 15:39:32 +0200 Subject: [PATCH 76/90] Fix inverted Stop and Freeze - prone Stop will still be freeze due to BI animation being wrong --- addons/gestures/CfgVehicles.hpp | 12 ++++---- .../anim/{ace_stop.rtm => ace_freeze.rtm} | Bin ...wered.rtm => ace_freeze_stand_lowered.rtm} | Bin addons/gestures/cfgMovesBasic.hpp | 16 +++++------ addons/gestures/key.sqf | 2 +- addons/gestures/stringtable.xml | 26 +++++++++--------- 6 files changed, 28 insertions(+), 28 deletions(-) rename addons/gestures/anim/{ace_stop.rtm => ace_freeze.rtm} (100%) rename addons/gestures/anim/{ace_stop_stand_lowered.rtm => ace_freeze_stand_lowered.rtm} (100%) diff --git a/addons/gestures/CfgVehicles.hpp b/addons/gestures/CfgVehicles.hpp index d3c7b5ca21..17dbfc0846 100644 --- a/addons/gestures/CfgVehicles.hpp +++ b/addons/gestures/CfgVehicles.hpp @@ -46,10 +46,10 @@ class CfgVehicles { showDisabled = 1; priority = 1.3; }; - class GVAR(Freeze) { - displayName = CSTRING(BIgestureFreeze); + class GVAR(Stop) { + displayName = CSTRING(stop); condition = QUOTE(canStand _target); - statement = QUOTE(_target playActionNow 'gestureFreeze';); + statement = QUOTE(_target playActionNow 'gestureFreeze';); // BI animation - is actualls "stop" in all stances but prone showDisabled = 1; priority = 1.2; }; @@ -67,10 +67,10 @@ class CfgVehicles { showDisabled = 1; priority = 1.8; }; - class GVAR(Stop) { - displayName = CSTRING(stop); + class GVAR(Freeze) { + displayName = CSTRING(freeze); condition = QUOTE(canStand _target && GVAR(ReloadMutex)); - statement = QUOTE(QUOTE(QGVAR(stop)) call FUNC(playSignal)); + statement = QUOTE(QUOTE(QGVAR(freeze)) call FUNC(playSignal)); showDisabled = 1; priority = 1.7; }; diff --git a/addons/gestures/anim/ace_stop.rtm b/addons/gestures/anim/ace_freeze.rtm similarity index 100% rename from addons/gestures/anim/ace_stop.rtm rename to addons/gestures/anim/ace_freeze.rtm diff --git a/addons/gestures/anim/ace_stop_stand_lowered.rtm b/addons/gestures/anim/ace_freeze_stand_lowered.rtm similarity index 100% rename from addons/gestures/anim/ace_stop_stand_lowered.rtm rename to addons/gestures/anim/ace_freeze_stand_lowered.rtm diff --git a/addons/gestures/cfgMovesBasic.hpp b/addons/gestures/cfgMovesBasic.hpp index a708787fd5..50a835abe6 100644 --- a/addons/gestures/cfgMovesBasic.hpp +++ b/addons/gestures/cfgMovesBasic.hpp @@ -1,7 +1,7 @@ class CfgMovesBasic { class ManActions { GVAR(forward) = QGVAR(forward); - GVAR(stop) = QGVAR(stop); + GVAR(freeze) = QGVAR(freeze); GVAR(cover) = QGVAR(cover); GVAR(regroup) = QGVAR(regroup); GVAR(engage) = QGVAR(engage); @@ -10,7 +10,7 @@ class CfgMovesBasic { GVAR(warning) = QGVAR(warningS); GVAR(forwardStandLowered) = QGVAR(forwardStandLowered); - GVAR(stopStandLowered) = QGVAR(stopStandLowered); + GVAR(freezeStandLowered) = QGVAR(freezeStandLowered); GVAR(coverStandLowered) = QGVAR(coverStandLowered); GVAR(regroupStandLowered) = QGVAR(regroupStandLowered); GVAR(engageStandLowered) = QGVAR(engageStandLowered); @@ -22,7 +22,7 @@ class CfgMovesBasic { class Actions { class NoActions: ManActions { GVAR(forward)[] = {QGVAR(forward), "Gesture"}; - GVAR(stop)[] = {QGVAR(stop), "Gesture"}; + GVAR(freeze)[] = {QGVAR(freeze), "Gesture"}; GVAR(cover)[] = {QGVAR(cover), "Gesture"}; GVAR(regroup)[] = {QGVAR(regroup), "Gesture"}; GVAR(engage)[] = {QGVAR(engage), "Gesture"}; @@ -31,7 +31,7 @@ class CfgMovesBasic { GVAR(warning)[] = {QGVAR(warning), "Gesture"}; GVAR(forwardStandLowered)[] = {QGVAR(forwardStandLowered), "Gesture"}; - GVAR(stopStandLowered)[] = {QGVAR(stopStandLowered), "Gesture"}; + GVAR(freezeStandLowered)[] = {QGVAR(freezeStandLowered), "Gesture"}; GVAR(coverStandLowered)[] = {QGVAR(coverStandLowered), "Gesture"}; GVAR(regroupStandLowered)[] = {QGVAR(regroupStandLowered), "Gesture"}; GVAR(engageStandLowered)[] = {QGVAR(engageStandLowered), "Gesture"}; @@ -134,13 +134,13 @@ class CfgGesturesMale { file = QUOTE(PATHTOF(anim\ace_forward_stand_lowered.rtm)); }; - class GVAR(stop): GVAR(forward) { - file = QUOTE(PATHTOF(anim\ace_stop.rtm)); + class GVAR(freeze): GVAR(forward) { + file = QUOTE(PATHTOF(anim\ace_freeze.rtm)); speed = 0.6; }; - class GVAR(stopStandLowered): GVAR(stop) { - file = QUOTE(PATHTOF(anim\ace_stop_stand_lowered.rtm)); + class GVAR(freezeStandLowered): GVAR(freeze) { + file = QUOTE(PATHTOF(anim\ace_freeze_stand_lowered.rtm)); }; class GVAR(cover): GVAR(forward) { diff --git a/addons/gestures/key.sqf b/addons/gestures/key.sqf index 54d6d50c0c..589f116f5b 100644 --- a/addons/gestures/key.sqf +++ b/addons/gestures/key.sqf @@ -25,7 +25,7 @@ false } count [ - ["stop", DIK_NUMPAD2], + ["freeze", DIK_NUMPAD2], ["cover", DIK_NUMPAD3], ["forward", DIK_NUMPAD4], ["regroup", DIK_NUMPAD5], diff --git a/addons/gestures/stringtable.xml b/addons/gestures/stringtable.xml index 1f008ddae9..7ad0e4eaa6 100644 --- a/addons/gestures/stringtable.xml +++ b/addons/gestures/stringtable.xml @@ -97,19 +97,6 @@ Apontar Puntare a - - Freeze - Keine Bewegung - Alto - Stać - Stát - Halte - Замереть - Állj - Alto - Fermi - - Stop Stop @@ -121,6 +108,19 @@ Stop Detenerse + + + Freeze + Keine Bewegung + Alto + Stać + Stát + Halte + Замереть + Állj + Alto + Fermi + Cover From 3489dd48bb4851ecb895e21ed08976b737ec4795 Mon Sep 17 00:00:00 2001 From: jonpas Date: Tue, 29 Mar 2016 15:51:51 +0200 Subject: [PATCH 77/90] Remove unused gestures, Improve stringtabling and remove duplicate --- addons/gestures/ACE_Settings.hpp | 6 +-- addons/gestures/CfgVehicles.hpp | 55 ++++++---------------- addons/gestures/key.sqf | 37 ++++++++------- addons/gestures/stringtable.xml | 80 +++++++------------------------- 4 files changed, 54 insertions(+), 124 deletions(-) diff --git a/addons/gestures/ACE_Settings.hpp b/addons/gestures/ACE_Settings.hpp index a9e77807c0..8ed8aedb6b 100644 --- a/addons/gestures/ACE_Settings.hpp +++ b/addons/gestures/ACE_Settings.hpp @@ -4,8 +4,8 @@ class ACE_Settings { typeName = "SCALAR"; isClientSettable = 1; category = ECSTRING(interact_menu,Category_InteractionMenu); - displayName = CSTRING(showOnInteractionMenu_displayName); - description = CSTRING(showOnInteractionMenu_description); - values[] = {"$STR_A3_OPTIONS_DISABLED", CSTRING(justKeybinds), CSTRING(keysAndInteractionMenu)}; + displayName = CSTRING(ShowOnInteractionMenu_displayName); + description = CSTRING(ShowOnInteractionMenu_description); + values[] = {"$STR_A3_OPTIONS_DISABLED", CSTRING(JustKeybinds), CSTRING(KeysAndInteractionMenu)}; }; }; diff --git a/addons/gestures/CfgVehicles.hpp b/addons/gestures/CfgVehicles.hpp index 17dbfc0846..4bf98f4978 100644 --- a/addons/gestures/CfgVehicles.hpp +++ b/addons/gestures/CfgVehicles.hpp @@ -12,131 +12,104 @@ class CfgVehicles { icon = PATHTOF(UI\gestures_ca.paa); class GVAR(Advance) { - displayName = CSTRING(BIgestureAdvance); + displayName = CSTRING(Advance); condition = QUOTE(canStand _target); statement = QUOTE(_target playActionNow 'gestureAdvance';); showDisabled = 1; priority = 1.9; }; class GVAR(Go) { - displayName = CSTRING(BIgestureGo); + displayName = CSTRING(Go); condition = QUOTE(canStand _target); statement = QUOTE(_target playActionNow ([ARR_2('gestureGo','gestureGoB')] select floor random 2);); showDisabled = 1; priority = 1.8; }; class GVAR(Follow) { - displayName = CSTRING(BIgestureFollow); + displayName = CSTRING(Follow); condition = QUOTE(canStand _target); statement = QUOTE(_target playActionNow 'gestureFollow';); showDisabled = 1; priority = 1.7; }; class GVAR(Up) { - displayName = CSTRING(BIgestureUp); + displayName = CSTRING(Up); condition = QUOTE(canStand _target); statement = QUOTE(_target playActionNow 'gestureUp';); showDisabled = 1; priority = 1.5; }; class GVAR(CeaseFire) { - displayName = CSTRING(BIgestureCeaseFire); + displayName = CSTRING(CeaseFire); condition = QUOTE(canStand _target); statement = QUOTE(_target playActionNow 'gestureCeaseFire';); showDisabled = 1; priority = 1.3; }; class GVAR(Stop) { - displayName = CSTRING(stop); + displayName = CSTRING(Stop); condition = QUOTE(canStand _target); statement = QUOTE(_target playActionNow 'gestureFreeze';); // BI animation - is actualls "stop" in all stances but prone showDisabled = 1; priority = 1.2; }; class GVAR(Forward) { - displayName = CSTRING(forward); + displayName = CSTRING(Forward); condition = QUOTE(canStand _target && GVAR(ReloadMutex)); statement = QUOTE(QUOTE(QGVAR(forward)) call FUNC(playSignal)); showDisabled = 1; priority = 1.9; }; class GVAR(Regroup) { - displayName = CSTRING(regroup); + displayName = CSTRING(Regroup); condition = QUOTE(canStand _target && GVAR(ReloadMutex)); statement = QUOTE(QUOTE(QGVAR(regroup)) call FUNC(playSignal)); showDisabled = 1; priority = 1.8; }; class GVAR(Freeze) { - displayName = CSTRING(freeze); + displayName = CSTRING(Freeze); condition = QUOTE(canStand _target && GVAR(ReloadMutex)); statement = QUOTE(QUOTE(QGVAR(freeze)) call FUNC(playSignal)); showDisabled = 1; priority = 1.7; }; class GVAR(Cover) { - displayName = CSTRING(cover); + displayName = CSTRING(Cover); condition = QUOTE(canStand _target && GVAR(ReloadMutex)); statement = QUOTE(QUOTE(QGVAR(cover)) call FUNC(playSignal)); showDisabled = 1; priority = 1.6; }; class GVAR(Point) { - displayName = CSTRING(point); + displayName = CSTRING(Point); condition = QUOTE(canStand _target && GVAR(ReloadMutex)); statement = QUOTE(QUOTE(QGVAR(point)) call FUNC(playSignal)); showDisabled = 1; priority = 1.5; }; class GVAR(Engage) { - displayName = CSTRING(engage); + displayName = CSTRING(Engage); condition = QUOTE(canStand _target && GVAR(ReloadMutex)); statement = QUOTE(QUOTE(QGVAR(engage)) call FUNC(playSignal)); showDisabled = 1; priority = 1.4; }; class GVAR(Hold) { - displayName = CSTRING(hold); + displayName = CSTRING(Hold); condition = QUOTE(canStand _target && GVAR(ReloadMutex)); statement = QUOTE(QUOTE(QGVAR(hold)) call FUNC(playSignal)); showDisabled = 1; priority = 1.3; }; class GVAR(Warning) { - displayName = CSTRING(warning); + displayName = CSTRING(Warning); condition = QUOTE(canStand _target && GVAR(ReloadMutex)); statement = QUOTE(QUOTE(QGVAR(warning)) call FUNC(playSignal)); showDisabled = 1; priority = 1.2; }; - /* - class class GVAR(Yes) { - displayName = ECSTRING(common,Yes); - condition = QUOTE(canStand _target); - statement = QUOTE(_target playActionNow ([ARR_2('gestureYes','gestureNod')] select floor random 2);); - showDisabled = 1; - priority = 1.1; - }; - - class class GVAR(No) { - displayName = ECSTRING(common,No); - condition = QUOTE(canStand _target); - statement = QUOTE(_target playActionNow 'gestureNo';); - showDisabled = 1; - priority = 1.0; - }; - - class class GVAR(Hi) { - displayName = CSTRING(Hi); - condition = QUOTE(canStand _target); - statement = QUOTE(_target playActionNow ([ARR_3('gestureHi','gestureHiB','gestureHiC')] select floor random 3);); - showDisabled = 1; - priority = 0.9; - }; - */ - }; - }; }; }; diff --git a/addons/gestures/key.sqf b/addons/gestures/key.sqf index 589f116f5b..98c21d4862 100644 --- a/addons/gestures/key.sqf +++ b/addons/gestures/key.sqf @@ -4,19 +4,20 @@ _x params ["_currentName","_key"]; private _signalName = format [QGVAR(%1), _currentName]; - if (_currentName select [0,2] == "BI") then { - //Don't add "ace_gestures_" prefix to BI gestures + + //Don't add "ace_gestures_" prefix to BI gestures + if (_key == -1) then { _signalName = _currentName; }; - private _code = (compile format [QUOTE('%1' call FUNC(playSignal);), _signalName]); + private _code = compile format [QUOTE('%1' call FUNC(playSignal)), _signalName]; TRACE_4("Adding KeyBind",_currentName,_signalName,_code,_key); [ "ACE3 Gestures", _currentName, - localize format[LSTRING(%1), _currentName], + localize format [LSTRING(%1), _currentName], _code, {false}, [_key, [false, (_key != -1), false]], @@ -25,18 +26,18 @@ false } count [ - ["freeze", DIK_NUMPAD2], - ["cover", DIK_NUMPAD3], - ["forward", DIK_NUMPAD4], - ["regroup", DIK_NUMPAD5], - ["engage", DIK_NUMPAD6], - ["point", DIK_NUMPAD7], - ["hold", DIK_NUMPAD8], - ["warning", DIK_NUMPAD9], - ["BIgestureGo", -1], - ["BIgestureAdvance", -1], - ["BIgestureFollow", -1], - ["BIgestureUp", -1], - ["BIgestureFreeze", -1], - ["BIgestureCeaseFire", -1] + ["Freeze", DIK_NUMPAD2], + ["Cover", DIK_NUMPAD3], + ["Forward", DIK_NUMPAD4], + ["Regroup", DIK_NUMPAD5], + ["Engage", DIK_NUMPAD6], + ["Point", DIK_NUMPAD7], + ["Hold", DIK_NUMPAD8], + ["Warning", DIK_NUMPAD9], + ["Go", -1], + ["Advance", -1], + ["Follow", -1], + ["Up", -1], + ["Stop", -1], + ["CeaseFire", -1] ]; diff --git a/addons/gestures/stringtable.xml b/addons/gestures/stringtable.xml index 7ad0e4eaa6..56b77e97e9 100644 --- a/addons/gestures/stringtable.xml +++ b/addons/gestures/stringtable.xml @@ -25,7 +25,7 @@ Gestos Gesti - + Advance Vordringen Avanzar @@ -37,7 +37,7 @@ Avançar Avanzare - + Go Los Adelante @@ -49,7 +49,7 @@ Mover-se Muoversi - + Follow Folgen Seguirme @@ -61,7 +61,7 @@ Seguir Seguire - + Up Aufstehen Arriba @@ -73,7 +73,7 @@ Acima Alzarsi - + Cease Fire Feuer einstellen Alto el fuego @@ -85,19 +85,7 @@ Cessar Fogo Cessare il Fuoco - - Point - Zeigen - Señalar - Wskazać - Ukázat - Pointer - Показать направление - Mutat - Apontar - Puntare a - - + Stop Stop Halt @@ -108,8 +96,7 @@ Stop Detenerse - - + Freeze Keine Bewegung Alto @@ -121,8 +108,7 @@ Alto Fermi - - + Cover Deckung Cubrirse @@ -134,8 +120,7 @@ Proteger-se Copertura - - + Rally up Regroupement Sammeln @@ -146,8 +131,7 @@ Raggruppare Reunirse - - + Move forward En avant Vorwärts Bewegen @@ -158,8 +142,7 @@ Muovere avanti Avanzar - - + Engage Angriff Engager @@ -170,8 +153,7 @@ Ingaggiare Atacar - - + Point Pointer Zeigen @@ -182,8 +164,7 @@ Puntare Señalar - - + Hold Tenir Anhalten @@ -194,8 +175,7 @@ Mantenere Esperar - - + Warning Attention Achtung @@ -206,31 +186,7 @@ Attenzione Atención - - Hi - Hallo - Hola - Witaj - Ahoj - Salut - Привет - Helló - Olá - Ciao - - - Attack - Angreifen - Atacar - Do ataku - Zaútočit - Attaquer - Атаковать - Támadás - Atacar - Attaccare - - + Show Gestures On Interaction Menu Zeige Gesten im Interaktionsmenü Zobrazit posunky v interakčním menu @@ -239,7 +195,7 @@ Mostrar gestos en el menú de interacción Afficher les gestes au menu d'interaction. - + Show gestures on the self interaction menu, or just use keybinds, or disable completely Zeige Gesten im Selbst-Interkationsmenü, lege sie auf Schnelltasten, oder deaktiviere sie vollständig. Zobrazit posunky pro vlastní interakční menu, nebo prostě použít klávesové zkratky, nebo to zakázat úplně @@ -248,7 +204,7 @@ Muestror los gestos en el menú de interacción propia, utilizar solo combinación de teclas o desactivarlos completamente Afficher les gestes dans le menu d'interaction personnel, ou seulement utiliser les touches, ou desactiver complètement. - + Just Keybinds Nur Schnelltasten Pouze klávesové zkratky @@ -257,7 +213,7 @@ Solo mediante teclas Seulement les touches - + Keybinds + Interaction Menu Schnelltasten+ Interaktionsmenü Klávesové zkratky + interakční menu From 330977a709858636f27275463e0fdc7b7fe0f8e6 Mon Sep 17 00:00:00 2001 From: jonpas Date: Tue, 29 Mar 2016 16:03:41 +0200 Subject: [PATCH 78/90] Remove including DIK KeyCodes definitions, use decimal codes, Improve BI gesture handling even further --- addons/gestures/XEH_postInit.sqf | 42 ++++++++++++++++++++++++++++++- addons/gestures/key.sqf | 43 -------------------------------- 2 files changed, 41 insertions(+), 44 deletions(-) delete mode 100644 addons/gestures/key.sqf diff --git a/addons/gestures/XEH_postInit.sqf b/addons/gestures/XEH_postInit.sqf index 3b4a92164e..ea63e2a388 100644 --- a/addons/gestures/XEH_postInit.sqf +++ b/addons/gestures/XEH_postInit.sqf @@ -5,4 +5,44 @@ if (!hasInterface) exitWith {}; // reload mutex, you can't play signal while reloading GVAR(ReloadMutex) = true; -#include "key.sqf" +{ + _x params ["_currentName", "_key", ["_vanillaKey", ""] ]; + + private _signalName = format [QGVAR(%1), _currentName]; + + // Don't add "ace_gestures_" prefix to BI gestures + if (_vanillaKey == "BI") then { + _signalName = _currentName; + }; + + private _code = compile format [QUOTE('%1' call FUNC(playSignal)), _signalName]; + + TRACE_4("Adding KeyBind",_currentName,_signalName,_code,_key); + + [ + "ACE3 Gestures", + _currentName, + localize format [LSTRING(%1), _currentName], + _code, + {false}, + [_key, [false, (_key != -1), false]], + false + ] call CBA_fnc_addKeybind; + + false +} count [ + ["Freeze", 80], // Numpad 2 + ["Cover", 81], // Numpad 3 + ["Forward", 75], // Numpad 4 + ["Regroup", 76], // Numpad 5 + ["Engage", 77], // Numpad 6 + ["Point", 71], // Numpad 7 + ["Hold", 72], // Numpad 8 + ["Warning", 73], // Numpad 9 + ["Go", -1, "BI"], + ["Advance", -1, "BI"], + ["Follow", -1, "BI"], + ["Up", -1, "BI"], + ["Stop", -1, "BI"], + ["CeaseFire", -1, "BI"] +]; diff --git a/addons/gestures/key.sqf b/addons/gestures/key.sqf deleted file mode 100644 index 98c21d4862..0000000000 --- a/addons/gestures/key.sqf +++ /dev/null @@ -1,43 +0,0 @@ -#include "\a3\editor_f\Data\Scripts\dikCodes.h" - -{ - _x params ["_currentName","_key"]; - - private _signalName = format [QGVAR(%1), _currentName]; - - //Don't add "ace_gestures_" prefix to BI gestures - if (_key == -1) then { - _signalName = _currentName; - }; - - private _code = compile format [QUOTE('%1' call FUNC(playSignal)), _signalName]; - - TRACE_4("Adding KeyBind",_currentName,_signalName,_code,_key); - - [ - "ACE3 Gestures", - _currentName, - localize format [LSTRING(%1), _currentName], - _code, - {false}, - [_key, [false, (_key != -1), false]], - false - ] call CBA_fnc_addKeybind; - - false -} count [ - ["Freeze", DIK_NUMPAD2], - ["Cover", DIK_NUMPAD3], - ["Forward", DIK_NUMPAD4], - ["Regroup", DIK_NUMPAD5], - ["Engage", DIK_NUMPAD6], - ["Point", DIK_NUMPAD7], - ["Hold", DIK_NUMPAD8], - ["Warning", DIK_NUMPAD9], - ["Go", -1], - ["Advance", -1], - ["Follow", -1], - ["Up", -1], - ["Stop", -1], - ["CeaseFire", -1] -]; From 2d22b0615094623b33de88b18230b3158ec367ac Mon Sep 17 00:00:00 2001 From: jonpas Date: Tue, 29 Mar 2016 16:08:33 +0200 Subject: [PATCH 79/90] Add README.md to gestures and update author URL --- addons/gestures/README.md | 11 +++++++++++ addons/gestures/config.cpp | 2 +- 2 files changed, 12 insertions(+), 1 deletion(-) create mode 100644 addons/gestures/README.md diff --git a/addons/gestures/README.md b/addons/gestures/README.md new file mode 100644 index 0000000000..e224ff6d69 --- /dev/null +++ b/addons/gestures/README.md @@ -0,0 +1,11 @@ +ace_gestures +======== + +Gestures system in interaction menu and keybinds. + + +## Maintainers + +The people responsible for merging changes to this component or answering potential questions. + +- [jokoho48](https://github.com/jokoho48) diff --git a/addons/gestures/config.cpp b/addons/gestures/config.cpp index 39cb8f0951..ce60d26545 100644 --- a/addons/gestures/config.cpp +++ b/addons/gestures/config.cpp @@ -7,7 +7,7 @@ class CfgPatches { requiredVersion = REQUIRED_VERSION; requiredAddons[] = {"ace_interact_menu"}; author[] = {"joko // Jonas", "Emperias", "Zigomarvin"}; - authorUrl = "https://github.com/commy2/"; + authorUrl = "https://github.com/jokoho48"; VERSION_CONFIG; }; }; From ec2be36e81bd763c6a51e2940793fbb792f2cca7 Mon Sep 17 00:00:00 2001 From: jonpas Date: Tue, 29 Mar 2016 16:25:55 +0200 Subject: [PATCH 80/90] Use boolean --- addons/gestures/XEH_postInit.sqf | 22 +++++++++++----------- 1 file changed, 11 insertions(+), 11 deletions(-) diff --git a/addons/gestures/XEH_postInit.sqf b/addons/gestures/XEH_postInit.sqf index ea63e2a388..b764aeb176 100644 --- a/addons/gestures/XEH_postInit.sqf +++ b/addons/gestures/XEH_postInit.sqf @@ -5,14 +5,14 @@ if (!hasInterface) exitWith {}; // reload mutex, you can't play signal while reloading GVAR(ReloadMutex) = true; +// Add keybinds { - _x params ["_currentName", "_key", ["_vanillaKey", ""] ]; - - private _signalName = format [QGVAR(%1), _currentName]; + _x params ["_currentName", "_key", ["_vanillaKey", false] ]; // Don't add "ace_gestures_" prefix to BI gestures - if (_vanillaKey == "BI") then { - _signalName = _currentName; + private _signalName = _currentName; + if (!_vanillaKey) then { + _signalName = format [QGVAR(%1), _currentName]; }; private _code = compile format [QUOTE('%1' call FUNC(playSignal)), _signalName]; @@ -39,10 +39,10 @@ GVAR(ReloadMutex) = true; ["Point", 71], // Numpad 7 ["Hold", 72], // Numpad 8 ["Warning", 73], // Numpad 9 - ["Go", -1, "BI"], - ["Advance", -1, "BI"], - ["Follow", -1, "BI"], - ["Up", -1, "BI"], - ["Stop", -1, "BI"], - ["CeaseFire", -1, "BI"] + ["Go", -1, true], + ["Advance", -1, true], + ["Follow", -1, true], + ["Up", -1, true], + ["Stop", -1, true], + ["CeaseFire", -1, true] ]; From a4c848a090bfa25b0007482344dbaca78076a2f1 Mon Sep 17 00:00:00 2001 From: commy2 Date: Tue, 29 Mar 2016 17:00:54 +0200 Subject: [PATCH 81/90] formating --- addons/advanced_ballistics/XEH_postInit.sqf | 14 +++++++------- .../main/{CfgDependencies.hpp => CfgSettings.hpp} | 1 + addons/main/config.cpp | 2 +- 3 files changed, 9 insertions(+), 8 deletions(-) rename addons/main/{CfgDependencies.hpp => CfgSettings.hpp} (99%) diff --git a/addons/advanced_ballistics/XEH_postInit.sqf b/addons/advanced_ballistics/XEH_postInit.sqf index 246529299c..7f4fc9341f 100644 --- a/addons/advanced_ballistics/XEH_postInit.sqf +++ b/addons/advanced_ballistics/XEH_postInit.sqf @@ -40,13 +40,13 @@ if (!hasInterface) exitWith {}; ACE_LOGWARNING_2("Weapon Mod [%1] missing ace compat pbo [%2] (from @ace\optionals)",_modPBO,_compatPBO); }; } forEach [ - ["RH_acc","ace_compat_rh_acc"], - ["RH_de_cfg","ace_compat_rh_de"], - ["RH_m4_cfg","ace_compat_rh_m4"], - ["RH_PDW","ace_compat_rh_pdw"], - ["RKSL_PMII","ace_compat_rksl_pm_ii"], - ["iansky_opt","ace_compat_sma3_iansky"], - ["R3F_Armes","ace_compat_r3f"] + ["RH_acc","ace_compat_rh_acc"], + ["RH_de_cfg","ace_compat_rh_de"], + ["RH_m4_cfg","ace_compat_rh_m4"], + ["RH_PDW","ace_compat_rh_pdw"], + ["RKSL_PMII","ace_compat_rksl_pm_ii"], + ["iansky_opt","ace_compat_sma3_iansky"], + ["R3F_Armes","ace_compat_r3f"] ]; }] call EFUNC(common,addEventHandler); diff --git a/addons/main/CfgDependencies.hpp b/addons/main/CfgSettings.hpp similarity index 99% rename from addons/main/CfgDependencies.hpp rename to addons/main/CfgSettings.hpp index 3414bc80b6..661108c53a 100644 --- a/addons/main/CfgDependencies.hpp +++ b/addons/main/CfgSettings.hpp @@ -1,3 +1,4 @@ + class CfgSettings { class CBA { class Versioning { diff --git a/addons/main/config.cpp b/addons/main/config.cpp index 3181df1dea..7b15f0c8f0 100644 --- a/addons/main/config.cpp +++ b/addons/main/config.cpp @@ -586,6 +586,6 @@ class CfgMods { }; }; -#include "CfgDependencies.hpp" +#include "CfgSettings.hpp" #include "CfgModuleCategories.hpp" #include "CfgVehicleClasses.hpp" From ada519a59c2ad2fb371364be2064067fe507b802 Mon Sep 17 00:00:00 2001 From: bux578 Date: Tue, 29 Mar 2016 20:35:34 +0200 Subject: [PATCH 82/90] sort people --- AUTHORS.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/AUTHORS.txt b/AUTHORS.txt index c79206137c..46a5e50457 100644 --- a/AUTHORS.txt +++ b/AUTHORS.txt @@ -75,6 +75,7 @@ Gianmarco Varriale (TeamNuke) GieNkoV GitHawk gpgpgpgp +Grey-Soldierman Grzegorz Hamburger SV Harakhti @@ -119,4 +120,3 @@ voiper VyMajoris(W-Cephei) Winter zGuba -Grey-Soldierman From 6f412c312aaa7097cb049318b908794455d8e0f8 Mon Sep 17 00:00:00 2001 From: PabstMirror Date: Wed, 30 Mar 2016 10:26:33 -0500 Subject: [PATCH 83/90] Delay calling addCuratorEditableObjects for a frame Fixes createVehicle not always being added on dedicated server. --- addons/zeus/functions/fnc_addObjectToCurator.sqf | 11 ++++++----- 1 file changed, 6 insertions(+), 5 deletions(-) diff --git a/addons/zeus/functions/fnc_addObjectToCurator.sqf b/addons/zeus/functions/fnc_addObjectToCurator.sqf index 897f51532d..085fff09d1 100644 --- a/addons/zeus/functions/fnc_addObjectToCurator.sqf +++ b/addons/zeus/functions/fnc_addObjectToCurator.sqf @@ -13,12 +13,13 @@ #include "script_component.hpp" -if (!isServer) exitWith {}; - params ["_object"]; if (!(_object getVariable [QGVAR(addObject), GVAR(autoAddObjects)])) exitWith {}; -{ - _x addCuratorEditableObjects [[_object], true]; -}forEach allCurators; +[{ + TRACE_1("Delayed addCuratorEditableObjects",_this); + { + _x addCuratorEditableObjects [[_this], true]; + } forEach allCurators; +}, _object] call EFUNC(common,execNextFrame); From 6038ab89c9095aacb21244a65d24c1a3431b1730 Mon Sep 17 00:00:00 2001 From: Joko Date: Wed, 30 Mar 2016 23:02:52 +0200 Subject: [PATCH 84/90] improve Code to String --- addons/common/functions/fnc_codeToString.sqf | 11 +++++------ 1 file changed, 5 insertions(+), 6 deletions(-) diff --git a/addons/common/functions/fnc_codeToString.sqf b/addons/common/functions/fnc_codeToString.sqf index b2817cd2b8..b4fe37db35 100644 --- a/addons/common/functions/fnc_codeToString.sqf +++ b/addons/common/functions/fnc_codeToString.sqf @@ -12,12 +12,11 @@ */ #include "script_component.hpp" -params ["_function"]; +params ["_code"]; +if (_code isEqualType "") exitWith {_code}; -if (_function isEqualType "") exitWith {_function}; +_code = str(_code); +_code = _code select [1, count _code - 2]; -_function = toArray str _function; -_function deleteAt 0; -_function deleteAt (count _function - 1); +_code -toString _function // return From 28468bec820670da5e0318440dca4e0d12872889 Mon Sep 17 00:00:00 2001 From: commy2 Date: Thu, 31 Mar 2016 00:57:04 +0200 Subject: [PATCH 85/90] specify helicopter cargo spaces, fix #3591 --- addons/cargo/CfgVehicles.hpp | 63 ++++++++++++++++++++++++++++++++++-- 1 file changed, 60 insertions(+), 3 deletions(-) diff --git a/addons/cargo/CfgVehicles.hpp b/addons/cargo/CfgVehicles.hpp index e1750d8aad..83fb9c1c00 100644 --- a/addons/cargo/CfgVehicles.hpp +++ b/addons/cargo/CfgVehicles.hpp @@ -194,12 +194,70 @@ class CfgVehicles { GVAR(hasCargo) = 1; }; - class Heli_Transport_02_base_F; - class I_Heli_Transport_02_F: Heli_Transport_02_base_F { + class Helicopter_Base_H; + class Heli_Light_01_base_F: Helicopter_Base_H { + GVAR(space) = 0; + GVAR(hasCargo) = 0; + }; + + class Heli_Light_02_base_F: Helicopter_Base_H { + GVAR(space) = 4; + }; + + class Helicopter_Base_F; + class Heli_light_03_base_F: Helicopter_Base_F { + GVAR(space) = 4; + }; + + class Heli_Transport_01_base_F: Helicopter_Base_H { + GVAR(space) = 8; + }; + + class Heli_Transport_02_base_F: Helicopter_Base_H { + GVAR(space) = 20; + }; + + class Heli_Transport_03_base_F: Helicopter_Base_H { + GVAR(space) = 40; + }; + + class Heli_Transport_04_base_F: Helicopter_Base_H { + GVAR(space) = 0; + GVAR(hasCargo) = 0; + }; + + class O_Heli_Transport_04_box_F: Heli_Transport_04_base_F { GVAR(space) = 20; GVAR(hasCargo) = 1; }; + class O_Heli_Transport_04_repair_F: Heli_Transport_04_base_F { + GVAR(space) = 12; + GVAR(hasCargo) = 1; + }; + + class O_Heli_Transport_04_ammo_F: Heli_Transport_04_base_F { + GVAR(space) = 8; + GVAR(hasCargo) = 1; + }; + + class O_Heli_Transport_04_fuel_F: Heli_Transport_04_base_F {}; + + class O_Heli_Transport_04_medevac_F: Heli_Transport_04_base_F { + GVAR(space) = 8; + GVAR(hasCargo) = 1; + }; + + class Heli_Attack_01_base_F: Helicopter_Base_F { + GVAR(space) = 0; + GVAR(hasCargo) = 0; + }; + + class Heli_Attack_02_base_F: Helicopter_Base_F { + GVAR(space) = 0; + GVAR(hasCargo) = 0; + }; + // jets class Plane: Air { GVAR(space) = 0; @@ -207,7 +265,6 @@ class CfgVehicles { }; // autonomus - class Helicopter_Base_F; class UAV_01_base_F: Helicopter_Base_F { GVAR(space) = 0; GVAR(hasCargo) = 0; From 92af6ffe2eb070005200963ec2c3e6f79df23c79 Mon Sep 17 00:00:00 2001 From: commy2 Date: Thu, 31 Mar 2016 01:03:40 +0200 Subject: [PATCH 86/90] add cargo space to csat attack heli (can transport 8 troops) --- addons/cargo/CfgVehicles.hpp | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/addons/cargo/CfgVehicles.hpp b/addons/cargo/CfgVehicles.hpp index 83fb9c1c00..a098c7a2b3 100644 --- a/addons/cargo/CfgVehicles.hpp +++ b/addons/cargo/CfgVehicles.hpp @@ -254,8 +254,7 @@ class CfgVehicles { }; class Heli_Attack_02_base_F: Helicopter_Base_F { - GVAR(space) = 0; - GVAR(hasCargo) = 0; + GVAR(space) = 4; }; // jets From c998ab622ec0ae1dcb808adca19efde150d5e197 Mon Sep 17 00:00:00 2001 From: J3aLeiNe Date: Thu, 31 Mar 2016 14:41:09 +0200 Subject: [PATCH 87/90] fnc_getMGRSdata update1 fnc_getMGRSdata update1 --- addons/common/functions/fnc_getMGRSdata.sqf | 27 +++++++++++++++------ 1 file changed, 19 insertions(+), 8 deletions(-) diff --git a/addons/common/functions/fnc_getMGRSdata.sqf b/addons/common/functions/fnc_getMGRSdata.sqf index ee6d1e11dc..c6ab86358c 100644 --- a/addons/common/functions/fnc_getMGRSdata.sqf +++ b/addons/common/functions/fnc_getMGRSdata.sqf @@ -22,27 +22,38 @@ private _long = getNumber (configFile >> "CfgWorlds" >> _map >> "longitude"); private _lat = getNumber (configFile >> "CfgWorlds" >> _map >> "latitude"); private _altitude = getNumber (configFile >> "CfgWorlds" >> _map >> "elevationOffset"); -if (_map in ["Chernarus", "Bootcamp_ACR", "Woodland_ACR", "utes"]) then { _lat = 50; _altitude = 0; }; +if (_map in ["chernarus", "Chernarus_Summer", "chernarus_winter", "Bootcamp_ACR", "Woodland_ACR", "utes"]) then { _lat = 50; _altitude = 0; }; if (_map in ["Altis", "Stratis"]) then { _lat = 40; _altitude = 0; }; -if (_map in ["Takistan", "Zargabad", "Mountains_ACR"]) then { _lat = 35; _altitude = 2000; }; +if (_map in ["takistan", "zargabad", "Mountains_ACR"]) then { _lat = 35; _altitude = 2000; }; if (_map in ["Shapur_BAF", "ProvingGrounds_PMC"]) then { _lat = 35; _altitude = 100; }; if (_map in ["fallujah"]) then { _lat = 33; _altitude = 0; }; -if (_map in ["fata", "Abbottabad"]) then { _lat = 30; _altitude = 1000; }; +if (_map in ["fata"]) then { _lat = 33; _altitude = 1347; }; +if (_map in ["Abbottabad"]) then { _lat = 34; _altitude = 0; }; if (_map in ["sfp_wamako"]) then { _lat = 14; _altitude = 0; }; if (_map in ["sfp_sturko"]) then { _lat = 56; _altitude = 0; }; if (_map in ["Bornholm"]) then { _lat = 55; _altitude = 0; }; -if (_map in ["Imrali"]) then { _lat = 40; _altitude = 0; }; +if (_map in ["bozcaada", "imrali", "imralispring"]) then { _lat = 40; _altitude = 0; }; if (_map in ["Caribou"]) then { _lat = 68; _altitude = 0; }; if (_map in ["Namalsk"]) then { _lat = 65; _altitude = 0; }; if (_map in ["MCN_Aliabad"]) then { _lat = 36; _altitude = 0; }; if (_map in ["Clafghan"]) then { _lat = 34; _altitude = 640; }; if (_map in ["Sangin", "hellskitchen"]) then { _lat = 32; _altitude = 0; }; -if (_map in ["Sara"]) then { _lat = 40; _altitude = 0; }; +if (_map in ["sara", "sara_dbe1", "saralite", "intro", "Desert_E", "porto"]) then { _lat = 40; _altitude = 0; }; if (_map in ["reshmaan"]) then { _lat = 35; _altitude = 2000; }; if (_map in ["Thirsk"]) then { _lat = 65; _altitude = 0; }; -if (_map in ["lingor"]) then { _lat = -4; _altitude = 0; }; -if (_map in ["Panthera3"]) then { _lat = 46; _altitude = 0; }; -if (_map in ["Kunduz"]) then { _lat = 37; _altitude = 400; }; +if (_map in ["lingor", "lingor3"]) then { _lat = -4; _altitude = 0; }; +if (_map in ["panthera3"]) then { _lat = 46; _altitude = 0; }; +if (_map in ["kunduz"]) then { _lat = 37; _altitude = 0; }; +if (_map in ["angel"]) then { _lat = 38; _altitude = 0; }; +if (_map in ["porquerolles"]) then { _lat = 43; _altitude = 0; }; +if (_map in ["napf"]) then { _lat = 47; _altitude = 0; }; +if (_map in ["mef_alaska"]) then { _lat = 60; _altitude = 5; }; +if (_map in ["australia"]) then { _lat = -25; _altitude = 0; }; +if (_map in ["pja301"]) then { _lat = 42; _altitude = 0; }; +if (_map in ["pja305"]) then { _lat = 0; _altitude = 0; }; +if (_map in ["pja306"]) then { _lat = 35; _altitude = 300; }; +if (_map in ["pja307"]) then { _lat = 17; _altitude = 0; }; +if (_map in ["pja308", "pja310"]) then { _lat = 36; _altitude = 0; }; private _UTM = [_long,_lat] call BIS_fnc_posDegToUTM; private _easting = _UTM select 0; From d4a7d864aa3dfc2020f0705ab83306d6c2753f4b Mon Sep 17 00:00:00 2001 From: J3aLeiNe Date: Thu, 31 Mar 2016 18:54:38 +0200 Subject: [PATCH 88/90] fnc_getMGRSdata update1 --- addons/common/functions/fnc_getMGRSdata.sqf | 27 +++++++++++---------- 1 file changed, 14 insertions(+), 13 deletions(-) diff --git a/addons/common/functions/fnc_getMGRSdata.sqf b/addons/common/functions/fnc_getMGRSdata.sqf index c6ab86358c..b19f17a0e7 100644 --- a/addons/common/functions/fnc_getMGRSdata.sqf +++ b/addons/common/functions/fnc_getMGRSdata.sqf @@ -22,25 +22,26 @@ private _long = getNumber (configFile >> "CfgWorlds" >> _map >> "longitude"); private _lat = getNumber (configFile >> "CfgWorlds" >> _map >> "latitude"); private _altitude = getNumber (configFile >> "CfgWorlds" >> _map >> "elevationOffset"); -if (_map in ["chernarus", "Chernarus_Summer", "chernarus_winter", "Bootcamp_ACR", "Woodland_ACR", "utes"]) then { _lat = 50; _altitude = 0; }; -if (_map in ["Altis", "Stratis"]) then { _lat = 40; _altitude = 0; }; -if (_map in ["takistan", "zargabad", "Mountains_ACR"]) then { _lat = 35; _altitude = 2000; }; -if (_map in ["Shapur_BAF", "ProvingGrounds_PMC"]) then { _lat = 35; _altitude = 100; }; +_map = toLower _map; +if (_map in ["chernarus", "chernarus_summer", "chernarus_winter", "bootcamp_acr", "woodland_acr", "utes"]) then { _lat = 50; _altitude = 0; }; +if (_map in ["altis", "stratis"]) then { _lat = 40; _altitude = 0; }; +if (_map in ["takistan", "zargabad", "mountains_acr"]) then { _lat = 35; _altitude = 2000; }; +if (_map in ["shapur_baf", "provingGrounds_pmc"]) then { _lat = 35; _altitude = 100; }; if (_map in ["fallujah"]) then { _lat = 33; _altitude = 0; }; if (_map in ["fata"]) then { _lat = 33; _altitude = 1347; }; -if (_map in ["Abbottabad"]) then { _lat = 34; _altitude = 0; }; +if (_map in ["abbottabad"]) then { _lat = 34; _altitude = 0; }; if (_map in ["sfp_wamako"]) then { _lat = 14; _altitude = 0; }; if (_map in ["sfp_sturko"]) then { _lat = 56; _altitude = 0; }; -if (_map in ["Bornholm"]) then { _lat = 55; _altitude = 0; }; +if (_map in ["bornholm"]) then { _lat = 55; _altitude = 0; }; if (_map in ["bozcaada", "imrali", "imralispring"]) then { _lat = 40; _altitude = 0; }; -if (_map in ["Caribou"]) then { _lat = 68; _altitude = 0; }; -if (_map in ["Namalsk"]) then { _lat = 65; _altitude = 0; }; -if (_map in ["MCN_Aliabad"]) then { _lat = 36; _altitude = 0; }; -if (_map in ["Clafghan"]) then { _lat = 34; _altitude = 640; }; -if (_map in ["Sangin", "hellskitchen"]) then { _lat = 32; _altitude = 0; }; -if (_map in ["sara", "sara_dbe1", "saralite", "intro", "Desert_E", "porto"]) then { _lat = 40; _altitude = 0; }; +if (_map in ["caribou"]) then { _lat = 68; _altitude = 0; }; +if (_map in ["namalsk"]) then { _lat = 65; _altitude = 0; }; +if (_map in ["mcn_aliabad"]) then { _lat = 36; _altitude = 0; }; +if (_map in ["clafghan"]) then { _lat = 34; _altitude = 640; }; +if (_map in ["sangin", "hellskitchen"]) then { _lat = 32; _altitude = 0; }; +if (_map in ["sara", "sara_dbe1", "saralite", "intro", "desert_e", "porto"]) then { _lat = 40; _altitude = 0; }; if (_map in ["reshmaan"]) then { _lat = 35; _altitude = 2000; }; -if (_map in ["Thirsk"]) then { _lat = 65; _altitude = 0; }; +if (_map in ["thirsk"]) then { _lat = 65; _altitude = 0; }; if (_map in ["lingor", "lingor3"]) then { _lat = -4; _altitude = 0; }; if (_map in ["panthera3"]) then { _lat = 46; _altitude = 0; }; if (_map in ["kunduz"]) then { _lat = 37; _altitude = 0; }; From 84c5a0d26620dd0078e6f92de7c21b5ca5d24ddf Mon Sep 17 00:00:00 2001 From: PabstMirror Date: Fri, 1 Apr 2016 21:51:22 -0500 Subject: [PATCH 89/90] FCS - Minor firedEH optimization --- addons/fcs/functions/fnc_firedEH.sqf | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/addons/fcs/functions/fnc_firedEH.sqf b/addons/fcs/functions/fnc_firedEH.sqf index a9f4975780..4c9b7d8b85 100644 --- a/addons/fcs/functions/fnc_firedEH.sqf +++ b/addons/fcs/functions/fnc_firedEH.sqf @@ -16,10 +16,11 @@ TRACE_10("firedEH:",_unit, _weapon, _muzzle, _mode, _ammo, _magazine, _projectile, _vehicle, _gunner, _turret); private _FCSMagazines = _vehicle getVariable [format ["%1_%2", QGVAR(Magazines), _turret], []]; -private _FCSElevation = _vehicle getVariable format ["%1_%2", QGVAR(Elevation), _turret]; if !(_magazine in _FCSMagazines) exitWith {}; +private _FCSElevation = _vehicle getVariable format ["%1_%2", QGVAR(Elevation), _turret]; + // GET ELEVATION OFFSET OF CURRENT MAGAZINE private _offset = 0; From 4576ea019401ca7aca6a7ae5d3c038849c485068 Mon Sep 17 00:00:00 2001 From: J3aLeiNe Date: Sat, 2 Apr 2016 09:50:50 +0200 Subject: [PATCH 90/90] abbottabad altitude fix altitude 0 for altitude 1256 --- addons/common/functions/fnc_getMGRSdata.sqf | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/addons/common/functions/fnc_getMGRSdata.sqf b/addons/common/functions/fnc_getMGRSdata.sqf index b19f17a0e7..8da838848a 100644 --- a/addons/common/functions/fnc_getMGRSdata.sqf +++ b/addons/common/functions/fnc_getMGRSdata.sqf @@ -29,7 +29,7 @@ if (_map in ["takistan", "zargabad", "mountains_acr"]) then { _lat = 35; _altitu if (_map in ["shapur_baf", "provingGrounds_pmc"]) then { _lat = 35; _altitude = 100; }; if (_map in ["fallujah"]) then { _lat = 33; _altitude = 0; }; if (_map in ["fata"]) then { _lat = 33; _altitude = 1347; }; -if (_map in ["abbottabad"]) then { _lat = 34; _altitude = 0; }; +if (_map in ["abbottabad"]) then { _lat = 34; _altitude = 1256; }; if (_map in ["sfp_wamako"]) then { _lat = 14; _altitude = 0; }; if (_map in ["sfp_sturko"]) then { _lat = 56; _altitude = 0; }; if (_map in ["bornholm"]) then { _lat = 55; _altitude = 0; };