try to port that vector

This commit is contained in:
commy2
2015-01-14 07:24:17 +01:00
parent ece2456773
commit 5636721717
75 changed files with 328 additions and 364 deletions

View File

@ -0,0 +1 @@
z\ace\addons\vector

View File

@ -0,0 +1,12 @@
class Extended_PreInit_EventHandlers {
class ADDON {
init = QUOTE(call COMPILE_FILE(XEH_preInit));
};
};
class Extended_PostInit_EventHandlers {
class ADDON {
init = QUOTE(call COMPILE_FILE(XEH_postInit));
};
};

View File

@ -0,0 +1,26 @@
#define MACRO_ADDWEAPON(WEAPON,COUNT) class _xx_##WEAPON { \
weapon = #WEAPON; \
count = COUNT; \
}
class CfgVehicles {
class Item_Base_F;
class ACE_Item_Vector: Item_Base_F {
author = "$STR_ACE_Common_ACETeam";
scope = 2;
scopeCurator = 2;
displayName = "$STR_ACE_Vector_VectorName";
vehicleClass = "Items";
class TransportWeapons {
MACRO_ADDWEAPON(ACE_Vector,1);
};
};
class Box_NATO_Support_F;
class ACE_Box_Misc: Box_NATO_Support_F {
class TransportWeapons {
MACRO_ADDWEAPON(ACE_Vector,6);
};
};
};

View File

@ -0,0 +1,16 @@
class CfgWeapons {
class Binocular;
class ACE_Vector: Binocular {
author = "$STR_ACE_Common_ACETeam";
displayName = "$STR_ACE_Vector_VectorName";
descriptionShort = "$STR_ACE_Vector_VectorDescription";
model = PATHTOF(ace_vector.p3d);
modelOptics = PATHTOF(ace_vector_optics.p3d);
picture = PATHTOF(UI\ace_vector_x_ca.paa);
visionMode[] = {"Normal","NVG"};
opticsZoomMax = 0.03;
opticsZoomMin = 0.03;
weaponInfoType = "ACE_RscOptics_vector";
};
};

View File

@ -0,0 +1,165 @@
class RscText;
class RscPicture;
//class ScrollBar;
class RscControlsGroup {
class VScrollbar;//: ScrollBar {};
class HScrollbar;//: ScrollBar {};
};
class RscInGameUI {
class 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];";
onUnload = "[""onUnload"",_this,""RscUnitInfo"",'IGUI'] call compile preprocessfilelinenumbers ""A3\ui_f\scripts\initDisplay.sqf""";
idd = 300;
controls[] = {"CA_Distance","CA_Heading","CA_OpticsPitch","CA_Elev","CA_OpticsZoom","CA_VisionMode","ACE_ScriptedDisplayControlsGroup"};
class CA_Distance: RscText {
idc = 151; // distance
w = 0;
h = 0;
};
class CA_Heading: RscText {
idc = 156; // azimuth
w = 0;
h = 0;
};
class CA_OpticsPitch: RscText {
idc = 182; // inclination
w = 0;
h = 0;
};
class CA_Elev: RscText {
idc = 175; // inclination, more accurate
w = 0;
h = 0;
};
class CA_OpticsZoom: RscText {
idc = 180; // some kind of zoom
w = 0;
h = 0;
};
class CA_VisionMode: RscText {
idc = 179; // ???
w = 0;
h = 0;
};
class ACE_ScriptedDisplayControlsGroup: RscControlsGroup {
idc = 170;
x = "SafezoneX";
y = "SafezoneY";
w = "SafezoneW";
h = "SafezoneH";
class VScrollbar: VScrollbar {
width = 0;
};
class HScrollbar: HScrollbar {
height = 0;
};
class controls {
class Center: RscPicture {
idc = 1301;
text = "";
colorText[] = {1,0,0,0.5};
x = 0.488 * safezoneW /*+ safezoneX*/;
y = 0.4783 * safezoneH /*+ safezoneY*/;
w = 0.4 / 16 * safezoneW;
h = 0.4 / 9 * safezoneH;
};
class Crosshair: Center {
idc = 1302;
x = 0.4848 * safezoneW /*+ safezoneX*/;
y = 0.4732 * safezoneH /*+ safezoneY*/;
w = 0.5 / 16 * safezoneW;
h = 0.5 / 9 * safezoneH;
};
class Digit0: Center {
idc = 1310;
x = (0.54 + 0 * 0.02) * safezoneW /*+ safezoneX*/;
y = 0.54 * safezoneH /*+ safezoneY*/;
w = 0.5 / 16 * safezoneW;
h = 0.5 / 9 * safezoneH;
};
class Digit1: Digit0 {
idc = 1311;
x = (0.54 + 1 * 0.02) * safezoneW /*+ safezoneX*/;
};
class Digit2: Digit0 {
idc = 1312;
x = (0.54 + 2 * 0.02) * safezoneW /*+ safezoneX*/;
};
class Digit3: Digit0 {
idc = 1313;
x = (0.54 + 3 * 0.02) * safezoneW /*+ safezoneX*/;
};
class Digit4: Digit0 {
idc = 1314;
x = (0.54 + 4 * 0.02) * safezoneW /*+ safezoneX*/;
};
class Digit5: Digit0 {
idc = 1315;
x = (0.35 + 0 * 0.02) * safezoneW /*+ safezoneX*/;
};
class Digit6: Digit0 {
idc = 1316;
x = (0.35 + 1 * 0.02) * safezoneW /*+ safezoneX*/;
};
class Digit7: Digit0 {
idc = 1317;
x = (0.35 + 2 * 0.02) * safezoneW /*+ safezoneX*/;
};
class Digit8: Digit0 {
idc = 1318;
x = (0.35 + 3 * 0.02) * safezoneW /*+ safezoneX*/;
};
class Digit9: Digit0 {
idc = 1319;
x = (0.35 + 4 * 0.02) * safezoneW /*+ safezoneX*/;
};
class DigitE1: Digit0 {
idc = 1321;
x = (0.39 + 0 * 0.02) * safezoneW /*+ safezoneX*/;
y = 0.42 * safezoneH /*+ safezoneY*/;
};
class DigitE2: DigitE1 {
idc = 1322;
x = (0.39 + 1 * 0.02) * safezoneW /*+ safezoneX*/;
};
class DigitE3: DigitE1 {
idc = 1323;
x = (0.39 + 2 * 0.02) * safezoneW /*+ safezoneX*/;
};
class DigitE4: DigitE1 {
idc = 1324;
x = (0.39 + 3 * 0.02) * safezoneW /*+ safezoneX*/;
};
};
};
};
};

Binary file not shown.

View File

@ -0,0 +1,13 @@
// by commy2
/*player setVariable ["AGM_cooldownVector", 0, false];
AGM_isVectorReady = true;
AGM_vectorKey = [false, false];
AGM_vectorConfig = [0, 0];
AGM_vectorSettings = [false, false, false, false];
0 spawn {
waitUntil {preloadTitleRsc ["AGM_Digit_Preload", "PLAIN"]};
waitUntil {preloadTitleRsc ["AGM_Debug_Crosshair", "PLAIN"]};
};*/

View File

@ -0,0 +1,21 @@
#include "script_component.hpp"
PREP(abort);
PREP(config);
PREP(convertDegree);
PREP(convertDistance);
PREP(convertFOS);
PREP(getDirection);
PREP(getDistance);
PREP(modeAzimuth);
PREP(modeAzimuthInclination);
PREP(modeDistance);
PREP(modeDistanceAzimuth);
PREP(modeDistanceHeight);
PREP(modeFallOfShort);
PREP(modeRelativeAzimuthDistance);
PREP(modeRelativeDistance);
PREP(modeRelativeDistanceHeight);
PREP(settings);
PREP(tabAzimuthKey);
PREP(tabDistanceKey);

Binary file not shown.

Binary file not shown.

44
addons/vector/config.cpp Normal file
View File

@ -0,0 +1,44 @@
#include "script_component.hpp"
class CfgPatches {
class ADDON {
units[] = {"AGM_Item_Vector"};
weapons[] = {"AGM_Vector"};
requiredVersion = REQUIRED_VERSION;
requiredAddons[] = {"ace_common"};
author[] = {"Ghost","Hamburger SV","commy2","bux578"};
authorUrl = "https://github.com/commy2/";
VERSION_CONFIG;
};
};
#include "CfgEventHandlers.hpp"
#include "CfgVehicles.hpp"
#include "CfgWeapons.hpp"
/*class AGM_Default_Keys {
class vectorAzimuth {
displayName = "$STR_AGM_Vector_AzimuthKey";
condition = "currentWeapon player == 'AGM_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;};";
conditionUp = "true";
statementUp = "AGM_vectorKey set [0, false];";
key = 15;
shift = 0;
control = 0;
alt = 0;
};
class vectorDistance {
displayName = "$STR_AGM_Vector_DistanceKey";
condition = "currentWeapon player == 'AGM_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;};";
conditionUp = "true";
statementUp = "AGM_vectorKey set [1, false];";
key = 19;
shift = 0;
control = 0;
alt = 0;
};
};*/
#include "RscInGameUI.hpp"

Binary file not shown.

View File

@ -0,0 +1,82 @@
class StageTI {
texture="#(argb,8,8,3)color(1,0.25,0,0,ti)";
};
ambient[]={1,1,1,1};
diffuse[]={1,1,1,1};
forcedDiffuse[]={0,0,0,0};
emmisive[]={0,0,0,1};
specular[]={0.1,0.1,0.1,1}; //amount of glossiness - the higher the number, the higher the glossiness
specularPower=100; //area of glossiness - the higher the number, the smaller the area
PixelShaderID="Super";
VertexShaderID="Super";
class Stage1 {
texture="AGM_Vector\data\agm_vector_nohq.paa";
uvSource="tex";
class uvTransform {
aside[]={1,0,0};
up[]={0,1,0};
dir[]={0,0,0};
pos[]={0,0,0};
};
};
class Stage2 {
texture="#(argb,8,8,3)color(0.5,0.5,0.5,1,dt)";
uvSource="tex";
class uvTransform {
aside[]={1,0,0};
up[]={0,1,0};
dir[]={0,0,0};
pos[]={0,0,0};
};
};
class Stage3 {
texture="#(argb,8,8,3)color(0,0,0,0,mc)";
uvSource="tex";
class uvTransform {
aside[]={1,0,0};
up[]={0,1,0};
dir[]={0,0,0};
pos[]={0,0,0};
};
};
class Stage4 {
texture="AGM_Vector\data\agm_default_as.paa";
uvSource="tex";
class uvTransform {
aside[]={1,0,0};
up[]={0,1,0};
dir[]={0,0,1};
pos[]={0,0,1};
};
};
class Stage5 {
texture="AGM_Vector\data\agm_vector_smdi.paa";
uvSource="tex";
class uvTransform {
aside[]={1,0,0};
up[]={0,1,0};
dir[]={0,0,0};
pos[]={0,0,0};
};
};
class Stage6 {
texture="#(ai,64,64,1)fresnel(4.7,1.2)";
uvSource="tex";
class uvTransform {
aside[]={1,0,0};
up[]={0,1,0};
dir[]={0,0,1};
pos[]={0,0,0};
};
};
class Stage7 {
texture="a3\data_f\env_land_ca.paa";
uvSource="tex";
class uvTransform {
aside[]={1,0,0};
up[]={0,1,0};
dir[]={0,0,1};
pos[]={0,0,0};
};
};

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

View File

@ -0,0 +1,50 @@
// by commy2
#include "script_component.hpp"
private["_dlgVector", "_ctrlVectorCenter", "_ctrlVectorCrosshair", "_ctrlDigit0", "_ctrlDigit1", "_ctrlDigit2", "_ctrlDigit3", "_ctrlDigit4", "_ctrlDigit5", "_ctrlDigit6", "_ctrlDigit7", "_ctrlDigit8", "_ctrlDigit9", "_ctrlDigitE1", "_ctrlDigitE2", "_ctrlDigitE3", "_ctrlDigitE4", "_allControls"];
waitUntil {currentWeapon player != "AGM_Vector" || {cameraView != "Gunner"}};
terminate AGM_Vector_scriptHandle;
disableSerialization;
_dlgVector = uiNamespace getVariable "AGM_dlgVector";
_ctrlVectorCenter = _dlgVector displayCtrl 1;
_ctrlVectorCrosshair = _dlgVector displayCtrl 2;
_ctrlDigit0 = _dlgVector displayCtrl 10;
_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;
_ctrlDigit9 = _dlgVector displayCtrl 19;
_ctrlDigitE1 = _dlgVector displayCtrl 21;
_ctrlDigitE2 = _dlgVector displayCtrl 22;
_ctrlDigitE3 = _dlgVector displayCtrl 23;
_ctrlDigitE4 = _dlgVector displayCtrl 24;
_allControls = [
_ctrlVectorCenter,
_ctrlVectorCrosshair,
_ctrlDigit0,
_ctrlDigit1,
_ctrlDigit2,
_ctrlDigit3,
_ctrlDigit4,
_ctrlDigit5,
_ctrlDigit6,
_ctrlDigit7,
_ctrlDigit8,
_ctrlDigit9,
_ctrlDigitE1,
_ctrlDigitE2,
_ctrlDigitE3,
_ctrlDigitE4
];
{_x ctrlShow false} forEach _allControls;
AGM_isVectorReady = true;

View File

@ -0,0 +1,214 @@
// by commy2
#include "script_component.hpp"
private["_dlgVector", "_ctrlVectorCenter", "_ctrlVectorCrosshair", "_ctrlDigit0", "_ctrlDigit1", "_ctrlDigit2", "_ctrlDigit3", "_ctrlDigit4", "_ctrlDigit5", "_ctrlDigit6", "_ctrlDigit7", "_ctrlDigit8", "_ctrlDigit9", "_ctrlDigitE1", "_ctrlDigitE2", "_ctrlDigitE3", "_ctrlDigitE4", "_allControls", "_isReticle", "_isNVG", "_time", "_theCount"];
disableSerialization;
_dlgVector = uiNamespace getVariable "AGM_dlgVector";
_ctrlVectorCenter = _dlgVector displayCtrl 1;
_ctrlVectorCrosshair = _dlgVector displayCtrl 2;
_ctrlDigit0 = _dlgVector displayCtrl 10;
_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;
_ctrlDigit9 = _dlgVector displayCtrl 19;
_ctrlDigitE1 = _dlgVector displayCtrl 21;
_ctrlDigitE2 = _dlgVector displayCtrl 22;
_ctrlDigitE3 = _dlgVector displayCtrl 23;
_ctrlDigitE4 = _dlgVector displayCtrl 24;
_allControls = [
_ctrlVectorCenter,
_ctrlVectorCrosshair,
_ctrlDigit0,
_ctrlDigit1,
_ctrlDigit2,
_ctrlDigit3,
_ctrlDigit4,
_ctrlDigit5,
_ctrlDigit6,
_ctrlDigit7,
_ctrlDigit8,
_ctrlDigit9,
_ctrlDigitE1,
_ctrlDigitE2,
_ctrlDigitE3,
_ctrlDigitE4
];
_ctrlDigit7 ctrlSetText "\AGM_Vector\rsc\dC.paa";
_ctrlDigit8 ctrlSetText "\AGM_Vector\rsc\dq.paa";
_ctrlDigit9 ctrlSetText "\AGM_Vector\rsc\dn.paa";
_ctrlDigit0 ctrlSetText "\AGM_Vector\rsc\dF.paa";
_ctrlDigit1 ctrlSetText "\AGM_Vector\rsc\di.paa";
_ctrlDigit2 ctrlSetText "\AGM_Vector\rsc\dG.paa";
sleep 2;
{_x ctrlSetText ""} forEach [
_ctrlDigit7,
_ctrlDigit8,
_ctrlDigit9,
_ctrlDigit0,
_ctrlDigit1,
_ctrlDigit2
];
_isReticle = AGM_vectorSettings select 0;
_isNVG = AGM_vectorSettings select 1;
if (_isReticle) then {
if (_isNVG) then {
_ctrlDigit6 ctrlSetText "\AGM_Vector\rsc\dn.paa";
_ctrlDigit7 ctrlSetText "\AGM_Vector\rsc\di.paa";
_ctrlDigit8 ctrlSetText "\AGM_Vector\rsc\dG.paa";
_ctrlDigit9 ctrlSetText "\AGM_Vector\rsc\dt.paa";
} else {
_ctrlDigit6 ctrlSetText "\AGM_Vector\rsc\dE.paa";
_ctrlDigit7 ctrlSetText "\AGM_Vector\rsc\dr.paa";
_ctrlDigit8 ctrlSetText "\AGM_Vector\rsc\dE.paa";
_ctrlDigit9 ctrlSetText "\AGM_Vector\rsc\dt.paa";
};
_ctrlDigit0 ctrlSetText "\AGM_Vector\rsc\dq.paa";
_ctrlDigit1 ctrlSetText "\AGM_Vector\rsc\dn.paa";
_ctrlDigit2 ctrlSetText "";
_ctrlDigit3 ctrlSetText "";
} else {
_ctrlDigit6 ctrlSetText "\AGM_Vector\rsc\dE.paa";
_ctrlDigit7 ctrlSetText "\AGM_Vector\rsc\dr.paa";
_ctrlDigit8 ctrlSetText "\AGM_Vector\rsc\dE.paa";
_ctrlDigit9 ctrlSetText "\AGM_Vector\rsc\dt.paa";
_ctrlDigit0 ctrlSetText "\AGM_Vector\rsc\dq.paa";
_ctrlDigit1 ctrlSetText "\AGM_Vector\rsc\dF.paa";
_ctrlDigit2 ctrlSetText "\AGM_Vector\rsc\dF.paa";
_ctrlDigit3 ctrlSetText "";
};
waitUntil {
if (AGM_vectorKey select 0) then {
waitUntil {
!(AGM_vectorKey select 0) || {AGM_vectorKey select 1}
};
if !(AGM_vectorKey select 1) then {
if (_isNVG) then {
_isReticle = false;
_isNVG = false;
} else {
if (_isReticle) then {
_isReticle = true;
_isNVG = true;
} else {
_isReticle = true;
_isNVG = false;
};
};
};
if (_isReticle) then {
if (_isNVG) then {
_ctrlDigit6 ctrlSetText "\AGM_Vector\rsc\dn.paa";
_ctrlDigit7 ctrlSetText "\AGM_Vector\rsc\di.paa";
_ctrlDigit8 ctrlSetText "\AGM_Vector\rsc\dG.paa";
_ctrlDigit9 ctrlSetText "\AGM_Vector\rsc\dt.paa";
} else {
_ctrlDigit6 ctrlSetText "\AGM_Vector\rsc\dE.paa";
_ctrlDigit7 ctrlSetText "\AGM_Vector\rsc\dr.paa";
_ctrlDigit8 ctrlSetText "\AGM_Vector\rsc\dE.paa";
_ctrlDigit9 ctrlSetText "\AGM_Vector\rsc\dt.paa";
};
_ctrlDigit0 ctrlSetText "\AGM_Vector\rsc\dq.paa";
_ctrlDigit1 ctrlSetText "\AGM_Vector\rsc\dn.paa";
_ctrlDigit2 ctrlSetText "";
_ctrlDigit3 ctrlSetText "";
} else {
_ctrlDigit6 ctrlSetText "\AGM_Vector\rsc\dE.paa";
_ctrlDigit7 ctrlSetText "\AGM_Vector\rsc\dr.paa";
_ctrlDigit8 ctrlSetText "\AGM_Vector\rsc\dE.paa";
_ctrlDigit9 ctrlSetText "\AGM_Vector\rsc\dt.paa";
_ctrlDigit0 ctrlSetText "\AGM_Vector\rsc\dq.paa";
_ctrlDigit1 ctrlSetText "\AGM_Vector\rsc\dF.paa";
_ctrlDigit2 ctrlSetText "\AGM_Vector\rsc\dF.paa";
_ctrlDigit3 ctrlSetText "";
};
};
AGM_vectorKey select 1
};
_time = time;
waitUntil {
if (AGM_vectorKey select 0) then {_time = -1};
!(AGM_vectorKey select 1) || {time > _time + 1}
};
_theCount = 1;
waitUntil {
if (AGM_vectorKey select 1) then {
_theCount = _theCount + 1;
_time = time;
waitUntil {!(AGM_vectorKey select 1) || {time > _time + 1}};
};
if (AGM_vectorKey select 0) then {_time = -1};
time > _time + 1 || {_theCount >= 5}
};
if (_theCount >= 5) then {
_ctrlDigitE1 ctrlSetText "\AGM_Vector\rsc\d5.paa";
_ctrlDigitE2 ctrlSetText "\AGM_Vector\rsc\dt.paa";
_ctrlDigitE3 ctrlSetText "\AGM_Vector\rsc\dq.paa";
_ctrlDigitE4 ctrlSetText "\AGM_Vector\rsc\dr.paa";
AGM_vectorSettings set [0, _isReticle];
AGM_vectorSettings set [1, _isNVG];
_ctrlVectorCrosshair ctrlShow (AGM_vectorSettings select 0);
if (AGM_vectorSettings select 1) then {
{_x ctrlSetTextColor [1, 0, 0, 1]} forEach _allControls;
} else {
{_x ctrlSetTextColor [1, 0, 0, 0.5]} forEach _allControls;
};
sleep 2;
{_x ctrlSetText ""} forEach [
_ctrlDigit6,
_ctrlDigit7,
_ctrlDigit8,
_ctrlDigit9,
_ctrlDigit0,
_ctrlDigit1,
_ctrlDigit2,
_ctrlDigit3,
_ctrlDigitE1,
_ctrlDigitE2,
_ctrlDigitE3,
_ctrlDigitE4
];
} else {
_ctrlDigit6 ctrlSetText "";
_ctrlDigit7 ctrlSetText "\AGM_Vector\rsc\d0.paa";
_ctrlDigit8 ctrlSetText "\AGM_Vector\rsc\d1.paa";
_ctrlDigit9 ctrlSetText "\AGM_Vector\rsc\dd.paa";
_ctrlDigit0 ctrlSetText "\AGM_Vector\rsc\dC.paa";
_ctrlDigit1 ctrlSetText "\AGM_Vector\rsc\dq.paa";
_ctrlDigit2 ctrlSetText "\AGM_Vector\rsc\dn.paa";
_ctrlDigit3 ctrlSetText "\AGM_Vector\rsc\dF.paa";
sleep 2;
{_x ctrlSetText ""} forEach [
_ctrlDigit7,
_ctrlDigit8,
_ctrlDigit9,
_ctrlDigit0,
_ctrlDigit1,
_ctrlDigit2,
_ctrlDigit3
];
};
AGM_isVectorReady = true;

View File

@ -0,0 +1,67 @@
/*
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

View File

@ -0,0 +1,85 @@
/*
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]

View File

@ -0,0 +1,226 @@
/*
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", "_coordinate", "_isNegative", "_digit0", "_digit1", "_digit2", "_digit3", "_digit4"];
_number = _this select 0;
_coordinate = _this select 1;
_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"
]
};
_digit0 = "";
_digit1 = floor (_number / 1000);
_digit2 = floor (_number / 100) - _digit1 * 10;
_digit3 = floor (_number / 10) - _digit1 * 100 - _digit2 * 10;
_digit4 = _number mod 10;
switch (_coordinate) do {
case 0 : {
if (_isNegative) then {
if (_digit1 == 0) then {
if (_digit2 == 0) then {
if (_digit3 == 0) then {
_digit0 = "\AGM_Vector\rsc\dd.paa";
_digit1 = "";
_digit2 = format["\AGM_Vector\rsc\d%1.paa", _digit4];
_digit3 = "";
_digit4 = "";
} else {
_digit0 = "\AGM_Vector\rsc\dd.paa";
_digit1 = "";
_digit2 = format["\AGM_Vector\rsc\d%1.paa", _digit3];
_digit3 = format["\AGM_Vector\rsc\d%1.paa", _digit4];
_digit4 = "";
};
} else {
_digit0 = "\AGM_Vector\rsc\dd.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];
};
} else {
_digit0 = "";
_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 {
_digit0 = "\AGM_Vector\rsc\dA.paa";
_digit1 = "";
_digit2 = format["\AGM_Vector\rsc\d%1.paa", _digit4];
_digit3 = "";
_digit4 = "";
} else {
_digit0 = "\AGM_Vector\rsc\dA.paa";
_digit1 = "";
_digit2 = format["\AGM_Vector\rsc\d%1.paa", _digit3];
_digit3 = format["\AGM_Vector\rsc\d%1.paa", _digit4];
_digit4 = "";
};
} else {
_digit0 = "\AGM_Vector\rsc\dA.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];
};
} else {
_digit0 = "";
_digit1 = "\AGM_Vector\rsc\d-.paa";
_digit2 = "\AGM_Vector\rsc\d-.paa";
_digit3 = "\AGM_Vector\rsc\d-.paa";
_digit4 = "\AGM_Vector\rsc\d-.paa";
};
};
};
case 1 : {
if (_isNegative) then {
if (_digit1 == 0) then {
if (_digit2 == 0) then {
if (_digit3 == 0) then {
_digit0 = "\AGM_Vector\rsc\dL.paa";
_digit1 = "";
_digit2 = format["\AGM_Vector\rsc\d%1.paa", _digit4];
_digit3 = "";
_digit4 = "";
} else {
_digit0 = "\AGM_Vector\rsc\dL.paa";
_digit1 = "";
_digit2 = format["\AGM_Vector\rsc\d%1.paa", _digit3];
_digit3 = format["\AGM_Vector\rsc\d%1.paa", _digit4];
_digit4 = "";
};
} else {
_digit0 = "\AGM_Vector\rsc\dL.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];
};
} else {
_digit0 = "";
_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 {
_digit0 = "\AGM_Vector\rsc\dr.paa";
_digit1 = "";
_digit2 = format["\AGM_Vector\rsc\d%1.paa", _digit4];
_digit3 = "";
_digit4 = "";
} else {
_digit0 = "\AGM_Vector\rsc\dr.paa";
_digit1 = "";
_digit2 = format["\AGM_Vector\rsc\d%1.paa", _digit3];
_digit3 = format["\AGM_Vector\rsc\d%1.paa", _digit4];
_digit4 = "";
};
} else {
_digit0 = "\AGM_Vector\rsc\dr.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];
};
} else {
_digit0 = "";
_digit1 = "\AGM_Vector\rsc\d-.paa";
_digit2 = "\AGM_Vector\rsc\d-.paa";
_digit3 = "\AGM_Vector\rsc\d-.paa";
_digit4 = "\AGM_Vector\rsc\d-.paa";
};
};
};
case 2 : {
if (_isNegative) then {
if (_digit1 == 0) then {
if (_digit2 == 0) then {
if (_digit3 == 0) then {
_digit0 = "\AGM_Vector\rsc\dU.paa";
_digit1 = "\AGM_Vector\rsc\dP.paa";
_digit2 = "";
_digit3 = format["\AGM_Vector\rsc\d%1.paa", _digit4];
_digit4 = "";
} else {
_digit0 = "\AGM_Vector\rsc\dU.paa";
_digit1 = "\AGM_Vector\rsc\dP.paa";
_digit2 = "";
_digit3 = format["\AGM_Vector\rsc\d%1.paa", _digit3];
_digit4 = format["\AGM_Vector\rsc\d%1.paa", _digit4];
};
} else {
_digit0 = "\AGM_Vector\rsc\dU.paa";
_digit1 = "\AGM_Vector\rsc\dP.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 {
_digit0 = "";
_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 {
_digit0 = "\AGM_Vector\rsc\dd.paa";
_digit1 = "\AGM_Vector\rsc\dn.paa";
_digit2 = "";
_digit3 = format["\AGM_Vector\rsc\d%1.paa", _digit4];
_digit4 = "";
} else {
_digit0 = "\AGM_Vector\rsc\dd.paa";
_digit1 = "\AGM_Vector\rsc\dn.paa";
_digit2 = "";
_digit3 = format["\AGM_Vector\rsc\d%1.paa", _digit3];
_digit4 = format["\AGM_Vector\rsc\d%1.paa", _digit4];
};
} else {
_digit0 = "\AGM_Vector\rsc\dd.paa";
_digit1 = "\AGM_Vector\rsc\dn.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 {
_digit0 = "";
_digit1 = "\AGM_Vector\rsc\d-.paa";
_digit2 = "\AGM_Vector\rsc\d-.paa";
_digit3 = "\AGM_Vector\rsc\d-.paa";
_digit4 = "\AGM_Vector\rsc\d-.paa";
};
};
};
};
[_digit0, _digit1, _digit2, _digit3, _digit4]

View File

@ -0,0 +1,12 @@
// by commy2
#include "script_component.hpp"
private "_dlgVectorOptics";
disableSerialization;
_dlgVectorOptics = uiNamespace getVariable ['AGM_dlgVectorOptics', displayNull];
[
round parseNumber ctrlText (_dlgVectorOptics displayCtrl 156),
round parseNumber ctrlText (_dlgVectorOptics displayCtrl 182)
]

View File

@ -0,0 +1,26 @@
// by commy2
#include "script_component.hpp"
#define MIN_DISTANCE 10
#define MAX_DISTANCE ([6000, 9000] select (AGM_vectorSettings select 3))
#define INTERVAL 2
private ["_dlgVectorOptics", "_distance"];
disableSerialization;
_dlgVectorOptics = uiNamespace getVariable ['AGM_dlgVectorOptics', displayNull];
_distance = ctrlText (_dlgVectorOptics displayCtrl 151);
if (_distance == "----") exitWith {-9999};
_distance = round parseNumber _distance;
if (AGM_vectorSettings select 3) then {
_distance = 3.28084 * _distance;
};
if (_distance > MAX_DISTANCE) exitWith {-9999};
if (_distance < MIN_DISTANCE) exitWith {-9999};
_distance

View File

@ -0,0 +1,62 @@
// 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;

View File

@ -0,0 +1,84 @@
// 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;

View File

@ -0,0 +1,40 @@
// 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;

View File

@ -0,0 +1,47 @@
// by commy2
#include "script_component.hpp"
private["_dlgVector", "_ctrlVectorCenter", "_ctrlDigit1", "_ctrlDigit2", "_ctrlDigit3", "_ctrlDigit4", "_ctrlDigit5", "_ctrlDigit6", "_ctrlDigit7", "_ctrlDigit8", "_time", "_direction", "_azimuth", "_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";
_time = -1;
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 0) && {!(AGM_vectorKey select 1)}
};
_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;

View File

@ -0,0 +1,56 @@
// by commy2
#include "script_component.hpp"
private["_dlgVector", "_ctrlVectorCenter", "_ctrlDigit1", "_ctrlDigit2", "_ctrlDigit3", "_ctrlDigit4", "_ctrlDigit5", "_ctrlDigit6", "_ctrlDigit7", "_ctrlDigit8", "_direction", "_azimuth", "_exit", "_distance", "_digits", "_inclination", "_height", "_lenght"];
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_modeRelativeDistanceHeight;
};
_distance = call AGM_Vector_fnc_getDistance;
_direction = call AGM_Vector_fnc_getDirection;
_azimuth = _direction select 0;
_inclination = _direction select 1;
_height = sin _inclination * _distance;
_lenght = cos _inclination * _distance;
if (_distance == -9999) then {
_height = -9999;
_lenght = -9999;
};
_digits = _height 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);
_digits = _lenght call AGM_Vector_fnc_convertDistance;
_ctrlDigit5 ctrlSetText (_digits select 0);
_ctrlDigit6 ctrlSetText (_digits select 1);
_ctrlDigit7 ctrlSetText (_digits select 2);
_ctrlDigit8 ctrlSetText (_digits select 3);
_ctrlVectorCenter ctrlShow false;
AGM_isVectorReady = true;

View File

@ -0,0 +1,104 @@
// by commy2
#include "script_component.hpp"
private["_dlgVector", "_ctrlVectorCenter", "_ctrlDigit1", "_ctrlDigit2", "_ctrlDigit3", "_ctrlDigit4", "_ctrlDigit5", "_ctrlDigit6", "_ctrlDigit7", "_ctrlDigit8", "_ctrlDigit9", "_ctrlDigitE1", "_ctrlDigitE2", "_ctrlDigitE3", "_distanceP1", "_directionP1", "_azimuthP1", "_inclinationP1", "_directionP2", "_azimuthP2", "_abscissa", "_ordinate", "_applicate", "_distanceP2", "_digits", "_inclinationP2", "_height", "_lenght", "_digits0", "_digits1", "_digits2"];
disableSerialization;
_dlgVector = uiNamespace getVariable "AGM_dlgVector";
_ctrlVectorCenter = _dlgVector displayCtrl 1;
_ctrlDigit0 = _dlgVector displayCtrl 10;
_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;
_ctrlDigit9 = _dlgVector displayCtrl 19;
_ctrlDigitE1 = _dlgVector displayCtrl 21;
_ctrlDigitE2 = _dlgVector displayCtrl 22;
_ctrlDigitE3 = _dlgVector displayCtrl 23;
_ctrlVectorCenter ctrlSetText "\AGM_Vector\rsc\Vector_Center.paa";
_distanceP1 = call AGM_Vector_fnc_getDistance;
_directionP1 = call AGM_Vector_fnc_getDirection;
_azimuthP1 = _directionP1 select 0;
_inclinationP1 = _directionP1 select 1;
_ctrlDigitE1 ctrlSetText "\AGM_Vector\rsc\d1.paa";
_ctrlDigitE2 ctrlSetText "\AGM_Vector\rsc\d-.paa";
_ctrlDigitE3 ctrlSetText "\AGM_Vector\rsc\dP.paa";
waitUntil {!(AGM_vectorKey select 0)};
_distanceP2 = call AGM_Vector_fnc_getDistance;
_directionP2 = call AGM_Vector_fnc_getDirection;
_azimuthP2 = _directionP2 select 0;
_inclinationP2 = _directionP2 select 1;
_abscissa = _distanceP1 * sin (_azimuthP1 - _azimuthP2);
_ordinate = _distanceP1 * cos (_inclinationP1 - _inclinationP2) - _distanceP2 * cos (_azimuthP1 - _azimuthP2);
_applicate = (sin _inclinationP2 * _distanceP2) - (sin _inclinationP1 * _distanceP1);
if (_distanceP1 == -9999 || {_distanceP2 == -9999}) then {
_abscissa = -9999;
_ordinate = -9999;
_applicate = -9999;
};
_digits0 = [_ordinate, 0] call AGM_Vector_fnc_convertFOS;
_digits1 = [_abscissa, 1] call AGM_Vector_fnc_convertFOS;
_digits2 = [_applicate, 2] call AGM_Vector_fnc_convertFOS;
_ctrlVectorCenter ctrlShow false;
_ctrlDigitE1 ctrlShow false;
_ctrlDigitE2 ctrlShow false;
_ctrlDigitE3 ctrlShow false;
waitUntil {
_ctrlDigit0 ctrlSetText (_digits0 select 0);
_ctrlDigit1 ctrlSetText (_digits0 select 1);
_ctrlDigit2 ctrlSetText (_digits0 select 2);
_ctrlDigit3 ctrlSetText (_digits0 select 3);
_ctrlDigit4 ctrlSetText (_digits0 select 4);
_ctrlDigit5 ctrlSetText (_digits1 select 0);
_ctrlDigit6 ctrlSetText (_digits1 select 1);
_ctrlDigit7 ctrlSetText (_digits1 select 2);
_ctrlDigit8 ctrlSetText (_digits1 select 3);
_ctrlDigit9 ctrlSetText (_digits1 select 4);
waitUntil {!(AGM_vectorKey select 1) || {AGM_vectorKey select 0}};
waitUntil {AGM_vectorKey select 1 || {AGM_vectorKey select 0}};
if !(AGM_vectorKey select 0) then {
_ctrlDigit0 ctrlSetText (_digits2 select 0);
_ctrlDigit1 ctrlSetText (_digits2 select 1);
_ctrlDigit2 ctrlSetText (_digits2 select 2);
_ctrlDigit3 ctrlSetText (_digits2 select 3);
_ctrlDigit4 ctrlSetText (_digits2 select 4);
_ctrlDigit5 ctrlSetText "";
_ctrlDigit6 ctrlSetText "";
_ctrlDigit7 ctrlSetText "";
_ctrlDigit8 ctrlSetText "";
_ctrlDigit9 ctrlSetText "";
};
waitUntil {!(AGM_vectorKey select 1) || {AGM_vectorKey select 0}};
waitUntil {AGM_vectorKey select 1 || {AGM_vectorKey select 0}};
AGM_vectorKey select 0
};
_ctrlDigit0 ctrlSetText "";
_ctrlDigit1 ctrlSetText "";
_ctrlDigit2 ctrlSetText "";
_ctrlDigit3 ctrlSetText "";
_ctrlDigit4 ctrlSetText "";
_ctrlDigit5 ctrlSetText "";
_ctrlDigit6 ctrlSetText "";
_ctrlDigit7 ctrlSetText "";
_ctrlDigit8 ctrlSetText "";
_ctrlDigit9 ctrlSetText "";
AGM_isVectorReady = true;

View File

@ -0,0 +1,72 @@
// by commy2
#include "script_component.hpp"
private["_dlgVector", "_ctrlVectorCenter", "_ctrlDigit1", "_ctrlDigit2", "_ctrlDigit3", "_ctrlDigit4", "_ctrlDigit5", "_ctrlDigit6", "_ctrlDigit7", "_ctrlDigit8", "_ctrlDigitE1", "_ctrlDigitE2", "_ctrlDigitE3", "_distanceP1", "_directionP1", "_azimuthP1", "_inclinationP1", "_directionP2", "_azimuthP2", "_distanceP2", "_inclinationP2", "_digits", "_relDirection", "_relDistance", "_relHeight", "_relLenght", "_digits0", "_digits1", "_digits2", "_lenghtP1", "_lenghtP2", "_relAzimuth"];
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;
_ctrlDigitE1 = _dlgVector displayCtrl 21;
_ctrlDigitE2 = _dlgVector displayCtrl 22;
_ctrlDigitE3 = _dlgVector displayCtrl 23;
_ctrlVectorCenter ctrlSetText "\AGM_Vector\rsc\Vector_Center.paa";
_distanceP1 = call AGM_Vector_fnc_getDistance;
_directionP1 = call AGM_Vector_fnc_getDirection;
_azimuthP1 = _directionP1 select 0;
_inclinationP1 = _directionP1 select 1;
_ctrlDigitE1 ctrlSetText "\AGM_Vector\rsc\d1.paa";
_ctrlDigitE2 ctrlSetText "\AGM_Vector\rsc\d-.paa";
_ctrlDigitE3 ctrlSetText "\AGM_Vector\rsc\dP.paa";
waitUntil {!(AGM_vectorKey select 0)};
_distanceP2 = call AGM_Vector_fnc_getDistance;
_directionP2 = call AGM_Vector_fnc_getDirection;
_azimuthP2 = _directionP2 select 0;
_inclinationP2 = _directionP2 select 1;
_relDirection = sqrt ((_azimuthP1 - _azimuthP2)^2 + (_inclinationP1 - _inclinationP2)^2);
_relDistance = sqrt (_distanceP1^2 + _distanceP2^2 - 2 * _distanceP1 * _distanceP2 * cos _relDirection);
_relHeight = (sin _inclinationP1 * _distanceP1) - (sin _inclinationP2 * _distanceP2);
_relLenght = sqrt (_relDistance^2 - _relHeight^2); if (str(_relLenght) == "-1.#IND") then {_relLenght = 0};
_lenghtP1 = cos _inclinationP1 * _distanceP1;
_lenghtP2 = cos _inclinationP2 * _distanceP2;
_relAzimuth = (sin _azimuthP2 * _lenghtP2 - sin _azimuthP1 * _lenghtP1) atan2 (cos _azimuthP2 * _lenghtP2 - cos _azimuthP1 * _lenghtP1);
if (_relAzimuth < 0) then {_relAzimuth = _relAzimuth + 360};
if (_distanceP1 == -9999 || {_distanceP2 == -9999}) then {
_relDistance = -9999;
_relAzimuth = -9999;
};
_digits = _relLenght 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);
_digits = _relAzimuth 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);
_ctrlVectorCenter ctrlShow false;
_ctrlDigitE1 ctrlShow false;
_ctrlDigitE2 ctrlShow false;
_ctrlDigitE3 ctrlShow false;
AGM_isVectorReady = true;

View File

@ -0,0 +1,58 @@
// by commy2
#include "script_component.hpp"
private["_dlgVector", "_ctrlVectorCenter", "_ctrlDigit1", "_ctrlDigit2", "_ctrlDigit3", "_ctrlDigit4", "_ctrlDigit5", "_ctrlDigit6", "_ctrlDigit7", "_ctrlDigit8", "_ctrlDigitE1", "_ctrlDigitE2", "_ctrlDigitE3", "_distanceP1", "_directionP1", "_azimuthP1", "_inclinationP1", "_directionP2", "_azimuthP2", "_distanceP2", "_inclinationP2", "_relDirection", "_relDistance", "_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;
_ctrlDigitE1 = _dlgVector displayCtrl 21;
_ctrlDigitE2 = _dlgVector displayCtrl 22;
_ctrlDigitE3 = _dlgVector displayCtrl 23;
_ctrlVectorCenter ctrlSetText "\AGM_Vector\rsc\Vector_Center.paa";
_distanceP1 = call AGM_Vector_fnc_getDistance;
_directionP1 = call AGM_Vector_fnc_getDirection;
_azimuthP1 = _directionP1 select 0;
_inclinationP1 = _directionP1 select 1;
_ctrlDigitE1 ctrlSetText "\AGM_Vector\rsc\d1.paa";
_ctrlDigitE2 ctrlSetText "\AGM_Vector\rsc\d-.paa";
_ctrlDigitE3 ctrlSetText "\AGM_Vector\rsc\dP.paa";
waitUntil {!(AGM_vectorKey select 1)};
_distanceP2 = call AGM_Vector_fnc_getDistance;
_directionP2 = call AGM_Vector_fnc_getDirection;
_azimuthP2 = _directionP2 select 0;
_inclinationP2 = _directionP2 select 1;
_relDirection = sqrt ((_azimuthP1 - _azimuthP2)^2 + (_inclinationP1 - _inclinationP2)^2);
_relDistance = sqrt (_distanceP1^2 + _distanceP2^2 - 2 * _distanceP1 * _distanceP2 * cos _relDirection);
if (_distanceP1 == -9999 || {_distanceP2 == -9999}) then {
_relDistance = -9999;
};
_digits = _relDistance 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;
_ctrlDigitE1 ctrlShow false;
_ctrlDigitE2 ctrlShow false;
_ctrlDigitE3 ctrlShow false;
AGM_isVectorReady = true;

View File

@ -0,0 +1,68 @@
// by commy2
#include "script_component.hpp"
private["_dlgVector", "_ctrlVectorCenter", "_ctrlDigit1", "_ctrlDigit2", "_ctrlDigit3", "_ctrlDigit4", "_ctrlDigit5", "_ctrlDigit6", "_ctrlDigit7", "_ctrlDigit8", "_ctrlDigitE1", "_ctrlDigitE2", "_ctrlDigitE3", "_distanceP1", "_directionP1", "_azimuthP1", "_inclinationP1", "_directionP2", "_azimuthP2", "_distanceP2", "_inclinationP2", "_azimuth", "_inclination", "_height", "_lenght", "_relDirection", "_relDistance", "_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;
_ctrlDigitE1 = _dlgVector displayCtrl 21;
_ctrlDigitE2 = _dlgVector displayCtrl 22;
_ctrlDigitE3 = _dlgVector displayCtrl 23;
_ctrlVectorCenter ctrlSetText "\AGM_Vector\rsc\Vector_Center.paa";
_distanceP1 = call AGM_Vector_fnc_getDistance;
_directionP1 = call AGM_Vector_fnc_getDirection;
_azimuthP1 = _directionP1 select 0;
_inclinationP1 = _directionP1 select 1;
_ctrlDigitE1 ctrlSetText "\AGM_Vector\rsc\d1.paa";
_ctrlDigitE2 ctrlSetText "\AGM_Vector\rsc\d-.paa";
_ctrlDigitE3 ctrlSetText "\AGM_Vector\rsc\dP.paa";
waitUntil {!(AGM_vectorKey select 1)};
_distanceP2 = call AGM_Vector_fnc_getDistance;
_directionP2 = call AGM_Vector_fnc_getDirection;
_azimuthP2 = _directionP2 select 0;
_inclinationP2 = _directionP2 select 1;
_azimuth = abs (_azimuthP1 - _azimuthP2);
_inclination = abs (_inclinationP1 - _inclinationP2);
_height = sqrt (_distanceP1^2 + _distanceP2^2 - 2 * _distanceP1 * _distanceP2 * cos _inclination);
_lenght = sqrt (_distanceP1^2 + _distanceP2^2 - 2 * _distanceP1 * _distanceP2 * cos _azimuth);
if (_inclination < 0) then {_height = -1 * _height};
if (_distanceP1 == -9999 || {_distanceP2 == -9999}) then {
_height = -9999;
_lenght = -9999;
};
_digits = _height 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);
_digits = _lenght call AGM_Vector_fnc_convertDistance;
_ctrlDigit5 ctrlSetText (_digits select 0);
_ctrlDigit6 ctrlSetText (_digits select 1);
_ctrlDigit7 ctrlSetText (_digits select 2);
_ctrlDigit8 ctrlSetText (_digits select 3);
_ctrlVectorCenter ctrlShow false;
_ctrlDigitE1 ctrlShow false;
_ctrlDigitE2 ctrlShow false;
_ctrlDigitE3 ctrlShow false;
AGM_isVectorReady = true;

View File

@ -0,0 +1,186 @@
// by commy2
#include "script_component.hpp"
private["_dlgVector", "_ctrlVectorCenter", "_ctrlVectorCrosshair", "_ctrlDigit0", "_ctrlDigit1", "_ctrlDigit2", "_ctrlDigit3", "_ctrlDigit4", "_ctrlDigit5", "_ctrlDigit6", "_ctrlDigit7", "_ctrlDigit8", "_ctrlDigit9", "_ctrlDigitE1", "_ctrlDigitE2", "_ctrlDigitE3", "_ctrlDigitE4", "_isFeet", "_isMil", "_time", "_theCount"];
disableSerialization;
_dlgVector = uiNamespace getVariable "AGM_dlgVector";
_ctrlDigit0 = _dlgVector displayCtrl 10;
_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;
_ctrlDigit9 = _dlgVector displayCtrl 19;
_ctrlDigitE1 = _dlgVector displayCtrl 21;
_ctrlDigitE2 = _dlgVector displayCtrl 22;
_ctrlDigitE3 = _dlgVector displayCtrl 23;
_ctrlDigitE4 = _dlgVector displayCtrl 24;
_ctrlDigit6 ctrlSetText "\AGM_Vector\rsc\dU.paa";
_ctrlDigit7 ctrlSetText "\AGM_Vector\rsc\dn.paa";
_ctrlDigit8 ctrlSetText "\AGM_Vector\rsc\di.paa";
_ctrlDigit9 ctrlSetText "\AGM_Vector\rsc\dt.paa";
_ctrlDigit0 ctrlSetText "\AGM_Vector\rsc\d5.paa";
_ctrlDigit1 ctrlSetText "\AGM_Vector\rsc\dE.paa";
_ctrlDigit2 ctrlSetText "\AGM_Vector\rsc\dt.paa";
_ctrlDigit3 ctrlSetText "\AGM_Vector\rsc\dt.paa";
sleep 2;
{_x ctrlSetText ""} forEach [
_ctrlDigit6,
_ctrlDigit7,
_ctrlDigit8,
_ctrlDigit9,
_ctrlDigit0,
_ctrlDigit1,
_ctrlDigit2,
_ctrlDigit3
];
_isMil = AGM_vectorSettings select 2;
_isFeet = AGM_vectorSettings select 3;
if (_isMil) then {
_ctrlDigit6 ctrlSetText "\AGM_Vector\rsc\d6.paa";
_ctrlDigit7 ctrlSetText "\AGM_Vector\rsc\d4.paa";
_ctrlDigit8 ctrlSetText "\AGM_Vector\rsc\d0.paa";
_ctrlDigit9 ctrlSetText "\AGM_Vector\rsc\d0.paa";
} else {
_ctrlDigit6 ctrlSetText "\AGM_Vector\rsc\d3.paa";
_ctrlDigit7 ctrlSetText "\AGM_Vector\rsc\d6.paa";
_ctrlDigit8 ctrlSetText "\AGM_Vector\rsc\d0.paa";
_ctrlDigit9 ctrlSetText "\AGM_Vector\rsc\do.paa";
};
if (_isFeet) then {
_ctrlDigit0 ctrlSetText "\AGM_Vector\rsc\dF.paa";
_ctrlDigit1 ctrlSetText "\AGM_Vector\rsc\dE.paa";
_ctrlDigit2 ctrlSetText "\AGM_Vector\rsc\dE.paa";
_ctrlDigit3 ctrlSetText "\AGM_Vector\rsc\dt.paa";
} else {
_ctrlDigit0 ctrlSetText "\AGM_Vector\rsc\d5.paa";
_ctrlDigit1 ctrlSetText "\AGM_Vector\rsc\d1.paa";
_ctrlDigit2 ctrlSetText "\AGM_Vector\rsc\d-.paa";
_ctrlDigit3 ctrlSetText "\AGM_Vector\rsc\dU.paa";
};
waitUntil {
if (AGM_vectorKey select 1) then {
waitUntil {
!(AGM_vectorKey select 1) || AGM_vectorKey select 0
};
if !(AGM_vectorKey select 0) then {
if (_isMil) then {
if (_isFeet) then {
_isMil = false;
_isFeet = true;
} else {
_isMil = true;
_isFeet = true;
};
} else {
if (_isFeet) then {
_isMil = false;
_isFeet = false;
} else {
_isMil = true;
_isFeet = false;
};
};
};
if (_isMil) then {
_ctrlDigit6 ctrlSetText "\AGM_Vector\rsc\d6.paa";
_ctrlDigit7 ctrlSetText "\AGM_Vector\rsc\d4.paa";
_ctrlDigit8 ctrlSetText "\AGM_Vector\rsc\d0.paa";
_ctrlDigit9 ctrlSetText "\AGM_Vector\rsc\d0.paa";
} else {
_ctrlDigit6 ctrlSetText "\AGM_Vector\rsc\d3.paa";
_ctrlDigit7 ctrlSetText "\AGM_Vector\rsc\d6.paa";
_ctrlDigit8 ctrlSetText "\AGM_Vector\rsc\d0.paa";
_ctrlDigit9 ctrlSetText "\AGM_Vector\rsc\do.paa";
};
if (_isFeet) then {
_ctrlDigit0 ctrlSetText "\AGM_Vector\rsc\dF.paa";
_ctrlDigit1 ctrlSetText "\AGM_Vector\rsc\dE.paa";
_ctrlDigit2 ctrlSetText "\AGM_Vector\rsc\dE.paa";
_ctrlDigit3 ctrlSetText "\AGM_Vector\rsc\dt.paa";
} else {
_ctrlDigit0 ctrlSetText "\AGM_Vector\rsc\d5.paa";
_ctrlDigit1 ctrlSetText "\AGM_Vector\rsc\d1.paa";
_ctrlDigit2 ctrlSetText "\AGM_Vector\rsc\d-.paa";
_ctrlDigit3 ctrlSetText "\AGM_Vector\rsc\dU.paa";
};
};
AGM_vectorKey select 0
};
_time = time;
waitUntil {
if (AGM_vectorKey select 1) then {_time = -1};
!(AGM_vectorKey select 0) || time > _time + 1
};
_theCount = 1;
waitUntil {
if (AGM_vectorKey select 0) then {
_theCount = _theCount + 1;
_time = time;
waitUntil {!(AGM_vectorKey select 0) || time > _time + 1};
};
if (AGM_vectorKey select 1) then {_time = -1};
time > _time + 1 || {_theCount >= 5}
};
if (_theCount >= 5) then {
_ctrlDigitE1 ctrlSetText "\AGM_Vector\rsc\d5.paa";
_ctrlDigitE2 ctrlSetText "\AGM_Vector\rsc\dt.paa";
_ctrlDigitE3 ctrlSetText "\AGM_Vector\rsc\dq.paa";
_ctrlDigitE4 ctrlSetText "\AGM_Vector\rsc\dr.paa";
AGM_vectorSettings set [2, _isMil];
AGM_vectorSettings set [3, _isFeet];
sleep 2;
{_x ctrlSetText ""} forEach [
_ctrlDigit6,
_ctrlDigit7,
_ctrlDigit8,
_ctrlDigit9,
_ctrlDigit0,
_ctrlDigit1,
_ctrlDigit2,
_ctrlDigit3,
_ctrlDigitE1,
_ctrlDigitE2,
_ctrlDigitE3,
_ctrlDigitE4
];
} else {
_ctrlDigit6 ctrlSetText "";
_ctrlDigit7 ctrlSetText "\AGM_Vector\rsc\d0.paa";
_ctrlDigit8 ctrlSetText "\AGM_Vector\rsc\d1.paa";
_ctrlDigit9 ctrlSetText "\AGM_Vector\rsc\dd.paa";
_ctrlDigit0 ctrlSetText "\AGM_Vector\rsc\dU.paa";
_ctrlDigit1 ctrlSetText "\AGM_Vector\rsc\dn.paa";
_ctrlDigit2 ctrlSetText "\AGM_Vector\rsc\di.paa";
_ctrlDigit3 ctrlSetText "\AGM_Vector\rsc\dt.paa";
sleep 2;
{_x ctrlSetText ""} forEach [
_ctrlDigit7,
_ctrlDigit8,
_ctrlDigit9,
_ctrlDigit0,
_ctrlDigit1,
_ctrlDigit2,
_ctrlDigit3
];
};
AGM_isVectorReady = true;

View File

@ -0,0 +1,112 @@
// by commy2
#include "script_component.hpp"
#define DELAY 0.3
private["_rscLayer", "_dlgVector", "_ctrlVectorCenter", "_ctrlVectorCrosshair", "_ctrlDigit0", "_ctrlDigit1", "_ctrlDigit2", "_ctrlDigit3", "_ctrlDigit4", "_ctrlDigit5", "_ctrlDigit6", "_ctrlDigit7", "_ctrlDigit8", "_ctrlDigit9", "_ctrlDigitE1", "_ctrlDigitE2", "_ctrlDigitE3", "_ctrlDigitE4", "_allControls", "_hold", "_time", "_theCount"];
disableSerialization;
_rscLayer = ["AGM_Vector"] call BIS_fnc_rscLayer;
_rscLayer cutRsc ["AGM_Vector", "PLAIN", 0, false];
_dlgVector = uiNamespace getVariable "AGM_dlgVector";
_ctrlVectorCenter = _dlgVector displayCtrl 1;
_ctrlVectorCrosshair = _dlgVector displayCtrl 2;
_ctrlDigit0 = _dlgVector displayCtrl 10;
_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;
_ctrlDigit9 = _dlgVector displayCtrl 19;
_ctrlDigitE1 = _dlgVector displayCtrl 21;
_ctrlDigitE2 = _dlgVector displayCtrl 22;
_ctrlDigitE3 = _dlgVector displayCtrl 23;
_ctrlDigitE4 = _dlgVector displayCtrl 24;
_allControls = [
_ctrlVectorCenter,
_ctrlVectorCrosshair,
_ctrlDigit0,
_ctrlDigit1,
_ctrlDigit2,
_ctrlDigit3,
_ctrlDigit4,
_ctrlDigit5,
_ctrlDigit6,
_ctrlDigit7,
_ctrlDigit8,
_ctrlDigit9,
_ctrlDigitE1,
_ctrlDigitE2,
_ctrlDigitE3,
_ctrlDigitE4
];
if (AGM_vectorSettings select 0) then {
_ctrlVectorCrosshair ctrlShow true;
_ctrlVectorCrosshair ctrlSetText "\AGM_Vector\rsc\Vector_Crosshair.paa";
};
if (AGM_vectorSettings select 1) then {
{_x ctrlSetTextColor [1, 0, 0, 1]} forEach _allControls;
};
_hold = true;
_time = time;
waitUntil {
if !(AGM_vectorKey select 0) then {
_hold = false;
};
time > _time + DELAY || {!_hold}
};
if (_hold) then {
if (AGM_vectorKey select 1) then {
AGM_Vector_scriptHandle = 0 spawn AGM_Vector_fnc_modeDistanceAzimuth;
} else {
AGM_Vector_scriptHandle = 0 spawn AGM_Vector_fnc_modeAzimuth;
};
} else {
waitUntil {time > _time + DELAY};
if (AGM_vectorKey select 0) then {
if (AGM_vectorKey select 1) then {
//L tab + (L + R) hold
waitUntil {!(AGM_vectorKey select 0)};
AGM_isVectorReady = true;
} else {
AGM_Vector_scriptHandle = 0 spawn AGM_Vector_fnc_modeAzimuthInclination;
};
} else {
if (AGM_vectorKey select 1) then {
//L tab + R hold
waitUntil {!(AGM_vectorKey select 0)};
AGM_isVectorReady = true;
} else {
//L tab
waitUntil {!(AGM_vectorKey select 0)};
_theCount = AGM_vectorConfig select 0;
_time = AGM_vectorConfig select 1;
if (time < _time + 1 && {_theCount <= 0}) then {
_theCount = _theCount - 1;
if (_theCount <= -5) then {
AGM_vectorConfig = [0, time];
0 spawn AGM_Vector_settings;
} else {
AGM_vectorConfig = [_theCount, time];
AGM_isVectorReady = true;
};
} else {
AGM_vectorConfig = [-1, time];
AGM_isVectorReady = true;
};
};
};
};

View File

@ -0,0 +1,112 @@
// by commy2
#include "script_component.hpp"
#define DELAY 0.3
private["_rscLayer", "_dlgVector", "_ctrlVectorCenter", "_ctrlVectorCrosshair", "_ctrlDigit0", "_ctrlDigit1", "_ctrlDigit2", "_ctrlDigit3", "_ctrlDigit4", "_ctrlDigit5", "_ctrlDigit6", "_ctrlDigit7", "_ctrlDigit8", "_ctrlDigit9", "_ctrlDigitE1", "_ctrlDigitE2", "_ctrlDigitE3", "_ctrlDigitE4", "_allControls", "_hold", "_time", "_theCount"];
disableSerialization;
_rscLayer = ["AGM_Vector"] call BIS_fnc_rscLayer;
_rscLayer cutRsc ["AGM_Vector", "PLAIN", 0, false];
_dlgVector = uiNamespace getVariable "AGM_dlgVector";
_ctrlVectorCenter = _dlgVector displayCtrl 1;
_ctrlVectorCrosshair = _dlgVector displayCtrl 2;
_ctrlDigit0 = _dlgVector displayCtrl 10;
_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;
_ctrlDigit9 = _dlgVector displayCtrl 19;
_ctrlDigitE1 = _dlgVector displayCtrl 21;
_ctrlDigitE2 = _dlgVector displayCtrl 22;
_ctrlDigitE3 = _dlgVector displayCtrl 23;
_ctrlDigitE4 = _dlgVector displayCtrl 24;
_allControls = [
_ctrlVectorCenter,
_ctrlVectorCrosshair,
_ctrlDigit0,
_ctrlDigit1,
_ctrlDigit2,
_ctrlDigit3,
_ctrlDigit4,
_ctrlDigit5,
_ctrlDigit6,
_ctrlDigit7,
_ctrlDigit8,
_ctrlDigit9,
_ctrlDigitE1,
_ctrlDigitE2,
_ctrlDigitE3,
_ctrlDigitE4
];
if (AGM_vectorSettings select 0) then {
_ctrlVectorCrosshair ctrlShow true;
_ctrlVectorCrosshair ctrlSetText "\AGM_Vector\rsc\Vector_Crosshair.paa";
};
if (AGM_vectorSettings select 1) then {
{_x ctrlSetTextColor [1, 0, 0, 1]} forEach _allControls;
};
_hold = true;
_time = time;
waitUntil {
if !(AGM_vectorKey select 1) then {
_hold = false;
};
time > _time + DELAY || {!_hold}
};
if (_hold) then {
if (AGM_vectorKey select 0) then {
AGM_Vector_scriptHandle = 0 spawn AGM_Vector_fnc_modeDistanceAzimuth;
} else {
AGM_Vector_scriptHandle = 0 spawn AGM_Vector_fnc_modeDistance;
};
} else {
waitUntil {time > _time + DELAY};
if (AGM_vectorKey select 1) then {
if (AGM_vectorKey select 0) then {
//R tab + (L + R) hold
waitUntil {!(AGM_vectorKey select 1)};
AGM_isVectorReady = true;
} else {
AGM_Vector_scriptHandle = 0 spawn AGM_Vector_fnc_modeDistanceHeight;
};
} else {
if (AGM_vectorKey select 0) then {
//R tab + L hold
waitUntil {!(AGM_vectorKey select 1)};
AGM_isVectorReady = true;
} else {
//R tab
waitUntil {!(AGM_vectorKey select 1)};
_theCount = AGM_vectorConfig select 0;
_time = AGM_vectorConfig select 1;
if (time < _time + 1 && {_theCount >= 0}) then {
_theCount = _theCount + 1;
if (_theCount >= 5) then {
AGM_vectorConfig = [0, time];
0 spawn AGM_Vector_config;
} else {
AGM_vectorConfig = [_theCount, time];
AGM_isVectorReady = true;
};
} else {
AGM_vectorConfig = [1, time];
AGM_isVectorReady = true;
};
};
};
};

View File

@ -0,0 +1 @@
#include "\z\ace\addons\vector\script_component.hpp"

Binary file not shown.

Binary file not shown.

BIN
addons/vector/rsc/d+.paa Normal file

Binary file not shown.

BIN
addons/vector/rsc/d-.paa Normal file

Binary file not shown.

BIN
addons/vector/rsc/d0.paa Normal file

Binary file not shown.

BIN
addons/vector/rsc/d1.paa Normal file

Binary file not shown.

BIN
addons/vector/rsc/d2.paa Normal file

Binary file not shown.

BIN
addons/vector/rsc/d3.paa Normal file

Binary file not shown.

BIN
addons/vector/rsc/d4.paa Normal file

Binary file not shown.

BIN
addons/vector/rsc/d5.paa Normal file

Binary file not shown.

BIN
addons/vector/rsc/d6.paa Normal file

Binary file not shown.

BIN
addons/vector/rsc/d7.paa Normal file

Binary file not shown.

BIN
addons/vector/rsc/d8.paa Normal file

Binary file not shown.

BIN
addons/vector/rsc/d9.paa Normal file

Binary file not shown.

BIN
addons/vector/rsc/dA.paa Normal file

Binary file not shown.

BIN
addons/vector/rsc/dC.paa Normal file

Binary file not shown.

BIN
addons/vector/rsc/dE.paa Normal file

Binary file not shown.

BIN
addons/vector/rsc/dF.paa Normal file

Binary file not shown.

BIN
addons/vector/rsc/dG.paa Normal file

Binary file not shown.

BIN
addons/vector/rsc/dL.paa Normal file

Binary file not shown.

BIN
addons/vector/rsc/dU.paa Normal file

Binary file not shown.

BIN
addons/vector/rsc/db.paa Normal file

Binary file not shown.

BIN
addons/vector/rsc/dd.paa Normal file

Binary file not shown.

Binary file not shown.

BIN
addons/vector/rsc/di.paa Normal file

Binary file not shown.

BIN
addons/vector/rsc/dn.paa Normal file

Binary file not shown.

BIN
addons/vector/rsc/do.paa Normal file

Binary file not shown.

BIN
addons/vector/rsc/doo.paa Normal file

Binary file not shown.

BIN
addons/vector/rsc/dp.paa Normal file

Binary file not shown.

BIN
addons/vector/rsc/dq.paa Normal file

Binary file not shown.

BIN
addons/vector/rsc/dr.paa Normal file

Binary file not shown.

BIN
addons/vector/rsc/dt.paa Normal file

Binary file not shown.

View File

@ -0,0 +1,12 @@
#define COMPONENT vector
#include "\z\ace\addons\main\script_mod.hpp"
#ifdef DEBUG_ENABLED_VECTOR
#define DEBUG_MODE_FULL
#endif
#ifdef DEBUG_ENABLED_VECTOR
#define DEBUG_SETTINGS DEBUG_ENABLED_VECTOR
#endif
#include "\z\ace\addons\main\script_macros.hpp"

View File

@ -0,0 +1,54 @@
<?xml version="1.0" encoding="utf-8"?>
<!-- Edited with tabler - 2014-12-11 -->
<Project name="ACE">
<Package name="Vector">
<Key ID="STR_ACE_Vector_VectorName">
<English>Vector IV</English>
<German>Vector IV</German>
<Spanish>Vector IV</Spanish>
<French>Vector IV</French>
<Polish>Vector IV</Polish>
<Czech>Vector IV</Czech>
<Italian>Vector IV</Italian>
<Hungarian>Vector IV</Hungarian>
<Portuguese>Vector IV</Portuguese>
<Russian>Vector IV</Russian>
</Key>
<Key ID="STR_ACE_Vector_VectorDescription">
<English>Rangefinder</English>
<German>Laserentfernungsmesser</German>
<Spanish>Telémetro</Spanish>
<French>Télémètre</French>
<Polish>Dalmierz</Polish>
<Czech>Dálkoměr</Czech>
<Italian>Telemetro</Italian>
<Hungarian>Távolságmérő</Hungarian>
<Portuguese>Telêmetro</Portuguese>
<Russian>Дальномер</Russian>
</Key>
<Key ID="STR_ACE_Vector_AzimuthKey">
<English>Vector - Azimuth Key</English>
<German>Vector - Azimuth-Taste</German>
<Spanish>Vector - Tecla de acimut</Spanish>
<French>Vector - Touche Azimuth</French>
<Polish>Vector - Azymut</Polish>
<Czech>Vector - Zobrazit Azimut</Czech>
<Italian>Vector - Tasto Azimuth</Italian>
<Portuguese>Vector - Tecla de Azimute</Portuguese>
<Hungarian>Vector - Irányszög gomb</Hungarian>
<Russian>Vector Азимут</Russian>
</Key>
<Key ID="STR_ACE_Vector_DistanceKey">
<English>Vector - Distance Key</English>
<German>Vector - Entfernungs-Taste</German>
<Spanish>Vector - Tecla de distancia</Spanish>
<French>Vector - Touche Distance</French>
<Polish>Vector - Odległość</Polish>
<Czech>Vector - Zobrazit vzdálenost</Czech>
<Italian>Vecto - Tasto Distanza</Italian>
<Portuguese>Vector - Tecla de Distância</Portuguese>
<Hungarian>Vector - Távolság gomb</Hungarian>
<Russian>Vector Расстояние</Russian>
</Key>
</Package>
</Project>