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:
parent
45e7194117
commit
31b19a4ef3
File diff suppressed because it is too large
Load Diff
@ -3,18 +3,18 @@
|
||||
//#include "initKeybinds.sqf"
|
||||
|
||||
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 {
|
||||
// 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" ],
|
||||
// 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" ],
|
||||
["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" ],
|
||||
["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"],
|
||||
["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" ]];
|
||||
|
||||
profileNamespace setVariable ["ACE_ATragMX_gunList", GVAR(ATragMX_gunList)];
|
||||
|
||||
profileNamespace setVariable ["ACE_ATragMX_gunList", GVAR(ATragMX_gunList)];
|
||||
};
|
||||
|
||||
[] call FUNC(init);
|
||||
|
@ -4,11 +4,11 @@ private ["_gunName", "_gunProfileEntry"];
|
||||
|
||||
_gunName = ctrlText 11001;
|
||||
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));
|
||||
if (GVAR(ATragMX_currentUnit) == 1) then
|
||||
{
|
||||
_temperature = (_temperature - 32) / 1.8;
|
||||
_barometricPressure = _barometricPressure * 33.8638866667;
|
||||
_temperature = (_temperature - 32) / 1.8;
|
||||
_barometricPressure = _barometricPressure * 33.8638866667;
|
||||
};
|
||||
|
||||
private ["_windSpeed", "_windDirection", "_inclinationAngle", "_targetSpeed", "_targetRange"];
|
||||
@ -32,17 +32,17 @@ _targetSpeed = (GVAR(ATragMX_targetSpeed) select GVAR(ATragMX_currentTarget));
|
||||
_targetRange = GVAR(ATragMX_rangeCardEndRange);
|
||||
if (GVAR(ATragMX_currentUnit) != 2) then
|
||||
{
|
||||
_targetRange = _targetRange / 1.0936133;
|
||||
_targetRange = _targetRange / 1.0936133;
|
||||
};
|
||||
if (GVAR(ATragMX_currentUnit) == 1) then
|
||||
{
|
||||
_windSpeed = _windSpeed / 2.23693629;
|
||||
_targetSpeed = _targetSpeed / 2.23693629;
|
||||
_windSpeed = _windSpeed / 2.23693629;
|
||||
_targetSpeed = _targetSpeed / 2.23693629;
|
||||
};
|
||||
|
||||
GVAR(ATragMX_rangeCardData) = [];
|
||||
|
||||
private ["_result"];
|
||||
_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;
|
||||
_rangeFactor = 1;
|
||||
if (_storeRangeCardData) then {
|
||||
if (GVAR(ATragMX_currentUnit) != 2) then {
|
||||
_rangeFactor = 1.0936133;
|
||||
};
|
||||
GVAR(ATragMX_rangeCardData) = [];
|
||||
if (GVAR(ATragMX_currentUnit) != 2) then {
|
||||
_rangeFactor = 1.0936133;
|
||||
};
|
||||
GVAR(ATragMX_rangeCardData) = [];
|
||||
};
|
||||
|
||||
private ["_wind"];
|
||||
_wind = [cos(270 - _windDirection * 30) * _windSpeed, sin(270 - _windDirection * 30) * _windSpeed, 0];
|
||||
if (EGVAR(advanced_ballistics,AdvancedBallistics)) then {
|
||||
if (EGVAR(advanced_ballistics,AdvancedAirDragEnabled)) then {
|
||||
_bc = [_bc, _temperature, _barometricPressure, _relativeHumidity, _atmosphereModel] call FUNC(calculateAtmosphericCorrection);
|
||||
};
|
||||
if (EGVAR(advanced_ballistics,AdvancedAirDragEnabled)) then {
|
||||
_bc = [_bc, _temperature, _barometricPressure, _relativeHumidity, _atmosphereModel] call FUNC(calculateAtmosphericCorrection);
|
||||
};
|
||||
};
|
||||
|
||||
_TOF = 0;
|
||||
@ -66,54 +66,54 @@ _bulletVelocity set [2, Sin(_scopeBaseAngle) * _muzzleVelocity];
|
||||
|
||||
while {_TOF < 15 && (_bulletPos select 1) < _targetRange} do
|
||||
{
|
||||
_bulletSpeed = vectorMagnitude _bulletVelocity;
|
||||
|
||||
_trueVelocity = _bulletVelocity vectorDiff _wind;
|
||||
_trueSpeed = vectorMagnitude _trueVelocity;
|
||||
_bulletSpeed = vectorMagnitude _bulletVelocity;
|
||||
|
||||
_trueVelocity = _bulletVelocity vectorDiff _wind;
|
||||
_trueSpeed = vectorMagnitude _trueVelocity;
|
||||
|
||||
if (EGVAR(advanced_ballistics,AdvancedBallistics)) then {
|
||||
if (EGVAR(advanced_ballistics,AdvancedAirDragEnabled)) then {
|
||||
private ["_drag"];
|
||||
_drag = -1 * ([_dragModel, _bc, _trueSpeed] call EFUNC(advanced_ballistics,calculateRetardation));
|
||||
_bulletAccel = (vectorNormalized _trueVelocity) vectorMultiply (_drag);
|
||||
};
|
||||
} else {
|
||||
_bulletAccel = _trueVelocity vectorMultiply (_trueSpeed * _airFriction);
|
||||
};
|
||||
|
||||
_bulletAccel = _bulletAccel vectorAdd _gravity;
|
||||
|
||||
_bulletVelocity = _bulletVelocity vectorAdd (_bulletAccel vectorMultiply _deltaT);
|
||||
_bulletPos = _bulletPos vectorAdd (_bulletVelocity vectorMultiply _deltaT);
|
||||
|
||||
_TOF = _TOF + _deltaT;
|
||||
|
||||
if (_storeRangeCardData) then {
|
||||
_range = GVAR(ATragMX_rangeCardStartRange) + _n * GVAR(ATragMX_rangeCardIncrement);
|
||||
if ((_bulletPos select 1) * _rangeFactor >= _range && _range <= GVAR(ATragMX_rangeCardEndRange)) then {
|
||||
if ((_bulletPos select 1) > 0) then {
|
||||
_elevation = - atan((_bulletPos select 2) / (_bulletPos select 1));
|
||||
_windage = - atan((_bulletPos select 0) / (_bulletPos select 1));
|
||||
};
|
||||
if (_range != 0) then {
|
||||
_lead = (_targetSpeed * _TOF) / (Tan(3.38 / 60) * _range);
|
||||
};
|
||||
_kineticEnergy = 0.5 * (_bulletMass / 1000 * (_bulletSpeed ^ 2));
|
||||
_kineticEnergy = _kineticEnergy * 0.737562149;
|
||||
|
||||
GVAR(ATragMX_rangeCardData) set [_n, [_range, _elevation * 60, _windage * 60, _lead, _TOF, _bulletSpeed, _kineticEnergy]];
|
||||
_n = _n + 1;
|
||||
};
|
||||
};
|
||||
private ["_drag"];
|
||||
_drag = -1 * ([_dragModel, _bc, _trueSpeed] call EFUNC(advanced_ballistics,calculateRetardation));
|
||||
_bulletAccel = (vectorNormalized _trueVelocity) vectorMultiply (_drag);
|
||||
};
|
||||
} else {
|
||||
_bulletAccel = _trueVelocity vectorMultiply (_trueSpeed * _airFriction);
|
||||
};
|
||||
|
||||
_bulletAccel = _bulletAccel vectorAdd _gravity;
|
||||
|
||||
_bulletVelocity = _bulletVelocity vectorAdd (_bulletAccel vectorMultiply _deltaT);
|
||||
_bulletPos = _bulletPos vectorAdd (_bulletVelocity vectorMultiply _deltaT);
|
||||
|
||||
_TOF = _TOF + _deltaT;
|
||||
|
||||
if (_storeRangeCardData) then {
|
||||
_range = GVAR(ATragMX_rangeCardStartRange) + _n * GVAR(ATragMX_rangeCardIncrement);
|
||||
if ((_bulletPos select 1) * _rangeFactor >= _range && _range <= GVAR(ATragMX_rangeCardEndRange)) then {
|
||||
if ((_bulletPos select 1) > 0) then {
|
||||
_elevation = - atan((_bulletPos select 2) / (_bulletPos select 1));
|
||||
_windage = - atan((_bulletPos select 0) / (_bulletPos select 1));
|
||||
};
|
||||
if (_range != 0) then {
|
||||
_lead = (_targetSpeed * _TOF) / (Tan(3.38 / 60) * _range);
|
||||
};
|
||||
_kineticEnergy = 0.5 * (_bulletMass / 1000 * (_bulletSpeed ^ 2));
|
||||
_kineticEnergy = _kineticEnergy * 0.737562149;
|
||||
|
||||
GVAR(ATragMX_rangeCardData) set [_n, [_range, _elevation * 60, _windage * 60, _lead, _TOF, _bulletSpeed, _kineticEnergy]];
|
||||
_n = _n + 1;
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
if ((_bulletPos select 1) > 0) then {
|
||||
_elevation = - atan((_bulletPos select 2) / (_bulletPos select 1));
|
||||
_windage = - atan((_bulletPos select 0) / (_bulletPos select 1));
|
||||
_elevation = - atan((_bulletPos select 2) / (_bulletPos select 1));
|
||||
_windage = - atan((_bulletPos select 0) / (_bulletPos select 1));
|
||||
};
|
||||
|
||||
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));
|
||||
|
@ -6,100 +6,100 @@ _angle = parseNumber(ctrlText 7012);
|
||||
_targetSize = parseNumber(ctrlText 7010);
|
||||
if (GVAR(ATragMX_rangeAssistUseTargetHeight)) then
|
||||
{
|
||||
_targetSize = _targetSize * cos(_angle);
|
||||
_targetSize = _targetSize * cos(_angle);
|
||||
};
|
||||
switch (GVAR(ATragMX_rangeAssistTargetSizeUnit)) do
|
||||
{
|
||||
case 0:
|
||||
{
|
||||
_targetSize = _targetSize * 0.0254;
|
||||
};
|
||||
case 1:
|
||||
{
|
||||
_targetSize = _targetSize * 0.3048;
|
||||
};
|
||||
case 2:
|
||||
{
|
||||
_targetSize = _targetSize * 0.01;
|
||||
};
|
||||
case 0:
|
||||
{
|
||||
_targetSize = _targetSize * 0.0254;
|
||||
};
|
||||
case 1:
|
||||
{
|
||||
_targetSize = _targetSize * 0.3048;
|
||||
};
|
||||
case 2:
|
||||
{
|
||||
_targetSize = _targetSize * 0.01;
|
||||
};
|
||||
};
|
||||
_imageSize = parseNumber(ctrlText 7011);
|
||||
switch (GVAR(ATragMX_rangeAssistImageSizeUnit)) do
|
||||
{
|
||||
case 0:
|
||||
{
|
||||
_imageSize = _imageSize / 6400 * 360;
|
||||
};
|
||||
case 1:
|
||||
{
|
||||
_imageSize = _imageSize / 60;
|
||||
};
|
||||
case 2:
|
||||
{
|
||||
_imageSize = _imageSize / 60 / 1.047;
|
||||
};
|
||||
case 0:
|
||||
{
|
||||
_imageSize = _imageSize / 6400 * 360;
|
||||
};
|
||||
case 1:
|
||||
{
|
||||
_imageSize = _imageSize / 60;
|
||||
};
|
||||
case 2:
|
||||
{
|
||||
_imageSize = _imageSize / 60 / 1.047;
|
||||
};
|
||||
};
|
||||
_estRange = parseNumber(ctrlText 7013);
|
||||
if (GVAR(ATragMX_currentUnit) != 2) then
|
||||
{
|
||||
_estRange = _estRange / 1.0936133;
|
||||
_estRange = _estRange / 1.0936133;
|
||||
};
|
||||
|
||||
switch (_this) do
|
||||
{
|
||||
case 0:
|
||||
{
|
||||
_targetSize = tan(_imageSize) * _estRange;
|
||||
|
||||
if (GVAR(ATragMX_rangeAssistUseTargetHeight)) then
|
||||
{
|
||||
_targetSize = _targetSize / cos(_angle);
|
||||
};
|
||||
|
||||
switch (GVAR(ATragMX_rangeAssistTargetSizeUnit)) do
|
||||
{
|
||||
case 0:
|
||||
{
|
||||
_targetSize = _targetSize / 0.0254;
|
||||
};
|
||||
case 1:
|
||||
{
|
||||
_targetSize = _targetSize / 0.3048;
|
||||
};
|
||||
case 2:
|
||||
{
|
||||
_targetSize = _targetSize / 0.01;
|
||||
};
|
||||
};
|
||||
|
||||
ctrlSetText [7010, Str(Round(_targetSize * 100) / 100)];
|
||||
};
|
||||
case 1:
|
||||
{
|
||||
_imageSize = atan(_targetSize / _estRange);
|
||||
|
||||
switch (GVAR(ATragMX_rangeAssistImageSizeUnit)) do
|
||||
{
|
||||
case 0:
|
||||
{
|
||||
_imageSize = _imageSize * 6400 / 360;
|
||||
};
|
||||
case 1:
|
||||
{
|
||||
_imageSize = _imageSize * 60;
|
||||
};
|
||||
case 2:
|
||||
{
|
||||
_imageSize = _imageSize * 60 * 1.047;
|
||||
};
|
||||
};
|
||||
|
||||
ctrlSetText [7011, Str(Round(_imageSize * 100) / 100)];
|
||||
};
|
||||
case 2:
|
||||
{
|
||||
_estRange = _targetSize / tan(_imageSize);
|
||||
|
||||
ctrlSetText [7013, Str(Round(_estRange))];
|
||||
};
|
||||
case 0:
|
||||
{
|
||||
_targetSize = tan(_imageSize) * _estRange;
|
||||
|
||||
if (GVAR(ATragMX_rangeAssistUseTargetHeight)) then
|
||||
{
|
||||
_targetSize = _targetSize / cos(_angle);
|
||||
};
|
||||
|
||||
switch (GVAR(ATragMX_rangeAssistTargetSizeUnit)) do
|
||||
{
|
||||
case 0:
|
||||
{
|
||||
_targetSize = _targetSize / 0.0254;
|
||||
};
|
||||
case 1:
|
||||
{
|
||||
_targetSize = _targetSize / 0.3048;
|
||||
};
|
||||
case 2:
|
||||
{
|
||||
_targetSize = _targetSize / 0.01;
|
||||
};
|
||||
};
|
||||
|
||||
ctrlSetText [7010, Str(Round(_targetSize * 100) / 100)];
|
||||
};
|
||||
case 1:
|
||||
{
|
||||
_imageSize = atan(_targetSize / _estRange);
|
||||
|
||||
switch (GVAR(ATragMX_rangeAssistImageSizeUnit)) do
|
||||
{
|
||||
case 0:
|
||||
{
|
||||
_imageSize = _imageSize * 6400 / 360;
|
||||
};
|
||||
case 1:
|
||||
{
|
||||
_imageSize = _imageSize * 60;
|
||||
};
|
||||
case 2:
|
||||
{
|
||||
_imageSize = _imageSize * 60 * 1.047;
|
||||
};
|
||||
};
|
||||
|
||||
ctrlSetText [7011, Str(Round(_imageSize * 100) / 100)];
|
||||
};
|
||||
case 2:
|
||||
{
|
||||
_estRange = _targetSize / tan(_imageSize);
|
||||
|
||||
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));
|
||||
if (GVAR(ATragMX_currentUnit) == 1) then
|
||||
{
|
||||
_temperature = (_temperature - 32) / 1.8;
|
||||
_barometricPressure = _barometricPressure * 33.8638866667;
|
||||
_temperature = (_temperature - 32) / 1.8;
|
||||
_barometricPressure = _barometricPressure * 33.8638866667;
|
||||
};
|
||||
|
||||
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));
|
||||
if (GVAR(ATragMX_currentUnit) != 2) then
|
||||
{
|
||||
_targetRange = _targetRange / 1.0936133;
|
||||
_targetRange = _targetRange / 1.0936133;
|
||||
};
|
||||
if (GVAR(ATragMX_currentUnit) == 1) then
|
||||
{
|
||||
_windSpeed = _windSpeed / 2.23693629;
|
||||
_targetSpeed = _targetSpeed / 2.23693629;
|
||||
_windSpeed = _windSpeed / 2.23693629;
|
||||
_targetSpeed = _targetSpeed / 2.23693629;
|
||||
};
|
||||
|
||||
_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_windageOutput) set [GVAR(ATragMX_currentTarget), _result select 1];
|
||||
|
@ -9,33 +9,33 @@ _estSpeed = 0;
|
||||
|
||||
if (GVAR(ATragMX_currentUnit) != 2) then
|
||||
{
|
||||
_targetRange = _targetRange / 1.0936133;
|
||||
_targetRange = _targetRange / 1.0936133;
|
||||
};
|
||||
|
||||
switch (GVAR(ATragMX_rangeAssistImageSizeUnit)) do
|
||||
{
|
||||
case 0:
|
||||
{
|
||||
_numTicks = _numTicks / 6400 * 360;
|
||||
};
|
||||
case 1:
|
||||
{
|
||||
_numTicks = _numTicks / 60;
|
||||
};
|
||||
case 2:
|
||||
{
|
||||
_numTicks = _numTicks / 60 / 1.047;
|
||||
};
|
||||
case 0:
|
||||
{
|
||||
_numTicks = _numTicks / 6400 * 360;
|
||||
};
|
||||
case 1:
|
||||
{
|
||||
_numTicks = _numTicks / 60;
|
||||
};
|
||||
case 2:
|
||||
{
|
||||
_numTicks = _numTicks / 60 / 1.047;
|
||||
};
|
||||
};
|
||||
|
||||
if (_timeSecs > 0) then
|
||||
{
|
||||
_estSpeed = tan(_numTicks) * _targetRange / _timeSecs;
|
||||
_estSpeed = tan(_numTicks) * _targetRange / _timeSecs;
|
||||
};
|
||||
|
||||
if (GVAR(ATragMX_currentUnit) == 1) then
|
||||
{
|
||||
_estSpeed = _estSpeed * 2.23693629;
|
||||
_estSpeed = _estSpeed * 2.23693629;
|
||||
};
|
||||
|
||||
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
|
||||
{
|
||||
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);
|
||||
|
@ -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));
|
||||
|
||||
{
|
||||
lbAdd [6000, _x select 0];
|
||||
lbAdd [6000, _x select 0];
|
||||
} forEach GVAR(ATragMX_gunList);
|
||||
|
||||
true
|
||||
|
@ -6,9 +6,9 @@ _index = lbCurSel 6000;
|
||||
if (_index == -1) exitWith {};
|
||||
|
||||
for "_i" from 0 to (count GVAR(ATragMX_currentGun)) - 1 do {
|
||||
if ((GVAR(ATragMX_currentGun) select _i) > _index) then {
|
||||
GVAR(ATragMX_currentGun) set [_i, (GVAR(ATragMX_currentGun) select _i) - 1];
|
||||
};
|
||||
if ((GVAR(ATragMX_currentGun) select _i) > _index) then {
|
||||
GVAR(ATragMX_currentGun) set [_i, (GVAR(ATragMX_currentGun) select _i) - 1];
|
||||
};
|
||||
};
|
||||
|
||||
GVAR(ATragMX_gunList) set [_index, 0];
|
||||
|
@ -14,16 +14,16 @@ private ["_boreHeight", "_bulletMass", "_airFriction", "_muzzleVelocity"];
|
||||
_boreHeight = parseNumber(ctrlText 100);
|
||||
_bulletMass = parseNumber(ctrlText 110);
|
||||
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 {
|
||||
_airFriction = parseNumber(ctrlText 120) / -1000;
|
||||
_airFriction = parseNumber(ctrlText 120) / -1000;
|
||||
};
|
||||
_muzzleVelocity = parseNumber(ctrlText 130);
|
||||
if (GVAR(ATragMX_currentUnit) == 1) then
|
||||
{
|
||||
_boreHeight = _boreHeight * 2.54;
|
||||
_bulletMass = _bulletMass * 0.06479891;
|
||||
_muzzleVelocity = _muzzleVelocity / 3.2808399;
|
||||
_boreHeight = _boreHeight * 2.54;
|
||||
_bulletMass = _bulletMass * 0.06479891;
|
||||
_muzzleVelocity = _muzzleVelocity / 3.2808399;
|
||||
};
|
||||
_boreHeight = 0.1 max _boreHeight min 10;
|
||||
_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 [12, _bulletMass];
|
||||
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 {
|
||||
(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];
|
||||
|
||||
@ -46,23 +46,23 @@ switch ((GVAR(ATragMX_currentScopeUnit) select GVAR(ATragMX_currentTarget))) do
|
||||
{
|
||||
case 0:
|
||||
{
|
||||
_elevationCur = _elevationCur * 3.38;
|
||||
_windageCur = _windageCur * 3.38;
|
||||
_elevationCur = _elevationCur * 3.38;
|
||||
_windageCur = _windageCur * 3.38;
|
||||
};
|
||||
|
||||
|
||||
case 2:
|
||||
{
|
||||
_elevationCur = _elevationCur / 1.047;
|
||||
_windageCur = _windageCur / 1.047;
|
||||
_elevationCur = _elevationCur / 1.047;
|
||||
_windageCur = _windageCur / 1.047;
|
||||
};
|
||||
|
||||
case 3:
|
||||
|
||||
case 3:
|
||||
{
|
||||
_elevationScopeStep = ((GVAR(ATragMX_workingMemory) select GVAR(ATragMX_currentTarget)) select 7);
|
||||
_windageScopeStep = ((GVAR(ATragMX_workingMemory) select GVAR(ATragMX_currentTarget)) select 8);
|
||||
|
||||
_elevationCur = _elevationCur * _elevationScopeStep;
|
||||
_windageCur = _windageCur * _windageScopeStep;
|
||||
_elevationScopeStep = ((GVAR(ATragMX_workingMemory) select GVAR(ATragMX_currentTarget)) select 7);
|
||||
_windageScopeStep = ((GVAR(ATragMX_workingMemory) select GVAR(ATragMX_currentTarget)) select 8);
|
||||
|
||||
_elevationCur = _elevationCur * _elevationScopeStep;
|
||||
_windageCur = _windageCur * _windageScopeStep;
|
||||
};
|
||||
};
|
||||
|
||||
|
@ -7,7 +7,7 @@ GVAR(ATragMX_gunList) set [_index, +(GVAR(ATragMX_workingMemory) select GVAR(ATr
|
||||
|
||||
lbClear 6000;
|
||||
{
|
||||
lbAdd [6000, _x select 0];
|
||||
lbAdd [6000, _x select 0];
|
||||
} forEach GVAR(ATragMX_gunList);
|
||||
|
||||
profileNamespace setVariable ["ACE_ATragMX_gunList", GVAR(ATragMX_gunList)];
|
||||
|
@ -1,4 +1,4 @@
|
||||
#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,
|
||||
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"];
|
||||
|
||||
_fnc_atragmx = {
|
||||
private ["_target", "_position", "_range", "_inclinationAngle"];
|
||||
|
||||
if ((local ACE_player) && (currentWeapon ACE_player) in GVAR(ATragMX_COMPAT_LRF) && (!isNull (_this select 0))) then {
|
||||
_target = getPosATL (_this select 0);
|
||||
_position = getPosATL ACE_player;
|
||||
|
||||
_inclinationAngle = asin((ACE_player weaponDirection currentWeapon ACE_player) select 2);
|
||||
_range = _position distance _target;
|
||||
|
||||
GVAR(ATragMX_inclinationAngle) set [GVAR(ATragMX_currentTarget), _inclinationAngle];
|
||||
GVAR(ATragMX_targetRange) set [GVAR(ATragMX_currentTarget), _range];
|
||||
};
|
||||
private ["_target", "_position", "_range", "_inclinationAngle"];
|
||||
|
||||
if ((local ACE_player) && (currentWeapon ACE_player) in GVAR(ATragMX_COMPAT_LRF) && (!isNull (_this select 0))) then {
|
||||
_target = getPosATL (_this select 0);
|
||||
_position = getPosATL ACE_player;
|
||||
|
||||
_inclinationAngle = asin((ACE_player weaponDirection currentWeapon ACE_player) select 2);
|
||||
_range = _position distance _target;
|
||||
|
||||
GVAR(ATragMX_inclinationAngle) set [GVAR(ATragMX_currentTarget), _inclinationAngle];
|
||||
GVAR(ATragMX_targetRange) set [GVAR(ATragMX_currentTarget), _range];
|
||||
};
|
||||
};
|
||||
|
||||
//["ace_sys_rangefinder_Lazing", _fnc_atragmx] call CBA_fnc_addEventHandler;
|
||||
|
@ -4,27 +4,27 @@
|
||||
|
||||
if !(ctrlVisible 9000) then
|
||||
{
|
||||
private ["_startTime"];
|
||||
|
||||
false execVM QUOTE(PATHTOF(functions\fnc_show_target_speed_assist.sqf));
|
||||
true execVM QUOTE(PATHTOF(functions\fnc_show_target_speed_assist_timer.sqf));
|
||||
|
||||
ctrlSetFocus (_dsp displayCtrl 9002);
|
||||
|
||||
_startTime = time;
|
||||
|
||||
while {GVAR(ATragMX_speedAssistTimer)} do
|
||||
{
|
||||
sleep 0.1;
|
||||
ctrlSetText [9001, Str(Round((time - _startTime) * 10) / 10)];
|
||||
};
|
||||
|
||||
GVAR(ATragMX_speedAssistTimer) = true;
|
||||
|
||||
ctrlSetText [8006, Str(Round((time - _startTime) * 10) / 10)];
|
||||
|
||||
[] call FUNC(calculate_target_speed_assist);
|
||||
|
||||
false execVM QUOTE(PATHTOF(functions\fnc_show_target_speed_assist_timer.sqf));
|
||||
true execVM QUOTE(PATHTOF(functions\fnc_show_target_speed_assist.sqf));
|
||||
private ["_startTime"];
|
||||
|
||||
false execVM QUOTE(PATHTOF(functions\fnc_show_target_speed_assist.sqf));
|
||||
true execVM QUOTE(PATHTOF(functions\fnc_show_target_speed_assist_timer.sqf));
|
||||
|
||||
ctrlSetFocus (_dsp displayCtrl 9002);
|
||||
|
||||
_startTime = time;
|
||||
|
||||
while {GVAR(ATragMX_speedAssistTimer)} do
|
||||
{
|
||||
sleep 0.1;
|
||||
ctrlSetText [9001, Str(Round((time - _startTime) * 10) / 10)];
|
||||
};
|
||||
|
||||
GVAR(ATragMX_speedAssistTimer) = true;
|
||||
|
||||
ctrlSetText [8006, Str(Round((time - _startTime) * 10) / 10)];
|
||||
|
||||
[] call FUNC(calculate_target_speed_assist);
|
||||
|
||||
false execVM QUOTE(PATHTOF(functions\fnc_show_target_speed_assist_timer.sqf));
|
||||
true execVM QUOTE(PATHTOF(functions\fnc_show_target_speed_assist.sqf));
|
||||
};
|
||||
|
@ -4,18 +4,18 @@
|
||||
|
||||
if (ctrlVisible 6000) then
|
||||
{
|
||||
false execVM QUOTE(PATHTOF(functions\fnc_show_gun_list.sqf));
|
||||
true execVM QUOTE(PATHTOF(functions\fnc_show_main_page.sqf));
|
||||
|
||||
if (_this) then {
|
||||
(lbCurSel 6000) call FUNC(change_gun);
|
||||
};
|
||||
false execVM QUOTE(PATHTOF(functions\fnc_show_gun_list.sqf));
|
||||
true execVM QUOTE(PATHTOF(functions\fnc_show_main_page.sqf));
|
||||
|
||||
if (_this) then {
|
||||
(lbCurSel 6000) call FUNC(change_gun);
|
||||
};
|
||||
} else
|
||||
{
|
||||
false execVM QUOTE(PATHTOF(functions\fnc_show_main_page.sqf));
|
||||
true execVM QUOTE(PATHTOF(functions\fnc_show_gun_list.sqf));
|
||||
|
||||
ctrlSetFocus (_dsp displayCtrl 6002);
|
||||
false execVM QUOTE(PATHTOF(functions\fnc_show_main_page.sqf));
|
||||
true execVM QUOTE(PATHTOF(functions\fnc_show_gun_list.sqf));
|
||||
|
||||
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
|
||||
{
|
||||
false execVM QUOTE(PATHTOF(functions\fnc_show_range_card.sqf));
|
||||
true execVM QUOTE(PATHTOF(functions\fnc_show_main_page.sqf));
|
||||
false execVM QUOTE(PATHTOF(functions\fnc_show_range_card.sqf));
|
||||
true execVM QUOTE(PATHTOF(functions\fnc_show_main_page.sqf));
|
||||
} else
|
||||
{
|
||||
false execVM QUOTE(PATHTOF(functions\fnc_show_main_page.sqf));
|
||||
true execVM QUOTE(PATHTOF(functions\fnc_show_range_card.sqf));
|
||||
|
||||
ctrlSetFocus (_dsp displayCtrl 5001);
|
||||
|
||||
[] call FUNC(calculate_range_card);
|
||||
[] call FUNC(update_range_card);
|
||||
false execVM QUOTE(PATHTOF(functions\fnc_show_main_page.sqf));
|
||||
true execVM QUOTE(PATHTOF(functions\fnc_show_range_card.sqf));
|
||||
|
||||
ctrlSetFocus (_dsp displayCtrl 5001);
|
||||
|
||||
[] call FUNC(calculate_range_card);
|
||||
[] call FUNC(update_range_card);
|
||||
};
|
||||
|
@ -4,26 +4,26 @@
|
||||
|
||||
if (ctrlVisible 10000) then
|
||||
{
|
||||
false execVM QUOTE(PATHTOF(functions\fnc_show_range_card_setup.sqf));
|
||||
true execVM QUOTE(PATHTOF(functions\fnc_show_range_card.sqf));
|
||||
|
||||
if (_this == 1) then
|
||||
{
|
||||
GVAR(ATragMX_rangeCardStartRange) = 0 max Round(parseNumber(ctrlText 10003)) min 3000;
|
||||
GVAR(ATragMX_rangeCardEndRange) = 0 max Round(parseNumber(ctrlText 10004)) min 3000;
|
||||
GVAR(ATragMX_rangeCardIncrement) = 1 max Round(parseNumber(ctrlText 10005)) min 3000;
|
||||
|
||||
[] call FUNC(calculate_range_card);
|
||||
[] call FUNC(update_range_card);
|
||||
};
|
||||
false execVM QUOTE(PATHTOF(functions\fnc_show_range_card_setup.sqf));
|
||||
true execVM QUOTE(PATHTOF(functions\fnc_show_range_card.sqf));
|
||||
|
||||
if (_this == 1) then
|
||||
{
|
||||
GVAR(ATragMX_rangeCardStartRange) = 0 max Round(parseNumber(ctrlText 10003)) min 3000;
|
||||
GVAR(ATragMX_rangeCardEndRange) = 0 max Round(parseNumber(ctrlText 10004)) min 3000;
|
||||
GVAR(ATragMX_rangeCardIncrement) = 1 max Round(parseNumber(ctrlText 10005)) min 3000;
|
||||
|
||||
[] call FUNC(calculate_range_card);
|
||||
[] call FUNC(update_range_card);
|
||||
};
|
||||
} else
|
||||
{
|
||||
false execVM QUOTE(PATHTOF(functions\fnc_show_range_card.sqf));
|
||||
true execVM QUOTE(PATHTOF(functions\fnc_show_range_card_setup.sqf));
|
||||
|
||||
ctrlSetFocus (_dsp displayCtrl 10006);
|
||||
|
||||
ctrlSetText [10003, Str(Round(GVAR(ATragMX_rangeCardStartRange)))];
|
||||
ctrlSetText [10004, Str(Round(GVAR(ATragMX_rangeCardEndRange)))];
|
||||
ctrlSetText [10005, Str(Round(GVAR(ATragMX_rangeCardIncrement)))];
|
||||
false execVM QUOTE(PATHTOF(functions\fnc_show_range_card.sqf));
|
||||
true execVM QUOTE(PATHTOF(functions\fnc_show_range_card_setup.sqf));
|
||||
|
||||
ctrlSetFocus (_dsp displayCtrl 10006);
|
||||
|
||||
ctrlSetText [10003, Str(Round(GVAR(ATragMX_rangeCardStartRange)))];
|
||||
ctrlSetText [10004, Str(Round(GVAR(ATragMX_rangeCardEndRange)))];
|
||||
ctrlSetText [10005, Str(Round(GVAR(ATragMX_rangeCardIncrement)))];
|
||||
};
|
||||
|
@ -4,29 +4,29 @@
|
||||
|
||||
if (ctrlVisible 7000) then
|
||||
{
|
||||
false execVM QUOTE(PATHTOF(functions\fnc_show_target_range_assist.sqf));
|
||||
true execVM QUOTE(PATHTOF(functions\fnc_show_main_page.sqf));
|
||||
|
||||
if (_this == 1) then
|
||||
{
|
||||
ctrlSetText [320, Str(parseNumber(ctrlText 7012))];
|
||||
ctrlSetText [340, Str(parseNumber(ctrlText 7013))];
|
||||
};
|
||||
false execVM QUOTE(PATHTOF(functions\fnc_show_target_range_assist.sqf));
|
||||
true execVM QUOTE(PATHTOF(functions\fnc_show_main_page.sqf));
|
||||
|
||||
if (_this == 1) then
|
||||
{
|
||||
ctrlSetText [320, Str(parseNumber(ctrlText 7012))];
|
||||
ctrlSetText [340, Str(parseNumber(ctrlText 7013))];
|
||||
};
|
||||
} else
|
||||
{
|
||||
false execVM QUOTE(PATHTOF(functions\fnc_show_main_page.sqf));
|
||||
true execVM QUOTE(PATHTOF(functions\fnc_show_target_range_assist.sqf));
|
||||
|
||||
ctrlSetFocus (_dsp displayCtrl 7018);
|
||||
|
||||
ctrlSetText [7012, Str(parseNumber(ctrlText 320))];
|
||||
ctrlSetText [7013, Str(parseNumber(ctrlText 340))];
|
||||
false execVM QUOTE(PATHTOF(functions\fnc_show_main_page.sqf));
|
||||
true execVM QUOTE(PATHTOF(functions\fnc_show_target_range_assist.sqf));
|
||||
|
||||
ctrlSetFocus (_dsp displayCtrl 7018);
|
||||
|
||||
ctrlSetText [7012, Str(parseNumber(ctrlText 320))];
|
||||
ctrlSetText [7013, Str(parseNumber(ctrlText 340))];
|
||||
|
||||
if (GVAR(ATragMX_currentUnit) != 2) then
|
||||
{
|
||||
ctrlSetText [7016, "Yards"];
|
||||
} else
|
||||
{
|
||||
ctrlSetText [7016, "Meters"];
|
||||
};
|
||||
if (GVAR(ATragMX_currentUnit) != 2) then
|
||||
{
|
||||
ctrlSetText [7016, "Yards"];
|
||||
} else
|
||||
{
|
||||
ctrlSetText [7016, "Meters"];
|
||||
};
|
||||
};
|
||||
|
@ -4,36 +4,36 @@
|
||||
|
||||
if (ctrlVisible 8000) then
|
||||
{
|
||||
false execVM QUOTE(PATHTOF(functions\fnc_show_target_speed_assist.sqf));
|
||||
true execVM QUOTE(PATHTOF(functions\fnc_show_main_page.sqf));
|
||||
|
||||
if (_this == 1) then
|
||||
{
|
||||
[] call FUNC(calculate_target_speed_assist);
|
||||
ctrlSetText [330, Str(parseNumber(ctrlText 8007))];
|
||||
};
|
||||
false execVM QUOTE(PATHTOF(functions\fnc_show_target_speed_assist.sqf));
|
||||
true execVM QUOTE(PATHTOF(functions\fnc_show_main_page.sqf));
|
||||
|
||||
if (_this == 1) then
|
||||
{
|
||||
[] call FUNC(calculate_target_speed_assist);
|
||||
ctrlSetText [330, Str(parseNumber(ctrlText 8007))];
|
||||
};
|
||||
} else
|
||||
{
|
||||
false execVM QUOTE(PATHTOF(functions\fnc_show_main_page.sqf));
|
||||
true execVM QUOTE(PATHTOF(functions\fnc_show_target_speed_assist.sqf));
|
||||
|
||||
ctrlSetFocus (_dsp displayCtrl 8012);
|
||||
|
||||
ctrlSetText [8004, Str(Round((GVAR(ATragMX_targetRange) select GVAR(ATragMX_currentTarget))))];
|
||||
false execVM QUOTE(PATHTOF(functions\fnc_show_main_page.sqf));
|
||||
true execVM QUOTE(PATHTOF(functions\fnc_show_target_speed_assist.sqf));
|
||||
|
||||
ctrlSetFocus (_dsp displayCtrl 8012);
|
||||
|
||||
ctrlSetText [8004, Str(Round((GVAR(ATragMX_targetRange) select GVAR(ATragMX_currentTarget))))];
|
||||
|
||||
if (GVAR(ATragMX_currentUnit) != 2) then
|
||||
{
|
||||
ctrlSetText [8008, "Yards"];
|
||||
} else
|
||||
{
|
||||
ctrlSetText [8008, "Meters"];
|
||||
};
|
||||
|
||||
if (GVAR(ATragMX_currentUnit) != 1) then
|
||||
{
|
||||
ctrlSetText [8011, "m/s"];
|
||||
} else
|
||||
{
|
||||
ctrlSetText [8011, "mph"];
|
||||
};
|
||||
if (GVAR(ATragMX_currentUnit) != 2) then
|
||||
{
|
||||
ctrlSetText [8008, "Yards"];
|
||||
} else
|
||||
{
|
||||
ctrlSetText [8008, "Meters"];
|
||||
};
|
||||
|
||||
if (GVAR(ATragMX_currentUnit) != 1) then
|
||||
{
|
||||
ctrlSetText [8011, "m/s"];
|
||||
} else
|
||||
{
|
||||
ctrlSetText [8011, "mph"];
|
||||
};
|
||||
};
|
||||
|
@ -2,8 +2,8 @@
|
||||
|
||||
ctrlSetText [200, Str(Round((GVAR(ATragMX_temperature) select GVAR(ATragMX_currentTarget)) * 10) / 10)];
|
||||
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 {
|
||||
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)];
|
||||
|
@ -3,36 +3,36 @@
|
||||
ctrlSetText [1000, (GVAR(ATragMX_workingMemory) select GVAR(ATragMX_currentTarget)) select 0];
|
||||
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
|
||||
{
|
||||
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
|
||||
{
|
||||
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
|
||||
{
|
||||
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 {
|
||||
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 {
|
||||
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
|
||||
{
|
||||
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
|
||||
{
|
||||
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
|
||||
{
|
||||
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
|
||||
{
|
||||
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);
|
||||
|
@ -7,83 +7,83 @@ ctrlSetText [5006, (GVAR(ATragMX_rangeCardLastColumns) select GVAR(ATragMX_range
|
||||
|
||||
if (GVAR(ATragMX_currentUnit) != 2) then
|
||||
{
|
||||
ctrlSetText [5003, "Yards"];
|
||||
ctrlSetText [5003, "Yards"];
|
||||
} else
|
||||
{
|
||||
ctrlSetText [5003, "Meters"];
|
||||
ctrlSetText [5003, "Meters"];
|
||||
};
|
||||
|
||||
lnbClear 5007;
|
||||
|
||||
{
|
||||
_range = _x select 0;
|
||||
_elevation = _x select 1;
|
||||
_windage = _x select 2;
|
||||
_lead = _x select 3;
|
||||
_TOF = _x select 4;
|
||||
_velocity = _x select 5;
|
||||
_kineticEnergy = _x select 6;
|
||||
|
||||
switch ((GVAR(ATragMX_currentScopeUnit) select GVAR(ATragMX_currentTarget))) do
|
||||
{
|
||||
case 0:
|
||||
{
|
||||
_elevation = _elevation / 3.38;
|
||||
_windage = _windage / 3.38;
|
||||
};
|
||||
|
||||
case 2:
|
||||
{
|
||||
_elevation = _elevation * 1.047;
|
||||
_windage = _windage * 1.047;
|
||||
};
|
||||
|
||||
case 3:
|
||||
{
|
||||
_elevationScopeStep = ((GVAR(ATragMX_workingMemory) select GVAR(ATragMX_currentTarget)) select 7);
|
||||
_windageScopeStep = ((GVAR(ATragMX_workingMemory) select GVAR(ATragMX_currentTarget)) select 8);
|
||||
|
||||
_elevation = Round(_elevation / _elevationScopeStep);
|
||||
_windage = Round(_windage / _windageScopeStep);
|
||||
};
|
||||
};
|
||||
|
||||
_elevationOutput = Str(Round(_elevation * 100) / 100);
|
||||
_windageOutput = Str(Round(_windage * 100) / 100);
|
||||
|
||||
_rangeOutput = Str(_range);
|
||||
if (_velocity < 340.29) then
|
||||
{
|
||||
_rangeOutput = _rangeOutput + "*";
|
||||
};
|
||||
|
||||
if (GVAR(ATragMX_currentUnit) == 1) then
|
||||
{
|
||||
_velocity = _velocity * 3.2808399;
|
||||
};
|
||||
|
||||
switch (GVAR(ATragMX_rangeCardCurrentColumn)) do
|
||||
{
|
||||
case 0:
|
||||
{
|
||||
_lastColumnOutput = Str(Round(_lead * 100) / 100);
|
||||
};
|
||||
|
||||
case 1:
|
||||
{
|
||||
_lastColumnOutput = Str(Round(_velocity));
|
||||
};
|
||||
|
||||
case 2:
|
||||
{
|
||||
_lastColumnOutput = Str(Round(_kineticEnergy));
|
||||
};
|
||||
|
||||
case 3:
|
||||
{
|
||||
_lastColumnOutput = Str(Round(_TOF * 100) / 100);
|
||||
}
|
||||
};
|
||||
|
||||
lnbAddRow [5007, [_rangeOutput, _elevationOutput, _windageOutput, _lastColumnOutput]];
|
||||
_range = _x select 0;
|
||||
_elevation = _x select 1;
|
||||
_windage = _x select 2;
|
||||
_lead = _x select 3;
|
||||
_TOF = _x select 4;
|
||||
_velocity = _x select 5;
|
||||
_kineticEnergy = _x select 6;
|
||||
|
||||
switch ((GVAR(ATragMX_currentScopeUnit) select GVAR(ATragMX_currentTarget))) do
|
||||
{
|
||||
case 0:
|
||||
{
|
||||
_elevation = _elevation / 3.38;
|
||||
_windage = _windage / 3.38;
|
||||
};
|
||||
|
||||
case 2:
|
||||
{
|
||||
_elevation = _elevation * 1.047;
|
||||
_windage = _windage * 1.047;
|
||||
};
|
||||
|
||||
case 3:
|
||||
{
|
||||
_elevationScopeStep = ((GVAR(ATragMX_workingMemory) select GVAR(ATragMX_currentTarget)) select 7);
|
||||
_windageScopeStep = ((GVAR(ATragMX_workingMemory) select GVAR(ATragMX_currentTarget)) select 8);
|
||||
|
||||
_elevation = Round(_elevation / _elevationScopeStep);
|
||||
_windage = Round(_windage / _windageScopeStep);
|
||||
};
|
||||
};
|
||||
|
||||
_elevationOutput = Str(Round(_elevation * 100) / 100);
|
||||
_windageOutput = Str(Round(_windage * 100) / 100);
|
||||
|
||||
_rangeOutput = Str(_range);
|
||||
if (_velocity < 340.29) then
|
||||
{
|
||||
_rangeOutput = _rangeOutput + "*";
|
||||
};
|
||||
|
||||
if (GVAR(ATragMX_currentUnit) == 1) then
|
||||
{
|
||||
_velocity = _velocity * 3.2808399;
|
||||
};
|
||||
|
||||
switch (GVAR(ATragMX_rangeCardCurrentColumn)) do
|
||||
{
|
||||
case 0:
|
||||
{
|
||||
_lastColumnOutput = Str(Round(_lead * 100) / 100);
|
||||
};
|
||||
|
||||
case 1:
|
||||
{
|
||||
_lastColumnOutput = Str(Round(_velocity));
|
||||
};
|
||||
|
||||
case 2:
|
||||
{
|
||||
_lastColumnOutput = Str(Round(_kineticEnergy));
|
||||
};
|
||||
|
||||
case 3:
|
||||
{
|
||||
_lastColumnOutput = Str(Round(_TOF * 100) / 100);
|
||||
}
|
||||
};
|
||||
|
||||
lnbAddRow [5007, [_rangeOutput, _elevationOutput, _windageOutput, _lastColumnOutput]];
|
||||
} forEach GVAR(ATragMX_rangeCardData);
|
||||
|
@ -16,41 +16,41 @@ switch ((GVAR(ATragMX_currentScopeUnit) select GVAR(ATragMX_currentTarget))) do
|
||||
{
|
||||
case 0:
|
||||
{
|
||||
_elevationAbs = _elevationAbs / 3.38;
|
||||
_windageAbs = _windageAbs / 3.38;
|
||||
|
||||
_elevationRel = _elevationRel / 3.38;
|
||||
_windageRel = _windageRel / 3.38;
|
||||
|
||||
_elevationCur = _elevationCur / 3.38;
|
||||
_windageCur = _windageCur / 3.38;
|
||||
_elevationAbs = _elevationAbs / 3.38;
|
||||
_windageAbs = _windageAbs / 3.38;
|
||||
|
||||
_elevationRel = _elevationRel / 3.38;
|
||||
_windageRel = _windageRel / 3.38;
|
||||
|
||||
_elevationCur = _elevationCur / 3.38;
|
||||
_windageCur = _windageCur / 3.38;
|
||||
};
|
||||
|
||||
|
||||
case 2:
|
||||
{
|
||||
_elevationAbs = _elevationAbs * 1.047;
|
||||
_windageAbs = _windageAbs * 1.047;
|
||||
|
||||
_elevationRel = _elevationRel * 1.047;
|
||||
_windageRel = _windageRel * 1.047;
|
||||
|
||||
_elevationCur = _elevationCur * 1.047;
|
||||
_windageCur = _windageCur * 1.047;
|
||||
_elevationAbs = _elevationAbs * 1.047;
|
||||
_windageAbs = _windageAbs * 1.047;
|
||||
|
||||
_elevationRel = _elevationRel * 1.047;
|
||||
_windageRel = _windageRel * 1.047;
|
||||
|
||||
_elevationCur = _elevationCur * 1.047;
|
||||
_windageCur = _windageCur * 1.047;
|
||||
};
|
||||
|
||||
case 3:
|
||||
|
||||
case 3:
|
||||
{
|
||||
_elevationScopeStep = ((GVAR(ATragMX_workingMemory) select GVAR(ATragMX_currentTarget)) select 7);
|
||||
_windageScopeStep = ((GVAR(ATragMX_workingMemory) select GVAR(ATragMX_currentTarget)) select 8);
|
||||
|
||||
_elevationAbs = Round(_elevationAbs / _elevationScopeStep);
|
||||
_windageAbs = Round(_windageAbs / _windageScopeStep);
|
||||
|
||||
_elevationRel = Round(_elevationRel / _elevationScopeStep);
|
||||
_windageRel = Round(_windageRel / _windageScopeStep);
|
||||
|
||||
_elevationCur = Round(_elevationCur / _elevationScopeStep);
|
||||
_windageCur = Round(_windageCur / _windageScopeStep);
|
||||
_elevationScopeStep = ((GVAR(ATragMX_workingMemory) select GVAR(ATragMX_currentTarget)) select 7);
|
||||
_windageScopeStep = ((GVAR(ATragMX_workingMemory) select GVAR(ATragMX_currentTarget)) select 8);
|
||||
|
||||
_elevationAbs = Round(_elevationAbs / _elevationScopeStep);
|
||||
_windageAbs = Round(_windageAbs / _windageScopeStep);
|
||||
|
||||
_elevationRel = Round(_elevationRel / _elevationScopeStep);
|
||||
_windageRel = Round(_windageRel / _windageScopeStep);
|
||||
|
||||
_elevationCur = Round(_elevationCur / _elevationScopeStep);
|
||||
_windageCur = Round(_windageCur / _windageScopeStep);
|
||||
};
|
||||
};
|
||||
|
||||
|
@ -2,21 +2,21 @@
|
||||
|
||||
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
|
||||
{
|
||||
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
|
||||
{
|
||||
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
|
||||
{
|
||||
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
|
||||
{
|
||||
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));
|
||||
if (GVAR(ATragMX_currentUnit) != 2) then
|
||||
{
|
||||
_zeroRange = _zeroRange / 1.0936133;
|
||||
_zeroRange = _zeroRange / 1.0936133;
|
||||
};
|
||||
|
||||
private ["_temperature", "_barometricPressure", "_relativeHumidity"];
|
||||
@ -25,8 +25,8 @@ _barometricPressure = (GVAR(ATragMX_barometricPressure) select GVAR(ATragMX_curr
|
||||
_relativeHumidity = (GVAR(ATragMX_relativeHumidity) select GVAR(ATragMX_currentTarget));
|
||||
if (GVAR(ATragMX_currentUnit) == 1) then
|
||||
{
|
||||
_temperature = (_temperature - 32) / 1.8;
|
||||
_barometricPressure = _barometricPressure * 33.8638866667;
|
||||
_temperature = (_temperature - 32) / 1.8;
|
||||
_barometricPressure = _barometricPressure * 33.8638866667;
|
||||
};
|
||||
|
||||
private ["_result"];
|
||||
|
@ -2,11 +2,11 @@
|
||||
#include "\z\ace\addons\main\script_mod.hpp"
|
||||
|
||||
#ifdef DEBUG_ENABLED_ATRAGMX
|
||||
#define DEBUG_MODE_FULL
|
||||
#define DEBUG_MODE_FULL
|
||||
#endif
|
||||
|
||||
#ifdef DEBUG_SETTINGS_ATRAGMX
|
||||
#define DEBUG_SETTINGS DEBUG_SETTINGS_ATRAGMX
|
||||
#define DEBUG_SETTINGS DEBUG_SETTINGS_ATRAGMX
|
||||
#endif
|
||||
|
||||
#include "\z\ace\addons\main\script_macros.hpp"
|
@ -1,6 +1,6 @@
|
||||
<?xml version="1.0" encoding="utf-8" ?>
|
||||
<Project name="ACE">
|
||||
<Package name="ATragMX">
|
||||
<Package name="ATragMX">
|
||||
<Key ID="STR_ACE_ATragMX_Name">
|
||||
<English>ATragMX</English>
|
||||
<German>ATragMX</German>
|
||||
@ -22,5 +22,5 @@
|
||||
<Key ID="STR_ACE_ATragMX_ATragMXDialogKey">
|
||||
<English>Open ATragMX</English>
|
||||
</Key>
|
||||
</Package>
|
||||
</Package>
|
||||
</Project>
|
||||
|
Loading…
Reference in New Issue
Block a user