mirror of
https://github.com/acemod/ACE3.git
synced 2024-08-30 18:23:18 +00:00
Replaced tabs with spaces
This commit is contained in:
File diff suppressed because it is too large
Load Diff
@ -3,18 +3,18 @@
|
|||||||
//#include "initKeybinds.sqf"
|
//#include "initKeybinds.sqf"
|
||||||
|
|
||||||
if (count (profileNamespace getVariable ["ACE_ATragMX_gunList", []]) > 0) then {
|
if (count (profileNamespace getVariable ["ACE_ATragMX_gunList", []]) > 0) then {
|
||||||
GVAR(ATragMX_gunList) = profileNamespace getVariable "ACE_ATragMX_gunList";
|
GVAR(ATragMX_gunList) = profileNamespace getVariable "ACE_ATragMX_gunList";
|
||||||
} else {
|
} else {
|
||||||
// Profile Name, Muzzle Velocity, Zero Range, Scope Base Angle, AirFriction, Bore Height, Scope Unit, Elevation Scope Step, Windage Scope Step, Maximum Elevation, Dialed Elevation, Dialed Windage, Mass, Ammo Class Name, Magazine Class Name, BC, Drag Model, Atmosphere Model
|
// Profile Name, Muzzle Velocity, Zero Range, Scope Base Angle, AirFriction, Bore Height, Scope Unit, Elevation Scope Step, Windage Scope Step, Maximum Elevation, Dialed Elevation, Dialed Windage, Mass, Ammo Class Name, Magazine Class Name, BC, Drag Model, Atmosphere Model
|
||||||
GVAR(ATragMX_gunList) = [["12.7x108mm" , 820, 500, 0.255, -0.0005600, 3.81, 0, 0.338, 0.338, 120, 0, 0, 48.28, "B_127x108_Ball" , "5Rnd_127x108_Mag" , 0.700, 1, "ASM" ],
|
GVAR(ATragMX_gunList) = [["12.7x108mm" , 820, 500, 0.255, -0.0005600, 3.81, 0, 0.338, 0.338, 120, 0, 0, 48.28, "B_127x108_Ball" , "5Rnd_127x108_Mag" , 0.700, 1, "ASM" ],
|
||||||
["12.7x99mm" , 880, 500, 0.202, -0.0005600, 3.81, 0, 0.338, 0.338, 120, 0, 0, 41.92, "B_127x99_Ball" , "5Rnd_mas_127x99_Stanag" , 0.670, 1, "ASM" ],
|
["12.7x99mm" , 880, 500, 0.202, -0.0005600, 3.81, 0, 0.338, 0.338, 120, 0, 0, 41.92, "B_127x99_Ball" , "5Rnd_mas_127x99_Stanag" , 0.670, 1, "ASM" ],
|
||||||
["10.4x77mm" , 910, 500, 0.200, -0.0004800, 3.81, 0, 0.338, 0.338, 120, 0, 0, 27.15, "B_408_Ball" , "7Rnd_408_Mag" , 0.970, 1, "ASM" ],
|
["10.4x77mm" , 910, 500, 0.200, -0.0004800, 3.81, 0, 0.338, 0.338, 120, 0, 0, 27.15, "B_408_Ball" , "7Rnd_408_Mag" , 0.970, 1, "ASM" ],
|
||||||
["7.62x51mm" , 850, 500, 0.280, -0.0010000, 3.81, 0, 0.338, 0.338, 120, 0, 0, 9.460, "B_762x51_Ball" , "20Rnd_762x51_Mag" , 0.393, 1, "ICAO"],
|
["7.62x51mm" , 850, 500, 0.280, -0.0010000, 3.81, 0, 0.338, 0.338, 120, 0, 0, 9.460, "B_762x51_Ball" , "20Rnd_762x51_Mag" , 0.393, 1, "ICAO"],
|
||||||
["6.5x39mm" , 800, 500, 0.304, -0.0009000, 3.81, 0, 0.338, 0.338, 120, 0, 0, 7.776, "B_65x39_Caseless", "30Rnd_65x39_caseless_mag", 0.263, 1, "ICAO"],
|
["6.5x39mm" , 800, 500, 0.304, -0.0009000, 3.81, 0, 0.338, 0.338, 120, 0, 0, 7.776, "B_65x39_Caseless", "30Rnd_65x39_caseless_mag", 0.263, 1, "ICAO"],
|
||||||
["5.56x45mm" , 920, 500, 0.259, -0.0012000, 3.81, 0, 0.338, 0.338, 120, 0, 0, 4.000, "B_556x45_Ball" , "30Rnd_556x45_Stanag" , 0.304, 1, "ASM" ],
|
["5.56x45mm" , 920, 500, 0.259, -0.0012000, 3.81, 0, 0.338, 0.338, 120, 0, 0, 4.000, "B_556x45_Ball" , "30Rnd_556x45_Stanag" , 0.304, 1, "ASM" ],
|
||||||
["5.56x45mm Mk262" , 850, 500, 0.294, -0.0011250, 3.81, 0, 0.338, 0.338, 120, 0, 0, 4.990, "RH_556x45_Mk262" , "RH_30Rnd_556x45_Mk262" , 0.361, 1, "ASM" ]];
|
["5.56x45mm Mk262" , 850, 500, 0.294, -0.0011250, 3.81, 0, 0.338, 0.338, 120, 0, 0, 4.990, "RH_556x45_Mk262" , "RH_30Rnd_556x45_Mk262" , 0.361, 1, "ASM" ]];
|
||||||
|
|
||||||
profileNamespace setVariable ["ACE_ATragMX_gunList", GVAR(ATragMX_gunList)];
|
profileNamespace setVariable ["ACE_ATragMX_gunList", GVAR(ATragMX_gunList)];
|
||||||
};
|
};
|
||||||
|
|
||||||
[] call FUNC(init);
|
[] call FUNC(init);
|
||||||
|
@ -4,11 +4,11 @@ private ["_gunName", "_gunProfileEntry"];
|
|||||||
|
|
||||||
_gunName = ctrlText 11001;
|
_gunName = ctrlText 11001;
|
||||||
if (_gunName != "") then {
|
if (_gunName != "") then {
|
||||||
_gunProfileEntry = [_gunName, 850, 500, 0.280, -0.0010000, 3.81, 0, 0.338, 0.338, 120, 0, 0, 9.460, "", "", 0.393, 1, "ICAO"];
|
_gunProfileEntry = [_gunName, 850, 500, 0.280, -0.0010000, 3.81, 0, 0.338, 0.338, 120, 0, 0, 9.460, "", "", 0.393, 1, "ICAO"];
|
||||||
|
|
||||||
GVAR(ATragMX_gunList) = GVAR(ATragMX_gunList) + [_gunProfileEntry];
|
GVAR(ATragMX_gunList) = GVAR(ATragMX_gunList) + [_gunProfileEntry];
|
||||||
|
|
||||||
lbAdd [6000, _gunProfileEntry select 0];
|
lbAdd [6000, _gunProfileEntry select 0];
|
||||||
|
|
||||||
profileNamespace setVariable ["ACE_ATragMX_gunList", GVAR(ATragMX_gunList)];
|
profileNamespace setVariable ["ACE_ATragMX_gunList", GVAR(ATragMX_gunList)];
|
||||||
};
|
};
|
||||||
|
@ -20,8 +20,8 @@ _barometricPressure = (GVAR(ATragMX_barometricPressure) select GVAR(ATragMX_curr
|
|||||||
_relativeHumidity = (GVAR(ATragMX_relativeHumidity) select GVAR(ATragMX_currentTarget));
|
_relativeHumidity = (GVAR(ATragMX_relativeHumidity) select GVAR(ATragMX_currentTarget));
|
||||||
if (GVAR(ATragMX_currentUnit) == 1) then
|
if (GVAR(ATragMX_currentUnit) == 1) then
|
||||||
{
|
{
|
||||||
_temperature = (_temperature - 32) / 1.8;
|
_temperature = (_temperature - 32) / 1.8;
|
||||||
_barometricPressure = _barometricPressure * 33.8638866667;
|
_barometricPressure = _barometricPressure * 33.8638866667;
|
||||||
};
|
};
|
||||||
|
|
||||||
private ["_windSpeed", "_windDirection", "_inclinationAngle", "_targetSpeed", "_targetRange"];
|
private ["_windSpeed", "_windDirection", "_inclinationAngle", "_targetSpeed", "_targetRange"];
|
||||||
@ -32,17 +32,17 @@ _targetSpeed = (GVAR(ATragMX_targetSpeed) select GVAR(ATragMX_currentTarget));
|
|||||||
_targetRange = GVAR(ATragMX_rangeCardEndRange);
|
_targetRange = GVAR(ATragMX_rangeCardEndRange);
|
||||||
if (GVAR(ATragMX_currentUnit) != 2) then
|
if (GVAR(ATragMX_currentUnit) != 2) then
|
||||||
{
|
{
|
||||||
_targetRange = _targetRange / 1.0936133;
|
_targetRange = _targetRange / 1.0936133;
|
||||||
};
|
};
|
||||||
if (GVAR(ATragMX_currentUnit) == 1) then
|
if (GVAR(ATragMX_currentUnit) == 1) then
|
||||||
{
|
{
|
||||||
_windSpeed = _windSpeed / 2.23693629;
|
_windSpeed = _windSpeed / 2.23693629;
|
||||||
_targetSpeed = _targetSpeed / 2.23693629;
|
_targetSpeed = _targetSpeed / 2.23693629;
|
||||||
};
|
};
|
||||||
|
|
||||||
GVAR(ATragMX_rangeCardData) = [];
|
GVAR(ATragMX_rangeCardData) = [];
|
||||||
|
|
||||||
private ["_result"];
|
private ["_result"];
|
||||||
_result = [_scopeBaseAngle, _bulletMass, _boreHeight, _airFriction, _muzzleVelocity, _temperature, _barometricPressure, _relativeHumidity, 1000,
|
_result = [_scopeBaseAngle, _bulletMass, _boreHeight, _airFriction, _muzzleVelocity, _temperature, _barometricPressure, _relativeHumidity, 1000,
|
||||||
_windSpeed, _windDirection, _inclinationAngle, _targetSpeed, _targetRange, _bc, _dragModel, _atmosphereModel, true] call FUNC(calculate_solution);
|
_windSpeed, _windDirection, _inclinationAngle, _targetSpeed, _targetRange, _bc, _dragModel, _atmosphereModel, true] call FUNC(calculate_solution);
|
||||||
|
|
||||||
|
@ -40,18 +40,18 @@ _n = 0;
|
|||||||
_range = 0;
|
_range = 0;
|
||||||
_rangeFactor = 1;
|
_rangeFactor = 1;
|
||||||
if (_storeRangeCardData) then {
|
if (_storeRangeCardData) then {
|
||||||
if (GVAR(ATragMX_currentUnit) != 2) then {
|
if (GVAR(ATragMX_currentUnit) != 2) then {
|
||||||
_rangeFactor = 1.0936133;
|
_rangeFactor = 1.0936133;
|
||||||
};
|
};
|
||||||
GVAR(ATragMX_rangeCardData) = [];
|
GVAR(ATragMX_rangeCardData) = [];
|
||||||
};
|
};
|
||||||
|
|
||||||
private ["_wind"];
|
private ["_wind"];
|
||||||
_wind = [cos(270 - _windDirection * 30) * _windSpeed, sin(270 - _windDirection * 30) * _windSpeed, 0];
|
_wind = [cos(270 - _windDirection * 30) * _windSpeed, sin(270 - _windDirection * 30) * _windSpeed, 0];
|
||||||
if (EGVAR(advanced_ballistics,AdvancedBallistics)) then {
|
if (EGVAR(advanced_ballistics,AdvancedBallistics)) then {
|
||||||
if (EGVAR(advanced_ballistics,AdvancedAirDragEnabled)) then {
|
if (EGVAR(advanced_ballistics,AdvancedAirDragEnabled)) then {
|
||||||
_bc = [_bc, _temperature, _barometricPressure, _relativeHumidity, _atmosphereModel] call FUNC(calculateAtmosphericCorrection);
|
_bc = [_bc, _temperature, _barometricPressure, _relativeHumidity, _atmosphereModel] call FUNC(calculateAtmosphericCorrection);
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|
||||||
_TOF = 0;
|
_TOF = 0;
|
||||||
@ -66,54 +66,54 @@ _bulletVelocity set [2, Sin(_scopeBaseAngle) * _muzzleVelocity];
|
|||||||
|
|
||||||
while {_TOF < 15 && (_bulletPos select 1) < _targetRange} do
|
while {_TOF < 15 && (_bulletPos select 1) < _targetRange} do
|
||||||
{
|
{
|
||||||
_bulletSpeed = vectorMagnitude _bulletVelocity;
|
_bulletSpeed = vectorMagnitude _bulletVelocity;
|
||||||
|
|
||||||
_trueVelocity = _bulletVelocity vectorDiff _wind;
|
_trueVelocity = _bulletVelocity vectorDiff _wind;
|
||||||
_trueSpeed = vectorMagnitude _trueVelocity;
|
_trueSpeed = vectorMagnitude _trueVelocity;
|
||||||
|
|
||||||
if (EGVAR(advanced_ballistics,AdvancedBallistics)) then {
|
if (EGVAR(advanced_ballistics,AdvancedBallistics)) then {
|
||||||
if (EGVAR(advanced_ballistics,AdvancedAirDragEnabled)) then {
|
if (EGVAR(advanced_ballistics,AdvancedAirDragEnabled)) then {
|
||||||
private ["_drag"];
|
private ["_drag"];
|
||||||
_drag = -1 * ([_dragModel, _bc, _trueSpeed] call EFUNC(advanced_ballistics,calculateRetardation));
|
_drag = -1 * ([_dragModel, _bc, _trueSpeed] call EFUNC(advanced_ballistics,calculateRetardation));
|
||||||
_bulletAccel = (vectorNormalized _trueVelocity) vectorMultiply (_drag);
|
_bulletAccel = (vectorNormalized _trueVelocity) vectorMultiply (_drag);
|
||||||
};
|
};
|
||||||
} else {
|
} else {
|
||||||
_bulletAccel = _trueVelocity vectorMultiply (_trueSpeed * _airFriction);
|
_bulletAccel = _trueVelocity vectorMultiply (_trueSpeed * _airFriction);
|
||||||
};
|
};
|
||||||
|
|
||||||
_bulletAccel = _bulletAccel vectorAdd _gravity;
|
_bulletAccel = _bulletAccel vectorAdd _gravity;
|
||||||
|
|
||||||
_bulletVelocity = _bulletVelocity vectorAdd (_bulletAccel vectorMultiply _deltaT);
|
_bulletVelocity = _bulletVelocity vectorAdd (_bulletAccel vectorMultiply _deltaT);
|
||||||
_bulletPos = _bulletPos vectorAdd (_bulletVelocity vectorMultiply _deltaT);
|
_bulletPos = _bulletPos vectorAdd (_bulletVelocity vectorMultiply _deltaT);
|
||||||
|
|
||||||
_TOF = _TOF + _deltaT;
|
_TOF = _TOF + _deltaT;
|
||||||
|
|
||||||
if (_storeRangeCardData) then {
|
if (_storeRangeCardData) then {
|
||||||
_range = GVAR(ATragMX_rangeCardStartRange) + _n * GVAR(ATragMX_rangeCardIncrement);
|
_range = GVAR(ATragMX_rangeCardStartRange) + _n * GVAR(ATragMX_rangeCardIncrement);
|
||||||
if ((_bulletPos select 1) * _rangeFactor >= _range && _range <= GVAR(ATragMX_rangeCardEndRange)) then {
|
if ((_bulletPos select 1) * _rangeFactor >= _range && _range <= GVAR(ATragMX_rangeCardEndRange)) then {
|
||||||
if ((_bulletPos select 1) > 0) then {
|
if ((_bulletPos select 1) > 0) then {
|
||||||
_elevation = - atan((_bulletPos select 2) / (_bulletPos select 1));
|
_elevation = - atan((_bulletPos select 2) / (_bulletPos select 1));
|
||||||
_windage = - atan((_bulletPos select 0) / (_bulletPos select 1));
|
_windage = - atan((_bulletPos select 0) / (_bulletPos select 1));
|
||||||
};
|
};
|
||||||
if (_range != 0) then {
|
if (_range != 0) then {
|
||||||
_lead = (_targetSpeed * _TOF) / (Tan(3.38 / 60) * _range);
|
_lead = (_targetSpeed * _TOF) / (Tan(3.38 / 60) * _range);
|
||||||
};
|
};
|
||||||
_kineticEnergy = 0.5 * (_bulletMass / 1000 * (_bulletSpeed ^ 2));
|
_kineticEnergy = 0.5 * (_bulletMass / 1000 * (_bulletSpeed ^ 2));
|
||||||
_kineticEnergy = _kineticEnergy * 0.737562149;
|
_kineticEnergy = _kineticEnergy * 0.737562149;
|
||||||
|
|
||||||
GVAR(ATragMX_rangeCardData) set [_n, [_range, _elevation * 60, _windage * 60, _lead, _TOF, _bulletSpeed, _kineticEnergy]];
|
GVAR(ATragMX_rangeCardData) set [_n, [_range, _elevation * 60, _windage * 60, _lead, _TOF, _bulletSpeed, _kineticEnergy]];
|
||||||
_n = _n + 1;
|
_n = _n + 1;
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|
||||||
if ((_bulletPos select 1) > 0) then {
|
if ((_bulletPos select 1) > 0) then {
|
||||||
_elevation = - atan((_bulletPos select 2) / (_bulletPos select 1));
|
_elevation = - atan((_bulletPos select 2) / (_bulletPos select 1));
|
||||||
_windage = - atan((_bulletPos select 0) / (_bulletPos select 1));
|
_windage = - atan((_bulletPos select 0) / (_bulletPos select 1));
|
||||||
};
|
};
|
||||||
|
|
||||||
if (_targetRange != 0) then {
|
if (_targetRange != 0) then {
|
||||||
_lead = (_targetSpeed * _TOF) / (Tan(3.38 / 60) * _targetRange);
|
_lead = (_targetSpeed * _TOF) / (Tan(3.38 / 60) * _targetRange);
|
||||||
};
|
};
|
||||||
|
|
||||||
_kineticEnergy = 0.5 * (_bulletMass / 1000 * (_bulletSpeed ^ 2));
|
_kineticEnergy = 0.5 * (_bulletMass / 1000 * (_bulletSpeed ^ 2));
|
||||||
|
@ -6,100 +6,100 @@ _angle = parseNumber(ctrlText 7012);
|
|||||||
_targetSize = parseNumber(ctrlText 7010);
|
_targetSize = parseNumber(ctrlText 7010);
|
||||||
if (GVAR(ATragMX_rangeAssistUseTargetHeight)) then
|
if (GVAR(ATragMX_rangeAssistUseTargetHeight)) then
|
||||||
{
|
{
|
||||||
_targetSize = _targetSize * cos(_angle);
|
_targetSize = _targetSize * cos(_angle);
|
||||||
};
|
};
|
||||||
switch (GVAR(ATragMX_rangeAssistTargetSizeUnit)) do
|
switch (GVAR(ATragMX_rangeAssistTargetSizeUnit)) do
|
||||||
{
|
{
|
||||||
case 0:
|
case 0:
|
||||||
{
|
{
|
||||||
_targetSize = _targetSize * 0.0254;
|
_targetSize = _targetSize * 0.0254;
|
||||||
};
|
};
|
||||||
case 1:
|
case 1:
|
||||||
{
|
{
|
||||||
_targetSize = _targetSize * 0.3048;
|
_targetSize = _targetSize * 0.3048;
|
||||||
};
|
};
|
||||||
case 2:
|
case 2:
|
||||||
{
|
{
|
||||||
_targetSize = _targetSize * 0.01;
|
_targetSize = _targetSize * 0.01;
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
_imageSize = parseNumber(ctrlText 7011);
|
_imageSize = parseNumber(ctrlText 7011);
|
||||||
switch (GVAR(ATragMX_rangeAssistImageSizeUnit)) do
|
switch (GVAR(ATragMX_rangeAssistImageSizeUnit)) do
|
||||||
{
|
{
|
||||||
case 0:
|
case 0:
|
||||||
{
|
{
|
||||||
_imageSize = _imageSize / 6400 * 360;
|
_imageSize = _imageSize / 6400 * 360;
|
||||||
};
|
};
|
||||||
case 1:
|
case 1:
|
||||||
{
|
{
|
||||||
_imageSize = _imageSize / 60;
|
_imageSize = _imageSize / 60;
|
||||||
};
|
};
|
||||||
case 2:
|
case 2:
|
||||||
{
|
{
|
||||||
_imageSize = _imageSize / 60 / 1.047;
|
_imageSize = _imageSize / 60 / 1.047;
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
_estRange = parseNumber(ctrlText 7013);
|
_estRange = parseNumber(ctrlText 7013);
|
||||||
if (GVAR(ATragMX_currentUnit) != 2) then
|
if (GVAR(ATragMX_currentUnit) != 2) then
|
||||||
{
|
{
|
||||||
_estRange = _estRange / 1.0936133;
|
_estRange = _estRange / 1.0936133;
|
||||||
};
|
};
|
||||||
|
|
||||||
switch (_this) do
|
switch (_this) do
|
||||||
{
|
{
|
||||||
case 0:
|
case 0:
|
||||||
{
|
{
|
||||||
_targetSize = tan(_imageSize) * _estRange;
|
_targetSize = tan(_imageSize) * _estRange;
|
||||||
|
|
||||||
if (GVAR(ATragMX_rangeAssistUseTargetHeight)) then
|
if (GVAR(ATragMX_rangeAssistUseTargetHeight)) then
|
||||||
{
|
{
|
||||||
_targetSize = _targetSize / cos(_angle);
|
_targetSize = _targetSize / cos(_angle);
|
||||||
};
|
};
|
||||||
|
|
||||||
switch (GVAR(ATragMX_rangeAssistTargetSizeUnit)) do
|
switch (GVAR(ATragMX_rangeAssistTargetSizeUnit)) do
|
||||||
{
|
{
|
||||||
case 0:
|
case 0:
|
||||||
{
|
{
|
||||||
_targetSize = _targetSize / 0.0254;
|
_targetSize = _targetSize / 0.0254;
|
||||||
};
|
};
|
||||||
case 1:
|
case 1:
|
||||||
{
|
{
|
||||||
_targetSize = _targetSize / 0.3048;
|
_targetSize = _targetSize / 0.3048;
|
||||||
};
|
};
|
||||||
case 2:
|
case 2:
|
||||||
{
|
{
|
||||||
_targetSize = _targetSize / 0.01;
|
_targetSize = _targetSize / 0.01;
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|
||||||
ctrlSetText [7010, Str(Round(_targetSize * 100) / 100)];
|
ctrlSetText [7010, Str(Round(_targetSize * 100) / 100)];
|
||||||
};
|
};
|
||||||
case 1:
|
case 1:
|
||||||
{
|
{
|
||||||
_imageSize = atan(_targetSize / _estRange);
|
_imageSize = atan(_targetSize / _estRange);
|
||||||
|
|
||||||
switch (GVAR(ATragMX_rangeAssistImageSizeUnit)) do
|
switch (GVAR(ATragMX_rangeAssistImageSizeUnit)) do
|
||||||
{
|
{
|
||||||
case 0:
|
case 0:
|
||||||
{
|
{
|
||||||
_imageSize = _imageSize * 6400 / 360;
|
_imageSize = _imageSize * 6400 / 360;
|
||||||
};
|
};
|
||||||
case 1:
|
case 1:
|
||||||
{
|
{
|
||||||
_imageSize = _imageSize * 60;
|
_imageSize = _imageSize * 60;
|
||||||
};
|
};
|
||||||
case 2:
|
case 2:
|
||||||
{
|
{
|
||||||
_imageSize = _imageSize * 60 * 1.047;
|
_imageSize = _imageSize * 60 * 1.047;
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|
||||||
ctrlSetText [7011, Str(Round(_imageSize * 100) / 100)];
|
ctrlSetText [7011, Str(Round(_imageSize * 100) / 100)];
|
||||||
};
|
};
|
||||||
case 2:
|
case 2:
|
||||||
{
|
{
|
||||||
_estRange = _targetSize / tan(_imageSize);
|
_estRange = _targetSize / tan(_imageSize);
|
||||||
|
|
||||||
ctrlSetText [7013, Str(Round(_estRange))];
|
ctrlSetText [7013, Str(Round(_estRange))];
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
@ -20,8 +20,8 @@ _barometricPressure = (GVAR(ATragMX_barometricPressure) select GVAR(ATragMX_curr
|
|||||||
_relativeHumidity = (GVAR(ATragMX_relativeHumidity) select GVAR(ATragMX_currentTarget));
|
_relativeHumidity = (GVAR(ATragMX_relativeHumidity) select GVAR(ATragMX_currentTarget));
|
||||||
if (GVAR(ATragMX_currentUnit) == 1) then
|
if (GVAR(ATragMX_currentUnit) == 1) then
|
||||||
{
|
{
|
||||||
_temperature = (_temperature - 32) / 1.8;
|
_temperature = (_temperature - 32) / 1.8;
|
||||||
_barometricPressure = _barometricPressure * 33.8638866667;
|
_barometricPressure = _barometricPressure * 33.8638866667;
|
||||||
};
|
};
|
||||||
|
|
||||||
private ["_windSpeed", "_windDirection", "_inclinationAngle", "_targetSpeed", "_targetRange"];
|
private ["_windSpeed", "_windDirection", "_inclinationAngle", "_targetSpeed", "_targetRange"];
|
||||||
@ -32,16 +32,16 @@ _targetSpeed = (GVAR(ATragMX_targetSpeed) select GVAR(ATragMX_currentTarget));
|
|||||||
_targetRange = (GVAR(ATragMX_targetRange) select GVAR(ATragMX_currentTarget));
|
_targetRange = (GVAR(ATragMX_targetRange) select GVAR(ATragMX_currentTarget));
|
||||||
if (GVAR(ATragMX_currentUnit) != 2) then
|
if (GVAR(ATragMX_currentUnit) != 2) then
|
||||||
{
|
{
|
||||||
_targetRange = _targetRange / 1.0936133;
|
_targetRange = _targetRange / 1.0936133;
|
||||||
};
|
};
|
||||||
if (GVAR(ATragMX_currentUnit) == 1) then
|
if (GVAR(ATragMX_currentUnit) == 1) then
|
||||||
{
|
{
|
||||||
_windSpeed = _windSpeed / 2.23693629;
|
_windSpeed = _windSpeed / 2.23693629;
|
||||||
_targetSpeed = _targetSpeed / 2.23693629;
|
_targetSpeed = _targetSpeed / 2.23693629;
|
||||||
};
|
};
|
||||||
|
|
||||||
_result = [_scopeBaseAngle, _bulletMass, _boreHeight, _airFriction, _muzzleVelocity, _temperature, _barometricPressure, _relativeHumidity, 1000,
|
_result = [_scopeBaseAngle, _bulletMass, _boreHeight, _airFriction, _muzzleVelocity, _temperature, _barometricPressure, _relativeHumidity, 1000,
|
||||||
_windSpeed, _windDirection, _inclinationAngle, _targetSpeed, _targetRange, _bc, _dragModel, _atmosphereModel, false] call FUNC(calculate_solution);
|
_windSpeed, _windDirection, _inclinationAngle, _targetSpeed, _targetRange, _bc, _dragModel, _atmosphereModel, false] call FUNC(calculate_solution);
|
||||||
|
|
||||||
GVAR(ATragMX_elevationOutput) set [GVAR(ATragMX_currentTarget), _result select 0];
|
GVAR(ATragMX_elevationOutput) set [GVAR(ATragMX_currentTarget), _result select 0];
|
||||||
GVAR(ATragMX_windageOutput) set [GVAR(ATragMX_currentTarget), _result select 1];
|
GVAR(ATragMX_windageOutput) set [GVAR(ATragMX_currentTarget), _result select 1];
|
||||||
|
@ -9,33 +9,33 @@ _estSpeed = 0;
|
|||||||
|
|
||||||
if (GVAR(ATragMX_currentUnit) != 2) then
|
if (GVAR(ATragMX_currentUnit) != 2) then
|
||||||
{
|
{
|
||||||
_targetRange = _targetRange / 1.0936133;
|
_targetRange = _targetRange / 1.0936133;
|
||||||
};
|
};
|
||||||
|
|
||||||
switch (GVAR(ATragMX_rangeAssistImageSizeUnit)) do
|
switch (GVAR(ATragMX_rangeAssistImageSizeUnit)) do
|
||||||
{
|
{
|
||||||
case 0:
|
case 0:
|
||||||
{
|
{
|
||||||
_numTicks = _numTicks / 6400 * 360;
|
_numTicks = _numTicks / 6400 * 360;
|
||||||
};
|
};
|
||||||
case 1:
|
case 1:
|
||||||
{
|
{
|
||||||
_numTicks = _numTicks / 60;
|
_numTicks = _numTicks / 60;
|
||||||
};
|
};
|
||||||
case 2:
|
case 2:
|
||||||
{
|
{
|
||||||
_numTicks = _numTicks / 60 / 1.047;
|
_numTicks = _numTicks / 60 / 1.047;
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|
||||||
if (_timeSecs > 0) then
|
if (_timeSecs > 0) then
|
||||||
{
|
{
|
||||||
_estSpeed = tan(_numTicks) * _targetRange / _timeSecs;
|
_estSpeed = tan(_numTicks) * _targetRange / _timeSecs;
|
||||||
};
|
};
|
||||||
|
|
||||||
if (GVAR(ATragMX_currentUnit) == 1) then
|
if (GVAR(ATragMX_currentUnit) == 1) then
|
||||||
{
|
{
|
||||||
_estSpeed = _estSpeed * 2.23693629;
|
_estSpeed = _estSpeed * 2.23693629;
|
||||||
};
|
};
|
||||||
|
|
||||||
ctrlSetText [8007, Str(Round(_estSpeed * 10) / 10)];
|
ctrlSetText [8007, Str(Round(_estSpeed * 10) / 10)];
|
||||||
|
@ -9,7 +9,7 @@ lbSetCurSel [6000, (GVAR(ATragMX_currentGun) select GVAR(ATragMX_currentTarget))
|
|||||||
|
|
||||||
if ((GVAR(ATragMX_scopeUnits) select (GVAR(ATragMX_currentScopeUnit) select GVAR(ATragMX_currentTarget))) != "Clicks") then
|
if ((GVAR(ATragMX_scopeUnits) select (GVAR(ATragMX_currentScopeUnit) select GVAR(ATragMX_currentTarget))) != "Clicks") then
|
||||||
{
|
{
|
||||||
GVAR(ATragMX_currentScopeUnit) set [GVAR(ATragMX_currentTarget), (GVAR(ATragMX_workingMemory) select GVAR(ATragMX_currentTarget)) select 6];
|
GVAR(ATragMX_currentScopeUnit) set [GVAR(ATragMX_currentTarget), (GVAR(ATragMX_workingMemory) select GVAR(ATragMX_currentTarget)) select 6];
|
||||||
};
|
};
|
||||||
|
|
||||||
[] call FUNC(update_gun);
|
[] call FUNC(update_gun);
|
||||||
|
@ -19,7 +19,7 @@ false execVM QUOTE(PATHTOF(functions\fnc_show_target_speed_assist.sqf));
|
|||||||
false execVM QUOTE(PATHTOF(functions\fnc_show_target_speed_assist_timer.sqf));
|
false execVM QUOTE(PATHTOF(functions\fnc_show_target_speed_assist_timer.sqf));
|
||||||
|
|
||||||
{
|
{
|
||||||
lbAdd [6000, _x select 0];
|
lbAdd [6000, _x select 0];
|
||||||
} forEach GVAR(ATragMX_gunList);
|
} forEach GVAR(ATragMX_gunList);
|
||||||
|
|
||||||
true
|
true
|
||||||
|
@ -6,9 +6,9 @@ _index = lbCurSel 6000;
|
|||||||
if (_index == -1) exitWith {};
|
if (_index == -1) exitWith {};
|
||||||
|
|
||||||
for "_i" from 0 to (count GVAR(ATragMX_currentGun)) - 1 do {
|
for "_i" from 0 to (count GVAR(ATragMX_currentGun)) - 1 do {
|
||||||
if ((GVAR(ATragMX_currentGun) select _i) > _index) then {
|
if ((GVAR(ATragMX_currentGun) select _i) > _index) then {
|
||||||
GVAR(ATragMX_currentGun) set [_i, (GVAR(ATragMX_currentGun) select _i) - 1];
|
GVAR(ATragMX_currentGun) set [_i, (GVAR(ATragMX_currentGun) select _i) - 1];
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|
||||||
GVAR(ATragMX_gunList) set [_index, 0];
|
GVAR(ATragMX_gunList) set [_index, 0];
|
||||||
|
@ -14,16 +14,16 @@ private ["_boreHeight", "_bulletMass", "_airFriction", "_muzzleVelocity"];
|
|||||||
_boreHeight = parseNumber(ctrlText 100);
|
_boreHeight = parseNumber(ctrlText 100);
|
||||||
_bulletMass = parseNumber(ctrlText 110);
|
_bulletMass = parseNumber(ctrlText 110);
|
||||||
if (EGVAR(advanced_ballistics,AdvancedBallistics) && EGVAR(advanced_ballistics,AdvancedAirDragEnabled)) then {
|
if (EGVAR(advanced_ballistics,AdvancedBallistics) && EGVAR(advanced_ballistics,AdvancedAirDragEnabled)) then {
|
||||||
_airFriction = 0.1 max parseNumber(ctrlText 120) min 2;
|
_airFriction = 0.1 max parseNumber(ctrlText 120) min 2;
|
||||||
} else {
|
} else {
|
||||||
_airFriction = parseNumber(ctrlText 120) / -1000;
|
_airFriction = parseNumber(ctrlText 120) / -1000;
|
||||||
};
|
};
|
||||||
_muzzleVelocity = parseNumber(ctrlText 130);
|
_muzzleVelocity = parseNumber(ctrlText 130);
|
||||||
if (GVAR(ATragMX_currentUnit) == 1) then
|
if (GVAR(ATragMX_currentUnit) == 1) then
|
||||||
{
|
{
|
||||||
_boreHeight = _boreHeight * 2.54;
|
_boreHeight = _boreHeight * 2.54;
|
||||||
_bulletMass = _bulletMass * 0.06479891;
|
_bulletMass = _bulletMass * 0.06479891;
|
||||||
_muzzleVelocity = _muzzleVelocity / 3.2808399;
|
_muzzleVelocity = _muzzleVelocity / 3.2808399;
|
||||||
};
|
};
|
||||||
_boreHeight = 0.1 max _boreHeight min 10;
|
_boreHeight = 0.1 max _boreHeight min 10;
|
||||||
_bulletMass = 1 max _bulletMass min 100;
|
_bulletMass = 1 max _bulletMass min 100;
|
||||||
@ -32,9 +32,9 @@ _muzzleVelocity = 100 max _muzzleVelocity min 1400;
|
|||||||
(GVAR(ATragMX_workingMemory) select GVAR(ATragMX_currentTarget)) set [5, _boreHeight];
|
(GVAR(ATragMX_workingMemory) select GVAR(ATragMX_currentTarget)) set [5, _boreHeight];
|
||||||
(GVAR(ATragMX_workingMemory) select GVAR(ATragMX_currentTarget)) set [12, _bulletMass];
|
(GVAR(ATragMX_workingMemory) select GVAR(ATragMX_currentTarget)) set [12, _bulletMass];
|
||||||
if (EGVAR(advanced_ballistics,AdvancedBallistics) && EGVAR(advanced_ballistics,AdvancedAirDragEnabled)) then {
|
if (EGVAR(advanced_ballistics,AdvancedBallistics) && EGVAR(advanced_ballistics,AdvancedAirDragEnabled)) then {
|
||||||
(GVAR(ATragMX_workingMemory) select GVAR(ATragMX_currentTarget)) set [15, _airFriction];
|
(GVAR(ATragMX_workingMemory) select GVAR(ATragMX_currentTarget)) set [15, _airFriction];
|
||||||
} else {
|
} else {
|
||||||
(GVAR(ATragMX_workingMemory) select GVAR(ATragMX_currentTarget)) set [4, _airFriction];
|
(GVAR(ATragMX_workingMemory) select GVAR(ATragMX_currentTarget)) set [4, _airFriction];
|
||||||
};
|
};
|
||||||
(GVAR(ATragMX_workingMemory) select GVAR(ATragMX_currentTarget)) set [1, _muzzleVelocity];
|
(GVAR(ATragMX_workingMemory) select GVAR(ATragMX_currentTarget)) set [1, _muzzleVelocity];
|
||||||
|
|
||||||
@ -46,23 +46,23 @@ switch ((GVAR(ATragMX_currentScopeUnit) select GVAR(ATragMX_currentTarget))) do
|
|||||||
{
|
{
|
||||||
case 0:
|
case 0:
|
||||||
{
|
{
|
||||||
_elevationCur = _elevationCur * 3.38;
|
_elevationCur = _elevationCur * 3.38;
|
||||||
_windageCur = _windageCur * 3.38;
|
_windageCur = _windageCur * 3.38;
|
||||||
};
|
};
|
||||||
|
|
||||||
case 2:
|
case 2:
|
||||||
{
|
{
|
||||||
_elevationCur = _elevationCur / 1.047;
|
_elevationCur = _elevationCur / 1.047;
|
||||||
_windageCur = _windageCur / 1.047;
|
_windageCur = _windageCur / 1.047;
|
||||||
};
|
};
|
||||||
|
|
||||||
case 3:
|
case 3:
|
||||||
{
|
{
|
||||||
_elevationScopeStep = ((GVAR(ATragMX_workingMemory) select GVAR(ATragMX_currentTarget)) select 7);
|
_elevationScopeStep = ((GVAR(ATragMX_workingMemory) select GVAR(ATragMX_currentTarget)) select 7);
|
||||||
_windageScopeStep = ((GVAR(ATragMX_workingMemory) select GVAR(ATragMX_currentTarget)) select 8);
|
_windageScopeStep = ((GVAR(ATragMX_workingMemory) select GVAR(ATragMX_currentTarget)) select 8);
|
||||||
|
|
||||||
_elevationCur = _elevationCur * _elevationScopeStep;
|
_elevationCur = _elevationCur * _elevationScopeStep;
|
||||||
_windageCur = _windageCur * _windageScopeStep;
|
_windageCur = _windageCur * _windageScopeStep;
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|
||||||
|
@ -7,7 +7,7 @@ GVAR(ATragMX_gunList) set [_index, +(GVAR(ATragMX_workingMemory) select GVAR(ATr
|
|||||||
|
|
||||||
lbClear 6000;
|
lbClear 6000;
|
||||||
{
|
{
|
||||||
lbAdd [6000, _x select 0];
|
lbAdd [6000, _x select 0];
|
||||||
} forEach GVAR(ATragMX_gunList);
|
} forEach GVAR(ATragMX_gunList);
|
||||||
|
|
||||||
profileNamespace setVariable ["ACE_ATragMX_gunList", GVAR(ATragMX_gunList)];
|
profileNamespace setVariable ["ACE_ATragMX_gunList", GVAR(ATragMX_gunList)];
|
||||||
|
@ -1,4 +1,4 @@
|
|||||||
#include "script_component.hpp"
|
#include "script_component.hpp"
|
||||||
|
|
||||||
{ctrlShow [_x, _this]} forEach [10, 100, 11, 110, 12, 120, 13, 130, 14, 140, 20, 200, 21, 210, 22, 220, 30, 300, 31, 310, 32, 320, 33, 330, 34, 340, 40, 400, 401, 402, 403, 41, 410, 411, 412, 42, 420,
|
{ctrlShow [_x, _this]} forEach [10, 100, 11, 110, 12, 120, 13, 130, 14, 140, 20, 200, 21, 210, 22, 220, 30, 300, 31, 310, 32, 320, 33, 330, 34, 340, 40, 400, 401, 402, 403, 41, 410, 411, 412, 42, 420,
|
||||||
500, 501, 502, 503, 600, 601, 602, 603, 1000, 2000, 3000, 4000, 4001, 4002, 4003, 4004, 4005, 4006, 4007, 4008];
|
500, 501, 502, 503, 600, 601, 602, 603, 1000, 2000, 3000, 4000, 4001, 4002, 4003, 4004, 4005, 4006, 4007, 4008];
|
||||||
|
@ -5,18 +5,18 @@ GVAR(ATragMX_COMPAT_LRF) = ["Rangefinder", "Laserdesignator"];
|
|||||||
private ["_fnc_atragmx"];
|
private ["_fnc_atragmx"];
|
||||||
|
|
||||||
_fnc_atragmx = {
|
_fnc_atragmx = {
|
||||||
private ["_target", "_position", "_range", "_inclinationAngle"];
|
private ["_target", "_position", "_range", "_inclinationAngle"];
|
||||||
|
|
||||||
if ((local ACE_player) && (currentWeapon ACE_player) in GVAR(ATragMX_COMPAT_LRF) && (!isNull (_this select 0))) then {
|
if ((local ACE_player) && (currentWeapon ACE_player) in GVAR(ATragMX_COMPAT_LRF) && (!isNull (_this select 0))) then {
|
||||||
_target = getPosATL (_this select 0);
|
_target = getPosATL (_this select 0);
|
||||||
_position = getPosATL ACE_player;
|
_position = getPosATL ACE_player;
|
||||||
|
|
||||||
_inclinationAngle = asin((ACE_player weaponDirection currentWeapon ACE_player) select 2);
|
_inclinationAngle = asin((ACE_player weaponDirection currentWeapon ACE_player) select 2);
|
||||||
_range = _position distance _target;
|
_range = _position distance _target;
|
||||||
|
|
||||||
GVAR(ATragMX_inclinationAngle) set [GVAR(ATragMX_currentTarget), _inclinationAngle];
|
GVAR(ATragMX_inclinationAngle) set [GVAR(ATragMX_currentTarget), _inclinationAngle];
|
||||||
GVAR(ATragMX_targetRange) set [GVAR(ATragMX_currentTarget), _range];
|
GVAR(ATragMX_targetRange) set [GVAR(ATragMX_currentTarget), _range];
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|
||||||
//["ace_sys_rangefinder_Lazing", _fnc_atragmx] call CBA_fnc_addEventHandler;
|
//["ace_sys_rangefinder_Lazing", _fnc_atragmx] call CBA_fnc_addEventHandler;
|
||||||
|
@ -4,27 +4,27 @@
|
|||||||
|
|
||||||
if !(ctrlVisible 9000) then
|
if !(ctrlVisible 9000) then
|
||||||
{
|
{
|
||||||
private ["_startTime"];
|
private ["_startTime"];
|
||||||
|
|
||||||
false execVM QUOTE(PATHTOF(functions\fnc_show_target_speed_assist.sqf));
|
false execVM QUOTE(PATHTOF(functions\fnc_show_target_speed_assist.sqf));
|
||||||
true execVM QUOTE(PATHTOF(functions\fnc_show_target_speed_assist_timer.sqf));
|
true execVM QUOTE(PATHTOF(functions\fnc_show_target_speed_assist_timer.sqf));
|
||||||
|
|
||||||
ctrlSetFocus (_dsp displayCtrl 9002);
|
ctrlSetFocus (_dsp displayCtrl 9002);
|
||||||
|
|
||||||
_startTime = time;
|
_startTime = time;
|
||||||
|
|
||||||
while {GVAR(ATragMX_speedAssistTimer)} do
|
while {GVAR(ATragMX_speedAssistTimer)} do
|
||||||
{
|
{
|
||||||
sleep 0.1;
|
sleep 0.1;
|
||||||
ctrlSetText [9001, Str(Round((time - _startTime) * 10) / 10)];
|
ctrlSetText [9001, Str(Round((time - _startTime) * 10) / 10)];
|
||||||
};
|
};
|
||||||
|
|
||||||
GVAR(ATragMX_speedAssistTimer) = true;
|
GVAR(ATragMX_speedAssistTimer) = true;
|
||||||
|
|
||||||
ctrlSetText [8006, Str(Round((time - _startTime) * 10) / 10)];
|
ctrlSetText [8006, Str(Round((time - _startTime) * 10) / 10)];
|
||||||
|
|
||||||
[] call FUNC(calculate_target_speed_assist);
|
[] call FUNC(calculate_target_speed_assist);
|
||||||
|
|
||||||
false execVM QUOTE(PATHTOF(functions\fnc_show_target_speed_assist_timer.sqf));
|
false execVM QUOTE(PATHTOF(functions\fnc_show_target_speed_assist_timer.sqf));
|
||||||
true execVM QUOTE(PATHTOF(functions\fnc_show_target_speed_assist.sqf));
|
true execVM QUOTE(PATHTOF(functions\fnc_show_target_speed_assist.sqf));
|
||||||
};
|
};
|
||||||
|
@ -4,18 +4,18 @@
|
|||||||
|
|
||||||
if (ctrlVisible 6000) then
|
if (ctrlVisible 6000) then
|
||||||
{
|
{
|
||||||
false execVM QUOTE(PATHTOF(functions\fnc_show_gun_list.sqf));
|
false execVM QUOTE(PATHTOF(functions\fnc_show_gun_list.sqf));
|
||||||
true execVM QUOTE(PATHTOF(functions\fnc_show_main_page.sqf));
|
true execVM QUOTE(PATHTOF(functions\fnc_show_main_page.sqf));
|
||||||
|
|
||||||
if (_this) then {
|
if (_this) then {
|
||||||
(lbCurSel 6000) call FUNC(change_gun);
|
(lbCurSel 6000) call FUNC(change_gun);
|
||||||
};
|
};
|
||||||
} else
|
} else
|
||||||
{
|
{
|
||||||
false execVM QUOTE(PATHTOF(functions\fnc_show_main_page.sqf));
|
false execVM QUOTE(PATHTOF(functions\fnc_show_main_page.sqf));
|
||||||
true execVM QUOTE(PATHTOF(functions\fnc_show_gun_list.sqf));
|
true execVM QUOTE(PATHTOF(functions\fnc_show_gun_list.sqf));
|
||||||
|
|
||||||
ctrlSetFocus (_dsp displayCtrl 6002);
|
ctrlSetFocus (_dsp displayCtrl 6002);
|
||||||
|
|
||||||
lbSetCurSel [6000, (GVAR(ATragMX_currentGun) select GVAR(ATragMX_currentTarget))];
|
lbSetCurSel [6000, (GVAR(ATragMX_currentGun) select GVAR(ATragMX_currentTarget))];
|
||||||
};
|
};
|
||||||
|
@ -4,15 +4,15 @@
|
|||||||
|
|
||||||
if (ctrlVisible 5006) then
|
if (ctrlVisible 5006) then
|
||||||
{
|
{
|
||||||
false execVM QUOTE(PATHTOF(functions\fnc_show_range_card.sqf));
|
false execVM QUOTE(PATHTOF(functions\fnc_show_range_card.sqf));
|
||||||
true execVM QUOTE(PATHTOF(functions\fnc_show_main_page.sqf));
|
true execVM QUOTE(PATHTOF(functions\fnc_show_main_page.sqf));
|
||||||
} else
|
} else
|
||||||
{
|
{
|
||||||
false execVM QUOTE(PATHTOF(functions\fnc_show_main_page.sqf));
|
false execVM QUOTE(PATHTOF(functions\fnc_show_main_page.sqf));
|
||||||
true execVM QUOTE(PATHTOF(functions\fnc_show_range_card.sqf));
|
true execVM QUOTE(PATHTOF(functions\fnc_show_range_card.sqf));
|
||||||
|
|
||||||
ctrlSetFocus (_dsp displayCtrl 5001);
|
ctrlSetFocus (_dsp displayCtrl 5001);
|
||||||
|
|
||||||
[] call FUNC(calculate_range_card);
|
[] call FUNC(calculate_range_card);
|
||||||
[] call FUNC(update_range_card);
|
[] call FUNC(update_range_card);
|
||||||
};
|
};
|
||||||
|
@ -4,26 +4,26 @@
|
|||||||
|
|
||||||
if (ctrlVisible 10000) then
|
if (ctrlVisible 10000) then
|
||||||
{
|
{
|
||||||
false execVM QUOTE(PATHTOF(functions\fnc_show_range_card_setup.sqf));
|
false execVM QUOTE(PATHTOF(functions\fnc_show_range_card_setup.sqf));
|
||||||
true execVM QUOTE(PATHTOF(functions\fnc_show_range_card.sqf));
|
true execVM QUOTE(PATHTOF(functions\fnc_show_range_card.sqf));
|
||||||
|
|
||||||
if (_this == 1) then
|
if (_this == 1) then
|
||||||
{
|
{
|
||||||
GVAR(ATragMX_rangeCardStartRange) = 0 max Round(parseNumber(ctrlText 10003)) min 3000;
|
GVAR(ATragMX_rangeCardStartRange) = 0 max Round(parseNumber(ctrlText 10003)) min 3000;
|
||||||
GVAR(ATragMX_rangeCardEndRange) = 0 max Round(parseNumber(ctrlText 10004)) min 3000;
|
GVAR(ATragMX_rangeCardEndRange) = 0 max Round(parseNumber(ctrlText 10004)) min 3000;
|
||||||
GVAR(ATragMX_rangeCardIncrement) = 1 max Round(parseNumber(ctrlText 10005)) min 3000;
|
GVAR(ATragMX_rangeCardIncrement) = 1 max Round(parseNumber(ctrlText 10005)) min 3000;
|
||||||
|
|
||||||
[] call FUNC(calculate_range_card);
|
[] call FUNC(calculate_range_card);
|
||||||
[] call FUNC(update_range_card);
|
[] call FUNC(update_range_card);
|
||||||
};
|
};
|
||||||
} else
|
} else
|
||||||
{
|
{
|
||||||
false execVM QUOTE(PATHTOF(functions\fnc_show_range_card.sqf));
|
false execVM QUOTE(PATHTOF(functions\fnc_show_range_card.sqf));
|
||||||
true execVM QUOTE(PATHTOF(functions\fnc_show_range_card_setup.sqf));
|
true execVM QUOTE(PATHTOF(functions\fnc_show_range_card_setup.sqf));
|
||||||
|
|
||||||
ctrlSetFocus (_dsp displayCtrl 10006);
|
ctrlSetFocus (_dsp displayCtrl 10006);
|
||||||
|
|
||||||
ctrlSetText [10003, Str(Round(GVAR(ATragMX_rangeCardStartRange)))];
|
ctrlSetText [10003, Str(Round(GVAR(ATragMX_rangeCardStartRange)))];
|
||||||
ctrlSetText [10004, Str(Round(GVAR(ATragMX_rangeCardEndRange)))];
|
ctrlSetText [10004, Str(Round(GVAR(ATragMX_rangeCardEndRange)))];
|
||||||
ctrlSetText [10005, Str(Round(GVAR(ATragMX_rangeCardIncrement)))];
|
ctrlSetText [10005, Str(Round(GVAR(ATragMX_rangeCardIncrement)))];
|
||||||
};
|
};
|
||||||
|
@ -4,29 +4,29 @@
|
|||||||
|
|
||||||
if (ctrlVisible 7000) then
|
if (ctrlVisible 7000) then
|
||||||
{
|
{
|
||||||
false execVM QUOTE(PATHTOF(functions\fnc_show_target_range_assist.sqf));
|
false execVM QUOTE(PATHTOF(functions\fnc_show_target_range_assist.sqf));
|
||||||
true execVM QUOTE(PATHTOF(functions\fnc_show_main_page.sqf));
|
true execVM QUOTE(PATHTOF(functions\fnc_show_main_page.sqf));
|
||||||
|
|
||||||
if (_this == 1) then
|
if (_this == 1) then
|
||||||
{
|
{
|
||||||
ctrlSetText [320, Str(parseNumber(ctrlText 7012))];
|
ctrlSetText [320, Str(parseNumber(ctrlText 7012))];
|
||||||
ctrlSetText [340, Str(parseNumber(ctrlText 7013))];
|
ctrlSetText [340, Str(parseNumber(ctrlText 7013))];
|
||||||
};
|
};
|
||||||
} else
|
} else
|
||||||
{
|
{
|
||||||
false execVM QUOTE(PATHTOF(functions\fnc_show_main_page.sqf));
|
false execVM QUOTE(PATHTOF(functions\fnc_show_main_page.sqf));
|
||||||
true execVM QUOTE(PATHTOF(functions\fnc_show_target_range_assist.sqf));
|
true execVM QUOTE(PATHTOF(functions\fnc_show_target_range_assist.sqf));
|
||||||
|
|
||||||
ctrlSetFocus (_dsp displayCtrl 7018);
|
ctrlSetFocus (_dsp displayCtrl 7018);
|
||||||
|
|
||||||
ctrlSetText [7012, Str(parseNumber(ctrlText 320))];
|
ctrlSetText [7012, Str(parseNumber(ctrlText 320))];
|
||||||
ctrlSetText [7013, Str(parseNumber(ctrlText 340))];
|
ctrlSetText [7013, Str(parseNumber(ctrlText 340))];
|
||||||
|
|
||||||
if (GVAR(ATragMX_currentUnit) != 2) then
|
if (GVAR(ATragMX_currentUnit) != 2) then
|
||||||
{
|
{
|
||||||
ctrlSetText [7016, "Yards"];
|
ctrlSetText [7016, "Yards"];
|
||||||
} else
|
} else
|
||||||
{
|
{
|
||||||
ctrlSetText [7016, "Meters"];
|
ctrlSetText [7016, "Meters"];
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
@ -4,36 +4,36 @@
|
|||||||
|
|
||||||
if (ctrlVisible 8000) then
|
if (ctrlVisible 8000) then
|
||||||
{
|
{
|
||||||
false execVM QUOTE(PATHTOF(functions\fnc_show_target_speed_assist.sqf));
|
false execVM QUOTE(PATHTOF(functions\fnc_show_target_speed_assist.sqf));
|
||||||
true execVM QUOTE(PATHTOF(functions\fnc_show_main_page.sqf));
|
true execVM QUOTE(PATHTOF(functions\fnc_show_main_page.sqf));
|
||||||
|
|
||||||
if (_this == 1) then
|
if (_this == 1) then
|
||||||
{
|
{
|
||||||
[] call FUNC(calculate_target_speed_assist);
|
[] call FUNC(calculate_target_speed_assist);
|
||||||
ctrlSetText [330, Str(parseNumber(ctrlText 8007))];
|
ctrlSetText [330, Str(parseNumber(ctrlText 8007))];
|
||||||
};
|
};
|
||||||
} else
|
} else
|
||||||
{
|
{
|
||||||
false execVM QUOTE(PATHTOF(functions\fnc_show_main_page.sqf));
|
false execVM QUOTE(PATHTOF(functions\fnc_show_main_page.sqf));
|
||||||
true execVM QUOTE(PATHTOF(functions\fnc_show_target_speed_assist.sqf));
|
true execVM QUOTE(PATHTOF(functions\fnc_show_target_speed_assist.sqf));
|
||||||
|
|
||||||
ctrlSetFocus (_dsp displayCtrl 8012);
|
ctrlSetFocus (_dsp displayCtrl 8012);
|
||||||
|
|
||||||
ctrlSetText [8004, Str(Round((GVAR(ATragMX_targetRange) select GVAR(ATragMX_currentTarget))))];
|
ctrlSetText [8004, Str(Round((GVAR(ATragMX_targetRange) select GVAR(ATragMX_currentTarget))))];
|
||||||
|
|
||||||
if (GVAR(ATragMX_currentUnit) != 2) then
|
if (GVAR(ATragMX_currentUnit) != 2) then
|
||||||
{
|
{
|
||||||
ctrlSetText [8008, "Yards"];
|
ctrlSetText [8008, "Yards"];
|
||||||
} else
|
} else
|
||||||
{
|
{
|
||||||
ctrlSetText [8008, "Meters"];
|
ctrlSetText [8008, "Meters"];
|
||||||
};
|
};
|
||||||
|
|
||||||
if (GVAR(ATragMX_currentUnit) != 1) then
|
if (GVAR(ATragMX_currentUnit) != 1) then
|
||||||
{
|
{
|
||||||
ctrlSetText [8011, "m/s"];
|
ctrlSetText [8011, "m/s"];
|
||||||
} else
|
} else
|
||||||
{
|
{
|
||||||
ctrlSetText [8011, "mph"];
|
ctrlSetText [8011, "mph"];
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
@ -2,8 +2,8 @@
|
|||||||
|
|
||||||
ctrlSetText [200, Str(Round((GVAR(ATragMX_temperature) select GVAR(ATragMX_currentTarget)) * 10) / 10)];
|
ctrlSetText [200, Str(Round((GVAR(ATragMX_temperature) select GVAR(ATragMX_currentTarget)) * 10) / 10)];
|
||||||
if (GVAR(ATragMX_currentUnit) == 1) then {
|
if (GVAR(ATragMX_currentUnit) == 1) then {
|
||||||
ctrlSetText [210, Str(Round((GVAR(ATragMX_barometricPressure) select GVAR(ATragMX_currentTarget)) * 100) / 100)];
|
ctrlSetText [210, Str(Round((GVAR(ATragMX_barometricPressure) select GVAR(ATragMX_currentTarget)) * 100) / 100)];
|
||||||
} else {
|
} else {
|
||||||
ctrlSetText [210, Str(Round(GVAR(ATragMX_barometricPressure) select GVAR(ATragMX_currentTarget)))];
|
ctrlSetText [210, Str(Round(GVAR(ATragMX_barometricPressure) select GVAR(ATragMX_currentTarget)))];
|
||||||
};
|
};
|
||||||
ctrlSetText [220, Str(Round((GVAR(ATragMX_relativeHumidity) select GVAR(ATragMX_currentTarget)) * 100 * 10) / 10)];
|
ctrlSetText [220, Str(Round((GVAR(ATragMX_relativeHumidity) select GVAR(ATragMX_currentTarget)) * 100 * 10) / 10)];
|
||||||
|
@ -3,36 +3,36 @@
|
|||||||
ctrlSetText [1000, (GVAR(ATragMX_workingMemory) select GVAR(ATragMX_currentTarget)) select 0];
|
ctrlSetText [1000, (GVAR(ATragMX_workingMemory) select GVAR(ATragMX_currentTarget)) select 0];
|
||||||
if (GVAR(ATragMX_currentUnit) == 1) then
|
if (GVAR(ATragMX_currentUnit) == 1) then
|
||||||
{
|
{
|
||||||
ctrlSetText [ 100, Str(Round(((GVAR(ATragMX_workingMemory) select GVAR(ATragMX_currentTarget)) select 5) / 2.54 * 100) / 100)];
|
ctrlSetText [ 100, Str(Round(((GVAR(ATragMX_workingMemory) select GVAR(ATragMX_currentTarget)) select 5) / 2.54 * 100) / 100)];
|
||||||
} else
|
} else
|
||||||
{
|
{
|
||||||
ctrlSetText [ 100, Str(Round(((GVAR(ATragMX_workingMemory) select GVAR(ATragMX_currentTarget)) select 5) * 100) / 100)];
|
ctrlSetText [ 100, Str(Round(((GVAR(ATragMX_workingMemory) select GVAR(ATragMX_currentTarget)) select 5) * 100) / 100)];
|
||||||
};
|
};
|
||||||
if (GVAR(ATragMX_currentUnit) == 1) then
|
if (GVAR(ATragMX_currentUnit) == 1) then
|
||||||
{
|
{
|
||||||
ctrlSetText [ 110, Str(Round(((GVAR(ATragMX_workingMemory) select GVAR(ATragMX_currentTarget)) select 12) * 15.4323584))];
|
ctrlSetText [ 110, Str(Round(((GVAR(ATragMX_workingMemory) select GVAR(ATragMX_currentTarget)) select 12) * 15.4323584))];
|
||||||
} else
|
} else
|
||||||
{
|
{
|
||||||
ctrlSetText [ 110, Str(Round((GVAR(ATragMX_workingMemory) select GVAR(ATragMX_currentTarget)) select 12))];
|
ctrlSetText [ 110, Str(Round((GVAR(ATragMX_workingMemory) select GVAR(ATragMX_currentTarget)) select 12))];
|
||||||
};
|
};
|
||||||
if (EGVAR(advanced_ballistics,AdvancedBallistics) && EGVAR(advanced_ballistics,AdvancedAirDragEnabled)) then {
|
if (EGVAR(advanced_ballistics,AdvancedBallistics) && EGVAR(advanced_ballistics,AdvancedAirDragEnabled)) then {
|
||||||
ctrlSetText [ 120, Str(Round(((GVAR(ATragMX_workingMemory) select GVAR(ATragMX_currentTarget)) select 15) * 1000) / 1000)];
|
ctrlSetText [ 120, Str(Round(((GVAR(ATragMX_workingMemory) select GVAR(ATragMX_currentTarget)) select 15) * 1000) / 1000)];
|
||||||
} else {
|
} else {
|
||||||
ctrlSetText [ 120, Str(Round(((GVAR(ATragMX_workingMemory) select GVAR(ATragMX_currentTarget)) select 4) * -1000 * 1000) / 1000)];
|
ctrlSetText [ 120, Str(Round(((GVAR(ATragMX_workingMemory) select GVAR(ATragMX_currentTarget)) select 4) * -1000 * 1000) / 1000)];
|
||||||
};
|
};
|
||||||
if (GVAR(ATragMX_currentUnit) == 1) then
|
if (GVAR(ATragMX_currentUnit) == 1) then
|
||||||
{
|
{
|
||||||
ctrlSetText [130, Str(Round(((GVAR(ATragMX_workingMemory) select GVAR(ATragMX_currentTarget)) select 1) * 3.2808399))];
|
ctrlSetText [130, Str(Round(((GVAR(ATragMX_workingMemory) select GVAR(ATragMX_currentTarget)) select 1) * 3.2808399))];
|
||||||
} else
|
} else
|
||||||
{
|
{
|
||||||
ctrlSetText [130, Str(Round((GVAR(ATragMX_workingMemory) select GVAR(ATragMX_currentTarget)) select 1))];
|
ctrlSetText [130, Str(Round((GVAR(ATragMX_workingMemory) select GVAR(ATragMX_currentTarget)) select 1))];
|
||||||
};
|
};
|
||||||
if (GVAR(ATragMX_currentUnit) == 2) then
|
if (GVAR(ATragMX_currentUnit) == 2) then
|
||||||
{
|
{
|
||||||
ctrlSetText [140, Str(Round((GVAR(ATragMX_workingMemory) select GVAR(ATragMX_currentTarget)) select 2))];
|
ctrlSetText [140, Str(Round((GVAR(ATragMX_workingMemory) select GVAR(ATragMX_currentTarget)) select 2))];
|
||||||
} else
|
} else
|
||||||
{
|
{
|
||||||
ctrlSetText [140, Str(Round(((GVAR(ATragMX_workingMemory) select GVAR(ATragMX_currentTarget)) select 2) * 1.0936133))];
|
ctrlSetText [140, Str(Round(((GVAR(ATragMX_workingMemory) select GVAR(ATragMX_currentTarget)) select 2) * 1.0936133))];
|
||||||
};
|
};
|
||||||
|
|
||||||
[] call FUNC(update_scope_unit);
|
[] call FUNC(update_scope_unit);
|
||||||
|
@ -7,83 +7,83 @@ ctrlSetText [5006, (GVAR(ATragMX_rangeCardLastColumns) select GVAR(ATragMX_range
|
|||||||
|
|
||||||
if (GVAR(ATragMX_currentUnit) != 2) then
|
if (GVAR(ATragMX_currentUnit) != 2) then
|
||||||
{
|
{
|
||||||
ctrlSetText [5003, "Yards"];
|
ctrlSetText [5003, "Yards"];
|
||||||
} else
|
} else
|
||||||
{
|
{
|
||||||
ctrlSetText [5003, "Meters"];
|
ctrlSetText [5003, "Meters"];
|
||||||
};
|
};
|
||||||
|
|
||||||
lnbClear 5007;
|
lnbClear 5007;
|
||||||
|
|
||||||
{
|
{
|
||||||
_range = _x select 0;
|
_range = _x select 0;
|
||||||
_elevation = _x select 1;
|
_elevation = _x select 1;
|
||||||
_windage = _x select 2;
|
_windage = _x select 2;
|
||||||
_lead = _x select 3;
|
_lead = _x select 3;
|
||||||
_TOF = _x select 4;
|
_TOF = _x select 4;
|
||||||
_velocity = _x select 5;
|
_velocity = _x select 5;
|
||||||
_kineticEnergy = _x select 6;
|
_kineticEnergy = _x select 6;
|
||||||
|
|
||||||
switch ((GVAR(ATragMX_currentScopeUnit) select GVAR(ATragMX_currentTarget))) do
|
switch ((GVAR(ATragMX_currentScopeUnit) select GVAR(ATragMX_currentTarget))) do
|
||||||
{
|
{
|
||||||
case 0:
|
case 0:
|
||||||
{
|
{
|
||||||
_elevation = _elevation / 3.38;
|
_elevation = _elevation / 3.38;
|
||||||
_windage = _windage / 3.38;
|
_windage = _windage / 3.38;
|
||||||
};
|
};
|
||||||
|
|
||||||
case 2:
|
case 2:
|
||||||
{
|
{
|
||||||
_elevation = _elevation * 1.047;
|
_elevation = _elevation * 1.047;
|
||||||
_windage = _windage * 1.047;
|
_windage = _windage * 1.047;
|
||||||
};
|
};
|
||||||
|
|
||||||
case 3:
|
case 3:
|
||||||
{
|
{
|
||||||
_elevationScopeStep = ((GVAR(ATragMX_workingMemory) select GVAR(ATragMX_currentTarget)) select 7);
|
_elevationScopeStep = ((GVAR(ATragMX_workingMemory) select GVAR(ATragMX_currentTarget)) select 7);
|
||||||
_windageScopeStep = ((GVAR(ATragMX_workingMemory) select GVAR(ATragMX_currentTarget)) select 8);
|
_windageScopeStep = ((GVAR(ATragMX_workingMemory) select GVAR(ATragMX_currentTarget)) select 8);
|
||||||
|
|
||||||
_elevation = Round(_elevation / _elevationScopeStep);
|
_elevation = Round(_elevation / _elevationScopeStep);
|
||||||
_windage = Round(_windage / _windageScopeStep);
|
_windage = Round(_windage / _windageScopeStep);
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|
||||||
_elevationOutput = Str(Round(_elevation * 100) / 100);
|
_elevationOutput = Str(Round(_elevation * 100) / 100);
|
||||||
_windageOutput = Str(Round(_windage * 100) / 100);
|
_windageOutput = Str(Round(_windage * 100) / 100);
|
||||||
|
|
||||||
_rangeOutput = Str(_range);
|
_rangeOutput = Str(_range);
|
||||||
if (_velocity < 340.29) then
|
if (_velocity < 340.29) then
|
||||||
{
|
{
|
||||||
_rangeOutput = _rangeOutput + "*";
|
_rangeOutput = _rangeOutput + "*";
|
||||||
};
|
};
|
||||||
|
|
||||||
if (GVAR(ATragMX_currentUnit) == 1) then
|
if (GVAR(ATragMX_currentUnit) == 1) then
|
||||||
{
|
{
|
||||||
_velocity = _velocity * 3.2808399;
|
_velocity = _velocity * 3.2808399;
|
||||||
};
|
};
|
||||||
|
|
||||||
switch (GVAR(ATragMX_rangeCardCurrentColumn)) do
|
switch (GVAR(ATragMX_rangeCardCurrentColumn)) do
|
||||||
{
|
{
|
||||||
case 0:
|
case 0:
|
||||||
{
|
{
|
||||||
_lastColumnOutput = Str(Round(_lead * 100) / 100);
|
_lastColumnOutput = Str(Round(_lead * 100) / 100);
|
||||||
};
|
};
|
||||||
|
|
||||||
case 1:
|
case 1:
|
||||||
{
|
{
|
||||||
_lastColumnOutput = Str(Round(_velocity));
|
_lastColumnOutput = Str(Round(_velocity));
|
||||||
};
|
};
|
||||||
|
|
||||||
case 2:
|
case 2:
|
||||||
{
|
{
|
||||||
_lastColumnOutput = Str(Round(_kineticEnergy));
|
_lastColumnOutput = Str(Round(_kineticEnergy));
|
||||||
};
|
};
|
||||||
|
|
||||||
case 3:
|
case 3:
|
||||||
{
|
{
|
||||||
_lastColumnOutput = Str(Round(_TOF * 100) / 100);
|
_lastColumnOutput = Str(Round(_TOF * 100) / 100);
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
|
|
||||||
lnbAddRow [5007, [_rangeOutput, _elevationOutput, _windageOutput, _lastColumnOutput]];
|
lnbAddRow [5007, [_rangeOutput, _elevationOutput, _windageOutput, _lastColumnOutput]];
|
||||||
} forEach GVAR(ATragMX_rangeCardData);
|
} forEach GVAR(ATragMX_rangeCardData);
|
||||||
|
@ -16,41 +16,41 @@ switch ((GVAR(ATragMX_currentScopeUnit) select GVAR(ATragMX_currentTarget))) do
|
|||||||
{
|
{
|
||||||
case 0:
|
case 0:
|
||||||
{
|
{
|
||||||
_elevationAbs = _elevationAbs / 3.38;
|
_elevationAbs = _elevationAbs / 3.38;
|
||||||
_windageAbs = _windageAbs / 3.38;
|
_windageAbs = _windageAbs / 3.38;
|
||||||
|
|
||||||
_elevationRel = _elevationRel / 3.38;
|
_elevationRel = _elevationRel / 3.38;
|
||||||
_windageRel = _windageRel / 3.38;
|
_windageRel = _windageRel / 3.38;
|
||||||
|
|
||||||
_elevationCur = _elevationCur / 3.38;
|
_elevationCur = _elevationCur / 3.38;
|
||||||
_windageCur = _windageCur / 3.38;
|
_windageCur = _windageCur / 3.38;
|
||||||
};
|
};
|
||||||
|
|
||||||
case 2:
|
case 2:
|
||||||
{
|
{
|
||||||
_elevationAbs = _elevationAbs * 1.047;
|
_elevationAbs = _elevationAbs * 1.047;
|
||||||
_windageAbs = _windageAbs * 1.047;
|
_windageAbs = _windageAbs * 1.047;
|
||||||
|
|
||||||
_elevationRel = _elevationRel * 1.047;
|
_elevationRel = _elevationRel * 1.047;
|
||||||
_windageRel = _windageRel * 1.047;
|
_windageRel = _windageRel * 1.047;
|
||||||
|
|
||||||
_elevationCur = _elevationCur * 1.047;
|
_elevationCur = _elevationCur * 1.047;
|
||||||
_windageCur = _windageCur * 1.047;
|
_windageCur = _windageCur * 1.047;
|
||||||
};
|
};
|
||||||
|
|
||||||
case 3:
|
case 3:
|
||||||
{
|
{
|
||||||
_elevationScopeStep = ((GVAR(ATragMX_workingMemory) select GVAR(ATragMX_currentTarget)) select 7);
|
_elevationScopeStep = ((GVAR(ATragMX_workingMemory) select GVAR(ATragMX_currentTarget)) select 7);
|
||||||
_windageScopeStep = ((GVAR(ATragMX_workingMemory) select GVAR(ATragMX_currentTarget)) select 8);
|
_windageScopeStep = ((GVAR(ATragMX_workingMemory) select GVAR(ATragMX_currentTarget)) select 8);
|
||||||
|
|
||||||
_elevationAbs = Round(_elevationAbs / _elevationScopeStep);
|
_elevationAbs = Round(_elevationAbs / _elevationScopeStep);
|
||||||
_windageAbs = Round(_windageAbs / _windageScopeStep);
|
_windageAbs = Round(_windageAbs / _windageScopeStep);
|
||||||
|
|
||||||
_elevationRel = Round(_elevationRel / _elevationScopeStep);
|
_elevationRel = Round(_elevationRel / _elevationScopeStep);
|
||||||
_windageRel = Round(_windageRel / _windageScopeStep);
|
_windageRel = Round(_windageRel / _windageScopeStep);
|
||||||
|
|
||||||
_elevationCur = Round(_elevationCur / _elevationScopeStep);
|
_elevationCur = Round(_elevationCur / _elevationScopeStep);
|
||||||
_windageCur = Round(_windageCur / _windageScopeStep);
|
_windageCur = Round(_windageCur / _windageScopeStep);
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|
||||||
|
@ -2,21 +2,21 @@
|
|||||||
|
|
||||||
if (!isNil ("GVAR(ATragMX_windSpeed)")) then
|
if (!isNil ("GVAR(ATragMX_windSpeed)")) then
|
||||||
{
|
{
|
||||||
ctrlSetText [300, Str(Round((GVAR(ATragMX_windSpeed) select GVAR(ATragMX_currentTarget)) * 100) / 100)];
|
ctrlSetText [300, Str(Round((GVAR(ATragMX_windSpeed) select GVAR(ATragMX_currentTarget)) * 100) / 100)];
|
||||||
};
|
};
|
||||||
if (!isNil ("GVAR(ATragMX_windDirection)")) then
|
if (!isNil ("GVAR(ATragMX_windDirection)")) then
|
||||||
{
|
{
|
||||||
ctrlSetText [310, Str(Round((GVAR(ATragMX_windDirection) select GVAR(ATragMX_currentTarget))))];
|
ctrlSetText [310, Str(Round((GVAR(ATragMX_windDirection) select GVAR(ATragMX_currentTarget))))];
|
||||||
};
|
};
|
||||||
if (!isNil ("GVAR(ATragMX_inclinationAngle)")) then
|
if (!isNil ("GVAR(ATragMX_inclinationAngle)")) then
|
||||||
{
|
{
|
||||||
ctrlSetText [320, Str(Round((GVAR(ATragMX_inclinationAngle) select GVAR(ATragMX_currentTarget))))];
|
ctrlSetText [320, Str(Round((GVAR(ATragMX_inclinationAngle) select GVAR(ATragMX_currentTarget))))];
|
||||||
};
|
};
|
||||||
if (!isNil ("GVAR(ATragMX_targetSpeed)")) then
|
if (!isNil ("GVAR(ATragMX_targetSpeed)")) then
|
||||||
{
|
{
|
||||||
ctrlSetText [330, Str(Round((GVAR(ATragMX_targetSpeed) select GVAR(ATragMX_currentTarget)) * 100) / 100)];
|
ctrlSetText [330, Str(Round((GVAR(ATragMX_targetSpeed) select GVAR(ATragMX_currentTarget)) * 100) / 100)];
|
||||||
};
|
};
|
||||||
if (!isNil ("GVAR(ATragMX_targetRange)")) then
|
if (!isNil ("GVAR(ATragMX_targetRange)")) then
|
||||||
{
|
{
|
||||||
ctrlSetText [340, Str(Round((GVAR(ATragMX_targetRange) select GVAR(ATragMX_currentTarget))))];
|
ctrlSetText [340, Str(Round((GVAR(ATragMX_targetRange) select GVAR(ATragMX_currentTarget))))];
|
||||||
};
|
};
|
||||||
|
@ -16,7 +16,7 @@ private ["_zeroRange"];
|
|||||||
_zeroRange = Round(parseNumber(ctrlText 140));
|
_zeroRange = Round(parseNumber(ctrlText 140));
|
||||||
if (GVAR(ATragMX_currentUnit) != 2) then
|
if (GVAR(ATragMX_currentUnit) != 2) then
|
||||||
{
|
{
|
||||||
_zeroRange = _zeroRange / 1.0936133;
|
_zeroRange = _zeroRange / 1.0936133;
|
||||||
};
|
};
|
||||||
|
|
||||||
private ["_temperature", "_barometricPressure", "_relativeHumidity"];
|
private ["_temperature", "_barometricPressure", "_relativeHumidity"];
|
||||||
@ -25,8 +25,8 @@ _barometricPressure = (GVAR(ATragMX_barometricPressure) select GVAR(ATragMX_curr
|
|||||||
_relativeHumidity = (GVAR(ATragMX_relativeHumidity) select GVAR(ATragMX_currentTarget));
|
_relativeHumidity = (GVAR(ATragMX_relativeHumidity) select GVAR(ATragMX_currentTarget));
|
||||||
if (GVAR(ATragMX_currentUnit) == 1) then
|
if (GVAR(ATragMX_currentUnit) == 1) then
|
||||||
{
|
{
|
||||||
_temperature = (_temperature - 32) / 1.8;
|
_temperature = (_temperature - 32) / 1.8;
|
||||||
_barometricPressure = _barometricPressure * 33.8638866667;
|
_barometricPressure = _barometricPressure * 33.8638866667;
|
||||||
};
|
};
|
||||||
|
|
||||||
private ["_result"];
|
private ["_result"];
|
||||||
|
@ -2,11 +2,11 @@
|
|||||||
#include "\z\ace\addons\main\script_mod.hpp"
|
#include "\z\ace\addons\main\script_mod.hpp"
|
||||||
|
|
||||||
#ifdef DEBUG_ENABLED_ATRAGMX
|
#ifdef DEBUG_ENABLED_ATRAGMX
|
||||||
#define DEBUG_MODE_FULL
|
#define DEBUG_MODE_FULL
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
#ifdef DEBUG_SETTINGS_ATRAGMX
|
#ifdef DEBUG_SETTINGS_ATRAGMX
|
||||||
#define DEBUG_SETTINGS DEBUG_SETTINGS_ATRAGMX
|
#define DEBUG_SETTINGS DEBUG_SETTINGS_ATRAGMX
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
#include "\z\ace\addons\main\script_macros.hpp"
|
#include "\z\ace\addons\main\script_macros.hpp"
|
@ -1,6 +1,6 @@
|
|||||||
<?xml version="1.0" encoding="utf-8" ?>
|
<?xml version="1.0" encoding="utf-8" ?>
|
||||||
<Project name="ACE">
|
<Project name="ACE">
|
||||||
<Package name="ATragMX">
|
<Package name="ATragMX">
|
||||||
<Key ID="STR_ACE_ATragMX_Name">
|
<Key ID="STR_ACE_ATragMX_Name">
|
||||||
<English>ATragMX</English>
|
<English>ATragMX</English>
|
||||||
<German>ATragMX</German>
|
<German>ATragMX</German>
|
||||||
@ -22,5 +22,5 @@
|
|||||||
<Key ID="STR_ACE_ATragMX_ATragMXDialogKey">
|
<Key ID="STR_ACE_ATragMX_ATragMXDialogKey">
|
||||||
<English>Open ATragMX</English>
|
<English>Open ATragMX</English>
|
||||||
</Key>
|
</Key>
|
||||||
</Package>
|
</Package>
|
||||||
</Project>
|
</Project>
|
||||||
|
Reference in New Issue
Block a user