From a19774ce345830864dbaeba5fb80b2b8a68af2bf Mon Sep 17 00:00:00 2001 From: Josuan Albin Date: Mon, 23 Oct 2017 18:12:16 +0200 Subject: [PATCH] Prepare the SQF base for the loadouts display --- addons/arsenal/XEH_PREP.hpp | 8 +++++++- addons/arsenal/defines.hpp | 3 +++ addons/arsenal/functions/fnc_buttonLoadouts.sqf | 4 ---- .../arsenal/functions/fnc_buttonLoadoutsLoad.sqf | 4 ++++ .../arsenal/functions/fnc_buttonLoadoutsSave.sqf | 4 ++++ .../arsenal/functions/fnc_buttonLoadoutsSaveAs.sqf | 4 ++++ .../arsenal/functions/fnc_buttonLoadoutsShare.sqf | 4 ++++ addons/arsenal/functions/fnc_loadoutsChangeTab.sqf | 8 ++++++++ addons/arsenal/functions/fnc_onLoadoutsClose.sqf | 5 +++++ addons/arsenal/functions/fnc_onLoadoutsOpen.sqf | 7 +++++++ addons/arsenal/ui/RscAttributes.hpp | 14 +++++++------- 11 files changed, 53 insertions(+), 12 deletions(-) delete mode 100644 addons/arsenal/functions/fnc_buttonLoadouts.sqf create mode 100644 addons/arsenal/functions/fnc_buttonLoadoutsLoad.sqf create mode 100644 addons/arsenal/functions/fnc_buttonLoadoutsSave.sqf create mode 100644 addons/arsenal/functions/fnc_buttonLoadoutsSaveAs.sqf create mode 100644 addons/arsenal/functions/fnc_buttonLoadoutsShare.sqf create mode 100644 addons/arsenal/functions/fnc_loadoutsChangeTab.sqf create mode 100644 addons/arsenal/functions/fnc_onLoadoutsClose.sqf create mode 100644 addons/arsenal/functions/fnc_onLoadoutsOpen.sqf diff --git a/addons/arsenal/XEH_PREP.hpp b/addons/arsenal/XEH_PREP.hpp index 2120fe69ec..a763038b57 100644 --- a/addons/arsenal/XEH_PREP.hpp +++ b/addons/arsenal/XEH_PREP.hpp @@ -5,7 +5,10 @@ PREP(buttonClearAll); PREP(buttonExport); PREP(buttonHide); PREP(buttonImport); -PREP(buttonLoadouts); +PREP(buttonLoadoutsLoad); +PREP(buttonLoadoutsSave); +PREP(buttonLoadoutsSaveAs); +PREP(buttonLoadoutsShare); PREP(clearSearchbar); PREP(fillLeftPanel); PREP(fillRightPanel); @@ -15,10 +18,13 @@ PREP(handleSearchbar); PREP(handleStats); PREP(initBox); PREP(itemInfo); +PREP(loadoutsChangeTab); PREP(message); PREP(onArsenalClose); PREP(onArsenalOpen); PREP(onKeyDown); +PREP(onLoadoutsClose); +PREP(onLoadoutsOpen); PREP(onMouseButtonDown); PREP(onMouseButtonUp); PREP(onSelChangedLeft); diff --git a/addons/arsenal/defines.hpp b/addons/arsenal/defines.hpp index 201ce75eb9..a82b340b23 100644 --- a/addons/arsenal/defines.hpp +++ b/addons/arsenal/defines.hpp @@ -99,6 +99,9 @@ #define IDC_centerTitle 301 #define IDC_contentPanel 302 #define IDC_centerBoxButtonLoad 303 +#define IDC_buttonMyLoadouts 401 +#define IDC_buttonDefaultLoadouts 402 +#define IDC_buttonSharedLoadouts 403 #define FADE_DELAY 0.15 #define CAM_DIS_MAX 5 diff --git a/addons/arsenal/functions/fnc_buttonLoadouts.sqf b/addons/arsenal/functions/fnc_buttonLoadouts.sqf deleted file mode 100644 index 46bc6c0680..0000000000 --- a/addons/arsenal/functions/fnc_buttonLoadouts.sqf +++ /dev/null @@ -1,4 +0,0 @@ -#include "script_component.hpp" - -params ["_display"]; -_display createDisplay QGVAR(loadoutsDisplay); diff --git a/addons/arsenal/functions/fnc_buttonLoadoutsLoad.sqf b/addons/arsenal/functions/fnc_buttonLoadoutsLoad.sqf new file mode 100644 index 0000000000..6ad342ec23 --- /dev/null +++ b/addons/arsenal/functions/fnc_buttonLoadoutsLoad.sqf @@ -0,0 +1,4 @@ +#include "script_component.hpp" +#include "..\defines.hpp" + +params ["_display"]; \ No newline at end of file diff --git a/addons/arsenal/functions/fnc_buttonLoadoutsSave.sqf b/addons/arsenal/functions/fnc_buttonLoadoutsSave.sqf new file mode 100644 index 0000000000..6ad342ec23 --- /dev/null +++ b/addons/arsenal/functions/fnc_buttonLoadoutsSave.sqf @@ -0,0 +1,4 @@ +#include "script_component.hpp" +#include "..\defines.hpp" + +params ["_display"]; \ No newline at end of file diff --git a/addons/arsenal/functions/fnc_buttonLoadoutsSaveAs.sqf b/addons/arsenal/functions/fnc_buttonLoadoutsSaveAs.sqf new file mode 100644 index 0000000000..6ad342ec23 --- /dev/null +++ b/addons/arsenal/functions/fnc_buttonLoadoutsSaveAs.sqf @@ -0,0 +1,4 @@ +#include "script_component.hpp" +#include "..\defines.hpp" + +params ["_display"]; \ No newline at end of file diff --git a/addons/arsenal/functions/fnc_buttonLoadoutsShare.sqf b/addons/arsenal/functions/fnc_buttonLoadoutsShare.sqf new file mode 100644 index 0000000000..6ad342ec23 --- /dev/null +++ b/addons/arsenal/functions/fnc_buttonLoadoutsShare.sqf @@ -0,0 +1,4 @@ +#include "script_component.hpp" +#include "..\defines.hpp" + +params ["_display"]; \ No newline at end of file diff --git a/addons/arsenal/functions/fnc_loadoutsChangeTab.sqf b/addons/arsenal/functions/fnc_loadoutsChangeTab.sqf new file mode 100644 index 0000000000..979d6a27c7 --- /dev/null +++ b/addons/arsenal/functions/fnc_loadoutsChangeTab.sqf @@ -0,0 +1,8 @@ +#include "script_component.hpp" +#include "..\defines.hpp" + +params ["_display", "_control"]; + +systemChat str [_display, _control]; + +if !(ctrlEnabled _control) exitWith {}; \ No newline at end of file diff --git a/addons/arsenal/functions/fnc_onLoadoutsClose.sqf b/addons/arsenal/functions/fnc_onLoadoutsClose.sqf new file mode 100644 index 0000000000..37b99d41b2 --- /dev/null +++ b/addons/arsenal/functions/fnc_onLoadoutsClose.sqf @@ -0,0 +1,5 @@ +#include "script_component.hpp" +#include "..\defines.hpp" + +params ["", "_args"]; +_args params ["_display"]; \ No newline at end of file diff --git a/addons/arsenal/functions/fnc_onLoadoutsOpen.sqf b/addons/arsenal/functions/fnc_onLoadoutsOpen.sqf new file mode 100644 index 0000000000..0864bb2a47 --- /dev/null +++ b/addons/arsenal/functions/fnc_onLoadoutsOpen.sqf @@ -0,0 +1,7 @@ +#include "script_component.hpp" +#include "..\defines.hpp" + +params ["", "_args"]; +_args params ["_display"]; + +systemChat str _display; \ No newline at end of file diff --git a/addons/arsenal/ui/RscAttributes.hpp b/addons/arsenal/ui/RscAttributes.hpp index 566b87f0f7..4a31d8237f 100644 --- a/addons/arsenal/ui/RscAttributes.hpp +++ b/addons/arsenal/ui/RscAttributes.hpp @@ -173,7 +173,7 @@ class GVAR(display) { x = QUOTE(25 * GRID_W); text="Loadouts"; // TBL tooltip="Displays loadouts screen"; // TBL - onButtonClick = QUOTE([ctrlparent (_this select 0)] call FUNC(buttonLoadouts)); + onButtonClick = QUOTE(ctrlparent (_this select 0) createDisplay QQGVAR(loadoutsDisplay)); }; class buttonExport: buttonHide { idc = -1; @@ -711,6 +711,8 @@ class GVAR(display) { class GVAR(loadoutsDisplay) { idd = IDD_loadouts_display; + onLoad = QUOTE([ARR_3('onLoad', _this, QQGVAR(loadoutsDisplay))] call FUNC(onLoadoutsOpen)); + onUnload = QUOTE([ARR_3('onUnload', _this, QQGVAR(loadoutsDisplay))] call FUNC(onLoadoutsClose)); class controls { class centerBox: ctrlControlsGroupNoScrollbars { idc = IDC_centerBox; @@ -804,7 +806,7 @@ class GVAR(loadoutsDisplay) { h = QUOTE(10 * GRID_H); class controls { class buttonMyLoadouts: ctrlButton { - idc = -1; + idc = IDC_buttonMyLoadouts; colorBackground[] = {0,0,0,0.8}; x = QUOTE(0 * GRID_W); y = QUOTE(0 * GRID_H); @@ -813,21 +815,19 @@ class GVAR(loadoutsDisplay) { sizeEx = QUOTE(4.5 * GRID_H); text="My loadouts"; // TBL tooltip="Save selected loadout"; // TBL - onButtonClick = ""; + onButtonClick = QUOTE([ARR_2(ctrlparent (_this select 0), _this select 0)] call FUNC(loadoutsChangeTab)); }; class buttonDefaultLoadouts: buttonMyLoadouts { - idc = -1; + idc = IDC_buttonDefaultLoadouts; x = QUOTE(41 * GRID_W); text="Default loadouts"; // TBL tooltip=""; // TBL - onButtonClick = ""; }; class buttonSharedLoadouts: buttonMyLoadouts { - idc = -1; + idc = IDC_buttonSharedLoadouts; x = QUOTE(82 * GRID_W); text="Shared loadouts"; // TBL tooltip=""; // TBL - onButtonClick = ""; }; }; };