mirror of
https://github.com/acemod/ACE3.git
synced 2024-08-30 18:23:18 +00:00
commit
d12ba0c610
@ -24,6 +24,13 @@ class ACE_Settings {
|
|||||||
typeName = "BOOL";
|
typeName = "BOOL";
|
||||||
isClientSettable = 1;
|
isClientSettable = 1;
|
||||||
displayName = "$STR_ACE_Interact_Menu_AlwaysUseCursorSelfInteraction";
|
displayName = "$STR_ACE_Interact_Menu_AlwaysUseCursorSelfInteraction";
|
||||||
|
};
|
||||||
|
class GVAR(cursorKeepCentered) {
|
||||||
|
value = 0;
|
||||||
|
typeName = "BOOL";
|
||||||
|
isClientSettable = 1;
|
||||||
|
displayName = "$STR_ACE_Interact_cursorKeepCentered";
|
||||||
|
description = "$STR_ACE_Interact_cursorKeepCenteredDescription";
|
||||||
};
|
};
|
||||||
class GVAR(AlwaysUseCursorInteraction) {
|
class GVAR(AlwaysUseCursorInteraction) {
|
||||||
value = 0;
|
value = 0;
|
||||||
|
@ -43,8 +43,14 @@ if (GVAR(useCursorMenu)) then {
|
|||||||
// uiNamespace getVariable QGVAR(dlgCursorMenu);
|
// uiNamespace getVariable QGVAR(dlgCursorMenu);
|
||||||
// uiNamespace getVariable QGVAR(cursorMenuOpened);
|
// uiNamespace getVariable QGVAR(cursorMenuOpened);
|
||||||
ctrlEnable [91921, true];
|
ctrlEnable [91921, true];
|
||||||
|
GVAR(cursorPos) = [0.5,0.5,0];
|
||||||
((finddisplay 91919) displayctrl 91921) ctrlAddEventHandler ["MouseMoving", {
|
((finddisplay 91919) displayctrl 91921) ctrlAddEventHandler ["MouseMoving", {
|
||||||
GVAR(cursorPos) = [_this select 1, _this select 2, 0];
|
if (GVAR(cursorKeepCentered)) then {
|
||||||
|
GVAR(cursorPos) = GVAR(cursorPos) vectorAdd [_this select 1, _this select 2, 0] vectorDiff [0.5, 0.5, 0];
|
||||||
|
setMousePosition [0.5, 0.5];
|
||||||
|
} else {
|
||||||
|
GVAR(cursorPos) = [_this select 1, _this select 2, 0];
|
||||||
|
};
|
||||||
}];
|
}];
|
||||||
setMousePosition [0.5, 0.5];
|
setMousePosition [0.5, 0.5];
|
||||||
};
|
};
|
||||||
|
@ -17,7 +17,7 @@
|
|||||||
*/
|
*/
|
||||||
#include "script_component.hpp"
|
#include "script_component.hpp"
|
||||||
#define DEFAULT_ICON QUOTE(\z\ace\addons\interaction\ui\dot_ca.paa)
|
#define DEFAULT_ICON QUOTE(\z\ace\addons\interaction\ui\dot_ca.paa)
|
||||||
private ["_ctrl"];
|
private ["_ctrl", "_pos"];
|
||||||
PARAMS_6(_text,_icon,_sPos,_textColor,_shadowColor,_iconColor);
|
PARAMS_6(_text,_icon,_sPos,_textColor,_shadowColor,_iconColor);
|
||||||
|
|
||||||
//systemChat format ["Icon %1 - %2,%3", _text, _sPos select 0, _sPos select 1];
|
//systemChat format ["Icon %1 - %2,%3", _text, _sPos select 0, _sPos select 1];
|
||||||
@ -27,6 +27,7 @@ if(GVAR(iconCount) > (count GVAR(iconCtrls))-1) then {
|
|||||||
GVAR(iconCtrls) pushBack ((findDisplay _displayNum) ctrlCreate ["RscStructuredText", 54021+GVAR(iconCount)]);
|
GVAR(iconCtrls) pushBack ((findDisplay _displayNum) ctrlCreate ["RscStructuredText", 54021+GVAR(iconCount)]);
|
||||||
};
|
};
|
||||||
_ctrl = GVAR(iconCtrls) select GVAR(iconCount);
|
_ctrl = GVAR(iconCtrls) select GVAR(iconCount);
|
||||||
|
GVAR(iconCount) = GVAR(iconCount) + 1;
|
||||||
if(_icon == "") then {
|
if(_icon == "") then {
|
||||||
_icon = DEFAULT_ICON;
|
_icon = DEFAULT_ICON;
|
||||||
};
|
};
|
||||||
@ -39,11 +40,18 @@ _text = if (GVAR(UseListMenu)) then {
|
|||||||
|
|
||||||
//_ctrl ctrlSetStructuredText parseText _text;
|
//_ctrl ctrlSetStructuredText parseText _text;
|
||||||
[_ctrl, GVAR(iconCount), _text] call FUNC(ctrlSetParsedTextCached);
|
[_ctrl, GVAR(iconCount), _text] call FUNC(ctrlSetParsedTextCached);
|
||||||
GVAR(iconCount) = GVAR(iconCount) + 1;
|
|
||||||
|
|
||||||
|
_pos = [];
|
||||||
if (GVAR(UseListMenu)) then {
|
if (GVAR(UseListMenu)) then {
|
||||||
_ctrl ctrlSetPosition [(_sPos select 0)-(0.0095*SafeZoneW), (_sPos select 1)-(0.0095*SafeZoneW), 0.20*SafeZoneW, 0.035*SafeZoneW];
|
_pos = [(_sPos select 0)-(0.0095*SafeZoneW), (_sPos select 1)-(0.0095*SafeZoneW), 0.20*SafeZoneW, 0.035*SafeZoneW];
|
||||||
} else {
|
} else {
|
||||||
_ctrl ctrlSetPosition [(_sPos select 0)-(0.0750*SafeZoneW), (_sPos select 1)-(0.0095*SafeZoneW), 0.15*SafeZoneW, 0.100*SafeZoneW];
|
_pos = [(_sPos select 0)-(0.0750*SafeZoneW), (_sPos select 1)-(0.0095*SafeZoneW), 0.15*SafeZoneW, 0.100*SafeZoneW];
|
||||||
};
|
};
|
||||||
|
|
||||||
|
if (GVAR(cursorKeepCentered) && {uiNamespace getVariable [QGVAR(cursorMenuOpened),false]}) then {
|
||||||
|
_pos set [0, ((_pos select 0) - (GVAR(cursorPos) select 0) + 0.5)];
|
||||||
|
_pos set [1, ((_pos select 1) - (GVAR(cursorPos) select 1) + 0.5)];
|
||||||
|
};
|
||||||
|
|
||||||
|
_ctrl ctrlSetPosition _pos;
|
||||||
_ctrl ctrlCommit 0;
|
_ctrl ctrlCommit 0;
|
||||||
|
@ -20,16 +20,23 @@ if(GVAR(iconCount) > (count GVAR(iconCtrls))-1) then {
|
|||||||
GVAR(iconCtrls) pushBack ((findDisplay _displayNum) ctrlCreate ["RscStructuredText", 54021+GVAR(iconCount)]);
|
GVAR(iconCtrls) pushBack ((findDisplay _displayNum) ctrlCreate ["RscStructuredText", 54021+GVAR(iconCount)]);
|
||||||
};
|
};
|
||||||
|
|
||||||
private "_ctrl";
|
private ["_ctrl", "_pos"];
|
||||||
_ctrl = GVAR(iconCtrls) select GVAR(iconCount);
|
_ctrl = GVAR(iconCtrls) select GVAR(iconCount);
|
||||||
|
GVAR(iconCount) = GVAR(iconCount) + 1;
|
||||||
|
|
||||||
|
_pos = [];
|
||||||
if (GVAR(UseListMenu)) then {
|
if (GVAR(UseListMenu)) then {
|
||||||
[_ctrl, GVAR(iconCount), format ["<img image='%1' color='#FF0000' size='1.6'/>", _icon]] call FUNC(ctrlSetParsedTextCached);
|
[_ctrl, GVAR(iconCount), format ["<img image='%1' color='#FF0000' size='1.6'/>", _icon]] call FUNC(ctrlSetParsedTextCached);
|
||||||
_ctrl ctrlSetPosition [(_sPos select 0)-(0.014*SafeZoneW), (_sPos select 1)-(0.014*SafeZoneW), 0.05*SafeZoneW, 0.035*SafeZoneW];
|
_pos = [(_sPos select 0)-(0.014*SafeZoneW), (_sPos select 1)-(0.014*SafeZoneW), 0.05*SafeZoneW, 0.035*SafeZoneW];
|
||||||
} else {
|
} else {
|
||||||
[_ctrl, GVAR(iconCount), format ["<img image='%1' color='#FF0000' size='1.6' align='center'/>", _icon]] call FUNC(ctrlSetParsedTextCached);
|
[_ctrl, GVAR(iconCount), format ["<img image='%1' color='#FF0000' size='1.6' align='center'/>", _icon]] call FUNC(ctrlSetParsedTextCached);
|
||||||
_ctrl ctrlSetPosition [(_sPos select 0)-(0.050*SafeZoneW), (_sPos select 1)-(0.014*SafeZoneW), 0.1*SafeZoneW, 0.035*SafeZoneW];
|
_pos = [(_sPos select 0)-(0.050*SafeZoneW), (_sPos select 1)-(0.014*SafeZoneW), 0.1*SafeZoneW, 0.035*SafeZoneW];
|
||||||
};
|
};
|
||||||
//_ctrl ctrlSetBackgroundColor [1, 0, 0, 0.1];
|
|
||||||
GVAR(iconCount) = GVAR(iconCount) + 1;
|
if (GVAR(cursorKeepCentered) && {uiNamespace getVariable [QGVAR(cursorMenuOpened),false]}) then {
|
||||||
|
_pos set [0, ((_pos select 0) - (GVAR(cursorPos) select 0) + 0.5)];
|
||||||
|
_pos set [1, ((_pos select 1) - (GVAR(cursorPos) select 1) + 0.5)];
|
||||||
|
};
|
||||||
|
|
||||||
|
_ctrl ctrlSetPosition _pos;
|
||||||
_ctrl ctrlCommit 0;
|
_ctrl ctrlCommit 0;
|
||||||
|
@ -101,5 +101,11 @@
|
|||||||
<German>Interaktionstextschatten Min</German>
|
<German>Interaktionstextschatten Min</German>
|
||||||
<Italian>Interazioni - Ombra Minima</Italian>
|
<Italian>Interazioni - Ombra Minima</Italian>
|
||||||
</Key>
|
</Key>
|
||||||
|
<Key ID="STR_ACE_Interact_cursorKeepCentered">
|
||||||
|
<English>Keep cursor centered</English>
|
||||||
|
</Key>
|
||||||
|
<Key ID="STR_ACE_Interact_cursorKeepCenteredDescription">
|
||||||
|
<English>Keeps cursor centered and pans the option menu around. Useful if screen size is limited.</English>
|
||||||
|
</Key>
|
||||||
</Package>
|
</Package>
|
||||||
</Project>
|
</Project>
|
Loading…
Reference in New Issue
Block a user