mirror of
https://github.com/acemod/ACE3.git
synced 2024-08-30 18:23:18 +00:00
get the vector to work, wip
This commit is contained in:
parent
d281caffbe
commit
bc43ee5136
@ -189,14 +189,14 @@
|
|||||||
#define SETVAR_SYS(var1,var2) setVariable [ARR_2(QUOTE(var1),var2)]
|
#define SETVAR_SYS(var1,var2) setVariable [ARR_2(QUOTE(var1),var2)]
|
||||||
#define SETPVAR_SYS(var1,var2) setVariable [ARR_3(QUOTE(var1),var2,true)]
|
#define SETPVAR_SYS(var1,var2) setVariable [ARR_3(QUOTE(var1),var2,true)]
|
||||||
|
|
||||||
#define GETVAR(var1,var2,var3) (var1 GETVAR_SYS(var2,var3))
|
#define GETVAR(var1,var2,var3) var1 GETVAR_SYS(var2,var3)
|
||||||
#define GETMVAR(var1,var2) (missionNamespace GETVAR_SYS(var1,var2))
|
#define GETMVAR(var1,var2) missionNamespace GETVAR_SYS(var1,var2)
|
||||||
#define GETUVAR(var1,var2) (uiNamespace GETVAR_SYS(var1,var2))
|
#define GETUVAR(var1,var2) uiNamespace GETVAR_SYS(var1,var2)
|
||||||
|
|
||||||
#define SETVAR(var1,var2,var3) (var1 SETVAR_SYS(var2,var3))
|
#define SETVAR(var1,var2,var3) var1 SETVAR_SYS(var2,var3)
|
||||||
#define SETPVAR(var1,var2,var3) (var1 SETPVAR_SYS(var2,var3))
|
#define SETPVAR(var1,var2,var3) var1 SETPVAR_SYS(var2,var3)
|
||||||
#define SETMVAR(var1,var2) (missionNamespace SETVAR_SYS(var1,var2))
|
#define SETMVAR(var1,var2) missionNamespace SETVAR_SYS(var1,var2)
|
||||||
#define SETUVAR(var1,var2) (uiNamespace SETVAR_SYS(var1,var2))
|
#define SETUVAR(var1,var2) uiNamespace SETVAR_SYS(var1,var2)
|
||||||
|
|
||||||
|
|
||||||
#ifdef DISABLE_COMPILE_CACHE
|
#ifdef DISABLE_COMPILE_CACHE
|
||||||
|
@ -11,7 +11,7 @@ class RscControlsGroup {
|
|||||||
class RscInGameUI {
|
class RscInGameUI {
|
||||||
class RscUnitInfo;
|
class RscUnitInfo;
|
||||||
class ACE_RscOptics_vector: RscUnitInfo {
|
class ACE_RscOptics_vector: RscUnitInfo {
|
||||||
onLoad = "[""onLoad"",_this,""RscUnitInfo"",'IGUI'] call compile preprocessfilelinenumbers ""A3\ui_f\scripts\initDisplay.sqf""; uiNamespace setVariable ['ACE_dlgVectorOptics', _this select 0];";
|
onLoad = "[""onLoad"",_this,""RscUnitInfo"",'IGUI'] call compile preprocessfilelinenumbers ""A3\ui_f\scripts\initDisplay.sqf""; uiNamespace setVariable ['ACE_dlgVector', _this select 0];";
|
||||||
onUnload = "[""onUnload"",_this,""RscUnitInfo"",'IGUI'] call compile preprocessfilelinenumbers ""A3\ui_f\scripts\initDisplay.sqf""";
|
onUnload = "[""onUnload"",_this,""RscUnitInfo"",'IGUI'] call compile preprocessfilelinenumbers ""A3\ui_f\scripts\initDisplay.sqf""";
|
||||||
idd = 300;
|
idd = 300;
|
||||||
controls[] = {"CA_Distance","CA_Heading","CA_OpticsPitch","CA_Elev","CA_OpticsZoom","CA_VisionMode","ACE_ScriptedDisplayControlsGroup"};
|
controls[] = {"CA_Distance","CA_Heading","CA_OpticsPitch","CA_Elev","CA_OpticsZoom","CA_VisionMode","ACE_ScriptedDisplayControlsGroup"};
|
||||||
|
@ -2,14 +2,7 @@
|
|||||||
|
|
||||||
PREP(abort);
|
PREP(abort);
|
||||||
PREP(config);
|
PREP(config);
|
||||||
PREP(convertDegree);
|
|
||||||
PREP(convertDistance);
|
|
||||||
PREP(convertFOS);
|
PREP(convertFOS);
|
||||||
PREP(getDirection);
|
|
||||||
PREP(getDistance);
|
|
||||||
PREP(modeAzimuth);
|
|
||||||
PREP(modeAzimuthInclination);
|
|
||||||
PREP(modeDistance);
|
|
||||||
PREP(modeDistanceAzimuth);
|
PREP(modeDistanceAzimuth);
|
||||||
PREP(modeDistanceHeight);
|
PREP(modeDistanceHeight);
|
||||||
PREP(modeFallOfShort);
|
PREP(modeFallOfShort);
|
||||||
@ -19,3 +12,22 @@ PREP(modeRelativeDistanceHeight);
|
|||||||
PREP(settings);
|
PREP(settings);
|
||||||
PREP(tabAzimuthKey);
|
PREP(tabAzimuthKey);
|
||||||
PREP(tabDistanceKey);
|
PREP(tabDistanceKey);
|
||||||
|
|
||||||
|
PREP(clearDisplay);
|
||||||
|
PREP(convertToTexturesDegree);
|
||||||
|
PREP(convertToTexturesDistance);
|
||||||
|
PREP(getDirection);
|
||||||
|
PREP(getDistance);
|
||||||
|
PREP(onKeyDown);
|
||||||
|
PREP(onKeyHold);
|
||||||
|
PREP(onKeyUp);
|
||||||
|
PREP(showAzimuth);
|
||||||
|
PREP(showCenter);
|
||||||
|
PREP(showDistance);
|
||||||
|
|
||||||
|
GVAR(isKeyDownAzimuth) = false;
|
||||||
|
GVAR(isKeyDownDistance) = false;
|
||||||
|
GVAR(keyDownTimeAzimuth) = -1;
|
||||||
|
GVAR(keyDownTimeDistance) = -1;
|
||||||
|
GVAR(useMil) = false;
|
||||||
|
GVAR(useFeet) = false;
|
||||||
|
@ -16,29 +16,30 @@ class CfgPatches {
|
|||||||
#include "CfgVehicles.hpp"
|
#include "CfgVehicles.hpp"
|
||||||
#include "CfgWeapons.hpp"
|
#include "CfgWeapons.hpp"
|
||||||
|
|
||||||
/*class AGM_Default_Keys {
|
class ACE_Default_Keys {
|
||||||
class vectorAzimuth {
|
class vectorAzimuth {
|
||||||
displayName = "$STR_AGM_Vector_AzimuthKey";
|
displayName = "$STR_ACE_Vector_AzimuthKey";
|
||||||
condition = "currentWeapon player == 'AGM_Vector' && {_vehicle == player} && {cameraView == 'Gunner'}";
|
condition = QUOTE(currentWeapon player == 'ACE_Vector' && {_vehicle == player} && {cameraView == 'GUNNER'});
|
||||||
statement = "AGM_vectorKey set [0, true]; if (AGM_isVectorReady) then {AGM_isVectorReady = false; AGM_Vector_scriptHandle = 0 spawn AGM_Vector_fnc_tabAzimuthKey; 0 spawn AGM_Vector_fnc_abort;};";
|
statement = QUOTE(['azimuth'] call FUNC(onKeyDown));
|
||||||
conditionUp = "true";
|
conditionUp = QUOTE(true);
|
||||||
statementUp = "AGM_vectorKey set [0, false];";
|
statementUp = QUOTE(['azimuth'] call FUNC(onKeyUp));
|
||||||
key = 15;
|
key = 15;
|
||||||
shift = 0;
|
shift = 0;
|
||||||
control = 0;
|
control = 0;
|
||||||
alt = 0;
|
alt = 0;
|
||||||
};
|
};
|
||||||
|
|
||||||
class vectorDistance {
|
class vectorDistance {
|
||||||
displayName = "$STR_AGM_Vector_DistanceKey";
|
displayName = "$STR_ACE_Vector_DistanceKey";
|
||||||
condition = "currentWeapon player == 'AGM_Vector' && {_vehicle == player} && {cameraView == 'Gunner'}";
|
condition = QUOTE(currentWeapon player == 'ACE_Vector' && {_vehicle == player} && {cameraView == 'GUNNER'});
|
||||||
statement = "AGM_vectorKey set [1, true]; if (AGM_isVectorReady) then {AGM_isVectorReady = false; AGM_Vector_scriptHandle = 0 spawn AGM_Vector_fnc_tabDistanceKey; 0 spawn AGM_Vector_fnc_abort;};";
|
statement = QUOTE(['distance'] call FUNC(onKeyDown));
|
||||||
conditionUp = "true";
|
conditionUp = QUOTE(true);
|
||||||
statementUp = "AGM_vectorKey set [1, false];";
|
statementUp = QUOTE(['distance'] call FUNC(onKeyUp));
|
||||||
key = 19;
|
key = 19;
|
||||||
shift = 0;
|
shift = 0;
|
||||||
control = 0;
|
control = 0;
|
||||||
alt = 0;
|
alt = 0;
|
||||||
};
|
};
|
||||||
};*/
|
};
|
||||||
|
|
||||||
#include "RscInGameUI.hpp"
|
#include "RscInGameUI.hpp"
|
||||||
|
43
addons/vector/functions/fnc_clearDisplay.sqf
Normal file
43
addons/vector/functions/fnc_clearDisplay.sqf
Normal file
@ -0,0 +1,43 @@
|
|||||||
|
/*
|
||||||
|
|
||||||
|
by commy2
|
||||||
|
|
||||||
|
Clears the vectors control items.
|
||||||
|
|
||||||
|
*/
|
||||||
|
#include "script_component.hpp"
|
||||||
|
|
||||||
|
private "_dlgVector";
|
||||||
|
|
||||||
|
disableSerialization;
|
||||||
|
_dlgVector = GETUVAR(ACE_dlgVector,displayNull);
|
||||||
|
|
||||||
|
switch (_this select 0) do {
|
||||||
|
case ("azimuth"): {
|
||||||
|
private ["_ctrlDigit5", "_ctrlDigit6", "_ctrlDigit7", "_ctrlDigit8"];
|
||||||
|
|
||||||
|
_ctrlDigit5 = _dlgVector displayCtrl 1315;
|
||||||
|
_ctrlDigit6 = _dlgVector displayCtrl 1316;
|
||||||
|
_ctrlDigit7 = _dlgVector displayCtrl 1317;
|
||||||
|
_ctrlDigit8 = _dlgVector displayCtrl 1318;
|
||||||
|
|
||||||
|
_ctrlDigit5 ctrlSetText "";
|
||||||
|
_ctrlDigit6 ctrlSetText "";
|
||||||
|
_ctrlDigit7 ctrlSetText "";
|
||||||
|
_ctrlDigit8 ctrlSetText "";
|
||||||
|
};
|
||||||
|
|
||||||
|
case ("distance"): {
|
||||||
|
private ["_ctrlDigit1", "_ctrlDigit2", "_ctrlDigit3", "_ctrlDigit4"];
|
||||||
|
|
||||||
|
_ctrlDigit1 = _dlgVector displayCtrl 1311;
|
||||||
|
_ctrlDigit2 = _dlgVector displayCtrl 1312;
|
||||||
|
_ctrlDigit3 = _dlgVector displayCtrl 1313;
|
||||||
|
_ctrlDigit4 = _dlgVector displayCtrl 1314;
|
||||||
|
|
||||||
|
_ctrlDigit1 ctrlSetText "";
|
||||||
|
_ctrlDigit2 ctrlSetText "";
|
||||||
|
_ctrlDigit3 ctrlSetText "";
|
||||||
|
_ctrlDigit4 ctrlSetText "";
|
||||||
|
};
|
||||||
|
};
|
@ -1,67 +0,0 @@
|
|||||||
/*
|
|
||||||
BWA3 script, by commy2
|
|
||||||
this code is property of the ArmA 3 Bundeswehr modification
|
|
||||||
ask us nicely at http://www.bwmod.de/ if you want to re-use any of this script
|
|
||||||
we don't support changed code based on this work
|
|
||||||
*/
|
|
||||||
#include "script_component.hpp"
|
|
||||||
|
|
||||||
private["_number", "_return", "_isNegative", "_digit1", "_digit2", "_digit3", "_digit4"];
|
|
||||||
|
|
||||||
_number = _this;
|
|
||||||
|
|
||||||
_return = [];
|
|
||||||
if (AGM_vectorSettings select 2) then {
|
|
||||||
_number = round (6400 / 360 * _number);
|
|
||||||
if (_number == 6400) then {_number = 0};
|
|
||||||
|
|
||||||
_return = _number call AGM_Vector_fnc_convertDistance;
|
|
||||||
} else {
|
|
||||||
_number = round _number;
|
|
||||||
_isNegative = if (_number < 0) then {true} else {false};
|
|
||||||
_number = abs _number;
|
|
||||||
if (_number == 360) then {_number = 0};
|
|
||||||
|
|
||||||
_digit1 = floor (_number / 100);
|
|
||||||
_digit2 = floor (_number / 10) - _digit1 * 10;
|
|
||||||
_digit3 = _number mod 10;
|
|
||||||
_digit4 = "\AGM_Vector\rsc\do.paa";
|
|
||||||
|
|
||||||
if (_isNegative) then {
|
|
||||||
if (_digit1 == 0) then {
|
|
||||||
if (_digit2 == 0) then {
|
|
||||||
_digit1 = "";
|
|
||||||
_digit2 = "\AGM_Vector\rsc\d-.paa";
|
|
||||||
_digit3 = format["\AGM_Vector\rsc\d%1.paa", _digit3];
|
|
||||||
} else {
|
|
||||||
_digit1 = "\AGM_Vector\rsc\d-.paa";
|
|
||||||
_digit2 = format["\AGM_Vector\rsc\d%1.paa", _digit2];
|
|
||||||
_digit3 = format["\AGM_Vector\rsc\d%1.paa", _digit3];
|
|
||||||
};
|
|
||||||
} else {
|
|
||||||
_digit1 = "\AGM_Vector\rsc\d-.paa";
|
|
||||||
_digit2 = "\AGM_Vector\rsc\d-.paa";
|
|
||||||
_digit3 = "\AGM_Vector\rsc\d-.paa";
|
|
||||||
_digit4 = "\AGM_Vector\rsc\d-.paa";
|
|
||||||
};
|
|
||||||
} else {
|
|
||||||
if (_digit1 == 0) then {
|
|
||||||
if (_digit2 == 0) then {
|
|
||||||
_digit1 = "";
|
|
||||||
_digit2 = "";
|
|
||||||
_digit3 = format["\AGM_Vector\rsc\d%1.paa", _digit3];
|
|
||||||
} else {
|
|
||||||
_digit1 = "";
|
|
||||||
_digit2 = format["\AGM_Vector\rsc\d%1.paa", _digit2];
|
|
||||||
_digit3 = format["\AGM_Vector\rsc\d%1.paa", _digit3];
|
|
||||||
};
|
|
||||||
} else {
|
|
||||||
_digit1 = format["\AGM_Vector\rsc\d%1.paa", _digit1];
|
|
||||||
_digit2 = format["\AGM_Vector\rsc\d%1.paa", _digit2];
|
|
||||||
_digit3 = format["\AGM_Vector\rsc\d%1.paa", _digit3];
|
|
||||||
};
|
|
||||||
};
|
|
||||||
_return = [_digit1, _digit2, _digit3, _digit4];
|
|
||||||
};
|
|
||||||
|
|
||||||
_return
|
|
@ -1,85 +0,0 @@
|
|||||||
/*
|
|
||||||
BWA3 script, by commy2
|
|
||||||
this code is property of the ArmA 3 Bundeswehr modification
|
|
||||||
ask us nicely at http://www.bwmod.de/ if you want to re-use any of this script
|
|
||||||
we don't support changed code based on this work
|
|
||||||
*/
|
|
||||||
#include "script_component.hpp"
|
|
||||||
|
|
||||||
private["_number", "_isNegative", "_digit1", "_digit2", "_digit3", "_digit4"];
|
|
||||||
|
|
||||||
_number = _this;
|
|
||||||
|
|
||||||
_number = round _number;
|
|
||||||
_isNegative = if (_number < 0) then {true} else {false};
|
|
||||||
_number = abs _number;
|
|
||||||
|
|
||||||
if (_number >= 10000) exitWith {
|
|
||||||
[
|
|
||||||
"\AGM_Vector\rsc\d-.paa",
|
|
||||||
"\AGM_Vector\rsc\d-.paa",
|
|
||||||
"\AGM_Vector\rsc\d-.paa",
|
|
||||||
"\AGM_Vector\rsc\d-.paa"
|
|
||||||
]
|
|
||||||
};
|
|
||||||
|
|
||||||
_digit1 = floor (_number / 1000);
|
|
||||||
_digit2 = floor (_number / 100) - _digit1 * 10;
|
|
||||||
_digit3 = floor (_number / 10) - _digit1 * 100 - _digit2 * 10;
|
|
||||||
_digit4 = _number mod 10;
|
|
||||||
|
|
||||||
if (_isNegative) then {
|
|
||||||
if (_digit1 == 0) then {
|
|
||||||
if (_digit2 == 0) then {
|
|
||||||
if (_digit3 == 0) then {
|
|
||||||
_digit1 = "";
|
|
||||||
_digit2 = "";
|
|
||||||
_digit3 = "\AGM_Vector\rsc\d-.paa";
|
|
||||||
_digit4 = format["\AGM_Vector\rsc\d%1.paa", _digit4];
|
|
||||||
} else {
|
|
||||||
_digit1 = "";
|
|
||||||
_digit2 = "\AGM_Vector\rsc\d-.paa";
|
|
||||||
_digit3 = format["\AGM_Vector\rsc\d%1.paa", _digit3];
|
|
||||||
_digit4 = format["\AGM_Vector\rsc\d%1.paa", _digit4];
|
|
||||||
};
|
|
||||||
} else {
|
|
||||||
_digit1 = "\AGM_Vector\rsc\d-.paa";
|
|
||||||
_digit2 = format["\AGM_Vector\rsc\d%1.paa", _digit2];
|
|
||||||
_digit3 = format["\AGM_Vector\rsc\d%1.paa", _digit3];
|
|
||||||
_digit4 = format["\AGM_Vector\rsc\d%1.paa", _digit4];
|
|
||||||
};
|
|
||||||
} else {
|
|
||||||
_digit1 = "\AGM_Vector\rsc\d-.paa";
|
|
||||||
_digit2 = "\AGM_Vector\rsc\d-.paa";
|
|
||||||
_digit3 = "\AGM_Vector\rsc\d-.paa";
|
|
||||||
_digit4 = "\AGM_Vector\rsc\d-.paa";
|
|
||||||
};
|
|
||||||
} else {
|
|
||||||
if (_digit1 == 0) then {
|
|
||||||
if (_digit2 == 0) then {
|
|
||||||
if (_digit3 == 0) then {
|
|
||||||
_digit1 = "";
|
|
||||||
_digit2 = "";
|
|
||||||
_digit3 = "";
|
|
||||||
_digit4 = format["\AGM_Vector\rsc\d%1.paa", _digit4];
|
|
||||||
} else {
|
|
||||||
_digit1 = "";
|
|
||||||
_digit2 = "";
|
|
||||||
_digit3 = format["\AGM_Vector\rsc\d%1.paa", _digit3];
|
|
||||||
_digit4 = format["\AGM_Vector\rsc\d%1.paa", _digit4];
|
|
||||||
};
|
|
||||||
} else {
|
|
||||||
_digit1 = "";
|
|
||||||
_digit2 = format["\AGM_Vector\rsc\d%1.paa", _digit2];
|
|
||||||
_digit3 = format["\AGM_Vector\rsc\d%1.paa", _digit3];
|
|
||||||
_digit4 = format["\AGM_Vector\rsc\d%1.paa", _digit4];
|
|
||||||
};
|
|
||||||
} else {
|
|
||||||
_digit1 = format["\AGM_Vector\rsc\d%1.paa", _digit1];
|
|
||||||
_digit2 = format["\AGM_Vector\rsc\d%1.paa", _digit2];
|
|
||||||
_digit3 = format["\AGM_Vector\rsc\d%1.paa", _digit3];
|
|
||||||
_digit4 = format["\AGM_Vector\rsc\d%1.paa", _digit4];
|
|
||||||
};
|
|
||||||
};
|
|
||||||
|
|
||||||
[_digit1, _digit2, _digit3, _digit4]
|
|
@ -1,3 +0,0 @@
|
|||||||
// by commy2
|
|
||||||
|
|
||||||
3.28084 * (_this select 0)
|
|
77
addons/vector/functions/fnc_convertToTexturesDegree.sqf
Normal file
77
addons/vector/functions/fnc_convertToTexturesDegree.sqf
Normal file
@ -0,0 +1,77 @@
|
|||||||
|
/* by commy2
|
||||||
|
|
||||||
|
converts azimuth into array of textures for the vectors scripted info control
|
||||||
|
|
||||||
|
*/
|
||||||
|
|
||||||
|
#include "script_component.hpp"
|
||||||
|
|
||||||
|
private "_number";
|
||||||
|
|
||||||
|
_number = _this select 0;
|
||||||
|
|
||||||
|
if (GVAR(useMil)) then {
|
||||||
|
|
||||||
|
_number = round (6400 / 360 * _number);
|
||||||
|
if (_number == 6400) then {_number = 0};
|
||||||
|
|
||||||
|
[_number] call FUNC(convertToTexturesDistance) // return
|
||||||
|
|
||||||
|
} else {
|
||||||
|
|
||||||
|
_number = round _number;
|
||||||
|
|
||||||
|
private "_isNegative";
|
||||||
|
_isNegative = _number < 0;
|
||||||
|
|
||||||
|
_number = abs _number;
|
||||||
|
if (_number == 360) then {_number = 0};
|
||||||
|
|
||||||
|
private ["_digit1", "_digit2", "_digit3", "_digit4"];
|
||||||
|
|
||||||
|
_digit1 = floor (_number / 100);
|
||||||
|
_digit2 = floor (_number / 10) - _digit1 * 10;
|
||||||
|
_digit3 = _number mod 10;
|
||||||
|
_digit4 = QUOTE(PATHTOF(rsc\vector_degree.paa));
|
||||||
|
|
||||||
|
if (_isNegative) then {
|
||||||
|
|
||||||
|
if (_digit1 == 0) then {
|
||||||
|
if (_digit2 == 0) then {
|
||||||
|
_digit1 = "";
|
||||||
|
_digit2 = QUOTE(PATHTOF(rsc\vector_minus.paa));
|
||||||
|
_digit3 = format [QUOTE(PATHTOF(rsc\vector_%1.paa)), _digit3];
|
||||||
|
} else {
|
||||||
|
_digit1 = QUOTE(PATHTOF(rsc\vector_minus.paa));
|
||||||
|
_digit2 = format [QUOTE(PATHTOF(rsc\vector_%1.paa)), _digit2];
|
||||||
|
_digit3 = format [QUOTE(PATHTOF(rsc\vector_%1.paa)), _digit3];
|
||||||
|
};
|
||||||
|
} else {
|
||||||
|
_digit1 = QUOTE(PATHTOF(rsc\vector_minus.paa));
|
||||||
|
_digit2 = QUOTE(PATHTOF(rsc\vector_minus.paa));
|
||||||
|
_digit3 = QUOTE(PATHTOF(rsc\vector_minus.paa));
|
||||||
|
_digit4 = QUOTE(PATHTOF(rsc\vector_minus.paa));
|
||||||
|
};
|
||||||
|
|
||||||
|
} else {
|
||||||
|
|
||||||
|
if (_digit1 == 0) then {
|
||||||
|
if (_digit2 == 0) then {
|
||||||
|
_digit1 = "";
|
||||||
|
_digit2 = "";
|
||||||
|
_digit3 = format [QUOTE(PATHTOF(rsc\vector_%1.paa)), _digit3];
|
||||||
|
} else {
|
||||||
|
_digit1 = "";
|
||||||
|
_digit2 = format [QUOTE(PATHTOF(rsc\vector_%1.paa)), _digit2];
|
||||||
|
_digit3 = format [QUOTE(PATHTOF(rsc\vector_%1.paa)), _digit3];
|
||||||
|
};
|
||||||
|
} else {
|
||||||
|
_digit1 = format [QUOTE(PATHTOF(rsc\vector_%1.paa)), _digit1];
|
||||||
|
_digit2 = format [QUOTE(PATHTOF(rsc\vector_%1.paa)), _digit2];
|
||||||
|
_digit3 = format [QUOTE(PATHTOF(rsc\vector_%1.paa)), _digit3];
|
||||||
|
};
|
||||||
|
|
||||||
|
};
|
||||||
|
|
||||||
|
[_digit1, _digit2, _digit3, _digit4] // return
|
||||||
|
}
|
86
addons/vector/functions/fnc_convertToTexturesDistance.sqf
Normal file
86
addons/vector/functions/fnc_convertToTexturesDistance.sqf
Normal file
@ -0,0 +1,86 @@
|
|||||||
|
/* by commy2
|
||||||
|
|
||||||
|
converts rangefinder distance into array of textures for the vectors scripted info control
|
||||||
|
|
||||||
|
*/
|
||||||
|
|
||||||
|
#include "script_component.hpp"
|
||||||
|
|
||||||
|
private ["_number", "_isNegative"];
|
||||||
|
|
||||||
|
_number = _this select 0;
|
||||||
|
|
||||||
|
_number = round _number;
|
||||||
|
_isNegative = _number < 0;
|
||||||
|
_number = abs _number;
|
||||||
|
|
||||||
|
if (_number >= 10000) exitWith {
|
||||||
|
[QUOTE(PATHTOF(rsc\vector_minus.paa)), QUOTE(PATHTOF(rsc\vector_minus.paa)), QUOTE(PATHTOF(rsc\vector_minus.paa)), QUOTE(PATHTOF(rsc\vector_minus.paa))] // return
|
||||||
|
};
|
||||||
|
|
||||||
|
private ["_digit1", "_digit2", "_digit3", "_digit4"];
|
||||||
|
|
||||||
|
_digit1 = floor (_number / 1000);
|
||||||
|
_digit2 = floor (_number / 100) - _digit1 * 10;
|
||||||
|
_digit3 = floor (_number / 10) - _digit1 * 100 - _digit2 * 10;
|
||||||
|
_digit4 = _number mod 10;
|
||||||
|
|
||||||
|
if (_isNegative) then {
|
||||||
|
|
||||||
|
if (_digit1 == 0) then {
|
||||||
|
if (_digit2 == 0) then {
|
||||||
|
if (_digit3 == 0) then {
|
||||||
|
_digit1 = "";
|
||||||
|
_digit2 = "";
|
||||||
|
_digit3 = QUOTE(PATHTOF(rsc\vector_minus.paa));
|
||||||
|
_digit4 = format [QUOTE(PATHTOF(rsc\vector_%1.paa)), _digit4];
|
||||||
|
} else {
|
||||||
|
_digit1 = "";
|
||||||
|
_digit2 = QUOTE(PATHTOF(rsc\vector_minus.paa));
|
||||||
|
_digit3 = format [QUOTE(PATHTOF(rsc\vector_%1.paa)), _digit3];
|
||||||
|
_digit4 = format [QUOTE(PATHTOF(rsc\vector_%1.paa)), _digit4];
|
||||||
|
};
|
||||||
|
} else {
|
||||||
|
_digit1 = QUOTE(PATHTOF(rsc\vector_minus.paa));
|
||||||
|
_digit2 = format [QUOTE(PATHTOF(rsc\vector_%1.paa)), _digit2];
|
||||||
|
_digit3 = format [QUOTE(PATHTOF(rsc\vector_%1.paa)), _digit3];
|
||||||
|
_digit4 = format [QUOTE(PATHTOF(rsc\vector_%1.paa)), _digit4];
|
||||||
|
};
|
||||||
|
} else {
|
||||||
|
_digit1 = QUOTE(PATHTOF(rsc\vector_minus.paa));
|
||||||
|
_digit2 = QUOTE(PATHTOF(rsc\vector_minus.paa));
|
||||||
|
_digit3 = QUOTE(PATHTOF(rsc\vector_minus.paa));
|
||||||
|
_digit4 = QUOTE(PATHTOF(rsc\vector_minus.paa));
|
||||||
|
};
|
||||||
|
|
||||||
|
} else {
|
||||||
|
|
||||||
|
if (_digit1 == 0) then {
|
||||||
|
if (_digit2 == 0) then {
|
||||||
|
if (_digit3 == 0) then {
|
||||||
|
_digit1 = "";
|
||||||
|
_digit2 = "";
|
||||||
|
_digit3 = "";
|
||||||
|
_digit4 = format [QUOTE(PATHTOF(rsc\vector_%1.paa)), _digit4];
|
||||||
|
} else {
|
||||||
|
_digit1 = "";
|
||||||
|
_digit2 = "";
|
||||||
|
_digit3 = format [QUOTE(PATHTOF(rsc\vector_%1.paa)), _digit3];
|
||||||
|
_digit4 = format [QUOTE(PATHTOF(rsc\vector_%1.paa)), _digit4];
|
||||||
|
};
|
||||||
|
} else {
|
||||||
|
_digit1 = "";
|
||||||
|
_digit2 = format [QUOTE(PATHTOF(rsc\vector_%1.paa)), _digit2];
|
||||||
|
_digit3 = format [QUOTE(PATHTOF(rsc\vector_%1.paa)), _digit3];
|
||||||
|
_digit4 = format [QUOTE(PATHTOF(rsc\vector_%1.paa)), _digit4];
|
||||||
|
};
|
||||||
|
} else {
|
||||||
|
_digit1 = format [QUOTE(PATHTOF(rsc\vector_%1.paa)), _digit1];
|
||||||
|
_digit2 = format [QUOTE(PATHTOF(rsc\vector_%1.paa)), _digit2];
|
||||||
|
_digit3 = format [QUOTE(PATHTOF(rsc\vector_%1.paa)), _digit3];
|
||||||
|
_digit4 = format [QUOTE(PATHTOF(rsc\vector_%1.paa)), _digit4];
|
||||||
|
};
|
||||||
|
|
||||||
|
};
|
||||||
|
|
||||||
|
[_digit1, _digit2, _digit3, _digit4]
|
@ -1,12 +1,26 @@
|
|||||||
// by commy2
|
// by commy2
|
||||||
#include "script_component.hpp"
|
#include "script_component.hpp"
|
||||||
|
|
||||||
|
/*
|
||||||
private "_dlgVector";
|
private "_dlgVector";
|
||||||
|
|
||||||
disableSerialization;
|
disableSerialization;
|
||||||
_dlgVector = uiNamespace getVariable ["AGM_dlgVector", displayNull];
|
_dlgVector = GETUVAR(ACE_dlgVector, displayNull);
|
||||||
|
|
||||||
[
|
[
|
||||||
round parseNumber ctrlText (_dlgVector displayCtrl 156),
|
round parseNumber ctrlText (_dlgVector displayCtrl 156),
|
||||||
round parseNumber ctrlText (_dlgVector displayCtrl 182)
|
round parseNumber ctrlText (_dlgVector displayCtrl 182)
|
||||||
]
|
]
|
||||||
|
*/
|
||||||
|
|
||||||
|
private ["_position", "_direction", "_azimuth", "_inclination"];
|
||||||
|
|
||||||
|
_position = ATLToASL positionCameraToWorld [0,0,0];
|
||||||
|
_direction = ATLToASL positionCameraToWorld [0,0,1];
|
||||||
|
|
||||||
|
_azimuth = ((_direction select 0) - (_position select 0)) atan2 ((_direction select 1) - (_position select 1));
|
||||||
|
_inclination = asin ((_direction select 2) - (_position select 2));
|
||||||
|
|
||||||
|
if (_azimuth < 0) then {_azimuth = _azimuth + 360};
|
||||||
|
|
||||||
|
[_azimuth, _inclination]
|
||||||
|
@ -2,12 +2,12 @@
|
|||||||
#include "script_component.hpp"
|
#include "script_component.hpp"
|
||||||
|
|
||||||
#define MIN_DISTANCE 10
|
#define MIN_DISTANCE 10
|
||||||
#define MAX_DISTANCE ([6000, 9000] select GVAR(useFeet))
|
#define MAX_DISTANCE [6000, 9000] select GVAR(useFeet)
|
||||||
|
|
||||||
private ["_dlgVector", "_distance"];
|
private ["_dlgVector", "_distance"];
|
||||||
|
|
||||||
disableSerialization;
|
disableSerialization;
|
||||||
_dlgVector = GETUVAR(AGM_dlgVector,displayNull);
|
_dlgVector = GETUVAR(ACE_dlgVector,displayNull);
|
||||||
|
|
||||||
_distance = ctrlText (_dlgVector displayCtrl 151);
|
_distance = ctrlText (_dlgVector displayCtrl 151);
|
||||||
|
|
||||||
@ -16,7 +16,7 @@ if (_distance == "----") exitWith {-1};
|
|||||||
_distance = round parseNumber _distance;
|
_distance = round parseNumber _distance;
|
||||||
|
|
||||||
if (GVAR(useFeet)) then {
|
if (GVAR(useFeet)) then {
|
||||||
_distance = 3.28084 * _distance;
|
_distance = 3.28084 * _distance;
|
||||||
};
|
};
|
||||||
|
|
||||||
if (_distance > MAX_DISTANCE) exitWith {-1};
|
if (_distance > MAX_DISTANCE) exitWith {-1};
|
||||||
|
@ -1,62 +0,0 @@
|
|||||||
// by commy2
|
|
||||||
#include "script_component.hpp"
|
|
||||||
|
|
||||||
private["_dlgVector", "_ctrlVectorCenter", "_ctrlDigit1", "_ctrlDigit2", "_ctrlDigit3", "_ctrlDigit4", "_ctrlDigit5", "_ctrlDigit6", "_ctrlDigit7", "_ctrlDigit8", "_exit", "_time"];
|
|
||||||
|
|
||||||
disableSerialization;
|
|
||||||
_dlgVector = uiNamespace getVariable "AGM_dlgVector";
|
|
||||||
_ctrlVectorCenter = _dlgVector displayCtrl 1;
|
|
||||||
_ctrlDigit1 = _dlgVector displayCtrl 11;
|
|
||||||
_ctrlDigit2 = _dlgVector displayCtrl 12;
|
|
||||||
_ctrlDigit3 = _dlgVector displayCtrl 13;
|
|
||||||
_ctrlDigit4 = _dlgVector displayCtrl 14;
|
|
||||||
_ctrlDigit5 = _dlgVector displayCtrl 15;
|
|
||||||
_ctrlDigit6 = _dlgVector displayCtrl 16;
|
|
||||||
_ctrlDigit7 = _dlgVector displayCtrl 17;
|
|
||||||
_ctrlDigit8 = _dlgVector displayCtrl 18;
|
|
||||||
|
|
||||||
_ctrlVectorCenter ctrlSetText "\AGM_Vector\rsc\Vector_Center.paa";
|
|
||||||
|
|
||||||
_time = -1;
|
|
||||||
_exit = false;
|
|
||||||
waitUntil {
|
|
||||||
if (time > _time + 0.5) then {
|
|
||||||
_direction = call AGM_Vector_fnc_getDirection;
|
|
||||||
_azimuth = _direction select 0;
|
|
||||||
|
|
||||||
_digits = _azimuth call AGM_Vector_fnc_convertDegree;
|
|
||||||
_ctrlDigit5 ctrlSetText (_digits select 0);
|
|
||||||
_ctrlDigit6 ctrlSetText (_digits select 1);
|
|
||||||
_ctrlDigit7 ctrlSetText (_digits select 2);
|
|
||||||
_ctrlDigit8 ctrlSetText (_digits select 3);
|
|
||||||
|
|
||||||
_time = time;
|
|
||||||
};
|
|
||||||
if (AGM_vectorKey select 1) then {_exit = true};
|
|
||||||
!(AGM_vectorKey select 0) || {_exit}
|
|
||||||
};
|
|
||||||
if (_exit) exitWith {
|
|
||||||
waitUntil {
|
|
||||||
if (time > _time + 0.5) then {
|
|
||||||
_direction = call AGM_Vector_fnc_getDirection;
|
|
||||||
_azimuth = _direction select 0;
|
|
||||||
|
|
||||||
_digits = _azimuth call AGM_Vector_fnc_convertDegree;
|
|
||||||
_ctrlDigit5 ctrlSetText (_digits select 0);
|
|
||||||
_ctrlDigit6 ctrlSetText (_digits select 1);
|
|
||||||
_ctrlDigit7 ctrlSetText (_digits select 2);
|
|
||||||
_ctrlDigit8 ctrlSetText (_digits select 3);
|
|
||||||
|
|
||||||
_time = time;
|
|
||||||
};
|
|
||||||
!(AGM_vectorKey select 1)
|
|
||||||
};
|
|
||||||
_ctrlDigit5 ctrlSetText "";
|
|
||||||
_ctrlDigit6 ctrlSetText "";
|
|
||||||
_ctrlDigit7 ctrlSetText "";
|
|
||||||
_ctrlDigit8 ctrlSetText "";
|
|
||||||
AGM_Vector_scriptHandle = 0 spawn AGM_Vector_fnc_modeRelativeAzimuthDistance;
|
|
||||||
};
|
|
||||||
_ctrlVectorCenter ctrlShow false;
|
|
||||||
|
|
||||||
AGM_isVectorReady = true;
|
|
@ -1,84 +0,0 @@
|
|||||||
// by commy2
|
|
||||||
#include "script_component.hpp"
|
|
||||||
|
|
||||||
private["_dlgVector", "_ctrlVectorCenter", "_ctrlDigit1", "_ctrlDigit2", "_ctrlDigit3", "_ctrlDigit4", "_ctrlDigit5", "_ctrlDigit6", "_ctrlDigit7", "_ctrlDigit8", "_exit", "_time", "_direction", "_azimuth", "_inclination", "_digits"];
|
|
||||||
|
|
||||||
disableSerialization;
|
|
||||||
_dlgVector = uiNamespace getVariable "AGM_dlgVector";
|
|
||||||
_ctrlVectorCenter = _dlgVector displayCtrl 1;
|
|
||||||
_ctrlDigit1 = _dlgVector displayCtrl 11;
|
|
||||||
_ctrlDigit2 = _dlgVector displayCtrl 12;
|
|
||||||
_ctrlDigit3 = _dlgVector displayCtrl 13;
|
|
||||||
_ctrlDigit4 = _dlgVector displayCtrl 14;
|
|
||||||
_ctrlDigit5 = _dlgVector displayCtrl 15;
|
|
||||||
_ctrlDigit6 = _dlgVector displayCtrl 16;
|
|
||||||
_ctrlDigit7 = _dlgVector displayCtrl 17;
|
|
||||||
_ctrlDigit8 = _dlgVector displayCtrl 18;
|
|
||||||
|
|
||||||
_ctrlVectorCenter ctrlSetText "\AGM_Vector\rsc\Vector_Center.paa";
|
|
||||||
|
|
||||||
_time = -1;
|
|
||||||
_exit = false;
|
|
||||||
waitUntil {
|
|
||||||
if (time > _time + 0.5) then {
|
|
||||||
_direction = call AGM_Vector_fnc_getDirection;
|
|
||||||
_azimuth = _direction select 0;
|
|
||||||
_inclination = _direction select 1;
|
|
||||||
|
|
||||||
_digits = _azimuth call AGM_Vector_fnc_convertDegree;
|
|
||||||
_ctrlDigit5 ctrlSetText (_digits select 0);
|
|
||||||
_ctrlDigit6 ctrlSetText (_digits select 1);
|
|
||||||
_ctrlDigit7 ctrlSetText (_digits select 2);
|
|
||||||
_ctrlDigit8 ctrlSetText (_digits select 3);
|
|
||||||
|
|
||||||
if (_inclination > 45 || {_inclination < -45}) then {_inclination = -9999};
|
|
||||||
|
|
||||||
_digits = _inclination call AGM_Vector_fnc_convertDegree;
|
|
||||||
_ctrlDigit1 ctrlSetText (_digits select 0);
|
|
||||||
_ctrlDigit2 ctrlSetText (_digits select 1);
|
|
||||||
_ctrlDigit3 ctrlSetText (_digits select 2);
|
|
||||||
_ctrlDigit4 ctrlSetText (_digits select 3);
|
|
||||||
|
|
||||||
_time = time;
|
|
||||||
};
|
|
||||||
if (AGM_vectorKey select 1) then {_exit = true};
|
|
||||||
!(AGM_vectorKey select 0) || {_exit}
|
|
||||||
};
|
|
||||||
if (_exit) exitWith {
|
|
||||||
waitUntil {
|
|
||||||
if (time > _time + 0.5) then {
|
|
||||||
_direction = call AGM_Vector_fnc_getDirection;
|
|
||||||
_azimuth = _direction select 0;
|
|
||||||
_inclination = _direction select 1;
|
|
||||||
|
|
||||||
_digits = _azimuth call AGM_Vector_fnc_convertDegree;
|
|
||||||
_ctrlDigit5 ctrlSetText (_digits select 0);
|
|
||||||
_ctrlDigit6 ctrlSetText (_digits select 1);
|
|
||||||
_ctrlDigit7 ctrlSetText (_digits select 2);
|
|
||||||
_ctrlDigit8 ctrlSetText (_digits select 3);
|
|
||||||
|
|
||||||
if (_inclination > 45 || {_inclination < -45}) then {_inclination = -9999};
|
|
||||||
|
|
||||||
_digits = _inclination call AGM_Vector_fnc_convertDegree;
|
|
||||||
_ctrlDigit1 ctrlSetText (_digits select 0);
|
|
||||||
_ctrlDigit2 ctrlSetText (_digits select 1);
|
|
||||||
_ctrlDigit3 ctrlSetText (_digits select 2);
|
|
||||||
_ctrlDigit4 ctrlSetText (_digits select 3);
|
|
||||||
|
|
||||||
_time = time;
|
|
||||||
};
|
|
||||||
!(AGM_vectorKey select 1)
|
|
||||||
};
|
|
||||||
_ctrlDigit1 ctrlSetText "";
|
|
||||||
_ctrlDigit2 ctrlSetText "";
|
|
||||||
_ctrlDigit3 ctrlSetText "";
|
|
||||||
_ctrlDigit4 ctrlSetText "";
|
|
||||||
_ctrlDigit5 ctrlSetText "";
|
|
||||||
_ctrlDigit6 ctrlSetText "";
|
|
||||||
_ctrlDigit7 ctrlSetText "";
|
|
||||||
_ctrlDigit8 ctrlSetText "";
|
|
||||||
AGM_Vector_scriptHandle = 0 spawn AGM_Vector_fnc_modeFallOfShort;
|
|
||||||
};
|
|
||||||
_ctrlVectorCenter ctrlShow false;
|
|
||||||
|
|
||||||
AGM_isVectorReady = true;
|
|
@ -1,40 +0,0 @@
|
|||||||
// by commy2
|
|
||||||
#include "script_component.hpp"
|
|
||||||
|
|
||||||
private["_dlgVector", "_ctrlVectorCenter", "_ctrlDigit1", "_ctrlDigit2", "_ctrlDigit3", "_ctrlDigit4", "_ctrlDigit5", "_ctrlDigit6", "_ctrlDigit7", "_ctrlDigit8", "_exit", "_distance", "_digits"];
|
|
||||||
|
|
||||||
disableSerialization;
|
|
||||||
_dlgVector = uiNamespace getVariable "AGM_dlgVector";
|
|
||||||
_ctrlVectorCenter = _dlgVector displayCtrl 1;
|
|
||||||
_ctrlDigit1 = _dlgVector displayCtrl 11;
|
|
||||||
_ctrlDigit2 = _dlgVector displayCtrl 12;
|
|
||||||
_ctrlDigit3 = _dlgVector displayCtrl 13;
|
|
||||||
_ctrlDigit4 = _dlgVector displayCtrl 14;
|
|
||||||
_ctrlDigit5 = _dlgVector displayCtrl 15;
|
|
||||||
_ctrlDigit6 = _dlgVector displayCtrl 16;
|
|
||||||
_ctrlDigit7 = _dlgVector displayCtrl 17;
|
|
||||||
_ctrlDigit8 = _dlgVector displayCtrl 18;
|
|
||||||
|
|
||||||
_ctrlVectorCenter ctrlSetText "\AGM_Vector\rsc\Vector_Center.paa";
|
|
||||||
|
|
||||||
_exit = false;
|
|
||||||
waitUntil {
|
|
||||||
if (AGM_vectorKey select 0) then {_exit = true};
|
|
||||||
!(AGM_vectorKey select 1) || {_exit}
|
|
||||||
};
|
|
||||||
if (_exit) exitWith {
|
|
||||||
waitUntil {!(AGM_vectorKey select 0)};
|
|
||||||
AGM_Vector_scriptHandle = 0 spawn AGM_Vector_fnc_modeRelativeDistance;
|
|
||||||
};
|
|
||||||
|
|
||||||
_distance = call AGM_Vector_fnc_getDistance;
|
|
||||||
|
|
||||||
_digits = _distance call AGM_Vector_fnc_convertDistance;
|
|
||||||
_ctrlDigit1 ctrlSetText (_digits select 0);
|
|
||||||
_ctrlDigit2 ctrlSetText (_digits select 1);
|
|
||||||
_ctrlDigit3 ctrlSetText (_digits select 2);
|
|
||||||
_ctrlDigit4 ctrlSetText (_digits select 3);
|
|
||||||
|
|
||||||
_ctrlVectorCenter ctrlShow false;
|
|
||||||
|
|
||||||
AGM_isVectorReady = true;
|
|
34
addons/vector/functions/fnc_onKeyDown.sqf
Normal file
34
addons/vector/functions/fnc_onKeyDown.sqf
Normal file
@ -0,0 +1,34 @@
|
|||||||
|
/*
|
||||||
|
|
||||||
|
by commy2
|
||||||
|
|
||||||
|
Handles pressing the special vector keys.
|
||||||
|
|
||||||
|
*/
|
||||||
|
#include "script_component.hpp"
|
||||||
|
|
||||||
|
switch (_this select 0) do {
|
||||||
|
case ("azimuth"): {
|
||||||
|
if (diag_tickTime > GVAR(keyDownTimeDistance) + 0.5) then {
|
||||||
|
GVAR(isKeyDownDistance) = false; // emulate key release
|
||||||
|
["distance"] call FUNC(clearDisplay);
|
||||||
|
};
|
||||||
|
|
||||||
|
GVAR(isKeyDownAzimuth) = true;
|
||||||
|
GVAR(keyDownTimeAzimuth) = diag_tickTime;
|
||||||
|
|
||||||
|
[FUNC(onKeyHold), 0, "azimuth"] call CBA_fnc_addPerFrameHandler;
|
||||||
|
};
|
||||||
|
|
||||||
|
case ("distance"): {
|
||||||
|
if (diag_tickTime > GVAR(keyDownTimeAzimuth) + 0.5) then {
|
||||||
|
GVAR(isKeyDownAzimuth) = false; // emulate key release
|
||||||
|
["azimuth"] call FUNC(clearDisplay);
|
||||||
|
};
|
||||||
|
|
||||||
|
GVAR(isKeyDownDistance) = true;
|
||||||
|
GVAR(keyDownTimeDistance) = diag_tickTime;
|
||||||
|
|
||||||
|
[FUNC(onKeyHold), 0, "distance"] call CBA_fnc_addPerFrameHandler;
|
||||||
|
};
|
||||||
|
};
|
39
addons/vector/functions/fnc_onKeyHold.sqf
Normal file
39
addons/vector/functions/fnc_onKeyHold.sqf
Normal file
@ -0,0 +1,39 @@
|
|||||||
|
/*
|
||||||
|
|
||||||
|
by commy2
|
||||||
|
|
||||||
|
PFH executed while holding a vector key down.
|
||||||
|
|
||||||
|
*/
|
||||||
|
#include "script_component.hpp"
|
||||||
|
|
||||||
|
switch (_this select 0) do {
|
||||||
|
case ("azimuth"): {
|
||||||
|
|
||||||
|
if (diag_tickTime > GVAR(keyDownTimeAzimuth) + 0.5) then {
|
||||||
|
call FUNC(showAzimuth);
|
||||||
|
};
|
||||||
|
|
||||||
|
if (!GVAR(isKeyDownAzimuth)) then {
|
||||||
|
[_this select 1] call CBA_fnc_removePerFrameHandler;
|
||||||
|
};
|
||||||
|
|
||||||
|
};
|
||||||
|
|
||||||
|
case ("distance"): {
|
||||||
|
|
||||||
|
private "_isReady";
|
||||||
|
_isReady = diag_tickTime > GVAR(keyDownTimeDistance) + 0.5;
|
||||||
|
|
||||||
|
[_isReady] call FUNC(showCenter);
|
||||||
|
|
||||||
|
if (!GVAR(isKeyDownDistance)) then {
|
||||||
|
if (_isReady) then {
|
||||||
|
call FUNC(showDistance);
|
||||||
|
};
|
||||||
|
|
||||||
|
[_this select 1] call CBA_fnc_removePerFrameHandler;
|
||||||
|
};
|
||||||
|
|
||||||
|
};
|
||||||
|
};
|
22
addons/vector/functions/fnc_onKeyUp.sqf
Normal file
22
addons/vector/functions/fnc_onKeyUp.sqf
Normal file
@ -0,0 +1,22 @@
|
|||||||
|
/*
|
||||||
|
|
||||||
|
by commy2
|
||||||
|
|
||||||
|
Handles releasing the special vector keys.
|
||||||
|
|
||||||
|
*/
|
||||||
|
#include "script_component.hpp"
|
||||||
|
|
||||||
|
switch (_this select 0) do {
|
||||||
|
case ("azimuth"): {
|
||||||
|
|
||||||
|
GVAR(isKeyDownAzimuth) = false;
|
||||||
|
|
||||||
|
};
|
||||||
|
|
||||||
|
case ("distance"): {
|
||||||
|
|
||||||
|
GVAR(isKeyDownDistance) = false;
|
||||||
|
|
||||||
|
};
|
||||||
|
};
|
23
addons/vector/functions/fnc_showAzimuth.sqf
Normal file
23
addons/vector/functions/fnc_showAzimuth.sqf
Normal file
@ -0,0 +1,23 @@
|
|||||||
|
// by commy2
|
||||||
|
#include "script_component.hpp"
|
||||||
|
|
||||||
|
private ["_dlgVector", "_ctrlDigit5", "_ctrlDigit6", "_ctrlDigit7", "_ctrlDigit8"];
|
||||||
|
|
||||||
|
disableSerialization;
|
||||||
|
_dlgVector = GETUVAR(ACE_dlgVector,displayNull);
|
||||||
|
|
||||||
|
_ctrlDigit5 = _dlgVector displayCtrl 1315;
|
||||||
|
_ctrlDigit6 = _dlgVector displayCtrl 1316;
|
||||||
|
_ctrlDigit7 = _dlgVector displayCtrl 1317;
|
||||||
|
_ctrlDigit8 = _dlgVector displayCtrl 1318;
|
||||||
|
|
||||||
|
private ["_direction", "_digits"];
|
||||||
|
|
||||||
|
_direction = call FUNC(getDirection);
|
||||||
|
|
||||||
|
_digits = _direction call FUNC(convertToTexturesDegree);
|
||||||
|
|
||||||
|
_ctrlDigit5 ctrlSetText (_digits select 0);
|
||||||
|
_ctrlDigit6 ctrlSetText (_digits select 1);
|
||||||
|
_ctrlDigit7 ctrlSetText (_digits select 2);
|
||||||
|
_ctrlDigit8 ctrlSetText (_digits select 3);
|
10
addons/vector/functions/fnc_showCenter.sqf
Normal file
10
addons/vector/functions/fnc_showCenter.sqf
Normal file
@ -0,0 +1,10 @@
|
|||||||
|
/*
|
||||||
|
|
||||||
|
by commy2
|
||||||
|
|
||||||
|
Shows or hides the vectors center square thingy.
|
||||||
|
|
||||||
|
*/
|
||||||
|
#include "script_component.hpp"
|
||||||
|
|
||||||
|
((GETUVAR(ACE_dlgVector,displayNull)) displayCtrl 1301) ctrlSetText (["", QUOTE(PATHTOF(rsc\vector_center.paa))] select (_this select 0));
|
23
addons/vector/functions/fnc_showDistance.sqf
Normal file
23
addons/vector/functions/fnc_showDistance.sqf
Normal file
@ -0,0 +1,23 @@
|
|||||||
|
// by commy2
|
||||||
|
#include "script_component.hpp"
|
||||||
|
|
||||||
|
private ["_dlgVector", "_ctrlDigit1", "_ctrlDigit2", "_ctrlDigit3", "_ctrlDigit4"];
|
||||||
|
|
||||||
|
disableSerialization;
|
||||||
|
_dlgVector = GETUVAR(ACE_dlgVector,displayNull);
|
||||||
|
|
||||||
|
_ctrlDigit1 = _dlgVector displayCtrl 1311;
|
||||||
|
_ctrlDigit2 = _dlgVector displayCtrl 1312;
|
||||||
|
_ctrlDigit3 = _dlgVector displayCtrl 1313;
|
||||||
|
_ctrlDigit4 = _dlgVector displayCtrl 1314;
|
||||||
|
|
||||||
|
private ["_distance", "_digits"];
|
||||||
|
|
||||||
|
_distance = call FUNC(getDistance);
|
||||||
|
|
||||||
|
_digits = [_distance] call FUNC(convertToTexturesDistance);
|
||||||
|
|
||||||
|
_ctrlDigit1 ctrlSetText (_digits select 0);
|
||||||
|
_ctrlDigit2 ctrlSetText (_digits select 1);
|
||||||
|
_ctrlDigit3 ctrlSetText (_digits select 2);
|
||||||
|
_ctrlDigit4 ctrlSetText (_digits select 3);
|
Loading…
Reference in New Issue
Block a user