From a7a87c40f0dad77ad035d9945f01b6dd529bc1bd Mon Sep 17 00:00:00 2001 From: SilentSpike Date: Thu, 16 Jul 2015 19:47:55 +0100 Subject: [PATCH] Using control groups --- addons/spectator/UI/interface.hpp | 199 +++++++++--------- .../functions/fnc_handleInterface.sqf | 2 +- addons/spectator/script_component.hpp | 28 ++- 3 files changed, 121 insertions(+), 108 deletions(-) diff --git a/addons/spectator/UI/interface.hpp b/addons/spectator/UI/interface.hpp index 83ae94e343..3a3f3acfad 100644 --- a/addons/spectator/UI/interface.hpp +++ b/addons/spectator/UI/interface.hpp @@ -14,16 +14,6 @@ class GVAR(overlay) { onKeyDown = QUOTE([ARR_2('onKeyDown',_this)] call FUNC(handleInterface)); onKeyUp = QUOTE([ARR_2('onKeyUp',_this)] call FUNC(handleInterface)); class controlsBackground { - class crosshair: RscPicture { - idc = 52; - x = 0.5 - W_PART(2); - y = 0.5 - H_PART(2); - w = W_PART(4); - h = H_PART(4); - text = "\A3\ui_f\data\IGUI\Cfg\Cursors\select_target_ca.paa"; - fixedWidth = 0; - shadow = 0; - }; class mouseHandler: RscControlsGroup { x = safeZoneXAbs; y = safeZoneY; @@ -37,55 +27,62 @@ class GVAR(overlay) { }; }; class controls { - class compassBack: RscText { - idc = -1; - x = COMPASS_X; + class compass: RscControlsGroup { + idc = IDC_TOOL; + x = safeZoneX; y = safeZoneY; - w = COMPASS_W; - h = TOOL_H; - colorBackground[] = {0.1,0.1,0.1,1}; - }; - class compass0_90: RscPicture { - idc = 90; - x = 0.5; - y = safeZoneY; - w = COMPASS_W * 0.5; - h = TOOL_H; - text = "A3\ui_f_curator\data\cfgIngameUI\compass\texture180_ca.paa"; - }; - class compass90_180: compass0_90 { - idc = 180; - x = 0.5 + COMPASS_W * 0.5; - text = "A3\ui_f_curator\data\cfgIngameUI\compass\texture270_ca.paa"; - }; - class compass180_270: compass0_90 { - idc = 270; - x = 0.5 + COMPASS_W; - text = "A3\ui_f_curator\data\cfgIngameUI\compass\texture0_ca.paa"; - }; - class compass270_0: compass0_90 { - idc = 360; - x = 0.5 + COMPASS_W * 1.5; - text = "A3\ui_f_curator\data\cfgIngameUI\compass\texture90_ca.paa"; - }; - class compassPin: compassBack { - x = 0.5 - COMPASS_W / 360; - w = COMPASS_W / 180; - colorBackground[]={1,0,0,1}; - }; - class compassLeftBlock: compassPin { - x = safeZoneXAbs; - w = COMPASS_X - safeZoneXAbs; - colorBackground[] = {0.1,0.1,0.1,1}; - }; - class compassRightBlock: compassLeftBlock { - x = 0.5 + COMPASS_W * 0.5; - w = safeZoneWAbs * 0.5 - COMPASS_W * 0.5; - }; - class compassFrame: compassBack { - style = 64; - shadow=2; - colorText[]={1,1,1,1}; + w = safeZoneW; + h = H_PART(1); + class controls { + class compassBack: RscText { + x = COMPASS_X; + y = 0; + w = COMPASS_W; + h = TOOL_H; + colorBackground[] = {0.1,0.1,0.1,1}; + }; + class compass0_90: RscPicture { + idc = IDC_COMP_0; + x = COMPASS_X + COMPASS_W * 0.5; + y = 0; + w = COMPASS_W * 0.5; + h = TOOL_H; + text = "A3\ui_f_curator\data\cfgIngameUI\compass\texture180_ca.paa"; + }; + class compass90_180: compass0_90 { + idc = IDC_COMP_90; + x = COMPASS_X + COMPASS_W; + text = "A3\ui_f_curator\data\cfgIngameUI\compass\texture270_ca.paa"; + }; + class compass180_270: compass0_90 { + idc = IDC_COMP_180; + x = COMPASS_X + COMPASS_W * 1.5; + text = "A3\ui_f_curator\data\cfgIngameUI\compass\texture0_ca.paa"; + }; + class compass270_0: compass0_90 { + idc = IDC_COMP_270; + x = COMPASS_X + COMPASS_W * 2; + text = "A3\ui_f_curator\data\cfgIngameUI\compass\texture90_ca.paa"; + }; + class compassPin: compassBack { + x = COMPASS_X + COMPASS_W * 0.5 - COMPASS_W / 360; + w = COMPASS_W / 180; + colorBackground[]={1,0,0,1}; + }; + class compassLeftBlock: compassPin { + x = 0; + w = (safeZoneW - COMPASS_W) * 0.5; + colorBackground[] = {0.1,0.1,0.1,1}; + }; + class compassRightBlock: compassLeftBlock { + x = COMPASS_X + COMPASS_W; + }; + class compassFrame: compassBack { + style = 64; + shadow=2; + colorText[]={1,1,1,1}; + }; + }; }; class nameTool: RscText { idc = IDC_NAME; @@ -96,7 +93,7 @@ class GVAR(overlay) { shadow = 2; colorText[]={1,1,1,1}; colorBackground[] = {0.1,0.1,0.1,1}; - sizeEx = TOOL_H; + sizeEx = H_PART(1); }; class nameFrame: nameTool { idc = -1; @@ -129,7 +126,7 @@ class GVAR(overlay) { }; class fovTool: viewTool { idc = IDC_FOV; - x = safezoneX + safezoneW - TOOL_W * 2 - MARGIN; + x = safeZoneX + safeZoneW - TOOL_W * 2 - MARGIN; }; class fovFrame: fovTool { idc = -1; @@ -159,7 +156,7 @@ class GVAR(overlay) { 1 }; multiselectEnabled = 0; - maxHistoryDelay = 1; + maxHistoryDelay = 0; onTreeDblClick = QUOTE([ARR_2('onTreeDblClick',_this)] call FUNC(handleInterface)); }; class spectatorMap: RscMapControl { @@ -169,48 +166,54 @@ class GVAR(overlay) { w = safeZoneW; h = safeZoneH; }; - class helpBackground: RscText { - idc = 5000; + class helpBox: RscControlsGroup { + idc = IDC_HELP; x = 0.5 - W_PART(12); y = 0.5 - H_PART(12); w = W_PART(24); h = H_PART(24); - colorBackground[] = {0.1,0.1,0.1,1}; - }; - class helpTitle: helpBackground { - idc = 5001; - h = H_PART(1); - colorText[]={1,1,1,1}; - colorBackground[] = { - "(profilenamespace getvariable ['GUI_BCG_RGB_R',0.3843])", - "(profilenamespace getvariable ['GUI_BCG_RGB_G',0.7019])", - "(profilenamespace getvariable ['GUI_BCG_RGB_B',0.8862])", - 1 + class controls { + class helpBack: RscText { + x = 0; + y = 0; + w = W_PART(24); + h = H_PART(24); + colorBackground[] = {0.1,0.1,0.1,1}; + }; + class helpTitle: helpBack { + h = H_PART(1); + colorText[]={1,1,1,1}; + colorBackground[] = { + "(profilenamespace getvariable ['GUI_BCG_RGB_R',0.3843])", + "(profilenamespace getvariable ['GUI_BCG_RGB_G',0.7019])", + "(profilenamespace getvariable ['GUI_BCG_RGB_B',0.8862])", + 1 + }; + sizeEx = H_PART(1.2); + text = CSTRING(HelpTitle); + }; + class helpColumnLeft: RscStructuredText { + idc = 5002; + x = 0; + y = H_PART(1); + w = W_PART(6); + h = H_PART(23); + size = H_PART(0.8); + colorBackground[] = {0,0,0,0}; + }; + class helpColumnCentreL: helpColumnLeft { + idc = 5003; + x = 0 + W_PART(6); + }; + class helpColumnCentreR: helpColumnLeft { + idc = 5004; + x = 0 + W_PART(12); + }; + class helpColumnRight: helpColumnLeft { + idc = 5005; + x = 0 + W_PART(18); + }; }; - sizeEx = H_PART(1); - text = CSTRING(HelpTitle); - }; - class helpColumnLeft: RscStructuredText { - idc = 5002; - x = 0.5 - W_PART(12); - y = 0.5 - H_PART(11); - w = W_PART(6); - h = H_PART(23); - text = ""; - size = H_PART(1); - colorBackground[] = {0,0,0,0}; - }; - class helpColumnCentreL: helpColumnLeft { - idc = 5003; - x = 0.5 - W_PART(6); - }; - class helpColumnCentreR: helpColumnLeft { - idc = 5004; - x = 0.5; - }; - class helpColumnRight: helpColumnLeft { - idc = 5005; - x = 0.5 + W_PART(6); }; }; }; diff --git a/addons/spectator/functions/fnc_handleInterface.sqf b/addons/spectator/functions/fnc_handleInterface.sqf index c959fcce3c..06e569346a 100644 --- a/addons/spectator/functions/fnc_handleInterface.sqf +++ b/addons/spectator/functions/fnc_handleInterface.sqf @@ -286,7 +286,7 @@ switch (toLower _mode) do { // Only update camera mode when in free cam if (GVAR(camMode) == 0) then { - _newMode = = 1; + _newMode = 1; } else { // When unit is reselected, toggle camera mode if (_newUnit == GVAR(camUnit)) then { diff --git a/addons/spectator/script_component.hpp b/addons/spectator/script_component.hpp index 331024e4c5..5fd73a6b3f 100644 --- a/addons/spectator/script_component.hpp +++ b/addons/spectator/script_component.hpp @@ -26,14 +26,24 @@ // Interface compass #define COMPASS_W (TOOL_W * 4) -#define COMPASS_X (0.5 - (COMPASS_W * 0.5)) +#define COMPASS_X (safeZoneW * 0.5 - (COMPASS_W * 0.5)) // IDCs -#define IDC_CLOCK 3002 -#define IDC_FOCUS 3003 -#define IDC_FOV 3004 -#define IDC_NAME 3000 -#define IDC_MAP 60187 -#define IDC_TREE 60791 -#define IDC_SPEED 3005 -#define IDC_VIEW 3001 +#define IDC_TOOL 3670 +#define IDC_COMP 4490 +#define IDC_TREE 6187 +#define IDC_MAP 6791 +#define IDC_HELP 7631 + +#define IDC_TOOL_CLOCK 3002 +#define IDC_TOOL_FOCUS 3003 +#define IDC_TOOL_FOV 3004 +#define IDC_TOOL_NAME 3000 +#define IDC_TOOL_SPEED 3005 +#define IDC_TOOL_VIEW 3001 + +#define IDC_COMP_0 5000 +#define IDC_COMP_90 5090 +#define IDC_COMP_180 5180 +#define IDC_COMP_270 5270 +