From f17e4af13cf37e8db25bb26cec5d6c9b3500caf9 Mon Sep 17 00:00:00 2001 From: NeilZar <neil.evers.1995@gmail.com> Date: Sun, 14 Feb 2021 00:54:28 +0100 Subject: [PATCH 1/6] Add vehicle loadout context actions --- addons/context_actions/CfgContext.hpp | 23 ++++++++++++++++--- addons/context_actions/XEH_PREP.hpp | 2 ++ .../functions/fnc_canEditMagazines.sqf | 20 ++++++++++++++++ .../functions/fnc_canEditPylons.sqf | 20 ++++++++++++++++ 4 files changed, 62 insertions(+), 3 deletions(-) create mode 100644 addons/context_actions/functions/fnc_canEditMagazines.sqf create mode 100644 addons/context_actions/functions/fnc_canEditPylons.sqf diff --git a/addons/context_actions/CfgContext.hpp b/addons/context_actions/CfgContext.hpp index 05b4d353c..81738dc6b 100644 --- a/addons/context_actions/CfgContext.hpp +++ b/addons/context_actions/CfgContext.hpp @@ -245,12 +245,29 @@ class EGVAR(context_menu,actions) { icon = "\a3\3den\Data\Displays\Display3DEN\ToolBar\undo_ca.paa"; }; }; + class VehicleLoadout { + displayName = "$STR_A3_VR_Stamina_01_Loadout"; + icon = QPATHTOF(ui\ammo_ca.paa); + priority = 39; + class Magazines { + displayName = "$STR_GEAR_MAGAZINES"; + condition = QUOTE(_hoveredEntity call FUNC(canEditMagazines)); + statement = QUOTE(_hoveredEntity call EFUNC(loadout,configure)); + icon = QPATHTOF(ui\ammo_ca.paa); + }; + class Pylons { + displayName = ECSTRING(pylons,DisplayName); + condition = QUOTE(_hoveredEntity call FUNC(canEditPylons)); + statement = QUOTE(_hoveredEntity call EFUNC(pylons,configure)); + icon = QPATHTOF(ui\ammo_ca.paa); + }; + }; class Inventory { displayName = "$STR_A3_Gear1"; condition = QUOTE(_hoveredEntity call FUNC(canEditInventory)); statement = QUOTE(_hoveredEntity call EFUNC(inventory,configure)); icon = "\a3\Ui_F_Curator\Data\RscCommon\RscAttributeInventory\filter_0_ca.paa"; - priority = 39; + priority = 38; class Edit { displayName = "$STR_3DEN_Display3DEN_MenUBar_Edit_text"; condition = QUOTE(_hoveredEntity call FUNC(canEditInventory)); @@ -274,7 +291,7 @@ class EGVAR(context_menu,actions) { condition = QUOTE(_hoveredEntity call FUNC(canEditVehicleAppearance)); statement = QUOTE(_hoveredEntity call EFUNC(garage,openGarage)); icon = "\a3\3den\data\displays\display3den\entitymenu\garage_ca.paa"; - priority = 38; + priority = 37; class Edit { displayName = "$STR_3DEN_Display3DEN_MenUBar_Edit_text"; condition = QUOTE(_hoveredEntity call FUNC(canEditVehicleAppearance)); @@ -296,7 +313,7 @@ class EGVAR(context_menu,actions) { class VehicleLogistics { displayName = CSTRING(VehicleLogistics); icon = "\a3\ui_f\data\igui\cfg\simpleTasks\types\truck_ca.paa"; - priority = 37; + priority = 36; class Repair { displayName = "$STR_Repair"; condition = QUOTE(_objects call FUNC(canRepairVehicles)); diff --git a/addons/context_actions/XEH_PREP.hpp b/addons/context_actions/XEH_PREP.hpp index ba746a072..b22310a96 100644 --- a/addons/context_actions/XEH_PREP.hpp +++ b/addons/context_actions/XEH_PREP.hpp @@ -1,5 +1,7 @@ PREP(canEditInventory); PREP(canEditLoadout); +PREP(canEditMagazines); +PREP(canEditPylons); PREP(canEditVehicleAppearance); PREP(canHealUnits); PREP(canPasteVehicleAppearance); diff --git a/addons/context_actions/functions/fnc_canEditMagazines.sqf b/addons/context_actions/functions/fnc_canEditMagazines.sqf new file mode 100644 index 000000000..477c2d3f7 --- /dev/null +++ b/addons/context_actions/functions/fnc_canEditMagazines.sqf @@ -0,0 +1,20 @@ +#include "script_component.hpp" +/* + * Author: mharis001 + * Checks if the loadout of the given entity can be edited. + * + * Arguments: + * 0: Entity <ANY> + * + * Return Value: + * Can Edit Loadout <BOOL> + * + * Example: + * [_entity] call zen_context_actions_fnc_canEditLoadout + * + * Public: No + */ + +params ["_entity"]; + +alive _entity && {!(_entity call EFUNC(loadout,getWeaponList) isEqualTo [])} diff --git a/addons/context_actions/functions/fnc_canEditPylons.sqf b/addons/context_actions/functions/fnc_canEditPylons.sqf new file mode 100644 index 000000000..75908ccc9 --- /dev/null +++ b/addons/context_actions/functions/fnc_canEditPylons.sqf @@ -0,0 +1,20 @@ +#include "script_component.hpp" +/* + * Author: mharis001 + * Checks if the loadout of the given entity can be edited. + * + * Arguments: + * 0: Entity <ANY> + * + * Return Value: + * Can Edit Loadout <BOOL> + * + * Example: + * [_entity] call zen_context_actions_fnc_canEditLoadout + * + * Public: No + */ + +params ["_entity"]; + +alive _entity && {_entity call EFUNC(common,hasPylons)} From 6473df7d5e19758ecacb5ea9d5c78cdbff6754f3 Mon Sep 17 00:00:00 2001 From: NeilZar <neil.evers.1995@gmail.com> Date: Sun, 14 Feb 2021 14:52:00 +0100 Subject: [PATCH 2/6] Check if entity is object --- addons/context_actions/functions/fnc_canEditMagazines.sqf | 2 +- addons/context_actions/functions/fnc_canEditPylons.sqf | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/addons/context_actions/functions/fnc_canEditMagazines.sqf b/addons/context_actions/functions/fnc_canEditMagazines.sqf index 477c2d3f7..dd80eaec3 100644 --- a/addons/context_actions/functions/fnc_canEditMagazines.sqf +++ b/addons/context_actions/functions/fnc_canEditMagazines.sqf @@ -17,4 +17,4 @@ params ["_entity"]; -alive _entity && {!(_entity call EFUNC(loadout,getWeaponList) isEqualTo [])} +_entity isEqualType objNull && {alive _entity} && {!(_entity call EFUNC(loadout,getWeaponList) isEqualTo [])} diff --git a/addons/context_actions/functions/fnc_canEditPylons.sqf b/addons/context_actions/functions/fnc_canEditPylons.sqf index 75908ccc9..1d90e12f6 100644 --- a/addons/context_actions/functions/fnc_canEditPylons.sqf +++ b/addons/context_actions/functions/fnc_canEditPylons.sqf @@ -17,4 +17,4 @@ params ["_entity"]; -alive _entity && {_entity call EFUNC(common,hasPylons)} +_entity isEqualType objNull && {alive _entity} && {_entity call EFUNC(common,hasPylons)} From d4a7fbb3b1976c3946fa35bacce902bd33350914 Mon Sep 17 00:00:00 2001 From: Neil Evers <neil.evers.1995@gmail.com> Date: Thu, 11 Mar 2021 16:02:53 +0100 Subject: [PATCH 3/6] Pick some icons --- addons/context_actions/CfgContext.hpp | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/addons/context_actions/CfgContext.hpp b/addons/context_actions/CfgContext.hpp index 81738dc6b..21259e23c 100644 --- a/addons/context_actions/CfgContext.hpp +++ b/addons/context_actions/CfgContext.hpp @@ -253,13 +253,13 @@ class EGVAR(context_menu,actions) { displayName = "$STR_GEAR_MAGAZINES"; condition = QUOTE(_hoveredEntity call FUNC(canEditMagazines)); statement = QUOTE(_hoveredEntity call EFUNC(loadout,configure)); - icon = QPATHTOF(ui\ammo_ca.paa); + icon = "\a3\ui_f\data\igui\cfg\weaponicons\mg_ca.paa"; }; class Pylons { displayName = ECSTRING(pylons,DisplayName); condition = QUOTE(_hoveredEntity call FUNC(canEditPylons)); statement = QUOTE(_hoveredEntity call EFUNC(pylons,configure)); - icon = QPATHTOF(ui\ammo_ca.paa); + icon = "\a3\ui_f\data\igui\cfg\weaponicons\aa_ca.paa"; }; }; class Inventory { From ab9e9dfd120536de4d4d71ff7394a22269626ef9 Mon Sep 17 00:00:00 2001 From: Neil Evers <neil.evers.1995@gmail.com> Date: Sat, 13 Mar 2021 13:06:38 +0100 Subject: [PATCH 4/6] Address review --- addons/context_actions/config.cpp | 2 ++ addons/context_actions/functions/fnc_canEditMagazines.sqf | 2 +- addons/context_actions/functions/fnc_canEditPylons.sqf | 2 +- 3 files changed, 4 insertions(+), 2 deletions(-) diff --git a/addons/context_actions/config.cpp b/addons/context_actions/config.cpp index c239499b5..2683db192 100644 --- a/addons/context_actions/config.cpp +++ b/addons/context_actions/config.cpp @@ -10,6 +10,8 @@ class CfgPatches { "zen_context_menu", "zen_garage", "zen_inventory", + "zen_loadout", + "zen_pylons", "zen_remote_control" }; author = ECSTRING(main,Author); diff --git a/addons/context_actions/functions/fnc_canEditMagazines.sqf b/addons/context_actions/functions/fnc_canEditMagazines.sqf index dd80eaec3..5f2252670 100644 --- a/addons/context_actions/functions/fnc_canEditMagazines.sqf +++ b/addons/context_actions/functions/fnc_canEditMagazines.sqf @@ -1,6 +1,6 @@ #include "script_component.hpp" /* - * Author: mharis001 + * Author: NeilZar * Checks if the loadout of the given entity can be edited. * * Arguments: diff --git a/addons/context_actions/functions/fnc_canEditPylons.sqf b/addons/context_actions/functions/fnc_canEditPylons.sqf index 1d90e12f6..2091d9032 100644 --- a/addons/context_actions/functions/fnc_canEditPylons.sqf +++ b/addons/context_actions/functions/fnc_canEditPylons.sqf @@ -1,6 +1,6 @@ #include "script_component.hpp" /* - * Author: mharis001 + * Author: NeilZar * Checks if the loadout of the given entity can be edited. * * Arguments: From 11b277746be66f8cb88b16ea8d656c5a781316da Mon Sep 17 00:00:00 2001 From: Neil Evers <neil.evers.1995@gmail.com> Date: Sat, 13 Mar 2021 15:11:36 +0100 Subject: [PATCH 5/6] Update fnc_canEditMagazines.sqf --- addons/context_actions/functions/fnc_canEditMagazines.sqf | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/addons/context_actions/functions/fnc_canEditMagazines.sqf b/addons/context_actions/functions/fnc_canEditMagazines.sqf index 5f2252670..af8baaf89 100644 --- a/addons/context_actions/functions/fnc_canEditMagazines.sqf +++ b/addons/context_actions/functions/fnc_canEditMagazines.sqf @@ -17,4 +17,4 @@ params ["_entity"]; -_entity isEqualType objNull && {alive _entity} && {!(_entity call EFUNC(loadout,getWeaponList) isEqualTo [])} +_entity isEqualType objNull && {alive _entity} && {_entity call EFUNC(loadout,getWeaponList) isNotEqualTo []} From 1b46e966e27ace759687ed9bee7260dedf65e3ca Mon Sep 17 00:00:00 2001 From: Neil Evers <neil.evers.1995@gmail.com> Date: Sun, 14 Mar 2021 14:09:41 +0100 Subject: [PATCH 6/6] udpate headers --- addons/context_actions/functions/fnc_canEditMagazines.sqf | 6 +++--- addons/context_actions/functions/fnc_canEditPylons.sqf | 6 +++--- 2 files changed, 6 insertions(+), 6 deletions(-) diff --git a/addons/context_actions/functions/fnc_canEditMagazines.sqf b/addons/context_actions/functions/fnc_canEditMagazines.sqf index 5f2252670..1e62b780d 100644 --- a/addons/context_actions/functions/fnc_canEditMagazines.sqf +++ b/addons/context_actions/functions/fnc_canEditMagazines.sqf @@ -1,16 +1,16 @@ #include "script_component.hpp" /* * Author: NeilZar - * Checks if the loadout of the given entity can be edited. + * Checks if the magazines loadout of the given entity can be edited. * * Arguments: * 0: Entity <ANY> * * Return Value: - * Can Edit Loadout <BOOL> + * Can Edit Magazines <BOOL> * * Example: - * [_entity] call zen_context_actions_fnc_canEditLoadout + * [_entity] call zen_context_actions_fnc_canEditMagazines * * Public: No */ diff --git a/addons/context_actions/functions/fnc_canEditPylons.sqf b/addons/context_actions/functions/fnc_canEditPylons.sqf index 2091d9032..a4b33a5ed 100644 --- a/addons/context_actions/functions/fnc_canEditPylons.sqf +++ b/addons/context_actions/functions/fnc_canEditPylons.sqf @@ -1,16 +1,16 @@ #include "script_component.hpp" /* * Author: NeilZar - * Checks if the loadout of the given entity can be edited. + * Checks if the pylons of the given entity can be edited. * * Arguments: * 0: Entity <ANY> * * Return Value: - * Can Edit Loadout <BOOL> + * Can Edit Pylons <BOOL> * * Example: - * [_entity] call zen_context_actions_fnc_canEditLoadout + * [_entity] call zen_context_actions_fnc_canEditPylons * * Public: No */