From 51542f90535b16d41bd972087d1263c29d8dd22a Mon Sep 17 00:00:00 2001 From: Brandon Danyluk Date: Thu, 18 Mar 2021 23:28:55 -0600 Subject: [PATCH 001/254] Basic proportional navigation and PID controller --- .../functions/fnc_changeMissileDirection.sqf | 11 +- .../functions/fnc_guidancePFH.sqf | 100 ++++++++++++------ .../missileguidance/functions/fnc_onFired.sqf | 5 +- 3 files changed, 75 insertions(+), 41 deletions(-) diff --git a/addons/missileguidance/functions/fnc_changeMissileDirection.sqf b/addons/missileguidance/functions/fnc_changeMissileDirection.sqf index d560f05e2aa..5d9c8f0e38d 100644 --- a/addons/missileguidance/functions/fnc_changeMissileDirection.sqf +++ b/addons/missileguidance/functions/fnc_changeMissileDirection.sqf @@ -16,10 +16,11 @@ * Public: No */ -params ["_projectile", "_v"]; +params ["_projectile", "_pitch", "_yaw", "_roll"]; + +private _dir = [sin _yaw * cos _pitch, cos _yaw * cos _pitch, sin _pitch]; +private _up = [[sin _roll, -sin _pitch, cos _roll * cos _pitch], -_yaw] call BIS_fnc_rotateVector2D; + +_projectile setVectorDirAndUp [_dir, _up]; -private _l = sqrt ((_v select 0) ^ 2 + (_v select 1) ^ 2); -private _r = -(_v select 2) / _l; -_projectile setVectorDirAndUp [ _v, [(_v select 0) * _r,(_v select 1) * _r, _l] ]; -_projectile setVelocity (_v vectorMultiply (vectorMagnitude (velocity _projectile))); diff --git a/addons/missileguidance/functions/fnc_guidancePFH.sqf b/addons/missileguidance/functions/fnc_guidancePFH.sqf index 8050dfcff53..c83bbc67561 100644 --- a/addons/missileguidance/functions/fnc_guidancePFH.sqf +++ b/addons/missileguidance/functions/fnc_guidancePFH.sqf @@ -24,7 +24,7 @@ params ["_args", "_pfID"]; _args params ["_firedEH", "_launchParams", "_flightParams", "_seekerParams", "_stateParams"]; _firedEH params ["_shooter","","","","_ammo","","_projectile"]; _launchParams params ["","_targetLaunchParams"]; -_stateParams params ["_lastRunTime", "_seekerStateParams", "_attackProfileStateParams", "_lastKnownPosState"]; +_stateParams params ["_lastRunTime", "_seekerStateParams", "_attackProfileStateParams", "_lastKnownPosState", "_pidData"]; if (!alive _projectile || isNull _projectile || isNull _shooter) exitWith { [_pfID] call CBA_fnc_removePerFrameHandler; @@ -57,46 +57,76 @@ private _profileAdjustedTargetPos = [_seekerTargetPos, _args, _attackProfileStat // If we have no seeker target, then do not change anything // If there is no deflection on the missile, this cannot change and therefore is redundant. Avoid calculations for missiles without any deflection if ((_minDeflection != 0 || {_maxDeflection != 0}) && {_profileAdjustedTargetPos isNotEqualTo [0,0,0]}) then { + // Get a commanded acceleration via proportional navigation (https://youtu.be/Osb7anMm1AY) + // Use a simple PID controller to get the desired pitch, yaw, and roll + // Simulate moving servos by moving in each DOF by a fixed amount per frame + // Then setVectorDirAndUp to allow ARMA to translate the velocity to whatever PhysX says - private _targetVector = _projectilePos vectorFromTo _profileAdjustedTargetPos; - private _adjustVector = _targetVector vectorDiff (vectorDir _projectile); - _adjustVector params ["_adjustVectorX", "_adjustVectorY", "_adjustVectorZ"]; + private _rollDegreesPerSecond = 15; + private _yawDegreesPerSecond = 15; + private _pitchDegreesPerSecond = 15; - private _yaw = 0; - private _pitch = 0; - private _roll = 0; + private _proportionalGain = 1.6; + private _integralGain = 0; + private _derivativeGain = 0; - if (_adjustVectorX < 0) then { - _yaw = - ( (_minDeflection max ((abs _adjustVectorX) min _maxDeflection) ) ); - } else { - if (_adjustVectorX > 0) then { - _yaw = ( (_minDeflection max (_adjustVectorX min _maxDeflection) ) ); - }; - }; - if (_adjustVectorY < 0) then { - _roll = - ( (_minDeflection max ((abs _adjustVectorY) min _maxDeflection) ) ); - } else { - if (_adjustVectorY > 0) then { - _roll = ( (_minDeflection max (_adjustVectorY min _maxDeflection) ) ); - }; - }; - if (_adjustVectorZ < 0) then { - _pitch = - ( (_minDeflection max ((abs _adjustVectorZ) min _maxDeflection) ) ); - } else { - if (_adjustVectorZ > 0) then { - _pitch = ( (_minDeflection max (_adjustVectorZ min _maxDeflection) ) ); - }; - }; - private _finalAdjustVector = [_yaw, _roll, _pitch]; + _pidData params ["_pid", "_lastTargetPosition", "_lastLineOfSight", "_currentPitchYawRoll"]; + _currentPitchYawRoll params ["_pitch", "_yaw", "_roll"]; + + private _navigationGain = 3; + + private _lineOfSight = (_projectile vectorWorldToModelVisual (_profileAdjustedTargetPos vectorDiff _projectilePos)); + + private _losDelta = _lineOfSight vectorDiff _lastLineOfSight; + private _losRate = (vectorMagnitude _losDelta) / _runtimeDelta; + private _closingVelocity = -_losRate; + + private _commandedLateralAcceleration = _navigationGain * _losRate * _closingVelocity; + + private _commandedAcceleration = [_lineOfSight#2, -(_lineOfSight#0), 0] vectorMultiply _commandedLateralAcceleration; + + private _acceleration = [0, 0]; + { + (_pid select _forEachIndex) params ["", "_lastDerivative", "_integral"]; + // think about this in xz plane where x = yaw, z = pitch + + private _commandedAccelerationAxis = _commandedAcceleration select _forEachIndex; - TRACE_3("", _pitch, _yaw, _roll); - TRACE_3("", _targetVector, _adjustVector, _finalAdjustVector); + private _proportional = _commandedAccelerationAxis * _proportionalGain; + + private _d0 = _commandedAccelerationAxis * _derivativeGain; + private _derivative = (_d0 - _lastDerivative) / _runtimeDelta; + + _integral = _integral + (_d0 * _runtimeDelta * _integralGain); + + private _pidSum = _proportional + _integral + _derivative; + + (_pid select _forEachIndex) set [1, _d0]; + (_pid select _forEachIndex) set [2, _integral]; + + _acceleration set [_forEachIndex, _pidSum]; + } forEach _acceleration; if (accTime > 0) then { - private _changeVector = (vectorDir _projectile) vectorAdd _finalAdjustVector; - TRACE_2("",_projectile,_changeVector); - [_projectile, _changeVector] call FUNC(changeMissileDirection); + _acceleration params ["_pitchChange", "_yawChange"]; + + private _clampedPitch = (-_pitchChange min _pitchDegreesPerSecond) max -_pitchDegreesPerSecond; + private _clampedYaw = (_yawChange min _yawDegreesPerSecond) max -_yawDegreesPerSecond; + + _pitch = _pitch + _clampedPitch * _runtimeDelta; + _yaw = _yaw + _clampedYaw * _runtimeDelta; + + [_projectile, _pitch, _yaw, 0] call FUNC(changeMissileDirection); + + _currentPitchYawRoll set [0, _pitch]; + _currentPitchYawRoll set [1, _yaw]; }; + + _pidData set [0, _pid]; + _pidData set [1, _profileAdjustedTargetPos]; + _pidData set [2, _lineOfSight]; + _pidData set [3, _currentPitchYawRoll]; + _stateParams set [4, _pidData]; }; #ifdef DRAW_GUIDANCE_INFO @@ -105,7 +135,7 @@ drawIcon3D ["\a3\ui_f\data\IGUI\Cfg\Cursors\selectover_ca.paa", [1,0,0,1], ASLto private _ps = "#particlesource" createVehicleLocal (ASLtoAGL _projectilePos); _PS setParticleParams [["\A3\Data_f\cl_basic", 8, 3, 1], "", "Billboard", 1, 3.0141, [0, 0, 2], [0, 0, 0], 1, 1.275, 1, 0, [1, 1], [[1, 0, 0, 1], [1, 0, 0, 1], [1, 0, 0, 1]], [1], 1, 0, "", "", nil]; -_PS setDropInterval 3.0; +_PS setDropInterval 1.0; #endif _stateParams set [0, diag_tickTime]; diff --git a/addons/missileguidance/functions/fnc_onFired.sqf b/addons/missileguidance/functions/fnc_onFired.sqf index 422639c452a..de5531c5e05 100644 --- a/addons/missileguidance/functions/fnc_onFired.sqf +++ b/addons/missileguidance/functions/fnc_onFired.sqf @@ -95,6 +95,9 @@ if (_seekLastTargetPos && {!isNil "_target"}) then { _lastKnownPosState set [1, [0,0,0]]; }; +private _pitchYaw = (vectorDir _projectile) call CBA_fnc_vect2Polar; +private _pidData = [[[0, 0, 0], [0, 0, 0], [0, 0, 0]], [0, 0, 0], [0, 1, 0], [_pitchYaw select 0, _pitchYaw select 1, 0]]; + TRACE_4("Beginning ACE guidance system",_target,_ammo,_seekerType,_attackProfile); private _args = [_this, [ _shooter, @@ -115,7 +118,7 @@ private _args = [_this, getNumber ( _config >> "seekerMaxRange" ), getNumber ( _config >> "seekerMinRange" ) ], - [ diag_tickTime, [], [], _lastKnownPosState] + [ diag_tickTime, [], [], _lastKnownPosState, _pidData] ]; private _onFiredFunc = getText (configFile >> QGVAR(SeekerTypes) >> _seekerType >> "onFired"); From 2fd4f70c5b93ca1937d71c00df330e505011b02a Mon Sep 17 00:00:00 2001 From: Brandon Danyluk Date: Thu, 18 Mar 2021 23:43:07 -0600 Subject: [PATCH 002/254] Add debug info --- addons/missileguidance/functions/fnc_guidancePFH.sqf | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/addons/missileguidance/functions/fnc_guidancePFH.sqf b/addons/missileguidance/functions/fnc_guidancePFH.sqf index c83bbc67561..d67f9b3c999 100644 --- a/addons/missileguidance/functions/fnc_guidancePFH.sqf +++ b/addons/missileguidance/functions/fnc_guidancePFH.sqf @@ -107,7 +107,14 @@ if ((_minDeflection != 0 || {_maxDeflection != 0}) && {_profileAdjustedTargetPos _acceleration set [_forEachIndex, _pidSum]; } forEach _acceleration; - if (accTime > 0) then { + #ifdef DRAW_GUIDANCE_INFO + TRACE_1("",_acceleration); + private _projectilePosAGL = ASLToAGL _projectilePos; + private _debugAcceleration = [_acceleration#0, 0, _acceleration#1]; + drawLine3D [_projectilePosAGL, _projectilePosAGL vectorAdd ((_projectile vectorModelToWorldVisual _debugAcceleration) vectorMultiply 5), [1, 0, 0, 1]]; + #endif + + if (!isGamePaused && accTime > 0) then { _acceleration params ["_pitchChange", "_yawChange"]; private _clampedPitch = (-_pitchChange min _pitchDegreesPerSecond) max -_pitchDegreesPerSecond; From 365860dd098b1d0d2d7622ae89e47f19878d7cfb Mon Sep 17 00:00:00 2001 From: Brandon Danyluk Date: Fri, 26 Mar 2021 23:15:29 -0600 Subject: [PATCH 003/254] attempt at missile dynamics --- .../functions/fnc_guidancePFH.sqf | 52 ++++++++++++------- .../missileguidance/functions/fnc_onFired.sqf | 4 +- .../functions/fnc_seekerType_Optic.sqf | 2 +- addons/missileguidance/script_component.hpp | 6 +-- 4 files changed, 40 insertions(+), 24 deletions(-) diff --git a/addons/missileguidance/functions/fnc_guidancePFH.sqf b/addons/missileguidance/functions/fnc_guidancePFH.sqf index d67f9b3c999..4f7ed24118a 100644 --- a/addons/missileguidance/functions/fnc_guidancePFH.sqf +++ b/addons/missileguidance/functions/fnc_guidancePFH.sqf @@ -46,7 +46,7 @@ private _minDeflection = ((_flightParams select 0) - ((_flightParams select 0) * private _maxDeflection = (_flightParams select 1) * _adjustTime; // private _incDeflection = _flightParams select 2; // todo -private _projectilePos = getPosASL _projectile; +private _projectilePos = getPosASLVisual _projectile; // Run seeker function: private _seekerTargetPos = [[0,0,0], _args, _seekerStateParams, _lastKnownPosState] call FUNC(doSeekerSearch); @@ -62,28 +62,36 @@ if ((_minDeflection != 0 || {_maxDeflection != 0}) && {_profileAdjustedTargetPos // Simulate moving servos by moving in each DOF by a fixed amount per frame // Then setVectorDirAndUp to allow ARMA to translate the velocity to whatever PhysX says - private _rollDegreesPerSecond = 15; - private _yawDegreesPerSecond = 15; - private _pitchDegreesPerSecond = 15; + private _rollDegreesPerSecond = 30; + private _yawDegreesPerSecond = 30; + private _pitchDegreesPerSecond = 30; - private _proportionalGain = 1.6; + private _proportionalGain = 1; private _integralGain = 0; private _derivativeGain = 0; - _pidData params ["_pid", "_lastTargetPosition", "_lastLineOfSight", "_currentPitchYawRoll"]; + _pidData params ["_pid", "_lastTargetDetails", "_lastLineOfSight", "_currentPitchYawRoll"]; _currentPitchYawRoll params ["_pitch", "_yaw", "_roll"]; + _lastTargetDetails params ["_lastTargetPosition", "_lastTargetVelocity"]; private _navigationGain = 3; + private _targetVelocity = (_seekerTargetPos vectorDiff _lastTargetPosition) vectorMultiply (1 / TIMESTEP_FACTOR); + private _targetAcceleration = (_targetVelocity vectorDiff _lastTargetVelocity) vectorMultiply (1 / TIMESTEP_FACTOR); - private _lineOfSight = (_projectile vectorWorldToModelVisual (_profileAdjustedTargetPos vectorDiff _projectilePos)); + private _lineOfSight = _projectile vectorWorldToModelVisual vectorNormalized (_profileAdjustedTargetPos vectorDiff _projectilePos); + private _losNormal = [(_lineOfSight#2), -(_lineOfSight#0), 0]; - private _losDelta = _lineOfSight vectorDiff _lastLineOfSight; - private _losRate = (vectorMagnitude _losDelta) / _runtimeDelta; - private _closingVelocity = -_losRate; + private _deltaLOS = _lineOfSight vectorDiff _lastLineOfSight; + private _rotationRate = vectorMagnitude _deltaLOS; + private _closingVelocity = -_rotationRate; - private _commandedLateralAcceleration = _navigationGain * _losRate * _closingVelocity; + private _lateralAcceleration = _navigationGain * _rotationRate * _closingVelocity; + private _commandedAcceleration = _losNormal vectorMultiply _lateralAcceleration; + //_commandedAcceleration = _commandedAcceleration vectorAdd (_losNormal vectorMultiply (_navigationGain * 0.5 * TIMESTEP_FACTOR * (9.81 + 150))); - private _commandedAcceleration = [_lineOfSight#2, -(_lineOfSight#0), 0] vectorMultiply _commandedLateralAcceleration; + //systemChat str vectorMagnitude _targetAcceleration; + + TRACE_5("PN", CBA_missionTime, _lineOfSight, _lastLineOfSight, _rotationRate, _deltaLOS); private _acceleration = [0, 0]; { @@ -95,9 +103,9 @@ if ((_minDeflection != 0 || {_maxDeflection != 0}) && {_profileAdjustedTargetPos private _proportional = _commandedAccelerationAxis * _proportionalGain; private _d0 = _commandedAccelerationAxis * _derivativeGain; - private _derivative = (_d0 - _lastDerivative) / _runtimeDelta; + private _derivative = (_d0 - _lastDerivative) / TIMESTEP_FACTOR; - _integral = _integral + (_d0 * _runtimeDelta * _integralGain); + _integral = _integral + (_d0 * TIMESTEP_FACTOR * _integralGain); private _pidSum = _proportional + _integral + _derivative; @@ -111,7 +119,12 @@ if ((_minDeflection != 0 || {_maxDeflection != 0}) && {_profileAdjustedTargetPos TRACE_1("",_acceleration); private _projectilePosAGL = ASLToAGL _projectilePos; private _debugAcceleration = [_acceleration#0, 0, _acceleration#1]; - drawLine3D [_projectilePosAGL, _projectilePosAGL vectorAdd ((_projectile vectorModelToWorldVisual _debugAcceleration) vectorMultiply 5), [1, 0, 0, 1]]; + drawLine3D [_projectilePosAGL, _projectilePosAGL vectorAdd (_lineOfSight vectorMultiply 15), [1, 0, 0, 1]]; + drawLine3D [_projectilePosAGL, _projectilePosAGL vectorAdd (_lastLineOfSight vectorMultiply 5), [0, 1, 0, 1]]; + drawLine3D [_projectilePosAGL, _projectilePosAGL vectorAdd ([_lineOfSight#2, -(_lineOfSight#0), 0] vectorMultiply 5), [0, 0, 1, 1]]; + + drawIcon3D ["\a3\ui_f\data\IGUI\Cfg\Cursors\selectover_ca.paa", [1,0,0,1], [0, 0, 4] vectorAdd ASLtoAGL _projectilePos, 0.75, 0.75, 0, str _rotationRate, 1, 0.025, "TahomaB"]; + drawIcon3D ["\a3\ui_f\data\IGUI\Cfg\Cursors\selectover_ca.paa", [1,0,0,1], [0, 0, 3] vectorAdd ASLtoAGL _projectilePos, 0.75, 0.75, 0, str vectorMagnitude _targetAcceleration, 1, 0.025, "TahomaB"]; #endif if (!isGamePaused && accTime > 0) then { @@ -120,8 +133,8 @@ if ((_minDeflection != 0 || {_maxDeflection != 0}) && {_profileAdjustedTargetPos private _clampedPitch = (-_pitchChange min _pitchDegreesPerSecond) max -_pitchDegreesPerSecond; private _clampedYaw = (_yawChange min _yawDegreesPerSecond) max -_yawDegreesPerSecond; - _pitch = _pitch + _clampedPitch * _runtimeDelta; - _yaw = _yaw + _clampedYaw * _runtimeDelta; + _pitch = _pitch + _clampedPitch * TIMESTEP_FACTOR; + _yaw = _yaw + _clampedYaw * TIMESTEP_FACTOR; [_projectile, _pitch, _yaw, 0] call FUNC(changeMissileDirection); @@ -130,10 +143,13 @@ if ((_minDeflection != 0 || {_maxDeflection != 0}) && {_profileAdjustedTargetPos }; _pidData set [0, _pid]; - _pidData set [1, _profileAdjustedTargetPos]; + if (accTime > 0) then { + _pidData set [1, [_seekerTargetPos, _targetVelocity]]; + }; _pidData set [2, _lineOfSight]; _pidData set [3, _currentPitchYawRoll]; _stateParams set [4, _pidData]; + _args set [4, _stateParams]; }; #ifdef DRAW_GUIDANCE_INFO diff --git a/addons/missileguidance/functions/fnc_onFired.sqf b/addons/missileguidance/functions/fnc_onFired.sqf index de5531c5e05..d08b89e1440 100644 --- a/addons/missileguidance/functions/fnc_onFired.sqf +++ b/addons/missileguidance/functions/fnc_onFired.sqf @@ -96,7 +96,7 @@ if (_seekLastTargetPos && {!isNil "_target"}) then { }; private _pitchYaw = (vectorDir _projectile) call CBA_fnc_vect2Polar; -private _pidData = [[[0, 0, 0], [0, 0, 0], [0, 0, 0]], [0, 0, 0], [0, 1, 0], [_pitchYaw select 0, _pitchYaw select 1, 0]]; +private _pidData = [[[0, 0, 0], [0, 0, 0], [0, 0, 0]], [[0, 0, 0], [0, 0, 0]], [0, 1, 0], [_pitchYaw select 0, _pitchYaw select 1, 0]]; TRACE_4("Beginning ACE guidance system",_target,_ammo,_seekerType,_attackProfile); private _args = [_this, @@ -148,7 +148,7 @@ if (_onFiredFunc != "") then { // _stateParams params ["_lastRunTime", "_seekerStateParams", "_attackProfileStateParams", "_lastKnownPosState"]; // _seekerParams params ["_seekerAngle", "_seekerAccuracy", "_seekerMaxRange", "_seekerMinRange"]; -[FUNC(guidancePFH), 0, _args ] call CBA_fnc_addPerFrameHandler; +[FUNC(guidancePFH),0, _args ] call CBA_fnc_addPerFrameHandler; /* Clears locking settings diff --git a/addons/missileguidance/functions/fnc_seekerType_Optic.sqf b/addons/missileguidance/functions/fnc_seekerType_Optic.sqf index 356ad5c2f1e..f61e799565a 100644 --- a/addons/missileguidance/functions/fnc_seekerType_Optic.sqf +++ b/addons/missileguidance/functions/fnc_seekerType_Optic.sqf @@ -47,7 +47,7 @@ private _eta = _distanceToTarget / _projectileSpeed; private _adjustDistance = (velocity _target) vectorMultiply _eta; TRACE_3("leading target",_distanceToTarget,_eta,_adjustDistance); -_foundTargetPos = _foundTargetPos vectorAdd _adjustDistance; +//_foundTargetPos = _foundTargetPos vectorAdd _adjustDistance; TRACE_2("return",_foundTargetPos,(aimPos _target) distance _foundTargetPos); _foundTargetPos; diff --git a/addons/missileguidance/script_component.hpp b/addons/missileguidance/script_component.hpp index 2b43be42f3c..92aacf90117 100644 --- a/addons/missileguidance/script_component.hpp +++ b/addons/missileguidance/script_component.hpp @@ -2,9 +2,9 @@ #define COMPONENT_BEAUTIFIED Missile Guidance #include "\z\ace\addons\main\script_mod.hpp" -// #define DRAW_GUIDANCE_INFO -// #define DEBUG_MODE_FULL -// #define DISABLE_COMPILE_CACHE + #define DRAW_GUIDANCE_INFO + #define DEBUG_MODE_FULL + #define DISABLE_COMPILE_CACHE // #define ENABLE_PERFORMANCE_COUNTERS #ifdef DEBUG_ENABLED_MISSILEGUIDANCE From 17175db48e327acc198fdea7c62965b5d0e1324f Mon Sep 17 00:00:00 2001 From: Brandon Danyluk Date: Wed, 31 Mar 2021 17:16:00 -0600 Subject: [PATCH 004/254] v2 of proporitonal nav --- .../functions/fnc_guidancePFH.sqf | 83 +++++++------------ .../missileguidance/functions/fnc_onFired.sqf | 4 +- 2 files changed, 31 insertions(+), 56 deletions(-) diff --git a/addons/missileguidance/functions/fnc_guidancePFH.sqf b/addons/missileguidance/functions/fnc_guidancePFH.sqf index 4f7ed24118a..8f3501077fc 100644 --- a/addons/missileguidance/functions/fnc_guidancePFH.sqf +++ b/addons/missileguidance/functions/fnc_guidancePFH.sqf @@ -70,71 +70,45 @@ if ((_minDeflection != 0 || {_maxDeflection != 0}) && {_profileAdjustedTargetPos private _integralGain = 0; private _derivativeGain = 0; - _pidData params ["_pid", "_lastTargetDetails", "_lastLineOfSight", "_currentPitchYawRoll"]; + _pidData params ["_pid", "_lastMissileFrame", "_currentPitchYawRoll"]; _currentPitchYawRoll params ["_pitch", "_yaw", "_roll"]; - _lastTargetDetails params ["_lastTargetPosition", "_lastTargetVelocity"]; + _lastMissileFrame params ["_lastTargetPosition", "_lastTargetVelocity", "_lastAngle"]; private _navigationGain = 3; - private _targetVelocity = (_seekerTargetPos vectorDiff _lastTargetPosition) vectorMultiply (1 / TIMESTEP_FACTOR); - private _targetAcceleration = (_targetVelocity vectorDiff _lastTargetVelocity) vectorMultiply (1 / TIMESTEP_FACTOR); + // integrate target velocity for realistic inference of velocity + private _targetVelocity = (_seekerTargetPos vectorDiff _lastTargetPosition) vectorMultiply (1 / diag_deltaTime); + private _targetAcceleration = (_targetVelocity vectorDiff _lastTargetVelocity) vectorMultiply (1 / diag_deltaTime); - private _lineOfSight = _projectile vectorWorldToModelVisual vectorNormalized (_profileAdjustedTargetPos vectorDiff _projectilePos); - private _losNormal = [(_lineOfSight#2), -(_lineOfSight#0), 0]; + private _currentLineOfSight = vectorNormalized (_profileAdjustedTargetPos vectorDiff _projectilePos); + private _targetVelocityAtPositon = _profileAdjustedTargetPos vectorAdd _targetVelocity; + private _lineOfSightAtPosition = _projectilePos vectorAdd _currentLineOfSight; - private _deltaLOS = _lineOfSight vectorDiff _lastLineOfSight; - private _rotationRate = vectorMagnitude _deltaLOS; - private _closingVelocity = -_rotationRate; + // get angle between LOS's + private _angleNow = acos (_targetVelocityAtPositon vectorCos _lineOfSightAtPosition); + private _losChange = (_angleNow - _lastAngle) / diag_deltaTime; - private _lateralAcceleration = _navigationGain * _rotationRate * _closingVelocity; - private _commandedAcceleration = _losNormal vectorMultiply _lateralAcceleration; - //_commandedAcceleration = _commandedAcceleration vectorAdd (_losNormal vectorMultiply (_navigationGain * 0.5 * TIMESTEP_FACTOR * (9.81 + 150))); + private _closingVelocity = (velocity _projectile) vectorDiff _targetVelocity; - //systemChat str vectorMagnitude _targetAcceleration; - - TRACE_5("PN", CBA_missionTime, _lineOfSight, _lastLineOfSight, _rotationRate, _deltaLOS); - - private _acceleration = [0, 0]; - { - (_pid select _forEachIndex) params ["", "_lastDerivative", "_integral"]; - // think about this in xz plane where x = yaw, z = pitch - - private _commandedAccelerationAxis = _commandedAcceleration select _forEachIndex; - - private _proportional = _commandedAccelerationAxis * _proportionalGain; - - private _d0 = _commandedAccelerationAxis * _derivativeGain; - private _derivative = (_d0 - _lastDerivative) / TIMESTEP_FACTOR; - - _integral = _integral + (_d0 * TIMESTEP_FACTOR * _integralGain); - - private _pidSum = _proportional + _integral + _derivative; - - (_pid select _forEachIndex) set [1, _d0]; - (_pid select _forEachIndex) set [2, _integral]; - - _acceleration set [_forEachIndex, _pidSum]; - } forEach _acceleration; + private _commandedAcceleration = _closingVelocity vectorMultiply (_navigationGain * _losChange); + _commandedAcceleration = _projectile vectorWorldToModelVisual _commandedAcceleration; + + private _relativeLOS = _projectile vectorWorldToModelVisual (_currentLineOfSight vectorCrossProduct velocity _projectile); + _commandedAcceleration = _relativeLOS vectorMultiply (vectorMagnitude _commandedAcceleration); #ifdef DRAW_GUIDANCE_INFO - TRACE_1("",_acceleration); + TRACE_1("",_commandedAcceleration); private _projectilePosAGL = ASLToAGL _projectilePos; - private _debugAcceleration = [_acceleration#0, 0, _acceleration#1]; - drawLine3D [_projectilePosAGL, _projectilePosAGL vectorAdd (_lineOfSight vectorMultiply 15), [1, 0, 0, 1]]; - drawLine3D [_projectilePosAGL, _projectilePosAGL vectorAdd (_lastLineOfSight vectorMultiply 5), [0, 1, 0, 1]]; - drawLine3D [_projectilePosAGL, _projectilePosAGL vectorAdd ([_lineOfSight#2, -(_lineOfSight#0), 0] vectorMultiply 5), [0, 0, 1, 1]]; - - drawIcon3D ["\a3\ui_f\data\IGUI\Cfg\Cursors\selectover_ca.paa", [1,0,0,1], [0, 0, 4] vectorAdd ASLtoAGL _projectilePos, 0.75, 0.75, 0, str _rotationRate, 1, 0.025, "TahomaB"]; - drawIcon3D ["\a3\ui_f\data\IGUI\Cfg\Cursors\selectover_ca.paa", [1,0,0,1], [0, 0, 3] vectorAdd ASLtoAGL _projectilePos, 0.75, 0.75, 0, str vectorMagnitude _targetAcceleration, 1, 0.025, "TahomaB"]; + drawLine3D [_projectilePosAGL, _projectilePosAGL vectorAdd ((_projectile vectorModelToWorldVisual _relativeLOS) vectorMultiply 15), [1, 0, 0, 1]]; #endif if (!isGamePaused && accTime > 0) then { - _acceleration params ["_pitchChange", "_yawChange"]; + _commandedAcceleration params ["_pitchChange", "_yawChange"]; private _clampedPitch = (-_pitchChange min _pitchDegreesPerSecond) max -_pitchDegreesPerSecond; private _clampedYaw = (_yawChange min _yawDegreesPerSecond) max -_yawDegreesPerSecond; - _pitch = _pitch + _clampedPitch * TIMESTEP_FACTOR; - _yaw = _yaw + _clampedYaw * TIMESTEP_FACTOR; + _pitch = _pitch + _clampedPitch * diag_deltaTime; + _yaw = _yaw + _clampedYaw * diag_deltaTime; [_projectile, _pitch, _yaw, 0] call FUNC(changeMissileDirection); @@ -144,10 +118,9 @@ if ((_minDeflection != 0 || {_maxDeflection != 0}) && {_profileAdjustedTargetPos _pidData set [0, _pid]; if (accTime > 0) then { - _pidData set [1, [_seekerTargetPos, _targetVelocity]]; + _pidData set [1, [_seekerTargetPos, _targetVelocity, _angleNow]]; }; - _pidData set [2, _lineOfSight]; - _pidData set [3, _currentPitchYawRoll]; + _pidData set [2, _currentPitchYawRoll]; _stateParams set [4, _pidData]; _args set [4, _stateParams]; }; @@ -156,9 +129,11 @@ if ((_minDeflection != 0 || {_maxDeflection != 0}) && {_profileAdjustedTargetPos TRACE_3("",_projectilePos,_seekerTargetPos,_profileAdjustedTargetPos); drawIcon3D ["\a3\ui_f\data\IGUI\Cfg\Cursors\selectover_ca.paa", [1,0,0,1], ASLtoAGL _projectilePos, 0.75, 0.75, 0, _ammo, 1, 0.025, "TahomaB"]; -private _ps = "#particlesource" createVehicleLocal (ASLtoAGL _projectilePos); -_PS setParticleParams [["\A3\Data_f\cl_basic", 8, 3, 1], "", "Billboard", 1, 3.0141, [0, 0, 2], [0, 0, 0], 1, 1.275, 1, 0, [1, 1], [[1, 0, 0, 1], [1, 0, 0, 1], [1, 0, 0, 1]], [1], 1, 0, "", "", nil]; -_PS setDropInterval 1.0; +if (!isGamePaused && accTime > 0) then { + private _ps = "#particlesource" createVehicleLocal (ASLtoAGL _projectilePos); + _PS setParticleParams [["\A3\Data_f\cl_basic", 8, 3, 1], "", "Billboard", 1, 3.0141, [0, 0, 2], [0, 0, 0], 1, 1.275, 1, 0, [1, 1], [[1, 0, 0, 1], [1, 0, 0, 1], [1, 0, 0, 1]], [1], 1, 0, "", "", nil]; + _PS setDropInterval 1.0; +}; #endif _stateParams set [0, diag_tickTime]; diff --git a/addons/missileguidance/functions/fnc_onFired.sqf b/addons/missileguidance/functions/fnc_onFired.sqf index d08b89e1440..c16016bfd54 100644 --- a/addons/missileguidance/functions/fnc_onFired.sqf +++ b/addons/missileguidance/functions/fnc_onFired.sqf @@ -96,7 +96,7 @@ if (_seekLastTargetPos && {!isNil "_target"}) then { }; private _pitchYaw = (vectorDir _projectile) call CBA_fnc_vect2Polar; -private _pidData = [[[0, 0, 0], [0, 0, 0], [0, 0, 0]], [[0, 0, 0], [0, 0, 0]], [0, 1, 0], [_pitchYaw select 0, _pitchYaw select 1, 0]]; +private _pidData = [[[0, 0, 0], [0, 0, 0], [0, 0, 0]], [[0, 0, 0], [0, 0, 0], 0], [_pitchYaw select 0, _pitchYaw select 1, 0]]; TRACE_4("Beginning ACE guidance system",_target,_ammo,_seekerType,_attackProfile); private _args = [_this, @@ -148,7 +148,7 @@ if (_onFiredFunc != "") then { // _stateParams params ["_lastRunTime", "_seekerStateParams", "_attackProfileStateParams", "_lastKnownPosState"]; // _seekerParams params ["_seekerAngle", "_seekerAccuracy", "_seekerMaxRange", "_seekerMinRange"]; -[FUNC(guidancePFH),0, _args ] call CBA_fnc_addPerFrameHandler; +[LINKFUNC(guidancePFH),0, _args ] call CBA_fnc_addPerFrameHandler; /* Clears locking settings From 7179a91c7714bc2349ede1c9817c5df9400bcd94 Mon Sep 17 00:00:00 2001 From: Brandon Danyluk Date: Thu, 1 Apr 2021 20:12:49 -0600 Subject: [PATCH 005/254] small changes --- .../functions/fnc_guidancePFH.sqf | 30 ++++++++++++------- 1 file changed, 19 insertions(+), 11 deletions(-) diff --git a/addons/missileguidance/functions/fnc_guidancePFH.sqf b/addons/missileguidance/functions/fnc_guidancePFH.sqf index 8f3501077fc..be1b8dd225a 100644 --- a/addons/missileguidance/functions/fnc_guidancePFH.sqf +++ b/addons/missileguidance/functions/fnc_guidancePFH.sqf @@ -74,35 +74,43 @@ if ((_minDeflection != 0 || {_maxDeflection != 0}) && {_profileAdjustedTargetPos _currentPitchYawRoll params ["_pitch", "_yaw", "_roll"]; _lastMissileFrame params ["_lastTargetPosition", "_lastTargetVelocity", "_lastAngle"]; + // Proportional navigation implemented via "Fundamentals of proportional navigation" by Stephen Murtaugh and Harry Criel private _navigationGain = 3; // integrate target velocity for realistic inference of velocity private _targetVelocity = (_seekerTargetPos vectorDiff _lastTargetPosition) vectorMultiply (1 / diag_deltaTime); private _targetAcceleration = (_targetVelocity vectorDiff _lastTargetVelocity) vectorMultiply (1 / diag_deltaTime); - private _currentLineOfSight = vectorNormalized (_profileAdjustedTargetPos vectorDiff _projectilePos); - private _targetVelocityAtPositon = _profileAdjustedTargetPos vectorAdd _targetVelocity; + private _currentLineOfSight = vectorNormalized (_seekerTargetPos vectorDiff _projectilePos); + private _targetVelocityAtPositon = _seekerTargetPos vectorAdd _targetVelocity; private _lineOfSightAtPosition = _projectilePos vectorAdd _currentLineOfSight; - // get angle between LOS's - private _angleNow = acos (_targetVelocityAtPositon vectorCos _lineOfSightAtPosition); + private _angleNow = acos (1 min (_targetVelocityAtPositon vectorCos _lineOfSightAtPosition)); private _losChange = (_angleNow - _lastAngle) / diag_deltaTime; private _closingVelocity = (velocity _projectile) vectorDiff _targetVelocity; + private _commandedAcceleration = vectorMagnitude (_closingVelocity vectorMultiply (_navigationGain * _losChange)); - private _commandedAcceleration = _closingVelocity vectorMultiply (_navigationGain * _losChange); - _commandedAcceleration = _projectile vectorWorldToModelVisual _commandedAcceleration; - - private _relativeLOS = _projectile vectorWorldToModelVisual (_currentLineOfSight vectorCrossProduct velocity _projectile); - _commandedAcceleration = _relativeLOS vectorMultiply (vectorMagnitude _commandedAcceleration); + // commanded acceleration is normal to LOS + private _relativeLOS = vectorNormalized (_projectile vectorWorldToModelVisual (_currentLineOfSight vectorCrossProduct velocity _projectile)); + _commandedAcceleration = _relativeLOS vectorMultiply _commandedAcceleration; #ifdef DRAW_GUIDANCE_INFO - TRACE_1("",_commandedAcceleration); + TRACE_1("",_losChange); private _projectilePosAGL = ASLToAGL _projectilePos; drawLine3D [_projectilePosAGL, _projectilePosAGL vectorAdd ((_projectile vectorModelToWorldVisual _relativeLOS) vectorMultiply 15), [1, 0, 0, 1]]; + drawLine3D [_projectilePosAGL, _projectilePosAGL vectorAdd (_currentLineOfSight vectorMultiply 15), [0, 0, 1, 1]]; + drawLine3D [_projectilePosAGL, _projectilePosAGL vectorAdd ((vectorNormalized velocity _projectile) vectorMultiply 15), [0, 1, 0, 1]]; + + drawLine3D [_projectilePosAGL, _projectilePosAGL vectorAdd (_projectile vectorModelToWorldVisual _commandedAcceleration), [1, 1, 0, 1]]; + + drawIcon3D ["\a3\ui_f\data\IGUI\Cfg\Cursors\selectover_ca.paa", [1,0,0,1], _projectilePosAGL vectorAdd [0, 0, 1], 0.75, 0.75, 0, str _commandedAcceleration, 1, 0.025, "TahomaB"]; + drawIcon3D ["\a3\ui_f\data\IGUI\Cfg\Cursors\selectover_ca.paa", [1,0,0,1], _projectilePosAGL vectorAdd [0, 0, 0.75], 0.75, 0.75, 0, str _losChange, 1, 0.025, "TahomaB"]; + + drawIcon3D ["\a3\ui_f\data\IGUI\Cfg\Cursors\selectover_ca.paa", [1,0,0,1], ASLToAGL (_seekerTargetPos vectorAdd _targetVelocity), 0.75, 0.75, 0, "Predicted Position", 1, 0.025, "TahomaB"]; #endif if (!isGamePaused && accTime > 0) then { - _commandedAcceleration params ["_pitchChange", "_yawChange"]; + _commandedAcceleration params ["_pitchChange", "_yawChange", ""]; private _clampedPitch = (-_pitchChange min _pitchDegreesPerSecond) max -_pitchDegreesPerSecond; private _clampedYaw = (_yawChange min _yawDegreesPerSecond) max -_yawDegreesPerSecond; From 53ff3bb1f5b973f29778cb5a62f6fa8cac01e461 Mon Sep 17 00:00:00 2001 From: Brandon Danyluk Date: Sat, 3 Apr 2021 21:04:16 -0600 Subject: [PATCH 006/254] proportional navigation now "works" --- .../functions/fnc_guidancePFH.sqf | 63 ++++++++++--------- .../missileguidance/functions/fnc_onFired.sqf | 2 +- 2 files changed, 35 insertions(+), 30 deletions(-) diff --git a/addons/missileguidance/functions/fnc_guidancePFH.sqf b/addons/missileguidance/functions/fnc_guidancePFH.sqf index be1b8dd225a..ecb96069ce5 100644 --- a/addons/missileguidance/functions/fnc_guidancePFH.sqf +++ b/addons/missileguidance/functions/fnc_guidancePFH.sqf @@ -46,14 +46,14 @@ private _minDeflection = ((_flightParams select 0) - ((_flightParams select 0) * private _maxDeflection = (_flightParams select 1) * _adjustTime; // private _incDeflection = _flightParams select 2; // todo -private _projectilePos = getPosASLVisual _projectile; - // Run seeker function: private _seekerTargetPos = [[0,0,0], _args, _seekerStateParams, _lastKnownPosState] call FUNC(doSeekerSearch); // Run attack profile function: private _profileAdjustedTargetPos = [_seekerTargetPos, _args, _attackProfileStateParams] call FUNC(doAttackProfile); +private _projectilePos = getPosASLVisual _projectile; + // If we have no seeker target, then do not change anything // If there is no deflection on the missile, this cannot change and therefore is redundant. Avoid calculations for missiles without any deflection if ((_minDeflection != 0 || {_maxDeflection != 0}) && {_profileAdjustedTargetPos isNotEqualTo [0,0,0]}) then { @@ -70,9 +70,11 @@ if ((_minDeflection != 0 || {_maxDeflection != 0}) && {_profileAdjustedTargetPos private _integralGain = 0; private _derivativeGain = 0; + private _projectileSpeed = vectorMagnitude velocity _projectile; + _pidData params ["_pid", "_lastMissileFrame", "_currentPitchYawRoll"]; _currentPitchYawRoll params ["_pitch", "_yaw", "_roll"]; - _lastMissileFrame params ["_lastTargetPosition", "_lastTargetVelocity", "_lastAngle"]; + _lastMissileFrame params ["_lastTargetPosition", "_lastTargetVelocity", "_lastAngles"]; // Proportional navigation implemented via "Fundamentals of proportional navigation" by Stephen Murtaugh and Harry Criel private _navigationGain = 3; @@ -80,44 +82,47 @@ if ((_minDeflection != 0 || {_maxDeflection != 0}) && {_profileAdjustedTargetPos private _targetVelocity = (_seekerTargetPos vectorDiff _lastTargetPosition) vectorMultiply (1 / diag_deltaTime); private _targetAcceleration = (_targetVelocity vectorDiff _lastTargetVelocity) vectorMultiply (1 / diag_deltaTime); - private _currentLineOfSight = vectorNormalized (_seekerTargetPos vectorDiff _projectilePos); - private _targetVelocityAtPositon = _seekerTargetPos vectorAdd _targetVelocity; - private _lineOfSightAtPosition = _projectilePos vectorAdd _currentLineOfSight; - // get angle between LOS's - private _angleNow = acos (1 min (_targetVelocityAtPositon vectorCos _lineOfSightAtPosition)); - private _losChange = (_angleNow - _lastAngle) / diag_deltaTime; + private _lineOfSight = vectorNormalized (_seekerTargetPos vectorDiff _projectilePos); - private _closingVelocity = (velocity _projectile) vectorDiff _targetVelocity; - private _commandedAcceleration = vectorMagnitude (_closingVelocity vectorMultiply (_navigationGain * _losChange)); + _lastAngles params ["_lastAngleXY", "_lastAngleYZ", "_lastAngleXZ"]; + // solve for xy frame + private _angleXY = (_lineOfSight#0) atan2 (_lineOfSight#1); + private _deltaAngleXY = (_angleXY - _lastAngleXY) / TIMESTEP_FACTOR; + private _commandedAccelerationX = _navigationGain * _deltaAngleXY * _projectileSpeed; - // commanded acceleration is normal to LOS - private _relativeLOS = vectorNormalized (_projectile vectorWorldToModelVisual (_currentLineOfSight vectorCrossProduct velocity _projectile)); - _commandedAcceleration = _relativeLOS vectorMultiply _commandedAcceleration; + // solve for xz frame + private _angleXZ = (_lineOfSight#0) atan2 (_lineOfSight#2); + private _deltaAngleXZ = (_angleXZ - _lastAngleXZ) / TIMESTEP_FACTOR; + private _commandedAccelerationY = _navigationGain * _deltaAngleXZ * _projectileSpeed; - #ifdef DRAW_GUIDANCE_INFO - TRACE_1("",_losChange); - private _projectilePosAGL = ASLToAGL _projectilePos; - drawLine3D [_projectilePosAGL, _projectilePosAGL vectorAdd ((_projectile vectorModelToWorldVisual _relativeLOS) vectorMultiply 15), [1, 0, 0, 1]]; - drawLine3D [_projectilePosAGL, _projectilePosAGL vectorAdd (_currentLineOfSight vectorMultiply 15), [0, 0, 1, 1]]; - drawLine3D [_projectilePosAGL, _projectilePosAGL vectorAdd ((vectorNormalized velocity _projectile) vectorMultiply 15), [0, 1, 0, 1]]; + // solve for yz frame + private _angleYZ = (_lineOfSight#1) atan2 (_lineOfSight#2); + private _deltaAngleYZ = (_angleYZ - _lastAngleYZ) / TIMESTEP_FACTOR; + private _commandedAccelerationZ = _navigationGain * _deltaAngleYZ * _projectileSpeed; - drawLine3D [_projectilePosAGL, _projectilePosAGL vectorAdd (_projectile vectorModelToWorldVisual _commandedAcceleration), [1, 1, 0, 1]]; + private _commandedAcceleration = _projectile vectorWorldToModelVisual [_commandedAccelerationX, _commandedAccelerationY, _commandedAccelerationZ]; + + systemChat str [_deltaAngleXY, _deltaAngleXZ, _deltaAngleYZ]; + #ifdef DRAW_GUIDANCE_INFO + private _projectilePosAGL = ASLToAGL _projectilePos; drawIcon3D ["\a3\ui_f\data\IGUI\Cfg\Cursors\selectover_ca.paa", [1,0,0,1], _projectilePosAGL vectorAdd [0, 0, 1], 0.75, 0.75, 0, str _commandedAcceleration, 1, 0.025, "TahomaB"]; - drawIcon3D ["\a3\ui_f\data\IGUI\Cfg\Cursors\selectover_ca.paa", [1,0,0,1], _projectilePosAGL vectorAdd [0, 0, 0.75], 0.75, 0.75, 0, str _losChange, 1, 0.025, "TahomaB"]; - drawIcon3D ["\a3\ui_f\data\IGUI\Cfg\Cursors\selectover_ca.paa", [1,0,0,1], ASLToAGL (_seekerTargetPos vectorAdd _targetVelocity), 0.75, 0.75, 0, "Predicted Position", 1, 0.025, "TahomaB"]; + + private _seekerPosAGL = ASLToAGL _seekerTargetPos; + drawLine3D [_seekerPosAGL, _seekerPosAGL vectorAdd _targetVelocity, [0, 1, 1, 1]]; + drawLine3D [_seekerPosAGL, _seekerPosAGL vectorAdd (_projectilePos vectorDiff _seekerTargetPos), [0, 1, 1, 1]]; #endif if (!isGamePaused && accTime > 0) then { - _commandedAcceleration params ["_pitchChange", "_yawChange", ""]; - - private _clampedPitch = (-_pitchChange min _pitchDegreesPerSecond) max -_pitchDegreesPerSecond; - private _clampedYaw = (_yawChange min _yawDegreesPerSecond) max -_yawDegreesPerSecond; + _commandedAcceleration params ["_yawChange", "", "_pitchChange"]; + + private _clampedPitch = (_pitchChange min _pitchDegreesPerSecond) max -_pitchDegreesPerSecond; + private _clampedYaw = (-_yawChange min _yawDegreesPerSecond) max -_yawDegreesPerSecond; _pitch = _pitch + _clampedPitch * diag_deltaTime; _yaw = _yaw + _clampedYaw * diag_deltaTime; - + [_projectile, _pitch, _yaw, 0] call FUNC(changeMissileDirection); _currentPitchYawRoll set [0, _pitch]; @@ -126,7 +131,7 @@ if ((_minDeflection != 0 || {_maxDeflection != 0}) && {_profileAdjustedTargetPos _pidData set [0, _pid]; if (accTime > 0) then { - _pidData set [1, [_seekerTargetPos, _targetVelocity, _angleNow]]; + _pidData set [1, [_seekerTargetPos, _targetVelocity, [_angleXY, _angleYZ, _angleXZ]]]; }; _pidData set [2, _currentPitchYawRoll]; _stateParams set [4, _pidData]; diff --git a/addons/missileguidance/functions/fnc_onFired.sqf b/addons/missileguidance/functions/fnc_onFired.sqf index c16016bfd54..149975208c0 100644 --- a/addons/missileguidance/functions/fnc_onFired.sqf +++ b/addons/missileguidance/functions/fnc_onFired.sqf @@ -96,7 +96,7 @@ if (_seekLastTargetPos && {!isNil "_target"}) then { }; private _pitchYaw = (vectorDir _projectile) call CBA_fnc_vect2Polar; -private _pidData = [[[0, 0, 0], [0, 0, 0], [0, 0, 0]], [[0, 0, 0], [0, 0, 0], 0], [_pitchYaw select 0, _pitchYaw select 1, 0]]; +private _pidData = [[[0, 0, 0], [0, 0, 0], [0, 0, 0]], [[0, 0, 0], [0, 0, 0], [0, 0, 0]], [_pitchYaw select 0, _pitchYaw select 1, 0]]; TRACE_4("Beginning ACE guidance system",_target,_ammo,_seekerType,_attackProfile); private _args = [_this, From dee326606c54e74492cd203dd65cb36cbf2b3d03 Mon Sep 17 00:00:00 2001 From: Brandon Danyluk Date: Tue, 6 Apr 2021 21:01:07 -0600 Subject: [PATCH 007/254] pn crap --- .../functions/fnc_guidancePFH.sqf | 47 ++++++++++--------- 1 file changed, 26 insertions(+), 21 deletions(-) diff --git a/addons/missileguidance/functions/fnc_guidancePFH.sqf b/addons/missileguidance/functions/fnc_guidancePFH.sqf index ecb96069ce5..db7fe3e01ca 100644 --- a/addons/missileguidance/functions/fnc_guidancePFH.sqf +++ b/addons/missileguidance/functions/fnc_guidancePFH.sqf @@ -70,11 +70,12 @@ if ((_minDeflection != 0 || {_maxDeflection != 0}) && {_profileAdjustedTargetPos private _integralGain = 0; private _derivativeGain = 0; - private _projectileSpeed = vectorMagnitude velocity _projectile; + private _projectileVelocity = velocity _projectile; + private _projectileSpeed = vectorMagnitude _projectileVelocity; _pidData params ["_pid", "_lastMissileFrame", "_currentPitchYawRoll"]; _currentPitchYawRoll params ["_pitch", "_yaw", "_roll"]; - _lastMissileFrame params ["_lastTargetPosition", "_lastTargetVelocity", "_lastAngles"]; + _lastMissileFrame params ["_lastTargetPosition", "_lastTargetVelocity", "_lastLineOfSight"]; // Proportional navigation implemented via "Fundamentals of proportional navigation" by Stephen Murtaugh and Harry Criel private _navigationGain = 3; @@ -82,33 +83,36 @@ if ((_minDeflection != 0 || {_maxDeflection != 0}) && {_profileAdjustedTargetPos private _targetVelocity = (_seekerTargetPos vectorDiff _lastTargetPosition) vectorMultiply (1 / diag_deltaTime); private _targetAcceleration = (_targetVelocity vectorDiff _lastTargetVelocity) vectorMultiply (1 / diag_deltaTime); - private _lineOfSight = vectorNormalized (_seekerTargetPos vectorDiff _projectilePos); + private _lineOfSight = vectorNormalized (_profileAdjustedTargetPos vectorDiff _projectilePos); - _lastAngles params ["_lastAngleXY", "_lastAngleYZ", "_lastAngleXZ"]; - // solve for xy frame - private _angleXY = (_lineOfSight#0) atan2 (_lineOfSight#1); - private _deltaAngleXY = (_angleXY - _lastAngleXY) / TIMESTEP_FACTOR; - private _commandedAccelerationX = _navigationGain * _deltaAngleXY * _projectileSpeed; + private _losDelta = _lineOfSight vectorDiff _lastLineOfSight; + private _losRate = (vectorMagnitude _losDelta) / TIMESTEP_FACTOR; - // solve for xz frame - private _angleXZ = (_lineOfSight#0) atan2 (_lineOfSight#2); - private _deltaAngleXZ = (_angleXZ - _lastAngleXZ) / TIMESTEP_FACTOR; - private _commandedAccelerationY = _navigationGain * _deltaAngleXZ * _projectileSpeed; + private _closingVelocity = vectorMagnitude (_projectileVelocity vectorDiff _targetVelocity); - // solve for yz frame - private _angleYZ = (_lineOfSight#1) atan2 (_lineOfSight#2); - private _deltaAngleYZ = (_angleYZ - _lastAngleYZ) / TIMESTEP_FACTOR; - private _commandedAccelerationZ = _navigationGain * _deltaAngleYZ * _projectileSpeed; + private _lateralAcceleration = (_navigationGain * _losRate * _closingVelocity * 10000000); + private _commandedAcceleration = (_projectile vectorWorldToModelVisual _lineOfSight) vectorMultiply _lateralAcceleration; - private _commandedAcceleration = _projectile vectorWorldToModelVisual [_commandedAccelerationX, _commandedAccelerationY, _commandedAccelerationZ]; - - systemChat str [_deltaAngleXY, _deltaAngleXZ, _deltaAngleYZ]; + private _normalA = ((vectorDirVisual _projectile) vectorCrossProduct _lineOfSight); + private _b = ((vectorUpVisual _projectile) vectorCrossProduct _lineOfSight); + private _normalAMagnitude = vectorMagnitude _normalA; + + private _t = _normalA vectorDotProduct _b; + + private _normalASign = _t / abs _t; + + private _normalB = (vectorUpVisual _projectile) vectorMultiply (-_normalASign * _normalAMagnitude); + + _commandedAcceleration set [2, _lateralAcceleration * (_normalB#2)]; #ifdef DRAW_GUIDANCE_INFO private _projectilePosAGL = ASLToAGL _projectilePos; drawIcon3D ["\a3\ui_f\data\IGUI\Cfg\Cursors\selectover_ca.paa", [1,0,0,1], _projectilePosAGL vectorAdd [0, 0, 1], 0.75, 0.75, 0, str _commandedAcceleration, 1, 0.025, "TahomaB"]; drawIcon3D ["\a3\ui_f\data\IGUI\Cfg\Cursors\selectover_ca.paa", [1,0,0,1], ASLToAGL (_seekerTargetPos vectorAdd _targetVelocity), 0.75, 0.75, 0, "Predicted Position", 1, 0.025, "TahomaB"]; + drawLine3D [_projectilePosAGL, _projectilePosAGL vectorAdd (_normalA vectorMultiply 15), [1, 0, 1, 1]]; + drawLine3D [_projectilePosAGL, _projectilePosAGL vectorAdd (_normalB vectorMultiply 15), [0, 1, 1, 1]]; + private _seekerPosAGL = ASLToAGL _seekerTargetPos; drawLine3D [_seekerPosAGL, _seekerPosAGL vectorAdd _targetVelocity, [0, 1, 1, 1]]; drawLine3D [_seekerPosAGL, _seekerPosAGL vectorAdd (_projectilePos vectorDiff _seekerTargetPos), [0, 1, 1, 1]]; @@ -118,12 +122,13 @@ if ((_minDeflection != 0 || {_maxDeflection != 0}) && {_profileAdjustedTargetPos _commandedAcceleration params ["_yawChange", "", "_pitchChange"]; private _clampedPitch = (_pitchChange min _pitchDegreesPerSecond) max -_pitchDegreesPerSecond; - private _clampedYaw = (-_yawChange min _yawDegreesPerSecond) max -_yawDegreesPerSecond; + private _clampedYaw = (_yawChange min _yawDegreesPerSecond) max -_yawDegreesPerSecond; _pitch = _pitch + _clampedPitch * diag_deltaTime; _yaw = _yaw + _clampedYaw * diag_deltaTime; [_projectile, _pitch, _yaw, 0] call FUNC(changeMissileDirection); + _projectile setVelocityModelSpace [0, _projectileSpeed, 0]; _currentPitchYawRoll set [0, _pitch]; _currentPitchYawRoll set [1, _yaw]; @@ -131,7 +136,7 @@ if ((_minDeflection != 0 || {_maxDeflection != 0}) && {_profileAdjustedTargetPos _pidData set [0, _pid]; if (accTime > 0) then { - _pidData set [1, [_seekerTargetPos, _targetVelocity, [_angleXY, _angleYZ, _angleXZ]]]; + _pidData set [1, [_seekerTargetPos, _targetVelocity, _lineOfSight]]; }; _pidData set [2, _currentPitchYawRoll]; _stateParams set [4, _pidData]; From ea0bb8fa3751b68d056fe2c2b3b70a4abe65d02a Mon Sep 17 00:00:00 2001 From: Brandon Danyluk Date: Sat, 10 Apr 2021 11:15:27 -0600 Subject: [PATCH 008/254] pro-nav works flawlessly --- .../functions/fnc_guidancePFH.sqf | 26 +++++++------------ 1 file changed, 9 insertions(+), 17 deletions(-) diff --git a/addons/missileguidance/functions/fnc_guidancePFH.sqf b/addons/missileguidance/functions/fnc_guidancePFH.sqf index db7fe3e01ca..a4f2f6eff5c 100644 --- a/addons/missileguidance/functions/fnc_guidancePFH.sqf +++ b/addons/missileguidance/functions/fnc_guidancePFH.sqf @@ -83,35 +83,26 @@ if ((_minDeflection != 0 || {_maxDeflection != 0}) && {_profileAdjustedTargetPos private _targetVelocity = (_seekerTargetPos vectorDiff _lastTargetPosition) vectorMultiply (1 / diag_deltaTime); private _targetAcceleration = (_targetVelocity vectorDiff _lastTargetVelocity) vectorMultiply (1 / diag_deltaTime); - private _lineOfSight = vectorNormalized (_profileAdjustedTargetPos vectorDiff _projectilePos); + private _lineOfSight = vectorNormalized (_seekerTargetPos vectorDiff _projectilePos); private _losDelta = _lineOfSight vectorDiff _lastLineOfSight; private _losRate = (vectorMagnitude _losDelta) / TIMESTEP_FACTOR; - private _closingVelocity = vectorMagnitude (_projectileVelocity vectorDiff _targetVelocity); + private _closingVelocity = _targetVelocity vectorDiff _projectileVelocity; - private _lateralAcceleration = (_navigationGain * _losRate * _closingVelocity * 10000000); - private _commandedAcceleration = (_projectile vectorWorldToModelVisual _lineOfSight) vectorMultiply _lateralAcceleration; + private _lateralAcceleration = (_navigationGain * _losRate * 10000000); + private _commandedAcceleration = _closingVelocity vectorMultiply _lateralAcceleration; - private _normalA = ((vectorDirVisual _projectile) vectorCrossProduct _lineOfSight); - private _b = ((vectorUpVisual _projectile) vectorCrossProduct _lineOfSight); - private _normalAMagnitude = vectorMagnitude _normalA; - - private _t = _normalA vectorDotProduct _b; - - private _normalASign = _t / abs _t; - - private _normalB = (vectorUpVisual _projectile) vectorMultiply (-_normalASign * _normalAMagnitude); - - _commandedAcceleration set [2, _lateralAcceleration * (_normalB#2)]; + // we need acceleration normal to our LOS + private _commandedAccelerationProjected = _lineOfSight vectorMultiply (_commandedAcceleration vectorDotProduct _lineOfSight); + _commandedAcceleration = _commandedAcceleration vectorDiff _commandedAccelerationProjected; #ifdef DRAW_GUIDANCE_INFO private _projectilePosAGL = ASLToAGL _projectilePos; drawIcon3D ["\a3\ui_f\data\IGUI\Cfg\Cursors\selectover_ca.paa", [1,0,0,1], _projectilePosAGL vectorAdd [0, 0, 1], 0.75, 0.75, 0, str _commandedAcceleration, 1, 0.025, "TahomaB"]; drawIcon3D ["\a3\ui_f\data\IGUI\Cfg\Cursors\selectover_ca.paa", [1,0,0,1], ASLToAGL (_seekerTargetPos vectorAdd _targetVelocity), 0.75, 0.75, 0, "Predicted Position", 1, 0.025, "TahomaB"]; - drawLine3D [_projectilePosAGL, _projectilePosAGL vectorAdd (_normalA vectorMultiply 15), [1, 0, 1, 1]]; - drawLine3D [_projectilePosAGL, _projectilePosAGL vectorAdd (_normalB vectorMultiply 15), [0, 1, 1, 1]]; + drawLine3D [_projectilePosAGL, _projectilePosAGL vectorAdd _commandedAcceleration, [1, 0, 1, 1]]; private _seekerPosAGL = ASLToAGL _seekerTargetPos; drawLine3D [_seekerPosAGL, _seekerPosAGL vectorAdd _targetVelocity, [0, 1, 1, 1]]; @@ -119,6 +110,7 @@ if ((_minDeflection != 0 || {_maxDeflection != 0}) && {_profileAdjustedTargetPos #endif if (!isGamePaused && accTime > 0) then { + _commandedAcceleration = _projectile vectorWorldToModelVisual _commandedAcceleration; _commandedAcceleration params ["_yawChange", "", "_pitchChange"]; private _clampedPitch = (_pitchChange min _pitchDegreesPerSecond) max -_pitchDegreesPerSecond; From fa064f928716de9853e403a393c198d29d0fa7fd Mon Sep 17 00:00:00 2001 From: Brandon Danyluk Date: Sat, 10 Apr 2021 11:27:41 -0600 Subject: [PATCH 009/254] small adjustents --- .../functions/fnc_guidancePFH.sqf | 18 ++++++++++-------- 1 file changed, 10 insertions(+), 8 deletions(-) diff --git a/addons/missileguidance/functions/fnc_guidancePFH.sqf b/addons/missileguidance/functions/fnc_guidancePFH.sqf index a4f2f6eff5c..27c116b8525 100644 --- a/addons/missileguidance/functions/fnc_guidancePFH.sqf +++ b/addons/missileguidance/functions/fnc_guidancePFH.sqf @@ -62,9 +62,9 @@ if ((_minDeflection != 0 || {_maxDeflection != 0}) && {_profileAdjustedTargetPos // Simulate moving servos by moving in each DOF by a fixed amount per frame // Then setVectorDirAndUp to allow ARMA to translate the velocity to whatever PhysX says - private _rollDegreesPerSecond = 30; - private _yawDegreesPerSecond = 30; - private _pitchDegreesPerSecond = 30; + private _rollDegreesPerSecond = 60; + private _yawDegreesPerSecond = 60; + private _pitchDegreesPerSecond = 60; private _proportionalGain = 1; private _integralGain = 0; @@ -83,14 +83,16 @@ if ((_minDeflection != 0 || {_maxDeflection != 0}) && {_profileAdjustedTargetPos private _targetVelocity = (_seekerTargetPos vectorDiff _lastTargetPosition) vectorMultiply (1 / diag_deltaTime); private _targetAcceleration = (_targetVelocity vectorDiff _lastTargetVelocity) vectorMultiply (1 / diag_deltaTime); - private _lineOfSight = vectorNormalized (_seekerTargetPos vectorDiff _projectilePos); + private _closingVelocity = _targetVelocity vectorDiff _projectileVelocity; - private _losDelta = _lineOfSight vectorDiff _lastLineOfSight; - private _losRate = (vectorMagnitude _losDelta) / TIMESTEP_FACTOR; + private _lineOfSight = vectorNormalized (_profileAdjustedTargetPos vectorDiff _projectilePos); - private _closingVelocity = _targetVelocity vectorDiff _projectileVelocity; + // the los rate is tiny, so we multiply by a constant of a power of ten to get more aggressive acceleration + // this is just due to how we measure our LOS delta, the vectors involved are _tiny_ + private _losDelta = _lineOfSight vectorDiff _lastLineOfSight; + private _losRate = 1000 * (vectorMagnitude _losDelta) / TIMESTEP_FACTOR; - private _lateralAcceleration = (_navigationGain * _losRate * 10000000); + private _lateralAcceleration = (_navigationGain * _losRate); private _commandedAcceleration = _closingVelocity vectorMultiply _lateralAcceleration; // we need acceleration normal to our LOS From fd8a55addf9c315f73a1a4f43b1073cd84937f56 Mon Sep 17 00:00:00 2001 From: Brandon Danyluk Date: Sat, 10 Apr 2021 13:11:20 -0600 Subject: [PATCH 010/254] make navigation a modifyable system --- addons/missileguidance/ACE_GuidanceConfig.hpp | 9 ++ addons/missileguidance/CfgAmmo.hpp | 10 ++- addons/missileguidance/XEH_PREP.hpp | 6 ++ .../functions/fnc_guidancePFH.sqf | 88 +++++-------------- .../functions/fnc_navigationType_proNav.sqf | 51 +++++++++++ .../missileguidance/functions/fnc_onFired.sqf | 35 +++++--- .../functions/fnc_proNav_onFired.sqf | 38 ++++++++ 7 files changed, 157 insertions(+), 80 deletions(-) create mode 100644 addons/missileguidance/functions/fnc_navigationType_proNav.sqf create mode 100644 addons/missileguidance/functions/fnc_proNav_onFired.sqf diff --git a/addons/missileguidance/ACE_GuidanceConfig.hpp b/addons/missileguidance/ACE_GuidanceConfig.hpp index 8e3324b09df..4b22e639fbd 100644 --- a/addons/missileguidance/ACE_GuidanceConfig.hpp +++ b/addons/missileguidance/ACE_GuidanceConfig.hpp @@ -91,3 +91,12 @@ class GVAR(SeekerTypes) { onFired = QFUNC(ahr_onFired); }; }; + +class GVAR(NavigationTypes) { + class ProportionalNavigation { + name = "Proportional Navigation"; + + functionName = QFUNC(navigationType_proNav); + onFired = QFUNC(proNav_onFired); + }; +}; diff --git a/addons/missileguidance/CfgAmmo.hpp b/addons/missileguidance/CfgAmmo.hpp index a2b07b7fff1..5fa6d4b61f6 100644 --- a/addons/missileguidance/CfgAmmo.hpp +++ b/addons/missileguidance/CfgAmmo.hpp @@ -69,9 +69,8 @@ class CfgAmmo { class ADDON { enabled = 1; - minDeflection = 0.00005; // Minium flap deflection for guidance - maxDeflection = 0.025; // Maximum flap deflection for guidance - incDeflection = 0.00005; // The incrmeent in which deflection adjusts. + pitchRate = 40; // degrees per second + yawRate = 40; canVanillaLock = 0; @@ -81,6 +80,11 @@ class CfgAmmo { defaultSeekerLockMode = "LOBL"; seekerLockModes[] = { "LOBL" }; + + defaultNavigationType = "ProportionalNavigation"; + navigationTypes[] = { "ProportionalNavigation" }; + + navigationGain = 3; seekerAngle = 180; // Angle in front of the missile which can be searched seekerAccuracy = 1; // seeker accuracy multiplier diff --git a/addons/missileguidance/XEH_PREP.hpp b/addons/missileguidance/XEH_PREP.hpp index 075f2f03c59..484929e5410 100644 --- a/addons/missileguidance/XEH_PREP.hpp +++ b/addons/missileguidance/XEH_PREP.hpp @@ -29,6 +29,9 @@ PREP(attackProfile_BEAM); PREP(attackProfile_JAV_DIR); PREP(attackProfile_JAV_TOP); +// Navigation Profiles +PREP(navigationType_proNav); + // Seeker search functions PREP(seekerType_SALH); PREP(seekerType_Optic); @@ -41,3 +44,6 @@ PREP(wire_onFired); // Seeker OnFired PREP(SACLOS_onFired); PREP(ahr_onFired); + +// Navigation OnFired +PREP(proNav_onFired); diff --git a/addons/missileguidance/functions/fnc_guidancePFH.sqf b/addons/missileguidance/functions/fnc_guidancePFH.sqf index 27c116b8525..c93362ed851 100644 --- a/addons/missileguidance/functions/fnc_guidancePFH.sqf +++ b/addons/missileguidance/functions/fnc_guidancePFH.sqf @@ -24,7 +24,7 @@ params ["_args", "_pfID"]; _args params ["_firedEH", "_launchParams", "_flightParams", "_seekerParams", "_stateParams"]; _firedEH params ["_shooter","","","","_ammo","","_projectile"]; _launchParams params ["","_targetLaunchParams"]; -_stateParams params ["_lastRunTime", "_seekerStateParams", "_attackProfileStateParams", "_lastKnownPosState", "_pidData"]; +_stateParams params ["_lastRunTime", "_seekerStateParams", "_attackProfileStateParams", "_lastKnownPosState", "_navigationParameters"]; if (!alive _projectile || isNull _projectile || isNull _shooter) exitWith { [_pfID] call CBA_fnc_removePerFrameHandler; @@ -42,9 +42,8 @@ if (accTime > 0) then { _adjustTime = 0; }; -private _minDeflection = ((_flightParams select 0) - ((_flightParams select 0) * _adjustTime)) max 0; -private _maxDeflection = (_flightParams select 1) * _adjustTime; -// private _incDeflection = _flightParams select 2; // todo +private _pitchRate = _flightParams select 0; +private _yawRate = _flightParams select 1; // Run seeker function: private _seekerTargetPos = [[0,0,0], _args, _seekerStateParams, _lastKnownPosState] call FUNC(doSeekerSearch); @@ -56,84 +55,43 @@ private _projectilePos = getPosASLVisual _projectile; // If we have no seeker target, then do not change anything // If there is no deflection on the missile, this cannot change and therefore is redundant. Avoid calculations for missiles without any deflection -if ((_minDeflection != 0 || {_maxDeflection != 0}) && {_profileAdjustedTargetPos isNotEqualTo [0,0,0]}) then { - // Get a commanded acceleration via proportional navigation (https://youtu.be/Osb7anMm1AY) - // Use a simple PID controller to get the desired pitch, yaw, and roll - // Simulate moving servos by moving in each DOF by a fixed amount per frame - // Then setVectorDirAndUp to allow ARMA to translate the velocity to whatever PhysX says - - private _rollDegreesPerSecond = 60; - private _yawDegreesPerSecond = 60; - private _pitchDegreesPerSecond = 60; - - private _proportionalGain = 1; - private _integralGain = 0; - private _derivativeGain = 0; - - private _projectileVelocity = velocity _projectile; - private _projectileSpeed = vectorMagnitude _projectileVelocity; - - _pidData params ["_pid", "_lastMissileFrame", "_currentPitchYawRoll"]; - _currentPitchYawRoll params ["_pitch", "_yaw", "_roll"]; - _lastMissileFrame params ["_lastTargetPosition", "_lastTargetVelocity", "_lastLineOfSight"]; - - // Proportional navigation implemented via "Fundamentals of proportional navigation" by Stephen Murtaugh and Harry Criel - private _navigationGain = 3; - // integrate target velocity for realistic inference of velocity - private _targetVelocity = (_seekerTargetPos vectorDiff _lastTargetPosition) vectorMultiply (1 / diag_deltaTime); - private _targetAcceleration = (_targetVelocity vectorDiff _lastTargetVelocity) vectorMultiply (1 / diag_deltaTime); - - private _closingVelocity = _targetVelocity vectorDiff _projectileVelocity; - - private _lineOfSight = vectorNormalized (_profileAdjustedTargetPos vectorDiff _projectilePos); - - // the los rate is tiny, so we multiply by a constant of a power of ten to get more aggressive acceleration - // this is just due to how we measure our LOS delta, the vectors involved are _tiny_ - private _losDelta = _lineOfSight vectorDiff _lastLineOfSight; - private _losRate = 1000 * (vectorMagnitude _losDelta) / TIMESTEP_FACTOR; - - private _lateralAcceleration = (_navigationGain * _losRate); - private _commandedAcceleration = _closingVelocity vectorMultiply _lateralAcceleration; - - // we need acceleration normal to our LOS - private _commandedAccelerationProjected = _lineOfSight vectorMultiply (_commandedAcceleration vectorDotProduct _lineOfSight); - _commandedAcceleration = _commandedAcceleration vectorDiff _commandedAccelerationProjected; +if ((_pitchRate != 0 || {_yawRate != 0}) && {_profileAdjustedTargetPos isNotEqualTo [0,0,0]}) then { + private _commandedAcceleration = [_args, TIMESTEP_FACTOR, _seekerTargetPos, _profileAdjustedTargetPos] call FUNC(navigationType_proNav); #ifdef DRAW_GUIDANCE_INFO private _projectilePosAGL = ASLToAGL _projectilePos; drawIcon3D ["\a3\ui_f\data\IGUI\Cfg\Cursors\selectover_ca.paa", [1,0,0,1], _projectilePosAGL vectorAdd [0, 0, 1], 0.75, 0.75, 0, str _commandedAcceleration, 1, 0.025, "TahomaB"]; - drawIcon3D ["\a3\ui_f\data\IGUI\Cfg\Cursors\selectover_ca.paa", [1,0,0,1], ASLToAGL (_seekerTargetPos vectorAdd _targetVelocity), 0.75, 0.75, 0, "Predicted Position", 1, 0.025, "TahomaB"]; - drawLine3D [_projectilePosAGL, _projectilePosAGL vectorAdd _commandedAcceleration, [1, 0, 1, 1]]; - - private _seekerPosAGL = ASLToAGL _seekerTargetPos; - drawLine3D [_seekerPosAGL, _seekerPosAGL vectorAdd _targetVelocity, [0, 1, 1, 1]]; - drawLine3D [_seekerPosAGL, _seekerPosAGL vectorAdd (_projectilePos vectorDiff _seekerTargetPos), [0, 1, 1, 1]]; #endif + // activate missile servos and change direction if (!isGamePaused && accTime > 0) then { + _navigationParameters params ["", "_currentPitchYawRoll"]; + _currentPitchYawRoll params ["_yaw", "_roll", "_pitch"]; + _commandedAcceleration = _projectile vectorWorldToModelVisual _commandedAcceleration; _commandedAcceleration params ["_yawChange", "", "_pitchChange"]; - private _clampedPitch = (_pitchChange min _pitchDegreesPerSecond) max -_pitchDegreesPerSecond; - private _clampedYaw = (_yawChange min _yawDegreesPerSecond) max -_yawDegreesPerSecond; + private _clampedPitch = (_pitchChange min _pitchRate) max -_pitchRate; + private _clampedYaw = (_yawChange min _yawRate) max -_yawRate; - _pitch = _pitch + _clampedPitch * diag_deltaTime; - _yaw = _yaw + _clampedYaw * diag_deltaTime; + TRACE_9("pitch/yaw/roll",_pitch,_yaw,_roll,_yawChange,_pitchChange,_pitchRate,_yawRate,_clampedPitch,_clampedYaw); + + _pitch = _pitch + _clampedPitch * TIMESTEP_FACTOR; + _yaw = _yaw + _clampedYaw * TIMESTEP_FACTOR; + + TRACE_3("new pitch/yaw/roll",_pitch,_yaw,_roll); [_projectile, _pitch, _yaw, 0] call FUNC(changeMissileDirection); - _projectile setVelocityModelSpace [0, _projectileSpeed, 0]; + _projectile setVelocityModelSpace [0, vectorMagnitude velocity _projectile, 0]; - _currentPitchYawRoll set [0, _pitch]; - _currentPitchYawRoll set [1, _yaw]; - }; + _currentPitchYawRoll set [0, _yaw]; + _currentPitchYawRoll set [2, _pitch]; - _pidData set [0, _pid]; - if (accTime > 0) then { - _pidData set [1, [_seekerTargetPos, _targetVelocity, _lineOfSight]]; + _navigationParameters set [1, _currentPitchYawRoll]; }; - _pidData set [2, _currentPitchYawRoll]; - _stateParams set [4, _pidData]; + + _stateParams set [4, _navigationParameters]; _args set [4, _stateParams]; }; diff --git a/addons/missileguidance/functions/fnc_navigationType_proNav.sqf b/addons/missileguidance/functions/fnc_navigationType_proNav.sqf new file mode 100644 index 00000000000..9d4272ff1fc --- /dev/null +++ b/addons/missileguidance/functions/fnc_navigationType_proNav.sqf @@ -0,0 +1,51 @@ +#include "script_component.hpp" +/* + * Author: Brandon (TCVM) + * Determine path for projectile to take in accordance to proportional navigation + * + * Arguments: + * Guidance Arg Array + * + * Return Value: + * Commanded acceleration normal to LOS in world space + * + * Example: + * [] call ace_missileguidance_fnc_navigationType_proNav + * + * Public: No + */ +params ["_args", "_timestep", "_seekerTargetPos", "_profileAdjustedTargetPos"]; +_args params ["_firedEH", "", "", "", "_stateParams"]; +_firedEH params ["","","","","","","_projectile"]; +_stateParams params ["", "", "", "","_navigationParams"]; +_navigationParams params ["_lastMissileFrame", "", "_navigationGain"]; +_lastMissileFrame params ["_lastTargetPosition", "_lastTargetVelocity", "_lastLineOfSight"]; + +// Proportional navigation implemented via "Fundamentals of proportional navigation" by Stephen Murtaugh and Harry Criel +private _projectileVelocity = velocity _projectile; + +// integrate target velocity for realistic inference of velocity +private _targetVelocity = (_seekerTargetPos vectorDiff _lastTargetPosition) vectorMultiply (1 / _timestep); +private _targetAcceleration = (_targetVelocity vectorDiff _lastTargetVelocity) vectorMultiply (1 / _timestep); + +private _closingVelocity = _targetVelocity vectorDiff _projectileVelocity; + +private _lineOfSight = vectorNormalized (_profileAdjustedTargetPos vectorDiff getPosASLVisual _projectile); + +// the los rate is tiny, so we multiply by a constant of a power of ten to get more aggressive acceleration +// this is just due to how we measure our LOS delta, the vectors involved are _tiny_ +private _losDelta = _lineOfSight vectorDiff _lastLineOfSight; +private _losRate = 1000 * (vectorMagnitude _losDelta) / _timestep; + +private _lateralAcceleration = (_navigationGain * _losRate); +private _commandedAcceleration = _closingVelocity vectorMultiply _lateralAcceleration; + +// we need acceleration normal to our LOS +private _commandedAccelerationProjected = _lineOfSight vectorMultiply (_commandedAcceleration vectorDotProduct _lineOfSight); +_commandedAcceleration = _commandedAcceleration vectorDiff _commandedAccelerationProjected; + +if (accTime > 0) then { + _navigationParams set [0, [_seekerTargetPos, _targetVelocity, _lineOfSight]]; +}; + +_commandedAcceleration diff --git a/addons/missileguidance/functions/fnc_onFired.sqf b/addons/missileguidance/functions/fnc_onFired.sqf index 149975208c0..2d9e00ff085 100644 --- a/addons/missileguidance/functions/fnc_onFired.sqf +++ b/addons/missileguidance/functions/fnc_onFired.sqf @@ -44,6 +44,7 @@ private _target = _shooter getVariable [QGVAR(target), nil]; private _targetPos = _shooter getVariable [QGVAR(targetPosition), nil]; private _seekerType = _shooter getVariable [QGVAR(seekerType), nil]; private _attackProfile = _shooter getVariable [QGVAR(attackProfile), nil]; +private _navigationType = _shooter getVariable [QGVAR(navigationType), nil]; if ((getNumber (configFile >> "CfgAmmo" >> _ammo >> QUOTE(ADDON) >> "useModeForAttackProfile")) == 1) then { _attackProfile = getText (configFile >> "CfgWeapons" >> _weapon >> _mode >> QGVAR(attackProfile)) }; @@ -52,7 +53,7 @@ private _lockMode = _shooter getVariable [QGVAR(lockMode), nil]; private _laserCode = _shooter getVariable [QEGVAR(laser,code), ACE_DEFAULT_LASER_CODE]; private _laserInfo = [_laserCode, ACE_DEFAULT_LASER_WAVELENGTH, ACE_DEFAULT_LASER_WAVELENGTH]; -TRACE_6("getVars",_target,_targetPos,_seekerType,_attackProfile,_lockMode,_laserCode); +TRACE_7("getVars",_target,_targetPos,_seekerType,_attackProfile,_lockMode,_laserCode,_navigationType); private _launchPos = getPosASL (vehicle _shooter); @@ -65,6 +66,9 @@ if (isNil "_attackProfile" || {!(_attackProfile in (getArray (_config >> "attack if (isNil "_lockMode" || {!(_lockMode in (getArray (_config >> "seekerLockModes")))}) then { _lockMode = getText (_config >> "defaultSeekerLockMode"); }; +if (isNil "_navigationType" || {!(_navigationType in (getArray (_config >> "navigationTypes")))}) then { + _navigationType = getText (_config >> "defaultNavigationType"); +}; // If we didn't get a target, try to fall back on tab locking if (isNil "_target") then { @@ -76,7 +80,7 @@ if (isNil "_target") then { private _canUseLock = getNumber (_config >> "canVanillaLock"); // @TODO: Get vanilla target if (_canUseLock > 0 || difficulty < 1) then { - private _vanillaTarget = cursorTarget; + private _vanillaTarget = missileTarget _projectile; TRACE_1("Using Vanilla Locking", _vanillaTarget); if (!isNil "_vanillaTarget") then { @@ -95,22 +99,23 @@ if (_seekLastTargetPos && {!isNil "_target"}) then { _lastKnownPosState set [1, [0,0,0]]; }; -private _pitchYaw = (vectorDir _projectile) call CBA_fnc_vect2Polar; -private _pidData = [[[0, 0, 0], [0, 0, 0], [0, 0, 0]], [[0, 0, 0], [0, 0, 0], [0, 0, 0]], [_pitchYaw select 0, _pitchYaw select 1, 0]]; +private _navigationParameters = [ + // set up in navigation type onFired function +]; -TRACE_4("Beginning ACE guidance system",_target,_ammo,_seekerType,_attackProfile); +TRACE_5("Beginning ACE guidance system",_target,_ammo,_seekerType,_attackProfile,_navigationType); private _args = [_this, [ _shooter, [_target, _targetPos, _launchPos], _seekerType, _attackProfile, _lockMode, - _laserInfo + _laserInfo, + _navigationType ], [ - getNumber ( _config >> "minDeflection" ), - getNumber ( _config >> "maxDeflection" ), - getNumber ( _config >> "incDeflection" ) + getNumber ( _config >> "pitchRate" ), + getNumber ( _config >> "yawRate" ) ], [ getNumber ( _config >> "seekerAngle" ), @@ -118,7 +123,7 @@ private _args = [_this, getNumber ( _config >> "seekerMaxRange" ), getNumber ( _config >> "seekerMinRange" ) ], - [ diag_tickTime, [], [], _lastKnownPosState, _pidData] + [ diag_tickTime, [], [], _lastKnownPosState, _navigationParameters] ]; private _onFiredFunc = getText (configFile >> QGVAR(SeekerTypes) >> _seekerType >> "onFired"); @@ -133,6 +138,12 @@ if (_onFiredFunc != "") then { _args call (missionNamespace getVariable _onFiredFunc); }; +_onFiredFunc = getText (configFile >> QGVAR(NavigationTypes) >> _navigationType >> "onFired"); +TRACE_1("",_onFiredFunc); +if (_onFiredFunc != "") then { + _args call (missionNamespace getVariable _onFiredFunc); +}; + // Run the "onFired" function passing the full guidance args array _onFiredFunc = getText (_config >> "onFired"); TRACE_1("",_onFiredFunc); @@ -143,9 +154,9 @@ if (_onFiredFunc != "") then { // Reverse: // _args params ["_firedEH", "_launchParams", "_flightParams", "_seekerParams", "_stateParams"]; // _firedEH params ["_shooter","","","","_ammo","","_projectile"]; -// _launchParams params ["_shooter","_targetLaunchParams","_seekerType","_attackProfile","_lockMode","_laserInfo"]; +// _launchParams params ["_shooter","_targetLaunchParams","_seekerType","_attackProfile","_lockMode","_laserInfo","_navigationType"]; // _targetLaunchParams params ["_target", "_targetPos", "_launchPos"]; -// _stateParams params ["_lastRunTime", "_seekerStateParams", "_attackProfileStateParams", "_lastKnownPosState"]; +// _stateParams params ["_lastRunTime", "_seekerStateParams", "_attackProfileStateParams", "_lastKnownPosState","_navigationParams"]; // _seekerParams params ["_seekerAngle", "_seekerAccuracy", "_seekerMaxRange", "_seekerMinRange"]; [LINKFUNC(guidancePFH),0, _args ] call CBA_fnc_addPerFrameHandler; diff --git a/addons/missileguidance/functions/fnc_proNav_onFired.sqf b/addons/missileguidance/functions/fnc_proNav_onFired.sqf new file mode 100644 index 00000000000..1f4e72ec1de --- /dev/null +++ b/addons/missileguidance/functions/fnc_proNav_onFired.sqf @@ -0,0 +1,38 @@ +#include "script_component.hpp" +/* + * Author: Brandon (TCVM) + * Sets up proportional navigation state arrays (called from missileGuidance's onFired). + * + * Arguments: + * Guidance Arg Array + * + * Return Value: + * None + * + * Example: + * [] call ace_missileguidance_fnc_proNav_onFired + * + * Public: No + */ +params ["_firedEH", "", "", "", "_stateParams"]; +_firedEH params ["_shooter","","","","_ammo","","_projectile"]; +_launchParams params ["_shooter","_targetLaunchParams","_seekerType","_attackProfile","_lockMode","_laserInfo","_navigationType"]; +_targetLaunchParams params ["_target", "_targetPos", "_launchPos"]; +_stateParams params ["_lastRunTime", "_seekerStateParams", "_attackProfileStateParams", "_lastKnownPosState","_navigationParams"]; +_seekerParams params ["_seekerAngle", "_seekerAccuracy", "_seekerMaxRange", "_seekerMinRange"]; + +private _ammoConfig = configOf _projectile; +private _navigationGain = getNumber (_ammoConfig >> QUOTE(ADDON) >> "navigationGain"); + +private _pitchYaw = (vectorDir _projectile) call CBA_fnc_vect2Polar; + +_navigationParams = [ + [ // Last Missile Frame + [0, 0, 0], // Last target position + [0, 0, 0], // Last target velocity + [0, 0, 0] // Last line of sight + ], + [_pitchYaw select 1, 0, _pitchYaw select 2], // current yaw/roll/pitch + _navigationGain // navigation gain of missile. Set in the navigation onFired function +]; +_stateParams set [4, _navigationParams]; From 5cd61d1301fe2e5fd9afc45979b0ac51e0f0cd76 Mon Sep 17 00:00:00 2001 From: Brandon Danyluk Date: Sat, 10 Apr 2021 13:16:08 -0600 Subject: [PATCH 011/254] set default navigation type --- addons/missileguidance/functions/fnc_onFired.sqf | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/addons/missileguidance/functions/fnc_onFired.sqf b/addons/missileguidance/functions/fnc_onFired.sqf index 2d9e00ff085..3155460355d 100644 --- a/addons/missileguidance/functions/fnc_onFired.sqf +++ b/addons/missileguidance/functions/fnc_onFired.sqf @@ -70,6 +70,11 @@ if (isNil "_navigationType" || {!(_navigationType in (getArray (_config >> "navi _navigationType = getText (_config >> "defaultNavigationType"); }; +if (isNil "_navigationType") then { + // most missiles use ProNav by default + _navigationType = "ProportionalNavigation"; +}; + // If we didn't get a target, try to fall back on tab locking if (isNil "_target") then { if (!isPlayer _shooter) then { From 4d5d395f615749a826e0ed24bd67b777d1e6629e Mon Sep 17 00:00:00 2001 From: Brandon Danyluk Date: Sat, 10 Apr 2021 18:32:55 -0600 Subject: [PATCH 012/254] adjust hellfire attack profile to work with pro-nav --- .../hellfire/functions/fnc_attackProfile.sqf | 63 ++++++++++--------- .../fnc_getAttackProfileSettings.sqf | 6 ++ addons/hellfire/script_component.hpp | 2 +- .../functions/fnc_doAttackProfile.sqf | 1 - .../functions/fnc_guidancePFH.sqf | 18 +----- .../missileguidance/functions/fnc_onFired.sqf | 14 ++++- .../functions/fnc_proNav_onFired.sqf | 6 +- .../functions/fnc_seekerType_ARH.sqf | 10 ++- 8 files changed, 65 insertions(+), 55 deletions(-) diff --git a/addons/hellfire/functions/fnc_attackProfile.sqf b/addons/hellfire/functions/fnc_attackProfile.sqf index b2a08f24a32..47decd64c05 100644 --- a/addons/hellfire/functions/fnc_attackProfile.sqf +++ b/addons/hellfire/functions/fnc_attackProfile.sqf @@ -18,7 +18,7 @@ */ params ["_seekerTargetPos", "_args", "_attackProfileStateParams"]; -_args params ["_firedEH", "_launchParams", "", "", "_stateParams"]; +_args params ["_firedEH", "_launchParams", "_flightParams", "", "_stateParams"]; _stateParams params ["", "_seekerStateParams"]; _launchParams params ["","_targetLaunchParams","_seekerType"]; @@ -29,69 +29,72 @@ _firedEH params ["","","","","","","_projectile"]; if (_attackProfileStateParams isEqualTo []) then { _this call FUNC(getAttackProfileSettings); }; -_attackProfileStateParams params ["_attackStage", "_configLaunchHeightClear"]; - +_attackProfileStateParams params ["_attackStage", "_configLaunchHeightClear", "_missileStateData"]; private _projectilePos = getPosASL _projectile; private _distanceFromLaunch2d = _launchPos distance2d _projectilePos; private _heightAboveLaunch = (_projectilePos select 2) - (_launchPos select 2); // Add height depending on distance for compensate -private _returnTargetPos = nil; +private _returnTargetPos = _seekerTargetPos; + +private _closingRate = vectorMagnitude velocity _projectile; +private _timeToGo = (_projectilePos distance2d _seekerTargetPos) / _closingRate; + +private _los = vectorNormalized (_seekerTargetPos vectorDiff _projectilePos); + +_flightParams params ["_pitchRate", "_yawRate"]; + +private _angleToTarget = acos ((vectorDir _projectile) vectorCos _los); +private _atMinRotationAngle = _angleToTarget >= (0.5 * _pitchRate * _timeToGo); switch (_attackStage) do { case STAGE_LAUNCH: { // Gain height quickly to pass terrain mask - _returnTargetPos = _projectilePos getPos [100, getDir _projectile]; - _returnTargetPos set [2, (_projectilePos select 2) + 36.4]; // 100 and 36.4 gives a 20 deg angle + _missileStateData params ["_heightBeforeStateSwitch", "_initialDistanceToTarget"]; + _returnTargetPos set [2, _heightBeforeStateSwitch + (_initialDistanceToTarget * sin 20)]; // 100 and 36.4 gives a 20 deg angle if (_heightAboveLaunch > _configLaunchHeightClear) then { _attackProfileStateParams set [0, STAGE_SEEK_CRUISE]; TRACE_2("New Stage: STAGE_SEEK_CRUISE",_distanceFromLaunch2d,_heightAboveLaunch); }; + + if (_atMinRotationAngle) then { + _attackProfileStateParams set [0, STAGE_ATTACK_TERMINAL]; + TRACE_2("New Stage: STAGE_ATTACK_TERMINAL",_distanceToTarget2d,_currentHeightOverTarget); + }; }; case STAGE_SEEK_CRUISE: { // Slowly gain altitude while searching for target + _missileStateData params ["_heightBeforeStateSwitch", "_initialDistanceToTarget"]; // Before 4000 cruise at 5.7 degrees up, then level out - private _cruiseHeight = linearConversion [3000, 5000, _distanceFromLaunch2d, 10, 0, true]; - - _returnTargetPos = _projectilePos getPos [100, getDir _projectile]; - _returnTargetPos set [2, (_projectilePos select 2) + _cruiseHeight]; - + _returnTargetPos set [2, _heightBeforeStateSwitch + (_initialDistanceToTarget * sin 5.7)]; + if (_seekerTargetPos isNotEqualTo [0,0,0]) then { _attackProfileStateParams set [0, STAGE_ATTACK_CRUISE]; + + _attackProfileStateParams set [2, [_projectilePos select 2, _seekerTargetPos distance2d _projectilePos]]; TRACE_1("New Stage: STAGE_ATTACK_CRUISE",_distanceFromLaunch2d); }; }; case STAGE_ATTACK_CRUISE: { + _missileStateData params ["_heightBeforeStateSwitch", "_initialDistanceToTarget"]; + private _currentHeightOverTarget = (_projectilePos select 2) - (_seekerTargetPos select 2); private _distanceToTarget2d = _seekerTargetPos distance2d _projectilePos; - private _distToGoRatio = _distanceToTarget2d / (_launchPos distance2d _seekerTargetPos); - // arcing up at 7 degrees to start until 50% left, then smooth curve to a downward attack - private _gainSlope = linearConversion [0.5, 0.1, _distToGoRatio, 7, -7, true]; - _returnTargetPos = +_seekerTargetPos; - _returnTargetPos set [2, ((_projectilePos select 2) + (_distanceToTarget2d * sin _gainSlope)) max (_seekerTargetPos select 2)]; + _returnTargetPos set [2, _heightBeforeStateSwitch + (_initialDistanceToTarget * sin 7)]; - if ((_distanceToTarget2d < 500) || {(_currentHeightOverTarget atan2 _distanceToTarget2d) > 15}) then { // Wait until we can come down at a sharp angle + // if we are at the rotation limit, rotate to target + if (_atMinRotationAngle || {(_currentHeightOverTarget atan2 _distanceToTarget2d) > 15}) then { // Wait until we can come down at a sharp angle _attackProfileStateParams set [0, STAGE_ATTACK_TERMINAL]; TRACE_2("New Stage: STAGE_ATTACK_TERMINAL",_distanceToTarget2d,_currentHeightOverTarget); }; }; case STAGE_ATTACK_TERMINAL: { - private _distanceToTarget2d = _seekerTargetPos distance2d _projectilePos; - _returnTargetPos = _seekerTargetPos vectorAdd [0, 0, _distanceToTarget2d * 0.02]; }; }; -// Special radar case. Adjust target position such that we are leading it -if (_attackStage >= 3 && { _seekerType isEqualTo "ARH" }) then { - _seekerStateParams params ["", "", "", "", "", "", "", "_lastKnownVelocity"]; - private _projectileVelocity = velocity _projectile; - if (_projectileVelocity#2 < 0) then { - private _projectileSpeed = vectorMagnitude _projectileVelocity; // this gives a precise impact time versus using speed _projectile. Dont change - private _timeUntilImpact = (_seekerTargetPos distance _projectilePos) / _projectileSpeed; - _returnTargetPos = _returnTargetPos vectorAdd (_lastKnownVelocity vectorMultiply _timeUntilImpact); - }; -}; +// missile guidance defines this variable in doAttackProfile +_attackProfileName = ["na", "hellfire - LAUNCH", "hellfire - SEEK CRUISE", "hellfire - ATTACK CRUISE", "hellfire - TERMINAL"] select _attackStage; -// TRACE_1("Adjusted target position", _returnTargetPos); +TRACE_1("Adjusted target position", _returnTargetPos); _returnTargetPos; diff --git a/addons/hellfire/functions/fnc_getAttackProfileSettings.sqf b/addons/hellfire/functions/fnc_getAttackProfileSettings.sqf index 066d280d655..e264a3fe4ec 100644 --- a/addons/hellfire/functions/fnc_getAttackProfileSettings.sqf +++ b/addons/hellfire/functions/fnc_getAttackProfileSettings.sqf @@ -27,6 +27,8 @@ private _attackConfig = configFile >> QEGVAR(missileguidance,AttackProfiles) >> // Launch (clearing terrain mask for LO/HI): private _configLaunchHeightClear = getNumber (_attackConfig >> QGVAR(launchHeightClear)); +private _projectilePos = getPosASL _projectile; + // Get starting stage private _startingStage = if (_configLaunchHeightClear > 0) then { STAGE_LAUNCH; // LOAL-HI / LO @@ -41,5 +43,9 @@ private _startingStage = if (_configLaunchHeightClear > 0) then { // Set data in param array _attackProfileStateParams set [0, _startingStage]; _attackProfileStateParams set [1, _configLaunchHeightClear]; +_attackProfileStateParams set [2, [ + _projectilePos select 2, + _seekerTargetPos distance2d _projectilePos +]]; TRACE_1("new shot settings",_attackProfileStateParams); diff --git a/addons/hellfire/script_component.hpp b/addons/hellfire/script_component.hpp index 6d16736a9c2..4ab934511ba 100644 --- a/addons/hellfire/script_component.hpp +++ b/addons/hellfire/script_component.hpp @@ -3,7 +3,7 @@ #include "\z\ace\addons\main\script_mod.hpp" // #define DEBUG_MODE_FULL -// #define DISABLE_COMPILE_CACHE + #define DISABLE_COMPILE_CACHE // #define ENABLE_PERFORMANCE_COUNTERS #ifdef DEBUG_ENABLED_HELLFIRE diff --git a/addons/missileguidance/functions/fnc_doAttackProfile.sqf b/addons/missileguidance/functions/fnc_doAttackProfile.sqf index 53d43883d3f..d239e08e0cb 100644 --- a/addons/missileguidance/functions/fnc_doAttackProfile.sqf +++ b/addons/missileguidance/functions/fnc_doAttackProfile.sqf @@ -22,7 +22,6 @@ _args params ["", "_launchParams"]; _launchParams params ["", "", "", "_attackProfileName"]; private _attackProfileFunction = getText (configFile >> QGVAR(AttackProfiles) >> _attackProfileName >> "functionName"); - private _attackProfilePos = _this call (missionNamespace getVariable _attackProfileFunction); if ((isNil "_attackProfilePos") || {_attackProfilePos isEqualTo [0,0,0]}) exitWith { diff --git a/addons/missileguidance/functions/fnc_guidancePFH.sqf b/addons/missileguidance/functions/fnc_guidancePFH.sqf index c93362ed851..e970566f36c 100644 --- a/addons/missileguidance/functions/fnc_guidancePFH.sqf +++ b/addons/missileguidance/functions/fnc_guidancePFH.sqf @@ -18,7 +18,7 @@ BEGIN_COUNTER(guidancePFH); -#define TIMESTEP_FACTOR 0.01 +#define TIMESTEP_FACTOR diag_deltaTime params ["_args", "_pfID"]; _args params ["_firedEH", "_launchParams", "_flightParams", "_seekerParams", "_stateParams"]; @@ -31,24 +31,12 @@ if (!alive _projectile || isNull _projectile || isNull _shooter) exitWith { END_COUNTER(guidancePFH); }; -private _runtimeDelta = diag_tickTime - _lastRunTime; -private _adjustTime = 1; - -if (accTime > 0) then { - _adjustTime = 1/accTime; - _adjustTime = _adjustTime * (_runtimeDelta / TIMESTEP_FACTOR); - TRACE_4("Adjust timing", 1/accTime, _adjustTime, _runtimeDelta, (_runtimeDelta / TIMESTEP_FACTOR) ); -} else { - _adjustTime = 0; -}; - -private _pitchRate = _flightParams select 0; -private _yawRate = _flightParams select 1; +_flightParams params ["_pitchRate", "_yawRate"]; // Run seeker function: private _seekerTargetPos = [[0,0,0], _args, _seekerStateParams, _lastKnownPosState] call FUNC(doSeekerSearch); - // Run attack profile function: +_seekerTargetPos = AGLtoASL ASLToAGL _seekerTargetPos; private _profileAdjustedTargetPos = [_seekerTargetPos, _args, _attackProfileStateParams] call FUNC(doAttackProfile); private _projectilePos = getPosASLVisual _projectile; diff --git a/addons/missileguidance/functions/fnc_onFired.sqf b/addons/missileguidance/functions/fnc_onFired.sqf index 3155460355d..d324c573a9c 100644 --- a/addons/missileguidance/functions/fnc_onFired.sqf +++ b/addons/missileguidance/functions/fnc_onFired.sqf @@ -70,7 +70,7 @@ if (isNil "_navigationType" || {!(_navigationType in (getArray (_config >> "navi _navigationType = getText (_config >> "defaultNavigationType"); }; -if (isNil "_navigationType") then { +if (isNil "_navigationType" || _navigationType isEqualTo "") then { // most missiles use ProNav by default _navigationType = "ProportionalNavigation"; }; @@ -108,6 +108,14 @@ private _navigationParameters = [ // set up in navigation type onFired function ]; +// default config values to make sure there is backwards compat +private _pitchRate = 30; +private _yawRate = 30; +if (isNumber (_config >> "pitchRate")) then { + _pitchRate = getNumber ( _config >> "pitchRate" ); + _yawRate = getNumber ( _config >> "yawRate" ); +}; + TRACE_5("Beginning ACE guidance system",_target,_ammo,_seekerType,_attackProfile,_navigationType); private _args = [_this, [ _shooter, @@ -119,8 +127,8 @@ private _args = [_this, _navigationType ], [ - getNumber ( _config >> "pitchRate" ), - getNumber ( _config >> "yawRate" ) + _pitchRate, + _yawRate ], [ getNumber ( _config >> "seekerAngle" ), diff --git a/addons/missileguidance/functions/fnc_proNav_onFired.sqf b/addons/missileguidance/functions/fnc_proNav_onFired.sqf index 1f4e72ec1de..844a9d92847 100644 --- a/addons/missileguidance/functions/fnc_proNav_onFired.sqf +++ b/addons/missileguidance/functions/fnc_proNav_onFired.sqf @@ -23,12 +23,14 @@ _seekerParams params ["_seekerAngle", "_seekerAccuracy", "_seekerMaxRange", "_se private _ammoConfig = configOf _projectile; private _navigationGain = getNumber (_ammoConfig >> QUOTE(ADDON) >> "navigationGain"); +if (_navigationGain == 0) then { + _navigationGain = 3; +}; private _pitchYaw = (vectorDir _projectile) call CBA_fnc_vect2Polar; - _navigationParams = [ [ // Last Missile Frame - [0, 0, 0], // Last target position + [0, 0, 0], // Last target position array [0, 0, 0], // Last target velocity [0, 0, 0] // Last line of sight ], diff --git a/addons/missileguidance/functions/fnc_seekerType_ARH.sqf b/addons/missileguidance/functions/fnc_seekerType_ARH.sqf index a3bda112583..05eb5091de5 100644 --- a/addons/missileguidance/functions/fnc_seekerType_ARH.sqf +++ b/addons/missileguidance/functions/fnc_seekerType_ARH.sqf @@ -61,7 +61,6 @@ if (_isActive || { CBA_missionTime >= _timeWhenActive }) then { }; // Look in front of seeker for any targets private _nearestObjects = nearestObjects [ASLtoAGL _searchPos, ["Air", "LandVehicle", "Ship"], _seekerBaseRadiusAdjusted, false]; - _nearestObjects = _nearestObjects apply { // I check both Line of Sight versions to make sure that a single bush doesnt make the target lock dissapear but at the same time ensure that this can see through smoke. Should work 80% of the time if ([_projectile, getPosASL _x, _seekerAngle] call FUNC(checkSeekerAngle) && { ([_projectile, _x, true] call FUNC(checkLOS)) || { ([_projectile, _x, false] call FUNC(checkLOS)) } }) then { @@ -74,6 +73,7 @@ if (_isActive || { CBA_missionTime >= _timeWhenActive }) then { // Select closest object to the expected position to be the current radar target if ((count _nearestObjects) <= 0) exitWith { _projectile setMissileTarget objNull; + _seekerStateParams set [3, _searchPos]; _searchPos }; private _closestDistance = _seekerBaseRadiusAtGround; @@ -104,17 +104,21 @@ if (_isActive || { CBA_missionTime >= _timeWhenActive }) then { }; }; +#ifdef DRAW_GUIDANCE_INFO +drawIcon3D ["\a3\ui_f\data\IGUI\Cfg\Cursors\selectover_ca.paa", [1,0,0,1], ASLtoAGL _expectedTargetPos, 0.75, 0.75, 0, "expected target pos", 1, 0.025, "TahomaB"]; +#endif + if !(isNull _target) then { private _centerOfObject = getCenterOfMass _target; - private _targetAdjustedPos = _target modelToWorldWorld _centerOfObject; + private _targetAdjustedPos = _target modelToWorldVisualWorld _centerOfObject; _expectedTargetPos = _targetAdjustedPos; - _seekerStateParams set [3, _expectedTargetPos]; _seekerStateParams set [7, velocity _target]; _seekerStateParams set [8, CBA_missionTime]; _seekerStateParams set [9, false]; }; +_seekerStateParams set [3, _expectedTargetPos]; _launchParams set [0, _target]; _expectedTargetPos From 7caabc16424f6d61d8f1789c2bfdcd23e8be74c6 Mon Sep 17 00:00:00 2001 From: Brandon Danyluk Date: Sat, 10 Apr 2021 18:41:09 -0600 Subject: [PATCH 013/254] small tweaks --- addons/hellfire/functions/fnc_attackProfile.sqf | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/addons/hellfire/functions/fnc_attackProfile.sqf b/addons/hellfire/functions/fnc_attackProfile.sqf index 47decd64c05..013cf534c9b 100644 --- a/addons/hellfire/functions/fnc_attackProfile.sqf +++ b/addons/hellfire/functions/fnc_attackProfile.sqf @@ -39,8 +39,9 @@ private _heightAboveLaunch = (_projectilePos select 2) - (_launchPos select 2); private _returnTargetPos = _seekerTargetPos; private _closingRate = vectorMagnitude velocity _projectile; -private _timeToGo = (_projectilePos distance2d _seekerTargetPos) / _closingRate; +private _timeToGo = (_projectilePos distance _seekerTargetPos) / _closingRate; +// we could do stuff like desired attack angle, but I'm not going that far today private _los = vectorNormalized (_seekerTargetPos vectorDiff _projectilePos); _flightParams params ["_pitchRate", "_yawRate"]; @@ -55,11 +56,15 @@ switch (_attackStage) do { if (_heightAboveLaunch > _configLaunchHeightClear) then { _attackProfileStateParams set [0, STAGE_SEEK_CRUISE]; + + _attackProfileStateParams set [2, [_projectilePos select 2, _seekerTargetPos distance2d _projectilePos]]; TRACE_2("New Stage: STAGE_SEEK_CRUISE",_distanceFromLaunch2d,_heightAboveLaunch); }; if (_atMinRotationAngle) then { _attackProfileStateParams set [0, STAGE_ATTACK_TERMINAL]; + + _attackProfileStateParams set [2, [_projectilePos select 2, _seekerTargetPos distance2d _projectilePos]]; TRACE_2("New Stage: STAGE_ATTACK_TERMINAL",_distanceToTarget2d,_currentHeightOverTarget); }; }; @@ -86,6 +91,8 @@ switch (_attackStage) do { // if we are at the rotation limit, rotate to target if (_atMinRotationAngle || {(_currentHeightOverTarget atan2 _distanceToTarget2d) > 15}) then { // Wait until we can come down at a sharp angle _attackProfileStateParams set [0, STAGE_ATTACK_TERMINAL]; + + _attackProfileStateParams set [2, [_projectilePos select 2, _seekerTargetPos distance2d _projectilePos]]; TRACE_2("New Stage: STAGE_ATTACK_TERMINAL",_distanceToTarget2d,_currentHeightOverTarget); }; }; From 0af82a56f45e3f458f873948f0258a65a92b34b9 Mon Sep 17 00:00:00 2001 From: Brandon Danyluk Date: Sat, 10 Apr 2021 18:49:47 -0600 Subject: [PATCH 014/254] allow for different types of navigation --- addons/missileguidance/functions/fnc_guidancePFH.sqf | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/addons/missileguidance/functions/fnc_guidancePFH.sqf b/addons/missileguidance/functions/fnc_guidancePFH.sqf index e970566f36c..83ed4848bf8 100644 --- a/addons/missileguidance/functions/fnc_guidancePFH.sqf +++ b/addons/missileguidance/functions/fnc_guidancePFH.sqf @@ -23,7 +23,7 @@ BEGIN_COUNTER(guidancePFH); params ["_args", "_pfID"]; _args params ["_firedEH", "_launchParams", "_flightParams", "_seekerParams", "_stateParams"]; _firedEH params ["_shooter","","","","_ammo","","_projectile"]; -_launchParams params ["","_targetLaunchParams"]; +_launchParams params ["","_targetLaunchParams","","","","","_navigationType"]; _stateParams params ["_lastRunTime", "_seekerStateParams", "_attackProfileStateParams", "_lastKnownPosState", "_navigationParameters"]; if (!alive _projectile || isNull _projectile || isNull _shooter) exitWith { @@ -44,7 +44,8 @@ private _projectilePos = getPosASLVisual _projectile; // If we have no seeker target, then do not change anything // If there is no deflection on the missile, this cannot change and therefore is redundant. Avoid calculations for missiles without any deflection if ((_pitchRate != 0 || {_yawRate != 0}) && {_profileAdjustedTargetPos isNotEqualTo [0,0,0]}) then { - private _commandedAcceleration = [_args, TIMESTEP_FACTOR, _seekerTargetPos, _profileAdjustedTargetPos] call FUNC(navigationType_proNav); + private _navigationFunction = getText (configFile >> QGVAR(NavigationTypes) >> _navigationType >> "functionName"); + private _commandedAcceleration = [_args, TIMESTEP_FACTOR, _seekerTargetPos, _profileAdjustedTargetPos] call (missionNamespace getVariable _navigationFunction); #ifdef DRAW_GUIDANCE_INFO private _projectilePosAGL = ASLToAGL _projectilePos; From 450d1a2a0940b1ea99917705f50dc2b02e2ddc86 Mon Sep 17 00:00:00 2001 From: Brandon Danyluk Date: Sat, 10 Apr 2021 19:02:31 -0600 Subject: [PATCH 015/254] allow for bang bang guidance --- addons/missileguidance/functions/fnc_guidancePFH.sqf | 10 +++++++++- addons/missileguidance/functions/fnc_onFired.sqf | 5 ++++- 2 files changed, 13 insertions(+), 2 deletions(-) diff --git a/addons/missileguidance/functions/fnc_guidancePFH.sqf b/addons/missileguidance/functions/fnc_guidancePFH.sqf index 83ed4848bf8..cdd6546e686 100644 --- a/addons/missileguidance/functions/fnc_guidancePFH.sqf +++ b/addons/missileguidance/functions/fnc_guidancePFH.sqf @@ -31,7 +31,7 @@ if (!alive _projectile || isNull _projectile || isNull _shooter) exitWith { END_COUNTER(guidancePFH); }; -_flightParams params ["_pitchRate", "_yawRate"]; +_flightParams params ["_pitchRate", "_yawRate", "_isBangBangGuidance"]; // Run seeker function: private _seekerTargetPos = [[0,0,0], _args, _seekerStateParams, _lastKnownPosState] call FUNC(doSeekerSearch); @@ -64,6 +64,14 @@ if ((_pitchRate != 0 || {_yawRate != 0}) && {_profileAdjustedTargetPos isNotEqua private _clampedPitch = (_pitchChange min _pitchRate) max -_pitchRate; private _clampedYaw = (_yawChange min _yawRate) max -_yawRate; + // controls are either on or off, no proportional + if (_isBangBangGuidance) then { + private _pitchSign = _clampedPitch / abs _clampedPitch; + private _yawSign = _clampedYaw / abs _clampedYaw; + _clampedPitch = _pitchSign * _pitchRate; + _clampedYaw = _yawSign * _clampedYaw; + }; + TRACE_9("pitch/yaw/roll",_pitch,_yaw,_roll,_yawChange,_pitchChange,_pitchRate,_yawRate,_clampedPitch,_clampedYaw); _pitch = _pitch + _clampedPitch * TIMESTEP_FACTOR; diff --git a/addons/missileguidance/functions/fnc_onFired.sqf b/addons/missileguidance/functions/fnc_onFired.sqf index d324c573a9c..81ef1ed1a3f 100644 --- a/addons/missileguidance/functions/fnc_onFired.sqf +++ b/addons/missileguidance/functions/fnc_onFired.sqf @@ -111,9 +111,11 @@ private _navigationParameters = [ // default config values to make sure there is backwards compat private _pitchRate = 30; private _yawRate = 30; +private _bangBang = false; if (isNumber (_config >> "pitchRate")) then { _pitchRate = getNumber ( _config >> "pitchRate" ); _yawRate = getNumber ( _config >> "yawRate" ); + _bangBang = 1 == getNumber (_config >> "bangBangGuidance"); }; TRACE_5("Beginning ACE guidance system",_target,_ammo,_seekerType,_attackProfile,_navigationType); @@ -128,7 +130,8 @@ private _args = [_this, ], [ _pitchRate, - _yawRate + _yawRate, + _bangBang ], [ getNumber ( _config >> "seekerAngle" ), From 224a243713a22279dc3c736ddd544e8f9cda74fe Mon Sep 17 00:00:00 2001 From: Brandon Danyluk Date: Sun, 11 Apr 2021 17:58:44 -0600 Subject: [PATCH 016/254] implement LOS guidance and Bang-Bang control --- addons/missileguidance/ACE_GuidanceConfig.hpp | 8 ++-- addons/missileguidance/CfgAmmo.hpp | 2 + addons/missileguidance/XEH_PREP.hpp | 2 + .../functions/fnc_guidancePFH.sqf | 12 +++++- .../functions/fnc_lineOfSight_onFired.sqf | 24 +++++++++++ .../fnc_navigationType_lineOfSight.sqf | 43 +++++++++++++++++++ addons/missileguidance/todo.txt | 29 +++++++++++++ 7 files changed, 115 insertions(+), 5 deletions(-) create mode 100644 addons/missileguidance/functions/fnc_lineOfSight_onFired.sqf create mode 100644 addons/missileguidance/functions/fnc_navigationType_lineOfSight.sqf create mode 100644 addons/missileguidance/todo.txt diff --git a/addons/missileguidance/ACE_GuidanceConfig.hpp b/addons/missileguidance/ACE_GuidanceConfig.hpp index 4b22e639fbd..c2baf1eac46 100644 --- a/addons/missileguidance/ACE_GuidanceConfig.hpp +++ b/addons/missileguidance/ACE_GuidanceConfig.hpp @@ -93,9 +93,11 @@ class GVAR(SeekerTypes) { }; class GVAR(NavigationTypes) { - class ProportionalNavigation { - name = "Proportional Navigation"; - + class LineOfSight { + functionName = QFUNC(navigationType_lineOfSight); + onFired = QFUNC(lineOfSight_onFired); + }; + class ProportionalNavigation { functionName = QFUNC(navigationType_proNav); onFired = QFUNC(proNav_onFired); }; diff --git a/addons/missileguidance/CfgAmmo.hpp b/addons/missileguidance/CfgAmmo.hpp index 5fa6d4b61f6..a2f0724bf3a 100644 --- a/addons/missileguidance/CfgAmmo.hpp +++ b/addons/missileguidance/CfgAmmo.hpp @@ -72,6 +72,8 @@ class CfgAmmo { pitchRate = 40; // degrees per second yawRate = 40; + bangBangGuidance = 0; + canVanillaLock = 0; // Guidance type for munitions diff --git a/addons/missileguidance/XEH_PREP.hpp b/addons/missileguidance/XEH_PREP.hpp index 484929e5410..c87932bbe57 100644 --- a/addons/missileguidance/XEH_PREP.hpp +++ b/addons/missileguidance/XEH_PREP.hpp @@ -31,6 +31,7 @@ PREP(attackProfile_JAV_TOP); // Navigation Profiles PREP(navigationType_proNav); +PREP(navigationType_lineOfSight) // Seeker search functions PREP(seekerType_SALH); @@ -47,3 +48,4 @@ PREP(ahr_onFired); // Navigation OnFired PREP(proNav_onFired); +PREP(lineOfSight_onFired); diff --git a/addons/missileguidance/functions/fnc_guidancePFH.sqf b/addons/missileguidance/functions/fnc_guidancePFH.sqf index cdd6546e686..54df4e6946a 100644 --- a/addons/missileguidance/functions/fnc_guidancePFH.sqf +++ b/addons/missileguidance/functions/fnc_guidancePFH.sqf @@ -66,8 +66,16 @@ if ((_pitchRate != 0 || {_yawRate != 0}) && {_profileAdjustedTargetPos isNotEqua // controls are either on or off, no proportional if (_isBangBangGuidance) then { - private _pitchSign = _clampedPitch / abs _clampedPitch; - private _yawSign = _clampedYaw / abs _clampedYaw; + private _pitchSign = if (_clampedPitch == 0) then { + 0 + } else { + _clampedPitch / abs _clampedPitch + }; + private _yawSign = if (_clampedYaw == 0) then { + 0 + } else { + _clampedYaw / abs _clampedYaw + }; _clampedPitch = _pitchSign * _pitchRate; _clampedYaw = _yawSign * _clampedYaw; }; diff --git a/addons/missileguidance/functions/fnc_lineOfSight_onFired.sqf b/addons/missileguidance/functions/fnc_lineOfSight_onFired.sqf new file mode 100644 index 00000000000..66a03d7c300 --- /dev/null +++ b/addons/missileguidance/functions/fnc_lineOfSight_onFired.sqf @@ -0,0 +1,24 @@ +#include "script_component.hpp" +/* + * Author: Brandon (TCVM) + * Sets up LOS navigation state arrays (called from missileGuidance's onFired). + * + * Arguments: + * Guidance Arg Array + * + * Return Value: + * None + * + * Example: + * [] call ace_missileguidance_fnc_proNav_onFired + * + * Public: No + */ +params ["_firedEH", "", "", "", "_stateParams"]; +_firedEH params ["_shooter","","","","_ammo","","_projectile"]; +_launchParams params ["_shooter","_targetLaunchParams","_seekerType","_attackProfile","_lockMode","_laserInfo","_navigationType"]; +_targetLaunchParams params ["_target", "_targetPos", "_launchPos"]; +_stateParams params ["_lastRunTime", "_seekerStateParams", "_attackProfileStateParams", "_lastKnownPosState","_navigationParams"]; +_seekerParams params ["_seekerAngle", "_seekerAccuracy", "_seekerMaxRange", "_seekerMinRange"]; + +_stateParams set [4, [[0, 0, 0]]]; diff --git a/addons/missileguidance/functions/fnc_navigationType_lineOfSight.sqf b/addons/missileguidance/functions/fnc_navigationType_lineOfSight.sqf new file mode 100644 index 00000000000..2b621dae971 --- /dev/null +++ b/addons/missileguidance/functions/fnc_navigationType_lineOfSight.sqf @@ -0,0 +1,43 @@ +#include "script_component.hpp" +/* + * Author: Brandon (TCVM) + * Projectile will take the direct LOS path to target + * + * Arguments: + * Guidance Arg Array + * + * Return Value: + * Commanded acceleration normal to LOS in world space + * + * Example: + * [] call ace_missileguidance_fnc_navigationType_lineOfSight + * + * Public: No + */ +params ["_args", "_timestep", "_seekerTargetPos", "_profileAdjustedTargetPos"]; +_args params ["_firedEH", "", "", "", "_stateParams"]; +_firedEH params ["","","","","","","_projectile"]; +_stateParams params ["", "", "", "","_navigationParams"]; +_navigationParams params ["_lastLineOfSight"]; + +// LOS navigation implemented via https://apps.dtic.mil/sti/pdfs/ADA481330.pdf (called bang-bang) + +private _closingVelocity = vectorMagnitude velocity _projectile; +private _lineOfSight = vectorNormalized (_profileAdjustedTargetPos vectorDiff getPosASLVisual _projectile); + +// the los rate is tiny, so we multiply by a constant of a power of ten to get more aggressive acceleration +// this is just due to how we measure our LOS delta, the vectors involved are _tiny_ +private _losDelta = _lineOfSight vectorDiff _lastLineOfSight; +private _losRate = 1000 * (vectorMagnitude _losDelta) / _timestep; + +private _commandedAcceleration = _closingVelocity vectorMultiply _losRate; + +// we need acceleration normal to our LOS +private _commandedAccelerationProjected = _lineOfSight vectorMultiply (_commandedAcceleration vectorDotProduct _lineOfSight); +_commandedAcceleration = _commandedAcceleration vectorDiff _commandedAccelerationProjected; + +if (accTime > 0) then { + _navigationParams set [0, _lineOfSight]; +}; + +_commandedAcceleration diff --git a/addons/missileguidance/todo.txt b/addons/missileguidance/todo.txt new file mode 100644 index 00000000000..896c891634c --- /dev/null +++ b/addons/missileguidance/todo.txt @@ -0,0 +1,29 @@ +Weapon Configs: + Hellfire - Laser + AGM-65 - Laser + DAGR - Laser + GBU-12 - Laser + + Dragon - SACLOS + Metis - SACLOS + HOT - SACLOS + + Javelin - Optical + NLAW - PLOS + +Seeker Types: + Laser - causes lots of weapon noise, causing bad guidance + +Navigation Types: + GBU-12 - LOS Guidance + NLAW - LOS Guidance + Dragon - LOS Guidance + Metis - LOS Guidance + HOT - LOS Guidance + + Javelin - Pro Nav + Hellfire - Pro Nav + AGM-65 - Pro Nav + DAGR - Pro Nav + + From bac6a0b6dd023c0c2f6d9254f56d50b81f595574 Mon Sep 17 00:00:00 2001 From: Brandon Danyluk Date: Sun, 11 Apr 2021 23:50:03 -0600 Subject: [PATCH 017/254] implement LOS guidance, rename previous LOS guidance --- addons/missileguidance/ACE_GuidanceConfig.hpp | 5 ++- addons/missileguidance/XEH_PREP.hpp | 6 ++- .../fnc_navigationType_lineOfSight.sqf | 29 ++----------- .../fnc_navigationType_simpleProNav.sqf | 43 +++++++++++++++++++ ...Fired.sqf => fnc_simpleProNav_onFired.sqf} | 0 5 files changed, 55 insertions(+), 28 deletions(-) create mode 100644 addons/missileguidance/functions/fnc_navigationType_simpleProNav.sqf rename addons/missileguidance/functions/{fnc_lineOfSight_onFired.sqf => fnc_simpleProNav_onFired.sqf} (100%) diff --git a/addons/missileguidance/ACE_GuidanceConfig.hpp b/addons/missileguidance/ACE_GuidanceConfig.hpp index c2baf1eac46..387fafa4ba2 100644 --- a/addons/missileguidance/ACE_GuidanceConfig.hpp +++ b/addons/missileguidance/ACE_GuidanceConfig.hpp @@ -95,7 +95,10 @@ class GVAR(SeekerTypes) { class GVAR(NavigationTypes) { class LineOfSight { functionName = QFUNC(navigationType_lineOfSight); - onFired = QFUNC(lineOfSight_onFired); + }; + class SimpleProportionalNavigation { + functionName = QFUNC(navigationType_simpleProNav); + onFired = QFUNC(simpleProNav_onFired); }; class ProportionalNavigation { functionName = QFUNC(navigationType_proNav); diff --git a/addons/missileguidance/XEH_PREP.hpp b/addons/missileguidance/XEH_PREP.hpp index c87932bbe57..82819a1ad35 100644 --- a/addons/missileguidance/XEH_PREP.hpp +++ b/addons/missileguidance/XEH_PREP.hpp @@ -31,7 +31,8 @@ PREP(attackProfile_JAV_TOP); // Navigation Profiles PREP(navigationType_proNav); -PREP(navigationType_lineOfSight) +PREP(navigationType_simpleProNav); +PREP(navigationType_lineOfSight); // Seeker search functions PREP(seekerType_SALH); @@ -48,4 +49,5 @@ PREP(ahr_onFired); // Navigation OnFired PREP(proNav_onFired); -PREP(lineOfSight_onFired); +PREP(simpleProNav_onFired); + diff --git a/addons/missileguidance/functions/fnc_navigationType_lineOfSight.sqf b/addons/missileguidance/functions/fnc_navigationType_lineOfSight.sqf index 2b621dae971..fb6a8b1222c 100644 --- a/addons/missileguidance/functions/fnc_navigationType_lineOfSight.sqf +++ b/addons/missileguidance/functions/fnc_navigationType_lineOfSight.sqf @@ -1,7 +1,7 @@ #include "script_component.hpp" /* * Author: Brandon (TCVM) - * Projectile will take the direct LOS path to target + * Accelerates toward LOS * * Arguments: * Guidance Arg Array @@ -14,30 +14,9 @@ * * Public: No */ -params ["_args", "_timestep", "_seekerTargetPos", "_profileAdjustedTargetPos"]; -_args params ["_firedEH", "", "", "", "_stateParams"]; +params ["_args", "", "", "_profileAdjustedTargetPos"]; +_args params ["_firedEH"]; _firedEH params ["","","","","","","_projectile"]; -_stateParams params ["", "", "", "","_navigationParams"]; -_navigationParams params ["_lastLineOfSight"]; -// LOS navigation implemented via https://apps.dtic.mil/sti/pdfs/ADA481330.pdf (called bang-bang) - -private _closingVelocity = vectorMagnitude velocity _projectile; private _lineOfSight = vectorNormalized (_profileAdjustedTargetPos vectorDiff getPosASLVisual _projectile); - -// the los rate is tiny, so we multiply by a constant of a power of ten to get more aggressive acceleration -// this is just due to how we measure our LOS delta, the vectors involved are _tiny_ -private _losDelta = _lineOfSight vectorDiff _lastLineOfSight; -private _losRate = 1000 * (vectorMagnitude _losDelta) / _timestep; - -private _commandedAcceleration = _closingVelocity vectorMultiply _losRate; - -// we need acceleration normal to our LOS -private _commandedAccelerationProjected = _lineOfSight vectorMultiply (_commandedAcceleration vectorDotProduct _lineOfSight); -_commandedAcceleration = _commandedAcceleration vectorDiff _commandedAccelerationProjected; - -if (accTime > 0) then { - _navigationParams set [0, _lineOfSight]; -}; - -_commandedAcceleration +_lineOfSight diff --git a/addons/missileguidance/functions/fnc_navigationType_simpleProNav.sqf b/addons/missileguidance/functions/fnc_navigationType_simpleProNav.sqf new file mode 100644 index 00000000000..fc8b46f3527 --- /dev/null +++ b/addons/missileguidance/functions/fnc_navigationType_simpleProNav.sqf @@ -0,0 +1,43 @@ +#include "script_component.hpp" +/* + * Author: Brandon (TCVM) + * Simple form of proportional navigation: does not take into account target velocity + * + * Arguments: + * Guidance Arg Array + * + * Return Value: + * Commanded acceleration normal to LOS in world space + * + * Example: + * [] call ace_missileguidance_fnc_navigationType_simpleProNav + * + * Public: No + */ +params ["_args", "_timestep", "_seekerTargetPos", "_profileAdjustedTargetPos"]; +_args params ["_firedEH", "", "", "", "_stateParams"]; +_firedEH params ["","","","","","","_projectile"]; +_stateParams params ["", "", "", "","_navigationParams"]; +_navigationParams params ["_lastLineOfSight"]; + +// LOS navigation implemented via https://apps.dtic.mil/sti/pdfs/ADA481330.pdf (called bang-bang) + +private _closingVelocity = vectorMagnitude velocity _projectile; +private _lineOfSight = vectorNormalized (_profileAdjustedTargetPos vectorDiff getPosASLVisual _projectile); + +// the los rate is tiny, so we multiply by a constant of a power of ten to get more aggressive acceleration +// this is just due to how we measure our LOS delta, the vectors involved are _tiny_ +private _losDelta = _lineOfSight vectorDiff _lastLineOfSight; +private _losRate = 1000 * (vectorMagnitude _losDelta) / _timestep; + +private _commandedAcceleration = _closingVelocity vectorMultiply _losRate; + +// we need acceleration normal to our LOS +private _commandedAccelerationProjected = _lineOfSight vectorMultiply (_commandedAcceleration vectorDotProduct _lineOfSight); +_commandedAcceleration = _commandedAcceleration vectorDiff _commandedAccelerationProjected; + +if (accTime > 0) then { + _navigationParams set [0, _lineOfSight]; +}; + +_commandedAcceleration diff --git a/addons/missileguidance/functions/fnc_lineOfSight_onFired.sqf b/addons/missileguidance/functions/fnc_simpleProNav_onFired.sqf similarity index 100% rename from addons/missileguidance/functions/fnc_lineOfSight_onFired.sqf rename to addons/missileguidance/functions/fnc_simpleProNav_onFired.sqf From cf40622b52e449179a1ade7c5e4555ba937491de Mon Sep 17 00:00:00 2001 From: Brandon Danyluk Date: Mon, 12 Apr 2021 00:12:16 -0600 Subject: [PATCH 018/254] Fix metis and HOT to use new scheme --- addons/dragon/CfgAmmo.hpp | 8 +++++--- addons/hot/CfgAmmo.hpp | 8 +++++--- addons/metis/CfgAmmo.hpp | 18 +++++++++++------- .../functions/fnc_guidancePFH.sqf | 11 +++++------ .../fnc_navigationType_lineOfSight.sqf | 2 +- .../functions/fnc_navigationType_proNav.sqf | 2 +- .../missileguidance/functions/fnc_onFired.sqf | 3 ++- .../functions/fnc_proNav_onFired.sqf | 2 -- addons/missileguidance/todo.txt | 2 +- 9 files changed, 31 insertions(+), 25 deletions(-) diff --git a/addons/dragon/CfgAmmo.hpp b/addons/dragon/CfgAmmo.hpp index 033239013f0..929ba6f14cf 100644 --- a/addons/dragon/CfgAmmo.hpp +++ b/addons/dragon/CfgAmmo.hpp @@ -36,9 +36,8 @@ class CfgAmmo { maxControlRange = 1500; class ace_missileguidance { - minDeflection = 0; - maxDeflection = 0; - incDeflection = 0; + pitchRate = 0; + yawRate = 0; canVanillaLock = 0; @@ -49,6 +48,9 @@ class CfgAmmo { defaultSeekerLockMode = "LOAL"; seekerLockModes[] = { "LOAL", "LOBL" }; + defaultNavigationType = "LineOfSight"; + navigationTypes[] = { "LineOfSight" }; + seekLastTargetPos = 0; seekerAngle = 30; seekerAccuracy = 1; diff --git a/addons/hot/CfgAmmo.hpp b/addons/hot/CfgAmmo.hpp index 4ee29bec6d7..1c90d42f326 100644 --- a/addons/hot/CfgAmmo.hpp +++ b/addons/hot/CfgAmmo.hpp @@ -57,9 +57,8 @@ class CfgAmmo { class ace_missileguidance { enabled = 1; - minDeflection = 0; // Minium flap deflection for guidance - maxDeflection = 0.0030; // Maximum flap deflection for guidance - incDeflection = 0.0005; // The incrmeent in which deflection adjusts. + pitchRate = 15; // Minium flap deflection for guidance + yawRate = 15; // Maximum flap deflection for guidance canVanillaLock = 0; // Can this default vanilla lock? Only applicable to non-cadet mode @@ -70,6 +69,9 @@ class CfgAmmo { defaultSeekerLockMode = "LOAL"; seekerLockModes[] = { "LOAL", "LOBL" }; + defaultNavigationType = "LineOfSight"; + navigationTypes[] = { "LineOfSight" }; + seekLastTargetPos = 0; // seek last target position [if seeker loses LOS of target, continue to last known pos] seekerAngle = 30; // Angle from the shooter's view that can track the missile seekerAccuracy = 1; // seeker accuracy multiplier diff --git a/addons/metis/CfgAmmo.hpp b/addons/metis/CfgAmmo.hpp index 1f613a36b18..a4ff69c5e7c 100644 --- a/addons/metis/CfgAmmo.hpp +++ b/addons/metis/CfgAmmo.hpp @@ -10,9 +10,8 @@ class CfgAmmo { class ace_missileguidance { enabled = 1; - minDeflection = 0; // Minium flap deflection for guidance - maxDeflection = 0.0027; // Maximum flap deflection for guidance - incDeflection = 0.0005; // The incrmeent in which deflection adjusts. + pitchRate = 25; // Minium flap deflection for guidance + yawRate = 25; // Maximum flap deflection for guidance canVanillaLock = 0; // Can this default vanilla lock? Only applicable to non-cadet mode @@ -23,6 +22,9 @@ class CfgAmmo { defaultSeekerLockMode = "LOAL"; seekerLockModes[] = { "LOAL", "LOBL" }; + defaultNavigationType = "LineOfSight"; + navigationTypes[] = { "LineOfSight" }; + seekLastTargetPos = 0; // seek last target position [if seeker loses LOS of target, continue to last known pos] seekerAngle = 15; // Angle from the shooter's view that can track the missile seekerAccuracy = 1; // seeker accuracy multiplier @@ -50,9 +52,8 @@ class CfgAmmo { class ace_missileguidance { enabled = 1; - minDeflection = 0; // Minium flap deflection for guidance - maxDeflection = 0.0027; // Maximum flap deflection for guidance - incDeflection = 0.0005; // The incrmeent in which deflection adjusts. + pitchRate = 25; // Minium flap deflection for guidance + yawRate = 25; // Maximum flap deflection for guidance canVanillaLock = 0; // Can this default vanilla lock? Only applicable to non-cadet mode @@ -63,6 +64,9 @@ class CfgAmmo { defaultSeekerLockMode = "LOAL"; seekerLockModes[] = { "LOAL", "LOBL" }; + defaultNavigationType = "LineOfSight"; + navigationTypes[] = { "LineOfSight" }; + seekLastTargetPos = 0; // seek last target position [if seeker loses LOS of target, continue to last known pos] seekerAngle = 15; // Angle from the shooter's view that can track the missile seekerAccuracy = 1; // seeker accuracy multiplier @@ -70,7 +74,7 @@ class CfgAmmo { seekerMinRange = 80; seekerMaxRange = 2000; // Range from the missile which the seeker can visually search - correctionDistance = 3; // distance from center of crosshair where missile slows down + correctionDistance = 6; // distance from center of crosshair where missile slows down offsetFromCrosshair[] = { 0, 0, 0 }; // where the missile wants to stay in relation to the center of the crosshair. // Attack profile type selection diff --git a/addons/missileguidance/functions/fnc_guidancePFH.sqf b/addons/missileguidance/functions/fnc_guidancePFH.sqf index 54df4e6946a..43c38ab64fd 100644 --- a/addons/missileguidance/functions/fnc_guidancePFH.sqf +++ b/addons/missileguidance/functions/fnc_guidancePFH.sqf @@ -24,7 +24,7 @@ params ["_args", "_pfID"]; _args params ["_firedEH", "_launchParams", "_flightParams", "_seekerParams", "_stateParams"]; _firedEH params ["_shooter","","","","_ammo","","_projectile"]; _launchParams params ["","_targetLaunchParams","","","","","_navigationType"]; -_stateParams params ["_lastRunTime", "_seekerStateParams", "_attackProfileStateParams", "_lastKnownPosState", "_navigationParameters"]; +_stateParams params ["_lastRunTime", "_seekerStateParams", "_attackProfileStateParams", "_lastKnownPosState", "_navigationParameters", "_guidanceParameters"]; if (!alive _projectile || isNull _projectile || isNull _shooter) exitWith { [_pfID] call CBA_fnc_removePerFrameHandler; @@ -55,8 +55,7 @@ if ((_pitchRate != 0 || {_yawRate != 0}) && {_profileAdjustedTargetPos isNotEqua // activate missile servos and change direction if (!isGamePaused && accTime > 0) then { - _navigationParameters params ["", "_currentPitchYawRoll"]; - _currentPitchYawRoll params ["_yaw", "_roll", "_pitch"]; + _guidanceParameters params ["_yaw", "_roll", "_pitch"]; _commandedAcceleration = _projectile vectorWorldToModelVisual _commandedAcceleration; _commandedAcceleration params ["_yawChange", "", "_pitchChange"]; @@ -90,10 +89,10 @@ if ((_pitchRate != 0 || {_yawRate != 0}) && {_profileAdjustedTargetPos isNotEqua [_projectile, _pitch, _yaw, 0] call FUNC(changeMissileDirection); _projectile setVelocityModelSpace [0, vectorMagnitude velocity _projectile, 0]; - _currentPitchYawRoll set [0, _yaw]; - _currentPitchYawRoll set [2, _pitch]; + _guidanceParameters set [0, _yaw]; + _guidanceParameters set [2, _pitch]; - _navigationParameters set [1, _currentPitchYawRoll]; + _stateParams set [5, _guidanceParameters]; }; _stateParams set [4, _navigationParameters]; diff --git a/addons/missileguidance/functions/fnc_navigationType_lineOfSight.sqf b/addons/missileguidance/functions/fnc_navigationType_lineOfSight.sqf index fb6a8b1222c..f5adcb718e9 100644 --- a/addons/missileguidance/functions/fnc_navigationType_lineOfSight.sqf +++ b/addons/missileguidance/functions/fnc_navigationType_lineOfSight.sqf @@ -19,4 +19,4 @@ _args params ["_firedEH"]; _firedEH params ["","","","","","","_projectile"]; private _lineOfSight = vectorNormalized (_profileAdjustedTargetPos vectorDiff getPosASLVisual _projectile); -_lineOfSight +_lineOfSight vectorMultiply 50 diff --git a/addons/missileguidance/functions/fnc_navigationType_proNav.sqf b/addons/missileguidance/functions/fnc_navigationType_proNav.sqf index 9d4272ff1fc..7d5c6a3d6e3 100644 --- a/addons/missileguidance/functions/fnc_navigationType_proNav.sqf +++ b/addons/missileguidance/functions/fnc_navigationType_proNav.sqf @@ -18,7 +18,7 @@ params ["_args", "_timestep", "_seekerTargetPos", "_profileAdjustedTargetPos"]; _args params ["_firedEH", "", "", "", "_stateParams"]; _firedEH params ["","","","","","","_projectile"]; _stateParams params ["", "", "", "","_navigationParams"]; -_navigationParams params ["_lastMissileFrame", "", "_navigationGain"]; +_navigationParams params ["_lastMissileFrame", "_navigationGain"]; _lastMissileFrame params ["_lastTargetPosition", "_lastTargetVelocity", "_lastLineOfSight"]; // Proportional navigation implemented via "Fundamentals of proportional navigation" by Stephen Murtaugh and Harry Criel diff --git a/addons/missileguidance/functions/fnc_onFired.sqf b/addons/missileguidance/functions/fnc_onFired.sqf index 81ef1ed1a3f..4e28c1e8e43 100644 --- a/addons/missileguidance/functions/fnc_onFired.sqf +++ b/addons/missileguidance/functions/fnc_onFired.sqf @@ -118,6 +118,7 @@ if (isNumber (_config >> "pitchRate")) then { _bangBang = 1 == getNumber (_config >> "bangBangGuidance"); }; +private _pitchYaw = (vectorDir _projectile) call CBA_fnc_vect2Polar; TRACE_5("Beginning ACE guidance system",_target,_ammo,_seekerType,_attackProfile,_navigationType); private _args = [_this, [ _shooter, @@ -139,7 +140,7 @@ private _args = [_this, getNumber ( _config >> "seekerMaxRange" ), getNumber ( _config >> "seekerMinRange" ) ], - [ diag_tickTime, [], [], _lastKnownPosState, _navigationParameters] + [ diag_tickTime, [], [], _lastKnownPosState, _navigationParameters, [_pitchYaw select 1, 0, _pitchYaw select 2]] ]; private _onFiredFunc = getText (configFile >> QGVAR(SeekerTypes) >> _seekerType >> "onFired"); diff --git a/addons/missileguidance/functions/fnc_proNav_onFired.sqf b/addons/missileguidance/functions/fnc_proNav_onFired.sqf index 844a9d92847..d1806c19075 100644 --- a/addons/missileguidance/functions/fnc_proNav_onFired.sqf +++ b/addons/missileguidance/functions/fnc_proNav_onFired.sqf @@ -27,14 +27,12 @@ if (_navigationGain == 0) then { _navigationGain = 3; }; -private _pitchYaw = (vectorDir _projectile) call CBA_fnc_vect2Polar; _navigationParams = [ [ // Last Missile Frame [0, 0, 0], // Last target position array [0, 0, 0], // Last target velocity [0, 0, 0] // Last line of sight ], - [_pitchYaw select 1, 0, _pitchYaw select 2], // current yaw/roll/pitch _navigationGain // navigation gain of missile. Set in the navigation onFired function ]; _stateParams set [4, _navigationParams]; diff --git a/addons/missileguidance/todo.txt b/addons/missileguidance/todo.txt index 896c891634c..5b1de564c63 100644 --- a/addons/missileguidance/todo.txt +++ b/addons/missileguidance/todo.txt @@ -15,7 +15,7 @@ Seeker Types: Laser - causes lots of weapon noise, causing bad guidance Navigation Types: - GBU-12 - LOS Guidance + GBU-12 - Simple ProNav Guidance NLAW - LOS Guidance Dragon - LOS Guidance Metis - LOS Guidance From 4f8ea33e36581dd6dbb738d1ceb13571a7ef5e29 Mon Sep 17 00:00:00 2001 From: Brandon Danyluk Date: Mon, 12 Apr 2021 00:16:10 -0600 Subject: [PATCH 019/254] Fix NLAW --- addons/missileguidance/todo.txt | 8 ++++---- addons/nlaw/CfgAmmo.hpp | 8 +++++--- 2 files changed, 9 insertions(+), 7 deletions(-) diff --git a/addons/missileguidance/todo.txt b/addons/missileguidance/todo.txt index 5b1de564c63..c667359ca0e 100644 --- a/addons/missileguidance/todo.txt +++ b/addons/missileguidance/todo.txt @@ -16,10 +16,10 @@ Seeker Types: Navigation Types: GBU-12 - Simple ProNav Guidance - NLAW - LOS Guidance - Dragon - LOS Guidance - Metis - LOS Guidance - HOT - LOS Guidance + X NLAW - LOS Guidance + X Dragon - LOS Guidance + X Metis - LOS Guidance + X HOT - LOS Guidance Javelin - Pro Nav Hellfire - Pro Nav diff --git a/addons/nlaw/CfgAmmo.hpp b/addons/nlaw/CfgAmmo.hpp index b579ebeb065..1612b2a3056 100644 --- a/addons/nlaw/CfgAmmo.hpp +++ b/addons/nlaw/CfgAmmo.hpp @@ -6,9 +6,8 @@ class CfgAmmo { class ace_missileguidance { enabled = 1; - minDeflection = 0.0005; // Minium flap deflection for guidance - maxDeflection = 0.01; // Maximum flap deflection for guidance - incDeflection = 0.0005; // The incrmeent in which deflection adjusts. + pitchRate = 20; // Minium flap deflection for guidance + yawRate = 20; // Maximum flap deflection for guidance canVanillaLock = 0; // Can this default vanilla lock? Only applicable to non-cadet mode @@ -19,6 +18,9 @@ class CfgAmmo { defaultSeekerLockMode = "LOBL"; seekerLockModes[] = {"LOBL"}; + defaultNavigationType = "LineOfSight"; + navigationTypes[] = { "LineOfSight" }; + seekLastTargetPos = 0; // seek last target position [if seeker loses LOS of target, continue to last known pos] seekerAngle = 45; // Angle in front of the missile which can be searched seekerAccuracy = 1; // seeker accuracy multiplier From 4124a317f27db608f70c620f038573e1276c41b4 Mon Sep 17 00:00:00 2001 From: Brandon Danyluk Date: Mon, 12 Apr 2021 00:16:44 -0600 Subject: [PATCH 020/254] Update todo --- addons/missileguidance/todo.txt | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/addons/missileguidance/todo.txt b/addons/missileguidance/todo.txt index c667359ca0e..88f0bee4fd4 100644 --- a/addons/missileguidance/todo.txt +++ b/addons/missileguidance/todo.txt @@ -21,9 +21,10 @@ Navigation Types: X Metis - LOS Guidance X HOT - LOS Guidance - Javelin - Pro Nav + X Javelin - Pro Nav Hellfire - Pro Nav AGM-65 - Pro Nav DAGR - Pro Nav - +Navigation States: + Todo From 22d3ee838fa61f770d104635b1d5d3e9af62dd4f Mon Sep 17 00:00:00 2001 From: Brandon Danyluk Date: Mon, 12 Apr 2021 01:09:12 -0600 Subject: [PATCH 021/254] Fix SALH With Pro-nav the irratic behaviour of the laser caused the missile to over correct, so we average the position and use that running average for the target --- addons/laser/script_component.hpp | 4 +-- .../functions/fnc_seekerType_SALH.sqf | 27 ++++++++++++++++--- 2 files changed, 26 insertions(+), 5 deletions(-) diff --git a/addons/laser/script_component.hpp b/addons/laser/script_component.hpp index b0d9951bf3a..450614d68ee 100644 --- a/addons/laser/script_component.hpp +++ b/addons/laser/script_component.hpp @@ -2,9 +2,9 @@ #define COMPONENT_BEAUTIFIED Laser #include "\z\ace\addons\main\script_mod.hpp" -// #define DRAW_LASER_INFO + #define DRAW_LASER_INFO // #define DEBUG_MODE_FULL -// #define DISABLE_COMPILE_CACHE + #define DISABLE_COMPILE_CACHE // #define ENABLE_PERFORMANCE_COUNTERS #ifdef DEBUG_ENABLED_LASER diff --git a/addons/missileguidance/functions/fnc_seekerType_SALH.sqf b/addons/missileguidance/functions/fnc_seekerType_SALH.sqf index 09e20e78874..e36d57be6e4 100644 --- a/addons/missileguidance/functions/fnc_seekerType_SALH.sqf +++ b/addons/missileguidance/functions/fnc_seekerType_SALH.sqf @@ -16,17 +16,38 @@ * * Public: No */ +#define MAX_AVERAGES 15 params ["", "_args"]; _args params ["_firedEH", "_launchParams", "", "_seekerParams"]; _firedEH params ["","","","","","","_projectile"]; _launchParams params ["","","","","","_laserParams"]; -_seekerParams params ["_seekerAngle", "", "_seekerMaxRange"]; +_seekerParams params ["_seekerAngle", "", "_seekerMaxRange", "", ["_lastPositions", []], ["_lastPositionIndex", 0]]; _laserParams params ["_code", "_wavelengthMin", "_wavelengthMax"]; - private _laserResult = [(getPosASL _projectile), (velocity _projectile), _seekerAngle, _seekerMaxRange, [_wavelengthMin, _wavelengthMax], _code, _projectile] call EFUNC(laser,seekerFindLaserSpot); private _foundTargetPos = _laserResult select 0; TRACE_1("Search", _laserResult); -_foundTargetPos; +// average out any error from laser jump +private _positionSum = [0, 0, 0]; +{ + _positionSum = _positionSum vectorAdd _x; +} forEach _lastPositions; + +if (_foundTargetPos isNotEqualTo [0, 0, 0]) then { + _lastPositions set [_lastPositionIndex % MAX_AVERAGES, _foundTargetPos]; + _seekerParams set [4, _lastPositions]; + _seekerParams set [5, _lastPositionIndex + 1]; +}; + +_positionSum = _positionSum vectorAdd _foundTargetPos; +if (MAX_AVERAGES == count _lastPositions) then { + _positionSum = _positionSum vectorMultiply (1 / (1 + count _lastPositions)); +} else { + _positionSum = _positionSum vectorMultiply (1 / count _lastPositions); +}; + +TRACE_3("laser target found",_foundTargetPos,_positionSum,count _lastPositions); + +_positionSum From 3e50605b372619134082b5c2f21e3254490ec4de Mon Sep 17 00:00:00 2001 From: Brandon Danyluk Date: Mon, 12 Apr 2021 01:10:36 -0600 Subject: [PATCH 022/254] update todo --- addons/missileguidance/todo.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/addons/missileguidance/todo.txt b/addons/missileguidance/todo.txt index 88f0bee4fd4..61e66259538 100644 --- a/addons/missileguidance/todo.txt +++ b/addons/missileguidance/todo.txt @@ -12,7 +12,7 @@ Weapon Configs: NLAW - PLOS Seeker Types: - Laser - causes lots of weapon noise, causing bad guidance + X Laser - causes lots of weapon noise, causing bad guidance Navigation Types: GBU-12 - Simple ProNav Guidance From 023fed45cbe1dd884bcfb5c4ad3b40bcf99a3675 Mon Sep 17 00:00:00 2001 From: Brandon Danyluk Date: Mon, 12 Apr 2021 01:11:21 -0600 Subject: [PATCH 023/254] fix hellfire --- addons/hellfire/CfgAmmo.hpp | 8 +++++--- addons/missileguidance/todo.txt | 2 +- 2 files changed, 6 insertions(+), 4 deletions(-) diff --git a/addons/hellfire/CfgAmmo.hpp b/addons/hellfire/CfgAmmo.hpp index 8a50594ffa2..a5e2a54429b 100644 --- a/addons/hellfire/CfgAmmo.hpp +++ b/addons/hellfire/CfgAmmo.hpp @@ -26,9 +26,8 @@ class CfgAmmo { class ace_missileguidance { enabled = 1; - minDeflection = 0.0005; // Minium flap deflection for guidance - maxDeflection = 0.01; // Maximum flap deflection for guidance - incDeflection = 0.0005; // The incrmeent in which deflection adjusts. + pitchRate = 40; // degrees per second + yawRate = 40; canVanillaLock = 0; // Can this default vanilla lock? Only applicable to non-cadet mode @@ -39,6 +38,9 @@ class CfgAmmo { defaultSeekerLockMode = "LOAL"; seekerLockModes[] = { "LOAL", "LOBL" }; + defaultNavigationType = "ProportionalNavigation"; + navigationTypes[] = { "ProportionalNavigation" }; + seekLastTargetPos = 1; // seek last target position [if seeker loses LOS of target, continue to last known pos] seekerAngle = 70; // Angle in front of the missile which can be searched seekerAccuracy = 1; // seeker accuracy multiplier diff --git a/addons/missileguidance/todo.txt b/addons/missileguidance/todo.txt index 61e66259538..d1c2d0ba8d9 100644 --- a/addons/missileguidance/todo.txt +++ b/addons/missileguidance/todo.txt @@ -22,7 +22,7 @@ Navigation Types: X HOT - LOS Guidance X Javelin - Pro Nav - Hellfire - Pro Nav + X Hellfire - Pro Nav AGM-65 - Pro Nav DAGR - Pro Nav From 5f45ad838dddc07f9a85f391cf41b243ee5f3f37 Mon Sep 17 00:00:00 2001 From: Brandon Danyluk Date: Mon, 12 Apr 2021 01:12:24 -0600 Subject: [PATCH 024/254] fix maverick --- addons/maverick/CfgAmmo.hpp | 16 ++++++++++------ addons/missileguidance/todo.txt | 2 +- 2 files changed, 11 insertions(+), 7 deletions(-) diff --git a/addons/maverick/CfgAmmo.hpp b/addons/maverick/CfgAmmo.hpp index a741501540c..392500e1064 100644 --- a/addons/maverick/CfgAmmo.hpp +++ b/addons/maverick/CfgAmmo.hpp @@ -16,9 +16,8 @@ class CfgAmmo { class ace_missileguidance { enabled = 1; - minDeflection = 0; - maxDeflection = 0.002; - incDeflection = 0.001; + pitchRate = 30; + yawRate = 30; canVanillaLock = 0; @@ -28,6 +27,9 @@ class CfgAmmo { defaultSeekerLockMode = "LOAL"; seekerLockModes[] = {"LOAL","LOBL"}; + defaultNavigationType = "ProportionalNavigation"; + navigationTypes[] = { "ProportionalNavigation" }; + seekLastTargetPos = 1; seekerAngle = 60; seekerAccuracy = 1; @@ -49,9 +51,8 @@ class CfgAmmo { class ace_missileguidance { enabled = 1; - minDeflection = 0; - maxDeflection = 0.002; - incDeflection = 0.001; + pitchRate = 45; + yawRate = 45; canVanillaLock = 0; @@ -61,6 +62,9 @@ class CfgAmmo { defaultSeekerLockMode = "LOAL"; seekerLockModes[] = {"LOAL"}; + defaultNavigationType = "ProportionalNavigation"; + navigationTypes[] = { "ProportionalNavigation" }; + seekLastTargetPos = 1; seekerAngle = 40; seekerAccuracy = 1; diff --git a/addons/missileguidance/todo.txt b/addons/missileguidance/todo.txt index d1c2d0ba8d9..23f607f167d 100644 --- a/addons/missileguidance/todo.txt +++ b/addons/missileguidance/todo.txt @@ -23,7 +23,7 @@ Navigation Types: X Javelin - Pro Nav X Hellfire - Pro Nav - AGM-65 - Pro Nav + X AGM-65 - Pro Nav DAGR - Pro Nav Navigation States: From 35c48c8915da967b8d369b4519d18bd4c0f847f4 Mon Sep 17 00:00:00 2001 From: Brandon Danyluk Date: Mon, 12 Apr 2021 01:43:35 -0600 Subject: [PATCH 025/254] fix dagr --- addons/missileguidance/CfgAmmo.hpp | 10 +++++---- addons/missileguidance/CfgMagazines.hpp | 22 +++++++++++++++++++ addons/missileguidance/CfgWeapons.hpp | 7 +++++- .../functions/fnc_seekerType_SALH.sqf | 4 ++++ addons/missileguidance/todo.txt | 2 +- 5 files changed, 39 insertions(+), 6 deletions(-) diff --git a/addons/missileguidance/CfgAmmo.hpp b/addons/missileguidance/CfgAmmo.hpp index a2f0724bf3a..adeb891e71a 100644 --- a/addons/missileguidance/CfgAmmo.hpp +++ b/addons/missileguidance/CfgAmmo.hpp @@ -20,19 +20,21 @@ class CfgAmmo { class ADDON { enabled = 1; - minDeflection = 0.0005; // Minium flap deflection for guidance - maxDeflection = 0.0025; // Maximum flap deflection for guidance - incDeflection = 0.0005; // The incrmeent in which deflection adjusts. + pitchRate = 50; // degrees per second + yawRate = 50; canVanillaLock = 0; // Can this default vanilla lock? Only applicable to non-cadet mode // Guidance type for munitions defaultSeekerType = "SALH"; - seekerTypes[] = { "SALH", "LIDAR", "SARH", "Optic", "Thermal", "GPS", "SACLOS", "MCLOS" }; + seekerTypes[] = { "SALH" }; defaultSeekerLockMode = "LOAL"; seekerLockModes[] = { "LOAL", "LOBL" }; + defaultNavigationType = "ProportionalNavigation"; + navigationTypes[] = { "ProportionalNavigation" }; + seekerAngle = 90; // Angle in front of the missile which can be searched seekerAccuracy = 1; // seeker accuracy multiplier diff --git a/addons/missileguidance/CfgMagazines.hpp b/addons/missileguidance/CfgMagazines.hpp index 7cc33b17a34..aab0a061706 100644 --- a/addons/missileguidance/CfgMagazines.hpp +++ b/addons/missileguidance/CfgMagazines.hpp @@ -24,4 +24,26 @@ class CfgMagazines { descriptionShort = "24 Round DAGR"; weight = 72; }; + + class PylonRack_12Rnd_PG_missiles; + class PylonRack_6Rnd_ACE_DAGR: PylonRack_12Rnd_PG_missiles { + ammo = "ACE_Hydra70_DAGR"; + displayName = "6x DAGR [ACE]"; + count = 6; + pylonWeapon = QGVAR(dagr); + }; + + class PylonRack_12Rnd_ACE_DAGR: PylonRack_12Rnd_PG_missiles { + ammo = "ACE_Hydra70_DAGR"; + displayName = "12x DAGR [ACE]"; + count = 12; + pylonWeapon = QGVAR(dagr); + }; + + class PylonRack_24Rnd_ACE_DAGR: PylonRack_12Rnd_PG_missiles { + ammo = "ACE_Hydra70_DAGR"; + displayName = "24x DAGR [ACE]"; + count = 24; + pylonWeapon = QGVAR(dagr); + }; }; diff --git a/addons/missileguidance/CfgWeapons.hpp b/addons/missileguidance/CfgWeapons.hpp index b03628e7776..d88cf27b539 100644 --- a/addons/missileguidance/CfgWeapons.hpp +++ b/addons/missileguidance/CfgWeapons.hpp @@ -2,8 +2,13 @@ class CfgWeapons { class missiles_DAGR; class GVAR(dagr): missiles_DAGR { + EGVAR(laser,canSelect) = 1; // can ace_laser lock (allows switching laser code) + EGVAR(laser,showHud) = 1; // show attack profile / lock on hud + magazines[] = {"6Rnd_ACE_Hydra70_DAGR","12Rnd_ACE_Hydra70_DAGR","24Rnd_ACE_Hydra70_DAGR","PylonRack_6Rnd_ACE_DAGR","PylonRack_12Rnd_ACE_DAGR","PylonRack_24Rnd_ACE_DAGR"}; + + autoFire = 0; canLock = 0; - magazines[] = {"6Rnd_ACE_Hydra70_DAGR","12Rnd_ACE_Hydra70_DAGR","24Rnd_ACE_Hydra70_DAGR"}; + weaponLockSystem = 0; lockingTargetSound[] = {"",0,1}; lockedTargetSound[] = {"",0,1}; }; diff --git a/addons/missileguidance/functions/fnc_seekerType_SALH.sqf b/addons/missileguidance/functions/fnc_seekerType_SALH.sqf index e36d57be6e4..f08aeac9f9c 100644 --- a/addons/missileguidance/functions/fnc_seekerType_SALH.sqf +++ b/addons/missileguidance/functions/fnc_seekerType_SALH.sqf @@ -29,6 +29,10 @@ private _laserResult = [(getPosASL _projectile), (velocity _projectile), _seeker private _foundTargetPos = _laserResult select 0; TRACE_1("Search", _laserResult); +if (isNil "_foundTargetPos") exitWith { + [0, 0, 0] +}; + // average out any error from laser jump private _positionSum = [0, 0, 0]; { diff --git a/addons/missileguidance/todo.txt b/addons/missileguidance/todo.txt index 23f607f167d..0d3cb11e1b4 100644 --- a/addons/missileguidance/todo.txt +++ b/addons/missileguidance/todo.txt @@ -24,7 +24,7 @@ Navigation Types: X Javelin - Pro Nav X Hellfire - Pro Nav X AGM-65 - Pro Nav - DAGR - Pro Nav + X DAGR - Pro Nav Navigation States: Todo From 46abb93cb8bf2deefa97f207121a336a82cc2b24 Mon Sep 17 00:00:00 2001 From: Brandon Danyluk Date: Mon, 12 Apr 2021 02:51:02 -0600 Subject: [PATCH 026/254] add GBU-12 to missile guidance --- addons/gbu/$PBOPREFIX$ | 1 + addons/gbu/CfgAmmo.hpp | 38 ++++++++++++++++ addons/gbu/CfgMagazines.hpp | 17 ++++++++ addons/gbu/CfgWeapons.hpp | 19 ++++++++ addons/gbu/README.md | 12 ++++++ addons/gbu/config.cpp | 20 +++++++++ addons/gbu/script_component.hpp | 18 ++++++++ addons/missileguidance/ACE_GuidanceConfig.hpp | 4 -- .../functions/fnc_guidancePFH.sqf | 4 +- .../fnc_navigationType_simpleProNav.sqf | 43 ------------------- .../missileguidance/functions/fnc_onFired.sqf | 3 -- .../functions/fnc_simpleProNav_onFired.sqf | 24 ----------- addons/missileguidance/todo.txt | 2 +- 13 files changed, 128 insertions(+), 77 deletions(-) create mode 100644 addons/gbu/$PBOPREFIX$ create mode 100644 addons/gbu/CfgAmmo.hpp create mode 100644 addons/gbu/CfgMagazines.hpp create mode 100644 addons/gbu/CfgWeapons.hpp create mode 100644 addons/gbu/README.md create mode 100644 addons/gbu/config.cpp create mode 100644 addons/gbu/script_component.hpp delete mode 100644 addons/missileguidance/functions/fnc_navigationType_simpleProNav.sqf delete mode 100644 addons/missileguidance/functions/fnc_simpleProNav_onFired.sqf diff --git a/addons/gbu/$PBOPREFIX$ b/addons/gbu/$PBOPREFIX$ new file mode 100644 index 00000000000..402fc93e892 --- /dev/null +++ b/addons/gbu/$PBOPREFIX$ @@ -0,0 +1 @@ +z\ace\addons\gbu \ No newline at end of file diff --git a/addons/gbu/CfgAmmo.hpp b/addons/gbu/CfgAmmo.hpp new file mode 100644 index 00000000000..9ff007e342d --- /dev/null +++ b/addons/gbu/CfgAmmo.hpp @@ -0,0 +1,38 @@ +class CfgAmmo { + class Bo_GBU12_LGB; + class GVAR(12): Bo_GBU12_LGB { + maneuvrability = 0; // no maneuvrability so that default guidance doesnt work + class ace_missileguidance { + enabled = 1; + + pitchRate = 15; + yawRate = 15; + + bangBangGuidance = 1; + + canVanillaLock = 0; // Can this default vanilla lock? Only applicable to non-cadet mode + + // Guidance type for munitions + defaultSeekerType = "SALH"; + seekerTypes[] = { "SALH" }; + + defaultSeekerLockMode = "LOAL"; + seekerLockModes[] = { "LOAL" }; + + defaultNavigationType = "LineOfSight"; + navigationTypes[] = { "LineOfSight" }; + + seekLastTargetPos = 0; // seek last target position [if seeker loses LOS of target, continue to last known pos] + seekerAngle = 90; // Angle from the shooter's view that can track the missile + seekerAccuracy = 1; // seeker accuracy multiplier + + seekerMinRange = 5; + seekerMaxRange = 4000; // Range from the missile which the seeker can visually search + + // Attack profile type selection + defaultAttackProfile = "LIN"; + attackProfiles[] = {"LIN"}; + }; + }; +}; + diff --git a/addons/gbu/CfgMagazines.hpp b/addons/gbu/CfgMagazines.hpp new file mode 100644 index 00000000000..531a9bc7748 --- /dev/null +++ b/addons/gbu/CfgMagazines.hpp @@ -0,0 +1,17 @@ +class CfgMagazines { + class 2Rnd_GBU12_LGB; + class GVAR(2Rnd_12): 2Rnd_GBU12_LGB { + displayName = "GBU-12 [ACE]"; + author = "Brandon (TCVM)"; + ammo = QGVAR(12); + }; + + class PylonMissile_1Rnd_Bomb_04_F; + class GVAR(1_PylonMissile_1Rnd_12): PylonMissile_1Rnd_Bomb_04_F { + displayName = "GBU-12 [ACE]"; + author = "Brandon (TCVM)"; + ammo = QGVAR(12); + pylonWeapon = QGVAR(12); + }; +}; + diff --git a/addons/gbu/CfgWeapons.hpp b/addons/gbu/CfgWeapons.hpp new file mode 100644 index 00000000000..a155b376824 --- /dev/null +++ b/addons/gbu/CfgWeapons.hpp @@ -0,0 +1,19 @@ +class CfgWeapons { + class weapon_LGBLauncherBase; + class GVAR(12): weapon_LGBLauncherBase { + displayName = "GBU-12 [ACE]"; + magazines[] = { QGVAR(2Rnd_12), QGVAR(1_PylonMissile_1Rnd_12) }; + + EGVAR(laser,canSelect) = 1; // can ace_laser lock (allows switching laser code) + EGVAR(laser,showHud) = 1; // show attack profile / lock on hud + }; + + class GVAR(lom250): weapon_LGBLauncherBase { + displayName = "FAB-250M-54 [ACE]"; + magazines[] = {"2Rnd_Bomb_03_F","PylonMissile_1Rnd_Bomb_03_F"}; + + EGVAR(laser,canSelect) = 1; // can ace_laser lock (allows switching laser code) + EGVAR(laser,showHud) = 1; // show attack profile / lock on hud + }; +}; + diff --git a/addons/gbu/README.md b/addons/gbu/README.md new file mode 100644 index 00000000000..391ad795810 --- /dev/null +++ b/addons/gbu/README.md @@ -0,0 +1,12 @@ +ace_gbu +=================== + +Adds GBU-12 LGB + + +## Maintainers + +The people responsible for merging changes to this component or answering potential questions. + +- [Brandon-TCVM](https://github.com/TheCandianVendingMachine) + diff --git a/addons/gbu/config.cpp b/addons/gbu/config.cpp new file mode 100644 index 00000000000..c3fa7648329 --- /dev/null +++ b/addons/gbu/config.cpp @@ -0,0 +1,20 @@ +#include "script_component.hpp" + +class CfgPatches { + class ADDON { + name = COMPONENT_NAME; + units[] = {}; + weapons[] = {}; + requiredVersion = REQUIRED_VERSION; + requiredAddons[] = {"ace_common","ace_missileguidance"}; + author = ECSTRING(common,ACETeam); + authors[] = {"Brandon (TCVM)"}; + url = ECSTRING(main,URL); + VERSION_CONFIG; + }; +}; + +#include "CfgAmmo.hpp" +#include "CfgMagazines.hpp" +#include "CfgWeapons.hpp" + diff --git a/addons/gbu/script_component.hpp b/addons/gbu/script_component.hpp new file mode 100644 index 00000000000..1bf7b694040 --- /dev/null +++ b/addons/gbu/script_component.hpp @@ -0,0 +1,18 @@ +#define COMPONENT gbu +#define COMPONENT_BEAUTIFIED Guided Bomb Unit +#include "\z\ace\addons\main\script_mod.hpp" + +// #define DEBUG_MODE_FULL +// #define DISABLE_COMPILE_CACHE +// #define ENABLE_PERFORMANCE_COUNTERS + +#ifdef DEBUG_ENABLED_GBU + #define DEBUG_MODE_FULL +#endif + +#ifdef DEBUG_SETTINGS_HOT + #define DEBUG_SETTINGS DEBUG_SETTINGS_GBU +#endif + +#include "\z\ace\addons\main\script_macros.hpp" + diff --git a/addons/missileguidance/ACE_GuidanceConfig.hpp b/addons/missileguidance/ACE_GuidanceConfig.hpp index 387fafa4ba2..59dacde74fb 100644 --- a/addons/missileguidance/ACE_GuidanceConfig.hpp +++ b/addons/missileguidance/ACE_GuidanceConfig.hpp @@ -96,10 +96,6 @@ class GVAR(NavigationTypes) { class LineOfSight { functionName = QFUNC(navigationType_lineOfSight); }; - class SimpleProportionalNavigation { - functionName = QFUNC(navigationType_simpleProNav); - onFired = QFUNC(simpleProNav_onFired); - }; class ProportionalNavigation { functionName = QFUNC(navigationType_proNav); onFired = QFUNC(proNav_onFired); diff --git a/addons/missileguidance/functions/fnc_guidancePFH.sqf b/addons/missileguidance/functions/fnc_guidancePFH.sqf index 43c38ab64fd..bed8dde167b 100644 --- a/addons/missileguidance/functions/fnc_guidancePFH.sqf +++ b/addons/missileguidance/functions/fnc_guidancePFH.sqf @@ -75,8 +75,8 @@ if ((_pitchRate != 0 || {_yawRate != 0}) && {_profileAdjustedTargetPos isNotEqua } else { _clampedYaw / abs _clampedYaw }; - _clampedPitch = _pitchSign * _pitchRate; - _clampedYaw = _yawSign * _clampedYaw; + _clampedPitch = _pitchSign * 50; + _clampedYaw = _yawSign * 50; }; TRACE_9("pitch/yaw/roll",_pitch,_yaw,_roll,_yawChange,_pitchChange,_pitchRate,_yawRate,_clampedPitch,_clampedYaw); diff --git a/addons/missileguidance/functions/fnc_navigationType_simpleProNav.sqf b/addons/missileguidance/functions/fnc_navigationType_simpleProNav.sqf deleted file mode 100644 index fc8b46f3527..00000000000 --- a/addons/missileguidance/functions/fnc_navigationType_simpleProNav.sqf +++ /dev/null @@ -1,43 +0,0 @@ -#include "script_component.hpp" -/* - * Author: Brandon (TCVM) - * Simple form of proportional navigation: does not take into account target velocity - * - * Arguments: - * Guidance Arg Array - * - * Return Value: - * Commanded acceleration normal to LOS in world space - * - * Example: - * [] call ace_missileguidance_fnc_navigationType_simpleProNav - * - * Public: No - */ -params ["_args", "_timestep", "_seekerTargetPos", "_profileAdjustedTargetPos"]; -_args params ["_firedEH", "", "", "", "_stateParams"]; -_firedEH params ["","","","","","","_projectile"]; -_stateParams params ["", "", "", "","_navigationParams"]; -_navigationParams params ["_lastLineOfSight"]; - -// LOS navigation implemented via https://apps.dtic.mil/sti/pdfs/ADA481330.pdf (called bang-bang) - -private _closingVelocity = vectorMagnitude velocity _projectile; -private _lineOfSight = vectorNormalized (_profileAdjustedTargetPos vectorDiff getPosASLVisual _projectile); - -// the los rate is tiny, so we multiply by a constant of a power of ten to get more aggressive acceleration -// this is just due to how we measure our LOS delta, the vectors involved are _tiny_ -private _losDelta = _lineOfSight vectorDiff _lastLineOfSight; -private _losRate = 1000 * (vectorMagnitude _losDelta) / _timestep; - -private _commandedAcceleration = _closingVelocity vectorMultiply _losRate; - -// we need acceleration normal to our LOS -private _commandedAccelerationProjected = _lineOfSight vectorMultiply (_commandedAcceleration vectorDotProduct _lineOfSight); -_commandedAcceleration = _commandedAcceleration vectorDiff _commandedAccelerationProjected; - -if (accTime > 0) then { - _navigationParams set [0, _lineOfSight]; -}; - -_commandedAcceleration diff --git a/addons/missileguidance/functions/fnc_onFired.sqf b/addons/missileguidance/functions/fnc_onFired.sqf index 4e28c1e8e43..79c871ec8ba 100644 --- a/addons/missileguidance/functions/fnc_onFired.sqf +++ b/addons/missileguidance/functions/fnc_onFired.sqf @@ -19,9 +19,6 @@ params ["_shooter","_weapon","","_mode","_ammo","","_projectile"]; -// Bail on not missile -if (!(_ammo isKindOf "MissileBase")) exitWith {}; - // Bail if guidance is disabled for this ammo if ((getNumber (configFile >> "CfgAmmo" >> _ammo >> QUOTE(ADDON) >> "enabled")) != 1) exitWith {}; diff --git a/addons/missileguidance/functions/fnc_simpleProNav_onFired.sqf b/addons/missileguidance/functions/fnc_simpleProNav_onFired.sqf deleted file mode 100644 index 66a03d7c300..00000000000 --- a/addons/missileguidance/functions/fnc_simpleProNav_onFired.sqf +++ /dev/null @@ -1,24 +0,0 @@ -#include "script_component.hpp" -/* - * Author: Brandon (TCVM) - * Sets up LOS navigation state arrays (called from missileGuidance's onFired). - * - * Arguments: - * Guidance Arg Array - * - * Return Value: - * None - * - * Example: - * [] call ace_missileguidance_fnc_proNav_onFired - * - * Public: No - */ -params ["_firedEH", "", "", "", "_stateParams"]; -_firedEH params ["_shooter","","","","_ammo","","_projectile"]; -_launchParams params ["_shooter","_targetLaunchParams","_seekerType","_attackProfile","_lockMode","_laserInfo","_navigationType"]; -_targetLaunchParams params ["_target", "_targetPos", "_launchPos"]; -_stateParams params ["_lastRunTime", "_seekerStateParams", "_attackProfileStateParams", "_lastKnownPosState","_navigationParams"]; -_seekerParams params ["_seekerAngle", "_seekerAccuracy", "_seekerMaxRange", "_seekerMinRange"]; - -_stateParams set [4, [[0, 0, 0]]]; diff --git a/addons/missileguidance/todo.txt b/addons/missileguidance/todo.txt index 0d3cb11e1b4..c3bc4222837 100644 --- a/addons/missileguidance/todo.txt +++ b/addons/missileguidance/todo.txt @@ -15,7 +15,7 @@ Seeker Types: X Laser - causes lots of weapon noise, causing bad guidance Navigation Types: - GBU-12 - Simple ProNav Guidance + X GBU-12 - LOS Guidance X NLAW - LOS Guidance X Dragon - LOS Guidance X Metis - LOS Guidance From fca022a40100c5ef3849778e38cc6a34d55fec97 Mon Sep 17 00:00:00 2001 From: Brandon Danyluk Date: Mon, 12 Apr 2021 15:18:01 -0600 Subject: [PATCH 027/254] scale deltatime in accordance to acctime. Change velocity so that it isnt always pointing out the nose. Dont scale Acmd as much --- addons/missileguidance/XEH_PREP.hpp | 2 -- addons/missileguidance/functions/fnc_guidancePFH.sqf | 11 +++++------ .../functions/fnc_navigationType_proNav.sqf | 12 +++++++++--- addons/missileguidance/todo.txt | 4 ++++ 4 files changed, 18 insertions(+), 11 deletions(-) diff --git a/addons/missileguidance/XEH_PREP.hpp b/addons/missileguidance/XEH_PREP.hpp index 82819a1ad35..fca49e77a8e 100644 --- a/addons/missileguidance/XEH_PREP.hpp +++ b/addons/missileguidance/XEH_PREP.hpp @@ -31,7 +31,6 @@ PREP(attackProfile_JAV_TOP); // Navigation Profiles PREP(navigationType_proNav); -PREP(navigationType_simpleProNav); PREP(navigationType_lineOfSight); // Seeker search functions @@ -49,5 +48,4 @@ PREP(ahr_onFired); // Navigation OnFired PREP(proNav_onFired); -PREP(simpleProNav_onFired); diff --git a/addons/missileguidance/functions/fnc_guidancePFH.sqf b/addons/missileguidance/functions/fnc_guidancePFH.sqf index bed8dde167b..8d907dceef1 100644 --- a/addons/missileguidance/functions/fnc_guidancePFH.sqf +++ b/addons/missileguidance/functions/fnc_guidancePFH.sqf @@ -18,8 +18,6 @@ BEGIN_COUNTER(guidancePFH); -#define TIMESTEP_FACTOR diag_deltaTime - params ["_args", "_pfID"]; _args params ["_firedEH", "_launchParams", "_flightParams", "_seekerParams", "_stateParams"]; _firedEH params ["_shooter","","","","_ammo","","_projectile"]; @@ -31,6 +29,8 @@ if (!alive _projectile || isNull _projectile || isNull _shooter) exitWith { END_COUNTER(guidancePFH); }; +private _timestep = diag_deltaTime * accTime; + _flightParams params ["_pitchRate", "_yawRate", "_isBangBangGuidance"]; // Run seeker function: @@ -45,7 +45,7 @@ private _projectilePos = getPosASLVisual _projectile; // If there is no deflection on the missile, this cannot change and therefore is redundant. Avoid calculations for missiles without any deflection if ((_pitchRate != 0 || {_yawRate != 0}) && {_profileAdjustedTargetPos isNotEqualTo [0,0,0]}) then { private _navigationFunction = getText (configFile >> QGVAR(NavigationTypes) >> _navigationType >> "functionName"); - private _commandedAcceleration = [_args, TIMESTEP_FACTOR, _seekerTargetPos, _profileAdjustedTargetPos] call (missionNamespace getVariable _navigationFunction); + private _commandedAcceleration = [_args, _timestep, _seekerTargetPos, _profileAdjustedTargetPos] call (missionNamespace getVariable _navigationFunction); #ifdef DRAW_GUIDANCE_INFO private _projectilePosAGL = ASLToAGL _projectilePos; @@ -81,13 +81,12 @@ if ((_pitchRate != 0 || {_yawRate != 0}) && {_profileAdjustedTargetPos isNotEqua TRACE_9("pitch/yaw/roll",_pitch,_yaw,_roll,_yawChange,_pitchChange,_pitchRate,_yawRate,_clampedPitch,_clampedYaw); - _pitch = _pitch + _clampedPitch * TIMESTEP_FACTOR; - _yaw = _yaw + _clampedYaw * TIMESTEP_FACTOR; + _pitch = _pitch + _clampedPitch * _timestep; + _yaw = _yaw + _clampedYaw * _timestep; TRACE_3("new pitch/yaw/roll",_pitch,_yaw,_roll); [_projectile, _pitch, _yaw, 0] call FUNC(changeMissileDirection); - _projectile setVelocityModelSpace [0, vectorMagnitude velocity _projectile, 0]; _guidanceParameters set [0, _yaw]; _guidanceParameters set [2, _pitch]; diff --git a/addons/missileguidance/functions/fnc_navigationType_proNav.sqf b/addons/missileguidance/functions/fnc_navigationType_proNav.sqf index 7d5c6a3d6e3..658e447f04c 100644 --- a/addons/missileguidance/functions/fnc_navigationType_proNav.sqf +++ b/addons/missileguidance/functions/fnc_navigationType_proNav.sqf @@ -25,8 +25,10 @@ _lastMissileFrame params ["_lastTargetPosition", "_lastTargetVelocity", "_lastLi private _projectileVelocity = velocity _projectile; // integrate target velocity for realistic inference of velocity -private _targetVelocity = (_seekerTargetPos vectorDiff _lastTargetPosition) vectorMultiply (1 / _timestep); -private _targetAcceleration = (_targetVelocity vectorDiff _lastTargetVelocity) vectorMultiply (1 / _timestep); +private _targetVelocity = _lastTargetVelocity; +if (_timestep != 0) then { + _targetVelocity = (_seekerTargetPos vectorDiff _lastTargetPosition) vectorMultiply (1 / _timestep); +}; private _closingVelocity = _targetVelocity vectorDiff _projectileVelocity; @@ -35,7 +37,11 @@ private _lineOfSight = vectorNormalized (_profileAdjustedTargetPos vectorDiff ge // the los rate is tiny, so we multiply by a constant of a power of ten to get more aggressive acceleration // this is just due to how we measure our LOS delta, the vectors involved are _tiny_ private _losDelta = _lineOfSight vectorDiff _lastLineOfSight; -private _losRate = 1000 * (vectorMagnitude _losDelta) / _timestep; +private _losRate = if (_timestep == 0) then { + 0 +} else { + 10 * (vectorMagnitude _losDelta) / _timestep; +}; private _lateralAcceleration = (_navigationGain * _losRate); private _commandedAcceleration = _closingVelocity vectorMultiply _lateralAcceleration; diff --git a/addons/missileguidance/todo.txt b/addons/missileguidance/todo.txt index c3bc4222837..21e77534925 100644 --- a/addons/missileguidance/todo.txt +++ b/addons/missileguidance/todo.txt @@ -28,3 +28,7 @@ Navigation Types: Navigation States: Todo + +General To-Do: + Add more weapons + Fix GBU drag From d6c5bcd025db0a5e078773c728e9d7e27f8f6f10 Mon Sep 17 00:00:00 2001 From: Brandon Danyluk Date: Mon, 12 Apr 2021 15:39:02 -0600 Subject: [PATCH 028/254] adjust drag --- addons/gbu/CfgAmmo.hpp | 1 + 1 file changed, 1 insertion(+) diff --git a/addons/gbu/CfgAmmo.hpp b/addons/gbu/CfgAmmo.hpp index 9ff007e342d..bc79240019c 100644 --- a/addons/gbu/CfgAmmo.hpp +++ b/addons/gbu/CfgAmmo.hpp @@ -2,6 +2,7 @@ class CfgAmmo { class Bo_GBU12_LGB; class GVAR(12): Bo_GBU12_LGB { maneuvrability = 0; // no maneuvrability so that default guidance doesnt work + airFriction = 0.25; // bombs have high drag who woulda thunk class ace_missileguidance { enabled = 1; From e54e6ec2547cc87b51db1afc3a7654f12b0de42a Mon Sep 17 00:00:00 2001 From: Brandon Danyluk Date: Mon, 12 Apr 2021 16:44:59 -0600 Subject: [PATCH 029/254] Fix hellfire firing without lock. Change LOS navigation type --- .../hellfire/functions/fnc_attackProfile.sqf | 8 ++++- addons/laser/script_component.hpp | 4 +-- .../functions/fnc_guidancePFH.sqf | 9 +++++- .../fnc_navigationType_lineOfSight.sqf | 30 +++++++++++++++++-- .../missileguidance/functions/fnc_onFired.sqf | 12 ++++---- 5 files changed, 50 insertions(+), 13 deletions(-) diff --git a/addons/hellfire/functions/fnc_attackProfile.sqf b/addons/hellfire/functions/fnc_attackProfile.sqf index 013cf534c9b..afbedb239a0 100644 --- a/addons/hellfire/functions/fnc_attackProfile.sqf +++ b/addons/hellfire/functions/fnc_attackProfile.sqf @@ -22,7 +22,7 @@ _args params ["_firedEH", "_launchParams", "_flightParams", "", "_stateParams"]; _stateParams params ["", "_seekerStateParams"]; _launchParams params ["","_targetLaunchParams","_seekerType"]; -_targetLaunchParams params ["", "", "_launchPos"]; +_targetLaunchParams params ["", "", "_launchPos", "_launchDir"]; _firedEH params ["","","","","","","_projectile"]; // Get state params: @@ -37,6 +37,10 @@ private _heightAboveLaunch = (_projectilePos select 2) - (_launchPos select 2); // Add height depending on distance for compensate private _returnTargetPos = _seekerTargetPos; +if (_returnTargetPos isEqualTo [0, 0, 0]) then { + _initialDistanceToTarget = 8000; + _returnTargetPos = _launchPos vectorAdd (_launchDir vectorMultiply _initialDistanceToTarget); +}; private _closingRate = vectorMagnitude velocity _projectile; private _timeToGo = (_projectilePos distance _seekerTargetPos) / _closingRate; @@ -52,6 +56,7 @@ private _atMinRotationAngle = _angleToTarget >= (0.5 * _pitchRate * _timeToGo); switch (_attackStage) do { case STAGE_LAUNCH: { // Gain height quickly to pass terrain mask _missileStateData params ["_heightBeforeStateSwitch", "_initialDistanceToTarget"]; + _returnTargetPos set [2, _heightBeforeStateSwitch + (_initialDistanceToTarget * sin 20)]; // 100 and 36.4 gives a 20 deg angle if (_heightAboveLaunch > _configLaunchHeightClear) then { @@ -70,6 +75,7 @@ switch (_attackStage) do { }; case STAGE_SEEK_CRUISE: { // Slowly gain altitude while searching for target _missileStateData params ["_heightBeforeStateSwitch", "_initialDistanceToTarget"]; + // Before 4000 cruise at 5.7 degrees up, then level out _returnTargetPos set [2, _heightBeforeStateSwitch + (_initialDistanceToTarget * sin 5.7)]; diff --git a/addons/laser/script_component.hpp b/addons/laser/script_component.hpp index 450614d68ee..b0d9951bf3a 100644 --- a/addons/laser/script_component.hpp +++ b/addons/laser/script_component.hpp @@ -2,9 +2,9 @@ #define COMPONENT_BEAUTIFIED Laser #include "\z\ace\addons\main\script_mod.hpp" - #define DRAW_LASER_INFO +// #define DRAW_LASER_INFO // #define DEBUG_MODE_FULL - #define DISABLE_COMPILE_CACHE +// #define DISABLE_COMPILE_CACHE // #define ENABLE_PERFORMANCE_COUNTERS #ifdef DEBUG_ENABLED_LASER diff --git a/addons/missileguidance/functions/fnc_guidancePFH.sqf b/addons/missileguidance/functions/fnc_guidancePFH.sqf index 8d907dceef1..01e71664825 100644 --- a/addons/missileguidance/functions/fnc_guidancePFH.sqf +++ b/addons/missileguidance/functions/fnc_guidancePFH.sqf @@ -59,10 +59,17 @@ if ((_pitchRate != 0 || {_yawRate != 0}) && {_profileAdjustedTargetPos isNotEqua _commandedAcceleration = _projectile vectorWorldToModelVisual _commandedAcceleration; _commandedAcceleration params ["_yawChange", "", "_pitchChange"]; + + if (isNil "_yawChange") then { + _yawChange = 0; + }; + if (isNil "_pitchChange") then { + _pitchChange = 0; + }; private _clampedPitch = (_pitchChange min _pitchRate) max -_pitchRate; private _clampedYaw = (_yawChange min _yawRate) max -_yawRate; - + // controls are either on or off, no proportional if (_isBangBangGuidance) then { private _pitchSign = if (_clampedPitch == 0) then { diff --git a/addons/missileguidance/functions/fnc_navigationType_lineOfSight.sqf b/addons/missileguidance/functions/fnc_navigationType_lineOfSight.sqf index f5adcb718e9..8c853922811 100644 --- a/addons/missileguidance/functions/fnc_navigationType_lineOfSight.sqf +++ b/addons/missileguidance/functions/fnc_navigationType_lineOfSight.sqf @@ -14,9 +14,33 @@ * * Public: No */ -params ["_args", "", "", "_profileAdjustedTargetPos"]; -_args params ["_firedEH"]; +params ["_args", "_timestep", "_seekerTargetPos", "_profileAdjustedTargetPos"]; +_args params ["_firedEH", "", "", "", "_stateParams"]; _firedEH params ["","","","","","","_projectile"]; +_stateParams params ["", "", "", "","_navigationParams"]; +_navigationParams params [["_lastLineOfSight", [0, 0, 0]]]; +// Semi-proportional navigation implemented via "Fundamentals of proportional navigation" by Stephen Murtaugh and Harry Criel private _lineOfSight = vectorNormalized (_profileAdjustedTargetPos vectorDiff getPosASLVisual _projectile); -_lineOfSight vectorMultiply 50 + +// the los rate is tiny, so we multiply by a constant of a power of ten to get more aggressive acceleration +// this is just due to how we measure our LOS delta, the vectors involved are _tiny_ +private _losDelta = _lineOfSight vectorDiff _lastLineOfSight; +private _losRate = if (_timestep == 0) then { + 0 +} else { + 10 * (vectorMagnitude _losDelta) / _timestep; +}; + +private _commandedAcceleration = (velocity _projectile) vectorMultiply _losRate; +TRACE_5("LOS NAV",_commandedAcceleration,_projectile,_losRate,_lineOfSight,_lastLineOfSight); + +// we need acceleration normal to our LOS +private _commandedAccelerationProjected = _lineOfSight vectorMultiply (_commandedAcceleration vectorDotProduct _lineOfSight); +_commandedAcceleration = _commandedAcceleration vectorDiff _commandedAccelerationProjected; + +if (accTime > 0) then { + _navigationParams set [0, _lineOfSight]; +}; + +_commandedAccelerationProjected diff --git a/addons/missileguidance/functions/fnc_onFired.sqf b/addons/missileguidance/functions/fnc_onFired.sqf index 79c871ec8ba..d2d1095151f 100644 --- a/addons/missileguidance/functions/fnc_onFired.sqf +++ b/addons/missileguidance/functions/fnc_onFired.sqf @@ -119,7 +119,7 @@ private _pitchYaw = (vectorDir _projectile) call CBA_fnc_vect2Polar; TRACE_5("Beginning ACE guidance system",_target,_ammo,_seekerType,_attackProfile,_navigationType); private _args = [_this, [ _shooter, - [_target, _targetPos, _launchPos], + [_target, _targetPos, _launchPos, vectorDirVisual vehicle _shooter], _seekerType, _attackProfile, _lockMode, @@ -141,26 +141,26 @@ private _args = [_this, ]; private _onFiredFunc = getText (configFile >> QGVAR(SeekerTypes) >> _seekerType >> "onFired"); -TRACE_1("",_onFiredFunc); +TRACE_1("seeker on fired",_onFiredFunc); if (_onFiredFunc != "") then { _args call (missionNamespace getVariable _onFiredFunc); }; _onFiredFunc = getText (configFile >> QGVAR(AttackProfiles) >> _attackProfile >> "onFired"); -TRACE_1("",_onFiredFunc); +TRACE_1("attack on fired",_onFiredFunc); if (_onFiredFunc != "") then { _args call (missionNamespace getVariable _onFiredFunc); }; _onFiredFunc = getText (configFile >> QGVAR(NavigationTypes) >> _navigationType >> "onFired"); -TRACE_1("",_onFiredFunc); +TRACE_1("navigation on fired",_onFiredFunc); if (_onFiredFunc != "") then { _args call (missionNamespace getVariable _onFiredFunc); }; // Run the "onFired" function passing the full guidance args array _onFiredFunc = getText (_config >> "onFired"); -TRACE_1("",_onFiredFunc); +TRACE_1("general on fired",_onFiredFunc); if (_onFiredFunc != "") then { _args call (missionNamespace getVariable _onFiredFunc); }; @@ -169,7 +169,7 @@ if (_onFiredFunc != "") then { // _args params ["_firedEH", "_launchParams", "_flightParams", "_seekerParams", "_stateParams"]; // _firedEH params ["_shooter","","","","_ammo","","_projectile"]; // _launchParams params ["_shooter","_targetLaunchParams","_seekerType","_attackProfile","_lockMode","_laserInfo","_navigationType"]; -// _targetLaunchParams params ["_target", "_targetPos", "_launchPos"]; +// _targetLaunchParams params ["_target", "_targetPos", "_launchPos"m "_launchDir"]; // _stateParams params ["_lastRunTime", "_seekerStateParams", "_attackProfileStateParams", "_lastKnownPosState","_navigationParams"]; // _seekerParams params ["_seekerAngle", "_seekerAccuracy", "_seekerMaxRange", "_seekerMinRange"]; From 8948e8ac772edd011b34d877ca5aeb4a6950663f Mon Sep 17 00:00:00 2001 From: Brandon Danyluk Date: Mon, 12 Apr 2021 17:03:21 -0600 Subject: [PATCH 030/254] add camera tool to observe projectile in flight --- addons/missileguidance/XEH_post_init.sqf | 4 +++ .../missileguidance/dev/projectileCamera.sqf | 34 +++++++++++++++++++ .../missileguidance/functions/fnc_onFired.sqf | 4 +++ addons/missileguidance/script_component.hpp | 1 + 4 files changed, 43 insertions(+) create mode 100644 addons/missileguidance/dev/projectileCamera.sqf diff --git a/addons/missileguidance/XEH_post_init.sqf b/addons/missileguidance/XEH_post_init.sqf index cc09b1f0ac7..38a4df2a054 100644 --- a/addons/missileguidance/XEH_post_init.sqf +++ b/addons/missileguidance/XEH_post_init.sqf @@ -11,3 +11,7 @@ false }, [15, [false, true, false]], false] call CBA_fnc_addKeybind; //Ctrl+Tab Key + +#ifdef ENABLE_PROJECTILE_CAMERA +GVAR(dev_fnc_projectileCamera) = compile preprocessFileLineNumbers QPATHTOF(dev\projectileCamera.sqf); +#endif diff --git a/addons/missileguidance/dev/projectileCamera.sqf b/addons/missileguidance/dev/projectileCamera.sqf new file mode 100644 index 00000000000..8f70fa808ad --- /dev/null +++ b/addons/missileguidance/dev/projectileCamera.sqf @@ -0,0 +1,34 @@ +#include "\z\ace\addons\missileguidance\script_component.hpp" +// tracks a projectile until it explodes +params ["_projectile"]; + +private _camera = "camera" camCreate getPosATL _projectile; +_camera camPrepareFOV 0.7; +_camera cameraEffect ["internal", "back"]; + +_camera camCommitPrepared 0; + +[{ + params ["_args", "_pfh"]; + _args params ["_projectile", "_camera", "_projectilePos"]; + if !(alive _projectile) exitWith { + [{ + params ["_camera"]; + + _camera cameraEffect ["terminate", "back"]; + _camera camCommitPrepared 0; + camDestroy _camera; + }, [_camera], 1.5] call CBA_fnc_waitAndExecute; + + _camera camPrepareTarget _projectilePos; + _camera camCommitPrepared 0; + + [_pfh] call CBA_fnc_removePerFrameHandler; + }; + + _camera camPrepareTarget _projectile; + _camera camPrepareRelPos [0, -5, 1]; + _camera camCommitPrepared 0; + + _args set [2, getPosATL _projectile]; +}, 0, [_projectile, _camera, getPosATL _projectile]] call CBA_fnc_addPerFrameHandler; \ No newline at end of file diff --git a/addons/missileguidance/functions/fnc_onFired.sqf b/addons/missileguidance/functions/fnc_onFired.sqf index d2d1095151f..f41a089cff8 100644 --- a/addons/missileguidance/functions/fnc_onFired.sqf +++ b/addons/missileguidance/functions/fnc_onFired.sqf @@ -175,6 +175,10 @@ if (_onFiredFunc != "") then { [LINKFUNC(guidancePFH),0, _args ] call CBA_fnc_addPerFrameHandler; +#ifdef ENABLE_PROJECTILE_CAMERA +[_projectile] call GVAR(dev_fnc_projectileCamera); +#endif + /* Clears locking settings (vehicle _shooter) setVariable [QGVAR(target), nil]; diff --git a/addons/missileguidance/script_component.hpp b/addons/missileguidance/script_component.hpp index 92aacf90117..a54c93086bd 100644 --- a/addons/missileguidance/script_component.hpp +++ b/addons/missileguidance/script_component.hpp @@ -3,6 +3,7 @@ #include "\z\ace\addons\main\script_mod.hpp" #define DRAW_GUIDANCE_INFO + #define ENABLE_PROJECTILE_CAMERA #define DEBUG_MODE_FULL #define DISABLE_COMPILE_CACHE // #define ENABLE_PERFORMANCE_COUNTERS From 0d0019b27278e66921edff09d5f6533cdda0da87 Mon Sep 17 00:00:00 2001 From: Brandon Danyluk Date: Mon, 12 Apr 2021 18:04:40 -0600 Subject: [PATCH 031/254] add KAB-250 lgb --- addons/gbu/CfgAmmo.hpp | 39 ++++++++++++++++++++++++++++++++- addons/gbu/CfgMagazines.hpp | 15 +++++++++++++ addons/gbu/CfgWeapons.hpp | 4 ++-- addons/missileguidance/todo.txt | 2 +- 4 files changed, 56 insertions(+), 4 deletions(-) diff --git a/addons/gbu/CfgAmmo.hpp b/addons/gbu/CfgAmmo.hpp index bc79240019c..7cb1f897866 100644 --- a/addons/gbu/CfgAmmo.hpp +++ b/addons/gbu/CfgAmmo.hpp @@ -24,7 +24,44 @@ class CfgAmmo { navigationTypes[] = { "LineOfSight" }; seekLastTargetPos = 0; // seek last target position [if seeker loses LOS of target, continue to last known pos] - seekerAngle = 90; // Angle from the shooter's view that can track the missile + seekerAngle = 60; // Angle from the shooter's view that can track the missile + seekerAccuracy = 1; // seeker accuracy multiplier + + seekerMinRange = 5; + seekerMaxRange = 4000; // Range from the missile which the seeker can visually search + + // Attack profile type selection + defaultAttackProfile = "LIN"; + attackProfiles[] = {"LIN"}; + }; + }; + + class Bomb_03_F; + class GVAR(FAB250): Bomb_03_F { + maneuvrability = 0; // no maneuvrability so that default guidance doesnt work + airFriction = 0.25; // bombs have high drag who woulda thunk + class ace_missileguidance { + enabled = 1; + + pitchRate = 23; + yawRate = 23; + + bangBangGuidance = 1; + + canVanillaLock = 0; // Can this default vanilla lock? Only applicable to non-cadet mode + + // Guidance type for munitions + defaultSeekerType = "SALH"; + seekerTypes[] = { "SALH" }; + + defaultSeekerLockMode = "LOAL"; + seekerLockModes[] = { "LOAL" }; + + defaultNavigationType = "LineOfSight"; + navigationTypes[] = { "LineOfSight" }; + + seekLastTargetPos = 0; // seek last target position [if seeker loses LOS of target, continue to last known pos] + seekerAngle = 60; // Angle from the shooter's view that can track the missile seekerAccuracy = 1; // seeker accuracy multiplier seekerMinRange = 5; diff --git a/addons/gbu/CfgMagazines.hpp b/addons/gbu/CfgMagazines.hpp index 531a9bc7748..dc6c2cdfd5c 100644 --- a/addons/gbu/CfgMagazines.hpp +++ b/addons/gbu/CfgMagazines.hpp @@ -13,5 +13,20 @@ class CfgMagazines { ammo = QGVAR(12); pylonWeapon = QGVAR(12); }; + + class magazine_Bomb_KAB250_x1; + class GVAR(1Rnd_FAB250): magazine_Bomb_KAB250_x1 { + displayName = "KAB-250M-54 [ACE]"; + author = "Brandon (TCVM)"; + ammo = QGVAR(FAB250); + }; + + class PylonMissile_Bomb_KAB250_x1; + class GVAR(1_PylonMissile_1Rnd_FAB250): PylonMissile_Bomb_KAB250_x1 { + displayName = "KAB-250M-54 [ACE]"; + author = "Brandon (TCVM)"; + ammo = QGVAR(FAB250); + pylonWeapon = QGVAR(FAB250); + }; }; diff --git a/addons/gbu/CfgWeapons.hpp b/addons/gbu/CfgWeapons.hpp index a155b376824..2c76d0626ca 100644 --- a/addons/gbu/CfgWeapons.hpp +++ b/addons/gbu/CfgWeapons.hpp @@ -8,9 +8,9 @@ class CfgWeapons { EGVAR(laser,showHud) = 1; // show attack profile / lock on hud }; - class GVAR(lom250): weapon_LGBLauncherBase { + class GVAR(FAB250): weapon_LGBLauncherBase { displayName = "FAB-250M-54 [ACE]"; - magazines[] = {"2Rnd_Bomb_03_F","PylonMissile_1Rnd_Bomb_03_F"}; + magazines[] = {QGVAR(1Rnd_FAB250), QGVAR(1_PylonMissile_1Rnd_FAB250)}; EGVAR(laser,canSelect) = 1; // can ace_laser lock (allows switching laser code) EGVAR(laser,showHud) = 1; // show attack profile / lock on hud diff --git a/addons/missileguidance/todo.txt b/addons/missileguidance/todo.txt index 21e77534925..db022e4c6de 100644 --- a/addons/missileguidance/todo.txt +++ b/addons/missileguidance/todo.txt @@ -31,4 +31,4 @@ Navigation States: General To-Do: Add more weapons - Fix GBU drag + X Fix GBU drag From 34af87bb07d5e24a227c0b12a3066162a34a567e Mon Sep 17 00:00:00 2001 From: Brandon Danyluk Date: Mon, 12 Apr 2021 18:04:48 -0600 Subject: [PATCH 032/254] update todo with list of weapons --- addons/missileguidance/todo.txt | 29 +++++++++++++++++++++++++++++ 1 file changed, 29 insertions(+) diff --git a/addons/missileguidance/todo.txt b/addons/missileguidance/todo.txt index db022e4c6de..fcef373ad0a 100644 --- a/addons/missileguidance/todo.txt +++ b/addons/missileguidance/todo.txt @@ -11,8 +11,27 @@ Weapon Configs: Javelin - Optical NLAW - PLOS + Vikhr - Beam Rider SACLOS + + R-73 - Infrared + AIM-9 - Infrared + + R-77 - AHR + AIM-120 - AHR + AIM-132 - AHR + + KH-25 - Optical + AGM-65 - Optical + + GBU-SDB - GPS/INS + + AGM-88 - Passive Radar Homing + KH-58 - Passive Radar Homing + Seeker Types: X Laser - causes lots of weapon noise, causing bad guidance + Optical + Infrared Navigation Types: X GBU-12 - LOS Guidance @@ -20,11 +39,20 @@ Navigation Types: X Dragon - LOS Guidance X Metis - LOS Guidance X HOT - LOS Guidance + Vikhr - LOS Guidance + GBU-SDB - LOS Guidance X Javelin - Pro Nav X Hellfire - Pro Nav X AGM-65 - Pro Nav X DAGR - Pro Nav + R-73 - Pro Nav + R-77 - Pro Nav + AIM-120 - Pro Nav + AIM-132 - Pro Nav + KH-25 - Pro Nav + AGM-88 - Pro Nav + KH-58 - Pro Nav Navigation States: Todo @@ -32,3 +60,4 @@ Navigation States: General To-Do: Add more weapons X Fix GBU drag + Make sure all applicable pylons can hold all applicable weapons From 789ae1cbe44447d96956c0ce84473b32075e0efe Mon Sep 17 00:00:00 2001 From: Brandon Danyluk Date: Mon, 12 Apr 2021 22:37:41 -0600 Subject: [PATCH 033/254] Add AIM-120 with ARH. Change AHR to not always seek all targets --- addons/aim120/$PBOPREFIX$ | 1 + addons/aim120/CfgAmmo.hpp | 74 +++++++++++++++++++ addons/aim120/CfgMagazines.hpp | 60 +++++++++++++++ addons/aim120/CfgWeapons.hpp | 10 +++ addons/aim120/README.md | 12 +++ addons/aim120/config.cpp | 20 +++++ addons/aim120/script_component.hpp | 18 +++++ addons/gbu/script_component.hpp | 2 +- .../functions/fnc_ahr_onFired.sqf | 3 + .../functions/fnc_seekerType_ARH.sqf | 4 +- addons/missileguidance/script_component.hpp | 2 +- addons/missileguidance/todo.txt | 3 +- 12 files changed, 204 insertions(+), 5 deletions(-) create mode 100644 addons/aim120/$PBOPREFIX$ create mode 100644 addons/aim120/CfgAmmo.hpp create mode 100644 addons/aim120/CfgMagazines.hpp create mode 100644 addons/aim120/CfgWeapons.hpp create mode 100644 addons/aim120/README.md create mode 100644 addons/aim120/config.cpp create mode 100644 addons/aim120/script_component.hpp diff --git a/addons/aim120/$PBOPREFIX$ b/addons/aim120/$PBOPREFIX$ new file mode 100644 index 00000000000..9139f548f4e --- /dev/null +++ b/addons/aim120/$PBOPREFIX$ @@ -0,0 +1 @@ +z\ace\addons\aim120 \ No newline at end of file diff --git a/addons/aim120/CfgAmmo.hpp b/addons/aim120/CfgAmmo.hpp new file mode 100644 index 00000000000..af64a2c79a2 --- /dev/null +++ b/addons/aim120/CfgAmmo.hpp @@ -0,0 +1,74 @@ +class CfgAmmo { + class ammo_Missile_AMRAAM_C; + class GVAR(c): ammo_Missile_AMRAAM_C { + author = "Brandon (TCVM)"; + maneuvrability = 0; + class ace_missileguidance { + enabled = 1; + + pitchRate = 60; // Minium flap deflection for guidance + yawRate = 60; // Maximum flap deflection for guidance + + canVanillaLock = 1; // Can this default vanilla lock? Only applicable to non-cadet mode + + // Guidance type for munitions + defaultSeekerType = "ARH"; + seekerTypes[] = { "ARH" }; + lockableTypes[] = {"Air"}; + + defaultSeekerLockMode = "LOAL"; + seekerLockModes[] = { "LOAL", "LOBL" }; + + defaultNavigationType = "ProportionalNavigation"; + navigationTypes[] = { "ProportionalNavigation" }; + + seekLastTargetPos = 0; // seek last target position [if seeker loses LOS of target, continue to last known pos] + seekerAngle = 50; // Angle from the shooter's view that can track the missile + seekerAccuracy = 1; // seeker accuracy multiplier + + seekerMinRange = 75; + seekerMaxRange = 2500; // Range from the missile which the seeker can visually search + + // Attack profile type selection + defaultAttackProfile = "LIN"; + attackProfiles[] = {"LIN"}; + }; + }; + + class ammo_Missile_AMRAAM_D; + class GVAR(d): ammo_Missile_AMRAAM_D { + author = "Brandon (TCVM)"; + maneuvrability = 0; + class ace_missileguidance { + enabled = 1; + + pitchRate = 80; // Minium flap deflection for guidance + yawRate = 80; // Maximum flap deflection for guidance + + canVanillaLock = 1; // Can this default vanilla lock? Only applicable to non-cadet mode + + // Guidance type for munitions + defaultSeekerType = "ARH"; + seekerTypes[] = { "ARH" }; + lockableTypes[] = {"Air"}; + + defaultSeekerLockMode = "LOAL"; + seekerLockModes[] = { "LOAL", "LOBL" }; + + defaultNavigationType = "ProportionalNavigation"; + navigationTypes[] = { "ProportionalNavigation" }; + + seekLastTargetPos = 0; // seek last target position [if seeker loses LOS of target, continue to last known pos] + seekerAngle = 50; // Angle from the shooter's view that can track the missile + seekerAccuracy = 1; // seeker accuracy multiplier + + seekerMinRange = 75; + seekerMaxRange = 2500; // Range from the missile which the seeker can visually search + + // Attack profile type selection + defaultAttackProfile = "LIN"; + attackProfiles[] = {"LIN"}; + }; + }; +}; + diff --git a/addons/aim120/CfgMagazines.hpp b/addons/aim120/CfgMagazines.hpp new file mode 100644 index 00000000000..07b182a3326 --- /dev/null +++ b/addons/aim120/CfgMagazines.hpp @@ -0,0 +1,60 @@ +class CfgMagazines { + class magazine_Missile_AMRAAM_C_x1; + class PylonMissile_Missile_AMRAAM_C_x1; + class PylonRack_Missile_AMRAAM_C_x1; + class PylonRack_Missile_AMRAAM_C_x2; + class PylonMissile_Missile_AMRAAM_D_x1; + class PylonMissile_Missile_AMRAAM_D_INT_x1; + class PylonRack_Missile_AMRAAM_D_x1; + class PylonRack_Missile_AMRAAM_D_x2; + + class GVAR(c): magazine_Missile_AMRAAM_C_x1 { + author = "Brandon (TCVM)"; + displayName = "1x AIM-120C [ACE]"; + ammo = QGVAR(c); + }; + class GVAR(PylonMissile_Missile_c_x1): PylonMissile_Missile_AMRAAM_C_x1 { + author = "Brandon (TCVM)"; + displayName = "1x AIM-120C [ACE]"; + ammo = QGVAR(c); + pylonWeapon = GVAR(aim120Launcher); + }; + class GVAR(PylonRack_Missile_c_x1): PylonRack_Missile_AMRAAM_C_x1 { + author = "Brandon (TCVM)"; + displayName = "1x AIM-120C [ACE]"; + ammo = QGVAR(c); + pylonWeapon = GVAR(aim120Launcher); + }; + class GVAR(PylonRack_Missile_c_x2): PylonRack_Missile_AMRAAM_C_x2 { + author = "Brandon (TCVM)"; + displayName = "2x AIM-120C [ACE]"; + ammo = QGVAR(c); + pylonWeapon = GVAR(aim120Launcher); + }; + + class GVAR(PylonMissile_Missile_d_x1): PylonMissile_Missile_AMRAAM_D_x1 { + author = "Brandon (TCVM)"; + displayName = "1x AIM-120D [ACE]"; + ammo = QGVAR(d); + pylonWeapon = GVAR(aim120Launcher); + }; + class GVAR(PylonMissile_Missile_d_INT_x1): PylonMissile_Missile_AMRAAM_D_INT_x1 { + author = "Brandon (TCVM)"; + displayName = "1x AIM-120D [ACE]"; + ammo = QGVAR(d); + pylonWeapon = GVAR(aim120Launcher); + }; + class GVAR(PylonRack_Missile_d_x1): PylonRack_Missile_AMRAAM_D_x1 { + author = "Brandon (TCVM)"; + displayName = "1x AIM-120D [ACE]"; + ammo = QGVAR(d); + pylonWeapon = GVAR(aim120Launcher); + }; + class GVAR(PylonRack_Missile_d_x2): PylonRack_Missile_AMRAAM_D_x2 { + author = "Brandon (TCVM)"; + displayName = "2x AIM-120D [ACE]"; + ammo = QGVAR(d); + pylonWeapon = GVAR(aim120Launcher); + }; +}; + diff --git a/addons/aim120/CfgWeapons.hpp b/addons/aim120/CfgWeapons.hpp new file mode 100644 index 00000000000..3efc628e03d --- /dev/null +++ b/addons/aim120/CfgWeapons.hpp @@ -0,0 +1,10 @@ +class CfgWeapons { + class weapon_AMRAAMLauncher; + class GVAR(aim120Launcher): weapon_AMRAAMLauncher { + author = "Brandon (TCVM)"; + displayName = "AIM-120 [ACE]"; + + magazines[] = { QGVAR(c), QGVAR(PylonMissile_Missile_c_x1), QGVAR(PylonRack_Missile_c_x1), QGVAR(PylonRack_Missile_c_x2), QGVAR(PylonMissile_Missile_d_x1), QGVAR(PylonMissile_Missile_d_INT_x1), QGVAR(PylonRack_Missile_d_x1), QGVAR(PylonRack_Missile_d_x2)}; + }; +}; + diff --git a/addons/aim120/README.md b/addons/aim120/README.md new file mode 100644 index 00000000000..4a06df3fdca --- /dev/null +++ b/addons/aim120/README.md @@ -0,0 +1,12 @@ +ace_aim120 +=================== + +Adds AIM-120, AIM-132, and R-77 AHR missiles + + +## Maintainers + +The people responsible for merging changes to this component or answering potential questions. + +- [Brandon-TCVM](https://github.com/TheCandianVendingMachine) + diff --git a/addons/aim120/config.cpp b/addons/aim120/config.cpp new file mode 100644 index 00000000000..c3fa7648329 --- /dev/null +++ b/addons/aim120/config.cpp @@ -0,0 +1,20 @@ +#include "script_component.hpp" + +class CfgPatches { + class ADDON { + name = COMPONENT_NAME; + units[] = {}; + weapons[] = {}; + requiredVersion = REQUIRED_VERSION; + requiredAddons[] = {"ace_common","ace_missileguidance"}; + author = ECSTRING(common,ACETeam); + authors[] = {"Brandon (TCVM)"}; + url = ECSTRING(main,URL); + VERSION_CONFIG; + }; +}; + +#include "CfgAmmo.hpp" +#include "CfgMagazines.hpp" +#include "CfgWeapons.hpp" + diff --git a/addons/aim120/script_component.hpp b/addons/aim120/script_component.hpp new file mode 100644 index 00000000000..ee30a9fc50a --- /dev/null +++ b/addons/aim120/script_component.hpp @@ -0,0 +1,18 @@ +#define COMPONENT aim120 +#define COMPONENT_BEAUTIFIED AIM-120 +#include "\z\ace\addons\main\script_mod.hpp" + +// #define DEBUG_MODE_FULL +// #define DISABLE_COMPILE_CACHE +// #define ENABLE_PERFORMANCE_COUNTERS + +#ifdef DEBUG_ENABLED_AIM120 + #define DEBUG_MODE_FULL +#endif + +#ifdef DEBUG_SETTINGS_AIM120 + #define DEBUG_SETTINGS DEBUG_SETTINGS_GBU +#endif + +#include "\z\ace\addons\main\script_macros.hpp" + diff --git a/addons/gbu/script_component.hpp b/addons/gbu/script_component.hpp index 1bf7b694040..91375a8bb10 100644 --- a/addons/gbu/script_component.hpp +++ b/addons/gbu/script_component.hpp @@ -10,7 +10,7 @@ #define DEBUG_MODE_FULL #endif -#ifdef DEBUG_SETTINGS_HOT +#ifdef DEBUG_SETTINGS_GBU #define DEBUG_SETTINGS DEBUG_SETTINGS_GBU #endif diff --git a/addons/missileguidance/functions/fnc_ahr_onFired.sqf b/addons/missileguidance/functions/fnc_ahr_onFired.sqf index c7a3e5561c8..3b0183d70f4 100644 --- a/addons/missileguidance/functions/fnc_ahr_onFired.sqf +++ b/addons/missileguidance/functions/fnc_ahr_onFired.sqf @@ -38,6 +38,8 @@ private _activeRadarDistance = [_config >> "activeRadarEngageDistance", "NUMBER" private _projectileThrust = [_projectileConfig >> "thrust", "NUMBER", 0] call CBA_fnc_getConfigEntry; private _projectileThrustTime = [_projectileConfig >> "thrustTime", "NUMBER", 0] call CBA_fnc_getConfigEntry; +private _lockTypes = [_config >> "lockableTypes", "ARRAY", ["Air", "LandVehicle", "Ship"]] call CBA_fnc_getConfigEntry; + private _velocityAtImpact = _projectileThrust * _projectileThrustTime; private _timeToActive = 0; if (!isNil "_target" && _velocityAtImpact > 0) then { @@ -70,4 +72,5 @@ _seekerStateParams set [6, false]; _seekerStateParams set [7, [0, 0, 0]]; _seekerStateParams set [8, CBA_missionTime]; _seekerStateParams set [9, isNull _target]; +_seekerStateParams set [10, _lockTypes]; diff --git a/addons/missileguidance/functions/fnc_seekerType_ARH.sqf b/addons/missileguidance/functions/fnc_seekerType_ARH.sqf index 05eb5091de5..c1bf048ee10 100644 --- a/addons/missileguidance/functions/fnc_seekerType_ARH.sqf +++ b/addons/missileguidance/functions/fnc_seekerType_ARH.sqf @@ -20,7 +20,7 @@ _args params ["_firedEH", "_launchParams", "", "_seekerParams", "_stateParams"]; _firedEH params ["_shooter","","","","","","_projectile"]; _launchParams params ["_target","","","",""]; _seekerParams params ["_seekerAngle", "", "_seekerMaxRange"]; -_seekerStateParams params ["_isActive", "_activeRadarEngageDistance", "_timeWhenActive", "_expectedTargetPos", "_lastTargetPollTime", "_shooterHasRadar", "_wasActive", "_lastKnownVelocity", "_lastTimeSeen", "_doesntHaveTarget"]; +_seekerStateParams params ["_isActive", "_activeRadarEngageDistance", "_timeWhenActive", "_expectedTargetPos", "_lastTargetPollTime", "_shooterHasRadar", "_wasActive", "_lastKnownVelocity", "_lastTimeSeen", "_doesntHaveTarget", "_lockTypes"]; if (_isActive || { CBA_missionTime >= _timeWhenActive }) then { if !(_isActive) then { @@ -60,7 +60,7 @@ if (_isActive || { CBA_missionTime >= _timeWhenActive }) then { _seekerBaseRadiusAdjusted = _seekerBaseRadiusAtGround; }; // Look in front of seeker for any targets - private _nearestObjects = nearestObjects [ASLtoAGL _searchPos, ["Air", "LandVehicle", "Ship"], _seekerBaseRadiusAdjusted, false]; + private _nearestObjects = nearestObjects [ASLtoAGL _searchPos, _lockTypes, _seekerBaseRadiusAdjusted, false]; _nearestObjects = _nearestObjects apply { // I check both Line of Sight versions to make sure that a single bush doesnt make the target lock dissapear but at the same time ensure that this can see through smoke. Should work 80% of the time if ([_projectile, getPosASL _x, _seekerAngle] call FUNC(checkSeekerAngle) && { ([_projectile, _x, true] call FUNC(checkLOS)) || { ([_projectile, _x, false] call FUNC(checkLOS)) } }) then { diff --git a/addons/missileguidance/script_component.hpp b/addons/missileguidance/script_component.hpp index a54c93086bd..a4a4f51906f 100644 --- a/addons/missileguidance/script_component.hpp +++ b/addons/missileguidance/script_component.hpp @@ -3,7 +3,7 @@ #include "\z\ace\addons\main\script_mod.hpp" #define DRAW_GUIDANCE_INFO - #define ENABLE_PROJECTILE_CAMERA +// #define ENABLE_PROJECTILE_CAMERA #define DEBUG_MODE_FULL #define DISABLE_COMPILE_CACHE // #define ENABLE_PERFORMANCE_COUNTERS diff --git a/addons/missileguidance/todo.txt b/addons/missileguidance/todo.txt index fcef373ad0a..19c3424c963 100644 --- a/addons/missileguidance/todo.txt +++ b/addons/missileguidance/todo.txt @@ -29,9 +29,10 @@ Weapon Configs: KH-58 - Passive Radar Homing Seeker Types: - X Laser - causes lots of weapon noise, causing bad guidance + X Laser Optical Infrared + GPS/INS Navigation Types: X GBU-12 - LOS Guidance From 187c6d35c3bb98292738e9f9e7c1568a99a63429 Mon Sep 17 00:00:00 2001 From: Brandon Danyluk Date: Mon, 12 Apr 2021 23:14:22 -0600 Subject: [PATCH 034/254] Implement some generic modes of flight --- addons/aim120/CfgAmmo.hpp | 16 ++++-- addons/aim120/CfgWeapons.hpp | 43 +++++++++++++++ addons/missileguidance/ACE_GuidanceConfig.hpp | 18 +++---- addons/missileguidance/XEH_PREP.hpp | 3 +- .../functions/fnc_attackProfile_DIR.sqf | 7 +-- .../functions/fnc_attackProfile_HI.sqf | 21 -------- .../functions/fnc_attackProfile_LOFT.sqf | 53 +++++++++++++++++++ .../functions/fnc_attackProfile_MID.sqf | 21 -------- .../missileguidance/functions/fnc_onFired.sqf | 5 +- 9 files changed, 124 insertions(+), 63 deletions(-) delete mode 100644 addons/missileguidance/functions/fnc_attackProfile_HI.sqf create mode 100644 addons/missileguidance/functions/fnc_attackProfile_LOFT.sqf delete mode 100644 addons/missileguidance/functions/fnc_attackProfile_MID.sqf diff --git a/addons/aim120/CfgAmmo.hpp b/addons/aim120/CfgAmmo.hpp index af64a2c79a2..b2008d625e9 100644 --- a/addons/aim120/CfgAmmo.hpp +++ b/addons/aim120/CfgAmmo.hpp @@ -3,6 +3,9 @@ class CfgAmmo { class GVAR(c): ammo_Missile_AMRAAM_C { author = "Brandon (TCVM)"; maneuvrability = 0; + flightProfiles[] = {"Direct", "Loft"}; + class Direct {}; // dummy to allow for F cycling of missile mode + class Loft {}; class ace_missileguidance { enabled = 1; @@ -30,8 +33,9 @@ class CfgAmmo { seekerMaxRange = 2500; // Range from the missile which the seeker can visually search // Attack profile type selection - defaultAttackProfile = "LIN"; - attackProfiles[] = {"LIN"}; + defaultAttackProfile = "DIR"; + attackProfiles[] = {"DIR", "LOFT"}; + useModeForAttackProfile = 1; }; }; @@ -39,6 +43,9 @@ class CfgAmmo { class GVAR(d): ammo_Missile_AMRAAM_D { author = "Brandon (TCVM)"; maneuvrability = 0; + flightProfiles[] = {"Direct", "TopDown"}; + class Direct {}; // dummy to allow for F cycling of missile mode + class TopDown {}; class ace_missileguidance { enabled = 1; @@ -66,8 +73,9 @@ class CfgAmmo { seekerMaxRange = 2500; // Range from the missile which the seeker can visually search // Attack profile type selection - defaultAttackProfile = "LIN"; - attackProfiles[] = {"LIN"}; + defaultAttackProfile = "DIR"; + attackProfiles[] = {"DIR", "LOFT"}; + useModeForAttackProfile = 1; }; }; }; diff --git a/addons/aim120/CfgWeapons.hpp b/addons/aim120/CfgWeapons.hpp index 3efc628e03d..ba1aa6d05c0 100644 --- a/addons/aim120/CfgWeapons.hpp +++ b/addons/aim120/CfgWeapons.hpp @@ -1,10 +1,53 @@ class CfgWeapons { class weapon_AMRAAMLauncher; + class MissileLauncher; class GVAR(aim120Launcher): weapon_AMRAAMLauncher { author = "Brandon (TCVM)"; displayName = "AIM-120 [ACE]"; + weaponLockDelay = 0.5; magazines[] = { QGVAR(c), QGVAR(PylonMissile_Missile_c_x1), QGVAR(PylonRack_Missile_c_x1), QGVAR(PylonRack_Missile_c_x2), QGVAR(PylonMissile_Missile_d_x1), QGVAR(PylonMissile_Missile_d_INT_x1), QGVAR(PylonRack_Missile_d_x1), QGVAR(PylonRack_Missile_d_x2)}; + + modes[] = {"Direct", "Loft"}; + class Direct: MissileLauncher { + displayName = "Direct"; + textureType = "direct"; + reloadTime = 0.1; + magazineReloadTime = 0.1; + aiRateOfFire = 15; + aiRateOfFireDispersion = -10; + aiRateOfFireDistance = 10000; + minRange = 800; + minRangeProbab = 0.5; + midRange = 2500; + midRangeProbab = 0.95; + maxRange = 4000; + maxRangeProbab = 1; + sounds[] = {"StandardSound"}; + class StandardSound { + begin1[] = {"A3\Sounds_F\weapons\Rockets\missile_2", 1.12202, 1.3, 1000}; + soundBegin[] = {"begin1", 1}; + weaponSoundEffect = "DefaultRifle"; + }; + soundFly[] = {"A3\Sounds_F\weapons\Rockets\rocket_fly_1", 1, 1.5, 700}; + lockingTargetSound[] = {"\A3\Sounds_F\weapons\Rockets\locked_1", 0.562341, 1}; + lockedTargetSound[] = {"\A3\Sounds_F\weapons\Rockets\locked_3", 0.562341, 2.5}; + + EGVAR(missileGuidance,attackProfile) = "DIR"; + }; + class Loft: Direct { + displayName = "Loft"; + textureType = "topdown"; + + minRange = 4000; + minRangeProbab = 0.5; + midRange = 7000; + midRangeProbab = 0.95; + maxRange = 13000; + maxRangeProbab = 1; + + EGVAR(missileGuidance,attackProfile) = "LOFT"; + }; }; }; diff --git a/addons/missileguidance/ACE_GuidanceConfig.hpp b/addons/missileguidance/ACE_GuidanceConfig.hpp index 59dacde74fb..d815641bea5 100644 --- a/addons/missileguidance/ACE_GuidanceConfig.hpp +++ b/addons/missileguidance/ACE_GuidanceConfig.hpp @@ -6,6 +6,11 @@ class GVAR(AttackProfiles) { functionName = QFUNC(attackProfile_LIN); }; + // empty classes for backwards compat + class MID: LIN { + }; + class HI: LIN { + }; class DIR { name = ""; visualName = ""; @@ -13,21 +18,14 @@ class GVAR(AttackProfiles) { functionName = QFUNC(attackProfile_DIR); }; - class MID { - name = ""; - visualName = ""; - description = ""; - - functionName = QFUNC(attackProfile_MID); - }; - class HI { + class LOFT { name = ""; visualName = ""; description = ""; - functionName = QFUNC(attackProfile_HI); + functionName = QFUNC(attackProfile_LOFT); }; - class JAV_DIR { + class JAV_DIR { name = ""; visualName = ""; description = ""; diff --git a/addons/missileguidance/XEH_PREP.hpp b/addons/missileguidance/XEH_PREP.hpp index fca49e77a8e..75b891da122 100644 --- a/addons/missileguidance/XEH_PREP.hpp +++ b/addons/missileguidance/XEH_PREP.hpp @@ -19,9 +19,8 @@ PREP(handleHandoff); // Attack Profiles PREP(attackProfile_AIR); PREP(attackProfile_DIR); -PREP(attackProfile_HI); PREP(attackProfile_LIN); -PREP(attackProfile_MID); +PREP(attackProfile_LOFT); PREP(attackProfile_WIRE); PREP(attackProfile_BEAM); diff --git a/addons/missileguidance/functions/fnc_attackProfile_DIR.sqf b/addons/missileguidance/functions/fnc_attackProfile_DIR.sqf index cddd70807e8..a3c310293a1 100644 --- a/addons/missileguidance/functions/fnc_attackProfile_DIR.sqf +++ b/addons/missileguidance/functions/fnc_attackProfile_DIR.sqf @@ -1,8 +1,8 @@ #include "script_component.hpp" /* - * Author: jaynus / nou + * Author: Brandon (TCVM) * Attack profile: DIR - * TODO: falls back to Linear + * Returns target position with no modifications * * Arguments: * 0: Seeker Target PosASL @@ -18,4 +18,5 @@ * Public: No */ -_this call FUNC(attackProfile_LIN); +params ["_seekerTargetPos"]; +_seekerTargetPos diff --git a/addons/missileguidance/functions/fnc_attackProfile_HI.sqf b/addons/missileguidance/functions/fnc_attackProfile_HI.sqf deleted file mode 100644 index 6f1fbe67d3b..00000000000 --- a/addons/missileguidance/functions/fnc_attackProfile_HI.sqf +++ /dev/null @@ -1,21 +0,0 @@ -#include "script_component.hpp" -/* - * Author: jaynus / nou - * Attack profile: HI - * TODO: falls back to Linear - * - * Arguments: - * 0: Seeker Target PosASL - * 1: Guidance Arg Array - * 2: Attack Profile State - * - * Return Value: - * Missile Aim PosASL - * - * Example: - * [[1,2,3], [], []] call ace_missileguidance_fnc_attackProfile_HI; - * - * Public: No - */ - -_this call FUNC(attackProfile_LIN); diff --git a/addons/missileguidance/functions/fnc_attackProfile_LOFT.sqf b/addons/missileguidance/functions/fnc_attackProfile_LOFT.sqf new file mode 100644 index 00000000000..eb3a9583ee9 --- /dev/null +++ b/addons/missileguidance/functions/fnc_attackProfile_LOFT.sqf @@ -0,0 +1,53 @@ +#include "script_component.hpp" +/* + * Author: jaynus / nou + * Attack profile: AIR + * TODO: falls back to Linear + * + * Arguments: + * 0: Seeker Target PosASL + * 1: Guidance Arg Array + * 2: Seeker State + * + * Return Value: + * Missile Aim PosASL + * + * Example: + * [[1,2,3], [], []] call ace_missileguidance_fnc_attackProfile_AIR; + * + * Public: No + */ + +params ["_seekerTargetPos", "_args"]; +_args params ["_firedEH", "_launchParams", "_flightParams", "_seekerParams", "_stateParams"]; +_firedEH params ["_shooter","","","","_ammo","","_projectile"]; +_launchParams params ["_shooter","_targetLaunchParams","_seekerType","_attackProfile","_lockMode","_laserInfo","_navigationType"]; +_targetLaunchParams params ["_target", "_targetPos", "_launchPos", "_launchDir", "_launchTime"]; +_flightParams params ["_pitchRate", "_yawRate", "_isBangBangGuidance"]; +_stateParams params ["_lastRunTime", "_seekerStateParams", "_attackProfileStateParams", "_lastKnownPosState","_navigationParams"]; +_seekerParams params ["_seekerAngle", "_seekerAccuracy", "_seekerMaxRange", "_seekerMinRange"]; + +if (_seekerTargetPos isEqualTo [0, 0, 0]) exitWith { + _seekerTargetPos +}; + +private _projectilePos = getPosASLVisual _projectile; + +private _closingRate = vectorMagnitude velocity _projectile; +private _timeToGo = (_projectilePos distance _seekerTargetPos) / _closingRate; + +// we could do stuff like desired attack angle, but I'm not going that far today +private _los = vectorNormalized (_seekerTargetPos vectorDiff _projectilePos); + +private _angleToTarget = acos ((vectorDir _projectile) vectorCos _los); +private _atMinRotationAngle = _angleToTarget >= (0.5 * _pitchRate * _timeToGo); + +private _returnTargetPos = _seekerTargetPos; + +if !(_atMinRotationAngle) then { + // 10 degree pitch up + _returnTargetPos = _seekerTargetPos vectorAdd [0, 0, (_projectilePos distance _seekerTargetPos) * sin 10]; +}; + +_returnTargetPos + diff --git a/addons/missileguidance/functions/fnc_attackProfile_MID.sqf b/addons/missileguidance/functions/fnc_attackProfile_MID.sqf deleted file mode 100644 index f66088844ca..00000000000 --- a/addons/missileguidance/functions/fnc_attackProfile_MID.sqf +++ /dev/null @@ -1,21 +0,0 @@ -#include "script_component.hpp" -/* - * Author: jaynus / nou - * Attack profile: MID - * TODO: falls back to Linear - * - * Arguments: - * 0: Seeker Target PosASL - * 1: Guidance Arg Array - * 2: Attack Profile State - * - * Return Value: - * Missile Aim PosASL - * - * Example: - * [[1,2,3], [], []] call ace_missileguidance_fnc_attackProfile_MID; - * - * Public: No - */ - -_this call FUNC(attackProfile_LIN); diff --git a/addons/missileguidance/functions/fnc_onFired.sqf b/addons/missileguidance/functions/fnc_onFired.sqf index f41a089cff8..d1b5fc87c09 100644 --- a/addons/missileguidance/functions/fnc_onFired.sqf +++ b/addons/missileguidance/functions/fnc_onFired.sqf @@ -119,7 +119,7 @@ private _pitchYaw = (vectorDir _projectile) call CBA_fnc_vect2Polar; TRACE_5("Beginning ACE guidance system",_target,_ammo,_seekerType,_attackProfile,_navigationType); private _args = [_this, [ _shooter, - [_target, _targetPos, _launchPos, vectorDirVisual vehicle _shooter], + [_target, _targetPos, _launchPos, vectorDirVisual vehicle _shooter, CBA_missionTime], _seekerType, _attackProfile, _lockMode, @@ -169,7 +169,8 @@ if (_onFiredFunc != "") then { // _args params ["_firedEH", "_launchParams", "_flightParams", "_seekerParams", "_stateParams"]; // _firedEH params ["_shooter","","","","_ammo","","_projectile"]; // _launchParams params ["_shooter","_targetLaunchParams","_seekerType","_attackProfile","_lockMode","_laserInfo","_navigationType"]; -// _targetLaunchParams params ["_target", "_targetPos", "_launchPos"m "_launchDir"]; +// _targetLaunchParams params ["_target", "_targetPos", "_launchPos", "_launchDir", "_launchTime"]; +// _flightParams params ["_pitchRate", "_yawRate", "_isBangBangGuidance"]; // _stateParams params ["_lastRunTime", "_seekerStateParams", "_attackProfileStateParams", "_lastKnownPosState","_navigationParams"]; // _seekerParams params ["_seekerAngle", "_seekerAccuracy", "_seekerMaxRange", "_seekerMinRange"]; From a93eb6433d68362f9e9fb670f644ba283a529186 Mon Sep 17 00:00:00 2001 From: Brandon Danyluk Date: Tue, 13 Apr 2021 14:09:36 -0600 Subject: [PATCH 035/254] implement augmented proportional navigation --- addons/aim120/CfgAmmo.hpp | 8 +-- addons/hellfire/CfgAmmo.hpp | 4 ++ addons/missileguidance/ACE_GuidanceConfig.hpp | 4 ++ addons/missileguidance/XEH_PREP.hpp | 1 + .../functions/fnc_attackProfile_LOFT.sqf | 3 +- .../fnc_navigationType_augmentedProNav.sqf | 63 +++++++++++++++++++ addons/missileguidance/todo.txt | 26 ++++---- 7 files changed, 93 insertions(+), 16 deletions(-) create mode 100644 addons/missileguidance/functions/fnc_navigationType_augmentedProNav.sqf diff --git a/addons/aim120/CfgAmmo.hpp b/addons/aim120/CfgAmmo.hpp index b2008d625e9..27a044143c0 100644 --- a/addons/aim120/CfgAmmo.hpp +++ b/addons/aim120/CfgAmmo.hpp @@ -22,8 +22,8 @@ class CfgAmmo { defaultSeekerLockMode = "LOAL"; seekerLockModes[] = { "LOAL", "LOBL" }; - defaultNavigationType = "ProportionalNavigation"; - navigationTypes[] = { "ProportionalNavigation" }; + defaultNavigationType = "AugmentedProportionalNavigation"; + navigationTypes[] = { "AugmentedProportionalNavigation" }; seekLastTargetPos = 0; // seek last target position [if seeker loses LOS of target, continue to last known pos] seekerAngle = 50; // Angle from the shooter's view that can track the missile @@ -62,8 +62,8 @@ class CfgAmmo { defaultSeekerLockMode = "LOAL"; seekerLockModes[] = { "LOAL", "LOBL" }; - defaultNavigationType = "ProportionalNavigation"; - navigationTypes[] = { "ProportionalNavigation" }; + defaultNavigationType = "AugmentedProportionalNavigation"; + navigationTypes[] = { "AugmentedProportionalNavigation" }; seekLastTargetPos = 0; // seek last target position [if seeker loses LOS of target, continue to last known pos] seekerAngle = 50; // Angle from the shooter's view that can track the missile diff --git a/addons/hellfire/CfgAmmo.hpp b/addons/hellfire/CfgAmmo.hpp index a5e2a54429b..f8cfa685870 100644 --- a/addons/hellfire/CfgAmmo.hpp +++ b/addons/hellfire/CfgAmmo.hpp @@ -83,6 +83,10 @@ class CfgAmmo { activeRadarEngageDistance = 1000; seekerMaxRange = 2000; // distance that the hellfire internal radar can scan + + // we can get target acceleration data from radar + defaultNavigationType = "AugmentedProportionalNavigation"; + navigationTypes[] = { "AugmentedProportionalNavigation" }; }; // Vanilla lock system vars diff --git a/addons/missileguidance/ACE_GuidanceConfig.hpp b/addons/missileguidance/ACE_GuidanceConfig.hpp index d815641bea5..36f48ffe8e8 100644 --- a/addons/missileguidance/ACE_GuidanceConfig.hpp +++ b/addons/missileguidance/ACE_GuidanceConfig.hpp @@ -98,4 +98,8 @@ class GVAR(NavigationTypes) { functionName = QFUNC(navigationType_proNav); onFired = QFUNC(proNav_onFired); }; + class AugmentedProportionalNavigation { + functionName = QFUNC(navigationType_augmentedProNav); + onFired = QFUNC(proNav_onFired); + }; }; diff --git a/addons/missileguidance/XEH_PREP.hpp b/addons/missileguidance/XEH_PREP.hpp index 75b891da122..6632d64d41c 100644 --- a/addons/missileguidance/XEH_PREP.hpp +++ b/addons/missileguidance/XEH_PREP.hpp @@ -29,6 +29,7 @@ PREP(attackProfile_JAV_DIR); PREP(attackProfile_JAV_TOP); // Navigation Profiles +PREP(navigationType_augmentedProNav); PREP(navigationType_proNav); PREP(navigationType_lineOfSight); diff --git a/addons/missileguidance/functions/fnc_attackProfile_LOFT.sqf b/addons/missileguidance/functions/fnc_attackProfile_LOFT.sqf index eb3a9583ee9..3c8a7f289ae 100644 --- a/addons/missileguidance/functions/fnc_attackProfile_LOFT.sqf +++ b/addons/missileguidance/functions/fnc_attackProfile_LOFT.sqf @@ -32,6 +32,7 @@ if (_seekerTargetPos isEqualTo [0, 0, 0]) exitWith { }; private _projectilePos = getPosASLVisual _projectile; +private _distanceToTarget2d = _projectilePos distance2d _seekerTargetPos; private _closingRate = vectorMagnitude velocity _projectile; private _timeToGo = (_projectilePos distance _seekerTargetPos) / _closingRate; @@ -44,7 +45,7 @@ private _atMinRotationAngle = _angleToTarget >= (0.5 * _pitchRate * _timeToGo); private _returnTargetPos = _seekerTargetPos; -if !(_atMinRotationAngle) then { +if (!_atMinRotationAngle && _distanceToTarget2d >= 500 && _timeToGo >= 10) then { // 10 degree pitch up _returnTargetPos = _seekerTargetPos vectorAdd [0, 0, (_projectilePos distance _seekerTargetPos) * sin 10]; }; diff --git a/addons/missileguidance/functions/fnc_navigationType_augmentedProNav.sqf b/addons/missileguidance/functions/fnc_navigationType_augmentedProNav.sqf new file mode 100644 index 00000000000..b6a8c19cde6 --- /dev/null +++ b/addons/missileguidance/functions/fnc_navigationType_augmentedProNav.sqf @@ -0,0 +1,63 @@ +#include "script_component.hpp" +/* + * Author: Brandon (TCVM) + * Determine path for projectile to take in accordance to proportional navigation, takes target acceleration into account + * + * Arguments: + * Guidance Arg Array + * + * Return Value: + * Commanded acceleration normal to LOS in world space + * + * Example: + * [] call ace_missileguidance_fnc_navigationType_augmentedProNav + * + * Public: No + */ +params ["_args", "_timestep", "_seekerTargetPos", "_profileAdjustedTargetPos"]; +_args params ["_firedEH", "", "", "", "_stateParams"]; +_firedEH params ["","","","","","","_projectile"]; +_stateParams params ["", "", "", "","_navigationParams"]; +_navigationParams params ["_lastMissileFrame", "_navigationGain"]; +_lastMissileFrame params ["_lastTargetPosition", "_lastTargetVelocity", "_lastLineOfSight"]; + +// Proportional navigation implemented via "Fundamentals of proportional navigation" by Stephen Murtaugh and Harry Criel +private _projectileVelocity = velocity _projectile; + +// integrate target velocity for realistic inference of velocity +private _targetVelocity = _lastTargetVelocity; +private _targetAcceleration = [0, 0, 0]; +if (_timestep != 0) then { + _targetVelocity = (_seekerTargetPos vectorDiff _lastTargetPosition) vectorMultiply (1 / _timestep); + _targetAcceleration = (_targetVelocity vectorDiff _lastTargetVelocity) vectorMultiply (1 / _timestep); +}; + +private _closingVelocity = _targetVelocity vectorDiff _projectileVelocity; + +private _lineOfSight = vectorNormalized (_profileAdjustedTargetPos vectorDiff getPosASLVisual _projectile); + +private _targetAccelerationProjected = _lineOfSight vectorMultiply (_targetAcceleration vectorDotProduct _lineOfSight); +_targetAcceleration = _targetAcceleration vectorDiff _targetAccelerationProjected; +systemChat str vectorMagnitude _targetAcceleration; +// the los rate is tiny, so we multiply by a constant of a power of ten to get more aggressive acceleration +// this is just due to how we measure our LOS delta, the vectors involved are _tiny_ +private _losDelta = _lineOfSight vectorDiff _lastLineOfSight; +private _losRate = if (_timestep == 0) then { + 0 +} else { + 10 * (vectorMagnitude _losDelta) / _timestep; +}; + +private _lateralAcceleration = (_navigationGain * _losRate); +private _commandedAcceleration = _closingVelocity vectorMultiply _lateralAcceleration; +_commandedAcceleration = _commandedAcceleration vectorAdd (_losDelta vectorMultiply (0.5 * _navigationGain * vectorMagnitude _targetAcceleration)); + +// we need acceleration normal to our LOS +private _commandedAccelerationProjected = _lineOfSight vectorMultiply (_commandedAcceleration vectorDotProduct _lineOfSight); +_commandedAcceleration = _commandedAcceleration vectorDiff _commandedAccelerationProjected; + +if (accTime > 0) then { + _navigationParams set [0, [_seekerTargetPos, _targetVelocity, _lineOfSight]]; +}; + +_commandedAcceleration diff --git a/addons/missileguidance/todo.txt b/addons/missileguidance/todo.txt index 19c3424c963..66a97bc70c9 100644 --- a/addons/missileguidance/todo.txt +++ b/addons/missileguidance/todo.txt @@ -1,24 +1,24 @@ Weapon Configs: - Hellfire - Laser - AGM-65 - Laser - DAGR - Laser - GBU-12 - Laser + X Hellfire - Laser + X AGM-65 - Laser + X DAGR - Laser + X GBU-12 - Laser - Dragon - SACLOS - Metis - SACLOS - HOT - SACLOS + X Dragon - SACLOS + X Metis - SACLOS + X HOT - SACLOS - Javelin - Optical - NLAW - PLOS + X Javelin - Optical + X NLAW - PLOS Vikhr - Beam Rider SACLOS R-73 - Infrared AIM-9 - Infrared + AIM-132 - Infrared R-77 - AHR - AIM-120 - AHR - AIM-132 - AHR + X AIM-120 - AHR KH-25 - Optical AGM-65 - Optical @@ -58,6 +58,10 @@ Navigation Types: Navigation States: Todo +Navigation Types: + X Augmented Pro-Nav + Zero Effort Miss + General To-Do: Add more weapons X Fix GBU drag From 1873467deb516e30637599c30f876ddab1a45858 Mon Sep 17 00:00:00 2001 From: Brandon Danyluk Date: Tue, 13 Apr 2021 16:10:39 -0600 Subject: [PATCH 036/254] Add zero-effort miss. Seeker now feeds data to navigation --- addons/aim120/CfgAmmo.hpp | 8 ++-- addons/missileguidance/ACE_GuidanceConfig.hpp | 4 ++ addons/missileguidance/XEH_PREP.hpp | 1 + .../fnc_navigationType_augmentedProNav.sqf | 31 +++++---------- .../fnc_navigationType_lineOfSight.sqf | 15 ++++---- .../functions/fnc_navigationType_proNav.sqf | 25 ++++-------- .../fnc_navigationType_zeroEffortMiss.sqf | 38 +++++++++++++++++++ .../missileguidance/functions/fnc_onFired.sqf | 14 +++++-- .../functions/fnc_proNav_onFired.sqf | 2 - .../functions/fnc_seekerType_ARH.sqf | 8 +++- .../functions/fnc_seekerType_Optic.sqf | 10 ++--- .../functions/fnc_seekerType_SACLOS.sqf | 4 +- .../functions/fnc_seekerType_SALH.sqf | 7 +++- addons/missileguidance/todo.txt | 2 +- 14 files changed, 106 insertions(+), 63 deletions(-) create mode 100644 addons/missileguidance/functions/fnc_navigationType_zeroEffortMiss.sqf diff --git a/addons/aim120/CfgAmmo.hpp b/addons/aim120/CfgAmmo.hpp index 27a044143c0..a7c1a009598 100644 --- a/addons/aim120/CfgAmmo.hpp +++ b/addons/aim120/CfgAmmo.hpp @@ -22,8 +22,8 @@ class CfgAmmo { defaultSeekerLockMode = "LOAL"; seekerLockModes[] = { "LOAL", "LOBL" }; - defaultNavigationType = "AugmentedProportionalNavigation"; - navigationTypes[] = { "AugmentedProportionalNavigation" }; + defaultNavigationType = "ZeroEffortMiss"; + navigationTypes[] = { "ZeroEffortMiss" }; seekLastTargetPos = 0; // seek last target position [if seeker loses LOS of target, continue to last known pos] seekerAngle = 50; // Angle from the shooter's view that can track the missile @@ -62,8 +62,8 @@ class CfgAmmo { defaultSeekerLockMode = "LOAL"; seekerLockModes[] = { "LOAL", "LOBL" }; - defaultNavigationType = "AugmentedProportionalNavigation"; - navigationTypes[] = { "AugmentedProportionalNavigation" }; + defaultNavigationType = "ZeroEffortMiss"; + navigationTypes[] = { "ZeroEffortMiss" }; seekLastTargetPos = 0; // seek last target position [if seeker loses LOS of target, continue to last known pos] seekerAngle = 50; // Angle from the shooter's view that can track the missile diff --git a/addons/missileguidance/ACE_GuidanceConfig.hpp b/addons/missileguidance/ACE_GuidanceConfig.hpp index 36f48ffe8e8..38583534621 100644 --- a/addons/missileguidance/ACE_GuidanceConfig.hpp +++ b/addons/missileguidance/ACE_GuidanceConfig.hpp @@ -93,6 +93,7 @@ class GVAR(SeekerTypes) { class GVAR(NavigationTypes) { class LineOfSight { functionName = QFUNC(navigationType_lineOfSight); + onFired = QFUNC(proNav_onFired); }; class ProportionalNavigation { functionName = QFUNC(navigationType_proNav); @@ -102,4 +103,7 @@ class GVAR(NavigationTypes) { functionName = QFUNC(navigationType_augmentedProNav); onFired = QFUNC(proNav_onFired); }; + class ZeroEffortMiss { + functionName = QFUNC(navigationType_zeroEffortMiss); + }; }; diff --git a/addons/missileguidance/XEH_PREP.hpp b/addons/missileguidance/XEH_PREP.hpp index 6632d64d41c..c4d20ac1065 100644 --- a/addons/missileguidance/XEH_PREP.hpp +++ b/addons/missileguidance/XEH_PREP.hpp @@ -29,6 +29,7 @@ PREP(attackProfile_JAV_DIR); PREP(attackProfile_JAV_TOP); // Navigation Profiles +PREP(navigationType_zeroEffortMiss); PREP(navigationType_augmentedProNav); PREP(navigationType_proNav); PREP(navigationType_lineOfSight); diff --git a/addons/missileguidance/functions/fnc_navigationType_augmentedProNav.sqf b/addons/missileguidance/functions/fnc_navigationType_augmentedProNav.sqf index b6a8c19cde6..c13b8e7ec28 100644 --- a/addons/missileguidance/functions/fnc_navigationType_augmentedProNav.sqf +++ b/addons/missileguidance/functions/fnc_navigationType_augmentedProNav.sqf @@ -15,49 +15,38 @@ * Public: No */ params ["_args", "_timestep", "_seekerTargetPos", "_profileAdjustedTargetPos"]; -_args params ["_firedEH", "", "", "", "_stateParams"]; +_args params ["_firedEH", "", "", "", "_stateParams", "_targetData"]; _firedEH params ["","","","","","","_projectile"]; _stateParams params ["", "", "", "","_navigationParams"]; _navigationParams params ["_lastMissileFrame", "_navigationGain"]; -_lastMissileFrame params ["_lastTargetPosition", "_lastTargetVelocity", "_lastLineOfSight"]; +_lastMissileFrame params ["_lastLineOfSight"]; +_targetData params ["_targetDirection", "", "_targetVelocity", "_targetAcceleration"]; // Proportional navigation implemented via "Fundamentals of proportional navigation" by Stephen Murtaugh and Harry Criel -private _projectileVelocity = velocity _projectile; +private _closingVelocity = _targetVelocity vectorDiff velocity _projectile; -// integrate target velocity for realistic inference of velocity -private _targetVelocity = _lastTargetVelocity; -private _targetAcceleration = [0, 0, 0]; -if (_timestep != 0) then { - _targetVelocity = (_seekerTargetPos vectorDiff _lastTargetPosition) vectorMultiply (1 / _timestep); - _targetAcceleration = (_targetVelocity vectorDiff _lastTargetVelocity) vectorMultiply (1 / _timestep); -}; - -private _closingVelocity = _targetVelocity vectorDiff _projectileVelocity; - -private _lineOfSight = vectorNormalized (_profileAdjustedTargetPos vectorDiff getPosASLVisual _projectile); - -private _targetAccelerationProjected = _lineOfSight vectorMultiply (_targetAcceleration vectorDotProduct _lineOfSight); +private _targetAccelerationProjected = _targetDirection vectorMultiply (_targetAcceleration vectorDotProduct _targetDirection); _targetAcceleration = _targetAcceleration vectorDiff _targetAccelerationProjected; -systemChat str vectorMagnitude _targetAcceleration; + // the los rate is tiny, so we multiply by a constant of a power of ten to get more aggressive acceleration // this is just due to how we measure our LOS delta, the vectors involved are _tiny_ -private _losDelta = _lineOfSight vectorDiff _lastLineOfSight; +private _losDelta = _targetDirection vectorDiff _lastLineOfSight; private _losRate = if (_timestep == 0) then { 0 } else { 10 * (vectorMagnitude _losDelta) / _timestep; }; -private _lateralAcceleration = (_navigationGain * _losRate); +private _lateralAcceleration = _navigationGain * _losRate; private _commandedAcceleration = _closingVelocity vectorMultiply _lateralAcceleration; _commandedAcceleration = _commandedAcceleration vectorAdd (_losDelta vectorMultiply (0.5 * _navigationGain * vectorMagnitude _targetAcceleration)); // we need acceleration normal to our LOS -private _commandedAccelerationProjected = _lineOfSight vectorMultiply (_commandedAcceleration vectorDotProduct _lineOfSight); +private _commandedAccelerationProjected = _targetDirection vectorMultiply (_commandedAcceleration vectorDotProduct _targetDirection); _commandedAcceleration = _commandedAcceleration vectorDiff _commandedAccelerationProjected; if (accTime > 0) then { - _navigationParams set [0, [_seekerTargetPos, _targetVelocity, _lineOfSight]]; + _navigationParams set [0, [_seekerTargetPos, _targetVelocity, _targetDirection]]; }; _commandedAcceleration diff --git a/addons/missileguidance/functions/fnc_navigationType_lineOfSight.sqf b/addons/missileguidance/functions/fnc_navigationType_lineOfSight.sqf index 8c853922811..99e014a14b9 100644 --- a/addons/missileguidance/functions/fnc_navigationType_lineOfSight.sqf +++ b/addons/missileguidance/functions/fnc_navigationType_lineOfSight.sqf @@ -15,32 +15,33 @@ * Public: No */ params ["_args", "_timestep", "_seekerTargetPos", "_profileAdjustedTargetPos"]; -_args params ["_firedEH", "", "", "", "_stateParams"]; +_args params ["_firedEH", "", "", "", "_stateParams", "_targetData"]; _firedEH params ["","","","","","","_projectile"]; _stateParams params ["", "", "", "","_navigationParams"]; -_navigationParams params [["_lastLineOfSight", [0, 0, 0]]]; +_navigationParams params ["_lastLineOfSight"]; +_targetData params ["_targetDirection", "", "_targetVelocity", ""]; // Semi-proportional navigation implemented via "Fundamentals of proportional navigation" by Stephen Murtaugh and Harry Criel -private _lineOfSight = vectorNormalized (_profileAdjustedTargetPos vectorDiff getPosASLVisual _projectile); // the los rate is tiny, so we multiply by a constant of a power of ten to get more aggressive acceleration // this is just due to how we measure our LOS delta, the vectors involved are _tiny_ -private _losDelta = _lineOfSight vectorDiff _lastLineOfSight; +private _losDelta = _targetDirection vectorDiff _lastLineOfSight; private _losRate = if (_timestep == 0) then { 0 } else { 10 * (vectorMagnitude _losDelta) / _timestep; }; -private _commandedAcceleration = (velocity _projectile) vectorMultiply _losRate; -TRACE_5("LOS NAV",_commandedAcceleration,_projectile,_losRate,_lineOfSight,_lastLineOfSight); +private _closingVelocity = _targetVelocity vectorDiff (velocity _projectile); + +private _commandedAcceleration = _closingVelocity vectorMultiply _losRate; // we need acceleration normal to our LOS private _commandedAccelerationProjected = _lineOfSight vectorMultiply (_commandedAcceleration vectorDotProduct _lineOfSight); _commandedAcceleration = _commandedAcceleration vectorDiff _commandedAccelerationProjected; if (accTime > 0) then { - _navigationParams set [0, _lineOfSight]; + _navigationParams set [0, _targetDirection]; }; _commandedAccelerationProjected diff --git a/addons/missileguidance/functions/fnc_navigationType_proNav.sqf b/addons/missileguidance/functions/fnc_navigationType_proNav.sqf index 658e447f04c..3e6e7680623 100644 --- a/addons/missileguidance/functions/fnc_navigationType_proNav.sqf +++ b/addons/missileguidance/functions/fnc_navigationType_proNav.sqf @@ -15,43 +15,34 @@ * Public: No */ params ["_args", "_timestep", "_seekerTargetPos", "_profileAdjustedTargetPos"]; -_args params ["_firedEH", "", "", "", "_stateParams"]; +_args params ["_firedEH", "", "", "", "_stateParams", "_targetData"]; _firedEH params ["","","","","","","_projectile"]; _stateParams params ["", "", "", "","_navigationParams"]; _navigationParams params ["_lastMissileFrame", "_navigationGain"]; -_lastMissileFrame params ["_lastTargetPosition", "_lastTargetVelocity", "_lastLineOfSight"]; +_lastMissileFrame params ["_lastLineOfSight"]; +_targetData params ["_targetDirection", "", "_targetVelocity", ""]; // Proportional navigation implemented via "Fundamentals of proportional navigation" by Stephen Murtaugh and Harry Criel -private _projectileVelocity = velocity _projectile; - -// integrate target velocity for realistic inference of velocity -private _targetVelocity = _lastTargetVelocity; -if (_timestep != 0) then { - _targetVelocity = (_seekerTargetPos vectorDiff _lastTargetPosition) vectorMultiply (1 / _timestep); -}; - -private _closingVelocity = _targetVelocity vectorDiff _projectileVelocity; - -private _lineOfSight = vectorNormalized (_profileAdjustedTargetPos vectorDiff getPosASLVisual _projectile); +private _closingVelocity = _targetVelocity vectorDiff velocity _projectile; // the los rate is tiny, so we multiply by a constant of a power of ten to get more aggressive acceleration // this is just due to how we measure our LOS delta, the vectors involved are _tiny_ -private _losDelta = _lineOfSight vectorDiff _lastLineOfSight; +private _losDelta = _targetDirection vectorDiff _lastLineOfSight; private _losRate = if (_timestep == 0) then { 0 } else { 10 * (vectorMagnitude _losDelta) / _timestep; }; -private _lateralAcceleration = (_navigationGain * _losRate); +private _lateralAcceleration = _navigationGain * _losRate; private _commandedAcceleration = _closingVelocity vectorMultiply _lateralAcceleration; // we need acceleration normal to our LOS -private _commandedAccelerationProjected = _lineOfSight vectorMultiply (_commandedAcceleration vectorDotProduct _lineOfSight); +private _commandedAccelerationProjected = _targetDirection vectorMultiply (_commandedAcceleration vectorDotProduct _targetDirection); _commandedAcceleration = _commandedAcceleration vectorDiff _commandedAccelerationProjected; if (accTime > 0) then { - _navigationParams set [0, [_seekerTargetPos, _targetVelocity, _lineOfSight]]; + _navigationParams set [0, [_seekerTargetPos, _targetVelocity, _targetDirection]]; }; _commandedAcceleration diff --git a/addons/missileguidance/functions/fnc_navigationType_zeroEffortMiss.sqf b/addons/missileguidance/functions/fnc_navigationType_zeroEffortMiss.sqf new file mode 100644 index 00000000000..8c802ebc775 --- /dev/null +++ b/addons/missileguidance/functions/fnc_navigationType_zeroEffortMiss.sqf @@ -0,0 +1,38 @@ +#include "script_component.hpp" +/* + * Author: Brandon (TCVM) + * Determine path for projectile to take in accordance to zero-effort miss pro-nav, takes target acceleration into account. Super deadly + * + * Arguments: + * Guidance Arg Array + * + * Return Value: + * Commanded acceleration normal to LOS in world space + * + * Example: + * [] call ace_missileguidance_fnc_navigationType_zeroEffortMiss + * + * Public: No + */ +params ["_args", "_timestep", "_seekerTargetPos", "_profileAdjustedTargetPos"]; +_args params ["_firedEH", "", "", "", "_stateParams", "_targetData"]; +_firedEH params ["","","","","","","_projectile"]; +_stateParams params ["", "", "", "","_navigationParams"]; +_navigationParams params ["", "_navigationGain"]; +_targetData params ["_targetDirection", "_targetRange", "_targetVelocity", "_targetAcceleration"]; + +private _vectorToTarget = _targetDirection vectorMultiply _targetRange; +private _closingVelocity = _targetVelocity vectorDiff velocity _projectile; +private _timeToGo = _targetRange / vectorMagnitude _closingVelocity; + +private _zeroEffortMiss = _vectorToTarget vectorAdd (_closingVelocity vectorMultiply _timeToGo); +private _zeroEffortMissProjectiled = _targetDirection vectorMultiply (_zeroEffortMiss vectorDotProduct _targetDirection); +private _zeroEffortMissNormal = _zeroEffortMiss vectorDiff _zeroEffortMissProjectiled; + +private _commandedAcceleration = _zeroEffortMissNormal vectorMultiply (_navigationGain / (_timeToGo * _timeToGo)); + +if (accTime > 0) then { + _navigationParams set [0, [_lineOfSight]]; +}; + +_commandedAcceleration diff --git a/addons/missileguidance/functions/fnc_onFired.sqf b/addons/missileguidance/functions/fnc_onFired.sqf index d1b5fc87c09..83bf2b9da03 100644 --- a/addons/missileguidance/functions/fnc_onFired.sqf +++ b/addons/missileguidance/functions/fnc_onFired.sqf @@ -137,7 +137,14 @@ private _args = [_this, getNumber ( _config >> "seekerMaxRange" ), getNumber ( _config >> "seekerMinRange" ) ], - [ diag_tickTime, [], [], _lastKnownPosState, _navigationParameters, [_pitchYaw select 1, 0, _pitchYaw select 2]] + [ diag_tickTime, [], [], _lastKnownPosState, _navigationParameters, [_pitchYaw select 1, 0, _pitchYaw select 2]], + [ + // target data from missile. Must be filled by seeker for navigation to work + [0, 0, 0], // direction to target + 0, // range to target + [0, 0, 0], // target velocity + [0, 0, 0] // target acceleration + ] ]; private _onFiredFunc = getText (configFile >> QGVAR(SeekerTypes) >> _seekerType >> "onFired"); @@ -166,13 +173,14 @@ if (_onFiredFunc != "") then { }; // Reverse: -// _args params ["_firedEH", "_launchParams", "_flightParams", "_seekerParams", "_stateParams"]; +// _args params ["_firedEH", "_launchParams", "_flightParams", "_seekerParams", "_stateParams", "_targetData"]; // _firedEH params ["_shooter","","","","_ammo","","_projectile"]; // _launchParams params ["_shooter","_targetLaunchParams","_seekerType","_attackProfile","_lockMode","_laserInfo","_navigationType"]; // _targetLaunchParams params ["_target", "_targetPos", "_launchPos", "_launchDir", "_launchTime"]; // _flightParams params ["_pitchRate", "_yawRate", "_isBangBangGuidance"]; -// _stateParams params ["_lastRunTime", "_seekerStateParams", "_attackProfileStateParams", "_lastKnownPosState","_navigationParams"]; +// _stateParams params ["_lastRunTime", "_seekerStateParams", "_attackProfileStateParams", "_lastKnownPosState","_navigationParams", "_guidanceParameters"]; // _seekerParams params ["_seekerAngle", "_seekerAccuracy", "_seekerMaxRange", "_seekerMinRange"]; +// _targetData params ["_targetDirection", "_targetRange", "_targetVelocity", "_targetAcceleration"]; [LINKFUNC(guidancePFH),0, _args ] call CBA_fnc_addPerFrameHandler; diff --git a/addons/missileguidance/functions/fnc_proNav_onFired.sqf b/addons/missileguidance/functions/fnc_proNav_onFired.sqf index d1806c19075..9725f628ef2 100644 --- a/addons/missileguidance/functions/fnc_proNav_onFired.sqf +++ b/addons/missileguidance/functions/fnc_proNav_onFired.sqf @@ -29,8 +29,6 @@ if (_navigationGain == 0) then { _navigationParams = [ [ // Last Missile Frame - [0, 0, 0], // Last target position array - [0, 0, 0], // Last target velocity [0, 0, 0] // Last line of sight ], _navigationGain // navigation gain of missile. Set in the navigation onFired function diff --git a/addons/missileguidance/functions/fnc_seekerType_ARH.sqf b/addons/missileguidance/functions/fnc_seekerType_ARH.sqf index c1bf048ee10..eb218600692 100644 --- a/addons/missileguidance/functions/fnc_seekerType_ARH.sqf +++ b/addons/missileguidance/functions/fnc_seekerType_ARH.sqf @@ -16,7 +16,7 @@ * Public: No */ params ["", "_args", "_seekerStateParams"]; -_args params ["_firedEH", "_launchParams", "", "_seekerParams", "_stateParams"]; +_args params ["_firedEH", "_launchParams", "", "_seekerParams", "_stateParams", "_targetData"]; _firedEH params ["_shooter","","","","","","_projectile"]; _launchParams params ["_target","","","",""]; _seekerParams params ["_seekerAngle", "", "_seekerMaxRange"]; @@ -116,8 +116,14 @@ if !(isNull _target) then { _seekerStateParams set [7, velocity _target]; _seekerStateParams set [8, CBA_missionTime]; _seekerStateParams set [9, false]; + + _targetData set [1, _projectile distance _target]; + _targetData set [2, velocity _target]; + _targetData set [3, 0]; // todo: acceleration }; +_targetData set [0, _projectile vectorFromTo _expectedTargetPos]; + _seekerStateParams set [3, _expectedTargetPos]; _launchParams set [0, _target]; _expectedTargetPos diff --git a/addons/missileguidance/functions/fnc_seekerType_Optic.sqf b/addons/missileguidance/functions/fnc_seekerType_Optic.sqf index f61e799565a..d473cdc0215 100644 --- a/addons/missileguidance/functions/fnc_seekerType_Optic.sqf +++ b/addons/missileguidance/functions/fnc_seekerType_Optic.sqf @@ -17,7 +17,7 @@ */ params ["", "_args"]; -_args params ["_firedEH", "_launchParams", "", "_seekerParams", "_stateParams"]; +_args params ["_firedEH", "_launchParams", "", "_seekerParams", "_stateParams", "_targetData"]; _firedEH params ["","","","","","","_projectile"]; _launchParams params ["", "_targetParams"]; _targetParams params ["_target"]; @@ -40,14 +40,14 @@ TRACE_2("", _angleOkay, _losOkay); if (!_angleOkay || !_losOkay) exitWith {[0,0,0]}; TRACE_2("", _target, _foundTargetPos); -// @TODO: Configurable lead for seekers private _projectileSpeed = (vectorMagnitude velocity _projectile); private _distanceToTarget = (getPosASL _projectile) vectorDistance _foundTargetPos; private _eta = _distanceToTarget / _projectileSpeed; -private _adjustDistance = (velocity _target) vectorMultiply _eta; -TRACE_3("leading target",_distanceToTarget,_eta,_adjustDistance); -//_foundTargetPos = _foundTargetPos vectorAdd _adjustDistance; +_targetData set [0, (getPosASL _projectile) vectorFromTo _foundTargetPos]; +_targetData set [1, _distanceToTarget]; +_targetData set [2, velocity _target]; +_targetData set [3, 0]; TRACE_2("return",_foundTargetPos,(aimPos _target) distance _foundTargetPos); _foundTargetPos; diff --git a/addons/missileguidance/functions/fnc_seekerType_SACLOS.sqf b/addons/missileguidance/functions/fnc_seekerType_SACLOS.sqf index 2d0a1e9170f..a1e5fc49acc 100644 --- a/addons/missileguidance/functions/fnc_seekerType_SACLOS.sqf +++ b/addons/missileguidance/functions/fnc_seekerType_SACLOS.sqf @@ -16,7 +16,7 @@ * Public: No */ params ["", "_args"]; -_args params ["_firedEH", "", "", "_seekerParams", "_stateParams"]; +_args params ["_firedEH", "", "", "_seekerParams", "_stateParams", "_targetData"]; _firedEH params ["_shooter","_weapon","","","","","_projectile"]; _seekerParams params ["_seekerAngle"]; _stateParams params ["", "_seekerStateParams"]; @@ -58,5 +58,7 @@ if ((_testDotProduct < (cos _seekerAngle)) || {_testIntersections isNotEqualTo [ [0, 0, 0] }; +_targetData set [0, _lookDirection]; + _shooterPos vectorAdd (_lookDirection vectorMultiply _distanceToProj); diff --git a/addons/missileguidance/functions/fnc_seekerType_SALH.sqf b/addons/missileguidance/functions/fnc_seekerType_SALH.sqf index f08aeac9f9c..dadfb591a5a 100644 --- a/addons/missileguidance/functions/fnc_seekerType_SALH.sqf +++ b/addons/missileguidance/functions/fnc_seekerType_SALH.sqf @@ -19,7 +19,7 @@ #define MAX_AVERAGES 15 params ["", "_args"]; -_args params ["_firedEH", "_launchParams", "", "_seekerParams"]; +_args params ["_firedEH", "_launchParams", "", "_seekerParams", "", "_targetData"]; _firedEH params ["","","","","","","_projectile"]; _launchParams params ["","","","","","_laserParams"]; _seekerParams params ["_seekerAngle", "", "_seekerMaxRange", "", ["_lastPositions", []], ["_lastPositionIndex", 0]]; @@ -52,6 +52,11 @@ if (MAX_AVERAGES == count _lastPositions) then { _positionSum = _positionSum vectorMultiply (1 / count _lastPositions); }; +_targetData set [0, (getPosASL _projectile) vectorFromTo _positionSum]; +_targetData set [1, 0]; +_targetData set [2, 0]; +_targetData set [3, 0]; + TRACE_3("laser target found",_foundTargetPos,_positionSum,count _lastPositions); _positionSum diff --git a/addons/missileguidance/todo.txt b/addons/missileguidance/todo.txt index 66a97bc70c9..b55ed262ef0 100644 --- a/addons/missileguidance/todo.txt +++ b/addons/missileguidance/todo.txt @@ -60,7 +60,7 @@ Navigation States: Navigation Types: X Augmented Pro-Nav - Zero Effort Miss + X Zero Effort Miss General To-Do: Add more weapons From f96abc0b8921ccb19f88f1015a51be6725472540 Mon Sep 17 00:00:00 2001 From: Brandon Danyluk Date: Tue, 13 Apr 2021 16:21:15 -0600 Subject: [PATCH 037/254] Fix bug with ZEM --- addons/missileguidance/ACE_GuidanceConfig.hpp | 1 + addons/missileguidance/functions/fnc_guidancePFH.sqf | 4 ++++ .../functions/fnc_navigationType_zeroEffortMiss.sqf | 2 ++ addons/missileguidance/functions/fnc_seekerType_ARH.sqf | 2 +- 4 files changed, 8 insertions(+), 1 deletion(-) diff --git a/addons/missileguidance/ACE_GuidanceConfig.hpp b/addons/missileguidance/ACE_GuidanceConfig.hpp index 38583534621..35982f2f37b 100644 --- a/addons/missileguidance/ACE_GuidanceConfig.hpp +++ b/addons/missileguidance/ACE_GuidanceConfig.hpp @@ -105,5 +105,6 @@ class GVAR(NavigationTypes) { }; class ZeroEffortMiss { functionName = QFUNC(navigationType_zeroEffortMiss); + onFired = QFUNC(proNav_onFired); }; }; diff --git a/addons/missileguidance/functions/fnc_guidancePFH.sqf b/addons/missileguidance/functions/fnc_guidancePFH.sqf index 01e71664825..d6115a25cde 100644 --- a/addons/missileguidance/functions/fnc_guidancePFH.sqf +++ b/addons/missileguidance/functions/fnc_guidancePFH.sqf @@ -47,6 +47,10 @@ if ((_pitchRate != 0 || {_yawRate != 0}) && {_profileAdjustedTargetPos isNotEqua private _navigationFunction = getText (configFile >> QGVAR(NavigationTypes) >> _navigationType >> "functionName"); private _commandedAcceleration = [_args, _timestep, _seekerTargetPos, _profileAdjustedTargetPos] call (missionNamespace getVariable _navigationFunction); + if (isNil "_commandedAcceleration") exitWith { + ERROR_MSG("_commandedAcceleration is nil! Guidance cancelled"); + }; + #ifdef DRAW_GUIDANCE_INFO private _projectilePosAGL = ASLToAGL _projectilePos; drawIcon3D ["\a3\ui_f\data\IGUI\Cfg\Cursors\selectover_ca.paa", [1,0,0,1], _projectilePosAGL vectorAdd [0, 0, 1], 0.75, 0.75, 0, str _commandedAcceleration, 1, 0.025, "TahomaB"]; diff --git a/addons/missileguidance/functions/fnc_navigationType_zeroEffortMiss.sqf b/addons/missileguidance/functions/fnc_navigationType_zeroEffortMiss.sqf index 8c802ebc775..023a02d75f3 100644 --- a/addons/missileguidance/functions/fnc_navigationType_zeroEffortMiss.sqf +++ b/addons/missileguidance/functions/fnc_navigationType_zeroEffortMiss.sqf @@ -21,6 +21,8 @@ _stateParams params ["", "", "", "","_navigationParams"]; _navigationParams params ["", "_navigationGain"]; _targetData params ["_targetDirection", "_targetRange", "_targetVelocity", "_targetAcceleration"]; +_navigationGain = 3; + private _vectorToTarget = _targetDirection vectorMultiply _targetRange; private _closingVelocity = _targetVelocity vectorDiff velocity _projectile; private _timeToGo = _targetRange / vectorMagnitude _closingVelocity; diff --git a/addons/missileguidance/functions/fnc_seekerType_ARH.sqf b/addons/missileguidance/functions/fnc_seekerType_ARH.sqf index eb218600692..e8d17bd9ff6 100644 --- a/addons/missileguidance/functions/fnc_seekerType_ARH.sqf +++ b/addons/missileguidance/functions/fnc_seekerType_ARH.sqf @@ -122,7 +122,7 @@ if !(isNull _target) then { _targetData set [3, 0]; // todo: acceleration }; -_targetData set [0, _projectile vectorFromTo _expectedTargetPos]; +_targetData set [0, (getPosASLVisual _projectile) vectorFromTo _expectedTargetPos]; _seekerStateParams set [3, _expectedTargetPos]; _launchParams set [0, _target]; From e9d474c99595087980fa4f621dd7ef7ad6843967 Mon Sep 17 00:00:00 2001 From: Brandon Danyluk Date: Tue, 13 Apr 2021 16:21:25 -0600 Subject: [PATCH 038/254] remove placeholder --- .../functions/fnc_navigationType_zeroEffortMiss.sqf | 2 -- 1 file changed, 2 deletions(-) diff --git a/addons/missileguidance/functions/fnc_navigationType_zeroEffortMiss.sqf b/addons/missileguidance/functions/fnc_navigationType_zeroEffortMiss.sqf index 023a02d75f3..8c802ebc775 100644 --- a/addons/missileguidance/functions/fnc_navigationType_zeroEffortMiss.sqf +++ b/addons/missileguidance/functions/fnc_navigationType_zeroEffortMiss.sqf @@ -21,8 +21,6 @@ _stateParams params ["", "", "", "","_navigationParams"]; _navigationParams params ["", "_navigationGain"]; _targetData params ["_targetDirection", "_targetRange", "_targetVelocity", "_targetAcceleration"]; -_navigationGain = 3; - private _vectorToTarget = _targetDirection vectorMultiply _targetRange; private _closingVelocity = _targetVelocity vectorDiff velocity _projectile; private _timeToGo = _targetRange / vectorMagnitude _closingVelocity; From e1436d6ece6cb45a86e3609455c0be34d01cecd6 Mon Sep 17 00:00:00 2001 From: Brandon Danyluk Date: Tue, 13 Apr 2021 16:27:33 -0600 Subject: [PATCH 039/254] Change out missile types to reflect navigation scheme they use IRL --- addons/hellfire/CfgAmmo.hpp | 8 ++------ addons/maverick/CfgAmmo.hpp | 8 ++++---- addons/missileguidance/CfgAmmo.hpp | 8 ++++---- addons/missileguidance/todo.txt | 29 ++++++++++++++++------------- 4 files changed, 26 insertions(+), 27 deletions(-) diff --git a/addons/hellfire/CfgAmmo.hpp b/addons/hellfire/CfgAmmo.hpp index f8cfa685870..98c835104a8 100644 --- a/addons/hellfire/CfgAmmo.hpp +++ b/addons/hellfire/CfgAmmo.hpp @@ -38,8 +38,8 @@ class CfgAmmo { defaultSeekerLockMode = "LOAL"; seekerLockModes[] = { "LOAL", "LOBL" }; - defaultNavigationType = "ProportionalNavigation"; - navigationTypes[] = { "ProportionalNavigation" }; + defaultNavigationType = "ZeroEffortMiss"; + navigationTypes[] = { "ZeroEffortMiss" }; seekLastTargetPos = 1; // seek last target position [if seeker loses LOS of target, continue to last known pos] seekerAngle = 70; // Angle in front of the missile which can be searched @@ -83,10 +83,6 @@ class CfgAmmo { activeRadarEngageDistance = 1000; seekerMaxRange = 2000; // distance that the hellfire internal radar can scan - - // we can get target acceleration data from radar - defaultNavigationType = "AugmentedProportionalNavigation"; - navigationTypes[] = { "AugmentedProportionalNavigation" }; }; // Vanilla lock system vars diff --git a/addons/maverick/CfgAmmo.hpp b/addons/maverick/CfgAmmo.hpp index 392500e1064..89b3173ff6c 100644 --- a/addons/maverick/CfgAmmo.hpp +++ b/addons/maverick/CfgAmmo.hpp @@ -27,8 +27,8 @@ class CfgAmmo { defaultSeekerLockMode = "LOAL"; seekerLockModes[] = {"LOAL","LOBL"}; - defaultNavigationType = "ProportionalNavigation"; - navigationTypes[] = { "ProportionalNavigation" }; + defaultNavigationType = "AugmentedProportionalNavigation"; + navigationTypes[] = { "AugmentedProportionalNavigation" }; seekLastTargetPos = 1; seekerAngle = 60; @@ -62,8 +62,8 @@ class CfgAmmo { defaultSeekerLockMode = "LOAL"; seekerLockModes[] = {"LOAL"}; - defaultNavigationType = "ProportionalNavigation"; - navigationTypes[] = { "ProportionalNavigation" }; + defaultNavigationType = "AugmentedProportionalNavigation"; + navigationTypes[] = { "AugmentedProportionalNavigation" }; seekLastTargetPos = 1; seekerAngle = 40; diff --git a/addons/missileguidance/CfgAmmo.hpp b/addons/missileguidance/CfgAmmo.hpp index adeb891e71a..f391e74c996 100644 --- a/addons/missileguidance/CfgAmmo.hpp +++ b/addons/missileguidance/CfgAmmo.hpp @@ -32,8 +32,8 @@ class CfgAmmo { defaultSeekerLockMode = "LOAL"; seekerLockModes[] = { "LOAL", "LOBL" }; - defaultNavigationType = "ProportionalNavigation"; - navigationTypes[] = { "ProportionalNavigation" }; + defaultNavigationType = "AugmentedProportionalNavigation"; + navigationTypes[] = { "AugmentedProportionalNavigation" }; seekerAngle = 90; // Angle in front of the missile which can be searched seekerAccuracy = 1; // seeker accuracy multiplier @@ -85,8 +85,8 @@ class CfgAmmo { defaultSeekerLockMode = "LOBL"; seekerLockModes[] = { "LOBL" }; - defaultNavigationType = "ProportionalNavigation"; - navigationTypes[] = { "ProportionalNavigation" }; + defaultNavigationType = "ZeroEffortMiss"; + navigationTypes[] = { "ZeroEffortMiss" }; navigationGain = 3; diff --git a/addons/missileguidance/todo.txt b/addons/missileguidance/todo.txt index b55ed262ef0..627c29fcc22 100644 --- a/addons/missileguidance/todo.txt +++ b/addons/missileguidance/todo.txt @@ -41,22 +41,25 @@ Navigation Types: X Metis - LOS Guidance X HOT - LOS Guidance Vikhr - LOS Guidance - GBU-SDB - LOS Guidance - X Javelin - Pro Nav - X Hellfire - Pro Nav - X AGM-65 - Pro Nav - X DAGR - Pro Nav - R-73 - Pro Nav - R-77 - Pro Nav - AIM-120 - Pro Nav - AIM-132 - Pro Nav + X DAGR - APN + X AGM-65 - APN + X KH-25 - APN + R-73 - APN + AGM-88 - APN + KH-58 - APN + AIM-9 - APN + + X Javelin - ZEM + X Hellfire - ZEM + R-77 - ZEM + AIM-120 - ZEM + AIM-132 - ZEM KH-25 - Pro Nav - AGM-88 - Pro Nav - KH-58 - Pro Nav + GBU-SDB - ZEM -Navigation States: - Todo +Navigation State Machine: + Todo: Will allow for changing of navigation type in flight to get a more realistic flight profile Navigation Types: X Augmented Pro-Nav From d34201ed4e791127253b0e62adc91b5f1bedb036 Mon Sep 17 00:00:00 2001 From: Brandon Danyluk Date: Tue, 13 Apr 2021 17:18:42 -0600 Subject: [PATCH 040/254] remove uneeded sets --- addons/missileguidance/functions/fnc_seekerType_SALH.sqf | 3 --- 1 file changed, 3 deletions(-) diff --git a/addons/missileguidance/functions/fnc_seekerType_SALH.sqf b/addons/missileguidance/functions/fnc_seekerType_SALH.sqf index dadfb591a5a..3d6b4895825 100644 --- a/addons/missileguidance/functions/fnc_seekerType_SALH.sqf +++ b/addons/missileguidance/functions/fnc_seekerType_SALH.sqf @@ -53,9 +53,6 @@ if (MAX_AVERAGES == count _lastPositions) then { }; _targetData set [0, (getPosASL _projectile) vectorFromTo _positionSum]; -_targetData set [1, 0]; -_targetData set [2, 0]; -_targetData set [3, 0]; TRACE_3("laser target found",_foundTargetPos,_positionSum,count _lastPositions); From a2d2dd0df9706ef71e4200096078ae0681bb5d4b Mon Sep 17 00:00:00 2001 From: Brandon Danyluk Date: Tue, 13 Apr 2021 20:05:28 -0600 Subject: [PATCH 041/254] chane navigation profiles to go for attack direction instead of target --- .../missileguidance/functions/fnc_guidancePFH.sqf | 6 ++++-- .../fnc_navigationType_augmentedProNav.sqf | 10 +++++----- .../functions/fnc_navigationType_lineOfSight.sqf | 15 ++++++++------- .../functions/fnc_navigationType_proNav.sqf | 8 ++++---- .../fnc_navigationType_zeroEffortMiss.sqf | 6 +++--- addons/missileguidance/functions/fnc_onFired.sqf | 3 ++- .../functions/fnc_seekerType_ARH.sqf | 6 +++--- .../functions/fnc_seekerType_Optic.sqf | 6 +++--- 8 files changed, 32 insertions(+), 28 deletions(-) diff --git a/addons/missileguidance/functions/fnc_guidancePFH.sqf b/addons/missileguidance/functions/fnc_guidancePFH.sqf index d6115a25cde..585750451ca 100644 --- a/addons/missileguidance/functions/fnc_guidancePFH.sqf +++ b/addons/missileguidance/functions/fnc_guidancePFH.sqf @@ -19,7 +19,7 @@ BEGIN_COUNTER(guidancePFH); params ["_args", "_pfID"]; -_args params ["_firedEH", "_launchParams", "_flightParams", "_seekerParams", "_stateParams"]; +_args params ["_firedEH", "_launchParams", "_flightParams", "_seekerParams", "_stateParams", "_targetData"]; _firedEH params ["_shooter","","","","_ammo","","_projectile"]; _launchParams params ["","_targetLaunchParams","","","","","_navigationType"]; _stateParams params ["_lastRunTime", "_seekerStateParams", "_attackProfileStateParams", "_lastKnownPosState", "_navigationParameters", "_guidanceParameters"]; @@ -40,6 +40,8 @@ _seekerTargetPos = AGLtoASL ASLToAGL _seekerTargetPos; private _profileAdjustedTargetPos = [_seekerTargetPos, _args, _attackProfileStateParams] call FUNC(doAttackProfile); private _projectilePos = getPosASLVisual _projectile; +_targetData set [1, _projectilePos vectorFromTo _profileAdjustedTargetPos]; + // If we have no seeker target, then do not change anything // If there is no deflection on the missile, this cannot change and therefore is redundant. Avoid calculations for missiles without any deflection @@ -70,7 +72,7 @@ if ((_pitchRate != 0 || {_yawRate != 0}) && {_profileAdjustedTargetPos isNotEqua if (isNil "_pitchChange") then { _pitchChange = 0; }; - + private _clampedPitch = (_pitchChange min _pitchRate) max -_pitchRate; private _clampedYaw = (_yawChange min _yawRate) max -_yawRate; diff --git a/addons/missileguidance/functions/fnc_navigationType_augmentedProNav.sqf b/addons/missileguidance/functions/fnc_navigationType_augmentedProNav.sqf index c13b8e7ec28..f76d3f68f12 100644 --- a/addons/missileguidance/functions/fnc_navigationType_augmentedProNav.sqf +++ b/addons/missileguidance/functions/fnc_navigationType_augmentedProNav.sqf @@ -20,17 +20,17 @@ _firedEH params ["","","","","","","_projectile"]; _stateParams params ["", "", "", "","_navigationParams"]; _navigationParams params ["_lastMissileFrame", "_navigationGain"]; _lastMissileFrame params ["_lastLineOfSight"]; -_targetData params ["_targetDirection", "", "_targetVelocity", "_targetAcceleration"]; +_targetData params ["_targetDirection", "_attackProfileDirection", "", "_targetVelocity", "_targetAcceleration"]; // Proportional navigation implemented via "Fundamentals of proportional navigation" by Stephen Murtaugh and Harry Criel private _closingVelocity = _targetVelocity vectorDiff velocity _projectile; -private _targetAccelerationProjected = _targetDirection vectorMultiply (_targetAcceleration vectorDotProduct _targetDirection); +private _targetAccelerationProjected = _attackProfileDirection vectorMultiply (_targetAcceleration vectorDotProduct _attackProfileDirection); _targetAcceleration = _targetAcceleration vectorDiff _targetAccelerationProjected; // the los rate is tiny, so we multiply by a constant of a power of ten to get more aggressive acceleration // this is just due to how we measure our LOS delta, the vectors involved are _tiny_ -private _losDelta = _targetDirection vectorDiff _lastLineOfSight; +private _losDelta = _attackProfileDirection vectorDiff _lastLineOfSight; private _losRate = if (_timestep == 0) then { 0 } else { @@ -42,11 +42,11 @@ private _commandedAcceleration = _closingVelocity vectorMultiply _lateralAcceler _commandedAcceleration = _commandedAcceleration vectorAdd (_losDelta vectorMultiply (0.5 * _navigationGain * vectorMagnitude _targetAcceleration)); // we need acceleration normal to our LOS -private _commandedAccelerationProjected = _targetDirection vectorMultiply (_commandedAcceleration vectorDotProduct _targetDirection); +private _commandedAccelerationProjected = _attackProfileDirection vectorMultiply (_commandedAcceleration vectorDotProduct _attackProfileDirection); _commandedAcceleration = _commandedAcceleration vectorDiff _commandedAccelerationProjected; if (accTime > 0) then { - _navigationParams set [0, [_seekerTargetPos, _targetVelocity, _targetDirection]]; + _navigationParams set [0, [_seekerTargetPos, _targetVelocity, _attackProfileDirection]]; }; _commandedAcceleration diff --git a/addons/missileguidance/functions/fnc_navigationType_lineOfSight.sqf b/addons/missileguidance/functions/fnc_navigationType_lineOfSight.sqf index 99e014a14b9..e5d3f71b4fd 100644 --- a/addons/missileguidance/functions/fnc_navigationType_lineOfSight.sqf +++ b/addons/missileguidance/functions/fnc_navigationType_lineOfSight.sqf @@ -18,18 +18,19 @@ params ["_args", "_timestep", "_seekerTargetPos", "_profileAdjustedTargetPos"]; _args params ["_firedEH", "", "", "", "_stateParams", "_targetData"]; _firedEH params ["","","","","","","_projectile"]; _stateParams params ["", "", "", "","_navigationParams"]; -_navigationParams params ["_lastLineOfSight"]; -_targetData params ["_targetDirection", "", "_targetVelocity", ""]; +_navigationParams params ["_onLaunch"]; +_onLaunch params ["_lastLineOfSight"]; +_targetData params ["_targetDirection", "_attackProfileDirection", "", "_targetVelocity", ""]; // Semi-proportional navigation implemented via "Fundamentals of proportional navigation" by Stephen Murtaugh and Harry Criel // the los rate is tiny, so we multiply by a constant of a power of ten to get more aggressive acceleration // this is just due to how we measure our LOS delta, the vectors involved are _tiny_ -private _losDelta = _targetDirection vectorDiff _lastLineOfSight; +private _losDelta = _attackProfileDirection vectorDiff _lastLineOfSight; private _losRate = if (_timestep == 0) then { 0 } else { - 10 * (vectorMagnitude _losDelta) / _timestep; + 1 * (vectorMagnitude _losDelta) / _timestep; }; private _closingVelocity = _targetVelocity vectorDiff (velocity _projectile); @@ -37,11 +38,11 @@ private _closingVelocity = _targetVelocity vectorDiff (velocity _projectile); private _commandedAcceleration = _closingVelocity vectorMultiply _losRate; // we need acceleration normal to our LOS -private _commandedAccelerationProjected = _lineOfSight vectorMultiply (_commandedAcceleration vectorDotProduct _lineOfSight); +private _commandedAccelerationProjected = _attackProfileDirection vectorMultiply (_commandedAcceleration vectorDotProduct _attackProfileDirection); _commandedAcceleration = _commandedAcceleration vectorDiff _commandedAccelerationProjected; if (accTime > 0) then { - _navigationParams set [0, _targetDirection]; + _navigationParams set [0, [_attackProfileDirection]]; }; -_commandedAccelerationProjected +_commandedAcceleration diff --git a/addons/missileguidance/functions/fnc_navigationType_proNav.sqf b/addons/missileguidance/functions/fnc_navigationType_proNav.sqf index 3e6e7680623..6349e3aab77 100644 --- a/addons/missileguidance/functions/fnc_navigationType_proNav.sqf +++ b/addons/missileguidance/functions/fnc_navigationType_proNav.sqf @@ -20,14 +20,14 @@ _firedEH params ["","","","","","","_projectile"]; _stateParams params ["", "", "", "","_navigationParams"]; _navigationParams params ["_lastMissileFrame", "_navigationGain"]; _lastMissileFrame params ["_lastLineOfSight"]; -_targetData params ["_targetDirection", "", "_targetVelocity", ""]; +_targetData params ["_targetDirection", "_attackProfileDirection", "", "_targetVelocity", ""]; // Proportional navigation implemented via "Fundamentals of proportional navigation" by Stephen Murtaugh and Harry Criel private _closingVelocity = _targetVelocity vectorDiff velocity _projectile; // the los rate is tiny, so we multiply by a constant of a power of ten to get more aggressive acceleration // this is just due to how we measure our LOS delta, the vectors involved are _tiny_ -private _losDelta = _targetDirection vectorDiff _lastLineOfSight; +private _losDelta = _attackProfileDirection vectorDiff _lastLineOfSight; private _losRate = if (_timestep == 0) then { 0 } else { @@ -38,11 +38,11 @@ private _lateralAcceleration = _navigationGain * _losRate; private _commandedAcceleration = _closingVelocity vectorMultiply _lateralAcceleration; // we need acceleration normal to our LOS -private _commandedAccelerationProjected = _targetDirection vectorMultiply (_commandedAcceleration vectorDotProduct _targetDirection); +private _commandedAccelerationProjected = _attackProfileDirection vectorMultiply (_commandedAcceleration vectorDotProduct _attackProfileDirection); _commandedAcceleration = _commandedAcceleration vectorDiff _commandedAccelerationProjected; if (accTime > 0) then { - _navigationParams set [0, [_seekerTargetPos, _targetVelocity, _targetDirection]]; + _navigationParams set [0, [_seekerTargetPos, _targetVelocity, _attackProfileDirection]]; }; _commandedAcceleration diff --git a/addons/missileguidance/functions/fnc_navigationType_zeroEffortMiss.sqf b/addons/missileguidance/functions/fnc_navigationType_zeroEffortMiss.sqf index 8c802ebc775..78d78da10bc 100644 --- a/addons/missileguidance/functions/fnc_navigationType_zeroEffortMiss.sqf +++ b/addons/missileguidance/functions/fnc_navigationType_zeroEffortMiss.sqf @@ -19,14 +19,14 @@ _args params ["_firedEH", "", "", "", "_stateParams", "_targetData"]; _firedEH params ["","","","","","","_projectile"]; _stateParams params ["", "", "", "","_navigationParams"]; _navigationParams params ["", "_navigationGain"]; -_targetData params ["_targetDirection", "_targetRange", "_targetVelocity", "_targetAcceleration"]; +_targetData params ["_targetDirection", "_attackProfileDirection", "_targetRange", "_targetVelocity", "_targetAcceleration"]; -private _vectorToTarget = _targetDirection vectorMultiply _targetRange; +private _vectorToTarget = _attackProfileDirection vectorMultiply _targetRange; private _closingVelocity = _targetVelocity vectorDiff velocity _projectile; private _timeToGo = _targetRange / vectorMagnitude _closingVelocity; private _zeroEffortMiss = _vectorToTarget vectorAdd (_closingVelocity vectorMultiply _timeToGo); -private _zeroEffortMissProjectiled = _targetDirection vectorMultiply (_zeroEffortMiss vectorDotProduct _targetDirection); +private _zeroEffortMissProjectiled = _attackProfileDirection vectorMultiply (_zeroEffortMiss vectorDotProduct _attackProfileDirection); private _zeroEffortMissNormal = _zeroEffortMiss vectorDiff _zeroEffortMissProjectiled; private _commandedAcceleration = _zeroEffortMissNormal vectorMultiply (_navigationGain / (_timeToGo * _timeToGo)); diff --git a/addons/missileguidance/functions/fnc_onFired.sqf b/addons/missileguidance/functions/fnc_onFired.sqf index 83bf2b9da03..4953db500af 100644 --- a/addons/missileguidance/functions/fnc_onFired.sqf +++ b/addons/missileguidance/functions/fnc_onFired.sqf @@ -141,6 +141,7 @@ private _args = [_this, [ // target data from missile. Must be filled by seeker for navigation to work [0, 0, 0], // direction to target + [0, 0, 0], // direction to attack profile 0, // range to target [0, 0, 0], // target velocity [0, 0, 0] // target acceleration @@ -180,7 +181,7 @@ if (_onFiredFunc != "") then { // _flightParams params ["_pitchRate", "_yawRate", "_isBangBangGuidance"]; // _stateParams params ["_lastRunTime", "_seekerStateParams", "_attackProfileStateParams", "_lastKnownPosState","_navigationParams", "_guidanceParameters"]; // _seekerParams params ["_seekerAngle", "_seekerAccuracy", "_seekerMaxRange", "_seekerMinRange"]; -// _targetData params ["_targetDirection", "_targetRange", "_targetVelocity", "_targetAcceleration"]; +// _targetData params ["_targetDirection", "_attackProfileDirection", "_targetRange", "_targetVelocity", "_targetAcceleration"]; [LINKFUNC(guidancePFH),0, _args ] call CBA_fnc_addPerFrameHandler; diff --git a/addons/missileguidance/functions/fnc_seekerType_ARH.sqf b/addons/missileguidance/functions/fnc_seekerType_ARH.sqf index e8d17bd9ff6..5a645762e51 100644 --- a/addons/missileguidance/functions/fnc_seekerType_ARH.sqf +++ b/addons/missileguidance/functions/fnc_seekerType_ARH.sqf @@ -117,9 +117,9 @@ if !(isNull _target) then { _seekerStateParams set [8, CBA_missionTime]; _seekerStateParams set [9, false]; - _targetData set [1, _projectile distance _target]; - _targetData set [2, velocity _target]; - _targetData set [3, 0]; // todo: acceleration + _targetData set [2, _projectile distance _target]; + _targetData set [3, velocity _target]; + _targetData set [4, 0]; // todo: acceleration }; _targetData set [0, (getPosASLVisual _projectile) vectorFromTo _expectedTargetPos]; diff --git a/addons/missileguidance/functions/fnc_seekerType_Optic.sqf b/addons/missileguidance/functions/fnc_seekerType_Optic.sqf index d473cdc0215..0b1967412d9 100644 --- a/addons/missileguidance/functions/fnc_seekerType_Optic.sqf +++ b/addons/missileguidance/functions/fnc_seekerType_Optic.sqf @@ -45,9 +45,9 @@ private _distanceToTarget = (getPosASL _projectile) vectorDistance _foundTargetP private _eta = _distanceToTarget / _projectileSpeed; _targetData set [0, (getPosASL _projectile) vectorFromTo _foundTargetPos]; -_targetData set [1, _distanceToTarget]; -_targetData set [2, velocity _target]; -_targetData set [3, 0]; +_targetData set [2, _distanceToTarget]; +_targetData set [3, velocity _target]; +_targetData set [4, 0]; TRACE_2("return",_foundTargetPos,(aimPos _target) distance _foundTargetPos); _foundTargetPos; From af2b9a280a254eb17823c1d24cf05c3a5cff9fcc Mon Sep 17 00:00:00 2001 From: Brandon Danyluk Date: Tue, 13 Apr 2021 20:31:10 -0600 Subject: [PATCH 042/254] multiple changes --- addons/gbu/CfgAmmo.hpp | 4 ++-- .../functions/fnc_attackProfile_WIRE.sqf | 13 +------------ .../missileguidance/functions/fnc_guidancePFH.sqf | 4 ++-- .../functions/fnc_seekerType_Optic.sqf | 4 +--- .../functions/fnc_seekerType_SALH.sqf | 11 +++++++++-- addons/missileguidance/todo.txt | 11 +++++++---- 6 files changed, 22 insertions(+), 25 deletions(-) diff --git a/addons/gbu/CfgAmmo.hpp b/addons/gbu/CfgAmmo.hpp index 7cb1f897866..58472c608a3 100644 --- a/addons/gbu/CfgAmmo.hpp +++ b/addons/gbu/CfgAmmo.hpp @@ -68,8 +68,8 @@ class CfgAmmo { seekerMaxRange = 4000; // Range from the missile which the seeker can visually search // Attack profile type selection - defaultAttackProfile = "LIN"; - attackProfiles[] = {"LIN"}; + defaultAttackProfile = "DIR"; + attackProfiles[] = {"DIR"}; }; }; }; diff --git a/addons/missileguidance/functions/fnc_attackProfile_WIRE.sqf b/addons/missileguidance/functions/fnc_attackProfile_WIRE.sqf index 4f0324597fa..a17cb8a4930 100644 --- a/addons/missileguidance/functions/fnc_attackProfile_WIRE.sqf +++ b/addons/missileguidance/functions/fnc_attackProfile_WIRE.sqf @@ -48,16 +48,5 @@ if (_seekerTargetPos isEqualTo [0, 0, 0] || { _distanceToProjectile < _seekerMin _projectilePos vectorAdd (_projectile vectorModelToWorld [0, 50, 0]) }; -private _relativeCorrection = _projectile vectorWorldToModel (_projectilePos vectorDiff _seekerTargetPos); -_relativeCorrection = _relativeCorrection vectorDiff _crosshairOffset; +_seekerTargetPos vectorAdd (_shooterDir vectorMultiply 30); -private _magnitude = vectorMagnitude [_relativeCorrection select 0, 0, _relativeCorrection select 2]; -private _fovImpulse = 1 min (_magnitude / _maxCorrectableDistance); // the simulated impulse for the missile being close to the center of the crosshair - -// Adjust the impulse due to near-zero values creating wobbly missiles? -private _correction = _fovImpulse; - - -_relativeCorrection = (vectorNormalized _relativeCorrection) vectorMultiply _correction; -private _returnPos = _projectilePos vectorDiff (_projectile vectorModelToWorld _relativeCorrection); -_returnPos vectorAdd (_shooterDir vectorMultiply _distanceAheadOfMissile) diff --git a/addons/missileguidance/functions/fnc_guidancePFH.sqf b/addons/missileguidance/functions/fnc_guidancePFH.sqf index 585750451ca..7457c6eec9b 100644 --- a/addons/missileguidance/functions/fnc_guidancePFH.sqf +++ b/addons/missileguidance/functions/fnc_guidancePFH.sqf @@ -34,10 +34,10 @@ private _timestep = diag_deltaTime * accTime; _flightParams params ["_pitchRate", "_yawRate", "_isBangBangGuidance"]; // Run seeker function: -private _seekerTargetPos = [[0,0,0], _args, _seekerStateParams, _lastKnownPosState] call FUNC(doSeekerSearch); +private _seekerTargetPos = [[0,0,0], _args, _seekerStateParams, _lastKnownPosState, _timestep] call FUNC(doSeekerSearch); // Run attack profile function: _seekerTargetPos = AGLtoASL ASLToAGL _seekerTargetPos; -private _profileAdjustedTargetPos = [_seekerTargetPos, _args, _attackProfileStateParams] call FUNC(doAttackProfile); +private _profileAdjustedTargetPos = [_seekerTargetPos, _args, _attackProfileStateParams, _timestep] call FUNC(doAttackProfile); private _projectilePos = getPosASLVisual _projectile; _targetData set [1, _projectilePos vectorFromTo _profileAdjustedTargetPos]; diff --git a/addons/missileguidance/functions/fnc_seekerType_Optic.sqf b/addons/missileguidance/functions/fnc_seekerType_Optic.sqf index 0b1967412d9..33bad1a86de 100644 --- a/addons/missileguidance/functions/fnc_seekerType_Optic.sqf +++ b/addons/missileguidance/functions/fnc_seekerType_Optic.sqf @@ -25,7 +25,7 @@ _seekerParams params ["_seekerAngle", "", "_seekerMaxRange"]; if (isNil "_target") exitWith {[0,0,0]}; -private _foundTargetPos = aimPos _target; +private _foundTargetPos = _target modelToWorldVisualWorld getCenterOfMass _target; // @TODO: This is seeker LOS and angle checks for LOAL only; LOBL does not need visual private _angleOkay = [_projectile, _foundTargetPos, _seekerAngle] call FUNC(checkSeekerAngle); @@ -40,9 +40,7 @@ TRACE_2("", _angleOkay, _losOkay); if (!_angleOkay || !_losOkay) exitWith {[0,0,0]}; TRACE_2("", _target, _foundTargetPos); -private _projectileSpeed = (vectorMagnitude velocity _projectile); private _distanceToTarget = (getPosASL _projectile) vectorDistance _foundTargetPos; -private _eta = _distanceToTarget / _projectileSpeed; _targetData set [0, (getPosASL _projectile) vectorFromTo _foundTargetPos]; _targetData set [2, _distanceToTarget]; diff --git a/addons/missileguidance/functions/fnc_seekerType_SALH.sqf b/addons/missileguidance/functions/fnc_seekerType_SALH.sqf index 3d6b4895825..da2d298f532 100644 --- a/addons/missileguidance/functions/fnc_seekerType_SALH.sqf +++ b/addons/missileguidance/functions/fnc_seekerType_SALH.sqf @@ -18,11 +18,11 @@ */ #define MAX_AVERAGES 15 -params ["", "_args"]; +params ["", "_args", "", "", "_timestep"]; _args params ["_firedEH", "_launchParams", "", "_seekerParams", "", "_targetData"]; _firedEH params ["","","","","","","_projectile"]; _launchParams params ["","","","","","_laserParams"]; -_seekerParams params ["_seekerAngle", "", "_seekerMaxRange", "", ["_lastPositions", []], ["_lastPositionIndex", 0]]; +_seekerParams params ["_seekerAngle", "", "_seekerMaxRange", "", ["_lastPositions", []], ["_lastPositionIndex", 0], ["_lastPositionSum", [0, 0, 0]]]; _laserParams params ["_code", "_wavelengthMin", "_wavelengthMax"]; private _laserResult = [(getPosASL _projectile), (velocity _projectile), _seekerAngle, _seekerMaxRange, [_wavelengthMin, _wavelengthMax], _code, _projectile] call EFUNC(laser,seekerFindLaserSpot); @@ -45,14 +45,21 @@ if (_foundTargetPos isNotEqualTo [0, 0, 0]) then { _seekerParams set [5, _lastPositionIndex + 1]; }; +private _aproximateVelocity = [0, 0, 0]; _positionSum = _positionSum vectorAdd _foundTargetPos; if (MAX_AVERAGES == count _lastPositions) then { _positionSum = _positionSum vectorMultiply (1 / (1 + count _lastPositions)); + if (_timestep != 0) then { + _aproximateVelocity = (_positionSum vectorDiff _lastPositionSum) vectorMultiply (1 / _timestep); + }; } else { _positionSum = _positionSum vectorMultiply (1 / count _lastPositions); }; +_seekerParams set [6, _positionSum]; + _targetData set [0, (getPosASL _projectile) vectorFromTo _positionSum]; +_targetData set [3, _aproximateVelocity]; TRACE_3("laser target found",_foundTargetPos,_positionSum,count _lastPositions); diff --git a/addons/missileguidance/todo.txt b/addons/missileguidance/todo.txt index 627c29fcc22..2c2b970bfce 100644 --- a/addons/missileguidance/todo.txt +++ b/addons/missileguidance/todo.txt @@ -37,10 +37,12 @@ Seeker Types: Navigation Types: X GBU-12 - LOS Guidance X NLAW - LOS Guidance - X Dragon - LOS Guidance - X Metis - LOS Guidance - X HOT - LOS Guidance - Vikhr - LOS Guidance + + X Dragon - NA + + Metis - Wire/Beam Guidance + HOT - Wire/Beam Guidance + Vikhr - Wire/Beam Guidance X DAGR - APN X AGM-65 - APN @@ -64,6 +66,7 @@ Navigation State Machine: Navigation Types: X Augmented Pro-Nav X Zero Effort Miss + Wire/Beam Guided General To-Do: Add more weapons From 555f0c892106bf32d294a73cd41ae318798e692a Mon Sep 17 00:00:00 2001 From: Brandon Danyluk Date: Tue, 13 Apr 2021 20:51:21 -0600 Subject: [PATCH 043/254] SALH: only update seeker pos if it within small error --- .../functions/fnc_navigationType_zeroEffortMiss.sqf | 4 ++++ addons/missileguidance/functions/fnc_seekerType_SALH.sqf | 7 +++++++ addons/missileguidance/todo.txt | 3 +-- 3 files changed, 12 insertions(+), 2 deletions(-) diff --git a/addons/missileguidance/functions/fnc_navigationType_zeroEffortMiss.sqf b/addons/missileguidance/functions/fnc_navigationType_zeroEffortMiss.sqf index 78d78da10bc..81afcf1687e 100644 --- a/addons/missileguidance/functions/fnc_navigationType_zeroEffortMiss.sqf +++ b/addons/missileguidance/functions/fnc_navigationType_zeroEffortMiss.sqf @@ -25,6 +25,10 @@ private _vectorToTarget = _attackProfileDirection vectorMultiply _targetRange; private _closingVelocity = _targetVelocity vectorDiff velocity _projectile; private _timeToGo = _targetRange / vectorMagnitude _closingVelocity; +if (_timeToGo == 0) then { + _timeToGo = 0.001; +}; + private _zeroEffortMiss = _vectorToTarget vectorAdd (_closingVelocity vectorMultiply _timeToGo); private _zeroEffortMissProjectiled = _attackProfileDirection vectorMultiply (_zeroEffortMiss vectorDotProduct _attackProfileDirection); private _zeroEffortMissNormal = _zeroEffortMiss vectorDiff _zeroEffortMissProjectiled; diff --git a/addons/missileguidance/functions/fnc_seekerType_SALH.sqf b/addons/missileguidance/functions/fnc_seekerType_SALH.sqf index da2d298f532..3e3c4b77e59 100644 --- a/addons/missileguidance/functions/fnc_seekerType_SALH.sqf +++ b/addons/missileguidance/functions/fnc_seekerType_SALH.sqf @@ -17,6 +17,7 @@ * Public: No */ #define MAX_AVERAGES 15 +#define MINIMUM_DISTANCE_UNTIL_NEW_POS 1 params ["", "_args", "", "", "_timestep"]; _args params ["_firedEH", "_launchParams", "", "_seekerParams", "", "_targetData"]; @@ -49,6 +50,12 @@ private _aproximateVelocity = [0, 0, 0]; _positionSum = _positionSum vectorAdd _foundTargetPos; if (MAX_AVERAGES == count _lastPositions) then { _positionSum = _positionSum vectorMultiply (1 / (1 + count _lastPositions)); + + // if we are within a meter of the previous average, just use the previous average + if (_positionSum distanceSqr _lastPositionSum < MINIMUM_DISTANCE_UNTIL_NEW_POS * MINIMUM_DISTANCE_UNTIL_NEW_POS) then { + _positionSum = _lastPositionSum; + }; + if (_timestep != 0) then { _aproximateVelocity = (_positionSum vectorDiff _lastPositionSum) vectorMultiply (1 / _timestep); }; diff --git a/addons/missileguidance/todo.txt b/addons/missileguidance/todo.txt index 2c2b970bfce..a65ffe78507 100644 --- a/addons/missileguidance/todo.txt +++ b/addons/missileguidance/todo.txt @@ -37,7 +37,7 @@ Seeker Types: Navigation Types: X GBU-12 - LOS Guidance X NLAW - LOS Guidance - + X Dragon - NA Metis - Wire/Beam Guidance @@ -57,7 +57,6 @@ Navigation Types: R-77 - ZEM AIM-120 - ZEM AIM-132 - ZEM - KH-25 - Pro Nav GBU-SDB - ZEM Navigation State Machine: From e2c8ddfd3b96449578a890409b0e9085d9a91d87 Mon Sep 17 00:00:00 2001 From: Brandon Danyluk Date: Tue, 13 Apr 2021 22:45:18 -0600 Subject: [PATCH 044/254] IR seeker and AIM-9M --- addons/aim9/$PBOPREFIX$ | 1 + addons/aim9/CfgAmmo.hpp | 41 ++++++ addons/aim9/CfgMagazines.hpp | 26 ++++ addons/aim9/CfgWeapons.hpp | 12 ++ addons/aim9/README.md | 12 ++ addons/aim9/config.cpp | 20 +++ addons/aim9/script_component.hpp | 18 +++ addons/missileguidance/ACE_GuidanceConfig.hpp | 8 ++ addons/missileguidance/XEH_PREP.hpp | 2 + .../functions/fnc_IR_onFired.sqf | 27 ++++ .../functions/fnc_seekerType_ARH.sqf | 2 +- .../functions/fnc_seekerType_IR.sqf | 127 ++++++++++++++++++ addons/missileguidance/todo.txt | 6 +- 13 files changed, 298 insertions(+), 4 deletions(-) create mode 100644 addons/aim9/$PBOPREFIX$ create mode 100644 addons/aim9/CfgAmmo.hpp create mode 100644 addons/aim9/CfgMagazines.hpp create mode 100644 addons/aim9/CfgWeapons.hpp create mode 100644 addons/aim9/README.md create mode 100644 addons/aim9/config.cpp create mode 100644 addons/aim9/script_component.hpp create mode 100644 addons/missileguidance/functions/fnc_IR_onFired.sqf create mode 100644 addons/missileguidance/functions/fnc_seekerType_IR.sqf diff --git a/addons/aim9/$PBOPREFIX$ b/addons/aim9/$PBOPREFIX$ new file mode 100644 index 00000000000..e4d237a7269 --- /dev/null +++ b/addons/aim9/$PBOPREFIX$ @@ -0,0 +1 @@ +z\ace\addons\aim9 \ No newline at end of file diff --git a/addons/aim9/CfgAmmo.hpp b/addons/aim9/CfgAmmo.hpp new file mode 100644 index 00000000000..d5234c74cf2 --- /dev/null +++ b/addons/aim9/CfgAmmo.hpp @@ -0,0 +1,41 @@ +class CfgAmmo { + class Missile_AA_04_F; + class GVAR(m): Missile_AA_04_F { + author = "Brandon (TCVM)"; + maneuvrability = 0; + + class ace_missileguidance { + enabled = 1; + + pitchRate = 60; // Minium flap deflection for guidance + yawRate = 60; // Maximum flap deflection for guidance + + canVanillaLock = 1; // Can this default vanilla lock? Only applicable to non-cadet mode + + // Guidance type for munitions + defaultSeekerType = "IR"; + seekerTypes[] = { "IR" }; + + flareDistanceFilter = 15; + flareAngleFilter = 0.6; // can filter out flares that are >= flareAngleFilter to known target velocity + + defaultSeekerLockMode = "LOBL"; + seekerLockModes[] = { "LOBL" }; + + defaultNavigationType = "AugmentedProportionalNavigation"; + navigationTypes[] = { "AugmentedProportionalNavigation" }; + + seekLastTargetPos = 0; // seek last target position [if seeker loses LOS of target, continue to last known pos] + seekerAngle = 30; // Angle from the shooter's view that can track the missile + seekerAccuracy = 0.95; // seeker accuracy multiplier + + seekerMinRange = 75; + seekerMaxRange = 2500; // Range from the missile which the seeker can visually search + + // Attack profile type selection + defaultAttackProfile = "DIR"; + attackProfiles[] = {"DIR"}; + }; + }; +}; + diff --git a/addons/aim9/CfgMagazines.hpp b/addons/aim9/CfgMagazines.hpp new file mode 100644 index 00000000000..bf041703ada --- /dev/null +++ b/addons/aim9/CfgMagazines.hpp @@ -0,0 +1,26 @@ +class CfgMagazines { + class 2Rnd_Missile_AA_04_F; + class PylonRack_1Rnd_Missile_AA_04_F; + class PylonMissile_1Rnd_Missile_AA_04_F; + + class GVAR(2Rnd_Missile_9m): 2Rnd_Missile_AA_04_F { + author = "Brandon (TCVM)"; + displayName = "2x AIM-9M [ACE]"; + ammo = QGVAR(m); + }; + + class GVAR(PylonRack_1Rnd_Missile_9m): PylonRack_1Rnd_Missile_AA_04_F { + author = "Brandon (TCVM)"; + displayName = "1x AIM-9M [ACE]"; + ammo = QGVAR(m); + pylonWeapon = QGVAR(m); + }; + + class GVAR(PylonMissile_1Rnd_Missile_9m): PylonMissile_1Rnd_Missile_AA_04_F { + author = "Brandon (TCVM)"; + displayName = "1x AIM-9M [ACE]"; + ammo = QGVAR(m); + pylonWeapon = QGVAR(m); + }; +}; + diff --git a/addons/aim9/CfgWeapons.hpp b/addons/aim9/CfgWeapons.hpp new file mode 100644 index 00000000000..03d55d70e8f --- /dev/null +++ b/addons/aim9/CfgWeapons.hpp @@ -0,0 +1,12 @@ +class CfgWeapons { + class Missile_AA_04_Plane_CAS_01_F; + class GVAR(m): Missile_AA_04_Plane_CAS_01_F { + lockAcquire = 1; // auto lock + + author = "Brandon (TCVM)"; + displayName = "AIM-9M [ACE]"; + weaponLockDelay = 0.5; + magazines[] = {QGVAR(2Rnd_Missile_9m), QGVAR(PylonRack_1Rnd_Missile_9m), QGVAR(PylonMissile_1Rnd_Missile_9m)}; + }; +}; + diff --git a/addons/aim9/README.md b/addons/aim9/README.md new file mode 100644 index 00000000000..e4f121ff154 --- /dev/null +++ b/addons/aim9/README.md @@ -0,0 +1,12 @@ +ace_aim9 +=================== + +Adds AIM-9 and R-73 AHR missiles + + +## Maintainers + +The people responsible for merging changes to this component or answering potential questions. + +- [Brandon-TCVM](https://github.com/TheCandianVendingMachine) + diff --git a/addons/aim9/config.cpp b/addons/aim9/config.cpp new file mode 100644 index 00000000000..c3fa7648329 --- /dev/null +++ b/addons/aim9/config.cpp @@ -0,0 +1,20 @@ +#include "script_component.hpp" + +class CfgPatches { + class ADDON { + name = COMPONENT_NAME; + units[] = {}; + weapons[] = {}; + requiredVersion = REQUIRED_VERSION; + requiredAddons[] = {"ace_common","ace_missileguidance"}; + author = ECSTRING(common,ACETeam); + authors[] = {"Brandon (TCVM)"}; + url = ECSTRING(main,URL); + VERSION_CONFIG; + }; +}; + +#include "CfgAmmo.hpp" +#include "CfgMagazines.hpp" +#include "CfgWeapons.hpp" + diff --git a/addons/aim9/script_component.hpp b/addons/aim9/script_component.hpp new file mode 100644 index 00000000000..a727cd1a419 --- /dev/null +++ b/addons/aim9/script_component.hpp @@ -0,0 +1,18 @@ +#define COMPONENT aim9 +#define COMPONENT_BEAUTIFIED AIM-9 +#include "\z\ace\addons\main\script_mod.hpp" + +// #define DEBUG_MODE_FULL +// #define DISABLE_COMPILE_CACHE +// #define ENABLE_PERFORMANCE_COUNTERS + +#ifdef DEBUG_ENABLED_AIM9 + #define DEBUG_MODE_FULL +#endif + +#ifdef DEBUG_SETTINGS_AIM9 + #define DEBUG_SETTINGS DEBUG_SETTINGS_GBU +#endif + +#include "\z\ace\addons\main\script_macros.hpp" + diff --git a/addons/missileguidance/ACE_GuidanceConfig.hpp b/addons/missileguidance/ACE_GuidanceConfig.hpp index 35982f2f37b..f05c5527b05 100644 --- a/addons/missileguidance/ACE_GuidanceConfig.hpp +++ b/addons/missileguidance/ACE_GuidanceConfig.hpp @@ -88,6 +88,14 @@ class GVAR(SeekerTypes) { functionName = QFUNC(seekerType_ARH); onFired = QFUNC(ahr_onFired); }; + class IR { + name = ""; + visualName = ""; + description = ""; + + functionName = QFUNC(seekerType_IR); + onFired = QFUNC(IR_onFired); + }; }; class GVAR(NavigationTypes) { diff --git a/addons/missileguidance/XEH_PREP.hpp b/addons/missileguidance/XEH_PREP.hpp index c4d20ac1065..f00b9753c20 100644 --- a/addons/missileguidance/XEH_PREP.hpp +++ b/addons/missileguidance/XEH_PREP.hpp @@ -39,6 +39,7 @@ PREP(seekerType_SALH); PREP(seekerType_Optic); PREP(seekerType_SACLOS); PREP(seekerType_ARH); +PREP(seekerType_IR); // Attack Profiles OnFired PREP(wire_onFired); @@ -46,6 +47,7 @@ PREP(wire_onFired); // Seeker OnFired PREP(SACLOS_onFired); PREP(ahr_onFired); +PREP(IR_onFired); // Navigation OnFired PREP(proNav_onFired); diff --git a/addons/missileguidance/functions/fnc_IR_onFired.sqf b/addons/missileguidance/functions/fnc_IR_onFired.sqf new file mode 100644 index 00000000000..5503b87b868 --- /dev/null +++ b/addons/missileguidance/functions/fnc_IR_onFired.sqf @@ -0,0 +1,27 @@ +#include "script_component.hpp" +/* + * Author: Brandon (TCVM) + * Sets up IR state arrays (called from missileGuidance's onFired). + * + * Arguments: + * Guidance Arg Array + * + * Return Value: + * None + * + * Example: + * [] call ace_missileguidance_fnc_IR_onFired + * + * Public: No + */ +params ["_firedEH", "", "", "", "_stateParams"]; +_firedEH params ["_shooter","_weapon","","","","","_projectile"]; +_stateParams params ["", "_seekerStateParams"]; + +private _flareDistanceFilter = getNumber (configOf _projectile >> "flareDistanceFilter"); +private _flareAngleFilter = getNumber (configOf _projectile >> "flareAngleFilter"); + +_seekerStateParams set [0, _flareDistanceFilter]; +_seekerStateParams set [1, _flareAngleFilter]; +_seekerStateParams set [2, missileTarget _projectile]; + diff --git a/addons/missileguidance/functions/fnc_seekerType_ARH.sqf b/addons/missileguidance/functions/fnc_seekerType_ARH.sqf index 5a645762e51..42fa70680f8 100644 --- a/addons/missileguidance/functions/fnc_seekerType_ARH.sqf +++ b/addons/missileguidance/functions/fnc_seekerType_ARH.sqf @@ -119,7 +119,7 @@ if !(isNull _target) then { _targetData set [2, _projectile distance _target]; _targetData set [3, velocity _target]; - _targetData set [4, 0]; // todo: acceleration + _targetData set [4, [0, 0, 0]]; // todo: acceleration }; _targetData set [0, (getPosASLVisual _projectile) vectorFromTo _expectedTargetPos]; diff --git a/addons/missileguidance/functions/fnc_seekerType_IR.sqf b/addons/missileguidance/functions/fnc_seekerType_IR.sqf new file mode 100644 index 00000000000..6428db85354 --- /dev/null +++ b/addons/missileguidance/functions/fnc_seekerType_IR.sqf @@ -0,0 +1,127 @@ +#include "script_component.hpp" +/* + * Author: Brandon (TCVM) + * Infrared seeker. Checks if flares are popped + * + * Arguments: + * 1: Guidance Arg Array + * 2: Seeker State + * + * Return Value: + * Position of wanted missile pos relative to the camera direction + * + * Example: + * [] call ace_missileguidance_fnc_seekerType_IR + * + * Public: No + */ +_args params ["_firedEH", "_launchParams", "_flightParams", "_seekerParams", "_stateParams", "_targetData"]; +_firedEH params ["_shooter","","","","_ammo","","_projectile"]; +_launchParams params ["_shooter","_targetLaunchParams","_seekerType","_attackProfile","_lockMode","_laserInfo","_navigationType"]; +_targetLaunchParams params ["_target", "_targetPos", "_launchPos", "_launchDir", "_launchTime"]; +_flightParams params ["_pitchRate", "_yawRate", "_isBangBangGuidance"]; +_stateParams params ["_lastRunTime", "_seekerStateParams", "_attackProfileStateParams", "_lastKnownPosState","_navigationParams", "_guidanceParameters"]; +_seekerParams params ["_seekerAngle", "_seekerAccuracy", "_seekerMaxRange", "_seekerMinRange"]; +_targetData params ["_targetDirection", "_attackProfileDirection", "_targetRange", "_targetVelocity", "_targetAcceleration"]; + +_seekerStateParams params ["_flareDistanceFilter", "_flareAngleFilter", "_trackingTarget"]; + +_flareDistanceFilter = 15; //debug temp +_flareAngleFilter = 2.0; // debug temp +_seekerAccuracy = 0.95; // debug temp + +private _projectileVelocity = velocity _projectile; +private _closingVelocity = _targetVelocity vectorDiff _projectileVelocity; + +private _withinView = [_projectile, getPosASLVisual _trackingTarget, _seekerAngle] call FUNC(checkSeekerAngle); +private _canSee = [_projectile, _trackingTarget, false] call FUNC(checkLos); + +if (!_withinView || !_canSee) then { + _trackingTarget = objNull; +}; + +if (isNull _trackingTarget) then { + // find any target within seeker range + private _potentialTargets = _projectile nearEntities ["Air", _seekerMaxRange]; + private _bestAngle = 90; + { + private _withinView = [_projectile, getPosASLVisual _x, _seekerAngle] call FUNC(checkSeekerAngle); + private _canSee = [_projectile, _x, false] call FUNC(checkLos); + + if (_withinView && _canSee) then { + private _los = (getPosASLVisual _projectile) vectorFromTo (getPosASLVisual _x); + private _losAngle = (_los#2 atan2 _los#0); + if (_losAngle < _bestAngle) then { + _trackingTarget = _x; + _bestAngle = _losAngle; + }; + }; + } forEach _potentialTargets; +}; + +if (accTime > 0 && !isGamePaused) then { + // If there are flares nearby, check if they will confuse missile + private _nearby = _trackingTarget nearObjects _flareDistanceFilter; + _nearby = _nearby select { + // 2 = IR blocking + private _blocking = configOf _x >> "weaponLockSystem"; + private _isFlare = false; + if (isNumber _blocking) then { + _isFlare = (2 == getNumber _blocking); + }; + + if (isText _blocking) then { + _isFlare = ("2" in getText _blocking); + }; + + private _withinView = [_projectile, getPosASLVisual _x, _seekerAngle] call FUNC(checkSeekerAngle); + private _canSee = [_projectile, _x, false] call FUNC(checkLos); + + (_x isEqualTo _target && _trackingTarget isNotEqualTo _target) || { (_withinView && _canSee && _isFlare) } + }; + + private _foundDecoy = false; + { + if (_trackingTarget isNotEqualTo _x) then { + private _considering = false; + + private _distanceToFlare = _trackingTarget distanceSqr _x; + if (!_foundDecoy && _distanceToFlare <= _flareDistanceFilter * _flareDistanceFilter) then { + private _flareRelativeVelocity = (velocity _x) vectorDiff _projectileVelocity; + private _angleBetweenVelocities = acos (_closingVelocity vectorCos _flareRelativeVelocity); + + if (_angleBetweenVelocities <= _flareAngleFilter) then { + systemChat str _angleBetweenVelocities; + _considering = true; + if (_seekerAccuracy <= random 1) then { + _trackingTarget = _x; + _foundDecoy = true; + }; + }; + }; + + #ifdef DRAW_GUIDANCE_INFO + private _flarePos = ASLToAGL getPosASLVisual _x; + private _colour = [1, 0, 0, 1]; + if (_considering) then { + _colour = [0, 1, 0, 1]; + }; + if (_trackingTarget isEqualTo _x) then { + _colour = [0, 0, 1, 1]; + }; + drawIcon3D ["\a3\ui_f\data\IGUI\Cfg\Cursors\selectover_ca.paa", _colour, _flarePos, 0.75, 0.75, 0, "F", 1, 0.025, "TahomaB"]; + #endif + }; + } forEach _nearby; + + _seekerStateParams set [2, _trackingTarget]; + +}; + +private _targetPosition = _trackingTarget modelToWorldVisualWorld getCenterOfMass _trackingTarget; + +_targetData set [0, (getPosASL _projectile) vectorFromTo _targetPosition]; +_targetData set [2, 0]; +_targetData set [3, velocity _trackingTarget]; + +_targetPosition diff --git a/addons/missileguidance/todo.txt b/addons/missileguidance/todo.txt index a65ffe78507..36e84620b7b 100644 --- a/addons/missileguidance/todo.txt +++ b/addons/missileguidance/todo.txt @@ -14,7 +14,7 @@ Weapon Configs: Vikhr - Beam Rider SACLOS R-73 - Infrared - AIM-9 - Infrared + X AIM-9 - Infrared AIM-132 - Infrared R-77 - AHR @@ -31,7 +31,7 @@ Weapon Configs: Seeker Types: X Laser Optical - Infrared + X Infrared GPS/INS Navigation Types: @@ -50,7 +50,7 @@ Navigation Types: R-73 - APN AGM-88 - APN KH-58 - APN - AIM-9 - APN + X AIM-9 - APN X Javelin - ZEM X Hellfire - ZEM From c714fb526b0715b6e9e7940aa2a2e960b2c74c7e Mon Sep 17 00:00:00 2001 From: Brandon Danyluk Date: Tue, 13 Apr 2021 23:12:47 -0600 Subject: [PATCH 045/254] small tweaks --- addons/aim9/CfgAmmo.hpp | 47 +++++++++++++++++-- addons/aim9/CfgMagazines.hpp | 32 +++++++++++++ addons/aim9/CfgWeapons.hpp | 10 ++++ .../functions/fnc_IR_onFired.sqf | 4 +- .../functions/fnc_seekerType_IR.sqf | 20 ++++---- 5 files changed, 98 insertions(+), 15 deletions(-) diff --git a/addons/aim9/CfgAmmo.hpp b/addons/aim9/CfgAmmo.hpp index d5234c74cf2..db7461ef294 100644 --- a/addons/aim9/CfgAmmo.hpp +++ b/addons/aim9/CfgAmmo.hpp @@ -7,8 +7,8 @@ class CfgAmmo { class ace_missileguidance { enabled = 1; - pitchRate = 60; // Minium flap deflection for guidance - yawRate = 60; // Maximum flap deflection for guidance + pitchRate = 45; // Minium flap deflection for guidance + yawRate = 45; // Maximum flap deflection for guidance canVanillaLock = 1; // Can this default vanilla lock? Only applicable to non-cadet mode @@ -16,8 +16,8 @@ class CfgAmmo { defaultSeekerType = "IR"; seekerTypes[] = { "IR" }; - flareDistanceFilter = 15; - flareAngleFilter = 0.6; // can filter out flares that are >= flareAngleFilter to known target velocity + flareDistanceFilter = 100; + flareAngleFilter = 2.0; // can filter out flares that are >= flareAngleFilter to known target velocity defaultSeekerLockMode = "LOBL"; seekerLockModes[] = { "LOBL" }; @@ -27,6 +27,45 @@ class CfgAmmo { seekLastTargetPos = 0; // seek last target position [if seeker loses LOS of target, continue to last known pos] seekerAngle = 30; // Angle from the shooter's view that can track the missile + seekerAccuracy = 0.8; // seeker accuracy multiplier + + seekerMinRange = 75; + seekerMaxRange = 2500; // Range from the missile which the seeker can visually search + + // Attack profile type selection + defaultAttackProfile = "DIR"; + attackProfiles[] = {"DIR"}; + }; + }; + + class ammo_Missile_BIM9X; + class GVAR(x): ammo_Missile_BIM9X { + author = "Brandon (TCVM)"; + maneuvrability = 0; + + class ace_missileguidance { + enabled = 1; + + pitchRate = 90; // Minium flap deflection for guidance + yawRate = 90; // Maximum flap deflection for guidance + + canVanillaLock = 1; // Can this default vanilla lock? Only applicable to non-cadet mode + + // Guidance type for munitions + defaultSeekerType = "IR"; + seekerTypes[] = { "IR" }; + + flareDistanceFilter = 50; + flareAngleFilter = 0.8; // can filter out flares that are >= flareAngleFilter to known target velocity + + defaultSeekerLockMode = "LOBL"; + seekerLockModes[] = { "LOBL" }; + + defaultNavigationType = "AugmentedProportionalNavigation"; + navigationTypes[] = { "AugmentedProportionalNavigation" }; + + seekLastTargetPos = 0; // seek last target position [if seeker loses LOS of target, continue to last known pos] + seekerAngle = 60; // Angle from the shooter's view that can track the missile seekerAccuracy = 0.95; // seeker accuracy multiplier seekerMinRange = 75; diff --git a/addons/aim9/CfgMagazines.hpp b/addons/aim9/CfgMagazines.hpp index bf041703ada..272ae0948c9 100644 --- a/addons/aim9/CfgMagazines.hpp +++ b/addons/aim9/CfgMagazines.hpp @@ -22,5 +22,37 @@ class CfgMagazines { ammo = QGVAR(m); pylonWeapon = QGVAR(m); }; + + class magazine_Missile_BIM9X_x1; + class PylonMissile_Missile_BIM9X_x1; + class PylonRack_Missile_BIM9X_x1; + class PylonRack_Missile_BIM9X_x2; + + class GVAR(magazine_Missile_9x): magazine_Missile_BIM9X_x1 { + author = "Brandon (TCVM)"; + displayName = "1x AIM-9X [ACE]"; + ammo = QGVAR(x); + }; + + class GVAR(PylonMissile_Missile_9x): PylonMissile_Missile_BIM9X_x1 { + author = "Brandon (TCVM)"; + displayName = "1x AIM-9X [ACE]"; + ammo = QGVAR(x); + pylonWeapon = QGVAR(x); + }; + + class GVAR(PylonRack_Missile_9x): PylonRack_Missile_BIM9X_x1 { + author = "Brandon (TCVM)"; + displayName = "1x AIM-9X [ACE]"; + ammo = QGVAR(x); + pylonWeapon = QGVAR(x); + }; + + class GVAR(PylonRack_Missile_9x_2): PylonRack_Missile_BIM9X_x2 { + author = "Brandon (TCVM)"; + displayName = "2x AIM-9X [ACE]"; + ammo = QGVAR(x); + pylonWeapon = QGVAR(x); + }; }; diff --git a/addons/aim9/CfgWeapons.hpp b/addons/aim9/CfgWeapons.hpp index 03d55d70e8f..36b2aa5717f 100644 --- a/addons/aim9/CfgWeapons.hpp +++ b/addons/aim9/CfgWeapons.hpp @@ -8,5 +8,15 @@ class CfgWeapons { weaponLockDelay = 0.5; magazines[] = {QGVAR(2Rnd_Missile_9m), QGVAR(PylonRack_1Rnd_Missile_9m), QGVAR(PylonMissile_1Rnd_Missile_9m)}; }; + + class weapon_BIM9xLauncher; + class GVAR(x): weapon_BIM9xLauncher { + lockAcquire = 1; // auto lock + + author = "Brandon (TCVM)"; + displayName = "AIM-9X [ACE]"; + weaponLockDelay = 0.5; + magazines[] = { QGVAR(magazine_Missile_9x), QGVAR(PylonMissile_Missile_9x), QGVAR(PylonRack_Missile_9x), QGVAR(PylonRack_Missile_9x_2) }; + }; }; diff --git a/addons/missileguidance/functions/fnc_IR_onFired.sqf b/addons/missileguidance/functions/fnc_IR_onFired.sqf index 5503b87b868..7bfcefe4d97 100644 --- a/addons/missileguidance/functions/fnc_IR_onFired.sqf +++ b/addons/missileguidance/functions/fnc_IR_onFired.sqf @@ -18,8 +18,8 @@ params ["_firedEH", "", "", "", "_stateParams"]; _firedEH params ["_shooter","_weapon","","","","","_projectile"]; _stateParams params ["", "_seekerStateParams"]; -private _flareDistanceFilter = getNumber (configOf _projectile >> "flareDistanceFilter"); -private _flareAngleFilter = getNumber (configOf _projectile >> "flareAngleFilter"); +private _flareDistanceFilter = getNumber (configOf _projectile >> QUOTE(ADDON) >> "flareDistanceFilter"); +private _flareAngleFilter = getNumber (configOf _projectile >> QUOTE(ADDON) >> "flareAngleFilter"); _seekerStateParams set [0, _flareDistanceFilter]; _seekerStateParams set [1, _flareAngleFilter]; diff --git a/addons/missileguidance/functions/fnc_seekerType_IR.sqf b/addons/missileguidance/functions/fnc_seekerType_IR.sqf index 6428db85354..55d3a45db00 100644 --- a/addons/missileguidance/functions/fnc_seekerType_IR.sqf +++ b/addons/missileguidance/functions/fnc_seekerType_IR.sqf @@ -15,6 +15,12 @@ * * Public: No */ +#ifdef DEBUG_MODE_FULL +#define TRACK_ON_PAUSE true +#else +#define TRACK_ON_PAUSE false +#endif + _args params ["_firedEH", "_launchParams", "_flightParams", "_seekerParams", "_stateParams", "_targetData"]; _firedEH params ["_shooter","","","","_ammo","","_projectile"]; _launchParams params ["_shooter","_targetLaunchParams","_seekerType","_attackProfile","_lockMode","_laserInfo","_navigationType"]; @@ -26,10 +32,6 @@ _targetData params ["_targetDirection", "_attackProfileDirection", "_targetRange _seekerStateParams params ["_flareDistanceFilter", "_flareAngleFilter", "_trackingTarget"]; -_flareDistanceFilter = 15; //debug temp -_flareAngleFilter = 2.0; // debug temp -_seekerAccuracy = 0.95; // debug temp - private _projectileVelocity = velocity _projectile; private _closingVelocity = _targetVelocity vectorDiff _projectileVelocity; @@ -59,9 +61,9 @@ if (isNull _trackingTarget) then { } forEach _potentialTargets; }; -if (accTime > 0 && !isGamePaused) then { +if (TRACK_ON_PAUSE || {accTime > 0 && !isGamePaused}) then { // If there are flares nearby, check if they will confuse missile - private _nearby = _trackingTarget nearObjects _flareDistanceFilter; + private _nearby = _trackingTarget nearObjects 50; _nearby = _nearby select { // 2 = IR blocking private _blocking = configOf _x >> "weaponLockSystem"; @@ -79,19 +81,19 @@ if (accTime > 0 && !isGamePaused) then { (_x isEqualTo _target && _trackingTarget isNotEqualTo _target) || { (_withinView && _canSee && _isFlare) } }; - + private _foundDecoy = false; { if (_trackingTarget isNotEqualTo _x) then { private _considering = false; private _distanceToFlare = _trackingTarget distanceSqr _x; - if (!_foundDecoy && _distanceToFlare <= _flareDistanceFilter * _flareDistanceFilter) then { + if !(_foundDecoy) then { private _flareRelativeVelocity = (velocity _x) vectorDiff _projectileVelocity; private _angleBetweenVelocities = acos (_closingVelocity vectorCos _flareRelativeVelocity); + systemChat str [_angleBetweenVelocities, _flareAngleFilter]; if (_angleBetweenVelocities <= _flareAngleFilter) then { - systemChat str _angleBetweenVelocities; _considering = true; if (_seekerAccuracy <= random 1) then { _trackingTarget = _x; From fe2fedd1e82fdfcf7484b182d1497b2eb370ff04 Mon Sep 17 00:00:00 2001 From: Brandon Danyluk Date: Tue, 13 Apr 2021 23:14:34 -0600 Subject: [PATCH 046/254] more tweaks --- addons/aim9/CfgAmmo.hpp | 4 ++-- addons/missileguidance/functions/fnc_seekerType_IR.sqf | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/addons/aim9/CfgAmmo.hpp b/addons/aim9/CfgAmmo.hpp index db7461ef294..1fdbc683b7b 100644 --- a/addons/aim9/CfgAmmo.hpp +++ b/addons/aim9/CfgAmmo.hpp @@ -26,7 +26,7 @@ class CfgAmmo { navigationTypes[] = { "AugmentedProportionalNavigation" }; seekLastTargetPos = 0; // seek last target position [if seeker loses LOS of target, continue to last known pos] - seekerAngle = 30; // Angle from the shooter's view that can track the missile + seekerAngle = 45; // Angle from the shooter's view that can track the missile seekerAccuracy = 0.8; // seeker accuracy multiplier seekerMinRange = 75; @@ -65,7 +65,7 @@ class CfgAmmo { navigationTypes[] = { "AugmentedProportionalNavigation" }; seekLastTargetPos = 0; // seek last target position [if seeker loses LOS of target, continue to last known pos] - seekerAngle = 60; // Angle from the shooter's view that can track the missile + seekerAngle = 120; // Angle from the shooter's view that can track the missile seekerAccuracy = 0.95; // seeker accuracy multiplier seekerMinRange = 75; diff --git a/addons/missileguidance/functions/fnc_seekerType_IR.sqf b/addons/missileguidance/functions/fnc_seekerType_IR.sqf index 55d3a45db00..a3020798f8e 100644 --- a/addons/missileguidance/functions/fnc_seekerType_IR.sqf +++ b/addons/missileguidance/functions/fnc_seekerType_IR.sqf @@ -63,7 +63,7 @@ if (isNull _trackingTarget) then { if (TRACK_ON_PAUSE || {accTime > 0 && !isGamePaused}) then { // If there are flares nearby, check if they will confuse missile - private _nearby = _trackingTarget nearObjects 50; + private _nearby = _trackingTarget nearObjects _flareDistanceFilter; _nearby = _nearby select { // 2 = IR blocking private _blocking = configOf _x >> "weaponLockSystem"; From 8d52a2eb16cf9b0a5357801202395d4946cb66d9 Mon Sep 17 00:00:00 2001 From: Brandon Danyluk Date: Wed, 14 Apr 2021 00:24:39 -0600 Subject: [PATCH 047/254] todo: fix nlaw --- .../functions/fnc_navigationType_lineOfSight.sqf | 1 + addons/missileguidance/functions/fnc_seekerType_IR.sqf | 3 +-- addons/missileguidance/script_component.hpp | 2 +- addons/missileguidance/todo.txt | 2 +- addons/nlaw/CfgAmmo.hpp | 4 ++-- addons/nlaw/functions/fnc_seeker.sqf | 2 +- addons/nlaw/script_component.hpp | 2 +- 7 files changed, 8 insertions(+), 8 deletions(-) diff --git a/addons/missileguidance/functions/fnc_navigationType_lineOfSight.sqf b/addons/missileguidance/functions/fnc_navigationType_lineOfSight.sqf index e5d3f71b4fd..09b7564b78d 100644 --- a/addons/missileguidance/functions/fnc_navigationType_lineOfSight.sqf +++ b/addons/missileguidance/functions/fnc_navigationType_lineOfSight.sqf @@ -46,3 +46,4 @@ if (accTime > 0) then { }; _commandedAcceleration + diff --git a/addons/missileguidance/functions/fnc_seekerType_IR.sqf b/addons/missileguidance/functions/fnc_seekerType_IR.sqf index a3020798f8e..8fb819e9d1f 100644 --- a/addons/missileguidance/functions/fnc_seekerType_IR.sqf +++ b/addons/missileguidance/functions/fnc_seekerType_IR.sqf @@ -16,7 +16,7 @@ * Public: No */ #ifdef DEBUG_MODE_FULL -#define TRACK_ON_PAUSE true +#define TRACK_ON_PAUSE false #else #define TRACK_ON_PAUSE false #endif @@ -92,7 +92,6 @@ if (TRACK_ON_PAUSE || {accTime > 0 && !isGamePaused}) then { private _flareRelativeVelocity = (velocity _x) vectorDiff _projectileVelocity; private _angleBetweenVelocities = acos (_closingVelocity vectorCos _flareRelativeVelocity); - systemChat str [_angleBetweenVelocities, _flareAngleFilter]; if (_angleBetweenVelocities <= _flareAngleFilter) then { _considering = true; if (_seekerAccuracy <= random 1) then { diff --git a/addons/missileguidance/script_component.hpp b/addons/missileguidance/script_component.hpp index a4a4f51906f..a54c93086bd 100644 --- a/addons/missileguidance/script_component.hpp +++ b/addons/missileguidance/script_component.hpp @@ -3,7 +3,7 @@ #include "\z\ace\addons\main\script_mod.hpp" #define DRAW_GUIDANCE_INFO -// #define ENABLE_PROJECTILE_CAMERA + #define ENABLE_PROJECTILE_CAMERA #define DEBUG_MODE_FULL #define DISABLE_COMPILE_CACHE // #define ENABLE_PERFORMANCE_COUNTERS diff --git a/addons/missileguidance/todo.txt b/addons/missileguidance/todo.txt index 36e84620b7b..b1224704fd6 100644 --- a/addons/missileguidance/todo.txt +++ b/addons/missileguidance/todo.txt @@ -30,7 +30,7 @@ Weapon Configs: Seeker Types: X Laser - Optical + X Optical X Infrared GPS/INS diff --git a/addons/nlaw/CfgAmmo.hpp b/addons/nlaw/CfgAmmo.hpp index 1612b2a3056..cdc52eb5246 100644 --- a/addons/nlaw/CfgAmmo.hpp +++ b/addons/nlaw/CfgAmmo.hpp @@ -6,8 +6,8 @@ class CfgAmmo { class ace_missileguidance { enabled = 1; - pitchRate = 20; // Minium flap deflection for guidance - yawRate = 20; // Maximum flap deflection for guidance + pitchRate = 5; // Minium flap deflection for guidance + yawRate = 10; // Maximum flap deflection for guidance canVanillaLock = 0; // Can this default vanilla lock? Only applicable to non-cadet mode diff --git a/addons/nlaw/functions/fnc_seeker.sqf b/addons/nlaw/functions/fnc_seeker.sqf index af9b349cc2d..ee82622c534 100644 --- a/addons/nlaw/functions/fnc_seeker.sqf +++ b/addons/nlaw/functions/fnc_seeker.sqf @@ -17,7 +17,7 @@ * Public: No */ -params ["", "_args", "_seekerStateParams"]; +params ["", "_args", "_seekerStateParams", "", "", "_targetData"]; _args params ["_firedEH", "_launchParams", "", "_seekerParams", "_stateParams"]; _firedEH params ["","","","","","","_projectile"]; _launchParams params ["", "_targetLaunchParams", "", "_attackProfile"]; diff --git a/addons/nlaw/script_component.hpp b/addons/nlaw/script_component.hpp index 2cabaf7e47a..2df15afba8e 100644 --- a/addons/nlaw/script_component.hpp +++ b/addons/nlaw/script_component.hpp @@ -4,7 +4,7 @@ // #define DRAW_NLAW_INFO // #define DEBUG_MODE_FULL -// #define DISABLE_COMPILE_CACHE + #define DISABLE_COMPILE_CACHE // #define ENABLE_PERFORMANCE_COUNTERS #ifdef DEBUG_ENABLED_NLAW From a485399c5eee3748c367cbdb1cc8a6ee1422ad04 Mon Sep 17 00:00:00 2001 From: Brandon Danyluk Date: Wed, 14 Apr 2021 00:25:15 -0600 Subject: [PATCH 048/254] update todo --- addons/missileguidance/todo.txt | 2 ++ addons/nlaw/script_component.hpp | 2 +- 2 files changed, 3 insertions(+), 1 deletion(-) diff --git a/addons/missileguidance/todo.txt b/addons/missileguidance/todo.txt index b1224704fd6..4143c15cd49 100644 --- a/addons/missileguidance/todo.txt +++ b/addons/missileguidance/todo.txt @@ -66,8 +66,10 @@ Navigation Types: X Augmented Pro-Nav X Zero Effort Miss Wire/Beam Guided + Predicted Line of Sight General To-Do: Add more weapons X Fix GBU drag Make sure all applicable pylons can hold all applicable weapons + NLAW is busted: figure out PLOS navigation system diff --git a/addons/nlaw/script_component.hpp b/addons/nlaw/script_component.hpp index 2df15afba8e..2cabaf7e47a 100644 --- a/addons/nlaw/script_component.hpp +++ b/addons/nlaw/script_component.hpp @@ -4,7 +4,7 @@ // #define DRAW_NLAW_INFO // #define DEBUG_MODE_FULL - #define DISABLE_COMPILE_CACHE +// #define DISABLE_COMPILE_CACHE // #define ENABLE_PERFORMANCE_COUNTERS #ifdef DEBUG_ENABLED_NLAW From d0775283e3da9a05229fa48264716a7faebbebdb Mon Sep 17 00:00:00 2001 From: Brandon Danyluk Date: Wed, 14 Apr 2021 02:29:27 -0600 Subject: [PATCH 049/254] implement course state machine --- addons/gbu/CfgAmmo.hpp | 4 +-- addons/missileguidance/CfgAmmo.hpp | 17 ++++++++++-- addons/missileguidance/XEH_PREP.hpp | 3 +++ .../functions/fnc_guidancePFH.sqf | 18 ++++++++++++- .../fnc_javelin_midCourseTransition.sqf | 27 +++++++++++++++++++ .../fnc_navigationType_lineOfSight.sqf | 2 +- .../missileguidance/functions/fnc_onFired.sqf | 25 +++++++++++++++-- addons/missileguidance/script_component.hpp | 2 +- 8 files changed, 89 insertions(+), 9 deletions(-) create mode 100644 addons/missileguidance/functions/fnc_javelin_midCourseTransition.sqf diff --git a/addons/gbu/CfgAmmo.hpp b/addons/gbu/CfgAmmo.hpp index 58472c608a3..73c47dbf275 100644 --- a/addons/gbu/CfgAmmo.hpp +++ b/addons/gbu/CfgAmmo.hpp @@ -31,8 +31,8 @@ class CfgAmmo { seekerMaxRange = 4000; // Range from the missile which the seeker can visually search // Attack profile type selection - defaultAttackProfile = "LIN"; - attackProfiles[] = {"LIN"}; + defaultAttackProfile = "DIR"; + attackProfiles[] = {"DIR"}; }; }; diff --git a/addons/missileguidance/CfgAmmo.hpp b/addons/missileguidance/CfgAmmo.hpp index f391e74c996..428af791c34 100644 --- a/addons/missileguidance/CfgAmmo.hpp +++ b/addons/missileguidance/CfgAmmo.hpp @@ -85,8 +85,8 @@ class CfgAmmo { defaultSeekerLockMode = "LOBL"; seekerLockModes[] = { "LOBL" }; - defaultNavigationType = "ZeroEffortMiss"; - navigationTypes[] = { "ZeroEffortMiss" }; + defaultNavigationType = "LineOfSight"; + navigationTypes[] = { "LineOfSight", "ZeroEffortMiss" }; navigationGain = 3; @@ -102,6 +102,19 @@ class CfgAmmo { defaultAttackProfile = "JAV_TOP"; attackProfiles[] = { "JAV_TOP", "JAV_DIR" }; useModeForAttackProfile = 1; + + class navigationStates { + class initial { + transitionCondition = QFUNC(javelin_midCourseTransition); + navigationType = "LineOfSight"; + }; + class terminal { + transitionCondition = ""; + navigationType = "ZeroEffortMiss"; + }; + // transitions from initial -> termimal + states[] = {"initial", "terminal"}; + }; }; }; class ACE_Javelin_FGM148_static: ACE_Javelin_FGM148 { diff --git a/addons/missileguidance/XEH_PREP.hpp b/addons/missileguidance/XEH_PREP.hpp index f00b9753c20..ca0948e1fd3 100644 --- a/addons/missileguidance/XEH_PREP.hpp +++ b/addons/missileguidance/XEH_PREP.hpp @@ -52,3 +52,6 @@ PREP(IR_onFired); // Navigation OnFired PREP(proNav_onFired); +// State transitions +PREP(javelin_midCourseTransition); + diff --git a/addons/missileguidance/functions/fnc_guidancePFH.sqf b/addons/missileguidance/functions/fnc_guidancePFH.sqf index 7457c6eec9b..6dbcb2aba2f 100644 --- a/addons/missileguidance/functions/fnc_guidancePFH.sqf +++ b/addons/missileguidance/functions/fnc_guidancePFH.sqf @@ -19,10 +19,11 @@ BEGIN_COUNTER(guidancePFH); params ["_args", "_pfID"]; -_args params ["_firedEH", "_launchParams", "_flightParams", "_seekerParams", "_stateParams", "_targetData"]; +_args params ["_firedEH", "_launchParams", "_flightParams", "_seekerParams", "_stateParams", "_targetData", "_navigationStateParams"]; _firedEH params ["_shooter","","","","_ammo","","_projectile"]; _launchParams params ["","_targetLaunchParams","","","","","_navigationType"]; _stateParams params ["_lastRunTime", "_seekerStateParams", "_attackProfileStateParams", "_lastKnownPosState", "_navigationParameters", "_guidanceParameters"]; +_navigationStateParams params ["_currentState", "_navigationStateData"]; if (!alive _projectile || isNull _projectile || isNull _shooter) exitWith { [_pfID] call CBA_fnc_removePerFrameHandler; @@ -47,15 +48,30 @@ _targetData set [1, _projectilePos vectorFromTo _profileAdjustedTargetPos]; // If there is no deflection on the missile, this cannot change and therefore is redundant. Avoid calculations for missiles without any deflection if ((_pitchRate != 0 || {_yawRate != 0}) && {_profileAdjustedTargetPos isNotEqualTo [0,0,0]}) then { private _navigationFunction = getText (configFile >> QGVAR(NavigationTypes) >> _navigationType >> "functionName"); + if (_navigationStateData isNotEqualTo []) then { + (_navigationStateData select _currentState) params ["_transitionCondition"]; + private _transition = (_args call (missionNamespace getVariable [_transitionCondition, { false }])); + if (_transition) then { + _currentState = _currentState + 1; + _navigationStateParams set [0, _currentState]; + }; + + _navigationType = (_navigationStateData select _currentState) select 1; + _navigationFunction = getText (configFile >> QGVAR(NavigationTypes) >> _navigationType >> "functionName") + }; + + private _commandedAcceleration = [_args, _timestep, _seekerTargetPos, _profileAdjustedTargetPos] call (missionNamespace getVariable _navigationFunction); if (isNil "_commandedAcceleration") exitWith { + systemChat _navigationFunction; ERROR_MSG("_commandedAcceleration is nil! Guidance cancelled"); }; #ifdef DRAW_GUIDANCE_INFO private _projectilePosAGL = ASLToAGL _projectilePos; drawIcon3D ["\a3\ui_f\data\IGUI\Cfg\Cursors\selectover_ca.paa", [1,0,0,1], _projectilePosAGL vectorAdd [0, 0, 1], 0.75, 0.75, 0, str _commandedAcceleration, 1, 0.025, "TahomaB"]; + drawIcon3D ["\a3\ui_f\data\IGUI\Cfg\Cursors\selectover_ca.paa", [1,1,0,1], _projectilePosAGL vectorAdd [0, 0, 2], 0.75, 0.75, 0, _navigationType, 1, 0.025, "TahomaB"]; drawLine3D [_projectilePosAGL, _projectilePosAGL vectorAdd _commandedAcceleration, [1, 0, 1, 1]]; #endif diff --git a/addons/missileguidance/functions/fnc_javelin_midCourseTransition.sqf b/addons/missileguidance/functions/fnc_javelin_midCourseTransition.sqf new file mode 100644 index 00000000000..6e256095d1c --- /dev/null +++ b/addons/missileguidance/functions/fnc_javelin_midCourseTransition.sqf @@ -0,0 +1,27 @@ +#include "script_component.hpp" +/* + * Author: Brandon (TCVM) + * Sets up IR state arrays (called from missileGuidance's onFired). + * + * Arguments: + * Guidance Arg Array + * + * Return Value: + * None + * + * Example: + * [] call ace_missileguidance_fnc_IR_onFired + * + * Public: No + */ +_args params ["_firedEH", "_launchParams", "_flightParams", "_seekerParams", "_stateParams", "_targetData", "_navigationStateData"]; +_firedEH params ["_shooter","","","","_ammo","","_projectile"]; +_launchParams params ["_shooter","_targetLaunchParams","_seekerType","_attackProfile","_lockMode","_laserInfo","_navigationType"]; +_targetLaunchParams params ["_target", "_targetPos", "_launchPos", "_launchDir", "_launchTime"]; +_flightParams params ["_pitchRate", "_yawRate", "_isBangBangGuidance"]; +_stateParams params ["_lastRunTime", "_seekerStateParams", "_attackProfileStateParams", "_lastKnownPosState","_navigationParams", "_guidanceParameters"]; +_seekerParams params ["_seekerAngle", "_seekerAccuracy", "_seekerMaxRange", "_seekerMinRange"]; +_targetData params ["_targetDirection", "_attackProfileDirection", "_targetRange", "_targetVelocity", "_targetAcceleration"]; + +_targetRange <= 500 + diff --git a/addons/missileguidance/functions/fnc_navigationType_lineOfSight.sqf b/addons/missileguidance/functions/fnc_navigationType_lineOfSight.sqf index 09b7564b78d..d630c3a9328 100644 --- a/addons/missileguidance/functions/fnc_navigationType_lineOfSight.sqf +++ b/addons/missileguidance/functions/fnc_navigationType_lineOfSight.sqf @@ -30,7 +30,7 @@ private _losDelta = _attackProfileDirection vectorDiff _lastLineOfSight; private _losRate = if (_timestep == 0) then { 0 } else { - 1 * (vectorMagnitude _losDelta) / _timestep; + 10 * (vectorMagnitude _losDelta) / _timestep; }; private _closingVelocity = _targetVelocity vectorDiff (velocity _projectile); diff --git a/addons/missileguidance/functions/fnc_onFired.sqf b/addons/missileguidance/functions/fnc_onFired.sqf index 4953db500af..55630a75a6b 100644 --- a/addons/missileguidance/functions/fnc_onFired.sqf +++ b/addons/missileguidance/functions/fnc_onFired.sqf @@ -92,6 +92,8 @@ if (isNil "_target") then { }; }; +_targetPos = getPosASLVisual _target; + // Array for seek last target position private _seekLastTargetPos = (getNumber ( _config >> "seekLastTargetPos")) == 1; private _lastKnownPosState = [_seekLastTargetPos]; @@ -115,6 +117,24 @@ if (isNumber (_config >> "pitchRate")) then { _bangBang = 1 == getNumber (_config >> "bangBangGuidance"); }; +private _navigationStateSubclass = _config >> "navigationStates"; +private _states = getArray (_navigationStateSubclass >> "states"); + +private _navigationStateData = []; +private _initialState = ""; + +if (_states isNotEqualTo []) then { + _initialState = _states select 0; + { + private _stateClass = _navigationStateSubclass >> _x; + _navigationStateData pushBack [ + getText (_stateClass >> "transitionCondition"), + getText (_stateClass >> "navigationType") + ]; + } forEach _states; +}; + + private _pitchYaw = (vectorDir _projectile) call CBA_fnc_vect2Polar; TRACE_5("Beginning ACE guidance system",_target,_ammo,_seekerType,_attackProfile,_navigationType); private _args = [_this, @@ -145,7 +165,8 @@ private _args = [_this, 0, // range to target [0, 0, 0], // target velocity [0, 0, 0] // target acceleration - ] + ], + [0, _navigationStateData] ]; private _onFiredFunc = getText (configFile >> QGVAR(SeekerTypes) >> _seekerType >> "onFired"); @@ -174,7 +195,7 @@ if (_onFiredFunc != "") then { }; // Reverse: -// _args params ["_firedEH", "_launchParams", "_flightParams", "_seekerParams", "_stateParams", "_targetData"]; +// _args params ["_firedEH", "_launchParams", "_flightParams", "_seekerParams", "_stateParams", "_targetData", "_navigationStateData"]; // _firedEH params ["_shooter","","","","_ammo","","_projectile"]; // _launchParams params ["_shooter","_targetLaunchParams","_seekerType","_attackProfile","_lockMode","_laserInfo","_navigationType"]; // _targetLaunchParams params ["_target", "_targetPos", "_launchPos", "_launchDir", "_launchTime"]; diff --git a/addons/missileguidance/script_component.hpp b/addons/missileguidance/script_component.hpp index a54c93086bd..a4a4f51906f 100644 --- a/addons/missileguidance/script_component.hpp +++ b/addons/missileguidance/script_component.hpp @@ -3,7 +3,7 @@ #include "\z\ace\addons\main\script_mod.hpp" #define DRAW_GUIDANCE_INFO - #define ENABLE_PROJECTILE_CAMERA +// #define ENABLE_PROJECTILE_CAMERA #define DEBUG_MODE_FULL #define DISABLE_COMPILE_CACHE // #define ENABLE_PERFORMANCE_COUNTERS From 8318b6098228b82dd3d177db76569966b205d56f Mon Sep 17 00:00:00 2001 From: Brandon Danyluk Date: Thu, 15 Apr 2021 22:29:02 -0600 Subject: [PATCH 050/254] Improve radar simulation --- addons/aim120/CfgAmmo.hpp | 8 +- addons/hellfire/CfgAmmo.hpp | 4 +- addons/missileguidance/ACE_GuidanceConfig.hpp | 14 +- addons/missileguidance/XEH_PREP.hpp | 8 +- .../functions/fnc_doppler_onFired.sqf | 76 +++++++++ ...nc_ahr_onFired.sqf => fnc_mwr_onFired.sqf} | 4 +- .../functions/fnc_seekerType_Doppler.sqf | 160 ++++++++++++++++++ ...kerType_ARH.sqf => fnc_seekerType_MWR.sqf} | 12 +- .../functions/fnc_shouldFilterRadarHit.sqf | 141 +++++++++++++++ 9 files changed, 410 insertions(+), 17 deletions(-) create mode 100644 addons/missileguidance/functions/fnc_doppler_onFired.sqf rename addons/missileguidance/functions/{fnc_ahr_onFired.sqf => fnc_mwr_onFired.sqf} (95%) create mode 100644 addons/missileguidance/functions/fnc_seekerType_Doppler.sqf rename addons/missileguidance/functions/{fnc_seekerType_ARH.sqf => fnc_seekerType_MWR.sqf} (94%) create mode 100644 addons/missileguidance/functions/fnc_shouldFilterRadarHit.sqf diff --git a/addons/aim120/CfgAmmo.hpp b/addons/aim120/CfgAmmo.hpp index a7c1a009598..48dfefdfb6b 100644 --- a/addons/aim120/CfgAmmo.hpp +++ b/addons/aim120/CfgAmmo.hpp @@ -15,8 +15,8 @@ class CfgAmmo { canVanillaLock = 1; // Can this default vanilla lock? Only applicable to non-cadet mode // Guidance type for munitions - defaultSeekerType = "ARH"; - seekerTypes[] = { "ARH" }; + defaultSeekerType = "DopplerRadar"; + seekerTypes[] = { "DopplerRadar" }; lockableTypes[] = {"Air"}; defaultSeekerLockMode = "LOAL"; @@ -55,8 +55,8 @@ class CfgAmmo { canVanillaLock = 1; // Can this default vanilla lock? Only applicable to non-cadet mode // Guidance type for munitions - defaultSeekerType = "ARH"; - seekerTypes[] = { "ARH" }; + defaultSeekerType = "DopplerRadar"; + seekerTypes[] = { "DopplerRadar" }; lockableTypes[] = {"Air"}; defaultSeekerLockMode = "LOAL"; diff --git a/addons/hellfire/CfgAmmo.hpp b/addons/hellfire/CfgAmmo.hpp index 98c835104a8..afb6b991750 100644 --- a/addons/hellfire/CfgAmmo.hpp +++ b/addons/hellfire/CfgAmmo.hpp @@ -76,8 +76,8 @@ class CfgAmmo { canVanillaLock = 1; enabled = 1; // Missile Guidance must be explicitly enabled seekLastTargetPos = 0; - defaultSeekerType = "ARH"; - seekerTypes[] = { "ARH" }; + defaultSeekerType = "MillimeterWaveRadar"; + seekerTypes[] = { "MillimeterWaveRadar" }; defaultSeekerLockMode = "LOBL"; seekerLockModes[] = { "LOBL" }; diff --git a/addons/missileguidance/ACE_GuidanceConfig.hpp b/addons/missileguidance/ACE_GuidanceConfig.hpp index f05c5527b05..0960e7fab20 100644 --- a/addons/missileguidance/ACE_GuidanceConfig.hpp +++ b/addons/missileguidance/ACE_GuidanceConfig.hpp @@ -80,13 +80,21 @@ class GVAR(SeekerTypes) { functionName = QFUNC(seekerType_SACLOS); onFired = QFUNC(SACLOS_onFired); }; - class ARH { + class MillimeterWaveRadar { name = ""; visualName = ""; description = ""; - functionName = QFUNC(seekerType_ARH); - onFired = QFUNC(ahr_onFired); + functionName = QFUNC(seekerType_MWR); + onFired = QFUNC(mwr_onFired); + }; + class DopplerRadar { + name = ""; + visualName = ""; + description = ""; + + functionName = QFUNC(seekerType_Doppler); + onFired = QFUNC(doppler_onFired); }; class IR { name = ""; diff --git a/addons/missileguidance/XEH_PREP.hpp b/addons/missileguidance/XEH_PREP.hpp index ca0948e1fd3..8206cf49f75 100644 --- a/addons/missileguidance/XEH_PREP.hpp +++ b/addons/missileguidance/XEH_PREP.hpp @@ -16,6 +16,8 @@ PREP(doSeekerSearch); PREP(doHandoff); PREP(handleHandoff); +PREP(shouldFilterRadarHit); + // Attack Profiles PREP(attackProfile_AIR); PREP(attackProfile_DIR); @@ -38,7 +40,8 @@ PREP(navigationType_lineOfSight); PREP(seekerType_SALH); PREP(seekerType_Optic); PREP(seekerType_SACLOS); -PREP(seekerType_ARH); +PREP(seekerType_Doppler); +PREP(seekerType_MWR); PREP(seekerType_IR); // Attack Profiles OnFired @@ -46,7 +49,8 @@ PREP(wire_onFired); // Seeker OnFired PREP(SACLOS_onFired); -PREP(ahr_onFired); +PREP(doppler_onFired); +PREP(mwr_onFired); PREP(IR_onFired); // Navigation OnFired diff --git a/addons/missileguidance/functions/fnc_doppler_onFired.sqf b/addons/missileguidance/functions/fnc_doppler_onFired.sqf new file mode 100644 index 00000000000..e50b66e3f3e --- /dev/null +++ b/addons/missileguidance/functions/fnc_doppler_onFired.sqf @@ -0,0 +1,76 @@ +#include "script_component.hpp" +/* + * Author: Brandon (TCVM) + * Sets up doppler radar state arrays (called from missileGuidance's onFired). + * + * Arguments: + * Guidance Arg Array + * + * Return Value: + * None + * + * Example: + * [] call ace_missileguidance_fnc_mwr_onFired + * + * Public: No + */ +params ["_firedEH", "_launchParams", "", "", "_stateParams"]; +_firedEH params ["_shooter","","","","","","_projectile"]; +_stateParams params ["", "_seekerStateParams"]; +_launchParams params ["","_targetLaunchParams"]; +_targetLaunchParams params ["_target"]; + +_target = missileTarget _projectile; +if (isNull _target && isVehicleRadarOn vehicle _shooter) then { + _target = cursorTarget; +}; +if !(_target isKindOf "AllVehicles") then { + _target = nil; +}; +_launchParams set [0, _target]; +_projectile setMissileTarget objNull; // to emulate a no launch warning + +private _projectileConfig = configOf _projectile; +private _config = _projectileConfig >> "ace_missileguidance"; + +private _isActive = false; +private _activeRadarDistance = [_config >> "activeRadarEngageDistance", "NUMBER", 500] call CBA_fnc_getConfigEntry; +private _projectileThrust = [_projectileConfig >> "thrust", "NUMBER", 0] call CBA_fnc_getConfigEntry; +private _projectileThrustTime = [_projectileConfig >> "thrustTime", "NUMBER", 0] call CBA_fnc_getConfigEntry; + +private _lockTypes = [_config >> "lockableTypes", "ARRAY", ["Air", "LandVehicle", "Ship"]] call CBA_fnc_getConfigEntry; + +private _velocityAtImpact = _projectileThrust * _projectileThrustTime; +private _timeToActive = 0; +if (!isNil "_target" && _velocityAtImpact > 0) then { + private _distanceUntilActive = (((getPosASL _shooter) vectorDistance (getPosASL _target)) - _activeRadarDistance); + _timeToActive = 0 max (_distanceUntilActive / _velocityAtImpact); +}; + +if (isNil "_target") then { + _timeToActive = 0; + _isActive = true; + _target = objNull; +}; + +private _shooterHasActiveRadar = { + if ("ActiveRadarSensorComponent" in _x) exitWith { true }; + false +} forEach listVehicleSensors vehicle _shooter; + +if !(isVehicleRadarOn vehicle _shooter) then { + _isActive = true; +}; + +_seekerStateParams set [0, _isActive]; +_seekerStateParams set [1, _activeRadarDistance]; +_seekerStateParams set [2, CBA_missionTime + _timeToActive]; +_seekerStateParams set [3, getPosASL _target]; +_seekerStateParams set [4, CBA_missionTime]; +_seekerStateParams set [5, _shooterHasActiveRadar]; +_seekerStateParams set [6, false]; +_seekerStateParams set [7, [0, 0, 0]]; +_seekerStateParams set [8, CBA_missionTime]; +_seekerStateParams set [9, isNull _target]; +_seekerStateParams set [10, _lockTypes]; + diff --git a/addons/missileguidance/functions/fnc_ahr_onFired.sqf b/addons/missileguidance/functions/fnc_mwr_onFired.sqf similarity index 95% rename from addons/missileguidance/functions/fnc_ahr_onFired.sqf rename to addons/missileguidance/functions/fnc_mwr_onFired.sqf index 3b0183d70f4..d9d11d9814f 100644 --- a/addons/missileguidance/functions/fnc_ahr_onFired.sqf +++ b/addons/missileguidance/functions/fnc_mwr_onFired.sqf @@ -1,7 +1,7 @@ #include "script_component.hpp" /* * Author: Brandon (TCVM) - * Sets up Active Radar state arrays (called from missileGuidance's onFired). + * Sets up MWR state arrays (called from missileGuidance's onFired). * * Arguments: * Guidance Arg Array @@ -10,7 +10,7 @@ * None * * Example: - * [] call ace_missileguidance_fnc_ahr_onFired + * [] call ace_missileguidance_fnc_mwr_onFired * * Public: No */ diff --git a/addons/missileguidance/functions/fnc_seekerType_Doppler.sqf b/addons/missileguidance/functions/fnc_seekerType_Doppler.sqf new file mode 100644 index 00000000000..b70bfe38af1 --- /dev/null +++ b/addons/missileguidance/functions/fnc_seekerType_Doppler.sqf @@ -0,0 +1,160 @@ +#include "script_component.hpp" +/* + * Author: Brandon (TCVM) + * doppler radar seeker + * + * Arguments: + * 1: Guidance Arg Array + * 2: Seeker State + * + * Return Value: + * Seeker Pos + * + * Example: + * [] call call ace_missileguidance_fnc_seekerType_MWR; + * + * Public: No + */ +params ["", "_args", "_seekerStateParams", "", "_timestep"]; +_args params ["_firedEH", "_launchParams", "", "_seekerParams", "_stateParams", "_targetData"]; +_firedEH params ["_shooter","","","","","","_projectile"]; +_launchParams params ["_target","","","",""]; +_seekerParams params ["_seekerAngle", "", "_seekerMaxRange"]; +_seekerStateParams params ["_isActive", "_activeRadarEngageDistance", "_timeWhenActive", "_expectedTargetPos", "_lastTargetPollTime", "_shooterHasRadar", "_wasActive", "_lastKnownVelocity", "_lastTimeSeen", "_doesntHaveTarget", "_lockTypes"]; + +private _minimumFilterSpeed = 25; +private _minimumFilterTime = 1e-4; +private _maxTerrainCheck = 16000; + +if (_isActive || { CBA_missionTime >= _timeWhenActive }) then { + if !(_isActive) then { + _seekerStateParams set [0, true]; + }; + if !(_wasActive) then { + _seekerStateParams set [6, true]; + TRACE_1("Missile Pitbull",_seekerStateParams); + }; + + // Internal radar homing + // For performance reasons only poll for target every so often instead of each frame + if ((_lastTargetPollTime + ACTIVE_RADAR_POLL_FREQUENCY) - CBA_missionTime < 0) then { + private _searchPos = _expectedTargetPos; + if (_searchPos isEqualTo [0, 0, 0] || { _doesntHaveTarget }) then { + _seekerStateParams set [9, true]; + // no target pos - shot without lock. Have the missile's radar search infront of it on the ground + _searchPos = (getPosASL _projectile) vectorAdd (_projectile vectorModelToWorld [0, _seekerMaxRange, -((getPos _projectile)#2)]); + }; + + _target = objNull; + _lastTargetPollTime = CBA_missionTime; + _seekerStateParams set [4, _lastTargetPollTime]; + private _distanceToExpectedTarget = _seekerMaxRange min ((getPosASL _projectile) vectorDistance _searchPos); + + // Simulate how much the seeker can see at the ground + private _projDir = vectorDir _projectile; + private _projYaw = getDir _projectile; + private _rotatedYaw = (+(_projDir select 0) * sin _projYaw) + (+(_projDir select 1) * cos _projYaw); + if (_rotatedYaw isEqualTo 0) then { _rotatedYaw = 0.001 }; + private _projPitch = atan ((_projDir select 2) / _rotatedYaw); + private _a1 = abs _projPitch; + private _a2 = 180 - ((_seekerAngle / 2) + _a1); + private _seekerBaseRadiusAtGround = ACTIVE_RADAR_MINIMUM_SCAN_AREA max (_distanceToExpectedTarget / sin(_a2) * sin(_seekerAngle / 2)); + + private _lastKnownSpeed = if (_lastKnownVelocity isEqualTo [0, 0, 0]) then { + 0 + } else { + vectorMagnitude _lastKnownVelocity; + }; + private _seekerBaseRadiusAdjusted = linearConversion [0, _seekerBaseRadiusAtGround, (CBA_missionTime - _lastTimeSeen) * vectorMagnitude _lastKnownVelocity, ACTIVE_RADAR_MINIMUM_SCAN_AREA, _seekerBaseRadiusAtGround, false]; + if (_doesntHaveTarget) then { + _seekerBaseRadiusAdjusted = _seekerBaseRadiusAtGround; + }; + // Look in front of seeker for any targets + private _nearestObjects = nearestObjects [ASLtoAGL _searchPos, _lockTypes, _seekerBaseRadiusAdjusted, false]; + _nearestObjects = _nearestObjects apply { + // I check both Line of Sight versions to make sure that a single bush doesnt make the target lock dissapear but at the same time ensure that this can see through smoke. Should work 80% of the time + if ([_projectile, getPosASL _x, _seekerAngle] call FUNC(checkSeekerAngle) && { ([_projectile, _x, true] call FUNC(checkLOS)) || { ([_projectile, _x, false] call FUNC(checkLOS)) } }) then { + + if !([_x, _projectile, _minimumFilterSpeed, _minimumFilterTime, _maxTerrainCheck, _seekerAngle] call FUNC(shouldFilterRadarHit)) exitWith { + _x + }; + objNull; + } else { + objNull + }; + }; + _nearestObjects = _nearestObjects select { !isNull _x }; + // Select closest object to the expected position to be the current radar target + if ((count _nearestObjects) <= 0) exitWith { + _projectile setMissileTarget objNull; + _seekerStateParams set [3, _searchPos]; + _searchPos + }; + private _closestDistance = _seekerBaseRadiusAtGround; + { + if ((_x distance2d _searchPos) < _closestDistance) then { + _closestDistance = _x distance2d _searchPos; + _target = _x; + }; + } forEach _nearestObjects; + + _expectedTargetPos = _searchPos; + }; +} else { + #ifdef DRAW_GUIDANCE_INFO + _seekerTypeName = "DOPPLER - EXT"; + #endif + // External radar homing + // if the target is in the remote targets for the side, whoever the donor is will "datalink" the target for the hellfire. + private _remoteTargets = listRemoteTargets side _shooter; + if ((_remoteTargets findIf { (_target in _x) && (_x#1 > 0) }) < 0) then { + // I check both Line of Sight versions to make sure that a single bush doesnt make the target lock dissapear but at the same time ensure that this can see through smoke. Should work 80% of the time + if (!_shooterHasRadar || { !isVehicleRadarOn vehicle _shooter } || { !alive vehicle _shooter } || { !([vehicle _shooter, _target, true] call FUNC(checkLOS)) && { !([vehicle _shooter, _target, false] call FUNC(checkLOS)) } }) then { + _seekerStateParams set [0, true]; + _target = objNull; // set up state for active guidance + }; + }; +}; + +#ifdef DRAW_GUIDANCE_INFO +drawIcon3D ["\a3\ui_f\data\IGUI\Cfg\Cursors\selectover_ca.paa", [1,0,0,1], ASLtoAGL _expectedTargetPos, 0.75, 0.75, 0, "expected target pos", 1, 0.025, "TahomaB"]; +#endif + +if !(isNull _target) then { + // we check if the target is moving away from us or perpendicular to see if we maintain lock + private _centerOfObject = getCenterOfMass _target; + private _targetAdjustedPos = _target modelToWorldVisualWorld _centerOfObject; + _expectedTargetPos = _targetAdjustedPos; + + private _filterTarget = [_target, _projectile, _minimumFilterSpeed, _minimumFilterTime, _maxTerrainCheck, _seekerAngle] call FUNC(shouldFilterRadarHit); + if (_filterTarget) then { + // filter out target + _target = objNull; + _seekerStateParams set [9, true]; + } else { + private _lineOfSight = vectorDirVisual _projectile; + private _realTargetVelocity = velocity _target; + private _projectedTargetVelocity = _lineOfSight vectorMultiply (_realTargetVelocity vectorDotProduct _lineOfSight); + private _relativeTargetVelocity = _realTargetVelocity vectorDiff _projectedTargetVelocity; + + _seekerStateParams set [7, _relativeTargetVelocity]; + _seekerStateParams set [8, CBA_missionTime]; + _seekerStateParams set [9, false]; + + _targetData set [2, _projectile distance _target]; + _targetData set [3, _relativeTargetVelocity]; + + if (_timestep != 0) then { + private _acceleration = (_relativeTargetVelocity vectorDiff _lastKnownVelocity) vectorMultiply (1 / _timestep); + _targetData set [4, _acceleration]; + }; + }; + _projectile setMissileTarget _target; +}; + +_targetData set [0, (getPosASLVisual _projectile) vectorFromTo _expectedTargetPos]; + +_seekerStateParams set [3, _expectedTargetPos]; +_launchParams set [0, _target]; +_expectedTargetPos + diff --git a/addons/missileguidance/functions/fnc_seekerType_ARH.sqf b/addons/missileguidance/functions/fnc_seekerType_MWR.sqf similarity index 94% rename from addons/missileguidance/functions/fnc_seekerType_ARH.sqf rename to addons/missileguidance/functions/fnc_seekerType_MWR.sqf index 42fa70680f8..90047b2e469 100644 --- a/addons/missileguidance/functions/fnc_seekerType_ARH.sqf +++ b/addons/missileguidance/functions/fnc_seekerType_MWR.sqf @@ -1,7 +1,7 @@ #include "script_component.hpp" /* * Author: Brandon (TCVM) - * Active Radar Homing seeker + * millimeter wave radar seeker * * Arguments: * 1: Guidance Arg Array @@ -11,11 +11,11 @@ * Seeker Pos * * Example: - * [] call call ace_missileguidance_fnc_seekerType_ARH; + * [] call call ace_missileguidance_fnc_seekerType_MWR; * * Public: No */ -params ["", "_args", "_seekerStateParams"]; +params ["", "_args", "_seekerStateParams", "", "_timestep"]; _args params ["_firedEH", "_launchParams", "", "_seekerParams", "_stateParams", "_targetData"]; _firedEH params ["_shooter","","","","","","_projectile"]; _launchParams params ["_target","","","",""]; @@ -119,7 +119,11 @@ if !(isNull _target) then { _targetData set [2, _projectile distance _target]; _targetData set [3, velocity _target]; - _targetData set [4, [0, 0, 0]]; // todo: acceleration + + if (_timestep != 0) then { + private _acceleration = ((velocity _target) vectorDiff _lastKnownVelocity) vectorMultiply (1 / _timestep); + _targetData set [4, _acceleration]; + }; }; _targetData set [0, (getPosASLVisual _projectile) vectorFromTo _expectedTargetPos]; diff --git a/addons/missileguidance/functions/fnc_shouldFilterRadarHit.sqf b/addons/missileguidance/functions/fnc_shouldFilterRadarHit.sqf new file mode 100644 index 00000000000..bf3115aaaa3 --- /dev/null +++ b/addons/missileguidance/functions/fnc_shouldFilterRadarHit.sqf @@ -0,0 +1,141 @@ +#include "script_component.hpp" +/* + * Author: Brandon (TCVM) + * Whether or not we should filter out this target due to masking. Useful for only doppler radar types + * + * Arguments: + * 0: Target + * 1: Projectile + * 2: Minimum speed for doppler return to filter out + * 3: Minimum time for doppler return to filter out + * 4: Maximum distance to check for terrain + * 5: Radar seeker angle + * + * Return Value: + * Whether or not to filter out this target + * + * Example: + * [] call call ace_missileguidance_fnc_shouldFilterRadarHit; + * + * Public: Yes + */ +// as defined by lineIntersectsSurfaces +#define MAX_LINE_DISTANCE 5000 + +params ["_target", "_projectile", "_minimumSpeed", "_minimumTime", "_maximumTerrainCheck", "_seekerAngle"]; +TRACE_5("should filter target",_projectile,_target,_minimumSpeed,_minimumTime,_maximumTerrainCheck); +// Theory developed from doppler radar visuals at https://www.mudspike.com/dcs-f-15c-combat-guide-for-beginners/ + +// helicopter blades will always produce a doppler shift due to their nature. Don't filter +if (_target isKindOf "Helicopter" && isEngineOn _target) exitWith { + TRACE_2("dont filter helicopters",_target isKindOf "Helicopter",isEngineOn _target); + false +}; + +private _lineOfSight = (getPosASLVisual _projectile) vectorFromTo (getPosASLVisual _target); +private _realTargetVelocity = velocity _target; +private _closingVelocity = _lineOfSight vectorMultiply (_realTargetVelocity vectorDotProduct _lineOfSight); +private _closingSpeed = vectorMagnitude _closingVelocity; + +// if relative target velocity is greather than threshold, we can easily see it. Don't filter +if (_closingSpeed > _minimumSpeed) exitWith { + TRACE_2("dont filter fast objects approaching",_closingSpeed,_minimumSpeed); + false +}; + +private _projectilePos = getPosASLVisual _projectile; + +private _stepDistance = _lineOfSight vectorMultiply (MAX_LINE_DISTANCE min _maximumTerrainCheck); + +private _checkPos = _projectilePos; +private _maskedByGround = false; + +// Check for all surfaces until we reach our max range +for "_i" from 0 to _maximumTerrainCheck step MAX_LINE_DISTANCE do { + // determine if target is masked by ground + private _endPos = _checkPos vectorAdd _stepDistance; + private _groundHit = lineIntersectsSurfaces [_checkPos, _endPos, _projectile, _target]; + + _maskedByGround = _groundHit isNotEqualTo []; + + _checkPos = _endPos; + + if (_maskedByGround || (_checkPos select 2) <= 0) then { + // for ease assume that we can't check underwater + if ((_checkPos select 2) < 0) then { + _checkPos set [2, 0]; + }; + break + }; +}; + +// looking at sky, target is clear as day. Check for chaff before filtering +if !(_maskedByGround) exitWith { + TRACE_1("dont filter stuff in the sky",_maskedByGround); + + // If there is chaff nearby, check if they will confuse missile + private _nearby = _target nearObjects 50; + _nearby = _nearby select { + // 8 = radar blocking + private _blocking = configOf _x >> "weaponLockSystem"; + private _isChaff = false; + if (isNumber _blocking) then { + _isChaff = (8 == getNumber _blocking); + }; + + if (isText _blocking) then { + _isChaff = ("8" in getText _blocking); + }; + + private _withinView = [_projectile, getPosASLVisual _x, _seekerAngle] call FUNC(checkSeekerAngle); + private _canSee = [_projectile, _x, false] call FUNC(checkLos); + + { (_withinView && _canSee && _isChaff) } + }; + + private _foundDecoy = false; + private _projectileVelocity = velocity _projectile; + { + private _considering = false; + + private _distanceToFlare = _target distanceSqr _x; + if !(_foundDecoy) then { + private _chaffRelativeVelocity = (velocity _x) vectorDiff _projectileVelocity; + private _angleBetweenVelocities = acos (_closingVelocity vectorCos _chaffRelativeVelocity); + + if (_angleBetweenVelocities <= 2) then { + _considering = true; + if (0.95 <= random 1) then { + _foundDecoy = true; + }; + }; + }; + + #ifdef DRAW_GUIDANCE_INFO + private _chaffPos = ASLToAGL getPosASLVisual _x; + private _colour = [1, 0, 0, 1]; + if (_considering) then { + _colour = [0, 1, 0, 1]; + }; + if (_foundDecoy) then { + _colour = [0, 0, 1, 1]; + }; + drawIcon3D ["\a3\ui_f\data\IGUI\Cfg\Cursors\selectover_ca.paa", _colour, _chaffPos, 0.75, 0.75, 0, "F", 1, 0.025, "TahomaB"]; + #endif + } forEach _nearby; + + _foundDecoy +}; + +private _distanceToTerrain = _checkPos vectorDistance _projectilePos; +private _checkTime = _distanceToTerrain / 3e8; + +// Time to ground is large enough to know if we are looking at a target, don't filter +if (_checkTime > _minimumTime) exitWith { + TRACE_2("dont filter targets that we can see in ground clutter",_checkTime,_minimumTime); + false +}; + +// filter out the target since we can't reasonably see it +true + From 26dee9f2e1417b75e67219d88868181fb5a49b49 Mon Sep 17 00:00:00 2001 From: Brandon Danyluk Date: Thu, 15 Apr 2021 22:43:41 -0600 Subject: [PATCH 051/254] enable chaff decoy --- .../functions/fnc_shouldFilterRadarHit.sqf | 20 ++++++------------- 1 file changed, 6 insertions(+), 14 deletions(-) diff --git a/addons/missileguidance/functions/fnc_shouldFilterRadarHit.sqf b/addons/missileguidance/functions/fnc_shouldFilterRadarHit.sqf index bf3115aaaa3..0f7b0f95843 100644 --- a/addons/missileguidance/functions/fnc_shouldFilterRadarHit.sqf +++ b/addons/missileguidance/functions/fnc_shouldFilterRadarHit.sqf @@ -90,25 +90,17 @@ if !(_maskedByGround) exitWith { private _withinView = [_projectile, getPosASLVisual _x, _seekerAngle] call FUNC(checkSeekerAngle); private _canSee = [_projectile, _x, false] call FUNC(checkLos); - { (_withinView && _canSee && _isChaff) } + (_withinView && _canSee && _isChaff) }; private _foundDecoy = false; - private _projectileVelocity = velocity _projectile; { private _considering = false; - - private _distanceToFlare = _target distanceSqr _x; if !(_foundDecoy) then { - private _chaffRelativeVelocity = (velocity _x) vectorDiff _projectileVelocity; - private _angleBetweenVelocities = acos (_closingVelocity vectorCos _chaffRelativeVelocity); - - if (_angleBetweenVelocities <= 2) then { - _considering = true; - if (0.95 <= random 1) then { - _foundDecoy = true; - }; - }; + _considering = true; + if (0.95 <= random 1) then { + _foundDecoy = true; + }; }; #ifdef DRAW_GUIDANCE_INFO @@ -120,7 +112,7 @@ if !(_maskedByGround) exitWith { if (_foundDecoy) then { _colour = [0, 0, 1, 1]; }; - drawIcon3D ["\a3\ui_f\data\IGUI\Cfg\Cursors\selectover_ca.paa", _colour, _chaffPos, 0.75, 0.75, 0, "F", 1, 0.025, "TahomaB"]; + drawIcon3D ["\a3\ui_f\data\IGUI\Cfg\Cursors\selectover_ca.paa", _colour, _chaffPos, 0.75, 0.75, 0, "C", 1, 0.025, "TahomaB"]; #endif } forEach _nearby; From 0848d74aebdf8cb5cc5fab43c8fc9c60e2c5c3db Mon Sep 17 00:00:00 2001 From: Brandon Danyluk Date: Thu, 15 Apr 2021 22:51:03 -0600 Subject: [PATCH 052/254] add config entries --- addons/aim120/CfgAmmo.hpp | 16 ++++++++++++---- addons/aim9/CfgAmmo.hpp | 4 ++-- .../functions/fnc_doppler_onFired.sqf | 7 +++++++ .../functions/fnc_seekerType_Doppler.sqf | 6 +----- 4 files changed, 22 insertions(+), 11 deletions(-) diff --git a/addons/aim120/CfgAmmo.hpp b/addons/aim120/CfgAmmo.hpp index 48dfefdfb6b..2509e3bd5a2 100644 --- a/addons/aim120/CfgAmmo.hpp +++ b/addons/aim120/CfgAmmo.hpp @@ -9,8 +9,8 @@ class CfgAmmo { class ace_missileguidance { enabled = 1; - pitchRate = 60; // Minium flap deflection for guidance - yawRate = 60; // Maximum flap deflection for guidance + pitchRate = 40; // Minium flap deflection for guidance + yawRate = 40; // Maximum flap deflection for guidance canVanillaLock = 1; // Can this default vanilla lock? Only applicable to non-cadet mode @@ -19,6 +19,10 @@ class CfgAmmo { seekerTypes[] = { "DopplerRadar" }; lockableTypes[] = {"Air"}; + minimumSpeedFilter = 25; // filter out targets that have a closing velocity less than this + minimumTimeFilter = 0.0001; // filter out targets that are this close to the ground (speed of light) + maxTerrainCheck = 16000; // How far we should check for terrain + defaultSeekerLockMode = "LOAL"; seekerLockModes[] = { "LOAL", "LOBL" }; @@ -49,8 +53,8 @@ class CfgAmmo { class ace_missileguidance { enabled = 1; - pitchRate = 80; // Minium flap deflection for guidance - yawRate = 80; // Maximum flap deflection for guidance + pitchRate = 50; // Minium flap deflection for guidance + yawRate = 50; // Maximum flap deflection for guidance canVanillaLock = 1; // Can this default vanilla lock? Only applicable to non-cadet mode @@ -59,6 +63,10 @@ class CfgAmmo { seekerTypes[] = { "DopplerRadar" }; lockableTypes[] = {"Air"}; + minimumSpeedFilter = 15; // filter out targets that have a closing velocity less than this + minimumTimeFilter = 0.00005; // filter out targets that are this close to the ground (speed of light) + maxTerrainCheck = 16000; // How far we should check for terrain + defaultSeekerLockMode = "LOAL"; seekerLockModes[] = { "LOAL", "LOBL" }; diff --git a/addons/aim9/CfgAmmo.hpp b/addons/aim9/CfgAmmo.hpp index 1fdbc683b7b..38785d736fc 100644 --- a/addons/aim9/CfgAmmo.hpp +++ b/addons/aim9/CfgAmmo.hpp @@ -46,8 +46,8 @@ class CfgAmmo { class ace_missileguidance { enabled = 1; - pitchRate = 90; // Minium flap deflection for guidance - yawRate = 90; // Maximum flap deflection for guidance + pitchRate = 65; // Minium flap deflection for guidance + yawRate = 65; // Maximum flap deflection for guidance canVanillaLock = 1; // Can this default vanilla lock? Only applicable to non-cadet mode diff --git a/addons/missileguidance/functions/fnc_doppler_onFired.sqf b/addons/missileguidance/functions/fnc_doppler_onFired.sqf index e50b66e3f3e..915166a25ea 100644 --- a/addons/missileguidance/functions/fnc_doppler_onFired.sqf +++ b/addons/missileguidance/functions/fnc_doppler_onFired.sqf @@ -40,6 +40,10 @@ private _projectileThrustTime = [_projectileConfig >> "thrustTime", "NUMBER", 0] private _lockTypes = [_config >> "lockableTypes", "ARRAY", ["Air", "LandVehicle", "Ship"]] call CBA_fnc_getConfigEntry; +private _minimumFilterSpeed = [_config >> "minimumSpeedFilter", "NUMBER", 30] call CBA_fnc_getConfigEntry; +private _minimumFilterTime = [_config >> "minimumTimeFilter", "NUMBER", 1e-4] call CBA_fnc_getConfigEntry; +private _maxTerrainCheck = [_config >> "maxTerrainCheck", "NUMBER", 16000] call CBA_fnc_getConfigEntry; + private _velocityAtImpact = _projectileThrust * _projectileThrustTime; private _timeToActive = 0; if (!isNil "_target" && _velocityAtImpact > 0) then { @@ -73,4 +77,7 @@ _seekerStateParams set [7, [0, 0, 0]]; _seekerStateParams set [8, CBA_missionTime]; _seekerStateParams set [9, isNull _target]; _seekerStateParams set [10, _lockTypes]; +_seekerStateParams set [11, _minimumFilterSpeed]; +_seekerStateParams set [12, _minimumFilterTime]; +_seekerStateParams set [13, _maxTerrainCheck]; diff --git a/addons/missileguidance/functions/fnc_seekerType_Doppler.sqf b/addons/missileguidance/functions/fnc_seekerType_Doppler.sqf index b70bfe38af1..6709a574b9b 100644 --- a/addons/missileguidance/functions/fnc_seekerType_Doppler.sqf +++ b/addons/missileguidance/functions/fnc_seekerType_Doppler.sqf @@ -20,11 +20,7 @@ _args params ["_firedEH", "_launchParams", "", "_seekerParams", "_stateParams", _firedEH params ["_shooter","","","","","","_projectile"]; _launchParams params ["_target","","","",""]; _seekerParams params ["_seekerAngle", "", "_seekerMaxRange"]; -_seekerStateParams params ["_isActive", "_activeRadarEngageDistance", "_timeWhenActive", "_expectedTargetPos", "_lastTargetPollTime", "_shooterHasRadar", "_wasActive", "_lastKnownVelocity", "_lastTimeSeen", "_doesntHaveTarget", "_lockTypes"]; - -private _minimumFilterSpeed = 25; -private _minimumFilterTime = 1e-4; -private _maxTerrainCheck = 16000; +_seekerStateParams params ["_isActive", "_activeRadarEngageDistance", "_timeWhenActive", "_expectedTargetPos", "_lastTargetPollTime", "_shooterHasRadar", "_wasActive", "_lastKnownVelocity", "_lastTimeSeen", "_doesntHaveTarget", "_lockTypes", "_minimumFilterSpeed", "_minimumFilterTime", "_maxTerrainCheck"]; if (_isActive || { CBA_missionTime >= _timeWhenActive }) then { if !(_isActive) then { From abc5babb50a3f42ebfdbb6a56c7b82c47fba2de6 Mon Sep 17 00:00:00 2001 From: Brandon Danyluk Date: Fri, 16 Apr 2021 00:33:38 -0600 Subject: [PATCH 053/254] Implement optical mavericks --- addons/maverick/CfgAmmo.hpp | 39 +++++++++++ addons/maverick/CfgMagazines.hpp | 64 +++++++++++++++++++ addons/maverick/CfgWeapons.hpp | 16 +++++ .../missileguidance/functions/fnc_onFired.sqf | 2 +- .../functions/fnc_seekerType_Optic.sqf | 1 - 5 files changed, 120 insertions(+), 2 deletions(-) diff --git a/addons/maverick/CfgAmmo.hpp b/addons/maverick/CfgAmmo.hpp index 89b3173ff6c..6cfd476b69b 100644 --- a/addons/maverick/CfgAmmo.hpp +++ b/addons/maverick/CfgAmmo.hpp @@ -5,6 +5,45 @@ class CfgAmmo { }; class Missile_AGM_02_F : MissileBase {}; + class GVAR(D): Missile_AGM_02_F { + author = "Brandon (TCVM)"; + missileLockMaxDistance = 14000; + maneuvrability = 0; + class ace_missileguidance { + enabled = 1; + + pitchRate = 10; + yawRate = 10; + + canVanillaLock = 1; + + defaultSeekerType = "Optic"; + seekerTypes[] = {"Optic"}; + + defaultSeekerLockMode = "LOBL"; + seekerLockModes[] = {"LOBL"}; + + defaultNavigationType = "AugmentedProportionalNavigation"; + navigationTypes[] = { "AugmentedProportionalNavigation" }; + + seekLastTargetPos = 1; + seekerAngle = 60; + seekerAccuracy = 1; + + seekerMinRange = 1; + seekerMaxRange = 14000; + + defaultAttackProfile = "maverick"; + attackProfiles[] = {"maverick"}; + }; + }; + + class GVAR(G): GVAR(D) { + class ace_missileguidance: ace_missileguidance { + enabled = 1; + }; + }; + class GVAR(L) : Missile_AGM_02_F { author = "xrufix"; autoSeekTarget = 0; diff --git a/addons/maverick/CfgMagazines.hpp b/addons/maverick/CfgMagazines.hpp index 3254f605c0a..975be11d7a2 100644 --- a/addons/maverick/CfgMagazines.hpp +++ b/addons/maverick/CfgMagazines.hpp @@ -13,6 +13,70 @@ class CfgMagazines { class PylonRack_Missile_AGM_02_x1 : magazine_Missile_AGM_02_x1 {}; class PylonRack_Missile_AGM_02_x2 : magazine_Missile_AGM_02_x1 {}; + // Optical Mavericks + class GVAR(D_magazine): 6Rnd_Missile_AGM_02_F { + ammo = QGVAR(D); + author = "Brandon (TCVM)"; + displayName = "AGM-65D [ACE]"; + }; + class GVAR(D_pylonRack_1Rnd): PylonRack_1Rnd_Missile_AGM_02_F { + ammo = QGVAR(D); + author = "Brandon (TCVM)"; + displayName = "1x AGM-65D [ACE]"; + pylonWeapon = QGVAR(D_Launcher); + }; + class GVAR(D_pylonRack_3Rnd): PylonRack_3Rnd_Missile_AGM_02_F { + ammo = QGVAR(D); + author = "Brandon (TCVM)"; + displayName = "3x AGM-65D [ACE]"; + pylonWeapon = QGVAR(D_Launcher); + }; + + class GVAR(G_magazine_x1) : magazine_Missile_AGM_02_x1 { + ammo = QGVAR(G); + author = "Brandon (TCVM)"; + displayName = "AGM-65G [ACE]"; + }; + class GVAR(G_pylonmissile_x1) : PylonMissile_Missile_AGM_02_x1 { + ammo = QGVAR(G); + author = "Brandon (TCVM)"; + displayName = "1x AGM-65G [ACE]"; + pylonWeapon = QGVAR(G_Launcher); + }; + class GVAR(G_pylonmissile_x2) : PylonMissile_Missile_AGM_02_x2 { + ammo = QGVAR(G); + author = "Brandon (TCVM)"; + displayName = "2x AGM-65G [ACE]"; + pylonWeapon = QGVAR(G_Launcher); + }; + + class GVAR(G_pylonRack_1Rnd) : PylonRack_1Rnd_Missile_AGM_02_F { + ammo = QGVAR(G); + author = "Brandon (TCVM)"; + displayName = "1x AGM-65G [ACE]"; + pylonWeapon = QGVAR(G_Launcher); + }; + class GVAR(G_PylonRack_3Rnd) : PylonRack_3Rnd_Missile_AGM_02_F { + ammo = QGVAR(G); + author = "Brandon (TCVM)"; + displayName = "3x AGM-65G [ACE]"; + pylonWeapon = QGVAR(G_Launcher); + }; + + class GVAR(G_PylonRack_x1) : PylonRack_Missile_AGM_02_x1 { + ammo = QGVAR(G); + author = "Brandon (TCVM)"; + displayName = "1x AGM-65G [ACE]"; + pylonWeapon = QGVAR(G_Launcher); + }; + class GVAR(G_PylonRack_x2) : PylonRack_Missile_AGM_02_x2 { + ammo = QGVAR(G); + author = "Brandon (TCVM)"; + displayName = "2x AGM-65G [ACE]"; + pylonWeapon = QGVAR(G_Launcher); + }; + + // Laser Mavericks class GVAR(L_magazine_x1) : magazine_Missile_AGM_02_x1 { ammo = QGVAR(L); author = "xrufix"; diff --git a/addons/maverick/CfgWeapons.hpp b/addons/maverick/CfgWeapons.hpp index c3157f34dd2..a51b0242145 100644 --- a/addons/maverick/CfgWeapons.hpp +++ b/addons/maverick/CfgWeapons.hpp @@ -6,6 +6,22 @@ class CfgWeapons { class MissileLauncher : LauncherCore {}; class Missile_AGM_02_Plane_CAS_01_F : MissileLauncher {}; + class GVAR(D_Launcher): Missile_AGM_02_Plane_CAS_01_F { + author = "Brandon (TCVM)"; + displayname = "AGM-65D [ACE]"; + magazines[] = {QGVAR(D_magazine), QGVAR(D_pylonRack_1Rnd), QGVAR(D_pylonRack_3Rnd)}; + weaponLockDelay = 0.1; + weaponLockSystem = 2; + }; + + class GVAR(G_Launcher): weapon_AGM_65Launcher { + author = "Brandon (TCVM)"; + displayname = "AGM-65G [ACE]"; + magazines[] = {QGVAR(G_magazine_x1), QGVAR(G_pylonmissile_x1), QGVAR(G_pylonmissile_x2), QGVAR(G_pylonRack_1Rnd), QGVAR(G_PylonRack_3Rnd), QGVAR(G_PylonRack_x1), QGVAR(G_PylonRack_x2)}; + weaponLockDelay = 0.1; + weaponLockSystem = 2; + }; + class GVAR(L_Launcher) : weapon_AGM_65Launcher { author = "xrufix"; displayname = CSTRING(L); diff --git a/addons/missileguidance/functions/fnc_onFired.sqf b/addons/missileguidance/functions/fnc_onFired.sqf index 55630a75a6b..0086dbac199 100644 --- a/addons/missileguidance/functions/fnc_onFired.sqf +++ b/addons/missileguidance/functions/fnc_onFired.sqf @@ -91,7 +91,7 @@ if (isNil "_target") then { }; }; }; - +systemChat str _target; _targetPos = getPosASLVisual _target; // Array for seek last target position diff --git a/addons/missileguidance/functions/fnc_seekerType_Optic.sqf b/addons/missileguidance/functions/fnc_seekerType_Optic.sqf index 33bad1a86de..1507d810a4e 100644 --- a/addons/missileguidance/functions/fnc_seekerType_Optic.sqf +++ b/addons/missileguidance/functions/fnc_seekerType_Optic.sqf @@ -45,7 +45,6 @@ private _distanceToTarget = (getPosASL _projectile) vectorDistance _foundTargetP _targetData set [0, (getPosASL _projectile) vectorFromTo _foundTargetPos]; _targetData set [2, _distanceToTarget]; _targetData set [3, velocity _target]; -_targetData set [4, 0]; TRACE_2("return",_foundTargetPos,(aimPos _target) distance _foundTargetPos); _foundTargetPos; From 1b000d658a3aaafeb3af5ff4b9d299f204332484 Mon Sep 17 00:00:00 2001 From: Brandon Danyluk Date: Fri, 16 Apr 2021 15:43:31 -0600 Subject: [PATCH 054/254] Allow for debug info to be displayed via variable --- addons/missileguidance/XEH_post_init.sqf | 3 +- addons/missileguidance/XEH_pre_init.sqf | 3 ++ .../missileguidance/dev/projectileCamera.sqf | 6 ++-- .../functions/fnc_doAttackProfile.sqf | 8 +++--- .../functions/fnc_doSeekerSearch.sqf | 12 ++++---- .../functions/fnc_guidancePFH.sqf | 28 +++++++++---------- .../fnc_navigationType_augmentedProNav.sqf | 2 +- .../functions/fnc_navigationType_proNav.sqf | 2 +- .../missileguidance/functions/fnc_onFired.sqf | 6 ++-- .../functions/fnc_seekerType_Doppler.sqf | 12 ++++---- .../functions/fnc_seekerType_IR.sqf | 20 ++++++------- .../functions/fnc_seekerType_MWR.sqf | 12 ++++---- .../functions/fnc_shouldFilterRadarHit.sqf | 20 ++++++------- addons/missileguidance/script_component.hpp | 4 +-- 14 files changed, 71 insertions(+), 67 deletions(-) diff --git a/addons/missileguidance/XEH_post_init.sqf b/addons/missileguidance/XEH_post_init.sqf index 38a4df2a054..4093aa994e1 100644 --- a/addons/missileguidance/XEH_post_init.sqf +++ b/addons/missileguidance/XEH_post_init.sqf @@ -12,6 +12,5 @@ }, [15, [false, true, false]], false] call CBA_fnc_addKeybind; //Ctrl+Tab Key -#ifdef ENABLE_PROJECTILE_CAMERA GVAR(dev_fnc_projectileCamera) = compile preprocessFileLineNumbers QPATHTOF(dev\projectileCamera.sqf); -#endif + diff --git a/addons/missileguidance/XEH_pre_init.sqf b/addons/missileguidance/XEH_pre_init.sqf index f377efddb60..65970b6d655 100644 --- a/addons/missileguidance/XEH_pre_init.sqf +++ b/addons/missileguidance/XEH_pre_init.sqf @@ -11,4 +11,7 @@ PREP_RECOMPILE_END; // As weapons take config changes, there is little point in being able to disable guidance if (isNil QGVAR(enabled)) then { GVAR(enabled) = 2; }; +GVAR(debug_enableMissileCamera) = true; +GVAR(debug_drawGuidanceInfo) = false; + ADDON = true; diff --git a/addons/missileguidance/dev/projectileCamera.sqf b/addons/missileguidance/dev/projectileCamera.sqf index 8f70fa808ad..4d50d562380 100644 --- a/addons/missileguidance/dev/projectileCamera.sqf +++ b/addons/missileguidance/dev/projectileCamera.sqf @@ -26,8 +26,10 @@ _camera camCommitPrepared 0; [_pfh] call CBA_fnc_removePerFrameHandler; }; - _camera camPrepareTarget _projectile; - _camera camPrepareRelPos [0, -5, 1]; + private _currentProjectilePos = getPosATLVisual _projectile; + + _camera camPrepareTarget _currentProjectilePos; + _camera camPreparePos (_currentProjectilePos vectorDiff ((vectorNormalized velocity _projectile) vectorMultiply 5)); _camera camCommitPrepared 0; _args set [2, getPosATL _projectile]; diff --git a/addons/missileguidance/functions/fnc_doAttackProfile.sqf b/addons/missileguidance/functions/fnc_doAttackProfile.sqf index d239e08e0cb..7c8e9e7b92f 100644 --- a/addons/missileguidance/functions/fnc_doAttackProfile.sqf +++ b/addons/missileguidance/functions/fnc_doAttackProfile.sqf @@ -29,10 +29,10 @@ if ((isNil "_attackProfilePos") || {_attackProfilePos isEqualTo [0,0,0]}) exitWi [0,0,0] }; -#ifdef DRAW_GUIDANCE_INFO -drawLine3D [(ASLtoAGL _attackProfilePos), (ASLtoAGL _seekerTargetPos), [0,1,1,1]]; -drawIcon3D ["\a3\ui_f\data\IGUI\Cfg\Cursors\selectover_ca.paa", [0,0,1,1], ASLtoAGL _attackProfilePos, 0.5, 0.5, 0, _attackProfileName, 1, 0.025, "TahomaB"]; -#endif +if (GVAR(debug_drawGuidanceInfo)) then { + drawLine3D [(ASLtoAGL _attackProfilePos), (ASLtoAGL _seekerTargetPos), [0,1,1,1]]; + drawIcon3D ["\a3\ui_f\data\IGUI\Cfg\Cursors\selectover_ca.paa", [0,0,1,1], ASLtoAGL _attackProfilePos, 0.5, 0.5, 0, _attackProfileName, 1, 0.025, "TahomaB"]; +}; TRACE_2("return",_attackProfilePos,_attackProfileName); _attackProfilePos; diff --git a/addons/missileguidance/functions/fnc_doSeekerSearch.sqf b/addons/missileguidance/functions/fnc_doSeekerSearch.sqf index de01b476b6d..c2db184e5ac 100644 --- a/addons/missileguidance/functions/fnc_doSeekerSearch.sqf +++ b/addons/missileguidance/functions/fnc_doSeekerSearch.sqf @@ -30,9 +30,9 @@ if ((isNil "_seekerTargetPos") || {_seekerTargetPos isEqualTo [0,0,0]}) then { / if (_seekLastTargetPos && {_lastKnownPos isNotEqualTo [0,0,0]}) then { // if enabled for the ammo, use last known position if we have one stored TRACE_2("seeker returned bad pos - using last known",_seekLastTargetPos,_lastKnownPos); _seekerTargetPos = _lastKnownPos; - #ifdef DRAW_GUIDANCE_INFO - drawIcon3D ["\A3\ui_f\data\map\markers\military\unknown_CA.paa", [1,1,0,1], ASLtoAGL _lastKnownPos, 0.25, 0.25, 0, "LastKnownPos", 1, 0.02, "TahomaB"]; - #endif + if (GVAR(debug_drawGuidanceInfo)) then { + drawIcon3D ["\A3\ui_f\data\map\markers\military\unknown_CA.paa", [1,1,0,1], ASLtoAGL _lastKnownPos, 0.25, 0.25, 0, "LastKnownPos", 1, 0.02, "TahomaB"]; + }; } else { TRACE_1("seeker returned no pos",_seekerTargetPos); _seekerTargetPos = [0,0,0]; @@ -44,9 +44,9 @@ if ((isNil "_seekerTargetPos") || {_seekerTargetPos isEqualTo [0,0,0]}) then { / }; }; -#ifdef DRAW_GUIDANCE_INFO -drawIcon3D ["\a3\ui_f\data\IGUI\Cfg\Cursors\selectover_ca.paa", [0,1,0,1], ASLtoAGL _seekerTargetPos, 0.5, 0.5, 0, _seekerTypeName, 1, 0.025, "TahomaB"]; -#endif +if (GVAR(debug_drawGuidanceInfo)) then { + drawIcon3D ["\a3\ui_f\data\IGUI\Cfg\Cursors\selectover_ca.paa", [0,1,0,1], ASLtoAGL _seekerTargetPos, 0.5, 0.5, 0, _seekerTypeName, 1, 0.025, "TahomaB"]; +}; TRACE_2("return",_seekerTargetPos,_seekerTypeName); _seekerTargetPos; diff --git a/addons/missileguidance/functions/fnc_guidancePFH.sqf b/addons/missileguidance/functions/fnc_guidancePFH.sqf index 6dbcb2aba2f..e2ce237b702 100644 --- a/addons/missileguidance/functions/fnc_guidancePFH.sqf +++ b/addons/missileguidance/functions/fnc_guidancePFH.sqf @@ -68,12 +68,12 @@ if ((_pitchRate != 0 || {_yawRate != 0}) && {_profileAdjustedTargetPos isNotEqua ERROR_MSG("_commandedAcceleration is nil! Guidance cancelled"); }; - #ifdef DRAW_GUIDANCE_INFO - private _projectilePosAGL = ASLToAGL _projectilePos; - drawIcon3D ["\a3\ui_f\data\IGUI\Cfg\Cursors\selectover_ca.paa", [1,0,0,1], _projectilePosAGL vectorAdd [0, 0, 1], 0.75, 0.75, 0, str _commandedAcceleration, 1, 0.025, "TahomaB"]; - drawIcon3D ["\a3\ui_f\data\IGUI\Cfg\Cursors\selectover_ca.paa", [1,1,0,1], _projectilePosAGL vectorAdd [0, 0, 2], 0.75, 0.75, 0, _navigationType, 1, 0.025, "TahomaB"]; - drawLine3D [_projectilePosAGL, _projectilePosAGL vectorAdd _commandedAcceleration, [1, 0, 1, 1]]; - #endif + if (GVAR(debug_drawGuidanceInfo)) then { + private _projectilePosAGL = ASLToAGL _projectilePos; + drawIcon3D ["\a3\ui_f\data\IGUI\Cfg\Cursors\selectover_ca.paa", [1,0,0,1], _projectilePosAGL vectorAdd [0, 0, 1], 0.75, 0.75, 0, str _commandedAcceleration, 1, 0.025, "TahomaB"]; + drawIcon3D ["\a3\ui_f\data\IGUI\Cfg\Cursors\selectover_ca.paa", [1,1,0,1], _projectilePosAGL vectorAdd [0, 0, 2], 0.75, 0.75, 0, _navigationType, 1, 0.025, "TahomaB"]; + drawLine3D [_projectilePosAGL, _projectilePosAGL vectorAdd _commandedAcceleration, [1, 0, 1, 1]]; + }; // activate missile servos and change direction if (!isGamePaused && accTime > 0) then { @@ -127,16 +127,16 @@ if ((_pitchRate != 0 || {_yawRate != 0}) && {_profileAdjustedTargetPos isNotEqua _args set [4, _stateParams]; }; -#ifdef DRAW_GUIDANCE_INFO -TRACE_3("",_projectilePos,_seekerTargetPos,_profileAdjustedTargetPos); -drawIcon3D ["\a3\ui_f\data\IGUI\Cfg\Cursors\selectover_ca.paa", [1,0,0,1], ASLtoAGL _projectilePos, 0.75, 0.75, 0, _ammo, 1, 0.025, "TahomaB"]; +if (GVAR(debug_drawGuidanceInfo)) then { + TRACE_3("",_projectilePos,_seekerTargetPos,_profileAdjustedTargetPos); + drawIcon3D ["\a3\ui_f\data\IGUI\Cfg\Cursors\selectover_ca.paa", [1,0,0,1], ASLtoAGL _projectilePos, 0.75, 0.75, 0, _ammo, 1, 0.025, "TahomaB"]; -if (!isGamePaused && accTime > 0) then { - private _ps = "#particlesource" createVehicleLocal (ASLtoAGL _projectilePos); - _PS setParticleParams [["\A3\Data_f\cl_basic", 8, 3, 1], "", "Billboard", 1, 3.0141, [0, 0, 2], [0, 0, 0], 1, 1.275, 1, 0, [1, 1], [[1, 0, 0, 1], [1, 0, 0, 1], [1, 0, 0, 1]], [1], 1, 0, "", "", nil]; - _PS setDropInterval 1.0; + if (!isGamePaused && accTime > 0) then { + private _ps = "#particlesource" createVehicleLocal (ASLtoAGL _projectilePos); + _PS setParticleParams [["\A3\Data_f\cl_basic", 8, 3, 1], "", "Billboard", 1, 3.0141, [0, 0, 2], [0, 0, 0], 1, 1.275, 1, 0, [1, 1], [[1, 0, 0, 1], [1, 0, 0, 1], [1, 0, 0, 1]], [1], 1, 0, "", "", nil]; + _PS setDropInterval 1.0; + }; }; -#endif _stateParams set [0, diag_tickTime]; diff --git a/addons/missileguidance/functions/fnc_navigationType_augmentedProNav.sqf b/addons/missileguidance/functions/fnc_navigationType_augmentedProNav.sqf index f76d3f68f12..810b4cc3c38 100644 --- a/addons/missileguidance/functions/fnc_navigationType_augmentedProNav.sqf +++ b/addons/missileguidance/functions/fnc_navigationType_augmentedProNav.sqf @@ -34,7 +34,7 @@ private _losDelta = _attackProfileDirection vectorDiff _lastLineOfSight; private _losRate = if (_timestep == 0) then { 0 } else { - 10 * (vectorMagnitude _losDelta) / _timestep; + 1 * (vectorMagnitude _losDelta) / _timestep; }; private _lateralAcceleration = _navigationGain * _losRate; diff --git a/addons/missileguidance/functions/fnc_navigationType_proNav.sqf b/addons/missileguidance/functions/fnc_navigationType_proNav.sqf index 6349e3aab77..335f18ef3ee 100644 --- a/addons/missileguidance/functions/fnc_navigationType_proNav.sqf +++ b/addons/missileguidance/functions/fnc_navigationType_proNav.sqf @@ -31,7 +31,7 @@ private _losDelta = _attackProfileDirection vectorDiff _lastLineOfSight; private _losRate = if (_timestep == 0) then { 0 } else { - 10 * (vectorMagnitude _losDelta) / _timestep; + 1 * (vectorMagnitude _losDelta) / _timestep; }; private _lateralAcceleration = _navigationGain * _losRate; diff --git a/addons/missileguidance/functions/fnc_onFired.sqf b/addons/missileguidance/functions/fnc_onFired.sqf index 0086dbac199..47da733638d 100644 --- a/addons/missileguidance/functions/fnc_onFired.sqf +++ b/addons/missileguidance/functions/fnc_onFired.sqf @@ -206,9 +206,9 @@ if (_onFiredFunc != "") then { [LINKFUNC(guidancePFH),0, _args ] call CBA_fnc_addPerFrameHandler; -#ifdef ENABLE_PROJECTILE_CAMERA -[_projectile] call GVAR(dev_fnc_projectileCamera); -#endif +if (GVAR(debug_enableMissileCamera)) then { + [_projectile] call GVAR(dev_fnc_projectileCamera); +}; /* Clears locking settings diff --git a/addons/missileguidance/functions/fnc_seekerType_Doppler.sqf b/addons/missileguidance/functions/fnc_seekerType_Doppler.sqf index 6709a574b9b..147a972dd9c 100644 --- a/addons/missileguidance/functions/fnc_seekerType_Doppler.sqf +++ b/addons/missileguidance/functions/fnc_seekerType_Doppler.sqf @@ -97,9 +97,9 @@ if (_isActive || { CBA_missionTime >= _timeWhenActive }) then { _expectedTargetPos = _searchPos; }; } else { - #ifdef DRAW_GUIDANCE_INFO - _seekerTypeName = "DOPPLER - EXT"; - #endif + if (GVAR(debug_drawGuidanceInfo)) then { + _seekerTypeName = "DOPPLER - EXT"; + }; // External radar homing // if the target is in the remote targets for the side, whoever the donor is will "datalink" the target for the hellfire. private _remoteTargets = listRemoteTargets side _shooter; @@ -112,9 +112,9 @@ if (_isActive || { CBA_missionTime >= _timeWhenActive }) then { }; }; -#ifdef DRAW_GUIDANCE_INFO -drawIcon3D ["\a3\ui_f\data\IGUI\Cfg\Cursors\selectover_ca.paa", [1,0,0,1], ASLtoAGL _expectedTargetPos, 0.75, 0.75, 0, "expected target pos", 1, 0.025, "TahomaB"]; -#endif +if (GVAR(debug_drawGuidanceInfo)) then { + drawIcon3D ["\a3\ui_f\data\IGUI\Cfg\Cursors\selectover_ca.paa", [1,0,0,1], ASLtoAGL _expectedTargetPos, 0.75, 0.75, 0, "expected target pos", 1, 0.025, "TahomaB"]; +}; if !(isNull _target) then { // we check if the target is moving away from us or perpendicular to see if we maintain lock diff --git a/addons/missileguidance/functions/fnc_seekerType_IR.sqf b/addons/missileguidance/functions/fnc_seekerType_IR.sqf index 8fb819e9d1f..a4556a7b13d 100644 --- a/addons/missileguidance/functions/fnc_seekerType_IR.sqf +++ b/addons/missileguidance/functions/fnc_seekerType_IR.sqf @@ -101,17 +101,17 @@ if (TRACK_ON_PAUSE || {accTime > 0 && !isGamePaused}) then { }; }; - #ifdef DRAW_GUIDANCE_INFO - private _flarePos = ASLToAGL getPosASLVisual _x; - private _colour = [1, 0, 0, 1]; - if (_considering) then { - _colour = [0, 1, 0, 1]; + if (GVAR(debug_drawGuidanceInfo)) then { + private _flarePos = ASLToAGL getPosASLVisual _x; + private _colour = [1, 0, 0, 1]; + if (_considering) then { + _colour = [0, 1, 0, 1]; + }; + if (_trackingTarget isEqualTo _x) then { + _colour = [0, 0, 1, 1]; + }; + drawIcon3D ["\a3\ui_f\data\IGUI\Cfg\Cursors\selectover_ca.paa", _colour, _flarePos, 0.75, 0.75, 0, "F", 1, 0.025, "TahomaB"]; }; - if (_trackingTarget isEqualTo _x) then { - _colour = [0, 0, 1, 1]; - }; - drawIcon3D ["\a3\ui_f\data\IGUI\Cfg\Cursors\selectover_ca.paa", _colour, _flarePos, 0.75, 0.75, 0, "F", 1, 0.025, "TahomaB"]; - #endif }; } forEach _nearby; diff --git a/addons/missileguidance/functions/fnc_seekerType_MWR.sqf b/addons/missileguidance/functions/fnc_seekerType_MWR.sqf index 90047b2e469..bb3804c7a3c 100644 --- a/addons/missileguidance/functions/fnc_seekerType_MWR.sqf +++ b/addons/missileguidance/functions/fnc_seekerType_MWR.sqf @@ -89,9 +89,9 @@ if (_isActive || { CBA_missionTime >= _timeWhenActive }) then { _projectile setMissileTarget _target; } else { - #ifdef DRAW_GUIDANCE_INFO - _seekerTypeName = "AHR - EXT"; - #endif + if (GVAR(debug_drawGuidanceInfo)) then { + _seekerTypeName = "MWR - EXT"; + }; // External radar homing // if the target is in the remote targets for the side, whoever the donor is will "datalink" the target for the hellfire. private _remoteTargets = listRemoteTargets side _shooter; @@ -104,9 +104,9 @@ if (_isActive || { CBA_missionTime >= _timeWhenActive }) then { }; }; -#ifdef DRAW_GUIDANCE_INFO -drawIcon3D ["\a3\ui_f\data\IGUI\Cfg\Cursors\selectover_ca.paa", [1,0,0,1], ASLtoAGL _expectedTargetPos, 0.75, 0.75, 0, "expected target pos", 1, 0.025, "TahomaB"]; -#endif +if (GVAR(debug_drawGuidanceInfo)) then { + drawIcon3D ["\a3\ui_f\data\IGUI\Cfg\Cursors\selectover_ca.paa", [1,0,0,1], ASLtoAGL _expectedTargetPos, 0.75, 0.75, 0, "expected target pos", 1, 0.025, "TahomaB"]; +}; if !(isNull _target) then { private _centerOfObject = getCenterOfMass _target; diff --git a/addons/missileguidance/functions/fnc_shouldFilterRadarHit.sqf b/addons/missileguidance/functions/fnc_shouldFilterRadarHit.sqf index 0f7b0f95843..e60de80887a 100644 --- a/addons/missileguidance/functions/fnc_shouldFilterRadarHit.sqf +++ b/addons/missileguidance/functions/fnc_shouldFilterRadarHit.sqf @@ -103,17 +103,17 @@ if !(_maskedByGround) exitWith { }; }; - #ifdef DRAW_GUIDANCE_INFO - private _chaffPos = ASLToAGL getPosASLVisual _x; - private _colour = [1, 0, 0, 1]; - if (_considering) then { - _colour = [0, 1, 0, 1]; - }; - if (_foundDecoy) then { - _colour = [0, 0, 1, 1]; + if (GVAR(debug_drawGuidanceInfo)) then { + private _chaffPos = ASLToAGL getPosASLVisual _x; + private _colour = [1, 0, 0, 1]; + if (_considering) then { + _colour = [0, 1, 0, 1]; + }; + if (_foundDecoy) then { + _colour = [0, 0, 1, 1]; + }; + drawIcon3D ["\a3\ui_f\data\IGUI\Cfg\Cursors\selectover_ca.paa", _colour, _chaffPos, 0.75, 0.75, 0, "C", 1, 0.025, "TahomaB"]; }; - drawIcon3D ["\a3\ui_f\data\IGUI\Cfg\Cursors\selectover_ca.paa", _colour, _chaffPos, 0.75, 0.75, 0, "C", 1, 0.025, "TahomaB"]; - #endif } forEach _nearby; _foundDecoy diff --git a/addons/missileguidance/script_component.hpp b/addons/missileguidance/script_component.hpp index a4a4f51906f..9aa0ec530a5 100644 --- a/addons/missileguidance/script_component.hpp +++ b/addons/missileguidance/script_component.hpp @@ -2,9 +2,9 @@ #define COMPONENT_BEAUTIFIED Missile Guidance #include "\z\ace\addons\main\script_mod.hpp" - #define DRAW_GUIDANCE_INFO +// #define DRAW_GUIDANCE_INFO // #define ENABLE_PROJECTILE_CAMERA - #define DEBUG_MODE_FULL +// #define DEBUG_MODE_FULL #define DISABLE_COMPILE_CACHE // #define ENABLE_PERFORMANCE_COUNTERS From 8f03b5be9e727383cb6f191879b69292e2c802a5 Mon Sep 17 00:00:00 2001 From: Brandon Danyluk Date: Fri, 16 Apr 2021 16:18:28 -0600 Subject: [PATCH 055/254] Change AIM-9 agility --- addons/aim9/CfgAmmo.hpp | 8 +++--- .../missileguidance/dev/projectileCamera.sqf | 26 ++++++++++++++----- 2 files changed, 24 insertions(+), 10 deletions(-) diff --git a/addons/aim9/CfgAmmo.hpp b/addons/aim9/CfgAmmo.hpp index 38785d736fc..c268587cc2e 100644 --- a/addons/aim9/CfgAmmo.hpp +++ b/addons/aim9/CfgAmmo.hpp @@ -7,8 +7,8 @@ class CfgAmmo { class ace_missileguidance { enabled = 1; - pitchRate = 45; // Minium flap deflection for guidance - yawRate = 45; // Maximum flap deflection for guidance + pitchRate = 25; // Minium flap deflection for guidance + yawRate = 25; // Maximum flap deflection for guidance canVanillaLock = 1; // Can this default vanilla lock? Only applicable to non-cadet mode @@ -46,8 +46,8 @@ class CfgAmmo { class ace_missileguidance { enabled = 1; - pitchRate = 65; // Minium flap deflection for guidance - yawRate = 65; // Maximum flap deflection for guidance + pitchRate = 30; // Minium flap deflection for guidance + yawRate = 30; // Maximum flap deflection for guidance canVanillaLock = 1; // Can this default vanilla lock? Only applicable to non-cadet mode diff --git a/addons/missileguidance/dev/projectileCamera.sqf b/addons/missileguidance/dev/projectileCamera.sqf index 4d50d562380..43db4b31488 100644 --- a/addons/missileguidance/dev/projectileCamera.sqf +++ b/addons/missileguidance/dev/projectileCamera.sqf @@ -8,17 +8,31 @@ _camera cameraEffect ["internal", "back"]; _camera camCommitPrepared 0; +GVAR(debug_camera_close) = false; +private _displayEH = (findDisplay 46) displayAddEventHandler ["KeyDown", { + params ["_displayorcontrol", "_key", "_shift", "_ctrl", "_alt"]; + GVAR(debug_camera_close) = (_key == 1); + true +}]; + [{ params ["_args", "_pfh"]; - _args params ["_projectile", "_camera", "_projectilePos"]; - if !(alive _projectile) exitWith { + _args params ["_projectile", "_camera", "_projectilePos", "_displayEH"]; + if (!alive _projectile || GVAR(debug_camera_close)) exitWith { + private _delay = 1.5; + if (GVAR(debug_camera_close)) then { + _delay = 0; + }; + + (findDisplay 46) displayRemoveEventHandler ["KeyDown", _displayEH]; + [{ params ["_camera"]; _camera cameraEffect ["terminate", "back"]; _camera camCommitPrepared 0; camDestroy _camera; - }, [_camera], 1.5] call CBA_fnc_waitAndExecute; + }, [_camera], _delay] call CBA_fnc_waitAndExecute; _camera camPrepareTarget _projectilePos; _camera camCommitPrepared 0; @@ -28,9 +42,9 @@ _camera camCommitPrepared 0; private _currentProjectilePos = getPosATLVisual _projectile; - _camera camPrepareTarget _currentProjectilePos; - _camera camPreparePos (_currentProjectilePos vectorDiff ((vectorNormalized velocity _projectile) vectorMultiply 5)); + _camera camPrepareTarget _projectile; + _camera camPrepareRelPos [0, -5, 1]; _camera camCommitPrepared 0; _args set [2, getPosATL _projectile]; -}, 0, [_projectile, _camera, getPosATL _projectile]] call CBA_fnc_addPerFrameHandler; \ No newline at end of file +}, 0, [_projectile, _camera, getPosATL _projectile, _displayEH]] call CBA_fnc_addPerFrameHandler; \ No newline at end of file From fe1e6d45cb9526c1786894134cde1440cfeda37e Mon Sep 17 00:00:00 2001 From: Brandon Danyluk Date: Fri, 16 Apr 2021 19:02:03 -0600 Subject: [PATCH 056/254] update dragon to not use new guidance --- addons/dragon/CfgAmmo.hpp | 3 +++ addons/missileguidance/functions/fnc_onFired.sqf | 1 - 2 files changed, 3 insertions(+), 1 deletion(-) diff --git a/addons/dragon/CfgAmmo.hpp b/addons/dragon/CfgAmmo.hpp index 929ba6f14cf..d762da125b0 100644 --- a/addons/dragon/CfgAmmo.hpp +++ b/addons/dragon/CfgAmmo.hpp @@ -82,6 +82,9 @@ class CfgAmmo { class ace_missileguidance { enabled = 1; + pitchRate = 0; + yawRate = 0; + // Guidance type for munitions defaultSeekerType = "SACLOS"; seekerTypes[] = { "SACLOS" }; diff --git a/addons/missileguidance/functions/fnc_onFired.sqf b/addons/missileguidance/functions/fnc_onFired.sqf index 47da733638d..482ea78c460 100644 --- a/addons/missileguidance/functions/fnc_onFired.sqf +++ b/addons/missileguidance/functions/fnc_onFired.sqf @@ -91,7 +91,6 @@ if (isNil "_target") then { }; }; }; -systemChat str _target; _targetPos = getPosASLVisual _target; // Array for seek last target position From 265670cafae94b9b2bb4741e91f16626264507d0 Mon Sep 17 00:00:00 2001 From: Brandon Danyluk Date: Fri, 16 Apr 2021 19:50:00 -0600 Subject: [PATCH 057/254] Tweak flight parameters. Add R-77 --- addons/aim120/CfgAmmo.hpp | 69 ++++++++++++++++++++++++++++-- addons/aim120/CfgMagazines.hpp | 24 +++++++++++ addons/aim120/CfgWeapons.hpp | 50 ++++++++++++++++++++++ addons/aim9/CfgAmmo.hpp | 4 +- addons/gbu/CfgAmmo.hpp | 8 ++-- addons/hellfire/CfgAmmo.hpp | 4 +- addons/maverick/CfgAmmo.hpp | 12 +++--- addons/missileguidance/CfgAmmo.hpp | 8 ++-- 8 files changed, 157 insertions(+), 22 deletions(-) diff --git a/addons/aim120/CfgAmmo.hpp b/addons/aim120/CfgAmmo.hpp index 2509e3bd5a2..0cfbc7fda09 100644 --- a/addons/aim120/CfgAmmo.hpp +++ b/addons/aim120/CfgAmmo.hpp @@ -1,6 +1,12 @@ class CfgAmmo { class ammo_Missile_AMRAAM_C; + // AIM-120 class GVAR(c): ammo_Missile_AMRAAM_C { + missileLockCone = 30; + missileKeepLockedCone = 30; + missileLockMaxDistance = 16000; + missileLockMinDistance = 500; + author = "Brandon (TCVM)"; maneuvrability = 0; flightProfiles[] = {"Direct", "Loft"}; @@ -9,8 +15,8 @@ class CfgAmmo { class ace_missileguidance { enabled = 1; - pitchRate = 40; // Minium flap deflection for guidance - yawRate = 40; // Maximum flap deflection for guidance + pitchRate = 30; // Minium flap deflection for guidance + yawRate = 30; // Maximum flap deflection for guidance canVanillaLock = 1; // Can this default vanilla lock? Only applicable to non-cadet mode @@ -45,6 +51,11 @@ class CfgAmmo { class ammo_Missile_AMRAAM_D; class GVAR(d): ammo_Missile_AMRAAM_D { + missileLockCone = 45; + missileKeepLockedCone = 45; + missileLockMaxDistance = 16000; + missileLockMinDistance = 500; + author = "Brandon (TCVM)"; maneuvrability = 0; flightProfiles[] = {"Direct", "TopDown"}; @@ -53,8 +64,58 @@ class CfgAmmo { class ace_missileguidance { enabled = 1; - pitchRate = 50; // Minium flap deflection for guidance - yawRate = 50; // Maximum flap deflection for guidance + pitchRate = 45; // Minium flap deflection for guidance + yawRate = 45; // Maximum flap deflection for guidance + + canVanillaLock = 1; // Can this default vanilla lock? Only applicable to non-cadet mode + + // Guidance type for munitions + defaultSeekerType = "DopplerRadar"; + seekerTypes[] = { "DopplerRadar" }; + lockableTypes[] = {"Air"}; + + minimumSpeedFilter = 15; // filter out targets that have a closing velocity less than this + minimumTimeFilter = 0.00005; // filter out targets that are this close to the ground (speed of light) + maxTerrainCheck = 16000; // How far we should check for terrain + + defaultSeekerLockMode = "LOAL"; + seekerLockModes[] = { "LOAL", "LOBL" }; + + defaultNavigationType = "ZeroEffortMiss"; + navigationTypes[] = { "ZeroEffortMiss" }; + + seekLastTargetPos = 0; // seek last target position [if seeker loses LOS of target, continue to last known pos] + seekerAngle = 50; // Angle from the shooter's view that can track the missile + seekerAccuracy = 1; // seeker accuracy multiplier + + seekerMinRange = 75; + seekerMaxRange = 2500; // Range from the missile which the seeker can visually search + + // Attack profile type selection + defaultAttackProfile = "DIR"; + attackProfiles[] = {"DIR", "LOFT"}; + useModeForAttackProfile = 1; + }; + }; + + // R-77 + class ammo_Missile_AA_R77; + class GVAR(r77): ammo_Missile_AA_R77 { + missileLockCone = 50; + missileKeepLockedCone = 50; + missileLockMaxDistance = 16000; + missileLockMinDistance = 500; + + author = "Brandon (TCVM)"; + maneuvrability = 0; + flightProfiles[] = {"Direct", "TopDown"}; + class Direct {}; // dummy to allow for F cycling of missile mode + class TopDown {}; + class ace_missileguidance { + enabled = 1; + + pitchRate = 40; // Minium flap deflection for guidance + yawRate = 40; // Maximum flap deflection for guidance canVanillaLock = 1; // Can this default vanilla lock? Only applicable to non-cadet mode diff --git a/addons/aim120/CfgMagazines.hpp b/addons/aim120/CfgMagazines.hpp index 07b182a3326..51998e66aa0 100644 --- a/addons/aim120/CfgMagazines.hpp +++ b/addons/aim120/CfgMagazines.hpp @@ -8,6 +8,7 @@ class CfgMagazines { class PylonRack_Missile_AMRAAM_D_x1; class PylonRack_Missile_AMRAAM_D_x2; + // AIM-120 class GVAR(c): magazine_Missile_AMRAAM_C_x1 { author = "Brandon (TCVM)"; displayName = "1x AIM-120C [ACE]"; @@ -56,5 +57,28 @@ class CfgMagazines { ammo = QGVAR(d); pylonWeapon = GVAR(aim120Launcher); }; + + // R-77 + class magazine_Missile_AA_R77_x1; + class PylonMissile_Missile_AA_R77_x1; + class PylonMissile_Missile_AA_R77_INT_x1; + + class GVAR(r77): magazine_Missile_AA_R77_x1 { + author = "Brandon (TCVM)"; + displayName = "1x R77 [ACE]"; + ammo = QGVAR(r77); + }; + class GVAR(PylonMissile_Missile_R77_x1): PylonMissile_Missile_AA_R77_x1 { + author = "Brandon (TCVM)"; + displayName = "1x R77 [ACE]"; + ammo = QGVAR(r77); + pylonWeapon = QGVAR(r77Launcher); + }; + class GVAR(PylonMissile_Missile_R77__INT_x1): PylonMissile_Missile_AA_R77_INT_x1 { + author = "Brandon (TCVM)"; + displayName = "1x R77 [ACE]"; + ammo = QGVAR(r77); + pylonWeapon = QGVAR(r77Launcher); + }; }; diff --git a/addons/aim120/CfgWeapons.hpp b/addons/aim120/CfgWeapons.hpp index ba1aa6d05c0..9ab7c2e9980 100644 --- a/addons/aim120/CfgWeapons.hpp +++ b/addons/aim120/CfgWeapons.hpp @@ -49,5 +49,55 @@ class CfgWeapons { EGVAR(missileGuidance,attackProfile) = "LOFT"; }; }; + + class weapon_R77Launcher; + class GVAR(r77Launcher): weapon_R77Launcher { + author = "Brandon (TCVM)"; + displayName = "R-77 [ACE]"; + weaponLockDelay = 0.5; + + magazines[] = {QGVAR(r77), QGVAR(PylonMissile_Missile_R77_x1), QGVAR(PylonMissile_Missile_R77__INT_x1)}; + + modes[] = {"Direct", "Loft"}; + class Direct: MissileLauncher { + displayName = "Direct"; + textureType = "direct"; + reloadTime = 0.1; + magazineReloadTime = 0.1; + aiRateOfFire = 15; + aiRateOfFireDispersion = -10; + aiRateOfFireDistance = 10000; + minRange = 800; + minRangeProbab = 0.5; + midRange = 2500; + midRangeProbab = 0.95; + maxRange = 4000; + maxRangeProbab = 1; + sounds[] = {"StandardSound"}; + class StandardSound { + begin1[] = {"A3\Sounds_F\weapons\Rockets\missile_2", 1.12202, 1.3, 1000}; + soundBegin[] = {"begin1", 1}; + weaponSoundEffect = "DefaultRifle"; + }; + soundFly[] = {"A3\Sounds_F\weapons\Rockets\rocket_fly_1", 1, 1.5, 700}; + lockingTargetSound[] = {"\A3\Sounds_F\weapons\Rockets\locked_1", 0.562341, 1}; + lockedTargetSound[] = {"\A3\Sounds_F\weapons\Rockets\locked_3", 0.562341, 2.5}; + + EGVAR(missileGuidance,attackProfile) = "DIR"; + }; + class Loft: Direct { + displayName = "Loft"; + textureType = "topdown"; + + minRange = 4000; + minRangeProbab = 0.5; + midRange = 7000; + midRangeProbab = 0.95; + maxRange = 13000; + maxRangeProbab = 1; + + EGVAR(missileGuidance,attackProfile) = "LOFT"; + }; + }; }; diff --git a/addons/aim9/CfgAmmo.hpp b/addons/aim9/CfgAmmo.hpp index c268587cc2e..46a1ba49bc6 100644 --- a/addons/aim9/CfgAmmo.hpp +++ b/addons/aim9/CfgAmmo.hpp @@ -46,8 +46,8 @@ class CfgAmmo { class ace_missileguidance { enabled = 1; - pitchRate = 30; // Minium flap deflection for guidance - yawRate = 30; // Maximum flap deflection for guidance + pitchRate = 40; // Minium flap deflection for guidance + yawRate = 40; // Maximum flap deflection for guidance canVanillaLock = 1; // Can this default vanilla lock? Only applicable to non-cadet mode diff --git a/addons/gbu/CfgAmmo.hpp b/addons/gbu/CfgAmmo.hpp index 73c47dbf275..51dc8134d2d 100644 --- a/addons/gbu/CfgAmmo.hpp +++ b/addons/gbu/CfgAmmo.hpp @@ -6,8 +6,8 @@ class CfgAmmo { class ace_missileguidance { enabled = 1; - pitchRate = 15; - yawRate = 15; + pitchRate = 5; + yawRate = 5; bangBangGuidance = 1; @@ -43,8 +43,8 @@ class CfgAmmo { class ace_missileguidance { enabled = 1; - pitchRate = 23; - yawRate = 23; + pitchRate = 8; + yawRate = 8; bangBangGuidance = 1; diff --git a/addons/hellfire/CfgAmmo.hpp b/addons/hellfire/CfgAmmo.hpp index afb6b991750..c3ee83e3a4f 100644 --- a/addons/hellfire/CfgAmmo.hpp +++ b/addons/hellfire/CfgAmmo.hpp @@ -26,8 +26,8 @@ class CfgAmmo { class ace_missileguidance { enabled = 1; - pitchRate = 40; // degrees per second - yawRate = 40; + pitchRate = 30; // degrees per second + yawRate = 30; canVanillaLock = 0; // Can this default vanilla lock? Only applicable to non-cadet mode diff --git a/addons/maverick/CfgAmmo.hpp b/addons/maverick/CfgAmmo.hpp index 6cfd476b69b..bef796a5cdc 100644 --- a/addons/maverick/CfgAmmo.hpp +++ b/addons/maverick/CfgAmmo.hpp @@ -12,8 +12,8 @@ class CfgAmmo { class ace_missileguidance { enabled = 1; - pitchRate = 10; - yawRate = 10; + pitchRate = 15; + yawRate = 15; canVanillaLock = 1; @@ -55,8 +55,8 @@ class CfgAmmo { class ace_missileguidance { enabled = 1; - pitchRate = 30; - yawRate = 30; + pitchRate = 15; + yawRate = 15; canVanillaLock = 0; @@ -90,8 +90,8 @@ class CfgAmmo { class ace_missileguidance { enabled = 1; - pitchRate = 45; - yawRate = 45; + pitchRate = 20; + yawRate = 20; canVanillaLock = 0; diff --git a/addons/missileguidance/CfgAmmo.hpp b/addons/missileguidance/CfgAmmo.hpp index 428af791c34..0309a229736 100644 --- a/addons/missileguidance/CfgAmmo.hpp +++ b/addons/missileguidance/CfgAmmo.hpp @@ -20,8 +20,8 @@ class CfgAmmo { class ADDON { enabled = 1; - pitchRate = 50; // degrees per second - yawRate = 50; + pitchRate = 40; // degrees per second + yawRate = 40; canVanillaLock = 0; // Can this default vanilla lock? Only applicable to non-cadet mode @@ -71,8 +71,8 @@ class CfgAmmo { class ADDON { enabled = 1; - pitchRate = 40; // degrees per second - yawRate = 40; + pitchRate = 25; // degrees per second + yawRate = 25; bangBangGuidance = 0; From 8b88142b03ed4648d463884a973c0ab7edeb7c2d Mon Sep 17 00:00:00 2001 From: Brandon Danyluk Date: Fri, 16 Apr 2021 20:05:49 -0600 Subject: [PATCH 058/254] Add AIM-120A --- addons/aim120/CfgAmmo.hpp | 49 ++++++++++++++++++++++++++++++++++ addons/aim120/CfgMagazines.hpp | 24 +++++++++++++++++ addons/aim120/CfgWeapons.hpp | 17 +++++++++++- 3 files changed, 89 insertions(+), 1 deletion(-) diff --git a/addons/aim120/CfgAmmo.hpp b/addons/aim120/CfgAmmo.hpp index 0cfbc7fda09..84802d57869 100644 --- a/addons/aim120/CfgAmmo.hpp +++ b/addons/aim120/CfgAmmo.hpp @@ -1,6 +1,55 @@ class CfgAmmo { class ammo_Missile_AMRAAM_C; + class M_Zephyr; // AIM-120 + class GVAR(a): M_Zephyr { + missileLockCone = 30; + missileKeepLockedCone = 30; + missileLockMaxDistance = 16000; + missileLockMinDistance = 500; + + author = "Brandon (TCVM)"; + maneuvrability = 0; + flightProfiles[] = {"Direct", "Loft"}; + class Direct {}; // dummy to allow for F cycling of missile mode + class Loft {}; + class ace_missileguidance { + enabled = 1; + + pitchRate = 30; // Minium flap deflection for guidance + yawRate = 30; // Maximum flap deflection for guidance + + canVanillaLock = 1; // Can this default vanilla lock? Only applicable to non-cadet mode + + // Guidance type for munitions + defaultSeekerType = "DopplerRadar"; + seekerTypes[] = { "DopplerRadar" }; + lockableTypes[] = {"Air"}; + + minimumSpeedFilter = 25; // filter out targets that have a closing velocity less than this + minimumTimeFilter = 0.0001; // filter out targets that are this close to the ground (speed of light) + maxTerrainCheck = 16000; // How far we should check for terrain + + defaultSeekerLockMode = "LOAL"; + seekerLockModes[] = { "LOAL", "LOBL" }; + + defaultNavigationType = "ZeroEffortMiss"; + navigationTypes[] = { "ZeroEffortMiss" }; + + seekLastTargetPos = 0; // seek last target position [if seeker loses LOS of target, continue to last known pos] + seekerAngle = 50; // Angle from the shooter's view that can track the missile + seekerAccuracy = 1; // seeker accuracy multiplier + + seekerMinRange = 75; + seekerMaxRange = 2500; // Range from the missile which the seeker can visually search + + // Attack profile type selection + defaultAttackProfile = "DIR"; + attackProfiles[] = {"DIR", "LOFT"}; + useModeForAttackProfile = 1; + }; + }; + class GVAR(c): ammo_Missile_AMRAAM_C { missileLockCone = 30; missileKeepLockedCone = 30; diff --git a/addons/aim120/CfgMagazines.hpp b/addons/aim120/CfgMagazines.hpp index 51998e66aa0..72c7f11e35d 100644 --- a/addons/aim120/CfgMagazines.hpp +++ b/addons/aim120/CfgMagazines.hpp @@ -8,6 +8,30 @@ class CfgMagazines { class PylonRack_Missile_AMRAAM_D_x1; class PylonRack_Missile_AMRAAM_D_x2; + class 4Rnd_GAA_missiles; + class PylonRack_1Rnd_GAA_missiles; + class PylonMissile_1Rnd_GAA_missiles; + + class GVAR(a): 4Rnd_GAA_missiles { + author = "Brandon (TCVM)"; + displayName = "1x AIM-120A [ACE]"; + ammo = QGVAR(a); + }; + + class GVAR(PylonRack_1Rnd_a): PylonRack_1Rnd_GAA_missiles { + author = "Brandon (TCVM)"; + displayName = "1x AIM-120A [ACE]"; + ammo = QGVAR(a); + pylonWeapon = GVAR(aim120Launcher); + }; + + class GVAR(PylonMissile_1Rnd_a): PylonMissile_1Rnd_GAA_missiles { + author = "Brandon (TCVM)"; + displayName = "1x AIM-120A [ACE]"; + ammo = QGVAR(a); + pylonWeapon = GVAR(aim120Launcher); + }; + // AIM-120 class GVAR(c): magazine_Missile_AMRAAM_C_x1 { author = "Brandon (TCVM)"; diff --git a/addons/aim120/CfgWeapons.hpp b/addons/aim120/CfgWeapons.hpp index 9ab7c2e9980..e037acf49c9 100644 --- a/addons/aim120/CfgWeapons.hpp +++ b/addons/aim120/CfgWeapons.hpp @@ -1,12 +1,27 @@ class CfgWeapons { class weapon_AMRAAMLauncher; class MissileLauncher; + class GVAR(aim120Launcher): weapon_AMRAAMLauncher { author = "Brandon (TCVM)"; displayName = "AIM-120 [ACE]"; weaponLockDelay = 0.5; - magazines[] = { QGVAR(c), QGVAR(PylonMissile_Missile_c_x1), QGVAR(PylonRack_Missile_c_x1), QGVAR(PylonRack_Missile_c_x2), QGVAR(PylonMissile_Missile_d_x1), QGVAR(PylonMissile_Missile_d_INT_x1), QGVAR(PylonRack_Missile_d_x1), QGVAR(PylonRack_Missile_d_x2)}; + magazines[] = { + QGVAR(a), + QGVAR(PylonRack_1Rnd_a), + QGVAR(PylonMissile_1Rnd_a), + + QGVAR(c), + QGVAR(PylonMissile_Missile_c_x1), + QGVAR(PylonRack_Missile_c_x1), + QGVAR(PylonRack_Missile_c_x2), + + QGVAR(PylonMissile_Missile_d_x1), + QGVAR(PylonMissile_Missile_d_INT_x1), + QGVAR(PylonRack_Missile_d_x1), + QGVAR(PylonRack_Missile_d_x2) + }; modes[] = {"Direct", "Loft"}; class Direct: MissileLauncher { From d622e4d5301ab69262d1987b62107819f6b304f2 Mon Sep 17 00:00:00 2001 From: Brandon Danyluk Date: Fri, 16 Apr 2021 23:00:02 -0600 Subject: [PATCH 059/254] add ASRAAM --- addons/aim9/CfgAmmo.hpp | 59 ++++++++++++++++++++++++++++++++++-- addons/aim9/CfgMagazines.hpp | 54 +++++++++++++++++++++++++++++++++ addons/aim9/CfgWeapons.hpp | 20 ++++++++++++ 3 files changed, 131 insertions(+), 2 deletions(-) diff --git a/addons/aim9/CfgAmmo.hpp b/addons/aim9/CfgAmmo.hpp index 46a1ba49bc6..139a1cbefbf 100644 --- a/addons/aim9/CfgAmmo.hpp +++ b/addons/aim9/CfgAmmo.hpp @@ -1,6 +1,11 @@ class CfgAmmo { class Missile_AA_04_F; class GVAR(m): Missile_AA_04_F { + missileLockCone = 45; + missileKeepLockedCone = 45; + missileLockMaxDistance = 5000; + missileLockMinDistance = 250; + author = "Brandon (TCVM)"; maneuvrability = 0; @@ -30,7 +35,7 @@ class CfgAmmo { seekerAccuracy = 0.8; // seeker accuracy multiplier seekerMinRange = 75; - seekerMaxRange = 2500; // Range from the missile which the seeker can visually search + seekerMaxRange = 5000; // Range from the missile which the seeker can visually search // Attack profile type selection defaultAttackProfile = "DIR"; @@ -40,6 +45,11 @@ class CfgAmmo { class ammo_Missile_BIM9X; class GVAR(x): ammo_Missile_BIM9X { + missileLockCone = 120; + missileKeepLockedCone = 120; + missileLockMaxDistance = 5000; + missileLockMinDistance = 250; + author = "Brandon (TCVM)"; maneuvrability = 0; @@ -69,7 +79,52 @@ class CfgAmmo { seekerAccuracy = 0.95; // seeker accuracy multiplier seekerMinRange = 75; - seekerMaxRange = 2500; // Range from the missile which the seeker can visually search + seekerMaxRange = 5000; // Range from the missile which the seeker can visually search + + // Attack profile type selection + defaultAttackProfile = "DIR"; + attackProfiles[] = {"DIR"}; + }; + }; + + // AIM-132 + class M_Air_AA; + class GVAR(aim132): M_Air_AA { + missileLockCone = 120; + missileKeepLockedCone = 120; + missileLockMaxDistance = 8000; + missileLockMinDistance = 250; + + author = "Brandon (TCVM)"; + maneuvrability = 0; + + class ace_missileguidance { + enabled = 1; + + pitchRate = 40; // Minium flap deflection for guidance + yawRate = 40; // Maximum flap deflection for guidance + + canVanillaLock = 1; // Can this default vanilla lock? Only applicable to non-cadet mode + + // Guidance type for munitions + defaultSeekerType = "IR"; + seekerTypes[] = { "IR" }; + + flareDistanceFilter = 50; + flareAngleFilter = 0.8; // can filter out flares that are >= flareAngleFilter to known target velocity + + defaultSeekerLockMode = "LOBL"; + seekerLockModes[] = { "LOBL" }; + + defaultNavigationType = "ZeroEffortMiss"; + navigationTypes[] = { "ZeroEffortMiss" }; + + seekLastTargetPos = 0; // seek last target position [if seeker loses LOS of target, continue to last known pos] + seekerAngle = 120; // Angle from the shooter's view that can track the missile + seekerAccuracy = 0.98; // seeker accuracy multiplier + + seekerMinRange = 75; + seekerMaxRange = 8000; // Range from the missile which the seeker can visually search // Attack profile type selection defaultAttackProfile = "DIR"; diff --git a/addons/aim9/CfgMagazines.hpp b/addons/aim9/CfgMagazines.hpp index 272ae0948c9..c63a0a51c46 100644 --- a/addons/aim9/CfgMagazines.hpp +++ b/addons/aim9/CfgMagazines.hpp @@ -3,6 +3,7 @@ class CfgMagazines { class PylonRack_1Rnd_Missile_AA_04_F; class PylonMissile_1Rnd_Missile_AA_04_F; + // AIM-9 class GVAR(2Rnd_Missile_9m): 2Rnd_Missile_AA_04_F { author = "Brandon (TCVM)"; displayName = "2x AIM-9M [ACE]"; @@ -54,5 +55,58 @@ class CfgMagazines { ammo = QGVAR(x); pylonWeapon = QGVAR(x); }; + + // AIM-132 + class 2Rnd_AAA_missiles; + class 2Rnd_AAA_missiles_MI02; + class 2Rnd_AAA_missiles_MI06; + class 4Rnd_AAA_missiles; + class 4Rnd_AAA_missiles_MI02; + class PylonRack_1Rnd_AAA_missiles; + class PylonMissile_1Rnd_AAA_missiles; + + class GVAR(aim132_2Rnd): 2Rnd_AAA_missiles { + author = "Brandon (TCVM)"; + displayName = "2x AIM-132 [ACE]"; + ammo = QGVAR(aim132); + }; + + class GVAR(aim132_2Rnd_MI02): 2Rnd_AAA_missiles_MI02 { + author = "Brandon (TCVM)"; + displayName = "2x AIM-132 [ACE]"; + ammo = QGVAR(aim132); + }; + + class GVAR(aim132_2Rnd_MI06): 2Rnd_AAA_missiles_MI06 { + author = "Brandon (TCVM)"; + displayName = "2x AIM-132 [ACE]"; + ammo = QGVAR(aim132); + }; + + class GVAR(aim132_4Rnd): 4Rnd_AAA_missiles { + author = "Brandon (TCVM)"; + displayName = "4x AIM-132 [ACE]"; + ammo = QGVAR(aim132); + }; + + class GVAR(aim132_4Rnd_MI02): 4Rnd_AAA_missiles_MI02 { + author = "Brandon (TCVM)"; + displayName = "4x AIM-132 [ACE]"; + ammo = QGVAR(aim132); + }; + + class GVAR(PylonRack_1Rnd_aim132): PylonRack_1Rnd_AAA_missiles { + author = "Brandon (TCVM)"; + displayName = "1x AIM-132 [ACE]"; + ammo = QGVAR(aim132); + pylonWeapon = QGVAR(aim132); + }; + + class GVAR(PylonMissile_1Rnd_aim132): PylonMissile_1Rnd_AAA_missiles { + author = "Brandon (TCVM)"; + displayName = "1x AIM-132 [ACE]"; + ammo = QGVAR(aim132); + pylonWeapon = QGVAR(aim132); + }; }; diff --git a/addons/aim9/CfgWeapons.hpp b/addons/aim9/CfgWeapons.hpp index 36b2aa5717f..166539d2a24 100644 --- a/addons/aim9/CfgWeapons.hpp +++ b/addons/aim9/CfgWeapons.hpp @@ -1,4 +1,5 @@ class CfgWeapons { + // AIM-9 class Missile_AA_04_Plane_CAS_01_F; class GVAR(m): Missile_AA_04_Plane_CAS_01_F { lockAcquire = 1; // auto lock @@ -18,5 +19,24 @@ class CfgWeapons { weaponLockDelay = 0.5; magazines[] = { QGVAR(magazine_Missile_9x), QGVAR(PylonMissile_Missile_9x), QGVAR(PylonRack_Missile_9x), QGVAR(PylonRack_Missile_9x_2) }; }; + + // ASRAAM + class missiles_ASRAAM; + class GVAR(aim132): missiles_ASRAAM { + lockAcquire = 1; // auto lock + + author = "Brandon (TCVM)"; + displayName = "AIM-132 [ACE]"; + weaponLockDelay = 0.5; + magazines[] = { + QGVAR(aim132_2Rnd), + QGVAR(aim132_2Rnd_MI02), + QGVAR(aim132_2Rnd_MI06), + QGVAR(aim132_4Rnd), + QGVAR(aim132_4Rnd_MI02), + QGVAR(PylonRack_1Rnd_aim132), + QGVAR(PylonMissile_1Rnd_aim132) + }; + }; }; From f9422313589b7d0ccc24feef3c029a5cd7807db8 Mon Sep 17 00:00:00 2001 From: Brandon Danyluk Date: Sat, 17 Apr 2021 00:40:38 -0600 Subject: [PATCH 060/254] add R-73/4 --- addons/aim9/CfgAmmo.hpp | 89 +++++++++++++++++++++++++++++++++ addons/aim9/CfgMagazines.hpp | 41 +++++++++++++++ addons/aim9/CfgWeapons.hpp | 30 +++++++++++ addons/missileguidance/todo.txt | 12 ++--- 4 files changed, 166 insertions(+), 6 deletions(-) diff --git a/addons/aim9/CfgAmmo.hpp b/addons/aim9/CfgAmmo.hpp index 139a1cbefbf..a0d711c41d3 100644 --- a/addons/aim9/CfgAmmo.hpp +++ b/addons/aim9/CfgAmmo.hpp @@ -131,5 +131,94 @@ class CfgAmmo { attackProfiles[] = {"DIR"}; }; }; + + // R-73 + class ammo_Missile_AA_R73; + class GVAR(r73): ammo_Missile_AA_R73 { + missileLockCone = 40; + missileKeepLockedCone = 40; + missileLockMaxDistance = 5000; + missileLockMinDistance = 250; + + author = "Brandon (TCVM)"; + maneuvrability = 0; + + class ace_missileguidance { + enabled = 1; + + pitchRate = 25; // Minium flap deflection for guidance + yawRate = 25; // Maximum flap deflection for guidance + + canVanillaLock = 1; // Can this default vanilla lock? Only applicable to non-cadet mode + + // Guidance type for munitions + defaultSeekerType = "IR"; + seekerTypes[] = { "IR" }; + + flareDistanceFilter = 50; + flareAngleFilter = 0.8; // can filter out flares that are >= flareAngleFilter to known target velocity + + defaultSeekerLockMode = "LOBL"; + seekerLockModes[] = { "LOBL" }; + + defaultNavigationType = "AugmentedProportionalNavigation"; + navigationTypes[] = { "AugmentedProportionalNavigation" }; + + seekLastTargetPos = 0; // seek last target position [if seeker loses LOS of target, continue to last known pos] + seekerAngle = 40; // Angle from the shooter's view that can track the missile + seekerAccuracy = 0.85; // seeker accuracy multiplier + + seekerMinRange = 75; + seekerMaxRange = 5000; // Range from the missile which the seeker can visually search + + // Attack profile type selection + defaultAttackProfile = "DIR"; + attackProfiles[] = {"DIR"}; + }; + }; + + class Missile_AA_03_F; + class GVAR(r74): Missile_AA_03_F { + missileLockCone = 75; + missileKeepLockedCone = 75; + missileLockMaxDistance = 8000; + missileLockMinDistance = 250; + + author = "Brandon (TCVM)"; + maneuvrability = 0; + + class ace_missileguidance { + enabled = 1; + + pitchRate = 40; // Minium flap deflection for guidance + yawRate = 40; // Maximum flap deflection for guidance + + canVanillaLock = 1; // Can this default vanilla lock? Only applicable to non-cadet mode + + // Guidance type for munitions + defaultSeekerType = "IR"; + seekerTypes[] = { "IR" }; + + flareDistanceFilter = 50; + flareAngleFilter = 0.8; // can filter out flares that are >= flareAngleFilter to known target velocity + + defaultSeekerLockMode = "LOBL"; + seekerLockModes[] = { "LOBL" }; + + defaultNavigationType = "AugmentedProportionalNavigation"; + navigationTypes[] = { "AugmentedProportionalNavigation" }; + + seekLastTargetPos = 0; // seek last target position [if seeker loses LOS of target, continue to last known pos] + seekerAngle = 75; // Angle from the shooter's view that can track the missile + seekerAccuracy = 0.95; // seeker accuracy multiplier + + seekerMinRange = 75; + seekerMaxRange = 8000; // Range from the missile which the seeker can visually search + + // Attack profile type selection + defaultAttackProfile = "DIR"; + attackProfiles[] = {"DIR"}; + }; + }; }; diff --git a/addons/aim9/CfgMagazines.hpp b/addons/aim9/CfgMagazines.hpp index c63a0a51c46..8efb36213bd 100644 --- a/addons/aim9/CfgMagazines.hpp +++ b/addons/aim9/CfgMagazines.hpp @@ -108,5 +108,46 @@ class CfgMagazines { ammo = QGVAR(aim132); pylonWeapon = QGVAR(aim132); }; + + // R-73 + class PylonMissile_Missile_AA_R73_x1; + class magazine_Missile_AA_R73_x1; + class 2Rnd_Missile_AA_03_F; + class PylonRack_1Rnd_Missile_AA_03_F; + class PylonMissile_1Rnd_Missile_AA_03_F; + + class GVAR(r73): magazine_Missile_AA_R73_x1 { + author = "Brandon (TCVM)"; + displayName = "1x R-73 [ACE]"; + ammo = QGVAR(r73); + }; + + class GVAR(PylonMissile_Missile_R73_x1): PylonMissile_Missile_AA_R73_x1 { + author = "Brandon (TCVM)"; + displayName = "1x R-73 [ACE]"; + ammo = QGVAR(r73); + pylonWeapon = QGVAR(r73); + }; + + class GVAR(2Rnd_Missile_R74): 2Rnd_Missile_AA_03_F { + author = "Brandon (TCVM)"; + displayName = "2x R-74 [ACE]"; + ammo = QGVAR(r74); + }; + + // R-74 -- improved R-73, same missile in the way that an AIM-9X is the same as an AIM-9M + class GVAR(PylonRack_1Rnd_Missile_R74): PylonRack_1Rnd_Missile_AA_03_F { + author = "Brandon (TCVM)"; + displayName = "1x R-74 [ACE]"; + ammo = QGVAR(r74); + pylonWeapon = QGVAR(r74); + }; + + class GVAR(PylonMissile_1Rnd_Missile_R74): PylonMissile_1Rnd_Missile_AA_03_F { + author = "Brandon (TCVM)"; + displayName = "1x R-74 [ACE]"; + ammo = QGVAR(r74); + pylonWeapon = QGVAR(r74); + }; }; diff --git a/addons/aim9/CfgWeapons.hpp b/addons/aim9/CfgWeapons.hpp index 166539d2a24..e3440492479 100644 --- a/addons/aim9/CfgWeapons.hpp +++ b/addons/aim9/CfgWeapons.hpp @@ -38,5 +38,35 @@ class CfgWeapons { QGVAR(PylonMissile_1Rnd_aim132) }; }; + + // R-73 + class weapon_R73Launcher; + class GVAR(r73): weapon_R73Launcher { + lockAcquire = 1; // auto lock + + author = "Brandon (TCVM)"; + displayName = "R-73 [ACE]"; + weaponLockDelay = 0.5; + + magazines[] = { + QGVAR(r73), + QGVAR(PylonMissile_Missile_R73_x1) + }; + }; + + class Missile_AA_03_Plane_CAS_02_F; + class GVAR(r74): Missile_AA_03_Plane_CAS_02_F { + lockAcquire = 1; // auto lock + + author = "Brandon (TCVM)"; + displayName = "R-74 [ACE]"; + weaponLockDelay = 0.5; + + magazines[] = { + QGVAR(2Rnd_Missile_R74), + QGVAR(PylonRack_1Rnd_Missile_R74), + QGVAR(PylonMissile_1Rnd_Missile_R74) + }; + }; }; diff --git a/addons/missileguidance/todo.txt b/addons/missileguidance/todo.txt index 4143c15cd49..9cc2c5f620b 100644 --- a/addons/missileguidance/todo.txt +++ b/addons/missileguidance/todo.txt @@ -15,13 +15,13 @@ Weapon Configs: R-73 - Infrared X AIM-9 - Infrared - AIM-132 - Infrared + X AIM-132 - Infrared - R-77 - AHR + X R-77 - AHR X AIM-120 - AHR KH-25 - Optical - AGM-65 - Optical + X AGM-65 - Optical GBU-SDB - GPS/INS @@ -54,9 +54,9 @@ Navigation Types: X Javelin - ZEM X Hellfire - ZEM - R-77 - ZEM - AIM-120 - ZEM - AIM-132 - ZEM + X R-77 - ZEM + X AIM-120 - ZEM + X AIM-132 - ZEM GBU-SDB - ZEM Navigation State Machine: From e7919dabd2c81944af64bc2d80c944278cb7a840 Mon Sep 17 00:00:00 2001 From: Brandon Danyluk Date: Sat, 17 Apr 2021 01:11:33 -0600 Subject: [PATCH 061/254] Add all GBU-12s that exist for all planes --- addons/gbu/CfgMagazines.hpp | 63 ++++++++++++++++++++++++++++++++++--- addons/gbu/CfgWeapons.hpp | 17 ++++++++-- 2 files changed, 74 insertions(+), 6 deletions(-) diff --git a/addons/gbu/CfgMagazines.hpp b/addons/gbu/CfgMagazines.hpp index dc6c2cdfd5c..4b3b9c65a6f 100644 --- a/addons/gbu/CfgMagazines.hpp +++ b/addons/gbu/CfgMagazines.hpp @@ -1,29 +1,84 @@ class CfgMagazines { class 2Rnd_GBU12_LGB; + // GBU class GVAR(2Rnd_12): 2Rnd_GBU12_LGB { - displayName = "GBU-12 [ACE]"; + displayName = "2x GBU-12 [ACE]"; + author = "Brandon (TCVM)"; + ammo = QGVAR(12); + }; + + class 4Rnd_Bomb_04_F; + class GVAR(4Rnd_GBU12): 4Rnd_Bomb_04_F { + displayName = "4x GBU-12 [ACE]"; + author = "Brandon (TCVM)"; + ammo = QGVAR(12); + }; + + class magazine_Bomb_GBU12_x1; + class GVAR(gbu12): magazine_Bomb_GBU12_x1 { + displayName = "1x GBU-12 [ACE]"; author = "Brandon (TCVM)"; ammo = QGVAR(12); }; class PylonMissile_1Rnd_Bomb_04_F; class GVAR(1_PylonMissile_1Rnd_12): PylonMissile_1Rnd_Bomb_04_F { - displayName = "GBU-12 [ACE]"; + displayName = "1x GBU-12 [ACE]"; + author = "Brandon (TCVM)"; + ammo = QGVAR(12); + pylonWeapon = QGVAR(12); + }; + + class 2Rnd_GBU12_LGB_MI10; + class GVAR(2Rnd_GBU12_LGB_MI10): 2Rnd_GBU12_LGB_MI10 { + displayName = "2x GBU-12 [ACE]"; + author = "Brandon (TCVM)"; + ammo = QGVAR(12); + pylonWeapon = QGVAR(12); + }; + + class PylonMissile_Bomb_GBU12_x1; + class GVAR(PylonMissile_Bomb_GBU12_x1): PylonMissile_Bomb_GBU12_x1 { + displayName = "1x GBU-12 [ACE]"; + author = "Brandon (TCVM)"; + ammo = QGVAR(12); + pylonWeapon = QGVAR(12); + }; + + class PylonRack_Bomb_GBU12_x2; + class GVAR(PylonRack_Bomb_GBU12_x2): PylonRack_Bomb_GBU12_x2 { + displayName = "2x GBU-12 [ACE]"; author = "Brandon (TCVM)"; ammo = QGVAR(12); pylonWeapon = QGVAR(12); }; + // KAB class magazine_Bomb_KAB250_x1; class GVAR(1Rnd_FAB250): magazine_Bomb_KAB250_x1 { - displayName = "KAB-250M-54 [ACE]"; + displayName = "1x KAB-250M-54 [ACE]"; author = "Brandon (TCVM)"; ammo = QGVAR(FAB250); }; class PylonMissile_Bomb_KAB250_x1; class GVAR(1_PylonMissile_1Rnd_FAB250): PylonMissile_Bomb_KAB250_x1 { - displayName = "KAB-250M-54 [ACE]"; + displayName = "1x KAB-250M-54 [ACE]"; + author = "Brandon (TCVM)"; + ammo = QGVAR(FAB250); + pylonWeapon = QGVAR(FAB250); + }; + + class 2Rnd_Bomb_03_F; + class GVAR(2Rnd_FAB250): 2Rnd_Bomb_03_F { + displayName = "2x KAB-250M-54 [ACE]"; + author = "Brandon (TCVM)"; + ammo = QGVAR(FAB250); + }; + + class PylonMissile_1Rnd_Bomb_03_F; + class GVAR(PylonMissile_1Rnd_FAB250): PylonMissile_1Rnd_Bomb_03_F { + displayName = "1x KAB-250M-54 [ACE]"; author = "Brandon (TCVM)"; ammo = QGVAR(FAB250); pylonWeapon = QGVAR(FAB250); diff --git a/addons/gbu/CfgWeapons.hpp b/addons/gbu/CfgWeapons.hpp index 2c76d0626ca..d7092e54e6e 100644 --- a/addons/gbu/CfgWeapons.hpp +++ b/addons/gbu/CfgWeapons.hpp @@ -2,7 +2,15 @@ class CfgWeapons { class weapon_LGBLauncherBase; class GVAR(12): weapon_LGBLauncherBase { displayName = "GBU-12 [ACE]"; - magazines[] = { QGVAR(2Rnd_12), QGVAR(1_PylonMissile_1Rnd_12) }; + magazines[] = { + QGVAR(2Rnd_12), + QGVAR(2Rnd_GBU12_LGB_MI10), + QGVAR(4Rnd_GBU12), + QGVAR(gbu12), + QGVAR(1_PylonMissile_1Rnd_12), + QGVAR(PylonMissile_Bomb_GBU12_x1), + QGVAR(PylonRack_Bomb_GBU12_x2) + }; EGVAR(laser,canSelect) = 1; // can ace_laser lock (allows switching laser code) EGVAR(laser,showHud) = 1; // show attack profile / lock on hud @@ -10,7 +18,12 @@ class CfgWeapons { class GVAR(FAB250): weapon_LGBLauncherBase { displayName = "FAB-250M-54 [ACE]"; - magazines[] = {QGVAR(1Rnd_FAB250), QGVAR(1_PylonMissile_1Rnd_FAB250)}; + magazines[] = { + QGVAR(1Rnd_FAB250), + QGVAR(2Rnd_FAB250), + QGVAR(1_PylonMissile_1Rnd_FAB250), + QGVAR(PylonMissile_1Rnd_FAB250) + }; EGVAR(laser,canSelect) = 1; // can ace_laser lock (allows switching laser code) EGVAR(laser,showHud) = 1; // show attack profile / lock on hud From 23cd1ef2686d340c9ce2fd9e510211f58da9c9b1 Mon Sep 17 00:00:00 2001 From: Brandon Danyluk Date: Sat, 17 Apr 2021 01:18:52 -0600 Subject: [PATCH 062/254] update todo --- addons/missileguidance/todo.txt | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/addons/missileguidance/todo.txt b/addons/missileguidance/todo.txt index 9cc2c5f620b..a45d9e221b2 100644 --- a/addons/missileguidance/todo.txt +++ b/addons/missileguidance/todo.txt @@ -13,14 +13,13 @@ Weapon Configs: Vikhr - Beam Rider SACLOS - R-73 - Infrared + X R-73 - Infrared X AIM-9 - Infrared X AIM-132 - Infrared X R-77 - AHR X AIM-120 - AHR - KH-25 - Optical X AGM-65 - Optical GBU-SDB - GPS/INS @@ -32,7 +31,8 @@ Seeker Types: X Laser X Optical X Infrared - GPS/INS + GPS/INS - I want a UI to select Pre-Briefed or TOO modes with coordinate boxes for current target. As well as angle of attack + Passive-Radar Homing Navigation Types: X GBU-12 - LOS Guidance @@ -71,5 +71,5 @@ Navigation Types: General To-Do: Add more weapons X Fix GBU drag - Make sure all applicable pylons can hold all applicable weapons + X Make sure all applicable pylons can hold all applicable weapons NLAW is busted: figure out PLOS navigation system From b18508b8f367b377d9b06b1df292d01670106757 Mon Sep 17 00:00:00 2001 From: Brandon Danyluk Date: Sat, 17 Apr 2021 01:27:19 -0600 Subject: [PATCH 063/254] update todo for ground based weapons --- addons/missileguidance/todo.txt | 24 +++++++++++++++++++++--- 1 file changed, 21 insertions(+), 3 deletions(-) diff --git a/addons/missileguidance/todo.txt b/addons/missileguidance/todo.txt index a45d9e221b2..a6bde9ef0a3 100644 --- a/addons/missileguidance/todo.txt +++ b/addons/missileguidance/todo.txt @@ -1,5 +1,5 @@ Weapon Configs: - X Hellfire - Laser + X Hellfire - Laser/Millimeter Wave Radar X AGM-65 - Laser X DAGR - Laser X GBU-12 - Laser @@ -17,8 +17,8 @@ Weapon Configs: X AIM-9 - Infrared X AIM-132 - Infrared - X R-77 - AHR - X AIM-120 - AHR + X R-77 - Doppler Radar + X AIM-120 - Doppler Radar X AGM-65 - Optical @@ -27,6 +27,16 @@ Weapon Configs: AGM-88 - Passive Radar Homing KH-58 - Passive Radar Homing + Titan MRPL - Infrared + AWC Nyx SAAMI - Infrared + IFV-6a Cheetah AA - Infrared + ZSU-39 Tigris AA - Infrared + Mk49 Spartan - Infrared + + Mk21 Centurion - Doppler Radar + MIM-145 - Doppler Radar + S-750 - Doppler Radar + Seeker Types: X Laser X Optical @@ -51,6 +61,11 @@ Navigation Types: AGM-88 - APN KH-58 - APN X AIM-9 - APN + Titan MRPL - APN + AWC Nyx SAAMI - APN + IFV-6a Cheetah AA - APN + ZSU-39 Tigris AA - APN + Mk21 Centurion - APN X Javelin - ZEM X Hellfire - ZEM @@ -58,6 +73,9 @@ Navigation Types: X AIM-120 - ZEM X AIM-132 - ZEM GBU-SDB - ZEM + MIM-145 - ZEM + S-750 - ZEM + Mk49 Spartan - ZEM Navigation State Machine: Todo: Will allow for changing of navigation type in flight to get a more realistic flight profile From e1cdbb777f988218a21ce2b8e035d182ef323ea5 Mon Sep 17 00:00:00 2001 From: Brandon Danyluk Date: Sun, 18 Apr 2021 03:30:10 -0600 Subject: [PATCH 064/254] Add GPS selector dialog for GPS munitions --- addons/missileguidance/GPSDialog.hpp | 246 ++++++++++++++++++ addons/missileguidance/XEH_PREP.hpp | 9 + addons/missileguidance/XEH_pre_init.sqf | 14 + addons/missileguidance/config.cpp | 2 + .../functions/fnc_gps_confirm.sqf | 21 ++ .../functions/fnc_gps_loadAttackSettings.sqf | 53 ++++ .../functions/fnc_gps_modeSelect.sqf | 56 ++++ .../functions/fnc_gps_onLoad.sqf | 36 +++ .../functions/fnc_gps_onUnload.sqf | 18 ++ .../functions/fnc_gps_pbModeCycle.sqf | 36 +++ .../functions/fnc_gps_saveAttackSettings.sqf | 65 +++++ addons/missileguidance/script_component.hpp | 16 ++ 12 files changed, 572 insertions(+) create mode 100644 addons/missileguidance/GPSDialog.hpp create mode 100644 addons/missileguidance/functions/fnc_gps_confirm.sqf create mode 100644 addons/missileguidance/functions/fnc_gps_loadAttackSettings.sqf create mode 100644 addons/missileguidance/functions/fnc_gps_modeSelect.sqf create mode 100644 addons/missileguidance/functions/fnc_gps_onLoad.sqf create mode 100644 addons/missileguidance/functions/fnc_gps_onUnload.sqf create mode 100644 addons/missileguidance/functions/fnc_gps_pbModeCycle.sqf create mode 100644 addons/missileguidance/functions/fnc_gps_saveAttackSettings.sqf diff --git a/addons/missileguidance/GPSDialog.hpp b/addons/missileguidance/GPSDialog.hpp new file mode 100644 index 00000000000..322954bf0d7 --- /dev/null +++ b/addons/missileguidance/GPSDialog.hpp @@ -0,0 +1,246 @@ +#include "\a3\ui_f\hpp\defineCommonGrids.inc" +#include "\a3\ui_f\hpp\defineCommonColors.inc" + +class RscText; +class RscEdit; +class RscPicture; +class RscButton; +class ctrlXSliderH; + +class GVAR(gpsAttackOptionsUI) { + idd = -1; + movingEnable = 1; + enableSimulation = 1; + onLoad = QUOTE(_this call FUNC(gps_onLoad)); + onUnload = QUOTE(call FUNC(gps_onUnload)); + class controlsBackground { + class Header: RscText { + idc = -1; + text = "temp a [header]"; + x = 13.5 * GUI_GRID_W + GUI_GRID_CENTER_X; + y = 5 * GUI_GRID_H + GUI_GRID_CENTER_Y; + w = 18 * GUI_GRID_W; + h = GUI_GRID_H; + colorBackground[] = GUI_BCG_COLOR; + moving = 1; + }; + class Background: RscText { + idd = -1; + x = 13.5 * GUI_GRID_W + GUI_GRID_CENTER_X; + y = 6.1 * GUI_GRID_H + GUI_GRID_CENTER_Y; + w = 18 * GUI_GRID_W; + h = 8.0 * GUI_GRID_H; + colorBackground[] = {0, 0, 0, 0.8}; + }; + }; + class controls { + class TOOButton: RscButton { + idc = GPS_UI_TOO; + text = "TARGET OF OPPORTUNITY"; + onButtonClick = QUOTE([GPS_UI_TOO] call FUNC(gps_modeSelect)); + x = 14 * GUI_GRID_W + GUI_GRID_CENTER_X; + y = 6.3 * GUI_GRID_H + GUI_GRID_CENTER_Y; + w = 10 * GUI_GRID_W; + h = GUI_GRID_H; + colorActive[] = {0, 0, 0, 1}; + colorBackground[] = GUI_BCG_COLOR; + colorFocused[] = {0, 0, 0, 0.8}; + }; + + class PPButton: RscButton { + idc = GPS_UI_PB; + text = "PRE-PLANNED"; + onButtonClick = QUOTE([GPS_UI_PB] call FUNC(gps_modeSelect)); + x = 26 * GUI_GRID_W + GUI_GRID_CENTER_X; + y = 6.3 * GUI_GRID_H + GUI_GRID_CENTER_Y; + w = 5 * GUI_GRID_W; + h = GUI_GRID_H; + colorActive[] = {0, 0, 0, 1}; + colorBackground[] = GUI_BCG_COLOR; + colorFocused[] = {0, 0, 0, 0.8}; + }; + + class PPMission: RscText { + idc = GPS_UI_PB_MISSION; + text = "PP 1"; + onButtonClick = ""; + x = 27.5 * GUI_GRID_W + GUI_GRID_CENTER_X; + y = 7.5 * GUI_GRID_H + GUI_GRID_CENTER_Y; + w = 2 * GUI_GRID_W; + h = GUI_GRID_H; + colorActive[] = {0, 0, 0, 1}; + colorBackground[] = {0, 0, 0, 1}; + colorFocused[] = {0, 0, 0, 0.8}; + align = "CENTER"; + style = 2; + }; + + class PPMissionBackward: RscButton { + idc = GPS_UI_PB_MISSION_BACKWARD; + text = "<<"; + onButtonClick = QUOTE([-1] call FUNC(gps_pbModeCycle)); + x = 26 * GUI_GRID_W + GUI_GRID_CENTER_X; + y = 7.5 * GUI_GRID_H + GUI_GRID_CENTER_Y; + w = 1 * GUI_GRID_W; + h = GUI_GRID_H; + colorActive[] = {0, 0, 0, 1}; + colorBackground[] = {0, 0, 0, 0.8}; + colorFocused[] = {0, 0, 0, 0.8}; + }; + + class PPMissionForward: RscButton { + idc = GPS_UI_PB_MISSION_FORWARD; + text = ">>"; + onButtonClick = QUOTE([1] call FUNC(gps_pbModeCycle)); + x = 30 * GUI_GRID_W + GUI_GRID_CENTER_X; + y = 7.5 * GUI_GRID_H + GUI_GRID_CENTER_Y; + w = 1 * GUI_GRID_W; + h = GUI_GRID_H; + colorActive[] = {0, 0, 0, 1}; + colorBackground[] = {0, 0, 0, 0.8}; + colorFocused[] = {0, 0, 0, 0.8}; + }; + + class TargetPosXText: RscText { + idc = -1; + text = "Easting"; + x = 14 * GUI_GRID_W + GUI_GRID_CENTER_X; + y = 8.5 * GUI_GRID_H + GUI_GRID_CENTER_Y; + w = 3 * GUI_GRID_W; + h = GUI_GRID_H; + colorActive[] = {0, 0, 0, 1}; + colorBackground[] = {0, 0, 0, 0}; + colorFocused[] = {0, 0, 0, 0.8}; + maxChars = 10; + }; + class TargetPosX: RscEdit { + idc = GPS_UI_EASTING; + text = ""; + x = 17.3 * GUI_GRID_W + GUI_GRID_CENTER_X; + y = 8.5 * GUI_GRID_H + GUI_GRID_CENTER_Y; + w = 2.5 * GUI_GRID_W; + h = GUI_GRID_H; + colorActive[] = {0, 0, 0, 1}; + colorBackground[] = {0, 0, 0, 0.8}; + colorFocused[] = {0, 0, 0, 0.8}; + maxChars = 5; + }; + + class TargetPosYText: RscText { + idc = -1; + text = "Northing"; + x = 14 * GUI_GRID_W + GUI_GRID_CENTER_X; + y = 9.7 * GUI_GRID_H + GUI_GRID_CENTER_Y; + w = 3 * GUI_GRID_W; + h = GUI_GRID_H; + colorActive[] = {0, 0, 0, 1}; + colorBackground[] = {0, 0, 0, 0}; + colorFocused[] = {0, 0, 0, 0.8}; + maxChars = 5; + }; + class TargetPosY: TargetPosX { + idc = GPS_UI_NORTHING; + x = 17.3 * GUI_GRID_W + GUI_GRID_CENTER_X; + y = 9.7 * GUI_GRID_H + GUI_GRID_CENTER_Y; + }; + + class TargetPosHeightText: RscText { + idc = -1; + text = "Height"; + x = 14 * GUI_GRID_W + GUI_GRID_CENTER_X; + y = 11.7 * GUI_GRID_H + GUI_GRID_CENTER_Y; + w = 3 * GUI_GRID_W; + h = GUI_GRID_H; + colorActive[] = {0, 0, 0, 1}; + colorBackground[] = {0, 0, 0, 0}; + colorFocused[] = {0, 0, 0, 0.8}; + maxChars = 5; + }; + class TargetPosHeight: TargetPosX { + idc = GPS_UI_HEIGHT; + x = 17.3 * GUI_GRID_W + GUI_GRID_CENTER_X; + y = 11.7 * GUI_GRID_H + GUI_GRID_CENTER_Y; + }; + class TargetPosHeightUnits: RscText { + idc = -1; + text = "m"; + x = 19.6 * GUI_GRID_W + GUI_GRID_CENTER_X; + y = 11.7 * GUI_GRID_H + GUI_GRID_CENTER_Y; + w = 1 * GUI_GRID_W; + h = GUI_GRID_H; + colorActive[] = {0, 0, 0, 1}; + colorBackground[] = {0, 0, 0, 0}; + colorFocused[] = {0, 0, 0, 0.8}; + maxChars = 5; + }; + + class ImpactAngleText: RscText { + idc = -1; + text = "Impact Angle"; + x = 21 * GUI_GRID_W + GUI_GRID_CENTER_X; + y = 9.7 * GUI_GRID_H + GUI_GRID_CENTER_Y; + w = 4 * GUI_GRID_W; + h = GUI_GRID_H; + colorActive[] = {0, 0, 0, 1}; + colorBackground[] = {0, 0, 0, 0}; + colorFocused[] = {0, 0, 0, 0.8}; + maxChars = 5; + }; + class ImpactAngle: RscEdit { + idc = GPS_UI_ANGLE; + x = 26.3 * GUI_GRID_W + GUI_GRID_CENTER_X; + y = 9.7 * GUI_GRID_H + GUI_GRID_CENTER_Y; + w = 2 * GUI_GRID_W; + h = GUI_GRID_H; + text = ""; + colorActive[] = {0, 0, 0, 1}; + colorBackground[] = {0, 0, 0, 0.8}; + colorFocused[] = {0, 0, 0, 0.8}; + maxChars = 2; + }; + + class AttackHeadingText: RscText { + idc = -1; + text = "Attack Heading"; + x = 21 * GUI_GRID_W + GUI_GRID_CENTER_X; + y = 11 * GUI_GRID_H + GUI_GRID_CENTER_Y; + w = 5 * GUI_GRID_W; + h = GUI_GRID_H; + colorActive[] = {0, 0, 0, 1}; + colorBackground[] = {0, 0, 0, 0}; + colorFocused[] = {0, 0, 0, 0.8}; + maxChars = 5; + }; + class AttackHeading: RscEdit { + idc = GPS_UI_HEADING; + x = 26.3 * GUI_GRID_W + GUI_GRID_CENTER_X; + y = 11 * GUI_GRID_H + GUI_GRID_CENTER_Y; + w = 2 * GUI_GRID_W; + h = GUI_GRID_H; + text = ""; + colorActive[] = {0, 0, 0, 1}; + colorBackground[] = {0, 0, 0, 0.8}; + colorFocused[] = {0, 0, 0, 0.8}; + maxChars = 3; + }; + + class CancelButton: RscButton { + idc = -1; + text = "temp b [cancel]"; + onButtonClick = QUOTE(closeDialog 0); + x = 13.5 * GUI_GRID_W + GUI_GRID_CENTER_X; + y = 14.2 * GUI_GRID_H + GUI_GRID_CENTER_Y; + w = 5 * GUI_GRID_W; + h = GUI_GRID_H; + colorActive[] = {0, 0, 0, 1}; + colorBackground[] = {0, 0, 0, 0.8}; + colorFocused[] = {0, 0, 0, 0.8}; + }; + class ConfirmButton: CancelButton { + idc = IDC_TIMER_CONFIRM; + text = "temp c [confirm]"; + onButtonClick = QUOTE([] call FUNC(gps_confirm)); + x = 26.5 * GUI_GRID_W + GUI_GRID_CENTER_X; + }; + }; +}; diff --git a/addons/missileguidance/XEH_PREP.hpp b/addons/missileguidance/XEH_PREP.hpp index 8206cf49f75..65347b45cc1 100644 --- a/addons/missileguidance/XEH_PREP.hpp +++ b/addons/missileguidance/XEH_PREP.hpp @@ -59,3 +59,12 @@ PREP(proNav_onFired); // State transitions PREP(javelin_midCourseTransition); +// GPS ui +PREP(gps_onLoad); +PREP(gps_onUnload); +PREP(gps_pbModeCycle); +PREP(gps_confirm); +PREP(gps_modeSelect); +PREP(gps_saveAttackSettings); +PREP(gps_loadAttackSettings); + diff --git a/addons/missileguidance/XEH_pre_init.sqf b/addons/missileguidance/XEH_pre_init.sqf index 65970b6d655..3c592d09b26 100644 --- a/addons/missileguidance/XEH_pre_init.sqf +++ b/addons/missileguidance/XEH_pre_init.sqf @@ -11,6 +11,20 @@ PREP_RECOMPILE_END; // As weapons take config changes, there is little point in being able to disable guidance if (isNil QGVAR(enabled)) then { GVAR(enabled) = 2; }; +GVAR(gps_currentSettings) = [ + [0, 0, 0], // attack position + -1, // impact angle + -1 // attack heading +]; + +GVAR(gps_pbMode) = 0; +GVAR(gps_settings) = createHashMap; +for "_i" from 0 to MAX_PB_MODES do { + GVAR(gps_settings) set [_i, GVAR(currentSettings)]; +}; + +GVAR(mode) = "pb"; + GVAR(debug_enableMissileCamera) = true; GVAR(debug_drawGuidanceInfo) = false; diff --git a/addons/missileguidance/config.cpp b/addons/missileguidance/config.cpp index e98d99ebcbb..61f879f7702 100644 --- a/addons/missileguidance/config.cpp +++ b/addons/missileguidance/config.cpp @@ -19,3 +19,5 @@ class CfgPatches { #include "CfgAmmo.hpp" #include "CfgMagazines.hpp" #include "CfgWeapons.hpp" + +#include "GPSDialog.hpp" diff --git a/addons/missileguidance/functions/fnc_gps_confirm.sqf b/addons/missileguidance/functions/fnc_gps_confirm.sqf new file mode 100644 index 00000000000..f259f7d2c68 --- /dev/null +++ b/addons/missileguidance/functions/fnc_gps_confirm.sqf @@ -0,0 +1,21 @@ +#include "script_component.hpp" +/* + * Author: Brandon (TCVM) + * Confirm GPS weapon settings and serialize to variables + * + * Arguments: + * Guidance Arg Array + * + * Return Value: + * None + * + * Example: + * [] call ace_missileguidance_fnc_gps_confirm + * + * Public: No + */ +if (GVAR(mode) isEqualTo "pb") then { + [GVAR(gps_pbMode)] call FUNC(gps_saveAttackSettings); +}; +closeDialog 0; + diff --git a/addons/missileguidance/functions/fnc_gps_loadAttackSettings.sqf b/addons/missileguidance/functions/fnc_gps_loadAttackSettings.sqf new file mode 100644 index 00000000000..e038bccaaef --- /dev/null +++ b/addons/missileguidance/functions/fnc_gps_loadAttackSettings.sqf @@ -0,0 +1,53 @@ +#include "script_component.hpp" +/* + * Author: Brandon (TCVM) + * Saves all textboxes to whatever settings say for PB mode + * + * Arguments: + * Current PB mode + * + * Return Value: + * None + * + * Example: + * [] call ace_missileguidance_fnc_gps_saveAttackSettings + * + * Public: No + */ +params ["_mode"]; +private _display = uiNamespace getVariable QGVAR(gpsAttackOptionDisplay); + +private _settings = GVAR(gps_settings) get _mode; + +_settings params ["_position", "_angle", "_heading"]; +private _height = _position select 2; + +private _grid = [_position] call EFUNC(common,getMapGridFromPos); +_grid params ["_easting", "_northing"]; + +if (_angle < 0) then { + _angle = ""; +} else { + _angle = str _angle; +}; + +if (_heading < 0) then { + _heading = ""; +} else { + _heading = str _heading; +}; + +if (0 == parseNumber _easting) then { + _easting = ""; +}; + +if (0 == parseNumber _northing) then { + _northing = ""; +}; + +(_display displayCtrl GPS_UI_EASTING) ctrlSetText _easting; +(_display displayCtrl GPS_UI_NORTHING) ctrlSetText _northing; +(_display displayCtrl GPS_UI_HEIGHT) ctrlSetText str _height; +(_display displayCtrl GPS_UI_ANGLE) ctrlSetText _angle; +(_display displayCtrl GPS_UI_HEADING) ctrlSetText _heading; + diff --git a/addons/missileguidance/functions/fnc_gps_modeSelect.sqf b/addons/missileguidance/functions/fnc_gps_modeSelect.sqf new file mode 100644 index 00000000000..f7233359831 --- /dev/null +++ b/addons/missileguidance/functions/fnc_gps_modeSelect.sqf @@ -0,0 +1,56 @@ +#include "script_component.hpp" +#include "\a3\ui_f\hpp\defineCommonColors.inc" +/* + * Author: Brandon (TCVM) + * Select either TOO or PB mode. Disable anything that shouldnt be touched in TOO and renable in PB + * + * Arguments: + * Mode to switch to + * + * Return Value: + * None + * + * Example: + * [0] call ace_missileguidance_fnc_gps_modeSelect + * + * Public: No + */ +params ["_mode", ["_onLoad", false]]; +private _display = uiNamespace getVariable QGVAR(gpsAttackOptionDisplay); + +{ + // only TOO and PB modes modelled + if (_mode == GPS_UI_TOO) then { + // disable + ctrlEnable [_x, false]; + } else { + // enable + ctrlEnable [_x, true]; + }; +} forEach CONTROLS_DISABLED_IN_TOO; + +private _backgroundColour = [ + GUI_BCG_RGB_R call BIS_fnc_parseNumber, + GUI_BCG_RGB_G call BIS_fnc_parseNumber, + GUI_BCG_RGB_B call BIS_fnc_parseNumber, + GUI_BCG_ALPHA call BIS_fnc_parseNumber +]; + +private _selectedColour = [ + 0, + 0, + 0, + 1 +]; + +ctrlSetFocus (_display displayCtrl _mode); +if (_mode == GPS_UI_TOO) then { + GVAR(mode) = "too"; + if !(_onLoad) then { + [GVAR(gps_pbMode)] call FUNC(gps_saveAttackSettings); + }; +} else { + GVAR(mode) = "pb"; + [GVAR(gps_pbMode)] call FUNC(gps_loadAttackSettings); +}; + diff --git a/addons/missileguidance/functions/fnc_gps_onLoad.sqf b/addons/missileguidance/functions/fnc_gps_onLoad.sqf new file mode 100644 index 00000000000..7aaa2fd00d5 --- /dev/null +++ b/addons/missileguidance/functions/fnc_gps_onLoad.sqf @@ -0,0 +1,36 @@ +#include "script_component.hpp" +/* + * Author: Brandon (TCVM) + * Called on load of GPS UI + * + * Arguments: + * Display + * + * Return Value: + * None + * + * Example: + * [1] call ace_missileguidance_fnc_gps_onLoad + * + * Public: No + */ +[{ + params ["_display"]; + uiNamespace setVariable [QGVAR(gpsAttackOptionDisplay), _display]; + + private _mode = if (GVAR(mode) isEqualTo "too") then { + GPS_UI_TOO + } else { + GPS_UI_PB + }; + + [_mode, true] call FUNC(gps_modeSelect); + (_display displayCtrl GPS_UI_PB_MISSION) ctrlSetText format ["PP %1", GVAR(gps_pbMode) + 1]; + + // update current settings + GVAR(gps_uiPerFrameHandler) = [{ + GVAR(gps_currentSettings) = [-1] call FUNC(gps_saveAttackSettings); + systemChat str GVAR(gps_currentSettings); + }] call CBA_fnc_addPerFrameHandler; +}, _this] call CBA_fnc_execNextFrame; + diff --git a/addons/missileguidance/functions/fnc_gps_onUnload.sqf b/addons/missileguidance/functions/fnc_gps_onUnload.sqf new file mode 100644 index 00000000000..dcfa9baf2b6 --- /dev/null +++ b/addons/missileguidance/functions/fnc_gps_onUnload.sqf @@ -0,0 +1,18 @@ +#include "script_component.hpp" +/* + * Author: Brandon (TCVM) + * Called on unload of GPS UI + * + * Arguments: + * Display + * + * Return Value: + * None + * + * Example: + * [] call ace_missileguidance_fnc_gps_onUnload + * + * Public: No + */ +[GVAR(gps_uiPerFrameHandler)] call CBA_fnc_removePerFrameHandler; +systemChat "unload"; diff --git a/addons/missileguidance/functions/fnc_gps_pbModeCycle.sqf b/addons/missileguidance/functions/fnc_gps_pbModeCycle.sqf new file mode 100644 index 00000000000..8e6759ed5f2 --- /dev/null +++ b/addons/missileguidance/functions/fnc_gps_pbModeCycle.sqf @@ -0,0 +1,36 @@ +#include "script_component.hpp" +/* + * Author: Brandon (TCVM) + * Cycle pre-briefed mission mode + * + * Arguments: + * Direction + * + * Return Value: + * None + * + * Example: + * [1] call ace_missileguidance_fnc_gps_pbModeCycle + * + * Public: No + */ +params ["_direction"]; +private _display = uiNamespace getVariable QGVAR(gpsAttackOptionDisplay); + +[GVAR(gps_pbMode)] call FUNC(gps_saveAttackSettings); + +if (_direction > 0) then { + // right + GVAR(gps_pbMode) = (GVAR(gps_pbMode) + 1) % MAX_PB_MODES +} else { + // left + GVAR(gps_pbMode) = (GVAR(gps_pbMode) - 1); + if (GVAR(gps_pbMode) < 0) then { + GVAR(gps_pbMode) = MAX_PB_MODES - 1; + }; + GVAR(gps_pbMode) = GVAR(gps_pbMode) % MAX_PB_MODES; +}; + +[GVAR(gps_pbMode)] call FUNC(gps_loadAttackSettings); +(_display displayCtrl GPS_UI_PB_MISSION) ctrlSetText format ["PP %1", GVAR(gps_pbMode) + 1]; + diff --git a/addons/missileguidance/functions/fnc_gps_saveAttackSettings.sqf b/addons/missileguidance/functions/fnc_gps_saveAttackSettings.sqf new file mode 100644 index 00000000000..9a8c62a9279 --- /dev/null +++ b/addons/missileguidance/functions/fnc_gps_saveAttackSettings.sqf @@ -0,0 +1,65 @@ +#include "script_component.hpp" +/* + * Author: Brandon (TCVM) + * Saves all textboxes to whatever settings say for PB mode + * + * Arguments: + * Current PB mode. If -1 no mode is used + * + * Return Value: + * current settings + * + * Example: + * [-1] call ace_missileguidance_fnc_gps_saveAttackSettings + * + * Public: No + */ +params ["_mode"]; +private _display = uiNamespace getVariable QGVAR(gpsAttackOptionDisplay); + +private _easting = ctrlText (_display displayCtrl GPS_UI_EASTING); +private _northing = ctrlText (_display displayCtrl GPS_UI_NORTHING); +private _height = ctrlText (_display displayCtrl GPS_UI_HEIGHT); +private _angle = ctrlText (_display displayCtrl GPS_UI_ANGLE); +private _heading = ctrlText (_display displayCtrl GPS_UI_HEADING); + +if (_height isEqualTo "") then { + _height = 0 +} else { + _height = parseNumber _height; +}; + +if (_angle isEqualTo "") then { + _angle = -1 +} else { + _angle = parseNumber _angle; +}; + +if (_heading isEqualTo "") then { + _heading = -1 +} else { + _heading = parseNumber _heading; +}; + +private _minGridCount = (count _easting) min (count _northing); + +private _grid = (_easting select [0, _minGridCount]) + (_northing select [0, _minGridCount]); +private _position = if (_grid isEqualTo "") then { + [0, 0, 0] +} else { + [_grid, false] call EFUNC(common,getMapPosFromGrid); +}; +_position set [2, _height]; + +TRACE_3("settings gps pos",_position,_angle,_heading); + +private _settings = [ + _position, // attack position + _angle, // impact angle + _heading // attack heading +]; + +if (_mode != -1) then { + GVAR(gps_settings) set [_mode, _settings]; +}; +_settings diff --git a/addons/missileguidance/script_component.hpp b/addons/missileguidance/script_component.hpp index 9aa0ec530a5..061e6c6fcbf 100644 --- a/addons/missileguidance/script_component.hpp +++ b/addons/missileguidance/script_component.hpp @@ -30,3 +30,19 @@ #define ACTIVE_RADAR_POLL_FREQUENCY (1 / 7) #define ACTIVE_RADAR_MINIMUM_SCAN_AREA 30 + +#define GPS_UI_TOO 1704211 +#define GPS_UI_PB 1704112 +#define GPS_UI_PB_MISSION 1704113 +#define GPS_UI_PB_MISSION_BACKWARD 1704114 +#define GPS_UI_PB_MISSION_FORWARD 1704115 +#define GPS_UI_EASTING 1704116 +#define GPS_UI_NORTHING 1704117 +#define GPS_UI_HEIGHT 1704118 +#define GPS_UI_ANGLE 1704119 +#define GPS_UI_HEADING 1704120 + +#define CONTROLS_DISABLED_IN_TOO [GPS_UI_PB_MISSION_BACKWARD, GPS_UI_PB_MISSION_FORWARD, GPS_UI_EASTING, GPS_UI_NORTHING, GPS_UI_HEIGHT] + +#define MAX_PB_MODES 6 + From 3878c67c871d04e3e9008162ee0b0fe67b95625d Mon Sep 17 00:00:00 2001 From: Brandon Danyluk Date: Sun, 18 Apr 2021 23:05:56 -0600 Subject: [PATCH 065/254] add TOO TGP --- .../functions/fnc_gps_onLoad.sqf | 19 ++++++++++++++++++- 1 file changed, 18 insertions(+), 1 deletion(-) diff --git a/addons/missileguidance/functions/fnc_gps_onLoad.sqf b/addons/missileguidance/functions/fnc_gps_onLoad.sqf index 7aaa2fd00d5..0117c216ba9 100644 --- a/addons/missileguidance/functions/fnc_gps_onLoad.sqf +++ b/addons/missileguidance/functions/fnc_gps_onLoad.sqf @@ -29,8 +29,25 @@ // update current settings GVAR(gps_uiPerFrameHandler) = [{ + if (GVAR(mode) isEqualTo "too") then { + // update coordinates based on TGP position + private _target = getPilotCameraTarget (vehicle ACE_PLAYER); + _target params ["_tracking", "_position", "_object"]; + + if (_position isNotEqualTo [0, 0, 0]) then { + private _mapGrid = [_position] call EFUNC(common,getMapGridFromPos); + _mapGrid params ["_easting", "_northing"]; + private _height = _position#2; + + private _display = uiNamespace getVariable QGVAR(gpsAttackOptionDisplay); + (_display displayCtrl GPS_UI_EASTING) ctrlSetText _easting; + (_display displayCtrl GPS_UI_NORTHING) ctrlSetText _northing; + (_display displayCtrl GPS_UI_HEIGHT) ctrlSetText str _height; + }; + }; + + // info is read from text boxes, so if boxes are update this will be updated GVAR(gps_currentSettings) = [-1] call FUNC(gps_saveAttackSettings); - systemChat str GVAR(gps_currentSettings); }] call CBA_fnc_addPerFrameHandler; }, _this] call CBA_fnc_execNextFrame; From 44b7b874fd7018cff1c09aae3701415237643ada Mon Sep 17 00:00:00 2001 From: Brandon Danyluk Date: Mon, 19 Apr 2021 01:27:49 -0600 Subject: [PATCH 066/254] Add SDB and JDAM --- addons/missileguidance/ACE_GuidanceConfig.hpp | 16 +++++ addons/missileguidance/XEH_PREP.hpp | 5 ++ addons/missileguidance/XEH_pre_init.sqf | 18 ++++-- .../functions/fnc_attackProfile_JDAM.sqf | 58 +++++++++++++++++++ .../functions/fnc_gps_attackOnFired.sqf | 23 ++++++++ .../functions/fnc_gps_confirm.sqf | 2 +- .../functions/fnc_gps_getAttackData.sqf | 24 ++++++++ .../functions/fnc_gps_modeSelect.sqf | 4 +- .../functions/fnc_gps_onLoad.sqf | 4 +- .../functions/fnc_gps_seekerOnFired.sqf | 20 +++++++ .../functions/fnc_seekerType_GPS.sqf | 28 +++++++++ addons/missileguidance/script_component.hpp | 2 +- addons/sdb/$PBOPREFIX$ | 1 + addons/sdb/CfgAmmo.hpp | 37 ++++++++++++ addons/sdb/CfgMagazines.hpp | 17 ++++++ addons/sdb/CfgWeapons.hpp | 12 ++++ addons/sdb/README.md | 12 ++++ addons/sdb/config.cpp | 20 +++++++ addons/sdb/script_component.hpp | 18 ++++++ 19 files changed, 310 insertions(+), 11 deletions(-) create mode 100644 addons/missileguidance/functions/fnc_attackProfile_JDAM.sqf create mode 100644 addons/missileguidance/functions/fnc_gps_attackOnFired.sqf create mode 100644 addons/missileguidance/functions/fnc_gps_getAttackData.sqf create mode 100644 addons/missileguidance/functions/fnc_gps_seekerOnFired.sqf create mode 100644 addons/missileguidance/functions/fnc_seekerType_GPS.sqf create mode 100644 addons/sdb/$PBOPREFIX$ create mode 100644 addons/sdb/CfgAmmo.hpp create mode 100644 addons/sdb/CfgMagazines.hpp create mode 100644 addons/sdb/CfgWeapons.hpp create mode 100644 addons/sdb/README.md create mode 100644 addons/sdb/config.cpp create mode 100644 addons/sdb/script_component.hpp diff --git a/addons/missileguidance/ACE_GuidanceConfig.hpp b/addons/missileguidance/ACE_GuidanceConfig.hpp index 0960e7fab20..5fc73110ef0 100644 --- a/addons/missileguidance/ACE_GuidanceConfig.hpp +++ b/addons/missileguidance/ACE_GuidanceConfig.hpp @@ -55,6 +55,14 @@ class GVAR(AttackProfiles) { functionName = QFUNC(attackProfile_BEAM); onFired = QFUNC(wire_onFired); // since Beam guidance is pretty much the same as Wire guidance, we can reuse this }; + class JDAM { + name = ""; + visualName = ""; + description = ""; + + functionName = QFUNC(attackProfile_JDAM); + onFired = QFUNC(gps_attackOnFired); + } }; class GVAR(SeekerTypes) { @@ -104,6 +112,14 @@ class GVAR(SeekerTypes) { functionName = QFUNC(seekerType_IR); onFired = QFUNC(IR_onFired); }; + class GPS { + name = ""; + visualName = ""; + description = ""; + + functionName = QFUNC(seekerType_GPS); + onFired = QFUNC(gps_seekerOnFired); + }; }; class GVAR(NavigationTypes) { diff --git a/addons/missileguidance/XEH_PREP.hpp b/addons/missileguidance/XEH_PREP.hpp index 65347b45cc1..5ec6f2e6e4f 100644 --- a/addons/missileguidance/XEH_PREP.hpp +++ b/addons/missileguidance/XEH_PREP.hpp @@ -25,6 +25,7 @@ PREP(attackProfile_LIN); PREP(attackProfile_LOFT); PREP(attackProfile_WIRE); PREP(attackProfile_BEAM); +PREP(attackProfile_JDAM); // Javelin profiles PREP(attackProfile_JAV_DIR); @@ -43,15 +44,18 @@ PREP(seekerType_SACLOS); PREP(seekerType_Doppler); PREP(seekerType_MWR); PREP(seekerType_IR); +PREP(seekerType_GPS); // Attack Profiles OnFired PREP(wire_onFired); +PREP(gps_attackOnFired); // Seeker OnFired PREP(SACLOS_onFired); PREP(doppler_onFired); PREP(mwr_onFired); PREP(IR_onFired); +PREP(gps_seekerOnFired); // Navigation OnFired PREP(proNav_onFired); @@ -67,4 +71,5 @@ PREP(gps_confirm); PREP(gps_modeSelect); PREP(gps_saveAttackSettings); PREP(gps_loadAttackSettings); +PREP(gps_getAttackData); diff --git a/addons/missileguidance/XEH_pre_init.sqf b/addons/missileguidance/XEH_pre_init.sqf index 3c592d09b26..77c88c7ab0d 100644 --- a/addons/missileguidance/XEH_pre_init.sqf +++ b/addons/missileguidance/XEH_pre_init.sqf @@ -12,9 +12,9 @@ PREP_RECOMPILE_END; if (isNil QGVAR(enabled)) then { GVAR(enabled) = 2; }; GVAR(gps_currentSettings) = [ - [0, 0, 0], // attack position - -1, // impact angle - -1 // attack heading + [0, 0, 0], // attack position + -1, // impact angle + -1 // attack heading ]; GVAR(gps_pbMode) = 0; @@ -23,9 +23,17 @@ for "_i" from 0 to MAX_PB_MODES do { GVAR(gps_settings) set [_i, GVAR(currentSettings)]; }; -GVAR(mode) = "pb"; +GVAR(gps_mode) = "pb"; +GVAR(debug_enableMissileCamera) = false; +GVAR(debug_drawGuidanceInfo) = true; + +#ifdef DRAW_GUIDANCE_INFO +GVAR(debug_drawGuidanceInfo) = true; +#endif + +#ifdef ENABLE_PROJECTILE_CAMERA GVAR(debug_enableMissileCamera) = true; -GVAR(debug_drawGuidanceInfo) = false; +#endif ADDON = true; diff --git a/addons/missileguidance/functions/fnc_attackProfile_JDAM.sqf b/addons/missileguidance/functions/fnc_attackProfile_JDAM.sqf new file mode 100644 index 00000000000..11e39b848c1 --- /dev/null +++ b/addons/missileguidance/functions/fnc_attackProfile_JDAM.sqf @@ -0,0 +1,58 @@ +#include "script_component.hpp" +/* + * Author: Brandon (TCVM) + * Attack profile: JDAM + * Glides until attack angle, and then dives in + * + * Arguments: + * 0: Seeker Target PosASL + * 1: Guidance Arg Array + * 2: Seeker State + * + * Return Value: + * Missile Aim PosASL + * + * Example: + * [[1,2,3], [], []] call ace_missileguidance_fnc_attackProfile_jdam; + * + * Public: No + */ +params ["_seekerTargetPos", "_args", "_attackProfileStateParams"]; +_args params ["_firedEH", "", "_flightParams", "", "", "_targetData"]; +_firedEH params ["_shooter","","","","","","_projectile"]; +_attackProfileStateParams params ["_gpsData", "_initialProjectileHeight", "_terminal"]; +_gpsData params ["", "_impactAngle", "_attackDirection"]; +_targetData params ["_directionToTarget", "", "_distanceToTarget"]; +_flightParams params ["_pitchRate", "_yawRate"]; + +if (_impactAngle <= 0) then { + _impactAngle = 360; // immediate pitch over to attack +}; + +if (_attackDirection < 0) then { + _attackDirection = direction _projectile; +}; + +private _targetPos = _seekerTargetPos; +if !(_terminal) then { + _targetPos set [2, (_seekerTargetPos select 2) + 500]; + private _timeToGo = ((getPosASL _projectile) distance _targetPos) / vectorMagnitude velocity _projectile; + + private _pitchTime = 0.5 * _pitchRate * _timeToGo; + + private _atMinRotationAngle = _pitchTime <= _impactAngle; + _attackProfileStateParams set [2, _atMinRotationAngle]; + + if (GVAR(debug_drawGuidanceInfo)) then { + _attackProfileName = format ["JDAM [%1]", _pitchTime]; + }; +}; + +if (GVAR(debug_drawGuidanceInfo)) then { + private _desiredAngle = [5000, 180 + _attackDirection, _impactAngle] call CBA_fnc_polar2vect; + private _projectilePosAGL = ASLtoAGL _seekerTargetPos; + drawLine3D [_projectilePosAGL, _projectilePosAGL vectorAdd _desiredAngle, [1, 0, 0, 1]]; +}; + +_targetPos; + diff --git a/addons/missileguidance/functions/fnc_gps_attackOnFired.sqf b/addons/missileguidance/functions/fnc_gps_attackOnFired.sqf new file mode 100644 index 00000000000..fd633c324da --- /dev/null +++ b/addons/missileguidance/functions/fnc_gps_attackOnFired.sqf @@ -0,0 +1,23 @@ +#include "script_component.hpp" +/* + * Author: Brandon (TCVM) + * Sets up wireGuided state arrays (called from missileGuidance's onFired). + * + * Arguments: + * Guidance Arg Array + * + * Return Value: + * None + * + * Example: + * [] call ace_missileguidance_fnc_wire_onFired + * + * Public: No + */ +params ["_firedEH", "", "", "", "_stateParams", "", ""]; +_stateParams params ["", "", "_attackProfileStateParams"]; +_firedEH params ["_shooter","","","","_ammo","","_projectile"]; + +_attackProfileStateParams set [0, [] call FUNC(gps_getAttackData)]; +_attackProfileStateParams set [1, (getPosASL _projectile) select 2]; +_attackProfileStateParams set [2, false]; diff --git a/addons/missileguidance/functions/fnc_gps_confirm.sqf b/addons/missileguidance/functions/fnc_gps_confirm.sqf index f259f7d2c68..afc4665fd6f 100644 --- a/addons/missileguidance/functions/fnc_gps_confirm.sqf +++ b/addons/missileguidance/functions/fnc_gps_confirm.sqf @@ -14,7 +14,7 @@ * * Public: No */ -if (GVAR(mode) isEqualTo "pb") then { +if (GVAR(gps_mode) isEqualTo "pb") then { [GVAR(gps_pbMode)] call FUNC(gps_saveAttackSettings); }; closeDialog 0; diff --git a/addons/missileguidance/functions/fnc_gps_getAttackData.sqf b/addons/missileguidance/functions/fnc_gps_getAttackData.sqf new file mode 100644 index 00000000000..247e441982c --- /dev/null +++ b/addons/missileguidance/functions/fnc_gps_getAttackData.sqf @@ -0,0 +1,24 @@ +#include "script_component.hpp" +/* + * Author: Brandon (TCVM) + * Returns attack data for GPS guided bomb + * + * Arguments: + * None + * + * Return Value: + * None + * + * Example: + * [] call ace_missileguidance_fnc_gps_getAttackData + * + * Public: No + */ + +if (GVAR(gps_mode) isEqualTo "too") then { + private _target = getPilotCameraTarget (vehicle ACE_PLAYER); + _target params ["_tracking", "_position", "_object"]; + GVAR(gps_currentSettings) set [0, _position] +}; +GVAR(gps_currentSettings) + diff --git a/addons/missileguidance/functions/fnc_gps_modeSelect.sqf b/addons/missileguidance/functions/fnc_gps_modeSelect.sqf index f7233359831..bc620b875d8 100644 --- a/addons/missileguidance/functions/fnc_gps_modeSelect.sqf +++ b/addons/missileguidance/functions/fnc_gps_modeSelect.sqf @@ -45,12 +45,12 @@ private _selectedColour = [ ctrlSetFocus (_display displayCtrl _mode); if (_mode == GPS_UI_TOO) then { - GVAR(mode) = "too"; + GVAR(gps_mode) = "too"; if !(_onLoad) then { [GVAR(gps_pbMode)] call FUNC(gps_saveAttackSettings); }; } else { - GVAR(mode) = "pb"; + GVAR(gps_mode) = "pb"; [GVAR(gps_pbMode)] call FUNC(gps_loadAttackSettings); }; diff --git a/addons/missileguidance/functions/fnc_gps_onLoad.sqf b/addons/missileguidance/functions/fnc_gps_onLoad.sqf index 0117c216ba9..5edff41e4ee 100644 --- a/addons/missileguidance/functions/fnc_gps_onLoad.sqf +++ b/addons/missileguidance/functions/fnc_gps_onLoad.sqf @@ -18,7 +18,7 @@ params ["_display"]; uiNamespace setVariable [QGVAR(gpsAttackOptionDisplay), _display]; - private _mode = if (GVAR(mode) isEqualTo "too") then { + private _mode = if (GVAR(gps_mode) isEqualTo "too") then { GPS_UI_TOO } else { GPS_UI_PB @@ -29,7 +29,7 @@ // update current settings GVAR(gps_uiPerFrameHandler) = [{ - if (GVAR(mode) isEqualTo "too") then { + if (GVAR(gps_mode) isEqualTo "too") then { // update coordinates based on TGP position private _target = getPilotCameraTarget (vehicle ACE_PLAYER); _target params ["_tracking", "_position", "_object"]; diff --git a/addons/missileguidance/functions/fnc_gps_seekerOnFired.sqf b/addons/missileguidance/functions/fnc_gps_seekerOnFired.sqf new file mode 100644 index 00000000000..fa6bd8d1672 --- /dev/null +++ b/addons/missileguidance/functions/fnc_gps_seekerOnFired.sqf @@ -0,0 +1,20 @@ +#include "script_component.hpp" +/* + * Author: Brandon (TCVM) + * Sets up wireGuided state arrays (called from missileGuidance's onFired). + * + * Arguments: + * Guidance Arg Array + * + * Return Value: + * None + * + * Example: + * [] call ace_missileguidance_fnc_wire_onFired + * + * Public: No + */ +params ["", "", "", "", "_stateParams", "", ""]; +_stateParams params ["", "_seekerStateParams"]; + +_seekerStateParams set [0, [] call FUNC(gps_getAttackData)]; diff --git a/addons/missileguidance/functions/fnc_seekerType_GPS.sqf b/addons/missileguidance/functions/fnc_seekerType_GPS.sqf new file mode 100644 index 00000000000..00941fc8512 --- /dev/null +++ b/addons/missileguidance/functions/fnc_seekerType_GPS.sqf @@ -0,0 +1,28 @@ +#include "script_component.hpp" +/* + * Author: Brandon (TCVM) + * Returns GPS position. That's it. + * + * Arguments: + * 1: Guidance Arg Array + * 2: Seeker State + * + * Return Value: + * Position of wanted missile pos relative to the camera direction + * + * Example: + * [] call ace_missileguidance_fnc_seekerType_gps + * + * Public: No + */ +params ["", "_args", "_seekerStateParams"]; +_args params ["", "", "", "", "", "_targetData"]; +(_seekerStateParams select 0) params ["_attackPosition"]; + +_targetData set [0, (getPosASL _projectile) vectorFromTo _attackPosition]; +_targetData set [2, (getPosASL _projectile) distance _attackPosition]; +_targetData set [3, [0, 0, 0]]; +_targetData set [4, [0, 0, 0]]; + +_attackPosition + diff --git a/addons/missileguidance/script_component.hpp b/addons/missileguidance/script_component.hpp index 061e6c6fcbf..70c679a1b9d 100644 --- a/addons/missileguidance/script_component.hpp +++ b/addons/missileguidance/script_component.hpp @@ -2,7 +2,7 @@ #define COMPONENT_BEAUTIFIED Missile Guidance #include "\z\ace\addons\main\script_mod.hpp" -// #define DRAW_GUIDANCE_INFO + #define DRAW_GUIDANCE_INFO // #define ENABLE_PROJECTILE_CAMERA // #define DEBUG_MODE_FULL #define DISABLE_COMPILE_CACHE diff --git a/addons/sdb/$PBOPREFIX$ b/addons/sdb/$PBOPREFIX$ new file mode 100644 index 00000000000..beebd4b8247 --- /dev/null +++ b/addons/sdb/$PBOPREFIX$ @@ -0,0 +1 @@ +z\ace\addons\sdb \ No newline at end of file diff --git a/addons/sdb/CfgAmmo.hpp b/addons/sdb/CfgAmmo.hpp new file mode 100644 index 00000000000..4bf8c383a5d --- /dev/null +++ b/addons/sdb/CfgAmmo.hpp @@ -0,0 +1,37 @@ +class CfgAmmo { + class ammo_Bomb_SDB; + class GVAR(sdb): ammo_Bomb_SDB { + author = "Brandon (TCVM)"; + maneuvrability = 0; // no maneuvrability so that default guidance doesnt work + class ace_missileguidance { + enabled = 1; + + pitchRate = 15; + yawRate = 5; + + canVanillaLock = 0; // Can this default vanilla lock? Only applicable to non-cadet mode + + // Guidance type for munitions + defaultSeekerType = "GPS"; + seekerTypes[] = { "GPS" }; + + defaultSeekerLockMode = "LOBL"; + seekerLockModes[] = { "LOBL" }; + + defaultNavigationType = "ZeroEffortMiss"; + navigationTypes[] = { "ZeroEffortMiss" }; + + seekLastTargetPos = 0; // seek last target position [if seeker loses LOS of target, continue to last known pos] + seekerAngle = 60; // Angle from the shooter's view that can track the missile + seekerAccuracy = 1; // seeker accuracy multiplier + + seekerMinRange = 5; + seekerMaxRange = 4000; // Range from the missile which the seeker can visually search + + // Attack profile type selection + defaultAttackProfile = "JDAM"; + attackProfiles[] = {"JDAM"}; + }; + }; +}; + diff --git a/addons/sdb/CfgMagazines.hpp b/addons/sdb/CfgMagazines.hpp new file mode 100644 index 00000000000..24f08a67b0c --- /dev/null +++ b/addons/sdb/CfgMagazines.hpp @@ -0,0 +1,17 @@ +class CfgMagazines { + class magazine_Bomb_SDB_x1; + class PylonRack_Bomb_SDB_x4; + class GVAR(magazine_bomb_SDB_x1): magazine_Bomb_SDB_x1 { + displayName = "1x GBU-39 [ACE]"; + author = "Brandon (TCVM)"; + ammo = QGVAR(sdb); + }; + + class GVAR(PylonRack_bomb_SDB_x4): PylonRack_Bomb_SDB_x4 { + displayName = "4x GBU-39 [ACE]"; + author = "Brandon (TCVM)"; + ammo = QGVAR(sdb); + pylonWeapon = QGVAR(sdb); + }; +}; + diff --git a/addons/sdb/CfgWeapons.hpp b/addons/sdb/CfgWeapons.hpp new file mode 100644 index 00000000000..e69a4757780 --- /dev/null +++ b/addons/sdb/CfgWeapons.hpp @@ -0,0 +1,12 @@ +class CfgWeapons { + class weapon_SDBLauncher; + class GVAR(sdb): weapon_SDBLauncher { + author = "Brandon (TCVM)"; + displayName = "GBU-39 [ACE]"; + magazines[] = { + QGVAR(magazine_bomb_SDB_x1), + QGVAR(PylonRack_bomb_SDB_x4) + }; + }; +}; + diff --git a/addons/sdb/README.md b/addons/sdb/README.md new file mode 100644 index 00000000000..7803e5d4d34 --- /dev/null +++ b/addons/sdb/README.md @@ -0,0 +1,12 @@ +ace_sdb +=================== + +Adds GBU-39 SDB + + +## Maintainers + +The people responsible for merging changes to this component or answering potential questions. + +- [Brandon-TCVM](https://github.com/TheCandianVendingMachine) + diff --git a/addons/sdb/config.cpp b/addons/sdb/config.cpp new file mode 100644 index 00000000000..c3fa7648329 --- /dev/null +++ b/addons/sdb/config.cpp @@ -0,0 +1,20 @@ +#include "script_component.hpp" + +class CfgPatches { + class ADDON { + name = COMPONENT_NAME; + units[] = {}; + weapons[] = {}; + requiredVersion = REQUIRED_VERSION; + requiredAddons[] = {"ace_common","ace_missileguidance"}; + author = ECSTRING(common,ACETeam); + authors[] = {"Brandon (TCVM)"}; + url = ECSTRING(main,URL); + VERSION_CONFIG; + }; +}; + +#include "CfgAmmo.hpp" +#include "CfgMagazines.hpp" +#include "CfgWeapons.hpp" + diff --git a/addons/sdb/script_component.hpp b/addons/sdb/script_component.hpp new file mode 100644 index 00000000000..310911b6918 --- /dev/null +++ b/addons/sdb/script_component.hpp @@ -0,0 +1,18 @@ +#define COMPONENT sdb +#define COMPONENT_BEAUTIFIED Small Diameter Bomb +#include "\z\ace\addons\main\script_mod.hpp" + +// #define DEBUG_MODE_FULL +// #define DISABLE_COMPILE_CACHE +// #define ENABLE_PERFORMANCE_COUNTERS + +#ifdef DEBUG_ENABLED_SDB + #define DEBUG_MODE_FULL +#endif + +#ifdef DEBUG_SETTINGS_SDB + #define DEBUG_SETTINGS DEBUG_SETTINGS_SDB +#endif + +#include "\z\ace\addons\main\script_macros.hpp" + From 1cb84087c3cb635f87ffc94c445958dae8b43593 Mon Sep 17 00:00:00 2001 From: Brandon Danyluk Date: Mon, 19 Apr 2021 01:41:48 -0600 Subject: [PATCH 067/254] update todo --- addons/missileguidance/todo.txt | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/addons/missileguidance/todo.txt b/addons/missileguidance/todo.txt index a6bde9ef0a3..0345008baf8 100644 --- a/addons/missileguidance/todo.txt +++ b/addons/missileguidance/todo.txt @@ -22,7 +22,7 @@ Weapon Configs: X AGM-65 - Optical - GBU-SDB - GPS/INS + X GBU-SDB - GPS/INS AGM-88 - Passive Radar Homing KH-58 - Passive Radar Homing @@ -41,7 +41,7 @@ Seeker Types: X Laser X Optical X Infrared - GPS/INS - I want a UI to select Pre-Briefed or TOO modes with coordinate boxes for current target. As well as angle of attack + X GPS/INS - I want a UI to select Pre-Briefed or TOO modes with coordinate boxes for current target. As well as angle of attack Passive-Radar Homing Navigation Types: @@ -72,7 +72,7 @@ Navigation Types: X R-77 - ZEM X AIM-120 - ZEM X AIM-132 - ZEM - GBU-SDB - ZEM + X GBU-SDB - ZEM MIM-145 - ZEM S-750 - ZEM Mk49 Spartan - ZEM From 12bcb95e9378c3a8de5c1ecbd9964a51c557ce65 Mon Sep 17 00:00:00 2001 From: Brandon Danyluk Date: Mon, 19 Apr 2021 21:31:15 -0600 Subject: [PATCH 068/254] fix gimbal lock via rotating with quaternions --- .../functions/fnc_guidancePFH.sqf | 52 ++++++++++++++++++- 1 file changed, 51 insertions(+), 1 deletion(-) diff --git a/addons/missileguidance/functions/fnc_guidancePFH.sqf b/addons/missileguidance/functions/fnc_guidancePFH.sqf index e2ce237b702..a040a53fb7e 100644 --- a/addons/missileguidance/functions/fnc_guidancePFH.sqf +++ b/addons/missileguidance/functions/fnc_guidancePFH.sqf @@ -114,8 +114,58 @@ if ((_pitchRate != 0 || {_yawRate != 0}) && {_profileAdjustedTargetPos isNotEqua _yaw = _yaw + _clampedYaw * _timestep; TRACE_3("new pitch/yaw/roll",_pitch,_yaw,_roll); + + private _multiplyQuat = { + params ["_qLHS", "_qRHS"]; + _qLHS params ["_lhsX", "_lhsY", "_lhsZ", "_lhsW"]; + _qRHS params ["_rhsX", "_rhsY", "_rhsZ", "_rhsW"]; + + private _lhsImaginary = [_lhsX, _lhsY, _lhsZ]; + private _rhsImaginary = [_rhsX, _rhsY, _rhsZ]; + + private _scalar = _lhsW * _rhsW - (_lhsImaginary vectorDotProduct _rhsImaginary); + private _imginary = (_rhsImaginary vectorMultiply _lhsW) vectorAdd (_lhsImaginary vectorMultiply _rhsW) vectorAdd (_lhsImaginary vectorCrossProduct _rhsImaginary); + + _imginary + [_scalar] + }; + + private _multiplyVector = { + params ["_quaternion", "_vector"]; + + private _real = _quaternion#3; + private _imaginary = [ + _quaternion#0, + _quaternion#1, + _quaternion#2 + ]; + + private _vectorReturn = _vector vectorAdd (( + _imaginary vectorCrossProduct ( + (_imaginary vectorCrossProduct _vector) vectorAdd ( + _vector vectorMultiply _real + ) + ) + ) vectorMultiply 2); + + _vectorReturn + }; + + private _quaternion = [0, 0, 0, 1]; + + private _temp = [0, 0, sin (-_yaw / 2), cos (-_yaw / 2)]; + _quaternion = [_quaternion, _temp] call _multiplyQuat; + + _temp = [sin (_pitch / 2), 0, 0, cos (_pitch / 2)]; + _quaternion = [_quaternion, _temp] call _multiplyQuat; - [_projectile, _pitch, _yaw, 0] call FUNC(changeMissileDirection); + private _dir = [_quaternion, [0, 1, 0]] call _multiplyVector; + private _up = [_quaternion, [0, 0, 1]] call _multiplyVector; + + _projectile setVectorDirAndUp [_dir, _up]; + + systemChat str [_pitch, _yaw]; + + //[_projectile, _pitch, _yaw, 0] call FUNC(changeMissileDirection); _guidanceParameters set [0, _yaw]; _guidanceParameters set [2, _pitch]; From 438cb8b90fccf82ed56a0717c329cd93180a4524 Mon Sep 17 00:00:00 2001 From: Brandon Danyluk Date: Tue, 20 Apr 2021 11:10:29 -0600 Subject: [PATCH 069/254] tweak JDAM guidance --- .../functions/fnc_attackProfile_JDAM.sqf | 38 ++++++++++++++----- .../functions/fnc_gps_attackOnFired.sqf | 1 + .../functions/fnc_guidancePFH.sqf | 8 ++-- 3 files changed, 33 insertions(+), 14 deletions(-) diff --git a/addons/missileguidance/functions/fnc_attackProfile_JDAM.sqf b/addons/missileguidance/functions/fnc_attackProfile_JDAM.sqf index 11e39b848c1..8f5176d3605 100644 --- a/addons/missileguidance/functions/fnc_attackProfile_JDAM.sqf +++ b/addons/missileguidance/functions/fnc_attackProfile_JDAM.sqf @@ -17,10 +17,10 @@ * * Public: No */ -params ["_seekerTargetPos", "_args", "_attackProfileStateParams"]; +params ["_seekerTargetPos", "_args", "_attackProfileStateParams", "_timestep"]; _args params ["_firedEH", "", "_flightParams", "", "", "_targetData"]; _firedEH params ["_shooter","","","","","","_projectile"]; -_attackProfileStateParams params ["_gpsData", "_initialProjectileHeight", "_terminal"]; +_attackProfileStateParams params ["_gpsData", "_initialProjectileHeight", "_terminal", "_lastAngleToTarget"]; _gpsData params ["", "_impactAngle", "_attackDirection"]; _targetData params ["_directionToTarget", "", "_distanceToTarget"]; _flightParams params ["_pitchRate", "_yawRate"]; @@ -35,23 +35,43 @@ if (_attackDirection < 0) then { private _targetPos = _seekerTargetPos; if !(_terminal) then { - _targetPos set [2, (_seekerTargetPos select 2) + 500]; - private _timeToGo = ((getPosASL _projectile) distance _targetPos) / vectorMagnitude velocity _projectile; + _targetPos = [ + _targetPos#0, + _targetPos#1, + (_seekerTargetPos select 2) + 500 + ]; - private _pitchTime = 0.5 * _pitchRate * _timeToGo; + private _projectilePos = getPosASLVisual _projectile; + private _timeToGo = (_projectilePos distance _targetPos) / vectorMagnitude velocity _projectile; - private _atMinRotationAngle = _pitchTime <= _impactAngle; + private _currentPitchTowardTarget = ((_projectilePos vectorFromTo _seekerTargetPos) call CBA_fnc_vect2polar) select 2; + private _closingRate = if (_timestep != 0) then { + (_currentPitchTowardTarget - _lastAngleToTarget) / _timestep; + } else { + 0 + }; + _attackProfileStateParams set [3, _currentPitchTowardTarget]; + + private _pitchTime = _pitchRate * _timeToGo; + + private _projectileElevation = ((vectorDir _projectile) call CBA_fnc_vect2polar) select 2; + private _neededPitch = (_impactAngle + _projectileElevation + _closingRate); + private _pitchOverETA = _timeToGo - ((_impactAngle + _projectileElevation) / _pitchRate); + + // TODO: look into PID controller and custom navigation type to ride the line? Same as SACLOS really + + private _atMinRotationAngle = _pitchTime <= _neededPitch; _attackProfileStateParams set [2, _atMinRotationAngle]; if (GVAR(debug_drawGuidanceInfo)) then { - _attackProfileName = format ["JDAM [%1]", _pitchTime]; + _attackProfileName = format ["JDAM [Pitch Available - %1 Needed Pitch - %2 ETP - %3]", _pitchTime, _neededPitch, _pitchOverETA]; }; }; if (GVAR(debug_drawGuidanceInfo)) then { private _desiredAngle = [5000, 180 + _attackDirection, _impactAngle] call CBA_fnc_polar2vect; - private _projectilePosAGL = ASLtoAGL _seekerTargetPos; - drawLine3D [_projectilePosAGL, _projectilePosAGL vectorAdd _desiredAngle, [1, 0, 0, 1]]; + private _targetPosAGL = ASLtoAGL _seekerTargetPos; + drawLine3D [_targetPosAGL, _targetPosAGL vectorAdd _desiredAngle, [1, 1, 1, 1]]; }; _targetPos; diff --git a/addons/missileguidance/functions/fnc_gps_attackOnFired.sqf b/addons/missileguidance/functions/fnc_gps_attackOnFired.sqf index fd633c324da..fc1af427c6a 100644 --- a/addons/missileguidance/functions/fnc_gps_attackOnFired.sqf +++ b/addons/missileguidance/functions/fnc_gps_attackOnFired.sqf @@ -21,3 +21,4 @@ _firedEH params ["_shooter","","","","_ammo","","_projectile"]; _attackProfileStateParams set [0, [] call FUNC(gps_getAttackData)]; _attackProfileStateParams set [1, (getPosASL _projectile) select 2]; _attackProfileStateParams set [2, false]; +_attackProfileStateParams set [3, 0]; diff --git a/addons/missileguidance/functions/fnc_guidancePFH.sqf b/addons/missileguidance/functions/fnc_guidancePFH.sqf index a040a53fb7e..9da0f0de576 100644 --- a/addons/missileguidance/functions/fnc_guidancePFH.sqf +++ b/addons/missileguidance/functions/fnc_guidancePFH.sqf @@ -70,7 +70,7 @@ if ((_pitchRate != 0 || {_yawRate != 0}) && {_profileAdjustedTargetPos isNotEqua if (GVAR(debug_drawGuidanceInfo)) then { private _projectilePosAGL = ASLToAGL _projectilePos; - drawIcon3D ["\a3\ui_f\data\IGUI\Cfg\Cursors\selectover_ca.paa", [1,0,0,1], _projectilePosAGL vectorAdd [0, 0, 1], 0.75, 0.75, 0, str _commandedAcceleration, 1, 0.025, "TahomaB"]; + drawIcon3D ["\a3\ui_f\data\IGUI\Cfg\Cursors\selectover_ca.paa", [1,0,0,1], _projectilePosAGL vectorAdd [0, 0, 1], 0.75, 0.75, 0, format ["cmdPitch: %1 cmdYaw %2", _commandedAcceleration#2, _commandedAcceleration#0], 1, 0.025, "TahomaB"]; drawIcon3D ["\a3\ui_f\data\IGUI\Cfg\Cursors\selectover_ca.paa", [1,1,0,1], _projectilePosAGL vectorAdd [0, 0, 2], 0.75, 0.75, 0, _navigationType, 1, 0.025, "TahomaB"]; drawLine3D [_projectilePosAGL, _projectilePosAGL vectorAdd _commandedAcceleration, [1, 0, 1, 1]]; }; @@ -104,8 +104,8 @@ if ((_pitchRate != 0 || {_yawRate != 0}) && {_profileAdjustedTargetPos isNotEqua } else { _clampedYaw / abs _clampedYaw }; - _clampedPitch = _pitchSign * 50; - _clampedYaw = _yawSign * 50; + _clampedPitch = _pitchSign * _pitchRate; + _clampedYaw = _yawSign * _yawRate; }; TRACE_9("pitch/yaw/roll",_pitch,_yaw,_roll,_yawChange,_pitchChange,_pitchRate,_yawRate,_clampedPitch,_clampedYaw); @@ -163,8 +163,6 @@ if ((_pitchRate != 0 || {_yawRate != 0}) && {_profileAdjustedTargetPos isNotEqua _projectile setVectorDirAndUp [_dir, _up]; - systemChat str [_pitch, _yaw]; - //[_projectile, _pitch, _yaw, 0] call FUNC(changeMissileDirection); _guidanceParameters set [0, _yaw]; From aea24c6de4761caf56ba643fc149cbfa21a753c0 Mon Sep 17 00:00:00 2001 From: Brandon Danyluk Date: Tue, 20 Apr 2021 15:31:38 -0600 Subject: [PATCH 070/254] Better attack angle calculation. Does not get exactly right, but works for all cases. Need to implement a PID controller navigation type to get a correct attack angle --- .../functions/fnc_attackProfile_JDAM.sqf | 39 ++++++++++--------- .../functions/fnc_gps_attackOnFired.sqf | 1 - 2 files changed, 20 insertions(+), 20 deletions(-) diff --git a/addons/missileguidance/functions/fnc_attackProfile_JDAM.sqf b/addons/missileguidance/functions/fnc_attackProfile_JDAM.sqf index 8f5176d3605..e49432ad5e1 100644 --- a/addons/missileguidance/functions/fnc_attackProfile_JDAM.sqf +++ b/addons/missileguidance/functions/fnc_attackProfile_JDAM.sqf @@ -20,7 +20,7 @@ params ["_seekerTargetPos", "_args", "_attackProfileStateParams", "_timestep"]; _args params ["_firedEH", "", "_flightParams", "", "", "_targetData"]; _firedEH params ["_shooter","","","","","","_projectile"]; -_attackProfileStateParams params ["_gpsData", "_initialProjectileHeight", "_terminal", "_lastAngleToTarget"]; +_attackProfileStateParams params ["_gpsData", "_initialProjectileHeight", "_terminal"]; _gpsData params ["", "_impactAngle", "_attackDirection"]; _targetData params ["_directionToTarget", "", "_distanceToTarget"]; _flightParams params ["_pitchRate", "_yawRate"]; @@ -33,6 +33,10 @@ if (_attackDirection < 0) then { _attackDirection = direction _projectile; }; +private _projectilePos = getPosASLVisual _projectile; +private _projectilePitch = ((vectorDir _projectile) call CBA_fnc_vect2polar) select 2; +private _targetDir = _projectilePos vectorFromTo _seekerTargetPos; + private _targetPos = _seekerTargetPos; if !(_terminal) then { _targetPos = [ @@ -40,32 +44,29 @@ if !(_terminal) then { _targetPos#1, (_seekerTargetPos select 2) + 500 ]; + + private _lineDir = [1, 180 + _attackDirection, _impactAngle] call CBA_fnc_polar2vect; - private _projectilePos = getPosASLVisual _projectile; - private _timeToGo = (_projectilePos distance _targetPos) / vectorMagnitude velocity _projectile; - - private _currentPitchTowardTarget = ((_projectilePos vectorFromTo _seekerTargetPos) call CBA_fnc_vect2polar) select 2; - private _closingRate = if (_timestep != 0) then { - (_currentPitchTowardTarget - _lastAngleToTarget) / _timestep; - } else { - 0 - }; - _attackProfileStateParams set [3, _currentPitchTowardTarget]; + private _v = _projectilePos vectorDiff _seekerTargetPos; + private _d = _v vectorDotProduct _lineDir; + private _closestPoint = _seekerTargetPos vectorAdd (_lineDir vectorMultiply _d); - private _pitchTime = _pitchRate * _timeToGo; + private _timeToGo = (_projectilePos distance _closestPoint) / vectorMagnitude velocity _projectile; - private _projectileElevation = ((vectorDir _projectile) call CBA_fnc_vect2polar) select 2; - private _neededPitch = (_impactAngle + _projectileElevation + _closingRate); - private _pitchOverETA = _timeToGo - ((_impactAngle + _projectileElevation) / _pitchRate); + private _projectileAngleFromTarget = acos ((vectorDir _projectile) vectorCos _targetDir); + private _availablePitch = _pitchRate * _timeToGo; - // TODO: look into PID controller and custom navigation type to ride the line? Same as SACLOS really + private _neededPitch = _impactAngle + _projectilePitch; - private _atMinRotationAngle = _pitchTime <= _neededPitch; - _attackProfileStateParams set [2, _atMinRotationAngle]; + private _atMinRotationAngle = _availablePitch <= _neededPitch; + _attackProfileStateParams set [2, (_atMinRotationAngle || (_neededPitch <= _projectileAngleFromTarget))]; if (GVAR(debug_drawGuidanceInfo)) then { - _attackProfileName = format ["JDAM [Pitch Available - %1 Needed Pitch - %2 ETP - %3]", _pitchTime, _neededPitch, _pitchOverETA]; + _attackProfileName = format ["JDAM [Pitch Available - %1 Needed Pitch - %2 TTP - %3]", _availablePitch, _neededPitch, (_availablePitch - _neededPitch) / _pitchRate]; + drawIcon3D ["\a3\ui_f\data\IGUI\Cfg\Cursors\selectover_ca.paa", [1,0,0,1], ASLtoAGL _closestPoint, 0.75, 0.75, 0, "P", 1, 0.025, "TahomaB"]; }; +} else { + _attackProfileName = format ["JDAM [Pitch - %1 Impact Pitch - %2]", _projectilePitch, _impactAngle]; }; if (GVAR(debug_drawGuidanceInfo)) then { diff --git a/addons/missileguidance/functions/fnc_gps_attackOnFired.sqf b/addons/missileguidance/functions/fnc_gps_attackOnFired.sqf index fc1af427c6a..fd633c324da 100644 --- a/addons/missileguidance/functions/fnc_gps_attackOnFired.sqf +++ b/addons/missileguidance/functions/fnc_gps_attackOnFired.sqf @@ -21,4 +21,3 @@ _firedEH params ["_shooter","","","","_ammo","","_projectile"]; _attackProfileStateParams set [0, [] call FUNC(gps_getAttackData)]; _attackProfileStateParams set [1, (getPosASL _projectile) select 2]; _attackProfileStateParams set [2, false]; -_attackProfileStateParams set [3, 0]; From 9d26335271efe48dd79f7c730c5f0cb9ce63b00c Mon Sep 17 00:00:00 2001 From: Brandon Danyluk Date: Tue, 20 Apr 2021 18:11:44 -0600 Subject: [PATCH 071/254] Fix SACLOS missiles --- addons/hot/CfgAmmo.hpp | 7 ++- addons/metis/CfgAmmo.hpp | 16 ++++-- addons/missileguidance/ACE_GuidanceConfig.hpp | 4 ++ addons/missileguidance/XEH_PREP.hpp | 2 + .../functions/fnc_attackProfile_BEAM.sqf | 20 ++----- .../functions/fnc_attackProfile_WIRE.sqf | 7 +-- .../functions/fnc_guidancePFH.sqf | 4 +- .../functions/fnc_line_onFired.sqf | 33 +++++++++++ .../functions/fnc_navigationType_line.sqf | 55 +++++++++++++++++++ .../missileguidance/functions/fnc_onFired.sqf | 4 +- .../functions/fnc_seekerType_SACLOS.sqf | 5 +- .../functions/fnc_wire_onFired.sqf | 1 + addons/missileguidance/todo.txt | 6 +- 13 files changed, 129 insertions(+), 35 deletions(-) create mode 100644 addons/missileguidance/functions/fnc_line_onFired.sqf create mode 100644 addons/missileguidance/functions/fnc_navigationType_line.sqf diff --git a/addons/hot/CfgAmmo.hpp b/addons/hot/CfgAmmo.hpp index 1c90d42f326..6cd1086bc9d 100644 --- a/addons/hot/CfgAmmo.hpp +++ b/addons/hot/CfgAmmo.hpp @@ -69,8 +69,11 @@ class CfgAmmo { defaultSeekerLockMode = "LOAL"; seekerLockModes[] = { "LOAL", "LOBL" }; - defaultNavigationType = "LineOfSight"; - navigationTypes[] = { "LineOfSight" }; + defaultNavigationType = "Line"; + navigationTypes[] = { "Line" }; + + lineGainP = 3; + lineGainD = 2.3; seekLastTargetPos = 0; // seek last target position [if seeker loses LOS of target, continue to last known pos] seekerAngle = 30; // Angle from the shooter's view that can track the missile diff --git a/addons/metis/CfgAmmo.hpp b/addons/metis/CfgAmmo.hpp index a4ff69c5e7c..f041a99f30a 100644 --- a/addons/metis/CfgAmmo.hpp +++ b/addons/metis/CfgAmmo.hpp @@ -22,8 +22,11 @@ class CfgAmmo { defaultSeekerLockMode = "LOAL"; seekerLockModes[] = { "LOAL", "LOBL" }; - defaultNavigationType = "LineOfSight"; - navigationTypes[] = { "LineOfSight" }; + defaultNavigationType = "Line"; + navigationTypes[] = { "Line" }; + + lineGainP = 3; + lineGainD = 2.1; seekLastTargetPos = 0; // seek last target position [if seeker loses LOS of target, continue to last known pos] seekerAngle = 15; // Angle from the shooter's view that can track the missile @@ -64,8 +67,11 @@ class CfgAmmo { defaultSeekerLockMode = "LOAL"; seekerLockModes[] = { "LOAL", "LOBL" }; - defaultNavigationType = "LineOfSight"; - navigationTypes[] = { "LineOfSight" }; + defaultNavigationType = "Line"; + navigationTypes[] = { "Line" }; + + lineGainP = 3; + lineGainD = 3; seekLastTargetPos = 0; // seek last target position [if seeker loses LOS of target, continue to last known pos] seekerAngle = 15; // Angle from the shooter's view that can track the missile @@ -74,7 +80,7 @@ class CfgAmmo { seekerMinRange = 80; seekerMaxRange = 2000; // Range from the missile which the seeker can visually search - correctionDistance = 6; // distance from center of crosshair where missile slows down + correctionDistance = 1; // distance from center of crosshair where missile slows down offsetFromCrosshair[] = { 0, 0, 0 }; // where the missile wants to stay in relation to the center of the crosshair. // Attack profile type selection diff --git a/addons/missileguidance/ACE_GuidanceConfig.hpp b/addons/missileguidance/ACE_GuidanceConfig.hpp index 5fc73110ef0..fb2990b018a 100644 --- a/addons/missileguidance/ACE_GuidanceConfig.hpp +++ b/addons/missileguidance/ACE_GuidanceConfig.hpp @@ -123,6 +123,10 @@ class GVAR(SeekerTypes) { }; class GVAR(NavigationTypes) { + class Line { + functionName = QFUNC(navigationType_line); + onFired = QFUNC(line_onFired); + }; class LineOfSight { functionName = QFUNC(navigationType_lineOfSight); onFired = QFUNC(proNav_onFired); diff --git a/addons/missileguidance/XEH_PREP.hpp b/addons/missileguidance/XEH_PREP.hpp index 5ec6f2e6e4f..ff3268069f7 100644 --- a/addons/missileguidance/XEH_PREP.hpp +++ b/addons/missileguidance/XEH_PREP.hpp @@ -36,6 +36,7 @@ PREP(navigationType_zeroEffortMiss); PREP(navigationType_augmentedProNav); PREP(navigationType_proNav); PREP(navigationType_lineOfSight); +PREP(navigationType_line); // Seeker search functions PREP(seekerType_SALH); @@ -59,6 +60,7 @@ PREP(gps_seekerOnFired); // Navigation OnFired PREP(proNav_onFired); +PREP(line_onFired); // State transitions PREP(javelin_midCourseTransition); diff --git a/addons/missileguidance/functions/fnc_attackProfile_BEAM.sqf b/addons/missileguidance/functions/fnc_attackProfile_BEAM.sqf index 7e9408b2d71..7ae09c56156 100644 --- a/addons/missileguidance/functions/fnc_attackProfile_BEAM.sqf +++ b/addons/missileguidance/functions/fnc_attackProfile_BEAM.sqf @@ -24,24 +24,12 @@ _attackProfileStateParams params["_maxCorrectableDistance", "_wireCut", "_random private _projectilePos = getPosASL _projectile; private _shooterPos = getPosASL _shooter; -private _shooterDir = vectorNormalized(_seekerTargetPos vectorDiff _shooterPos); private _distanceToProjectile = _shooterPos vectorDistanceSqr _projectilePos; -if (_distanceToProjectile > _seekerMaxRangeSqr || { _seekerTargetPos isEqualTo [0, 0, 0] } || { _distanceToProjectile < _seekerMinRangeSqr }) exitWith { - // return position 50m infront of projectile - _projectilePos vectorAdd (_projectile vectorModelToWorld [0, 50, 0]) +if (_seekerTargetPos isEqualTo [0, 0, 0] || { _distanceToProjectile < _seekerMinRangeSqr }) exitWith { + // return position 50m infront of projectile and a bit up to get out of the way of the ground + _projectilePos vectorAdd (_projectile vectorModelToWorld [0, 50, 3]) }; -private _relativeCorrection = _projectile vectorWorldToModel (_projectilePos vectorDiff _seekerTargetPos); -_relativeCorrection = _relativeCorrection vectorDiff _crosshairOffset; +_seekerTargetPos vectorAdd _crosshairOffset -private _magnitude = vectorMagnitude [_relativeCorrection select 0, 0, _relativeCorrection select 2]; -private _fovImpulse = 1 min (_magnitude / _maxCorrectableDistance); // the simulated impulse for the missile being close to the center of the crosshair - -// Adjust the impulse due to near-zero values creating wobbly missiles? -private _correction = _fovImpulse; - - -_relativeCorrection = (vectorNormalized _relativeCorrection) vectorMultiply _correction; -private _returnPos = _projectilePos vectorDiff (_projectile vectorModelToWorld _relativeCorrection); -_returnPos vectorAdd (_shooterDir vectorMultiply _distanceAheadOfMissile) diff --git a/addons/missileguidance/functions/fnc_attackProfile_WIRE.sqf b/addons/missileguidance/functions/fnc_attackProfile_WIRE.sqf index a17cb8a4930..d0172187b6d 100644 --- a/addons/missileguidance/functions/fnc_attackProfile_WIRE.sqf +++ b/addons/missileguidance/functions/fnc_attackProfile_WIRE.sqf @@ -24,7 +24,6 @@ _attackProfileStateParams params["_maxCorrectableDistance", "_wireCut", "_random private _projectilePos = getPosASL _projectile; private _shooterPos = getPosASL _shooter; -private _shooterDir = vectorNormalized(_seekerTargetPos vectorDiff _shooterPos); private _distanceToProjectile = _shooterPos vectorDistanceSqr _projectilePos; if ((_distanceToProjectile > _seekerMaxRangeSqr) || { _wireCut }) exitWith { @@ -44,9 +43,9 @@ if (_seekerTargetPos isEqualTo [0, 0, 0] || { _distanceToProjectile < _seekerMin /*if (lineIntersectsSurfaces [getPosASL _shooter, _projectilePos, _shooter] isNotEqualTo []) then { _attackProfileStateParams set [1, true]; };*/ - // return position 50m infront of projectile - _projectilePos vectorAdd (_projectile vectorModelToWorld [0, 50, 0]) + // return position 50m infront of projectile and a bit up to get out of the way of the ground + _projectilePos vectorAdd (_projectile vectorModelToWorld [0, 50, 3]) }; -_seekerTargetPos vectorAdd (_shooterDir vectorMultiply 30); +_seekerTargetPos vectorAdd _crosshairOffset diff --git a/addons/missileguidance/functions/fnc_guidancePFH.sqf b/addons/missileguidance/functions/fnc_guidancePFH.sqf index 9da0f0de576..dd55a5073c0 100644 --- a/addons/missileguidance/functions/fnc_guidancePFH.sqf +++ b/addons/missileguidance/functions/fnc_guidancePFH.sqf @@ -61,10 +61,10 @@ if ((_pitchRate != 0 || {_yawRate != 0}) && {_profileAdjustedTargetPos isNotEqua }; - private _commandedAcceleration = [_args, _timestep, _seekerTargetPos, _profileAdjustedTargetPos] call (missionNamespace getVariable _navigationFunction); + private _commandedAcceleration = [_args, _timestep, _seekerTargetPos, _profileAdjustedTargetPos, _targetData, _navigationParameters] call (missionNamespace getVariable _navigationFunction); if (isNil "_commandedAcceleration") exitWith { - systemChat _navigationFunction; + systemChat format ["Error in %1", _navigationFunction]; ERROR_MSG("_commandedAcceleration is nil! Guidance cancelled"); }; diff --git a/addons/missileguidance/functions/fnc_line_onFired.sqf b/addons/missileguidance/functions/fnc_line_onFired.sqf new file mode 100644 index 00000000000..53726a5e9c0 --- /dev/null +++ b/addons/missileguidance/functions/fnc_line_onFired.sqf @@ -0,0 +1,33 @@ +#include "script_component.hpp" +/* + * Author: Brandon (TCVM) + * Sets up line state arrays (called from missileGuidance's onFired). + * + * Arguments: + * Guidance Arg Array + * + * Return Value: + * None + * + * Example: + * [] call ace_missileguidance_fnc_line_onFired + * + * Public: No + */ +params ["_firedEH", "", "", "", "_stateParams"]; +_firedEH params ["","","","","","","_projectile"]; +_stateParams params ["", "", "", "", "_navigationParams"]; + +private _ammoConfig = configOf _projectile; +private _p = getNumber (_ammoConfig >> QUOTE(ADDON) >> "lineGainP"); +private _d = getNumber (_ammoConfig >> QUOTE(ADDON) >> "lineGainD"); +private _correctionDistance = getNumber (_ammoConfig >> QUOTE(ADDON) >> "correctionDistance"); + +_navigationParams set [0, _p]; +_navigationParams set [1, _i]; +_navigationParams set [2, _d]; + +_navigationParams set [3, 0]; +_navigationParams set [4, 0]; +_navigationParams set [5, _correctionDistance]; + diff --git a/addons/missileguidance/functions/fnc_navigationType_line.sqf b/addons/missileguidance/functions/fnc_navigationType_line.sqf new file mode 100644 index 00000000000..cd1d242eb1d --- /dev/null +++ b/addons/missileguidance/functions/fnc_navigationType_line.sqf @@ -0,0 +1,55 @@ +#include "script_component.hpp" +/* + * Author: Brandon (TCVM) + * Assumes targetDir is pointing toward line we want to stay on + * + * Arguments: + * Guidance Arg Array + * + * Return Value: + * Commanded acceleration normal to LOS in world space + * + * Example: + * [] call ace_missileguidance_fnc_navigationType_line + * + * Public: No + */ +params ["_args", "_timestep", "_seekerTargetPos", "_profileAdjustedTargetPos", "_targetData", "_navigationParams"]; +_args params ["", "", "_flightParams"]; +_targetData params ["", "_targetDir", "_distance"]; +_flightParams params ["_pitchRate", "_yawRate"]; + +_navigationParams params ["_proportionalGain", "", "_derivativeGain", "_lastErrorX", "_lastErrorY", "_correctionDistance"]; +private _targetDistance = _projectile vectorWorldToModelVisual (_targetDir vectorMultiply _distance); +private _relativeDirection = _projectile vectorWorldToModelVisual _targetDir; + +private _errorX = 1 min (_targetDistance#0 / _correctionDistance); +private _errorY = 1 min (_targetDistance#2 / _correctionDistance); + +private _pX = _proportionalGain * _errorX; +private _dX = if (_timestep != 0) then { + _derivativeGain * (_errorX - _lastErrorX) / _timestep +} else { + 0 +}; + +private _pY = _proportionalGain * _errorY; +private _dY = if (_timestep != 0) then { + _derivativeGain * (_errorY - _lastErrorY) / _timestep +} else { + 0 +}; + +private _accelerationX = _pX + _dX; +private _accelerationY = _pY + _dY; + +private _commandedAcceleration = [ + _accelerationX, + 0, + _accelerationY +]; + +_navigationParams set [3, _errorX]; +_navigationParams set [4, _errorY]; + +_projectile vectorModelToWorldVisual _commandedAcceleration; diff --git a/addons/missileguidance/functions/fnc_onFired.sqf b/addons/missileguidance/functions/fnc_onFired.sqf index 482ea78c460..89b73c7f088 100644 --- a/addons/missileguidance/functions/fnc_onFired.sqf +++ b/addons/missileguidance/functions/fnc_onFired.sqf @@ -156,7 +156,7 @@ private _args = [_this, getNumber ( _config >> "seekerMaxRange" ), getNumber ( _config >> "seekerMinRange" ) ], - [ diag_tickTime, [], [], _lastKnownPosState, _navigationParameters, [_pitchYaw select 1, 0, _pitchYaw select 2]], + [ diag_tickTime, [], [], _lastKnownPosState, _navigationParameters, [_pitchYaw select 1, 0, 1.5 + (_pitchYaw select 2)]], [ // target data from missile. Must be filled by seeker for navigation to work [0, 0, 0], // direction to target @@ -199,7 +199,7 @@ if (_onFiredFunc != "") then { // _launchParams params ["_shooter","_targetLaunchParams","_seekerType","_attackProfile","_lockMode","_laserInfo","_navigationType"]; // _targetLaunchParams params ["_target", "_targetPos", "_launchPos", "_launchDir", "_launchTime"]; // _flightParams params ["_pitchRate", "_yawRate", "_isBangBangGuidance"]; -// _stateParams params ["_lastRunTime", "_seekerStateParams", "_attackProfileStateParams", "_lastKnownPosState","_navigationParams", "_guidanceParameters"]; +// _stateParams params ["_lastRunTime", "_seekerStateParams", "_attackProfileStateParams", "_lastKnownPosState", "_navigationParams", "_guidanceParameters"]; // _seekerParams params ["_seekerAngle", "_seekerAccuracy", "_seekerMaxRange", "_seekerMinRange"]; // _targetData params ["_targetDirection", "_attackProfileDirection", "_targetRange", "_targetVelocity", "_targetAcceleration"]; diff --git a/addons/missileguidance/functions/fnc_seekerType_SACLOS.sqf b/addons/missileguidance/functions/fnc_seekerType_SACLOS.sqf index a1e5fc49acc..04f59a28b95 100644 --- a/addons/missileguidance/functions/fnc_seekerType_SACLOS.sqf +++ b/addons/missileguidance/functions/fnc_seekerType_SACLOS.sqf @@ -58,7 +58,10 @@ if ((_testDotProduct < (cos _seekerAngle)) || {_testIntersections isNotEqualTo [ [0, 0, 0] }; +private _returnPos = _shooterPos vectorAdd (_lookDirection vectorMultiply _distanceToProj); + _targetData set [0, _lookDirection]; +_targetData set [2, _returnPos distance getPosASLVisual _projectile]; -_shooterPos vectorAdd (_lookDirection vectorMultiply _distanceToProj); +_returnPos diff --git a/addons/missileguidance/functions/fnc_wire_onFired.sqf b/addons/missileguidance/functions/fnc_wire_onFired.sqf index cb4020bd0f7..6c9c64bd3d0 100644 --- a/addons/missileguidance/functions/fnc_wire_onFired.sqf +++ b/addons/missileguidance/functions/fnc_wire_onFired.sqf @@ -46,3 +46,4 @@ _attackProfileStateParams set [5, _minDistanceSqr]; _attackProfileStateParams set [6, _wireCutSource]; _attackProfileStateParams set [7, _distanceAheadOfMissile]; + diff --git a/addons/missileguidance/todo.txt b/addons/missileguidance/todo.txt index 0345008baf8..7a756515116 100644 --- a/addons/missileguidance/todo.txt +++ b/addons/missileguidance/todo.txt @@ -50,8 +50,8 @@ Navigation Types: X Dragon - NA - Metis - Wire/Beam Guidance - HOT - Wire/Beam Guidance + X Metis - Wire/Beam Guidance + X HOT - Wire/Beam Guidance Vikhr - Wire/Beam Guidance X DAGR - APN @@ -83,7 +83,7 @@ Navigation State Machine: Navigation Types: X Augmented Pro-Nav X Zero Effort Miss - Wire/Beam Guided + X Wire/Beam Guided Predicted Line of Sight General To-Do: From 19dcf00aff218fa832a8c6cb3a0d39f4ece25d65 Mon Sep 17 00:00:00 2001 From: Brandon Danyluk Date: Wed, 21 Apr 2021 00:23:21 -0600 Subject: [PATCH 072/254] Fix NLAW and PLOS The missile pitches up due to initial angle stuff. I don't know if this is behaviour we want to fix or not? --- .../functions/fnc_guidancePFH.sqf | 4 +- .../missileguidance/functions/fnc_onFired.sqf | 2 +- addons/nlaw/ACE_GuidanceConfig.hpp | 6 ++ addons/nlaw/CfgAmmo.hpp | 4 +- addons/nlaw/XEH_PREP.hpp | 2 + addons/nlaw/functions/fnc_attackProfile.sqf | 16 +---- addons/nlaw/functions/fnc_keyDown.sqf | 2 +- addons/nlaw/functions/fnc_navigation.sqf | 26 ++++++++ .../nlaw/functions/fnc_navigation_onFired.sqf | 62 +++++++++++++++++++ addons/nlaw/functions/fnc_onFired.sqf | 2 +- 10 files changed, 106 insertions(+), 20 deletions(-) create mode 100644 addons/nlaw/functions/fnc_navigation.sqf create mode 100644 addons/nlaw/functions/fnc_navigation_onFired.sqf diff --git a/addons/missileguidance/functions/fnc_guidancePFH.sqf b/addons/missileguidance/functions/fnc_guidancePFH.sqf index dd55a5073c0..fb843528c0a 100644 --- a/addons/missileguidance/functions/fnc_guidancePFH.sqf +++ b/addons/missileguidance/functions/fnc_guidancePFH.sqf @@ -70,7 +70,8 @@ if ((_pitchRate != 0 || {_yawRate != 0}) && {_profileAdjustedTargetPos isNotEqua if (GVAR(debug_drawGuidanceInfo)) then { private _projectilePosAGL = ASLToAGL _projectilePos; - drawIcon3D ["\a3\ui_f\data\IGUI\Cfg\Cursors\selectover_ca.paa", [1,0,0,1], _projectilePosAGL vectorAdd [0, 0, 1], 0.75, 0.75, 0, format ["cmdPitch: %1 cmdYaw %2", _commandedAcceleration#2, _commandedAcceleration#0], 1, 0.025, "TahomaB"]; + private _cmdAccelLocal = _projectile vectorWorldToModelVisual _commandedAcceleration; + drawIcon3D ["\a3\ui_f\data\IGUI\Cfg\Cursors\selectover_ca.paa", [1,0,0,1], _projectilePosAGL vectorAdd [0, 0, 1], 0.75, 0.75, 0, format ["cmdPitch: %1 cmdYaw %2", _cmdAccelLocal#2, _cmdAccelLocal#0], 1, 0.025, "TahomaB"]; drawIcon3D ["\a3\ui_f\data\IGUI\Cfg\Cursors\selectover_ca.paa", [1,1,0,1], _projectilePosAGL vectorAdd [0, 0, 2], 0.75, 0.75, 0, _navigationType, 1, 0.025, "TahomaB"]; drawLine3D [_projectilePosAGL, _projectilePosAGL vectorAdd _commandedAcceleration, [1, 0, 1, 1]]; }; @@ -109,7 +110,6 @@ if ((_pitchRate != 0 || {_yawRate != 0}) && {_profileAdjustedTargetPos isNotEqua }; TRACE_9("pitch/yaw/roll",_pitch,_yaw,_roll,_yawChange,_pitchChange,_pitchRate,_yawRate,_clampedPitch,_clampedYaw); - _pitch = _pitch + _clampedPitch * _timestep; _yaw = _yaw + _clampedYaw * _timestep; diff --git a/addons/missileguidance/functions/fnc_onFired.sqf b/addons/missileguidance/functions/fnc_onFired.sqf index 89b73c7f088..3f85c9d5875 100644 --- a/addons/missileguidance/functions/fnc_onFired.sqf +++ b/addons/missileguidance/functions/fnc_onFired.sqf @@ -156,7 +156,7 @@ private _args = [_this, getNumber ( _config >> "seekerMaxRange" ), getNumber ( _config >> "seekerMinRange" ) ], - [ diag_tickTime, [], [], _lastKnownPosState, _navigationParameters, [_pitchYaw select 1, 0, 1.5 + (_pitchYaw select 2)]], + [ diag_tickTime, [], [], _lastKnownPosState, _navigationParameters, [_pitchYaw select 1, 0, _pitchYaw select 2]], [ // target data from missile. Must be filled by seeker for navigation to work [0, 0, 0], // direction to target diff --git a/addons/nlaw/ACE_GuidanceConfig.hpp b/addons/nlaw/ACE_GuidanceConfig.hpp index e04753d6816..6003586fe86 100644 --- a/addons/nlaw/ACE_GuidanceConfig.hpp +++ b/addons/nlaw/ACE_GuidanceConfig.hpp @@ -12,3 +12,9 @@ class EGVAR(missileguidance,SeekerTypes) { functionName = QFUNC(seeker); }; }; +class EGVAR(missileguidance,NavigationTypes) { + class GVAR(PLOS) { + functionName = QFUNC(navigation); + onFired = QFUNC(navigation_onFired); + }; +}; diff --git a/addons/nlaw/CfgAmmo.hpp b/addons/nlaw/CfgAmmo.hpp index cdc52eb5246..f572678d20b 100644 --- a/addons/nlaw/CfgAmmo.hpp +++ b/addons/nlaw/CfgAmmo.hpp @@ -18,8 +18,8 @@ class CfgAmmo { defaultSeekerLockMode = "LOBL"; seekerLockModes[] = {"LOBL"}; - defaultNavigationType = "LineOfSight"; - navigationTypes[] = { "LineOfSight" }; + defaultNavigationType = QGVAR(PLOS); + navigationTypes[] = { QGVAR(PLOS) }; seekLastTargetPos = 0; // seek last target position [if seeker loses LOS of target, continue to last known pos] seekerAngle = 45; // Angle in front of the missile which can be searched diff --git a/addons/nlaw/XEH_PREP.hpp b/addons/nlaw/XEH_PREP.hpp index aad1e57efb2..1cd8dbc3c59 100644 --- a/addons/nlaw/XEH_PREP.hpp +++ b/addons/nlaw/XEH_PREP.hpp @@ -4,3 +4,5 @@ PREP(attackProfile); PREP(keyDown); PREP(onFired); PREP(seeker); +PREP(navigation); +PREP(navigation_onFired); diff --git a/addons/nlaw/functions/fnc_attackProfile.sqf b/addons/nlaw/functions/fnc_attackProfile.sqf index 21f77f0ff53..ddfa7d3a6f3 100644 --- a/addons/nlaw/functions/fnc_attackProfile.sqf +++ b/addons/nlaw/functions/fnc_attackProfile.sqf @@ -18,14 +18,13 @@ */ params ["_seekerTargetPos", "_args", "_attackProfileStateParams"]; + +#ifdef DRAW_NLAW_INFO _args params ["_firedEH", "_launchParams"]; _launchParams params ["","_targetLaunchParams", "", "_attackProfile"]; _targetLaunchParams params ["", "", "_launchPos"]; _firedEH params ["","","","","","","_projectile"]; -// Use seeker (if terminal) -if (_seekerTargetPos isNotEqualTo [0,0,0]) exitWith {_seekerTargetPos}; - _attackProfileStateParams params ["_startTime", "_startLOS", "_yawChange", "_pitchChange"]; (_startLOS call CBA_fnc_vect2Polar) params ["", "_yaw", "_pitch"]; @@ -36,14 +35,6 @@ private _flightTime = CBA_missionTime - _startTime; private _realYaw = _yaw + _yawChange * _flightTime; private _realPitch = _pitch + _pitchChange * _flightTime; -private _returnTargetPos = _launchPos vectorAdd ([_distanceFromLaunch, _realYaw, _realPitch] call CBA_fnc_polar2vect); - -if (_attackProfile == QGVAR(overflyTopAttack)) then { // Add 2m height in OTA attack mode - _returnTargetPos = _returnTargetPos vectorAdd [0,0,2]; -}; - - -#ifdef DRAW_NLAW_INFO drawIcon3D ["\a3\ui_f\data\IGUI\Cfg\Cursors\selectover_ca.paa", [1,0,1,1], ASLtoAGL _launchPos, 0.75, 0.75, 0, "LAUNCH", 1, 0.025, "TahomaB"]; drawIcon3D ["\a3\ui_f\data\IGUI\Cfg\Cursors\selectover_ca.paa", [0,1,1,1], ASLtoAGL (_launchPos vectorAdd (_startLOS vectorMultiply (_distanceFromLaunch + 50))), 0.75, 0.75, 0, "Original LOS", 1, 0.025, "TahomaB"]; drawIcon3D ["\a3\ui_f\data\IGUI\Cfg\Cursors\selectover_ca.paa", [1,1,0,1], ASLtoAGL (_launchPos vectorAdd ([_distanceFromLaunch + 50, _realYaw, _realPitch] call CBA_fnc_polar2vect)), 0.75, 0.75, 0, format ["Predicted @%1sec",(floor(_flightTime * 10)/10)], 1, 0.025, "TahomaB"]; @@ -56,5 +47,4 @@ if ((count _test) > 0) then { }; #endif -// TRACE_1("Adjusted target position", _returnTargetPos); -_returnTargetPos; +[0, 0, 1] diff --git a/addons/nlaw/functions/fnc_keyDown.sqf b/addons/nlaw/functions/fnc_keyDown.sqf index fcc320360c9..c2ee6a8fb82 100644 --- a/addons/nlaw/functions/fnc_keyDown.sqf +++ b/addons/nlaw/functions/fnc_keyDown.sqf @@ -74,7 +74,7 @@ playSound "ACE_Sound_Click"; _args set [1, _yaw]; _args set [2, _pitch]; - #ifdef DEBUG_MODE_FULL + #ifdef DRAW_NLAW_INFO hintSilent format ["Instantaneous\nYaw: %1\n Pitch: %2\nGVAR\nYaw: %3\nPitch: %4", _yawChange, _pitchChange, GVAR(yawChange), GVAR(pitchChange)]; #endif }, .25, [CBA_missionTime, _yaw, _pitch, true]] call CBA_fnc_addPerFrameHandler; diff --git a/addons/nlaw/functions/fnc_navigation.sqf b/addons/nlaw/functions/fnc_navigation.sqf new file mode 100644 index 00000000000..835c3cdcf11 --- /dev/null +++ b/addons/nlaw/functions/fnc_navigation.sqf @@ -0,0 +1,26 @@ +#include "script_component.hpp" +/* + * Author: Brandon (TCVM) + * Holds angle as fed to by seeker + * + * Arguments: + * Guidance Arg Array + * + * Return Value: + * Commanded acceleration normal to LOS in world space + * + * Example: + * [] call ace_missileguidance_fnc_navigationType_line + * + * Public: No + */ +params ["_args", "_timestep", "_seekerTargetPos", "_profileAdjustedTargetPos", "_targetData", "_navigationParams"]; +_args params ["_firedEH"]; +_firedEH params ["","","","","","","_projectile"]; +_args params ["", "", "_flightParams"]; +_flightParams params ["_pitchRate", "_yawRate"]; + +_navigationParams params ["_yawChange", "_pitchChange", "_startTime"]; + +_projectile vectorModelToWorldVisual [2 * _yawChange, 0, 2 * _pitchChange] + diff --git a/addons/nlaw/functions/fnc_navigation_onFired.sqf b/addons/nlaw/functions/fnc_navigation_onFired.sqf new file mode 100644 index 00000000000..63d1f0ef022 --- /dev/null +++ b/addons/nlaw/functions/fnc_navigation_onFired.sqf @@ -0,0 +1,62 @@ +#include "script_component.hpp" +/* + * Author: PabstMirror + * Sets up missile guidance state arrays (called from missileGuidance's onFired). + * + * Arguments: + * Guidance Arg Array + * + * Return Value: + * None + * + * Example: + * [] call ace_nlaw_fnc_onFired + * + * Public: No + */ + +params ["_firedEH", "_launchParams", "_flightParams", "_seekerParams", "_stateParams"]; +_firedEH params ["_shooter","","","","","","_projectile"]; +_launchParams params ["","_targetLaunchParams","","_attackProfile"]; +_targetLaunchParams params ["_target"]; +_stateParams params ["", "", "", "", "_navigationParams"]; + +// Reset _launchPos origin as projectile's height instead of player's foot +_targetLaunchParams set [2, getPosASL _projectile]; + +// Get state params: +TRACE_3("start of attack profile",_attackProfile,_shooter,vectorDir _projectile); + +private _firedLOS = _shooter weaponDirection (currentWeapon _shooter); +private _yawChange = 0; +private _pitchChange = 0; + +if (_shooter == ACE_player) then { + TRACE_2("isPlayer",GVAR(yawChange),GVAR(pitchChange)); + _yawChange = GVAR(yawChange); + _pitchChange = GVAR(pitchChange); + TRACE_1("los check",_firedLOS call CBA_fnc_vect2Polar); +} else { + if ((!isNil "_target") && {!isNull _target}) then { + _firedLOS = (getPosASL _projectile) vectorFromTo (aimPos _target); + (((eyePos _shooter) vectorFromTo (aimPos _target)) call CBA_fnc_vect2Polar) params ["", "_startYaw", "_startPitch"]; + // Add some random error to AI's velocity prediction: + private _random = random [(_shooter skillFinal "aimingAccuracy") min 0.9, 1, 2-((_shooter skillFinal "aimingAccuracy") min 0.9)]; + (((eyePos _shooter) vectorFromTo ((aimPos _target) vectorAdd ((velocity _target) vectorMultiply (_random)))) call CBA_fnc_vect2Polar) params ["", "_predictedYaw", "_predictedPitch"]; + _yawChange = ([_predictedYaw - _startYaw] call CBA_fnc_simplifyAngle180); + _pitchChange = ([_predictedPitch - _startPitch] call CBA_fnc_simplifyAngle180); + TRACE_1("AI",_target); + } else { + TRACE_1("AI - no target",_target); + }; +}; + +// Limit Max Deflection +_yawChange = -10 max _yawChange min 10; +_pitchChange = -10 max _pitchChange min 10; + +TRACE_3("attackProfileStateParams",_firedLOS,_yawChange,_pitchChange); +_navigationParams set [0, _yawChange]; +_navigationParams set [1, _pitchChange]; +_navigationParams set [2, CBA_missionTime]; + diff --git a/addons/nlaw/functions/fnc_onFired.sqf b/addons/nlaw/functions/fnc_onFired.sqf index 0552afcd86e..4d5ac5254ea 100644 --- a/addons/nlaw/functions/fnc_onFired.sqf +++ b/addons/nlaw/functions/fnc_onFired.sqf @@ -27,7 +27,7 @@ _targetLaunchParams set [2, getPosASL _projectile]; // Get state params: TRACE_3("start of attack profile",_attackProfile,_shooter,vectorDir _projectile); -private _firedLOS = _shooter weaponDirection (currentWeapon _shooter); +private _firedLOS = vectorDir _projectile; private _yawChange = 0; private _pitchChange = 0; From afbb1f66c01c10bbccc9e34fa6fc50315b69d113 Mon Sep 17 00:00:00 2001 From: Brandon Danyluk Date: Wed, 21 Apr 2021 00:24:15 -0600 Subject: [PATCH 073/254] update todo --- addons/missileguidance/todo.txt | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/addons/missileguidance/todo.txt b/addons/missileguidance/todo.txt index 7a756515116..5dc9aed6bef 100644 --- a/addons/missileguidance/todo.txt +++ b/addons/missileguidance/todo.txt @@ -84,10 +84,10 @@ Navigation Types: X Augmented Pro-Nav X Zero Effort Miss X Wire/Beam Guided - Predicted Line of Sight + X Predicted Line of Sight General To-Do: Add more weapons X Fix GBU drag X Make sure all applicable pylons can hold all applicable weapons - NLAW is busted: figure out PLOS navigation system + X NLAW is busted: figure out PLOS navigation system From ba2eb48a43e0e5ec4fc79cf0c4e16ab4613a61b3 Mon Sep 17 00:00:00 2001 From: Brandon Danyluk Date: Wed, 21 Apr 2021 00:24:39 -0600 Subject: [PATCH 074/254] update todo --- addons/missileguidance/todo.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/addons/missileguidance/todo.txt b/addons/missileguidance/todo.txt index 5dc9aed6bef..fad697e3465 100644 --- a/addons/missileguidance/todo.txt +++ b/addons/missileguidance/todo.txt @@ -57,7 +57,7 @@ Navigation Types: X DAGR - APN X AGM-65 - APN X KH-25 - APN - R-73 - APN + X R-73 - APN AGM-88 - APN KH-58 - APN X AIM-9 - APN From 6b3be24be7b8fc5192479a31fb4243c1b77ea314 Mon Sep 17 00:00:00 2001 From: Brandon Danyluk Date: Wed, 21 Apr 2021 00:52:55 -0600 Subject: [PATCH 075/254] Add Vikhr ATGM --- addons/missileguidance/XEH_pre_init.sqf | 4 +- .../functions/fnc_line_onFired.sqf | 4 ++ addons/missileguidance/todo.txt | 4 +- addons/vikhr/$PBOPREFIX$ | 1 + addons/vikhr/CfgAmmo.hpp | 46 ++++++++++++++++ addons/vikhr/CfgMagazines.hpp | 53 +++++++++++++++++++ addons/vikhr/CfgWeapons.hpp | 17 ++++++ addons/vikhr/README.md | 12 +++++ addons/vikhr/config.cpp | 20 +++++++ addons/vikhr/script_component.hpp | 18 +++++++ 10 files changed, 175 insertions(+), 4 deletions(-) create mode 100644 addons/vikhr/$PBOPREFIX$ create mode 100644 addons/vikhr/CfgAmmo.hpp create mode 100644 addons/vikhr/CfgMagazines.hpp create mode 100644 addons/vikhr/CfgWeapons.hpp create mode 100644 addons/vikhr/README.md create mode 100644 addons/vikhr/config.cpp create mode 100644 addons/vikhr/script_component.hpp diff --git a/addons/missileguidance/XEH_pre_init.sqf b/addons/missileguidance/XEH_pre_init.sqf index 77c88c7ab0d..37485898db6 100644 --- a/addons/missileguidance/XEH_pre_init.sqf +++ b/addons/missileguidance/XEH_pre_init.sqf @@ -26,11 +26,11 @@ for "_i" from 0 to MAX_PB_MODES do { GVAR(gps_mode) = "pb"; GVAR(debug_enableMissileCamera) = false; -GVAR(debug_drawGuidanceInfo) = true; +GVAR(debug_drawGuidanceInfo) = false; #ifdef DRAW_GUIDANCE_INFO GVAR(debug_drawGuidanceInfo) = true; -#endif +#else #ifdef ENABLE_PROJECTILE_CAMERA GVAR(debug_enableMissileCamera) = true; diff --git a/addons/missileguidance/functions/fnc_line_onFired.sqf b/addons/missileguidance/functions/fnc_line_onFired.sqf index 53726a5e9c0..609fa3af26e 100644 --- a/addons/missileguidance/functions/fnc_line_onFired.sqf +++ b/addons/missileguidance/functions/fnc_line_onFired.sqf @@ -23,6 +23,10 @@ private _p = getNumber (_ammoConfig >> QUOTE(ADDON) >> "lineGainP"); private _d = getNumber (_ammoConfig >> QUOTE(ADDON) >> "lineGainD"); private _correctionDistance = getNumber (_ammoConfig >> QUOTE(ADDON) >> "correctionDistance"); +if (_correctionDistance == 0) then { + _correctionDistance = 1; +}; + _navigationParams set [0, _p]; _navigationParams set [1, _i]; _navigationParams set [2, _d]; diff --git a/addons/missileguidance/todo.txt b/addons/missileguidance/todo.txt index fad697e3465..6bca69a3f45 100644 --- a/addons/missileguidance/todo.txt +++ b/addons/missileguidance/todo.txt @@ -11,7 +11,7 @@ Weapon Configs: X Javelin - Optical X NLAW - PLOS - Vikhr - Beam Rider SACLOS + X Vikhr - Beam Rider SACLOS X R-73 - Infrared X AIM-9 - Infrared @@ -52,7 +52,7 @@ Navigation Types: X Metis - Wire/Beam Guidance X HOT - Wire/Beam Guidance - Vikhr - Wire/Beam Guidance + X Vikhr - Wire/Beam Guidance X DAGR - APN X AGM-65 - APN diff --git a/addons/vikhr/$PBOPREFIX$ b/addons/vikhr/$PBOPREFIX$ new file mode 100644 index 00000000000..fcf7c92a17c --- /dev/null +++ b/addons/vikhr/$PBOPREFIX$ @@ -0,0 +1 @@ +z\ace\addons\vikhr \ No newline at end of file diff --git a/addons/vikhr/CfgAmmo.hpp b/addons/vikhr/CfgAmmo.hpp new file mode 100644 index 00000000000..2b2bb24608e --- /dev/null +++ b/addons/vikhr/CfgAmmo.hpp @@ -0,0 +1,46 @@ +class CfgAmmo { + class M_Scalpel_AT; + class GVAR(9k121): M_Scalpel_AT { + author = "Brandon (TCVM)"; + maneuvrability = 0; + + irLock = 0; + laserLock = 0; + manualControl = 0; + + class ace_missileguidance { + enabled = 1; + + pitchRate = 10; // Minium flap deflection for guidance + yawRate = 10; // Maximum flap deflection for guidance + + canVanillaLock = 1; // Can this default vanilla lock? Only applicable to non-cadet mode + + // Guidance type for munitions + defaultSeekerType = "SACLOS"; + seekerTypes[] = { "SACLOS" }; + + defaultSeekerLockMode = "LOBL"; + seekerLockModes[] = { "LOBL" }; + + defaultNavigationType = "Line"; + navigationTypes[] = { "Line" }; + + lineGainP = 3; + lineGainD = 2.4; + correctionDistance = 1; + + seekLastTargetPos = 0; // seek last target position [if seeker loses LOS of target, continue to last known pos] + seekerAngle = 45; // Angle from the shooter's view that can track the missile + seekerAccuracy = 1; // seeker accuracy multiplier + + seekerMinRange = 30; + seekerMaxRange = 12000; // Range from the missile which the seeker can visually search + + // Attack profile type selection + defaultAttackProfile = "BEAM"; + attackProfiles[] = {"BEAM"}; + }; + }; +}; + diff --git a/addons/vikhr/CfgMagazines.hpp b/addons/vikhr/CfgMagazines.hpp new file mode 100644 index 00000000000..c8cbf689e4c --- /dev/null +++ b/addons/vikhr/CfgMagazines.hpp @@ -0,0 +1,53 @@ +class CfgMagazines { + class 2Rnd_LG_scalpel; + class 6Rnd_LG_scalpel; + class 8Rnd_LG_scalpel; + class PylonRack_1Rnd_LG_scalpel; + class PylonMissile_1Rnd_LG_scalpel; + class PylonRack_3Rnd_LG_scalpel; + class PylonRack_4Rnd_LG_scalpel; + + class GVAR(2Rnd): 2Rnd_LG_scalpel { + author = "Brandon (TCVM)"; + displayName = "2x 9K121 Vikhr [ACE]"; + ammo = QGVAR(9k121); + }; + + class GVAR(6Rnd): 6Rnd_LG_scalpel { + author = "Brandon (TCVM)"; + displayName = "6x 9K121 Vikhr [ACE]"; + ammo = QGVAR(9k121); + }; + + class GVAR(8Rnd): 8Rnd_LG_scalpel { + author = "Brandon (TCVM)"; + displayName = "8x 9K121 Vikhr [ACE]"; + ammo = QGVAR(9k121); + }; + + class GVAR(PylonRack_1Rnd): PylonRack_1Rnd_LG_scalpel { + author = "Brandon (TCVM)"; + displayName = "1x 9K121 Vikhr [ACE]"; + ammo = QGVAR(9k121); + pylonWeapon = QGVAR(9k121); + }; + class GVAR(PylonMissile_1Rnd): PylonMissile_1Rnd_LG_scalpel { + author = "Brandon (TCVM)"; + displayName = "1x 9K121 Vikhr [ACE]"; + ammo = QGVAR(9k121); + pylonWeapon = QGVAR(9k121); + }; + class GVAR(PylonRack_3Rnd): PylonRack_3Rnd_LG_scalpel { + author = "Brandon (TCVM)"; + displayName = "3x 9K121 Vikhr [ACE]"; + ammo = QGVAR(9k121); + pylonWeapon = QGVAR(9k121); + }; + class GVAR(PylonRack_4Rnd): PylonRack_4Rnd_LG_scalpel { + author = "Brandon (TCVM)"; + displayName = "4x 9K121 Vikhr [ACE]"; + ammo = QGVAR(9k121); + pylonWeapon = QGVAR(9k121); + }; +}; + diff --git a/addons/vikhr/CfgWeapons.hpp b/addons/vikhr/CfgWeapons.hpp new file mode 100644 index 00000000000..b45d260b6ff --- /dev/null +++ b/addons/vikhr/CfgWeapons.hpp @@ -0,0 +1,17 @@ +class CfgWeapons { + class missiles_SCALPEL; + class GVAR(9k121): missiles_SCALPEL { + author = "Brandon (TCVM)"; + displayName = "Skalpel ATGM"; + magazines[] = { + QGVAR(2Rnd), + QGVAR(6Rnd), + QGVAR(8Rnd), + QGVAR(PylonRack_1Rnd), + QGVAR(PylonMissile_1Rnd), + QGVAR(PylonRack_3Rnd), + QGVAR(PylonRack_4Rnd) + }; + } +}; + diff --git a/addons/vikhr/README.md b/addons/vikhr/README.md new file mode 100644 index 00000000000..4d01c83043a --- /dev/null +++ b/addons/vikhr/README.md @@ -0,0 +1,12 @@ +ace_vikhr +=================== + +Adds Vikhr beam-riding ATGM + + +## Maintainers + +The people responsible for merging changes to this component or answering potential questions. + +- [Brandon-TCVM](https://github.com/TheCandianVendingMachine) + diff --git a/addons/vikhr/config.cpp b/addons/vikhr/config.cpp new file mode 100644 index 00000000000..c3fa7648329 --- /dev/null +++ b/addons/vikhr/config.cpp @@ -0,0 +1,20 @@ +#include "script_component.hpp" + +class CfgPatches { + class ADDON { + name = COMPONENT_NAME; + units[] = {}; + weapons[] = {}; + requiredVersion = REQUIRED_VERSION; + requiredAddons[] = {"ace_common","ace_missileguidance"}; + author = ECSTRING(common,ACETeam); + authors[] = {"Brandon (TCVM)"}; + url = ECSTRING(main,URL); + VERSION_CONFIG; + }; +}; + +#include "CfgAmmo.hpp" +#include "CfgMagazines.hpp" +#include "CfgWeapons.hpp" + diff --git a/addons/vikhr/script_component.hpp b/addons/vikhr/script_component.hpp new file mode 100644 index 00000000000..aa25509f97d --- /dev/null +++ b/addons/vikhr/script_component.hpp @@ -0,0 +1,18 @@ +#define COMPONENT vikhr +#define COMPONENT_BEAUTIFIED Vikhr +#include "\z\ace\addons\main\script_mod.hpp" + +// #define DEBUG_MODE_FULL +// #define DISABLE_COMPILE_CACHE +// #define ENABLE_PERFORMANCE_COUNTERS + +#ifdef DEBUG_ENABLED_VIKHR + #define DEBUG_MODE_FULL +#endif + +#ifdef DEBUG_SETTINGS_VIKHR + #define DEBUG_SETTINGS DEBUG_SETTINGS_GBU +#endif + +#include "\z\ace\addons\main\script_macros.hpp" + From a91b3aa1c9464d7fc5a11b0337f90a78b057832b Mon Sep 17 00:00:00 2001 From: Brandon Danyluk Date: Wed, 21 Apr 2021 01:41:56 -0600 Subject: [PATCH 076/254] Add long range SAMs --- addons/missileguidance/todo.txt | 12 ++-- addons/sam/$PBOPREFIX$ | 1 + addons/sam/CfgAmmo.hpp | 122 ++++++++++++++++++++++++++++++++ addons/sam/CfgMagazines.hpp | 20 ++++++ addons/sam/CfgVehicles.hpp | 57 +++++++++++++++ addons/sam/CfgWeapons.hpp | 26 +++++++ addons/sam/README.md | 12 ++++ addons/sam/config.cpp | 21 ++++++ addons/sam/script_component.hpp | 18 +++++ 9 files changed, 283 insertions(+), 6 deletions(-) create mode 100644 addons/sam/$PBOPREFIX$ create mode 100644 addons/sam/CfgAmmo.hpp create mode 100644 addons/sam/CfgMagazines.hpp create mode 100644 addons/sam/CfgVehicles.hpp create mode 100644 addons/sam/CfgWeapons.hpp create mode 100644 addons/sam/README.md create mode 100644 addons/sam/config.cpp create mode 100644 addons/sam/script_component.hpp diff --git a/addons/missileguidance/todo.txt b/addons/missileguidance/todo.txt index 6bca69a3f45..8e6c87d2b59 100644 --- a/addons/missileguidance/todo.txt +++ b/addons/missileguidance/todo.txt @@ -33,9 +33,9 @@ Weapon Configs: ZSU-39 Tigris AA - Infrared Mk49 Spartan - Infrared - Mk21 Centurion - Doppler Radar - MIM-145 - Doppler Radar - S-750 - Doppler Radar + X Mk21 Centurion - Doppler Radar + X MIM-145 - Doppler Radar + X S-750 - Doppler Radar Seeker Types: X Laser @@ -73,9 +73,9 @@ Navigation Types: X AIM-120 - ZEM X AIM-132 - ZEM X GBU-SDB - ZEM - MIM-145 - ZEM - S-750 - ZEM - Mk49 Spartan - ZEM + X MIM-145 - ZEM + X S-750 - ZEM + X Mk49 Spartan - ZEM Navigation State Machine: Todo: Will allow for changing of navigation type in flight to get a more realistic flight profile diff --git a/addons/sam/$PBOPREFIX$ b/addons/sam/$PBOPREFIX$ new file mode 100644 index 00000000000..0f4b00ca294 --- /dev/null +++ b/addons/sam/$PBOPREFIX$ @@ -0,0 +1 @@ +z\ace\addons\sam \ No newline at end of file diff --git a/addons/sam/CfgAmmo.hpp b/addons/sam/CfgAmmo.hpp new file mode 100644 index 00000000000..a4a191afc5b --- /dev/null +++ b/addons/sam/CfgAmmo.hpp @@ -0,0 +1,122 @@ +class CfgAmmo { + class ammo_Missile_mim145; + class GVAR(patriot): ammo_Missile_mim145 { + author = "Brandon (TCVM)"; + maneuvrability = 0; + class ace_missileguidance { + enabled = 1; + + pitchRate = 30; // Minium flap deflection for guidance + yawRate = 30; // Maximum flap deflection for guidance + + canVanillaLock = 1; // Can this default vanilla lock? Only applicable to non-cadet mode + + // Guidance type for munitions + defaultSeekerType = "DopplerRadar"; + seekerTypes[] = { "DopplerRadar" }; + lockableTypes[] = {"Air"}; + + minimumSpeedFilter = 10; // filter out targets that have a closing velocity less than this + minimumTimeFilter = 0.00001; // filter out targets that are this close to the ground (speed of light) + maxTerrainCheck = 16000; // How far we should check for terrain + + defaultSeekerLockMode = "LOAL"; + seekerLockModes[] = { "LOAL", "LOBL" }; + + defaultNavigationType = "ZeroEffortMiss"; + navigationTypes[] = { "ZeroEffortMiss" }; + + seekLastTargetPos = 0; // seek last target position [if seeker loses LOS of target, continue to last known pos] + seekerAngle = 50; // Angle from the shooter's view that can track the missile + seekerAccuracy = 1; // seeker accuracy multiplier + + seekerMinRange = 75; + seekerMaxRange = 2500; // Range from the missile which the seeker can visually search + + // Attack profile type selection + defaultAttackProfile = "DIR"; + attackProfiles[] = {"DIR"}; + }; + }; + + class ammo_Missile_rim162; + class GVAR(RIM162): ammo_Missile_rim162 { + author = "Brandon (TCVM)"; + maneuvrability = 0; + class ace_missileguidance { + enabled = 1; + + pitchRate = 15; // Minium flap deflection for guidance + yawRate = 15; // Maximum flap deflection for guidance + + canVanillaLock = 1; // Can this default vanilla lock? Only applicable to non-cadet mode + + // Guidance type for munitions + defaultSeekerType = "DopplerRadar"; + seekerTypes[] = { "DopplerRadar" }; + lockableTypes[] = {"Air"}; + + minimumSpeedFilter = 20; // filter out targets that have a closing velocity less than this + minimumTimeFilter = 0.00001; // filter out targets that are this close to the ground (speed of light) + maxTerrainCheck = 16000; // How far we should check for terrain + + defaultSeekerLockMode = "LOAL"; + seekerLockModes[] = { "LOAL", "LOBL" }; + + defaultNavigationType = "ZeroEffortMiss"; + navigationTypes[] = { "ZeroEffortMiss" }; + + seekLastTargetPos = 0; // seek last target position [if seeker loses LOS of target, continue to last known pos] + seekerAngle = 50; // Angle from the shooter's view that can track the missile + seekerAccuracy = 1; // seeker accuracy multiplier + + seekerMinRange = 75; + seekerMaxRange = 2500; // Range from the missile which the seeker can visually search + + // Attack profile type selection + defaultAttackProfile = "DIR"; + attackProfiles[] = {"DIR"}; + }; + }; + + class ammo_Missile_s750; + class GVAR(s400): ammo_Missile_s750 { + author = "Brandon (TCVM)"; + maneuvrability = 0; + class ace_missileguidance { + enabled = 1; + + pitchRate = 25; // Minium flap deflection for guidance + yawRate = 25; // Maximum flap deflection for guidance + + canVanillaLock = 1; // Can this default vanilla lock? Only applicable to non-cadet mode + + // Guidance type for munitions + defaultSeekerType = "DopplerRadar"; + seekerTypes[] = { "DopplerRadar" }; + lockableTypes[] = {"Air"}; + + minimumSpeedFilter = 5; // filter out targets that have a closing velocity less than this + minimumTimeFilter = 0.000001; // filter out targets that are this close to the ground (speed of light) + maxTerrainCheck = 16000; // How far we should check for terrain + + defaultSeekerLockMode = "LOAL"; + seekerLockModes[] = { "LOAL", "LOBL" }; + + defaultNavigationType = "ZeroEffortMiss"; + navigationTypes[] = { "ZeroEffortMiss" }; + + seekLastTargetPos = 0; // seek last target position [if seeker loses LOS of target, continue to last known pos] + seekerAngle = 50; // Angle from the shooter's view that can track the missile + seekerAccuracy = 1; // seeker accuracy multiplier + + seekerMinRange = 75; + seekerMaxRange = 2500; // Range from the missile which the seeker can visually search + + // Attack profile type selection + defaultAttackProfile = "DIR"; + attackProfiles[] = {"DIR"}; + }; + }; +}; + diff --git a/addons/sam/CfgMagazines.hpp b/addons/sam/CfgMagazines.hpp new file mode 100644 index 00000000000..bc16c6f914f --- /dev/null +++ b/addons/sam/CfgMagazines.hpp @@ -0,0 +1,20 @@ +class CfgMagazines { + class magazine_Missile_mim145_x4; + class GVAR(patriot): magazine_Missile_mim145_x4 { + displayName = "MIM-104 Patriot Missile"; + ammo = QGVAR(patriot); + }; + + class magazine_Missile_rim162_x8; + class GVAR(RIM162): magazine_Missile_rim162_x8 { + displayName = "RIM-162 ESSM"; + ammo = QGVAR(RIM162); + }; + + class magazine_Missile_s750_x4; + class GVAR(s400): magazine_Missile_s750_x4 { + displayName = "S-400"; + ammo = QGVAR(s400); + }; +}; + diff --git a/addons/sam/CfgVehicles.hpp b/addons/sam/CfgVehicles.hpp new file mode 100644 index 00000000000..3556bfc3a2c --- /dev/null +++ b/addons/sam/CfgVehicles.hpp @@ -0,0 +1,57 @@ +class CfgVehicles { + class LandVehicle; + class StaticWeapon: LandVehicle { + class Turrets; + }; + class StaticMGWeapon: StaticWeapon { + class Turrets: Turrets { + class MainTurret; + }; + }; + + // RIM-162 + class SAM_System_02_base_F: StaticMGWeapon { + displayName = "Mk-29"; + class Turrets: Turrets { + class MainTurret: MainTurret { + gunnerName = "Mk-29 Operator"; + weapons[] = { + QGVAR(RIM162) + }; + magazines[] = { + QGVAR(RIM162) + }; + }; + }; + }; + // Patriot + class SAM_System_03_base_F: StaticMGWeapon { + displayName = "MIM-104 Patriot"; + class Turrets: Turrets { + class MainTurret: MainTurret { + gunnerName = "MIM-104 Patriot Operator"; + weapons[] = { + QGVAR(patriot) + }; + magazines[] = { + QGVAR(patriot) + }; + }; + }; + }; + // S-400 + class SAM_System_04_base_F: StaticMGWeapon { + displayName = "S-400"; + class Turrets: Turrets { + class MainTurret: MainTurret { + gunnerName = "S-400 Operator"; + weapons[] = { + QGVAR(s400) + }; + magazines[] = { + QGVAR(s400) + }; + }; + }; + }; +}; \ No newline at end of file diff --git a/addons/sam/CfgWeapons.hpp b/addons/sam/CfgWeapons.hpp new file mode 100644 index 00000000000..4ae3c357229 --- /dev/null +++ b/addons/sam/CfgWeapons.hpp @@ -0,0 +1,26 @@ +class CfgWeapons { + class weapon_mim145Launcher; + class GVAR(patriot): weapon_mim145Launcher { + author = "Brandon (TCVM)"; + displayName = "MIM-104 Patriot"; + magazines[] = { QGVAR(patriot) }; + weaponLockDelay = 0.5; + }; + + class weapon_rim162Launcher; + class GVAR(RIM162): weapon_rim162Launcher { + author = "Brandon (TCVM)"; + displayName = "Mk-29 ESSM"; + magazines[] = { QGVAR(RIM162) }; + weaponLockDelay = 0.5; + }; + + class weapon_s750Launcher; + class GVAR(s400): weapon_s750Launcher { + author = "Brandon (TCVM)"; + displayName = "S-400"; + magazines[] = { QGVAR(s400) }; + weaponLockDelay = 0.5; + }; +}; + diff --git a/addons/sam/README.md b/addons/sam/README.md new file mode 100644 index 00000000000..9bd479569d2 --- /dev/null +++ b/addons/sam/README.md @@ -0,0 +1,12 @@ +ace_sam +=================== + +Adds MIM-104 Patriot, S-400, and RIM-162 missiles + + +## Maintainers + +The people responsible for merging changes to this component or answering potential questions. + +- [Brandon-TCVM](https://github.com/TheCandianVendingMachine) + diff --git a/addons/sam/config.cpp b/addons/sam/config.cpp new file mode 100644 index 00000000000..c61886cd26f --- /dev/null +++ b/addons/sam/config.cpp @@ -0,0 +1,21 @@ +#include "script_component.hpp" + +class CfgPatches { + class ADDON { + name = COMPONENT_NAME; + units[] = {}; + weapons[] = {}; + requiredVersion = REQUIRED_VERSION; + requiredAddons[] = {"ace_common","ace_missileguidance"}; + author = ECSTRING(common,ACETeam); + authors[] = {"Brandon (TCVM)"}; + url = ECSTRING(main,URL); + VERSION_CONFIG; + }; +}; + +#include "CfgAmmo.hpp" +#include "CfgMagazines.hpp" +#include "CfgWeapons.hpp" +#include "CfgVehicles.hpp" + diff --git a/addons/sam/script_component.hpp b/addons/sam/script_component.hpp new file mode 100644 index 00000000000..7fda193fcb5 --- /dev/null +++ b/addons/sam/script_component.hpp @@ -0,0 +1,18 @@ +#define COMPONENT sam +#define COMPONENT_BEAUTIFIED SAM +#include "\z\ace\addons\main\script_mod.hpp" + +// #define DEBUG_MODE_FULL +// #define DISABLE_COMPILE_CACHE +// #define ENABLE_PERFORMANCE_COUNTERS + +#ifdef DEBUG_ENABLED_SAM + #define DEBUG_MODE_FULL +#endif + +#ifdef DEBUG_SETTINGS_SAM + #define DEBUG_SETTINGS DEBUG_SETTINGS_SAM +#endif + +#include "\z\ace\addons\main\script_macros.hpp" + From cba9dcd8e754e900f376970ae23ec6a096b4657e Mon Sep 17 00:00:00 2001 From: Brandon Danyluk Date: Wed, 21 Apr 2021 12:48:44 -0600 Subject: [PATCH 077/254] fix SAM animations --- addons/sam/CfgVehicles.hpp | 18 ++++++++++++++++++ 1 file changed, 18 insertions(+) diff --git a/addons/sam/CfgVehicles.hpp b/addons/sam/CfgVehicles.hpp index 3556bfc3a2c..6b4f5dcc137 100644 --- a/addons/sam/CfgVehicles.hpp +++ b/addons/sam/CfgVehicles.hpp @@ -12,6 +12,12 @@ class CfgVehicles { // RIM-162 class SAM_System_02_base_F: StaticMGWeapon { displayName = "Mk-29"; + class AnimationSources { + class Missiles_revolving { + source = "revolving"; + weapon = QGVAR(RIM162); + }; + }; class Turrets: Turrets { class MainTurret: MainTurret { gunnerName = "Mk-29 Operator"; @@ -27,6 +33,12 @@ class CfgVehicles { // Patriot class SAM_System_03_base_F: StaticMGWeapon { displayName = "MIM-104 Patriot"; + class AnimationSources { + class Missiles_revolving { + source = "revolving"; + weapon = QGVAR(patriot); + }; + }; class Turrets: Turrets { class MainTurret: MainTurret { gunnerName = "MIM-104 Patriot Operator"; @@ -42,6 +54,12 @@ class CfgVehicles { // S-400 class SAM_System_04_base_F: StaticMGWeapon { displayName = "S-400"; + class AnimationSources { + class Missiles_revolving { + source = "revolving"; + weapon = QGVAR(s400); + }; + }; class Turrets: Turrets { class MainTurret: MainTurret { gunnerName = "S-400 Operator"; From 675b07d2eda9c12b5900712644976b21b4db4b14 Mon Sep 17 00:00:00 2001 From: Brandon Danyluk Date: Wed, 21 Apr 2021 13:41:23 -0600 Subject: [PATCH 078/254] Add all ground based missiles. Tweak AIM-9 flare angle --- addons/aim9/CfgAmmo.hpp | 2 +- addons/manpad/$PBOPREFIX$ | 1 + addons/manpad/CfgAmmo.hpp | 80 +++++++++++++ addons/manpad/CfgMagazines.hpp | 23 ++++ addons/manpad/CfgVehicles.hpp | 111 ++++++++++++++++++ addons/manpad/CfgWeapons.hpp | 23 ++++ addons/manpad/README.md | 12 ++ addons/manpad/config.cpp | 21 ++++ addons/manpad/script_component.hpp | 18 +++ .../functions/fnc_seekerType_IR.sqf | 2 +- addons/missileguidance/todo.txt | 22 ++-- 11 files changed, 302 insertions(+), 13 deletions(-) create mode 100644 addons/manpad/$PBOPREFIX$ create mode 100644 addons/manpad/CfgAmmo.hpp create mode 100644 addons/manpad/CfgMagazines.hpp create mode 100644 addons/manpad/CfgVehicles.hpp create mode 100644 addons/manpad/CfgWeapons.hpp create mode 100644 addons/manpad/README.md create mode 100644 addons/manpad/config.cpp create mode 100644 addons/manpad/script_component.hpp diff --git a/addons/aim9/CfgAmmo.hpp b/addons/aim9/CfgAmmo.hpp index a0d711c41d3..63be988ba79 100644 --- a/addons/aim9/CfgAmmo.hpp +++ b/addons/aim9/CfgAmmo.hpp @@ -22,7 +22,7 @@ class CfgAmmo { seekerTypes[] = { "IR" }; flareDistanceFilter = 100; - flareAngleFilter = 2.0; // can filter out flares that are >= flareAngleFilter to known target velocity + flareAngleFilter = 1.6; // can filter out flares that are >= flareAngleFilter to known target velocity defaultSeekerLockMode = "LOBL"; seekerLockModes[] = { "LOBL" }; diff --git a/addons/manpad/$PBOPREFIX$ b/addons/manpad/$PBOPREFIX$ new file mode 100644 index 00000000000..4c93d594fcc --- /dev/null +++ b/addons/manpad/$PBOPREFIX$ @@ -0,0 +1 @@ +z\ace\addons\manpad \ No newline at end of file diff --git a/addons/manpad/CfgAmmo.hpp b/addons/manpad/CfgAmmo.hpp new file mode 100644 index 00000000000..25e854b5257 --- /dev/null +++ b/addons/manpad/CfgAmmo.hpp @@ -0,0 +1,80 @@ +class CfgAmmo { + class ammo_Missile_rim116; + class GVAR(rim116): ammo_Missile_rim116 { + maneuvrability = 0; + missileLockMaxSpeed = 2000; + + class ace_missileguidance { + enabled = 1; + + pitchRate = 30; // Minium flap deflection for guidance + yawRate = 30; // Maximum flap deflection for guidance + + canVanillaLock = 1; // Can this default vanilla lock? Only applicable to non-cadet mode + + // Guidance type for munitions + defaultSeekerType = "IR"; + seekerTypes[] = { "IR" }; + + flareDistanceFilter = 100; + flareAngleFilter = 0.5; // can filter out flares that are >= flareAngleFilter to known target velocity + + defaultSeekerLockMode = "LOBL"; + seekerLockModes[] = { "LOBL" }; + + defaultNavigationType = "ZeroEffortMiss"; + navigationTypes[] = { "ZeroEffortMiss" }; + + seekLastTargetPos = 0; // seek last target position [if seeker loses LOS of target, continue to last known pos] + seekerAngle = 45; // Angle from the shooter's view that can track the missile + seekerAccuracy = 0.8; // seeker accuracy multiplier + + seekerMinRange = 75; + seekerMaxRange = 5000; // Range from the missile which the seeker can visually search + + // Attack profile type selection + defaultAttackProfile = "DIR"; + attackProfiles[] = {"DIR"}; + }; + }; + + class M_70mm_SAAMI; + class GVAR(stinger): M_70mm_SAAMI { + maneuvrability = 0; + missileLockMaxSpeed = 2000; + + class ace_missileguidance { + enabled = 1; + + pitchRate = 20; // Minium flap deflection for guidance + yawRate = 20; // Maximum flap deflection for guidance + + canVanillaLock = 1; // Can this default vanilla lock? Only applicable to non-cadet mode + + // Guidance type for munitions + defaultSeekerType = "IR"; + seekerTypes[] = { "IR" }; + + flareDistanceFilter = 100; + flareAngleFilter = 1.3; // can filter out flares that are >= flareAngleFilter to known target velocity + + defaultSeekerLockMode = "LOBL"; + seekerLockModes[] = { "LOBL" }; + + defaultNavigationType = "AugmentedProportionalNavigation"; + navigationTypes[] = { "AugmentedProportionalNavigation" }; + + seekLastTargetPos = 0; // seek last target position [if seeker loses LOS of target, continue to last known pos] + seekerAngle = 45; // Angle from the shooter's view that can track the missile + seekerAccuracy = 0.8; // seeker accuracy multiplier + + seekerMinRange = 75; + seekerMaxRange = 5000; // Range from the missile which the seeker can visually search + + // Attack profile type selection + defaultAttackProfile = "DIR"; + attackProfiles[] = {"DIR"}; + }; + }; +}; + diff --git a/addons/manpad/CfgMagazines.hpp b/addons/manpad/CfgMagazines.hpp new file mode 100644 index 00000000000..b359d2fcd91 --- /dev/null +++ b/addons/manpad/CfgMagazines.hpp @@ -0,0 +1,23 @@ +class CfgMagazines { + class magazine_Missile_rim116_x21; + class GVAR(rim116): magazine_Missile_rim116_x21 { + author = "Brandon (TCVM)"; + displayName = "x21 RIM-116 [ACE]"; + ammo = QGVAR(rim116); + }; + + class 4Rnd_70mm_SAAMI_missiles; + class GVAR(stinger): 4Rnd_70mm_SAAMI_missiles { + author = "Brandon (TCVM)"; + displayName = "x4 FIM-92 Stinger [ACE]"; + ammo = QGVAR(stinger); + }; + + class Titan_AA; + class GVAR(stinger_man): Titan_AA { + author = "Brandon (TCVM)"; + displayName = "FIM-92 Stinger [ACE]"; + ammo = QGVAR(stinger); + }; +}; + diff --git a/addons/manpad/CfgVehicles.hpp b/addons/manpad/CfgVehicles.hpp new file mode 100644 index 00000000000..2fff1b95f2b --- /dev/null +++ b/addons/manpad/CfgVehicles.hpp @@ -0,0 +1,111 @@ +class CfgVehicles { + class LandVehicle; + class StaticWeapon: LandVehicle { + class Turrets; + }; + class StaticMGWeapon: StaticWeapon { + class Turrets: Turrets { + class MainTurret; + }; + }; + + class SAM_System_01_base_F: StaticMGWeapon { + class AnimationSources { + class Missiles_revolving { + source = "revolving"; + weapon = QGVAR(rim116); + }; + }; + + class Turrets: Turrets { + class MainTurret: MainTurret { + weapons[] = {QGVAR(rim116)}; + magazines[] = {QGVAR(rim116)}; + }; + }; + }; + + class Tank; + class Tank_F: Tank { + class Turrets; + }; + class LT_01_base_F: Tank_F { + class AnimationSources; + class Turrets: Turrets { + class MainTurret; + }; + }; + + class LT_01_AA_base_F: LT_01_base_F { + class AnimationSources: AnimationSources { + class Missiles_revolving { + source = "revolving"; + weapon = QGVAR(FIM92); + }; + }; + + class Turrets: Turrets { + class MainTurret: MainTurret { + weapons[] = {"SmokeLauncher", QGVAR(FIM92), "HMG_127"}; + magazines[] = { + "SmokeLauncherMag", + QGVAR(stinger), + QGVAR(stinger), + "100Rnd_127x99_mag_Tracer_Red", + "100Rnd_127x99_mag_Tracer_Red", + "100Rnd_127x99_mag_Tracer_Red", + "100Rnd_127x99_mag_Tracer_Red" + }; + }; + }; + }; + + class APC_Tracked_01_base_F: Tank_F { + class Turrets; + }; + + class B_APC_Tracked_01_base_F: APC_Tracked_01_base_F { + class AnimationSources; + class Turrets: Turrets { + class MainTurret; + }; + }; + class B_APC_Tracked_01_AA_F: B_APC_Tracked_01_base_F { + class AnimationSources: AnimationSources { + class Missiles_revolving { + source = "revolving"; + weapon = QGVAR(FIM92); + }; + }; + class Turrets: Turrets { + class MainTurret: MainTurret { + weapons[] = {"autocannon_35mm", QGVAR(FIM92)}; + magazines[] = {"680Rnd_35mm_AA_shells_Tracer_Red", QGVAR(stinger), QGVAR(stinger)}; + }; + }; + }; + + class APC_Tracked_02_base_F: Tank_F { + class Turrets; + }; + class O_APC_Tracked_02_base_F : APC_Tracked_02_base_F { + class AnimationSources; + class Turrets: Turrets { + class MainTurret; + }; + }; + class O_APC_Tracked_02_AA_F : O_APC_Tracked_02_base_F { + class AnimationSources: AnimationSources { + class Missiles_revolving { + source = "revolving"; + weapon = QGVAR(FIM92); + }; + }; + class Turrets: Turrets { + class MainTurret: MainTurret { + weapons[] = {"autocannon_35mm", QGVAR(FIM92)}; + magazines[] = {"680Rnd_35mm_AA_shells_Tracer_Green", QGVAR(stinger), QGVAR(stinger)}; + }; + }; + }; +}; \ No newline at end of file diff --git a/addons/manpad/CfgWeapons.hpp b/addons/manpad/CfgWeapons.hpp new file mode 100644 index 00000000000..e7d35917868 --- /dev/null +++ b/addons/manpad/CfgWeapons.hpp @@ -0,0 +1,23 @@ +class CfgWeapons { + class weapon_rim116Launcher; + class GVAR(rim116): weapon_rim116Launcher { + author = "Brandon (TCVM)"; + displayName = "RIM-116"; + magazines[] = { QGVAR(rim116) }; + weaponLockDelay = 0.5; + }; + + class missiles_SAAMI; + class GVAR(FIM92): missiles_SAAMI { + author = "Brandon (TCVM)"; + displayName = "FIM-92 Stinger"; + magazines[] = { QGVAR(stinger) }; + weaponLockDelay = 0.5; + }; + + class Launcher_Base_F; + class launch_Titan_base: Launcher_Base_F { + magazines[] = {QGVAR(stinger_man)}; + }; +}; + diff --git a/addons/manpad/README.md b/addons/manpad/README.md new file mode 100644 index 00000000000..54923086831 --- /dev/null +++ b/addons/manpad/README.md @@ -0,0 +1,12 @@ +ace_manpad +=================== + +Adds missile guidance to all vanilla MANPAD systems + + +## Maintainers + +The people responsible for merging changes to this component or answering potential questions. + +- [Brandon-TCVM](https://github.com/TheCandianVendingMachine) + diff --git a/addons/manpad/config.cpp b/addons/manpad/config.cpp new file mode 100644 index 00000000000..c61886cd26f --- /dev/null +++ b/addons/manpad/config.cpp @@ -0,0 +1,21 @@ +#include "script_component.hpp" + +class CfgPatches { + class ADDON { + name = COMPONENT_NAME; + units[] = {}; + weapons[] = {}; + requiredVersion = REQUIRED_VERSION; + requiredAddons[] = {"ace_common","ace_missileguidance"}; + author = ECSTRING(common,ACETeam); + authors[] = {"Brandon (TCVM)"}; + url = ECSTRING(main,URL); + VERSION_CONFIG; + }; +}; + +#include "CfgAmmo.hpp" +#include "CfgMagazines.hpp" +#include "CfgWeapons.hpp" +#include "CfgVehicles.hpp" + diff --git a/addons/manpad/script_component.hpp b/addons/manpad/script_component.hpp new file mode 100644 index 00000000000..d1269fc3681 --- /dev/null +++ b/addons/manpad/script_component.hpp @@ -0,0 +1,18 @@ +#define COMPONENT manpad +#define COMPONENT_BEAUTIFIED MANPAD +#include "\z\ace\addons\main\script_mod.hpp" + +// #define DEBUG_MODE_FULL +// #define DISABLE_COMPILE_CACHE +// #define ENABLE_PERFORMANCE_COUNTERS + +#ifdef DEBUG_ENABLED_MANPAD + #define DEBUG_MODE_FULL +#endif + +#ifdef DEBUG_SETTINGS_MANPAD + #define DEBUG_SETTINGS DEBUG_SETTINGS_MANPAD +#endif + +#include "\z\ace\addons\main\script_macros.hpp" + diff --git a/addons/missileguidance/functions/fnc_seekerType_IR.sqf b/addons/missileguidance/functions/fnc_seekerType_IR.sqf index a4556a7b13d..cf861977393 100644 --- a/addons/missileguidance/functions/fnc_seekerType_IR.sqf +++ b/addons/missileguidance/functions/fnc_seekerType_IR.sqf @@ -91,7 +91,7 @@ if (TRACK_ON_PAUSE || {accTime > 0 && !isGamePaused}) then { if !(_foundDecoy) then { private _flareRelativeVelocity = (velocity _x) vectorDiff _projectileVelocity; private _angleBetweenVelocities = acos (_closingVelocity vectorCos _flareRelativeVelocity); - + systemChat str [_angleBetweenVelocities, _flareAngleFilter]; if (_angleBetweenVelocities <= _flareAngleFilter) then { _considering = true; if (_seekerAccuracy <= random 1) then { diff --git a/addons/missileguidance/todo.txt b/addons/missileguidance/todo.txt index 8e6c87d2b59..2f28ebfa677 100644 --- a/addons/missileguidance/todo.txt +++ b/addons/missileguidance/todo.txt @@ -27,11 +27,11 @@ Weapon Configs: AGM-88 - Passive Radar Homing KH-58 - Passive Radar Homing - Titan MRPL - Infrared - AWC Nyx SAAMI - Infrared - IFV-6a Cheetah AA - Infrared - ZSU-39 Tigris AA - Infrared - Mk49 Spartan - Infrared + X Titan MRPL - Infrared + X AWC Nyx SAAMI - Infrared + X IFV-6a Cheetah AA - Infrared + X ZSU-39 Tigris AA - Infrared + X Mk49 Spartan - Infrared X Mk21 Centurion - Doppler Radar X MIM-145 - Doppler Radar @@ -61,11 +61,10 @@ Navigation Types: AGM-88 - APN KH-58 - APN X AIM-9 - APN - Titan MRPL - APN - AWC Nyx SAAMI - APN - IFV-6a Cheetah AA - APN - ZSU-39 Tigris AA - APN - Mk21 Centurion - APN + X Titan MRPL - APN + X AWC Nyx SAAMI - APN + X IFV-6a Cheetah AA - APN + X ZSU-39 Tigris AA - APN X Javelin - ZEM X Hellfire - ZEM @@ -76,6 +75,7 @@ Navigation Types: X MIM-145 - ZEM X S-750 - ZEM X Mk49 Spartan - ZEM + X Mk21 Centurion - ZEM Navigation State Machine: Todo: Will allow for changing of navigation type in flight to get a more realistic flight profile @@ -87,7 +87,7 @@ Navigation Types: X Predicted Line of Sight General To-Do: - Add more weapons + X Add more weapons X Fix GBU drag X Make sure all applicable pylons can hold all applicable weapons X NLAW is busted: figure out PLOS navigation system From a057768e7f8b53a71e2bad6f87b7b87bf0385d0f Mon Sep 17 00:00:00 2001 From: Brandon Danyluk Date: Wed, 21 Apr 2021 15:03:49 -0600 Subject: [PATCH 079/254] remove debugh print --- addons/missileguidance/functions/fnc_seekerType_IR.sqf | 1 - 1 file changed, 1 deletion(-) diff --git a/addons/missileguidance/functions/fnc_seekerType_IR.sqf b/addons/missileguidance/functions/fnc_seekerType_IR.sqf index cf861977393..2fb2495d6ca 100644 --- a/addons/missileguidance/functions/fnc_seekerType_IR.sqf +++ b/addons/missileguidance/functions/fnc_seekerType_IR.sqf @@ -91,7 +91,6 @@ if (TRACK_ON_PAUSE || {accTime > 0 && !isGamePaused}) then { if !(_foundDecoy) then { private _flareRelativeVelocity = (velocity _x) vectorDiff _projectileVelocity; private _angleBetweenVelocities = acos (_closingVelocity vectorCos _flareRelativeVelocity); - systemChat str [_angleBetweenVelocities, _flareAngleFilter]; if (_angleBetweenVelocities <= _flareAngleFilter) then { _considering = true; if (_seekerAccuracy <= random 1) then { From 73980337b78d14f9f406501710ce84f86dd011dd Mon Sep 17 00:00:00 2001 From: Brandon Danyluk Date: Wed, 21 Apr 2021 15:16:38 -0600 Subject: [PATCH 080/254] Fix Wiesel ATGM animation. Tweak SACLOS values --- addons/hot/CfgAmmo.hpp | 4 ++-- addons/hot/CfgVehicles.hpp | 11 +++++++++++ addons/metis/CfgAmmo.hpp | 4 ++-- addons/vikhr/CfgAmmo.hpp | 6 +++--- 4 files changed, 18 insertions(+), 7 deletions(-) diff --git a/addons/hot/CfgAmmo.hpp b/addons/hot/CfgAmmo.hpp index 6cd1086bc9d..4a957cc5512 100644 --- a/addons/hot/CfgAmmo.hpp +++ b/addons/hot/CfgAmmo.hpp @@ -72,8 +72,8 @@ class CfgAmmo { defaultNavigationType = "Line"; navigationTypes[] = { "Line" }; - lineGainP = 3; - lineGainD = 2.3; + lineGainP = 20; + lineGainD = 18; seekLastTargetPos = 0; // seek last target position [if seeker loses LOS of target, continue to last known pos] seekerAngle = 30; // Angle from the shooter's view that can track the missile diff --git a/addons/hot/CfgVehicles.hpp b/addons/hot/CfgVehicles.hpp index db5b8b5262e..46ac7d5136b 100644 --- a/addons/hot/CfgVehicles.hpp +++ b/addons/hot/CfgVehicles.hpp @@ -4,11 +4,22 @@ class CfgVehicles { class Turrets; }; class LT_01_base_F: Tank_F { + class AnimationSources; class Turrets: Turrets { class MainTurret; }; }; class LT_01_AT_base_F: LT_01_base_F { + class AnimationSources: AnimationSources { + class Missiles_revolving { + source = "revolving"; + weapon = QGVAR(generic_launcher); + }; + class Missiles_reloadMagazine { + source = "reloadMagazine"; + weapon = QGVAR(generic_launcher); + }; + }; class Turrets: Turrets { class MainTurret: MainTurret { weapons[] = {"SmokeLauncher","HMG_127",QGVAR(generic_launcher)}; diff --git a/addons/metis/CfgAmmo.hpp b/addons/metis/CfgAmmo.hpp index f041a99f30a..bb22e721900 100644 --- a/addons/metis/CfgAmmo.hpp +++ b/addons/metis/CfgAmmo.hpp @@ -70,8 +70,8 @@ class CfgAmmo { defaultNavigationType = "Line"; navigationTypes[] = { "Line" }; - lineGainP = 3; - lineGainD = 3; + lineGainP = 21; + lineGainD = 18; seekLastTargetPos = 0; // seek last target position [if seeker loses LOS of target, continue to last known pos] seekerAngle = 15; // Angle from the shooter's view that can track the missile diff --git a/addons/vikhr/CfgAmmo.hpp b/addons/vikhr/CfgAmmo.hpp index 2b2bb24608e..a8c49e9e2c8 100644 --- a/addons/vikhr/CfgAmmo.hpp +++ b/addons/vikhr/CfgAmmo.hpp @@ -26,12 +26,12 @@ class CfgAmmo { defaultNavigationType = "Line"; navigationTypes[] = { "Line" }; - lineGainP = 3; - lineGainD = 2.4; + lineGainP = 20; + lineGainD = 22; correctionDistance = 1; seekLastTargetPos = 0; // seek last target position [if seeker loses LOS of target, continue to last known pos] - seekerAngle = 45; // Angle from the shooter's view that can track the missile + seekerAngle = 15; // Angle from the shooter's view that can track the missile seekerAccuracy = 1; // seeker accuracy multiplier seekerMinRange = 30; From 6cfc0754d859fa6ddc67db78344a5e92b7b08f7d Mon Sep 17 00:00:00 2001 From: Brandon Danyluk Date: Wed, 21 Apr 2021 15:53:52 -0600 Subject: [PATCH 081/254] Add action to get into jdam settings --- addons/missileguidance/XEH_PREP.hpp | 1 + addons/missileguidance/XEH_post_init.sqf | 16 ++++++ .../functions/fnc_gps_getAttackData.sqf | 8 ++- .../functions/fnc_gps_onUnload.sqf | 2 +- .../functions/fnc_gps_setupVehicle.sqf | 52 +++++++++++++++++++ 5 files changed, 77 insertions(+), 2 deletions(-) create mode 100644 addons/missileguidance/functions/fnc_gps_setupVehicle.sqf diff --git a/addons/missileguidance/XEH_PREP.hpp b/addons/missileguidance/XEH_PREP.hpp index ff3268069f7..1ea50359f95 100644 --- a/addons/missileguidance/XEH_PREP.hpp +++ b/addons/missileguidance/XEH_PREP.hpp @@ -74,4 +74,5 @@ PREP(gps_modeSelect); PREP(gps_saveAttackSettings); PREP(gps_loadAttackSettings); PREP(gps_getAttackData); +PREP(gps_setupVehicle); diff --git a/addons/missileguidance/XEH_post_init.sqf b/addons/missileguidance/XEH_post_init.sqf index 4093aa994e1..33620f36cdc 100644 --- a/addons/missileguidance/XEH_post_init.sqf +++ b/addons/missileguidance/XEH_post_init.sqf @@ -14,3 +14,19 @@ GVAR(dev_fnc_projectileCamera) = compile preprocessFileLineNumbers QPATHTOF(dev\projectileCamera.sqf); +if (!hasInterface) exitWith {}; + +["ace_settingsInitialized", { + ["turret", LINKFUNC(gps_setupVehicle), false] call CBA_fnc_addPlayerEventHandler; + ["vehicle", LINKFUNC(gps_setupVehicle), true] call CBA_fnc_addPlayerEventHandler; // only one of these needs the retro flag + + // Add UAV Control Compatibility + ["ACE_controlledUAV", { + params ["_UAV", "_seatAI", "_turret", "_position"]; + TRACE_4("ACE_controlledUAV EH",_UAV,_seatAI,_turret,_position); + if (!isNull _seatAI) then { + [_seatAI] call FUNC(gps_setupVehicle); + }; + }] call CBA_fnc_addEventHandler; +}] call CBA_fnc_addEventHandler; + diff --git a/addons/missileguidance/functions/fnc_gps_getAttackData.sqf b/addons/missileguidance/functions/fnc_gps_getAttackData.sqf index 247e441982c..58109150016 100644 --- a/addons/missileguidance/functions/fnc_gps_getAttackData.sqf +++ b/addons/missileguidance/functions/fnc_gps_getAttackData.sqf @@ -20,5 +20,11 @@ if (GVAR(gps_mode) isEqualTo "too") then { _target params ["_tracking", "_position", "_object"]; GVAR(gps_currentSettings) set [0, _position] }; -GVAR(gps_currentSettings) + +// create a copy of this array to make sure values are not overwritten +[ + GVAR(gps_currentSettings)#0, + GVAR(gps_currentSettings)#1, + GVAR(gps_currentSettings)#2 +] diff --git a/addons/missileguidance/functions/fnc_gps_onUnload.sqf b/addons/missileguidance/functions/fnc_gps_onUnload.sqf index dcfa9baf2b6..724bd27c39e 100644 --- a/addons/missileguidance/functions/fnc_gps_onUnload.sqf +++ b/addons/missileguidance/functions/fnc_gps_onUnload.sqf @@ -15,4 +15,4 @@ * Public: No */ [GVAR(gps_uiPerFrameHandler)] call CBA_fnc_removePerFrameHandler; -systemChat "unload"; + diff --git a/addons/missileguidance/functions/fnc_gps_setupVehicle.sqf b/addons/missileguidance/functions/fnc_gps_setupVehicle.sqf new file mode 100644 index 00000000000..6f1d2f94f25 --- /dev/null +++ b/addons/missileguidance/functions/fnc_gps_setupVehicle.sqf @@ -0,0 +1,52 @@ +#include "script_component.hpp" +/* + * Author: Brandon (TCVM) + * Adds interaction menu actions to configure GPS bombs + * + * Arguments: + * 0: Player + * + * Return Value: + * Nothing + * + * Example: + * [player] call ace_missileguidance_fnc_gps_setupVehicle + * + * Public: No + */ +params ["_player"]; + +private _vehicle = vehicle _player; +private _turretPath = [-1]; + +if (_vehicle getVariable [QGVAR(gps_actionsAdded), false]) exitWith {}; +_vehicle setVariable [QGVAR(gps_actionsAdded), true]; + +private _condition = { + params ["_target", "_player"]; + + private _turretPath = if (ACE_player == (driver _target)) then {[-1]} else {ACE_player call CBA_fnc_turretPath}; + private _hasJDAM = false; + { + private _magazines = getArray (configFile >> "CfgWeapons" >> _x >> "magazines"); + { + private _ammo = getText (configFile >> "CfgMagazines" >> _x >> "ammo"); + private _ammoAttackProfiles = getArray (configFile >> "CfgAmmo" >> _ammo >> QUOTE(ADDON) >> "attackProfiles"); + _hasJDAM = "JDAM" in _ammoAttackProfiles; + + if (_hasJDAM) exitWith { true }; + } forEach _magazines; + + if (_hasJDAM) exitWith { true }; + } forEach (_target weaponsTurret _turretPath); + + _hasJDAM +}; + +private _statement = { + createDialog QGVAR(gpsAttackOptionsUI); +}; + +private _action = [QUOTE(ADDON), "JDAM settings", "", _statement, _condition] call EFUNC(interact_menu,createAction); +[_vehicle, 1, ["ACE_SelfActions"], _action] call EFUNC(interact_menu,addActionToObject); + From 73b059859cd31a4b4e08e6be87be1eeea111200d Mon Sep 17 00:00:00 2001 From: Brandon Danyluk Date: Wed, 21 Apr 2021 15:58:39 -0600 Subject: [PATCH 082/254] fix all script components --- addons/aim120/script_component.hpp | 2 +- addons/aim9/script_component.hpp | 2 +- addons/missileguidance/XEH_pre_init.sqf | 2 +- addons/missileguidance/script_component.hpp | 4 ++-- addons/vikhr/script_component.hpp | 2 +- 5 files changed, 6 insertions(+), 6 deletions(-) diff --git a/addons/aim120/script_component.hpp b/addons/aim120/script_component.hpp index ee30a9fc50a..25c6b2ea9f8 100644 --- a/addons/aim120/script_component.hpp +++ b/addons/aim120/script_component.hpp @@ -11,7 +11,7 @@ #endif #ifdef DEBUG_SETTINGS_AIM120 - #define DEBUG_SETTINGS DEBUG_SETTINGS_GBU + #define DEBUG_SETTINGS DEBUG_SETTINGS_AIM120 #endif #include "\z\ace\addons\main\script_macros.hpp" diff --git a/addons/aim9/script_component.hpp b/addons/aim9/script_component.hpp index a727cd1a419..8906b50f4ca 100644 --- a/addons/aim9/script_component.hpp +++ b/addons/aim9/script_component.hpp @@ -11,7 +11,7 @@ #endif #ifdef DEBUG_SETTINGS_AIM9 - #define DEBUG_SETTINGS DEBUG_SETTINGS_GBU + #define DEBUG_SETTINGS DEBUG_SETTINGS_AIM9 #endif #include "\z\ace\addons\main\script_macros.hpp" diff --git a/addons/missileguidance/XEH_pre_init.sqf b/addons/missileguidance/XEH_pre_init.sqf index 37485898db6..3c94b0f08c0 100644 --- a/addons/missileguidance/XEH_pre_init.sqf +++ b/addons/missileguidance/XEH_pre_init.sqf @@ -30,7 +30,7 @@ GVAR(debug_drawGuidanceInfo) = false; #ifdef DRAW_GUIDANCE_INFO GVAR(debug_drawGuidanceInfo) = true; -#else +#endif #ifdef ENABLE_PROJECTILE_CAMERA GVAR(debug_enableMissileCamera) = true; diff --git a/addons/missileguidance/script_component.hpp b/addons/missileguidance/script_component.hpp index 70c679a1b9d..f105e9444a2 100644 --- a/addons/missileguidance/script_component.hpp +++ b/addons/missileguidance/script_component.hpp @@ -2,10 +2,10 @@ #define COMPONENT_BEAUTIFIED Missile Guidance #include "\z\ace\addons\main\script_mod.hpp" - #define DRAW_GUIDANCE_INFO +// #define DRAW_GUIDANCE_INFO // #define ENABLE_PROJECTILE_CAMERA // #define DEBUG_MODE_FULL - #define DISABLE_COMPILE_CACHE +// #define DISABLE_COMPILE_CACHE // #define ENABLE_PERFORMANCE_COUNTERS #ifdef DEBUG_ENABLED_MISSILEGUIDANCE diff --git a/addons/vikhr/script_component.hpp b/addons/vikhr/script_component.hpp index aa25509f97d..0d707033652 100644 --- a/addons/vikhr/script_component.hpp +++ b/addons/vikhr/script_component.hpp @@ -11,7 +11,7 @@ #endif #ifdef DEBUG_SETTINGS_VIKHR - #define DEBUG_SETTINGS DEBUG_SETTINGS_GBU + #define DEBUG_SETTINGS DEBUG_SETTINGS_VIKHR #endif #include "\z\ace\addons\main\script_macros.hpp" From f5b316176cca740c6eb6a4e06ba7c57d0601d616 Mon Sep 17 00:00:00 2001 From: Brandon Danyluk Date: Sat, 1 May 2021 20:19:22 -0600 Subject: [PATCH 083/254] Add paremter to allow weathervaning Weapons usually tend toward the velocity vector due to aerodynamics - calculate side slip and use calculation to do this --- addons/gbu/CfgAmmo.hpp | 1 + .../functions/fnc_guidancePFH.sqf | 18 +++++++++++++++--- .../missileguidance/functions/fnc_onFired.sqf | 6 +++++- 3 files changed, 21 insertions(+), 4 deletions(-) diff --git a/addons/gbu/CfgAmmo.hpp b/addons/gbu/CfgAmmo.hpp index 51dc8134d2d..1f751d0934c 100644 --- a/addons/gbu/CfgAmmo.hpp +++ b/addons/gbu/CfgAmmo.hpp @@ -10,6 +10,7 @@ class CfgAmmo { yawRate = 5; bangBangGuidance = 1; + stabilityCoefficient = 0.4; // how much this projectile likes to "weathervane" (keep direction toward velocity) canVanillaLock = 0; // Can this default vanilla lock? Only applicable to non-cadet mode diff --git a/addons/missileguidance/functions/fnc_guidancePFH.sqf b/addons/missileguidance/functions/fnc_guidancePFH.sqf index fb843528c0a..b1c17e92dad 100644 --- a/addons/missileguidance/functions/fnc_guidancePFH.sqf +++ b/addons/missileguidance/functions/fnc_guidancePFH.sqf @@ -32,7 +32,7 @@ if (!alive _projectile || isNull _projectile || isNull _shooter) exitWith { private _timestep = diag_deltaTime * accTime; -_flightParams params ["_pitchRate", "_yawRate", "_isBangBangGuidance"]; +_flightParams params ["_pitchRate", "_yawRate", "_isBangBangGuidance", "_stabilityCoefficient"]; // Run seeker function: private _seekerTargetPos = [[0,0,0], _args, _seekerStateParams, _lastKnownPosState, _timestep] call FUNC(doSeekerSearch); @@ -110,8 +110,18 @@ if ((_pitchRate != 0 || {_yawRate != 0}) && {_profileAdjustedTargetPos isNotEqua }; TRACE_9("pitch/yaw/roll",_pitch,_yaw,_roll,_yawChange,_pitchChange,_pitchRate,_yawRate,_clampedPitch,_clampedYaw); - _pitch = _pitch + _clampedPitch * _timestep; - _yaw = _yaw + _clampedYaw * _timestep; + // directional stability + private _localVelocity = _projectile vectorWorldToModelVisual (velocity _projectile); + + private _velocityAngleYaw = (_localVelocity#0) atan2 (_localVelocity#1); + private _velocityAnglePitch = (_localVelocity#2) atan2 (_localVelocity#1); + + // bastardized version of direction stability https://en.wikipedia.org/wiki/Directional_stability#Steering_forces + private _forceYaw = _stabilityCoefficient * _velocityAngleYaw + _clampedYaw; + private _forcePitch = _stabilityCoefficient * _velocityAnglePitch + _clampedPitch; + + _pitch = _pitch + _forcePitch * _timestep; + _yaw = _yaw + _forceYaw * _timestep; TRACE_3("new pitch/yaw/roll",_pitch,_yaw,_roll); @@ -184,6 +194,8 @@ if (GVAR(debug_drawGuidanceInfo)) then { _PS setParticleParams [["\A3\Data_f\cl_basic", 8, 3, 1], "", "Billboard", 1, 3.0141, [0, 0, 2], [0, 0, 0], 1, 1.275, 1, 0, [1, 1], [[1, 0, 0, 1], [1, 0, 0, 1], [1, 0, 0, 1]], [1], 1, 0, "", "", nil]; _PS setDropInterval 1.0; }; + + drawLine3D [ASLtoAGL _projectilePos, (ASLtoAGL _projectilePos) vectorAdd velocity _projectile, [1, 1, 1, 1]]; }; _stateParams set [0, diag_tickTime]; diff --git a/addons/missileguidance/functions/fnc_onFired.sqf b/addons/missileguidance/functions/fnc_onFired.sqf index 3f85c9d5875..37748df8536 100644 --- a/addons/missileguidance/functions/fnc_onFired.sqf +++ b/addons/missileguidance/functions/fnc_onFired.sqf @@ -116,6 +116,9 @@ if (isNumber (_config >> "pitchRate")) then { _bangBang = 1 == getNumber (_config >> "bangBangGuidance"); }; +// How much this projectile likes to stay toward current velocity +private _stabilityCoefficient = getNumber (_config >> "stabilityCoefficient"); + private _navigationStateSubclass = _config >> "navigationStates"; private _states = getArray (_navigationStateSubclass >> "states"); @@ -148,7 +151,8 @@ private _args = [_this, [ _pitchRate, _yawRate, - _bangBang + _bangBang, + _stabilityCoefficient ], [ getNumber ( _config >> "seekerAngle" ), From 197c1a7caedb7167cfd41e032c7e33066d0c9aad Mon Sep 17 00:00:00 2001 From: Brandon Danyluk Date: Sat, 1 May 2021 20:34:41 -0600 Subject: [PATCH 084/254] Add new navigation profile. Tweak javelin mid-course guidance --- addons/missileguidance/ACE_GuidanceConfig.hpp | 4 ++++ addons/missileguidance/CfgAmmo.hpp | 6 ++--- addons/missileguidance/XEH_PREP.hpp | 1 + .../fnc_javelin_midCourseTransition.sqf | 3 ++- .../functions/fnc_navigationType_direct.sqf | 22 +++++++++++++++++++ .../fnc_navigationType_lineOfSight.sqf | 2 +- 6 files changed, 33 insertions(+), 5 deletions(-) create mode 100644 addons/missileguidance/functions/fnc_navigationType_direct.sqf diff --git a/addons/missileguidance/ACE_GuidanceConfig.hpp b/addons/missileguidance/ACE_GuidanceConfig.hpp index fb2990b018a..b3c29cefc46 100644 --- a/addons/missileguidance/ACE_GuidanceConfig.hpp +++ b/addons/missileguidance/ACE_GuidanceConfig.hpp @@ -123,6 +123,10 @@ class GVAR(SeekerTypes) { }; class GVAR(NavigationTypes) { + class Direct { + functionName = QFUNC(navigationType_direct); + onFired = ""; + }; class Line { functionName = QFUNC(navigationType_line); onFired = QFUNC(line_onFired); diff --git a/addons/missileguidance/CfgAmmo.hpp b/addons/missileguidance/CfgAmmo.hpp index 0309a229736..52aee6a4821 100644 --- a/addons/missileguidance/CfgAmmo.hpp +++ b/addons/missileguidance/CfgAmmo.hpp @@ -85,8 +85,8 @@ class CfgAmmo { defaultSeekerLockMode = "LOBL"; seekerLockModes[] = { "LOBL" }; - defaultNavigationType = "LineOfSight"; - navigationTypes[] = { "LineOfSight", "ZeroEffortMiss" }; + defaultNavigationType = "Direct"; + navigationTypes[] = { "Direct", "ZeroEffortMiss" }; navigationGain = 3; @@ -106,7 +106,7 @@ class CfgAmmo { class navigationStates { class initial { transitionCondition = QFUNC(javelin_midCourseTransition); - navigationType = "LineOfSight"; + navigationType = "Direct"; }; class terminal { transitionCondition = ""; diff --git a/addons/missileguidance/XEH_PREP.hpp b/addons/missileguidance/XEH_PREP.hpp index 1ea50359f95..2f4b441c9fb 100644 --- a/addons/missileguidance/XEH_PREP.hpp +++ b/addons/missileguidance/XEH_PREP.hpp @@ -37,6 +37,7 @@ PREP(navigationType_augmentedProNav); PREP(navigationType_proNav); PREP(navigationType_lineOfSight); PREP(navigationType_line); +PREP(navigationType_direct); // Seeker search functions PREP(seekerType_SALH); diff --git a/addons/missileguidance/functions/fnc_javelin_midCourseTransition.sqf b/addons/missileguidance/functions/fnc_javelin_midCourseTransition.sqf index 6e256095d1c..088691facd6 100644 --- a/addons/missileguidance/functions/fnc_javelin_midCourseTransition.sqf +++ b/addons/missileguidance/functions/fnc_javelin_midCourseTransition.sqf @@ -23,5 +23,6 @@ _stateParams params ["_lastRunTime", "_seekerStateParams", "_attackProfileStateP _seekerParams params ["_seekerAngle", "_seekerAccuracy", "_seekerMaxRange", "_seekerMinRange"]; _targetData params ["_targetDirection", "_attackProfileDirection", "_targetRange", "_targetVelocity", "_targetAcceleration"]; -_targetRange <= 500 +_attackProfileStateParams params ["_state"]; +_state isEqualTo STAGE_TERMINAL diff --git a/addons/missileguidance/functions/fnc_navigationType_direct.sqf b/addons/missileguidance/functions/fnc_navigationType_direct.sqf new file mode 100644 index 00000000000..778aeab08f1 --- /dev/null +++ b/addons/missileguidance/functions/fnc_navigationType_direct.sqf @@ -0,0 +1,22 @@ +#include "script_component.hpp" +/* + * Author: Brandon (TCVM) + * Points directly toward attack profile positon + * + * Arguments: + * Guidance Arg Array + * + * Return Value: + * Commanded acceleration normal to LOS in world space + * + * Example: + * [] call ace_missileguidance_fnc_navigationType_direct + * + * Public: No + */ +params ["_args", "", "", "_profileAdjustedTargetPos"]; +_args params ["_firedEH"]; +_firedEH params ["","","","","","","_projectile"]; + +_profileAdjustedTargetPos vectorDiff getPosASLVisual _projectile + diff --git a/addons/missileguidance/functions/fnc_navigationType_lineOfSight.sqf b/addons/missileguidance/functions/fnc_navigationType_lineOfSight.sqf index d630c3a9328..4f710df59bf 100644 --- a/addons/missileguidance/functions/fnc_navigationType_lineOfSight.sqf +++ b/addons/missileguidance/functions/fnc_navigationType_lineOfSight.sqf @@ -45,5 +45,5 @@ if (accTime > 0) then { _navigationParams set [0, [_attackProfileDirection]]; }; -_commandedAcceleration +_targetDirection From de05c68f99b054154eff174d4ef38e637b06bbc6 Mon Sep 17 00:00:00 2001 From: Brandon Danyluk Date: Sat, 1 May 2021 20:55:26 -0600 Subject: [PATCH 085/254] Process all navigation onFired. Send the correct array to function --- .../functions/fnc_guidancePFH.sqf | 7 +++--- .../fnc_javelin_midCourseTransition.sqf | 5 ++++ .../functions/fnc_line_onFired.sqf | 15 ++++++------ .../fnc_navigationType_zeroEffortMiss.sqf | 1 - .../missileguidance/functions/fnc_onFired.sqf | 23 +++++++++++++++---- .../functions/fnc_proNav_onFired.sqf | 6 ++--- 6 files changed, 37 insertions(+), 20 deletions(-) diff --git a/addons/missileguidance/functions/fnc_guidancePFH.sqf b/addons/missileguidance/functions/fnc_guidancePFH.sqf index b1c17e92dad..d2a31072e58 100644 --- a/addons/missileguidance/functions/fnc_guidancePFH.sqf +++ b/addons/missileguidance/functions/fnc_guidancePFH.sqf @@ -57,10 +57,11 @@ if ((_pitchRate != 0 || {_yawRate != 0}) && {_profileAdjustedTargetPos isNotEqua }; _navigationType = (_navigationStateData select _currentState) select 1; - _navigationFunction = getText (configFile >> QGVAR(NavigationTypes) >> _navigationType >> "functionName") - }; + _navigationFunction = getText (configFile >> QGVAR(NavigationTypes) >> _navigationType >> "functionName"); - + _navigationParameters = (_navigationStateData select _currentState) select 2; + _stateParams set [4, _navigationParameters]; + }; private _commandedAcceleration = [_args, _timestep, _seekerTargetPos, _profileAdjustedTargetPos, _targetData, _navigationParameters] call (missionNamespace getVariable _navigationFunction); if (isNil "_commandedAcceleration") exitWith { diff --git a/addons/missileguidance/functions/fnc_javelin_midCourseTransition.sqf b/addons/missileguidance/functions/fnc_javelin_midCourseTransition.sqf index 088691facd6..779ddecf214 100644 --- a/addons/missileguidance/functions/fnc_javelin_midCourseTransition.sqf +++ b/addons/missileguidance/functions/fnc_javelin_midCourseTransition.sqf @@ -14,6 +14,11 @@ * * Public: No */ +#define STAGE_LAUNCH 1 +#define STAGE_CLIMB 2 +#define STAGE_COAST 3 +#define STAGE_TERMINAL 4 + _args params ["_firedEH", "_launchParams", "_flightParams", "_seekerParams", "_stateParams", "_targetData", "_navigationStateData"]; _firedEH params ["_shooter","","","","_ammo","","_projectile"]; _launchParams params ["_shooter","_targetLaunchParams","_seekerType","_attackProfile","_lockMode","_laserInfo","_navigationType"]; diff --git a/addons/missileguidance/functions/fnc_line_onFired.sqf b/addons/missileguidance/functions/fnc_line_onFired.sqf index 609fa3af26e..a02ae728647 100644 --- a/addons/missileguidance/functions/fnc_line_onFired.sqf +++ b/addons/missileguidance/functions/fnc_line_onFired.sqf @@ -16,7 +16,6 @@ */ params ["_firedEH", "", "", "", "_stateParams"]; _firedEH params ["","","","","","","_projectile"]; -_stateParams params ["", "", "", "", "_navigationParams"]; private _ammoConfig = configOf _projectile; private _p = getNumber (_ammoConfig >> QUOTE(ADDON) >> "lineGainP"); @@ -27,11 +26,11 @@ if (_correctionDistance == 0) then { _correctionDistance = 1; }; -_navigationParams set [0, _p]; -_navigationParams set [1, _i]; -_navigationParams set [2, _d]; - -_navigationParams set [3, 0]; -_navigationParams set [4, 0]; -_navigationParams set [5, _correctionDistance]; +private _navigationParams = [ + _p, _i, _d, + 0, + 0, + _correctionDistance +]; +_navigationParams diff --git a/addons/missileguidance/functions/fnc_navigationType_zeroEffortMiss.sqf b/addons/missileguidance/functions/fnc_navigationType_zeroEffortMiss.sqf index 81afcf1687e..ccd0dc1b056 100644 --- a/addons/missileguidance/functions/fnc_navigationType_zeroEffortMiss.sqf +++ b/addons/missileguidance/functions/fnc_navigationType_zeroEffortMiss.sqf @@ -38,5 +38,4 @@ private _commandedAcceleration = _zeroEffortMissNormal vectorMultiply (_navigati if (accTime > 0) then { _navigationParams set [0, [_lineOfSight]]; }; - _commandedAcceleration diff --git a/addons/missileguidance/functions/fnc_onFired.sqf b/addons/missileguidance/functions/fnc_onFired.sqf index 37748df8536..983df2c5ab3 100644 --- a/addons/missileguidance/functions/fnc_onFired.sqf +++ b/addons/missileguidance/functions/fnc_onFired.sqf @@ -131,7 +131,8 @@ if (_states isNotEqualTo []) then { private _stateClass = _navigationStateSubclass >> _x; _navigationStateData pushBack [ getText (_stateClass >> "transitionCondition"), - getText (_stateClass >> "navigationType") + getText (_stateClass >> "navigationType"), + [] ]; } forEach _states; }; @@ -184,10 +185,22 @@ if (_onFiredFunc != "") then { _args call (missionNamespace getVariable _onFiredFunc); }; -_onFiredFunc = getText (configFile >> QGVAR(NavigationTypes) >> _navigationType >> "onFired"); -TRACE_1("navigation on fired",_onFiredFunc); -if (_onFiredFunc != "") then { - _args call (missionNamespace getVariable _onFiredFunc); +if (_states isEqualTo []) then { + _onFiredFunc = getText (configFile >> QGVAR(NavigationTypes) >> _navigationType >> "onFired"); + TRACE_1("navigation on fired",_onFiredFunc); + if (_onFiredFunc != "") then { + private _navState = (_args call (missionNamespace getVariable _onFiredFunc)); + (_navigationStateData select 4) set [4, _navState]; + }; +} else { + { + _onFiredFunc = getText (configFile >> QGVAR(NavigationTypes) >> _x >> "onFired"); + TRACE_1("navigation on fired",_onFiredFunc); + if (_onFiredFunc != "") then { + private _navState = (_args call (missionNamespace getVariable _onFiredFunc)); + (_navigationStateData select _forEachIndex) set [2, _navState]; + }; + } forEach getArray (_config >> "navigationTypes"); }; // Run the "onFired" function passing the full guidance args array diff --git a/addons/missileguidance/functions/fnc_proNav_onFired.sqf b/addons/missileguidance/functions/fnc_proNav_onFired.sqf index 9725f628ef2..dca59a6290a 100644 --- a/addons/missileguidance/functions/fnc_proNav_onFired.sqf +++ b/addons/missileguidance/functions/fnc_proNav_onFired.sqf @@ -18,7 +18,7 @@ params ["_firedEH", "", "", "", "_stateParams"]; _firedEH params ["_shooter","","","","_ammo","","_projectile"]; _launchParams params ["_shooter","_targetLaunchParams","_seekerType","_attackProfile","_lockMode","_laserInfo","_navigationType"]; _targetLaunchParams params ["_target", "_targetPos", "_launchPos"]; -_stateParams params ["_lastRunTime", "_seekerStateParams", "_attackProfileStateParams", "_lastKnownPosState","_navigationParams"]; +_stateParams params ["_lastRunTime", "_seekerStateParams", "_attackProfileStateParams", "_lastKnownPosState"]; _seekerParams params ["_seekerAngle", "_seekerAccuracy", "_seekerMaxRange", "_seekerMinRange"]; private _ammoConfig = configOf _projectile; @@ -27,10 +27,10 @@ if (_navigationGain == 0) then { _navigationGain = 3; }; -_navigationParams = [ +private _navigationParams = [ [ // Last Missile Frame [0, 0, 0] // Last line of sight ], _navigationGain // navigation gain of missile. Set in the navigation onFired function ]; -_stateParams set [4, _navigationParams]; +_navigationParams From edc8250be2e3943eef3b001c8be23bb3982d6019 Mon Sep 17 00:00:00 2001 From: Brandon Danyluk Date: Sat, 1 May 2021 21:36:20 -0600 Subject: [PATCH 086/254] fix missing semicolons --- addons/missileguidance/ACE_GuidanceConfig.hpp | 2 +- addons/vikhr/CfgWeapons.hpp | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/addons/missileguidance/ACE_GuidanceConfig.hpp b/addons/missileguidance/ACE_GuidanceConfig.hpp index b3c29cefc46..cb5caf8002e 100644 --- a/addons/missileguidance/ACE_GuidanceConfig.hpp +++ b/addons/missileguidance/ACE_GuidanceConfig.hpp @@ -62,7 +62,7 @@ class GVAR(AttackProfiles) { functionName = QFUNC(attackProfile_JDAM); onFired = QFUNC(gps_attackOnFired); - } + }; }; class GVAR(SeekerTypes) { diff --git a/addons/vikhr/CfgWeapons.hpp b/addons/vikhr/CfgWeapons.hpp index b45d260b6ff..8371248f140 100644 --- a/addons/vikhr/CfgWeapons.hpp +++ b/addons/vikhr/CfgWeapons.hpp @@ -12,6 +12,6 @@ class CfgWeapons { QGVAR(PylonRack_3Rnd), QGVAR(PylonRack_4Rnd) }; - } + }; }; From b4e5a29119bf30685e96e9333ff4a1abd91f7366 Mon Sep 17 00:00:00 2001 From: Brandon Danyluk Date: Sat, 1 May 2021 21:42:49 -0600 Subject: [PATCH 087/254] Add hellfire mid course guidance --- addons/hellfire/CfgAmmo.hpp | 17 +++++++++-- addons/hellfire/XEH_PREP.hpp | 1 + .../functions/fnc_midCourseTransition.sqf | 29 +++++++++++++++++++ .../fnc_javelin_midCourseTransition.sqf | 4 +-- 4 files changed, 47 insertions(+), 4 deletions(-) create mode 100644 addons/hellfire/functions/fnc_midCourseTransition.sqf diff --git a/addons/hellfire/CfgAmmo.hpp b/addons/hellfire/CfgAmmo.hpp index c3ee83e3a4f..bd60c79e7ff 100644 --- a/addons/hellfire/CfgAmmo.hpp +++ b/addons/hellfire/CfgAmmo.hpp @@ -38,8 +38,8 @@ class CfgAmmo { defaultSeekerLockMode = "LOAL"; seekerLockModes[] = { "LOAL", "LOBL" }; - defaultNavigationType = "ZeroEffortMiss"; - navigationTypes[] = { "ZeroEffortMiss" }; + defaultNavigationType = "Direct"; + navigationTypes[] = { "Direct", "ZeroEffortMiss" }; seekLastTargetPos = 1; // seek last target position [if seeker loses LOS of target, continue to last known pos] seekerAngle = 70; // Angle in front of the missile which can be searched @@ -51,6 +51,19 @@ class CfgAmmo { // Attack profile type selection defaultAttackProfile = "hellfire"; attackProfiles[] = {"hellfire", "hellfire_hi", "hellfire_lo"}; + + class navigationStates { + class initial { + transitionCondition = QFUNC(midCourseTransition); + navigationType = "Direct"; + }; + class terminal { + transitionCondition = ""; + navigationType = "ZeroEffortMiss"; + }; + // transitions from initial -> termimal + states[] = {"initial", "terminal"}; + }; }; }; class ACE_Hellfire_AGM114N: ACE_Hellfire_AGM114K { diff --git a/addons/hellfire/XEH_PREP.hpp b/addons/hellfire/XEH_PREP.hpp index f30cf0bffdf..011810aa044 100644 --- a/addons/hellfire/XEH_PREP.hpp +++ b/addons/hellfire/XEH_PREP.hpp @@ -2,3 +2,4 @@ LOG("prep"); PREP(attackProfile); PREP(getAttackProfileSettings); PREP(setupVehicle); +PREP(midCourseTransition); diff --git a/addons/hellfire/functions/fnc_midCourseTransition.sqf b/addons/hellfire/functions/fnc_midCourseTransition.sqf new file mode 100644 index 00000000000..1369e162b01 --- /dev/null +++ b/addons/hellfire/functions/fnc_midCourseTransition.sqf @@ -0,0 +1,29 @@ +#include "script_component.hpp" +/* + * Author: Brandon (TCVM) + * Condition to switch to next navigation profile + * + * Arguments: + * Guidance Arg Array + * + * Return Value: + * None + * + * Example: + * [] call ace_hellfire_fnc_midCourseTransition + * + * Public: No + */ + +_args params ["_firedEH", "_launchParams", "_flightParams", "_seekerParams", "_stateParams", "_targetData", "_navigationStateData"]; +_firedEH params ["_shooter","","","","_ammo","","_projectile"]; +_launchParams params ["_shooter","_targetLaunchParams","_seekerType","_attackProfile","_lockMode","_laserInfo","_navigationType"]; +_targetLaunchParams params ["_target", "_targetPos", "_launchPos", "_launchDir", "_launchTime"]; +_flightParams params ["_pitchRate", "_yawRate", "_isBangBangGuidance"]; +_stateParams params ["_lastRunTime", "_seekerStateParams", "_attackProfileStateParams", "_lastKnownPosState","_navigationParams", "_guidanceParameters"]; +_seekerParams params ["_seekerAngle", "_seekerAccuracy", "_seekerMaxRange", "_seekerMinRange"]; +_targetData params ["_targetDirection", "_attackProfileDirection", "_targetRange", "_targetVelocity", "_targetAcceleration"]; + +_attackProfileStateParams params ["_state"]; +_state in [STAGE_ATTACK_TERMINAL, STAGE_ATTACK_CRUISE]; + diff --git a/addons/missileguidance/functions/fnc_javelin_midCourseTransition.sqf b/addons/missileguidance/functions/fnc_javelin_midCourseTransition.sqf index 779ddecf214..531425b3661 100644 --- a/addons/missileguidance/functions/fnc_javelin_midCourseTransition.sqf +++ b/addons/missileguidance/functions/fnc_javelin_midCourseTransition.sqf @@ -1,7 +1,7 @@ #include "script_component.hpp" /* * Author: Brandon (TCVM) - * Sets up IR state arrays (called from missileGuidance's onFired). + * Condition to switch to next navigation profile * * Arguments: * Guidance Arg Array @@ -10,7 +10,7 @@ * None * * Example: - * [] call ace_missileguidance_fnc_IR_onFired + * [] call ace_missileguidance_fnc_javelin_midCourseTransition * * Public: No */ From 356ff4ce4dd4d922fa770431cfc34e3d4fec815e Mon Sep 17 00:00:00 2001 From: Brandon Danyluk Date: Sat, 1 May 2021 22:04:11 -0600 Subject: [PATCH 088/254] Tweak hellfire attack profile --- addons/hellfire/functions/fnc_attackProfile.sqf | 8 +++++--- addons/hellfire/functions/fnc_midCourseTransition.sqf | 2 +- addons/hellfire/script_component.hpp | 2 +- 3 files changed, 7 insertions(+), 5 deletions(-) diff --git a/addons/hellfire/functions/fnc_attackProfile.sqf b/addons/hellfire/functions/fnc_attackProfile.sqf index afbedb239a0..9d03a69d5de 100644 --- a/addons/hellfire/functions/fnc_attackProfile.sqf +++ b/addons/hellfire/functions/fnc_attackProfile.sqf @@ -43,15 +43,17 @@ if (_returnTargetPos isEqualTo [0, 0, 0]) then { }; private _closingRate = vectorMagnitude velocity _projectile; -private _timeToGo = (_projectilePos distance _seekerTargetPos) / _closingRate; +// subtract 500 meters to account for the fact that we don't want to be at the perfect pitch exactly when we cross the target +// 500 seemed good in testing +private _timeToGo = ((_projectilePos distance2d _seekerTargetPos) - 500) / _closingRate; // we could do stuff like desired attack angle, but I'm not going that far today -private _los = vectorNormalized (_seekerTargetPos vectorDiff _projectilePos); +private _los = _projectilePos vectorFromTo _seekerTargetPos; _flightParams params ["_pitchRate", "_yawRate"]; private _angleToTarget = acos ((vectorDir _projectile) vectorCos _los); -private _atMinRotationAngle = _angleToTarget >= (0.5 * _pitchRate * _timeToGo); +private _atMinRotationAngle = _angleToTarget >= (_pitchRate * _timeToGo); switch (_attackStage) do { case STAGE_LAUNCH: { // Gain height quickly to pass terrain mask diff --git a/addons/hellfire/functions/fnc_midCourseTransition.sqf b/addons/hellfire/functions/fnc_midCourseTransition.sqf index 1369e162b01..a24915f00a6 100644 --- a/addons/hellfire/functions/fnc_midCourseTransition.sqf +++ b/addons/hellfire/functions/fnc_midCourseTransition.sqf @@ -25,5 +25,5 @@ _seekerParams params ["_seekerAngle", "_seekerAccuracy", "_seekerMaxRange", "_se _targetData params ["_targetDirection", "_attackProfileDirection", "_targetRange", "_targetVelocity", "_targetAcceleration"]; _attackProfileStateParams params ["_state"]; -_state in [STAGE_ATTACK_TERMINAL, STAGE_ATTACK_CRUISE]; +_state isEqualTo STAGE_ATTACK_TERMINAL; diff --git a/addons/hellfire/script_component.hpp b/addons/hellfire/script_component.hpp index 4ab934511ba..6d16736a9c2 100644 --- a/addons/hellfire/script_component.hpp +++ b/addons/hellfire/script_component.hpp @@ -3,7 +3,7 @@ #include "\z\ace\addons\main\script_mod.hpp" // #define DEBUG_MODE_FULL - #define DISABLE_COMPILE_CACHE +// #define DISABLE_COMPILE_CACHE // #define ENABLE_PERFORMANCE_COUNTERS #ifdef DEBUG_ENABLED_HELLFIRE From f3bea7bb3011451b5ae4484fdae325be99c53014 Mon Sep 17 00:00:00 2001 From: Brandon Danyluk Date: Sat, 1 May 2021 22:58:11 -0600 Subject: [PATCH 089/254] change how IR seeker performs The angle check is better now. Relative velocites guarenteed --- addons/aim9/CfgAmmo.hpp | 10 +++++----- addons/manpad/CfgAmmo.hpp | 10 ++++++++++ .../missileguidance/functions/fnc_onFired.sqf | 2 +- .../functions/fnc_seekerType_IR.sqf | 19 +++++++++---------- 4 files changed, 25 insertions(+), 16 deletions(-) diff --git a/addons/aim9/CfgAmmo.hpp b/addons/aim9/CfgAmmo.hpp index 63be988ba79..eed1b3e652f 100644 --- a/addons/aim9/CfgAmmo.hpp +++ b/addons/aim9/CfgAmmo.hpp @@ -1,7 +1,7 @@ class CfgAmmo { class Missile_AA_04_F; class GVAR(m): Missile_AA_04_F { - missileLockCone = 45; + missileLockCone = 3; // caged lock missileKeepLockedCone = 45; missileLockMaxDistance = 5000; missileLockMinDistance = 250; @@ -45,7 +45,7 @@ class CfgAmmo { class ammo_Missile_BIM9X; class GVAR(x): ammo_Missile_BIM9X { - missileLockCone = 120; + missileLockCone = 3; // caged lock missileKeepLockedCone = 120; missileLockMaxDistance = 5000; missileLockMinDistance = 250; @@ -90,7 +90,7 @@ class CfgAmmo { // AIM-132 class M_Air_AA; class GVAR(aim132): M_Air_AA { - missileLockCone = 120; + missileLockCone = 3; // caged lock missileKeepLockedCone = 120; missileLockMaxDistance = 8000; missileLockMinDistance = 250; @@ -135,7 +135,7 @@ class CfgAmmo { // R-73 class ammo_Missile_AA_R73; class GVAR(r73): ammo_Missile_AA_R73 { - missileLockCone = 40; + missileLockCone = 3; // caged lock missileKeepLockedCone = 40; missileLockMaxDistance = 5000; missileLockMinDistance = 250; @@ -179,7 +179,7 @@ class CfgAmmo { class Missile_AA_03_F; class GVAR(r74): Missile_AA_03_F { - missileLockCone = 75; + missileLockCone = 3; // caged lock missileKeepLockedCone = 75; missileLockMaxDistance = 8000; missileLockMinDistance = 250; diff --git a/addons/manpad/CfgAmmo.hpp b/addons/manpad/CfgAmmo.hpp index 25e854b5257..97edff0f8d2 100644 --- a/addons/manpad/CfgAmmo.hpp +++ b/addons/manpad/CfgAmmo.hpp @@ -4,6 +4,11 @@ class CfgAmmo { maneuvrability = 0; missileLockMaxSpeed = 2000; + missileLockCone = 3; // caged lock + missileKeepLockedCone = 45; + missileLockMaxDistance = 5000; + missileLockMinDistance = 250; + class ace_missileguidance { enabled = 1; @@ -43,6 +48,11 @@ class CfgAmmo { maneuvrability = 0; missileLockMaxSpeed = 2000; + missileLockCone = 3; // caged lock + missileKeepLockedCone = 45; + missileLockMaxDistance = 5000; + missileLockMinDistance = 250; + class ace_missileguidance { enabled = 1; diff --git a/addons/missileguidance/functions/fnc_onFired.sqf b/addons/missileguidance/functions/fnc_onFired.sqf index 983df2c5ab3..8018cae9eb5 100644 --- a/addons/missileguidance/functions/fnc_onFired.sqf +++ b/addons/missileguidance/functions/fnc_onFired.sqf @@ -190,7 +190,7 @@ if (_states isEqualTo []) then { TRACE_1("navigation on fired",_onFiredFunc); if (_onFiredFunc != "") then { private _navState = (_args call (missionNamespace getVariable _onFiredFunc)); - (_navigationStateData select 4) set [4, _navState]; + (_args select 4) set [4, _navState]; }; } else { { diff --git a/addons/missileguidance/functions/fnc_seekerType_IR.sqf b/addons/missileguidance/functions/fnc_seekerType_IR.sqf index 2fb2495d6ca..8d92bf73b00 100644 --- a/addons/missileguidance/functions/fnc_seekerType_IR.sqf +++ b/addons/missileguidance/functions/fnc_seekerType_IR.sqf @@ -16,9 +16,9 @@ * Public: No */ #ifdef DEBUG_MODE_FULL -#define TRACK_ON_PAUSE false +#define TRACK_ON_PAUSE true #else -#define TRACK_ON_PAUSE false +#define TRACK_ON_PAUSE true #endif _args params ["_firedEH", "_launchParams", "_flightParams", "_seekerParams", "_stateParams", "_targetData"]; @@ -32,9 +32,6 @@ _targetData params ["_targetDirection", "_attackProfileDirection", "_targetRange _seekerStateParams params ["_flareDistanceFilter", "_flareAngleFilter", "_trackingTarget"]; -private _projectileVelocity = velocity _projectile; -private _closingVelocity = _targetVelocity vectorDiff _projectileVelocity; - private _withinView = [_projectile, getPosASLVisual _trackingTarget, _seekerAngle] call FUNC(checkSeekerAngle); private _canSee = [_projectile, _trackingTarget, false] call FUNC(checkLos); @@ -81,16 +78,18 @@ if (TRACK_ON_PAUSE || {accTime > 0 && !isGamePaused}) then { (_x isEqualTo _target && _trackingTarget isNotEqualTo _target) || { (_withinView && _canSee && _isFlare) } }; - + + private _relativeTargetVelocity = _projectile vectorWorldToModelVisual velocity _trackingTarget; + _relativeTargetVelocity set [1, 0]; private _foundDecoy = false; { if (_trackingTarget isNotEqualTo _x) then { private _considering = false; - private _distanceToFlare = _trackingTarget distanceSqr _x; + private _flareRelativeVelocity = _projectile vectorWorldToModelVisual velocity _x; + _flareRelativeVelocity set [1, 0]; + private _angleBetweenVelocities = acos (_relativeTargetVelocity vectorCos _flareRelativeVelocity); if !(_foundDecoy) then { - private _flareRelativeVelocity = (velocity _x) vectorDiff _projectileVelocity; - private _angleBetweenVelocities = acos (_closingVelocity vectorCos _flareRelativeVelocity); if (_angleBetweenVelocities <= _flareAngleFilter) then { _considering = true; if (_seekerAccuracy <= random 1) then { @@ -109,7 +108,7 @@ if (TRACK_ON_PAUSE || {accTime > 0 && !isGamePaused}) then { if (_trackingTarget isEqualTo _x) then { _colour = [0, 0, 1, 1]; }; - drawIcon3D ["\a3\ui_f\data\IGUI\Cfg\Cursors\selectover_ca.paa", _colour, _flarePos, 0.75, 0.75, 0, "F", 1, 0.025, "TahomaB"]; + drawIcon3D ["\a3\ui_f\data\IGUI\Cfg\Cursors\selectover_ca.paa", _colour, _flarePos, 0.75, 0.75, 0, format ["F %1", _angleBetweenVelocities], 1, 0.025, "TahomaB"]; }; }; } forEach _nearby; From 89e64dfcdc3ddd659becbac4e7ac7d872fc67378 Mon Sep 17 00:00:00 2001 From: Brandon Danyluk Date: Sat, 1 May 2021 23:04:08 -0600 Subject: [PATCH 090/254] tabs -> spaces --- .../functions/fnc_attackProfile_JDAM.sqf | 52 +++---- .../functions/fnc_attackProfile_LOFT.sqf | 6 +- .../functions/fnc_gps_confirm.sqf | 2 +- .../functions/fnc_gps_getAttackData.sqf | 12 +- .../functions/fnc_gps_loadAttackSettings.sqf | 12 +- .../functions/fnc_gps_modeSelect.sqf | 46 +++--- .../functions/fnc_gps_onLoad.sqf | 56 +++---- .../functions/fnc_gps_pbModeCycle.sqf | 16 +- .../functions/fnc_gps_saveAttackSettings.sqf | 24 +-- .../functions/fnc_gps_setupVehicle.sqf | 26 ++-- .../functions/fnc_line_onFired.sqf | 10 +- .../fnc_navigationType_augmentedProNav.sqf | 6 +- .../functions/fnc_navigationType_line.sqf | 14 +- .../fnc_navigationType_lineOfSight.sqf | 6 +- .../functions/fnc_navigationType_proNav.sqf | 6 +- .../fnc_navigationType_zeroEffortMiss.sqf | 4 +- .../functions/fnc_proNav_onFired.sqf | 10 +- .../functions/fnc_seekerType_IR.sqf | 146 +++++++++--------- .../functions/fnc_seekerType_SALH.sqf | 28 ++-- .../functions/fnc_shouldFilterRadarHit.sqf | 128 +++++++-------- 20 files changed, 305 insertions(+), 305 deletions(-) diff --git a/addons/missileguidance/functions/fnc_attackProfile_JDAM.sqf b/addons/missileguidance/functions/fnc_attackProfile_JDAM.sqf index e49432ad5e1..e29fee05a52 100644 --- a/addons/missileguidance/functions/fnc_attackProfile_JDAM.sqf +++ b/addons/missileguidance/functions/fnc_attackProfile_JDAM.sqf @@ -26,11 +26,11 @@ _targetData params ["_directionToTarget", "", "_distanceToTarget"]; _flightParams params ["_pitchRate", "_yawRate"]; if (_impactAngle <= 0) then { - _impactAngle = 360; // immediate pitch over to attack + _impactAngle = 360; // immediate pitch over to attack }; if (_attackDirection < 0) then { - _attackDirection = direction _projectile; + _attackDirection = direction _projectile; }; private _projectilePos = getPosASLVisual _projectile; @@ -39,40 +39,40 @@ private _targetDir = _projectilePos vectorFromTo _seekerTargetPos; private _targetPos = _seekerTargetPos; if !(_terminal) then { - _targetPos = [ - _targetPos#0, - _targetPos#1, - (_seekerTargetPos select 2) + 500 - ]; - - private _lineDir = [1, 180 + _attackDirection, _impactAngle] call CBA_fnc_polar2vect; + _targetPos = [ + _targetPos#0, + _targetPos#1, + (_seekerTargetPos select 2) + 500 + ]; + + private _lineDir = [1, 180 + _attackDirection, _impactAngle] call CBA_fnc_polar2vect; - private _v = _projectilePos vectorDiff _seekerTargetPos; - private _d = _v vectorDotProduct _lineDir; - private _closestPoint = _seekerTargetPos vectorAdd (_lineDir vectorMultiply _d); + private _v = _projectilePos vectorDiff _seekerTargetPos; + private _d = _v vectorDotProduct _lineDir; + private _closestPoint = _seekerTargetPos vectorAdd (_lineDir vectorMultiply _d); - private _timeToGo = (_projectilePos distance _closestPoint) / vectorMagnitude velocity _projectile; + private _timeToGo = (_projectilePos distance _closestPoint) / vectorMagnitude velocity _projectile; - private _projectileAngleFromTarget = acos ((vectorDir _projectile) vectorCos _targetDir); - private _availablePitch = _pitchRate * _timeToGo; + private _projectileAngleFromTarget = acos ((vectorDir _projectile) vectorCos _targetDir); + private _availablePitch = _pitchRate * _timeToGo; - private _neededPitch = _impactAngle + _projectilePitch; + private _neededPitch = _impactAngle + _projectilePitch; - private _atMinRotationAngle = _availablePitch <= _neededPitch; - _attackProfileStateParams set [2, (_atMinRotationAngle || (_neededPitch <= _projectileAngleFromTarget))]; + private _atMinRotationAngle = _availablePitch <= _neededPitch; + _attackProfileStateParams set [2, (_atMinRotationAngle || (_neededPitch <= _projectileAngleFromTarget))]; - if (GVAR(debug_drawGuidanceInfo)) then { - _attackProfileName = format ["JDAM [Pitch Available - %1 Needed Pitch - %2 TTP - %3]", _availablePitch, _neededPitch, (_availablePitch - _neededPitch) / _pitchRate]; - drawIcon3D ["\a3\ui_f\data\IGUI\Cfg\Cursors\selectover_ca.paa", [1,0,0,1], ASLtoAGL _closestPoint, 0.75, 0.75, 0, "P", 1, 0.025, "TahomaB"]; - }; + if (GVAR(debug_drawGuidanceInfo)) then { + _attackProfileName = format ["JDAM [Pitch Available - %1 Needed Pitch - %2 TTP - %3]", _availablePitch, _neededPitch, (_availablePitch - _neededPitch) / _pitchRate]; + drawIcon3D ["\a3\ui_f\data\IGUI\Cfg\Cursors\selectover_ca.paa", [1,0,0,1], ASLtoAGL _closestPoint, 0.75, 0.75, 0, "P", 1, 0.025, "TahomaB"]; + }; } else { - _attackProfileName = format ["JDAM [Pitch - %1 Impact Pitch - %2]", _projectilePitch, _impactAngle]; + _attackProfileName = format ["JDAM [Pitch - %1 Impact Pitch - %2]", _projectilePitch, _impactAngle]; }; if (GVAR(debug_drawGuidanceInfo)) then { - private _desiredAngle = [5000, 180 + _attackDirection, _impactAngle] call CBA_fnc_polar2vect; - private _targetPosAGL = ASLtoAGL _seekerTargetPos; - drawLine3D [_targetPosAGL, _targetPosAGL vectorAdd _desiredAngle, [1, 1, 1, 1]]; + private _desiredAngle = [5000, 180 + _attackDirection, _impactAngle] call CBA_fnc_polar2vect; + private _targetPosAGL = ASLtoAGL _seekerTargetPos; + drawLine3D [_targetPosAGL, _targetPosAGL vectorAdd _desiredAngle, [1, 1, 1, 1]]; }; _targetPos; diff --git a/addons/missileguidance/functions/fnc_attackProfile_LOFT.sqf b/addons/missileguidance/functions/fnc_attackProfile_LOFT.sqf index 3c8a7f289ae..1613c376308 100644 --- a/addons/missileguidance/functions/fnc_attackProfile_LOFT.sqf +++ b/addons/missileguidance/functions/fnc_attackProfile_LOFT.sqf @@ -28,7 +28,7 @@ _stateParams params ["_lastRunTime", "_seekerStateParams", "_attackProfileStateP _seekerParams params ["_seekerAngle", "_seekerAccuracy", "_seekerMaxRange", "_seekerMinRange"]; if (_seekerTargetPos isEqualTo [0, 0, 0]) exitWith { - _seekerTargetPos + _seekerTargetPos }; private _projectilePos = getPosASLVisual _projectile; @@ -46,8 +46,8 @@ private _atMinRotationAngle = _angleToTarget >= (0.5 * _pitchRate * _timeToGo); private _returnTargetPos = _seekerTargetPos; if (!_atMinRotationAngle && _distanceToTarget2d >= 500 && _timeToGo >= 10) then { - // 10 degree pitch up - _returnTargetPos = _seekerTargetPos vectorAdd [0, 0, (_projectilePos distance _seekerTargetPos) * sin 10]; + // 10 degree pitch up + _returnTargetPos = _seekerTargetPos vectorAdd [0, 0, (_projectilePos distance _seekerTargetPos) * sin 10]; }; _returnTargetPos diff --git a/addons/missileguidance/functions/fnc_gps_confirm.sqf b/addons/missileguidance/functions/fnc_gps_confirm.sqf index afc4665fd6f..ad0468eb8cc 100644 --- a/addons/missileguidance/functions/fnc_gps_confirm.sqf +++ b/addons/missileguidance/functions/fnc_gps_confirm.sqf @@ -15,7 +15,7 @@ * Public: No */ if (GVAR(gps_mode) isEqualTo "pb") then { - [GVAR(gps_pbMode)] call FUNC(gps_saveAttackSettings); + [GVAR(gps_pbMode)] call FUNC(gps_saveAttackSettings); }; closeDialog 0; diff --git a/addons/missileguidance/functions/fnc_gps_getAttackData.sqf b/addons/missileguidance/functions/fnc_gps_getAttackData.sqf index 58109150016..363d7fd05b9 100644 --- a/addons/missileguidance/functions/fnc_gps_getAttackData.sqf +++ b/addons/missileguidance/functions/fnc_gps_getAttackData.sqf @@ -16,15 +16,15 @@ */ if (GVAR(gps_mode) isEqualTo "too") then { - private _target = getPilotCameraTarget (vehicle ACE_PLAYER); - _target params ["_tracking", "_position", "_object"]; - GVAR(gps_currentSettings) set [0, _position] + private _target = getPilotCameraTarget (vehicle ACE_PLAYER); + _target params ["_tracking", "_position", "_object"]; + GVAR(gps_currentSettings) set [0, _position] }; // create a copy of this array to make sure values are not overwritten [ - GVAR(gps_currentSettings)#0, - GVAR(gps_currentSettings)#1, - GVAR(gps_currentSettings)#2 + GVAR(gps_currentSettings)#0, + GVAR(gps_currentSettings)#1, + GVAR(gps_currentSettings)#2 ] diff --git a/addons/missileguidance/functions/fnc_gps_loadAttackSettings.sqf b/addons/missileguidance/functions/fnc_gps_loadAttackSettings.sqf index e038bccaaef..4211dedf958 100644 --- a/addons/missileguidance/functions/fnc_gps_loadAttackSettings.sqf +++ b/addons/missileguidance/functions/fnc_gps_loadAttackSettings.sqf @@ -26,23 +26,23 @@ private _grid = [_position] call EFUNC(common,getMapGridFromPos); _grid params ["_easting", "_northing"]; if (_angle < 0) then { - _angle = ""; + _angle = ""; } else { - _angle = str _angle; + _angle = str _angle; }; if (_heading < 0) then { - _heading = ""; + _heading = ""; } else { - _heading = str _heading; + _heading = str _heading; }; if (0 == parseNumber _easting) then { - _easting = ""; + _easting = ""; }; if (0 == parseNumber _northing) then { - _northing = ""; + _northing = ""; }; (_display displayCtrl GPS_UI_EASTING) ctrlSetText _easting; diff --git a/addons/missileguidance/functions/fnc_gps_modeSelect.sqf b/addons/missileguidance/functions/fnc_gps_modeSelect.sqf index bc620b875d8..88f35f3ccec 100644 --- a/addons/missileguidance/functions/fnc_gps_modeSelect.sqf +++ b/addons/missileguidance/functions/fnc_gps_modeSelect.sqf @@ -18,39 +18,39 @@ params ["_mode", ["_onLoad", false]]; private _display = uiNamespace getVariable QGVAR(gpsAttackOptionDisplay); -{ - // only TOO and PB modes modelled - if (_mode == GPS_UI_TOO) then { - // disable - ctrlEnable [_x, false]; - } else { - // enable - ctrlEnable [_x, true]; - }; +{ + // only TOO and PB modes modelled + if (_mode == GPS_UI_TOO) then { + // disable + ctrlEnable [_x, false]; + } else { + // enable + ctrlEnable [_x, true]; + }; } forEach CONTROLS_DISABLED_IN_TOO; private _backgroundColour = [ - GUI_BCG_RGB_R call BIS_fnc_parseNumber, - GUI_BCG_RGB_G call BIS_fnc_parseNumber, - GUI_BCG_RGB_B call BIS_fnc_parseNumber, - GUI_BCG_ALPHA call BIS_fnc_parseNumber + GUI_BCG_RGB_R call BIS_fnc_parseNumber, + GUI_BCG_RGB_G call BIS_fnc_parseNumber, + GUI_BCG_RGB_B call BIS_fnc_parseNumber, + GUI_BCG_ALPHA call BIS_fnc_parseNumber ]; private _selectedColour = [ - 0, - 0, - 0, - 1 + 0, + 0, + 0, + 1 ]; ctrlSetFocus (_display displayCtrl _mode); if (_mode == GPS_UI_TOO) then { - GVAR(gps_mode) = "too"; - if !(_onLoad) then { - [GVAR(gps_pbMode)] call FUNC(gps_saveAttackSettings); - }; + GVAR(gps_mode) = "too"; + if !(_onLoad) then { + [GVAR(gps_pbMode)] call FUNC(gps_saveAttackSettings); + }; } else { - GVAR(gps_mode) = "pb"; - [GVAR(gps_pbMode)] call FUNC(gps_loadAttackSettings); + GVAR(gps_mode) = "pb"; + [GVAR(gps_pbMode)] call FUNC(gps_loadAttackSettings); }; diff --git a/addons/missileguidance/functions/fnc_gps_onLoad.sqf b/addons/missileguidance/functions/fnc_gps_onLoad.sqf index 5edff41e4ee..602c0f769f5 100644 --- a/addons/missileguidance/functions/fnc_gps_onLoad.sqf +++ b/addons/missileguidance/functions/fnc_gps_onLoad.sqf @@ -15,39 +15,39 @@ * Public: No */ [{ - params ["_display"]; - uiNamespace setVariable [QGVAR(gpsAttackOptionDisplay), _display]; + params ["_display"]; + uiNamespace setVariable [QGVAR(gpsAttackOptionDisplay), _display]; - private _mode = if (GVAR(gps_mode) isEqualTo "too") then { - GPS_UI_TOO - } else { - GPS_UI_PB - }; + private _mode = if (GVAR(gps_mode) isEqualTo "too") then { + GPS_UI_TOO + } else { + GPS_UI_PB + }; - [_mode, true] call FUNC(gps_modeSelect); - (_display displayCtrl GPS_UI_PB_MISSION) ctrlSetText format ["PP %1", GVAR(gps_pbMode) + 1]; + [_mode, true] call FUNC(gps_modeSelect); + (_display displayCtrl GPS_UI_PB_MISSION) ctrlSetText format ["PP %1", GVAR(gps_pbMode) + 1]; - // update current settings - GVAR(gps_uiPerFrameHandler) = [{ - if (GVAR(gps_mode) isEqualTo "too") then { - // update coordinates based on TGP position - private _target = getPilotCameraTarget (vehicle ACE_PLAYER); - _target params ["_tracking", "_position", "_object"]; + // update current settings + GVAR(gps_uiPerFrameHandler) = [{ + if (GVAR(gps_mode) isEqualTo "too") then { + // update coordinates based on TGP position + private _target = getPilotCameraTarget (vehicle ACE_PLAYER); + _target params ["_tracking", "_position", "_object"]; - if (_position isNotEqualTo [0, 0, 0]) then { - private _mapGrid = [_position] call EFUNC(common,getMapGridFromPos); - _mapGrid params ["_easting", "_northing"]; - private _height = _position#2; + if (_position isNotEqualTo [0, 0, 0]) then { + private _mapGrid = [_position] call EFUNC(common,getMapGridFromPos); + _mapGrid params ["_easting", "_northing"]; + private _height = _position#2; - private _display = uiNamespace getVariable QGVAR(gpsAttackOptionDisplay); - (_display displayCtrl GPS_UI_EASTING) ctrlSetText _easting; - (_display displayCtrl GPS_UI_NORTHING) ctrlSetText _northing; - (_display displayCtrl GPS_UI_HEIGHT) ctrlSetText str _height; - }; - }; + private _display = uiNamespace getVariable QGVAR(gpsAttackOptionDisplay); + (_display displayCtrl GPS_UI_EASTING) ctrlSetText _easting; + (_display displayCtrl GPS_UI_NORTHING) ctrlSetText _northing; + (_display displayCtrl GPS_UI_HEIGHT) ctrlSetText str _height; + }; + }; - // info is read from text boxes, so if boxes are update this will be updated - GVAR(gps_currentSettings) = [-1] call FUNC(gps_saveAttackSettings); - }] call CBA_fnc_addPerFrameHandler; + // info is read from text boxes, so if boxes are update this will be updated + GVAR(gps_currentSettings) = [-1] call FUNC(gps_saveAttackSettings); + }] call CBA_fnc_addPerFrameHandler; }, _this] call CBA_fnc_execNextFrame; diff --git a/addons/missileguidance/functions/fnc_gps_pbModeCycle.sqf b/addons/missileguidance/functions/fnc_gps_pbModeCycle.sqf index 8e6759ed5f2..45935f08e9e 100644 --- a/addons/missileguidance/functions/fnc_gps_pbModeCycle.sqf +++ b/addons/missileguidance/functions/fnc_gps_pbModeCycle.sqf @@ -20,15 +20,15 @@ private _display = uiNamespace getVariable QGVAR(gpsAttackOptionDisplay); [GVAR(gps_pbMode)] call FUNC(gps_saveAttackSettings); if (_direction > 0) then { - // right - GVAR(gps_pbMode) = (GVAR(gps_pbMode) + 1) % MAX_PB_MODES + // right + GVAR(gps_pbMode) = (GVAR(gps_pbMode) + 1) % MAX_PB_MODES } else { - // left - GVAR(gps_pbMode) = (GVAR(gps_pbMode) - 1); - if (GVAR(gps_pbMode) < 0) then { - GVAR(gps_pbMode) = MAX_PB_MODES - 1; - }; - GVAR(gps_pbMode) = GVAR(gps_pbMode) % MAX_PB_MODES; + // left + GVAR(gps_pbMode) = (GVAR(gps_pbMode) - 1); + if (GVAR(gps_pbMode) < 0) then { + GVAR(gps_pbMode) = MAX_PB_MODES - 1; + }; + GVAR(gps_pbMode) = GVAR(gps_pbMode) % MAX_PB_MODES; }; [GVAR(gps_pbMode)] call FUNC(gps_loadAttackSettings); diff --git a/addons/missileguidance/functions/fnc_gps_saveAttackSettings.sqf b/addons/missileguidance/functions/fnc_gps_saveAttackSettings.sqf index 9a8c62a9279..7278bf2d060 100644 --- a/addons/missileguidance/functions/fnc_gps_saveAttackSettings.sqf +++ b/addons/missileguidance/functions/fnc_gps_saveAttackSettings.sqf @@ -24,42 +24,42 @@ private _angle = ctrlText (_display displayCtrl GPS_UI_ANGLE); private _heading = ctrlText (_display displayCtrl GPS_UI_HEADING); if (_height isEqualTo "") then { - _height = 0 + _height = 0 } else { - _height = parseNumber _height; + _height = parseNumber _height; }; if (_angle isEqualTo "") then { - _angle = -1 + _angle = -1 } else { - _angle = parseNumber _angle; + _angle = parseNumber _angle; }; if (_heading isEqualTo "") then { - _heading = -1 + _heading = -1 } else { - _heading = parseNumber _heading; + _heading = parseNumber _heading; }; private _minGridCount = (count _easting) min (count _northing); private _grid = (_easting select [0, _minGridCount]) + (_northing select [0, _minGridCount]); private _position = if (_grid isEqualTo "") then { - [0, 0, 0] + [0, 0, 0] } else { - [_grid, false] call EFUNC(common,getMapPosFromGrid); + [_grid, false] call EFUNC(common,getMapPosFromGrid); }; _position set [2, _height]; TRACE_3("settings gps pos",_position,_angle,_heading); private _settings = [ - _position, // attack position - _angle, // impact angle - _heading // attack heading + _position, // attack position + _angle, // impact angle + _heading // attack heading ]; if (_mode != -1) then { - GVAR(gps_settings) set [_mode, _settings]; + GVAR(gps_settings) set [_mode, _settings]; }; _settings diff --git a/addons/missileguidance/functions/fnc_gps_setupVehicle.sqf b/addons/missileguidance/functions/fnc_gps_setupVehicle.sqf index 6f1d2f94f25..898e0db77cf 100644 --- a/addons/missileguidance/functions/fnc_gps_setupVehicle.sqf +++ b/addons/missileguidance/functions/fnc_gps_setupVehicle.sqf @@ -23,28 +23,28 @@ if (_vehicle getVariable [QGVAR(gps_actionsAdded), false]) exitWith {}; _vehicle setVariable [QGVAR(gps_actionsAdded), true]; private _condition = { - params ["_target", "_player"]; + params ["_target", "_player"]; private _turretPath = if (ACE_player == (driver _target)) then {[-1]} else {ACE_player call CBA_fnc_turretPath}; - private _hasJDAM = false; + private _hasJDAM = false; { - private _magazines = getArray (configFile >> "CfgWeapons" >> _x >> "magazines"); - { - private _ammo = getText (configFile >> "CfgMagazines" >> _x >> "ammo"); - private _ammoAttackProfiles = getArray (configFile >> "CfgAmmo" >> _ammo >> QUOTE(ADDON) >> "attackProfiles"); - _hasJDAM = "JDAM" in _ammoAttackProfiles; + private _magazines = getArray (configFile >> "CfgWeapons" >> _x >> "magazines"); + { + private _ammo = getText (configFile >> "CfgMagazines" >> _x >> "ammo"); + private _ammoAttackProfiles = getArray (configFile >> "CfgAmmo" >> _ammo >> QUOTE(ADDON) >> "attackProfiles"); + _hasJDAM = "JDAM" in _ammoAttackProfiles; - if (_hasJDAM) exitWith { true }; - } forEach _magazines; + if (_hasJDAM) exitWith { true }; + } forEach _magazines; - if (_hasJDAM) exitWith { true }; - } forEach (_target weaponsTurret _turretPath); + if (_hasJDAM) exitWith { true }; + } forEach (_target weaponsTurret _turretPath); - _hasJDAM + _hasJDAM }; private _statement = { - createDialog QGVAR(gpsAttackOptionsUI); + createDialog QGVAR(gpsAttackOptionsUI); }; private _action = [QUOTE(ADDON), "JDAM settings", "", _statement, _condition] call EFUNC(interact_menu,createAction); diff --git a/addons/missileguidance/functions/fnc_line_onFired.sqf b/addons/missileguidance/functions/fnc_line_onFired.sqf index a02ae728647..67af1febcf4 100644 --- a/addons/missileguidance/functions/fnc_line_onFired.sqf +++ b/addons/missileguidance/functions/fnc_line_onFired.sqf @@ -23,14 +23,14 @@ private _d = getNumber (_ammoConfig >> QUOTE(ADDON) >> "lineGainD"); private _correctionDistance = getNumber (_ammoConfig >> QUOTE(ADDON) >> "correctionDistance"); if (_correctionDistance == 0) then { - _correctionDistance = 1; + _correctionDistance = 1; }; private _navigationParams = [ - _p, _i, _d, - 0, - 0, - _correctionDistance + _p, _i, _d, + 0, + 0, + _correctionDistance ]; _navigationParams diff --git a/addons/missileguidance/functions/fnc_navigationType_augmentedProNav.sqf b/addons/missileguidance/functions/fnc_navigationType_augmentedProNav.sqf index 810b4cc3c38..6c7b8630c54 100644 --- a/addons/missileguidance/functions/fnc_navigationType_augmentedProNav.sqf +++ b/addons/missileguidance/functions/fnc_navigationType_augmentedProNav.sqf @@ -32,9 +32,9 @@ _targetAcceleration = _targetAcceleration vectorDiff _targetAccelerationProjecte // this is just due to how we measure our LOS delta, the vectors involved are _tiny_ private _losDelta = _attackProfileDirection vectorDiff _lastLineOfSight; private _losRate = if (_timestep == 0) then { - 0 + 0 } else { - 1 * (vectorMagnitude _losDelta) / _timestep; + 1 * (vectorMagnitude _losDelta) / _timestep; }; private _lateralAcceleration = _navigationGain * _losRate; @@ -46,7 +46,7 @@ private _commandedAccelerationProjected = _attackProfileDirection vectorMultiply _commandedAcceleration = _commandedAcceleration vectorDiff _commandedAccelerationProjected; if (accTime > 0) then { - _navigationParams set [0, [_seekerTargetPos, _targetVelocity, _attackProfileDirection]]; + _navigationParams set [0, [_seekerTargetPos, _targetVelocity, _attackProfileDirection]]; }; _commandedAcceleration diff --git a/addons/missileguidance/functions/fnc_navigationType_line.sqf b/addons/missileguidance/functions/fnc_navigationType_line.sqf index cd1d242eb1d..5132d4f9bc6 100644 --- a/addons/missileguidance/functions/fnc_navigationType_line.sqf +++ b/addons/missileguidance/functions/fnc_navigationType_line.sqf @@ -28,25 +28,25 @@ private _errorY = 1 min (_targetDistance#2 / _correctionDistance); private _pX = _proportionalGain * _errorX; private _dX = if (_timestep != 0) then { - _derivativeGain * (_errorX - _lastErrorX) / _timestep + _derivativeGain * (_errorX - _lastErrorX) / _timestep } else { - 0 + 0 }; private _pY = _proportionalGain * _errorY; private _dY = if (_timestep != 0) then { - _derivativeGain * (_errorY - _lastErrorY) / _timestep + _derivativeGain * (_errorY - _lastErrorY) / _timestep } else { - 0 + 0 }; private _accelerationX = _pX + _dX; private _accelerationY = _pY + _dY; private _commandedAcceleration = [ - _accelerationX, - 0, - _accelerationY + _accelerationX, + 0, + _accelerationY ]; _navigationParams set [3, _errorX]; diff --git a/addons/missileguidance/functions/fnc_navigationType_lineOfSight.sqf b/addons/missileguidance/functions/fnc_navigationType_lineOfSight.sqf index 4f710df59bf..79bd4fc4bc4 100644 --- a/addons/missileguidance/functions/fnc_navigationType_lineOfSight.sqf +++ b/addons/missileguidance/functions/fnc_navigationType_lineOfSight.sqf @@ -28,9 +28,9 @@ _targetData params ["_targetDirection", "_attackProfileDirection", "", "_targetV // this is just due to how we measure our LOS delta, the vectors involved are _tiny_ private _losDelta = _attackProfileDirection vectorDiff _lastLineOfSight; private _losRate = if (_timestep == 0) then { - 0 + 0 } else { - 10 * (vectorMagnitude _losDelta) / _timestep; + 10 * (vectorMagnitude _losDelta) / _timestep; }; private _closingVelocity = _targetVelocity vectorDiff (velocity _projectile); @@ -42,7 +42,7 @@ private _commandedAccelerationProjected = _attackProfileDirection vectorMultiply _commandedAcceleration = _commandedAcceleration vectorDiff _commandedAccelerationProjected; if (accTime > 0) then { - _navigationParams set [0, [_attackProfileDirection]]; + _navigationParams set [0, [_attackProfileDirection]]; }; _targetDirection diff --git a/addons/missileguidance/functions/fnc_navigationType_proNav.sqf b/addons/missileguidance/functions/fnc_navigationType_proNav.sqf index 335f18ef3ee..6141b0b18fa 100644 --- a/addons/missileguidance/functions/fnc_navigationType_proNav.sqf +++ b/addons/missileguidance/functions/fnc_navigationType_proNav.sqf @@ -29,9 +29,9 @@ private _closingVelocity = _targetVelocity vectorDiff velocity _projectile; // this is just due to how we measure our LOS delta, the vectors involved are _tiny_ private _losDelta = _attackProfileDirection vectorDiff _lastLineOfSight; private _losRate = if (_timestep == 0) then { - 0 + 0 } else { - 1 * (vectorMagnitude _losDelta) / _timestep; + 1 * (vectorMagnitude _losDelta) / _timestep; }; private _lateralAcceleration = _navigationGain * _losRate; @@ -42,7 +42,7 @@ private _commandedAccelerationProjected = _attackProfileDirection vectorMultiply _commandedAcceleration = _commandedAcceleration vectorDiff _commandedAccelerationProjected; if (accTime > 0) then { - _navigationParams set [0, [_seekerTargetPos, _targetVelocity, _attackProfileDirection]]; + _navigationParams set [0, [_seekerTargetPos, _targetVelocity, _attackProfileDirection]]; }; _commandedAcceleration diff --git a/addons/missileguidance/functions/fnc_navigationType_zeroEffortMiss.sqf b/addons/missileguidance/functions/fnc_navigationType_zeroEffortMiss.sqf index ccd0dc1b056..977888681d9 100644 --- a/addons/missileguidance/functions/fnc_navigationType_zeroEffortMiss.sqf +++ b/addons/missileguidance/functions/fnc_navigationType_zeroEffortMiss.sqf @@ -26,7 +26,7 @@ private _closingVelocity = _targetVelocity vectorDiff velocity _projectile; private _timeToGo = _targetRange / vectorMagnitude _closingVelocity; if (_timeToGo == 0) then { - _timeToGo = 0.001; + _timeToGo = 0.001; }; private _zeroEffortMiss = _vectorToTarget vectorAdd (_closingVelocity vectorMultiply _timeToGo); @@ -36,6 +36,6 @@ private _zeroEffortMissNormal = _zeroEffortMiss vectorDiff _zeroEffortMissProjec private _commandedAcceleration = _zeroEffortMissNormal vectorMultiply (_navigationGain / (_timeToGo * _timeToGo)); if (accTime > 0) then { - _navigationParams set [0, [_lineOfSight]]; + _navigationParams set [0, [_lineOfSight]]; }; _commandedAcceleration diff --git a/addons/missileguidance/functions/fnc_proNav_onFired.sqf b/addons/missileguidance/functions/fnc_proNav_onFired.sqf index dca59a6290a..7d735d67384 100644 --- a/addons/missileguidance/functions/fnc_proNav_onFired.sqf +++ b/addons/missileguidance/functions/fnc_proNav_onFired.sqf @@ -24,13 +24,13 @@ _seekerParams params ["_seekerAngle", "_seekerAccuracy", "_seekerMaxRange", "_se private _ammoConfig = configOf _projectile; private _navigationGain = getNumber (_ammoConfig >> QUOTE(ADDON) >> "navigationGain"); if (_navigationGain == 0) then { - _navigationGain = 3; + _navigationGain = 3; }; private _navigationParams = [ - [ // Last Missile Frame - [0, 0, 0] // Last line of sight - ], - _navigationGain // navigation gain of missile. Set in the navigation onFired function + [ // Last Missile Frame + [0, 0, 0] // Last line of sight + ], + _navigationGain // navigation gain of missile. Set in the navigation onFired function ]; _navigationParams diff --git a/addons/missileguidance/functions/fnc_seekerType_IR.sqf b/addons/missileguidance/functions/fnc_seekerType_IR.sqf index 8d92bf73b00..dee2d33daba 100644 --- a/addons/missileguidance/functions/fnc_seekerType_IR.sqf +++ b/addons/missileguidance/functions/fnc_seekerType_IR.sqf @@ -36,85 +36,85 @@ private _withinView = [_projectile, getPosASLVisual _trackingTarget, _seekerAngl private _canSee = [_projectile, _trackingTarget, false] call FUNC(checkLos); if (!_withinView || !_canSee) then { - _trackingTarget = objNull; + _trackingTarget = objNull; }; if (isNull _trackingTarget) then { - // find any target within seeker range - private _potentialTargets = _projectile nearEntities ["Air", _seekerMaxRange]; - private _bestAngle = 90; - { - private _withinView = [_projectile, getPosASLVisual _x, _seekerAngle] call FUNC(checkSeekerAngle); - private _canSee = [_projectile, _x, false] call FUNC(checkLos); - - if (_withinView && _canSee) then { - private _los = (getPosASLVisual _projectile) vectorFromTo (getPosASLVisual _x); - private _losAngle = (_los#2 atan2 _los#0); - if (_losAngle < _bestAngle) then { - _trackingTarget = _x; - _bestAngle = _losAngle; - }; - }; - } forEach _potentialTargets; + // find any target within seeker range + private _potentialTargets = _projectile nearEntities ["Air", _seekerMaxRange]; + private _bestAngle = 90; + { + private _withinView = [_projectile, getPosASLVisual _x, _seekerAngle] call FUNC(checkSeekerAngle); + private _canSee = [_projectile, _x, false] call FUNC(checkLos); + + if (_withinView && _canSee) then { + private _los = (getPosASLVisual _projectile) vectorFromTo (getPosASLVisual _x); + private _losAngle = (_los#2 atan2 _los#0); + if (_losAngle < _bestAngle) then { + _trackingTarget = _x; + _bestAngle = _losAngle; + }; + }; + } forEach _potentialTargets; }; if (TRACK_ON_PAUSE || {accTime > 0 && !isGamePaused}) then { - // If there are flares nearby, check if they will confuse missile - private _nearby = _trackingTarget nearObjects _flareDistanceFilter; - _nearby = _nearby select { - // 2 = IR blocking - private _blocking = configOf _x >> "weaponLockSystem"; - private _isFlare = false; - if (isNumber _blocking) then { - _isFlare = (2 == getNumber _blocking); - }; - - if (isText _blocking) then { - _isFlare = ("2" in getText _blocking); - }; - - private _withinView = [_projectile, getPosASLVisual _x, _seekerAngle] call FUNC(checkSeekerAngle); - private _canSee = [_projectile, _x, false] call FUNC(checkLos); - - (_x isEqualTo _target && _trackingTarget isNotEqualTo _target) || { (_withinView && _canSee && _isFlare) } - }; - - private _relativeTargetVelocity = _projectile vectorWorldToModelVisual velocity _trackingTarget; - _relativeTargetVelocity set [1, 0]; - private _foundDecoy = false; - { - if (_trackingTarget isNotEqualTo _x) then { - private _considering = false; - - private _flareRelativeVelocity = _projectile vectorWorldToModelVisual velocity _x; - _flareRelativeVelocity set [1, 0]; - private _angleBetweenVelocities = acos (_relativeTargetVelocity vectorCos _flareRelativeVelocity); - if !(_foundDecoy) then { - if (_angleBetweenVelocities <= _flareAngleFilter) then { - _considering = true; - if (_seekerAccuracy <= random 1) then { - _trackingTarget = _x; - _foundDecoy = true; - }; - }; - }; - - if (GVAR(debug_drawGuidanceInfo)) then { - private _flarePos = ASLToAGL getPosASLVisual _x; - private _colour = [1, 0, 0, 1]; - if (_considering) then { - _colour = [0, 1, 0, 1]; - }; - if (_trackingTarget isEqualTo _x) then { - _colour = [0, 0, 1, 1]; - }; - drawIcon3D ["\a3\ui_f\data\IGUI\Cfg\Cursors\selectover_ca.paa", _colour, _flarePos, 0.75, 0.75, 0, format ["F %1", _angleBetweenVelocities], 1, 0.025, "TahomaB"]; - }; - }; - } forEach _nearby; - - _seekerStateParams set [2, _trackingTarget]; - + // If there are flares nearby, check if they will confuse missile + private _nearby = _trackingTarget nearObjects _flareDistanceFilter; + _nearby = _nearby select { + // 2 = IR blocking + private _blocking = configOf _x >> "weaponLockSystem"; + private _isFlare = false; + if (isNumber _blocking) then { + _isFlare = (2 == getNumber _blocking); + }; + + if (isText _blocking) then { + _isFlare = ("2" in getText _blocking); + }; + + private _withinView = [_projectile, getPosASLVisual _x, _seekerAngle] call FUNC(checkSeekerAngle); + private _canSee = [_projectile, _x, false] call FUNC(checkLos); + + (_x isEqualTo _target && _trackingTarget isNotEqualTo _target) || { (_withinView && _canSee && _isFlare) } + }; + + private _relativeTargetVelocity = _projectile vectorWorldToModelVisual velocity _trackingTarget; + _relativeTargetVelocity set [1, 0]; + private _foundDecoy = false; + { + if (_trackingTarget isNotEqualTo _x) then { + private _considering = false; + + private _flareRelativeVelocity = _projectile vectorWorldToModelVisual velocity _x; + _flareRelativeVelocity set [1, 0]; + private _angleBetweenVelocities = acos (_relativeTargetVelocity vectorCos _flareRelativeVelocity); + if !(_foundDecoy) then { + if (_angleBetweenVelocities <= _flareAngleFilter) then { + _considering = true; + if (_seekerAccuracy <= random 1) then { + _trackingTarget = _x; + _foundDecoy = true; + }; + }; + }; + + if (GVAR(debug_drawGuidanceInfo)) then { + private _flarePos = ASLToAGL getPosASLVisual _x; + private _colour = [1, 0, 0, 1]; + if (_considering) then { + _colour = [0, 1, 0, 1]; + }; + if (_trackingTarget isEqualTo _x) then { + _colour = [0, 0, 1, 1]; + }; + drawIcon3D ["\a3\ui_f\data\IGUI\Cfg\Cursors\selectover_ca.paa", _colour, _flarePos, 0.75, 0.75, 0, format ["F %1", _angleBetweenVelocities], 1, 0.025, "TahomaB"]; + }; + }; + } forEach _nearby; + + _seekerStateParams set [2, _trackingTarget]; + }; private _targetPosition = _trackingTarget modelToWorldVisualWorld getCenterOfMass _trackingTarget; diff --git a/addons/missileguidance/functions/fnc_seekerType_SALH.sqf b/addons/missileguidance/functions/fnc_seekerType_SALH.sqf index 3e3c4b77e59..17e6692e9dd 100644 --- a/addons/missileguidance/functions/fnc_seekerType_SALH.sqf +++ b/addons/missileguidance/functions/fnc_seekerType_SALH.sqf @@ -31,36 +31,36 @@ private _foundTargetPos = _laserResult select 0; TRACE_1("Search", _laserResult); if (isNil "_foundTargetPos") exitWith { - [0, 0, 0] + [0, 0, 0] }; // average out any error from laser jump private _positionSum = [0, 0, 0]; { - _positionSum = _positionSum vectorAdd _x; + _positionSum = _positionSum vectorAdd _x; } forEach _lastPositions; if (_foundTargetPos isNotEqualTo [0, 0, 0]) then { - _lastPositions set [_lastPositionIndex % MAX_AVERAGES, _foundTargetPos]; - _seekerParams set [4, _lastPositions]; - _seekerParams set [5, _lastPositionIndex + 1]; + _lastPositions set [_lastPositionIndex % MAX_AVERAGES, _foundTargetPos]; + _seekerParams set [4, _lastPositions]; + _seekerParams set [5, _lastPositionIndex + 1]; }; private _aproximateVelocity = [0, 0, 0]; _positionSum = _positionSum vectorAdd _foundTargetPos; if (MAX_AVERAGES == count _lastPositions) then { - _positionSum = _positionSum vectorMultiply (1 / (1 + count _lastPositions)); + _positionSum = _positionSum vectorMultiply (1 / (1 + count _lastPositions)); - // if we are within a meter of the previous average, just use the previous average - if (_positionSum distanceSqr _lastPositionSum < MINIMUM_DISTANCE_UNTIL_NEW_POS * MINIMUM_DISTANCE_UNTIL_NEW_POS) then { - _positionSum = _lastPositionSum; - }; + // if we are within a meter of the previous average, just use the previous average + if (_positionSum distanceSqr _lastPositionSum < MINIMUM_DISTANCE_UNTIL_NEW_POS * MINIMUM_DISTANCE_UNTIL_NEW_POS) then { + _positionSum = _lastPositionSum; + }; - if (_timestep != 0) then { - _aproximateVelocity = (_positionSum vectorDiff _lastPositionSum) vectorMultiply (1 / _timestep); - }; + if (_timestep != 0) then { + _aproximateVelocity = (_positionSum vectorDiff _lastPositionSum) vectorMultiply (1 / _timestep); + }; } else { - _positionSum = _positionSum vectorMultiply (1 / count _lastPositions); + _positionSum = _positionSum vectorMultiply (1 / count _lastPositions); }; _seekerParams set [6, _positionSum]; diff --git a/addons/missileguidance/functions/fnc_shouldFilterRadarHit.sqf b/addons/missileguidance/functions/fnc_shouldFilterRadarHit.sqf index e60de80887a..6451a8fcb3b 100644 --- a/addons/missileguidance/functions/fnc_shouldFilterRadarHit.sqf +++ b/addons/missileguidance/functions/fnc_shouldFilterRadarHit.sqf @@ -28,8 +28,8 @@ TRACE_5("should filter target",_projectile,_target,_minimumSpeed,_minimumTime,_m // helicopter blades will always produce a doppler shift due to their nature. Don't filter if (_target isKindOf "Helicopter" && isEngineOn _target) exitWith { - TRACE_2("dont filter helicopters",_target isKindOf "Helicopter",isEngineOn _target); - false + TRACE_2("dont filter helicopters",_target isKindOf "Helicopter",isEngineOn _target); + false }; private _lineOfSight = (getPosASLVisual _projectile) vectorFromTo (getPosASLVisual _target); @@ -39,8 +39,8 @@ private _closingSpeed = vectorMagnitude _closingVelocity; // if relative target velocity is greather than threshold, we can easily see it. Don't filter if (_closingSpeed > _minimumSpeed) exitWith { - TRACE_2("dont filter fast objects approaching",_closingSpeed,_minimumSpeed); - false + TRACE_2("dont filter fast objects approaching",_closingSpeed,_minimumSpeed); + false }; private _projectilePos = getPosASLVisual _projectile; @@ -52,71 +52,71 @@ private _maskedByGround = false; // Check for all surfaces until we reach our max range for "_i" from 0 to _maximumTerrainCheck step MAX_LINE_DISTANCE do { - // determine if target is masked by ground - private _endPos = _checkPos vectorAdd _stepDistance; - private _groundHit = lineIntersectsSurfaces [_checkPos, _endPos, _projectile, _target]; + // determine if target is masked by ground + private _endPos = _checkPos vectorAdd _stepDistance; + private _groundHit = lineIntersectsSurfaces [_checkPos, _endPos, _projectile, _target]; - _maskedByGround = _groundHit isNotEqualTo []; + _maskedByGround = _groundHit isNotEqualTo []; - _checkPos = _endPos; + _checkPos = _endPos; - if (_maskedByGround || (_checkPos select 2) <= 0) then { - // for ease assume that we can't check underwater - if ((_checkPos select 2) < 0) then { - _checkPos set [2, 0]; - }; - break - }; + if (_maskedByGround || (_checkPos select 2) <= 0) then { + // for ease assume that we can't check underwater + if ((_checkPos select 2) < 0) then { + _checkPos set [2, 0]; + }; + break + }; }; // looking at sky, target is clear as day. Check for chaff before filtering if !(_maskedByGround) exitWith { - TRACE_1("dont filter stuff in the sky",_maskedByGround); - - // If there is chaff nearby, check if they will confuse missile - private _nearby = _target nearObjects 50; - _nearby = _nearby select { - // 8 = radar blocking - private _blocking = configOf _x >> "weaponLockSystem"; - private _isChaff = false; - if (isNumber _blocking) then { - _isChaff = (8 == getNumber _blocking); - }; - - if (isText _blocking) then { - _isChaff = ("8" in getText _blocking); - }; - - private _withinView = [_projectile, getPosASLVisual _x, _seekerAngle] call FUNC(checkSeekerAngle); - private _canSee = [_projectile, _x, false] call FUNC(checkLos); - - (_withinView && _canSee && _isChaff) - }; - - private _foundDecoy = false; - { - private _considering = false; - if !(_foundDecoy) then { - _considering = true; - if (0.95 <= random 1) then { - _foundDecoy = true; - }; - }; - - if (GVAR(debug_drawGuidanceInfo)) then { - private _chaffPos = ASLToAGL getPosASLVisual _x; - private _colour = [1, 0, 0, 1]; - if (_considering) then { - _colour = [0, 1, 0, 1]; - }; - if (_foundDecoy) then { - _colour = [0, 0, 1, 1]; - }; - drawIcon3D ["\a3\ui_f\data\IGUI\Cfg\Cursors\selectover_ca.paa", _colour, _chaffPos, 0.75, 0.75, 0, "C", 1, 0.025, "TahomaB"]; - }; - } forEach _nearby; - - _foundDecoy + TRACE_1("dont filter stuff in the sky",_maskedByGround); + + // If there is chaff nearby, check if they will confuse missile + private _nearby = _target nearObjects 50; + _nearby = _nearby select { + // 8 = radar blocking + private _blocking = configOf _x >> "weaponLockSystem"; + private _isChaff = false; + if (isNumber _blocking) then { + _isChaff = (8 == getNumber _blocking); + }; + + if (isText _blocking) then { + _isChaff = ("8" in getText _blocking); + }; + + private _withinView = [_projectile, getPosASLVisual _x, _seekerAngle] call FUNC(checkSeekerAngle); + private _canSee = [_projectile, _x, false] call FUNC(checkLos); + + (_withinView && _canSee && _isChaff) + }; + + private _foundDecoy = false; + { + private _considering = false; + if !(_foundDecoy) then { + _considering = true; + if (0.95 <= random 1) then { + _foundDecoy = true; + }; + }; + + if (GVAR(debug_drawGuidanceInfo)) then { + private _chaffPos = ASLToAGL getPosASLVisual _x; + private _colour = [1, 0, 0, 1]; + if (_considering) then { + _colour = [0, 1, 0, 1]; + }; + if (_foundDecoy) then { + _colour = [0, 0, 1, 1]; + }; + drawIcon3D ["\a3\ui_f\data\IGUI\Cfg\Cursors\selectover_ca.paa", _colour, _chaffPos, 0.75, 0.75, 0, "C", 1, 0.025, "TahomaB"]; + }; + } forEach _nearby; + + _foundDecoy }; private _distanceToTerrain = _checkPos vectorDistance _projectilePos; @@ -124,8 +124,8 @@ private _checkTime = _distanceToTerrain / 3e8; // Time to ground is large enough to know if we are looking at a target, don't filter if (_checkTime > _minimumTime) exitWith { - TRACE_2("dont filter targets that we can see in ground clutter",_checkTime,_minimumTime); - false + TRACE_2("dont filter targets that we can see in ground clutter",_checkTime,_minimumTime); + false }; // filter out the target since we can't reasonably see it From 79bd76a9a1493d52956dd350b6ce1c07115206a9 Mon Sep 17 00:00:00 2001 From: Brandon Danyluk Date: Sat, 1 May 2021 23:20:50 -0600 Subject: [PATCH 091/254] localise aim120 --- addons/aim120/CfgMagazines.hpp | 28 ++++++++++++------------- addons/aim120/CfgWeapons.hpp | 12 +++++------ addons/aim120/stringtable.xml | 38 ++++++++++++++++++++++++++++++++++ 3 files changed, 58 insertions(+), 20 deletions(-) create mode 100644 addons/aim120/stringtable.xml diff --git a/addons/aim120/CfgMagazines.hpp b/addons/aim120/CfgMagazines.hpp index 72c7f11e35d..61f38685e07 100644 --- a/addons/aim120/CfgMagazines.hpp +++ b/addons/aim120/CfgMagazines.hpp @@ -14,20 +14,20 @@ class CfgMagazines { class GVAR(a): 4Rnd_GAA_missiles { author = "Brandon (TCVM)"; - displayName = "1x AIM-120A [ACE]"; + displayName = CSTRING(a); ammo = QGVAR(a); }; class GVAR(PylonRack_1Rnd_a): PylonRack_1Rnd_GAA_missiles { author = "Brandon (TCVM)"; - displayName = "1x AIM-120A [ACE]"; + displayName = CSTRING(a_1x); ammo = QGVAR(a); pylonWeapon = GVAR(aim120Launcher); }; class GVAR(PylonMissile_1Rnd_a): PylonMissile_1Rnd_GAA_missiles { author = "Brandon (TCVM)"; - displayName = "1x AIM-120A [ACE]"; + displayName = CSTRING(a_1x); ammo = QGVAR(a); pylonWeapon = GVAR(aim120Launcher); }; @@ -35,49 +35,49 @@ class CfgMagazines { // AIM-120 class GVAR(c): magazine_Missile_AMRAAM_C_x1 { author = "Brandon (TCVM)"; - displayName = "1x AIM-120C [ACE]"; + displayName = CSTRING(c_1x); ammo = QGVAR(c); }; class GVAR(PylonMissile_Missile_c_x1): PylonMissile_Missile_AMRAAM_C_x1 { author = "Brandon (TCVM)"; - displayName = "1x AIM-120C [ACE]"; + displayName = CSTRING(c_1x); ammo = QGVAR(c); pylonWeapon = GVAR(aim120Launcher); }; class GVAR(PylonRack_Missile_c_x1): PylonRack_Missile_AMRAAM_C_x1 { author = "Brandon (TCVM)"; - displayName = "1x AIM-120C [ACE]"; + displayName = CSTRING(c_1x); ammo = QGVAR(c); pylonWeapon = GVAR(aim120Launcher); }; class GVAR(PylonRack_Missile_c_x2): PylonRack_Missile_AMRAAM_C_x2 { author = "Brandon (TCVM)"; - displayName = "2x AIM-120C [ACE]"; + displayName = CSTRING(c_2x); ammo = QGVAR(c); pylonWeapon = GVAR(aim120Launcher); }; class GVAR(PylonMissile_Missile_d_x1): PylonMissile_Missile_AMRAAM_D_x1 { author = "Brandon (TCVM)"; - displayName = "1x AIM-120D [ACE]"; + displayName = CSTRING(d_1x); ammo = QGVAR(d); pylonWeapon = GVAR(aim120Launcher); }; class GVAR(PylonMissile_Missile_d_INT_x1): PylonMissile_Missile_AMRAAM_D_INT_x1 { author = "Brandon (TCVM)"; - displayName = "1x AIM-120D [ACE]"; + displayName = CSTRING(d_1x); ammo = QGVAR(d); pylonWeapon = GVAR(aim120Launcher); }; class GVAR(PylonRack_Missile_d_x1): PylonRack_Missile_AMRAAM_D_x1 { author = "Brandon (TCVM)"; - displayName = "1x AIM-120D [ACE]"; + displayName = CSTRING(d_1x); ammo = QGVAR(d); pylonWeapon = GVAR(aim120Launcher); }; class GVAR(PylonRack_Missile_d_x2): PylonRack_Missile_AMRAAM_D_x2 { author = "Brandon (TCVM)"; - displayName = "2x AIM-120D [ACE]"; + displayName = CSTRING(d_2x); ammo = QGVAR(d); pylonWeapon = GVAR(aim120Launcher); }; @@ -89,18 +89,18 @@ class CfgMagazines { class GVAR(r77): magazine_Missile_AA_R77_x1 { author = "Brandon (TCVM)"; - displayName = "1x R77 [ACE]"; + displayName = CSTRING(r77_1x); ammo = QGVAR(r77); }; class GVAR(PylonMissile_Missile_R77_x1): PylonMissile_Missile_AA_R77_x1 { author = "Brandon (TCVM)"; - displayName = "1x R77 [ACE]"; + displayName = CSTRING(r77_1x); ammo = QGVAR(r77); pylonWeapon = QGVAR(r77Launcher); }; class GVAR(PylonMissile_Missile_R77__INT_x1): PylonMissile_Missile_AA_R77_INT_x1 { author = "Brandon (TCVM)"; - displayName = "1x R77 [ACE]"; + displayName = CSTRING(r77_1x); ammo = QGVAR(r77); pylonWeapon = QGVAR(r77Launcher); }; diff --git a/addons/aim120/CfgWeapons.hpp b/addons/aim120/CfgWeapons.hpp index e037acf49c9..e5850d8e342 100644 --- a/addons/aim120/CfgWeapons.hpp +++ b/addons/aim120/CfgWeapons.hpp @@ -4,7 +4,7 @@ class CfgWeapons { class GVAR(aim120Launcher): weapon_AMRAAMLauncher { author = "Brandon (TCVM)"; - displayName = "AIM-120 [ACE]"; + displayName = CSTRING(aim120); weaponLockDelay = 0.5; magazines[] = { @@ -25,7 +25,7 @@ class CfgWeapons { modes[] = {"Direct", "Loft"}; class Direct: MissileLauncher { - displayName = "Direct"; + displayName = CSTRING(direct); textureType = "direct"; reloadTime = 0.1; magazineReloadTime = 0.1; @@ -51,7 +51,7 @@ class CfgWeapons { EGVAR(missileGuidance,attackProfile) = "DIR"; }; class Loft: Direct { - displayName = "Loft"; + displayName = CSTRING(loft); textureType = "topdown"; minRange = 4000; @@ -68,14 +68,14 @@ class CfgWeapons { class weapon_R77Launcher; class GVAR(r77Launcher): weapon_R77Launcher { author = "Brandon (TCVM)"; - displayName = "R-77 [ACE]"; + displayName = CSTRING(r77); weaponLockDelay = 0.5; magazines[] = {QGVAR(r77), QGVAR(PylonMissile_Missile_R77_x1), QGVAR(PylonMissile_Missile_R77__INT_x1)}; modes[] = {"Direct", "Loft"}; class Direct: MissileLauncher { - displayName = "Direct"; + displayName = CSTRING(direct); textureType = "direct"; reloadTime = 0.1; magazineReloadTime = 0.1; @@ -101,7 +101,7 @@ class CfgWeapons { EGVAR(missileGuidance,attackProfile) = "DIR"; }; class Loft: Direct { - displayName = "Loft"; + displayName = CSTRING(loft); textureType = "topdown"; minRange = 4000; diff --git a/addons/aim120/stringtable.xml b/addons/aim120/stringtable.xml new file mode 100644 index 00000000000..399d5a802f7 --- /dev/null +++ b/addons/aim120/stringtable.xml @@ -0,0 +1,38 @@ + + + + + AIM-120A [ACE] + + + 1x AIM-120A [ACE] + + + AIM-120C [ACE] + + + 1x AIM-120C [ACE] + + + 2x AIM-120C [ACE] + + + AIM-120D [ACE] + + + 1x AIM-120D [ACE] + + + 2x AIM-120D [ACE] + + + AIM-120 [ACE] + + + R-77 [ACE] + + + 1x R-77 [ACE] + + + From f12e93414a4181ea36b78c701f5e672d7c6b1b4a Mon Sep 17 00:00:00 2001 From: Brandon Danyluk Date: Sat, 1 May 2021 23:32:37 -0600 Subject: [PATCH 092/254] localise aim9 --- addons/aim120/stringtable.xml | 9 ++++--- addons/aim9/CfgMagazines.hpp | 38 +++++++++++++------------- addons/aim9/CfgWeapons.hpp | 10 +++---- addons/aim9/stringtable.xml | 50 +++++++++++++++++++++++++++++++++++ 4 files changed, 80 insertions(+), 27 deletions(-) create mode 100644 addons/aim9/stringtable.xml diff --git a/addons/aim120/stringtable.xml b/addons/aim120/stringtable.xml index 399d5a802f7..3e6b3498b57 100644 --- a/addons/aim120/stringtable.xml +++ b/addons/aim120/stringtable.xml @@ -25,14 +25,17 @@ 2x AIM-120D [ACE] - - AIM-120 [ACE] - R-77 [ACE] 1x R-77 [ACE] + + AIM-120 [ACE] + + + Direct + diff --git a/addons/aim9/CfgMagazines.hpp b/addons/aim9/CfgMagazines.hpp index 8efb36213bd..92f01d1e9e7 100644 --- a/addons/aim9/CfgMagazines.hpp +++ b/addons/aim9/CfgMagazines.hpp @@ -6,20 +6,20 @@ class CfgMagazines { // AIM-9 class GVAR(2Rnd_Missile_9m): 2Rnd_Missile_AA_04_F { author = "Brandon (TCVM)"; - displayName = "2x AIM-9M [ACE]"; + displayName = CSTRING(m_2x); ammo = QGVAR(m); }; class GVAR(PylonRack_1Rnd_Missile_9m): PylonRack_1Rnd_Missile_AA_04_F { author = "Brandon (TCVM)"; - displayName = "1x AIM-9M [ACE]"; + displayName = CSTRING(m_1x); ammo = QGVAR(m); pylonWeapon = QGVAR(m); }; class GVAR(PylonMissile_1Rnd_Missile_9m): PylonMissile_1Rnd_Missile_AA_04_F { author = "Brandon (TCVM)"; - displayName = "1x AIM-9M [ACE]"; + displayName = CSTRING(m_1x); ammo = QGVAR(m); pylonWeapon = QGVAR(m); }; @@ -31,27 +31,27 @@ class CfgMagazines { class GVAR(magazine_Missile_9x): magazine_Missile_BIM9X_x1 { author = "Brandon (TCVM)"; - displayName = "1x AIM-9X [ACE]"; + displayName = CSTRING(x_1x); ammo = QGVAR(x); }; class GVAR(PylonMissile_Missile_9x): PylonMissile_Missile_BIM9X_x1 { author = "Brandon (TCVM)"; - displayName = "1x AIM-9X [ACE]"; + displayName = CSTRING(x_1x); ammo = QGVAR(x); pylonWeapon = QGVAR(x); }; class GVAR(PylonRack_Missile_9x): PylonRack_Missile_BIM9X_x1 { author = "Brandon (TCVM)"; - displayName = "1x AIM-9X [ACE]"; + displayName = CSTRING(x_1x); ammo = QGVAR(x); pylonWeapon = QGVAR(x); }; class GVAR(PylonRack_Missile_9x_2): PylonRack_Missile_BIM9X_x2 { author = "Brandon (TCVM)"; - displayName = "2x AIM-9X [ACE]"; + displayName = CSTRING(x_2x); ammo = QGVAR(x); pylonWeapon = QGVAR(x); }; @@ -67,44 +67,44 @@ class CfgMagazines { class GVAR(aim132_2Rnd): 2Rnd_AAA_missiles { author = "Brandon (TCVM)"; - displayName = "2x AIM-132 [ACE]"; + displayName = CSTRING(aim132_2x); ammo = QGVAR(aim132); }; class GVAR(aim132_2Rnd_MI02): 2Rnd_AAA_missiles_MI02 { author = "Brandon (TCVM)"; - displayName = "2x AIM-132 [ACE]"; + displayName = CSTRING(aim132_2x); ammo = QGVAR(aim132); }; class GVAR(aim132_2Rnd_MI06): 2Rnd_AAA_missiles_MI06 { author = "Brandon (TCVM)"; - displayName = "2x AIM-132 [ACE]"; + displayName = CSTRING(aim132_2x); ammo = QGVAR(aim132); }; class GVAR(aim132_4Rnd): 4Rnd_AAA_missiles { author = "Brandon (TCVM)"; - displayName = "4x AIM-132 [ACE]"; + displayName = CSTRING(aim132_4x); ammo = QGVAR(aim132); }; class GVAR(aim132_4Rnd_MI02): 4Rnd_AAA_missiles_MI02 { author = "Brandon (TCVM)"; - displayName = "4x AIM-132 [ACE]"; + displayName = CSTRING(aim132_4x); ammo = QGVAR(aim132); }; class GVAR(PylonRack_1Rnd_aim132): PylonRack_1Rnd_AAA_missiles { author = "Brandon (TCVM)"; - displayName = "1x AIM-132 [ACE]"; + displayName = CSTRING(aim132_1x); ammo = QGVAR(aim132); pylonWeapon = QGVAR(aim132); }; class GVAR(PylonMissile_1Rnd_aim132): PylonMissile_1Rnd_AAA_missiles { author = "Brandon (TCVM)"; - displayName = "1x AIM-132 [ACE]"; + displayName = CSTRING(aim132_1x); ammo = QGVAR(aim132); pylonWeapon = QGVAR(aim132); }; @@ -118,34 +118,34 @@ class CfgMagazines { class GVAR(r73): magazine_Missile_AA_R73_x1 { author = "Brandon (TCVM)"; - displayName = "1x R-73 [ACE]"; + displayName = CSTRING(r73_1x); ammo = QGVAR(r73); }; class GVAR(PylonMissile_Missile_R73_x1): PylonMissile_Missile_AA_R73_x1 { author = "Brandon (TCVM)"; - displayName = "1x R-73 [ACE]"; + displayName = CSTRING(r73_1x); ammo = QGVAR(r73); pylonWeapon = QGVAR(r73); }; class GVAR(2Rnd_Missile_R74): 2Rnd_Missile_AA_03_F { author = "Brandon (TCVM)"; - displayName = "2x R-74 [ACE]"; + displayName = CSTRING(r74_2x); ammo = QGVAR(r74); }; // R-74 -- improved R-73, same missile in the way that an AIM-9X is the same as an AIM-9M class GVAR(PylonRack_1Rnd_Missile_R74): PylonRack_1Rnd_Missile_AA_03_F { author = "Brandon (TCVM)"; - displayName = "1x R-74 [ACE]"; + displayName = CSTRING(r74_1x); ammo = QGVAR(r74); pylonWeapon = QGVAR(r74); }; class GVAR(PylonMissile_1Rnd_Missile_R74): PylonMissile_1Rnd_Missile_AA_03_F { author = "Brandon (TCVM)"; - displayName = "1x R-74 [ACE]"; + displayName = CSTRING(r74_1x); ammo = QGVAR(r74); pylonWeapon = QGVAR(r74); }; diff --git a/addons/aim9/CfgWeapons.hpp b/addons/aim9/CfgWeapons.hpp index e3440492479..b876c0e1141 100644 --- a/addons/aim9/CfgWeapons.hpp +++ b/addons/aim9/CfgWeapons.hpp @@ -5,7 +5,7 @@ class CfgWeapons { lockAcquire = 1; // auto lock author = "Brandon (TCVM)"; - displayName = "AIM-9M [ACE]"; + displayName = CSTRING(m); weaponLockDelay = 0.5; magazines[] = {QGVAR(2Rnd_Missile_9m), QGVAR(PylonRack_1Rnd_Missile_9m), QGVAR(PylonMissile_1Rnd_Missile_9m)}; }; @@ -15,7 +15,7 @@ class CfgWeapons { lockAcquire = 1; // auto lock author = "Brandon (TCVM)"; - displayName = "AIM-9X [ACE]"; + displayName = CSTRING(x); weaponLockDelay = 0.5; magazines[] = { QGVAR(magazine_Missile_9x), QGVAR(PylonMissile_Missile_9x), QGVAR(PylonRack_Missile_9x), QGVAR(PylonRack_Missile_9x_2) }; }; @@ -26,7 +26,7 @@ class CfgWeapons { lockAcquire = 1; // auto lock author = "Brandon (TCVM)"; - displayName = "AIM-132 [ACE]"; + displayName = CSTRING(aim132); weaponLockDelay = 0.5; magazines[] = { QGVAR(aim132_2Rnd), @@ -45,7 +45,7 @@ class CfgWeapons { lockAcquire = 1; // auto lock author = "Brandon (TCVM)"; - displayName = "R-73 [ACE]"; + displayName = CSTRING(r73); weaponLockDelay = 0.5; magazines[] = { @@ -59,7 +59,7 @@ class CfgWeapons { lockAcquire = 1; // auto lock author = "Brandon (TCVM)"; - displayName = "R-74 [ACE]"; + displayName = CSTRING(r74); weaponLockDelay = 0.5; magazines[] = { diff --git a/addons/aim9/stringtable.xml b/addons/aim9/stringtable.xml new file mode 100644 index 00000000000..26b67dd2bca --- /dev/null +++ b/addons/aim9/stringtable.xml @@ -0,0 +1,50 @@ + + + + + AIM-9M [ACE] + + + AIM-9X [ACE] + + + AIM-132 [ACE] + + + R-73 [ACE] + + + R-74 [ACE] + + + 1x AIM-9M [ACE] + + + 2x AIM-9M [ACE] + + + 1x AIM-9X [ACE] + + + 2x AIM-9X [ACE] + + + 1x AIM-132 [ACE] + + + 2x AIM-132 [ACE] + + + 4x AIM-132 [ACE] + + + 1x R-73 [ACE] + + + 1x R-74 [ACE] + + + 2x R-74 [ACE] + + + From 988768ae3d7765810cd66cf86b1f418099f47a81 Mon Sep 17 00:00:00 2001 From: Brandon Danyluk Date: Sat, 1 May 2021 23:36:45 -0600 Subject: [PATCH 093/254] localise gbu --- addons/aim120/stringtable.xml | 2 +- addons/aim9/stringtable.xml | 2 +- addons/gbu/CfgMagazines.hpp | 22 +++++++++++----------- addons/gbu/CfgWeapons.hpp | 4 ++-- addons/gbu/stringtable.xml | 26 ++++++++++++++++++++++++++ 5 files changed, 41 insertions(+), 15 deletions(-) create mode 100644 addons/gbu/stringtable.xml diff --git a/addons/aim120/stringtable.xml b/addons/aim120/stringtable.xml index 3e6b3498b57..de0dd60be7f 100644 --- a/addons/aim120/stringtable.xml +++ b/addons/aim120/stringtable.xml @@ -1,6 +1,6 @@ - + AIM-120A [ACE] diff --git a/addons/aim9/stringtable.xml b/addons/aim9/stringtable.xml index 26b67dd2bca..11fc06f79df 100644 --- a/addons/aim9/stringtable.xml +++ b/addons/aim9/stringtable.xml @@ -1,6 +1,6 @@ - + AIM-9M [ACE] diff --git a/addons/gbu/CfgMagazines.hpp b/addons/gbu/CfgMagazines.hpp index 4b3b9c65a6f..8a725d75acb 100644 --- a/addons/gbu/CfgMagazines.hpp +++ b/addons/gbu/CfgMagazines.hpp @@ -2,28 +2,28 @@ class CfgMagazines { class 2Rnd_GBU12_LGB; // GBU class GVAR(2Rnd_12): 2Rnd_GBU12_LGB { - displayName = "2x GBU-12 [ACE]"; + displayName = CSTRING(12_2x); author = "Brandon (TCVM)"; ammo = QGVAR(12); }; class 4Rnd_Bomb_04_F; class GVAR(4Rnd_GBU12): 4Rnd_Bomb_04_F { - displayName = "4x GBU-12 [ACE]"; + displayName = CSTRING(12_4x); author = "Brandon (TCVM)"; ammo = QGVAR(12); }; class magazine_Bomb_GBU12_x1; class GVAR(gbu12): magazine_Bomb_GBU12_x1 { - displayName = "1x GBU-12 [ACE]"; + displayName = CSTRING(12_1x); author = "Brandon (TCVM)"; ammo = QGVAR(12); }; class PylonMissile_1Rnd_Bomb_04_F; class GVAR(1_PylonMissile_1Rnd_12): PylonMissile_1Rnd_Bomb_04_F { - displayName = "1x GBU-12 [ACE]"; + displayName = CSTRING(12_1x); author = "Brandon (TCVM)"; ammo = QGVAR(12); pylonWeapon = QGVAR(12); @@ -31,7 +31,7 @@ class CfgMagazines { class 2Rnd_GBU12_LGB_MI10; class GVAR(2Rnd_GBU12_LGB_MI10): 2Rnd_GBU12_LGB_MI10 { - displayName = "2x GBU-12 [ACE]"; + displayName = CSTRING(12_2x); author = "Brandon (TCVM)"; ammo = QGVAR(12); pylonWeapon = QGVAR(12); @@ -39,7 +39,7 @@ class CfgMagazines { class PylonMissile_Bomb_GBU12_x1; class GVAR(PylonMissile_Bomb_GBU12_x1): PylonMissile_Bomb_GBU12_x1 { - displayName = "1x GBU-12 [ACE]"; + displayName = CSTRING(12_1x); author = "Brandon (TCVM)"; ammo = QGVAR(12); pylonWeapon = QGVAR(12); @@ -47,7 +47,7 @@ class CfgMagazines { class PylonRack_Bomb_GBU12_x2; class GVAR(PylonRack_Bomb_GBU12_x2): PylonRack_Bomb_GBU12_x2 { - displayName = "2x GBU-12 [ACE]"; + displayName = CSTRING(12_2x); author = "Brandon (TCVM)"; ammo = QGVAR(12); pylonWeapon = QGVAR(12); @@ -56,14 +56,14 @@ class CfgMagazines { // KAB class magazine_Bomb_KAB250_x1; class GVAR(1Rnd_FAB250): magazine_Bomb_KAB250_x1 { - displayName = "1x KAB-250M-54 [ACE]"; + displayName = CSTRING(fab250_1x); author = "Brandon (TCVM)"; ammo = QGVAR(FAB250); }; class PylonMissile_Bomb_KAB250_x1; class GVAR(1_PylonMissile_1Rnd_FAB250): PylonMissile_Bomb_KAB250_x1 { - displayName = "1x KAB-250M-54 [ACE]"; + displayName = CSTRING(fab250_1x); author = "Brandon (TCVM)"; ammo = QGVAR(FAB250); pylonWeapon = QGVAR(FAB250); @@ -71,14 +71,14 @@ class CfgMagazines { class 2Rnd_Bomb_03_F; class GVAR(2Rnd_FAB250): 2Rnd_Bomb_03_F { - displayName = "2x KAB-250M-54 [ACE]"; + displayName = CSTRING(fab250_2x); author = "Brandon (TCVM)"; ammo = QGVAR(FAB250); }; class PylonMissile_1Rnd_Bomb_03_F; class GVAR(PylonMissile_1Rnd_FAB250): PylonMissile_1Rnd_Bomb_03_F { - displayName = "1x KAB-250M-54 [ACE]"; + displayName = CSTRING(fab250_1x); author = "Brandon (TCVM)"; ammo = QGVAR(FAB250); pylonWeapon = QGVAR(FAB250); diff --git a/addons/gbu/CfgWeapons.hpp b/addons/gbu/CfgWeapons.hpp index d7092e54e6e..0728f93f7c2 100644 --- a/addons/gbu/CfgWeapons.hpp +++ b/addons/gbu/CfgWeapons.hpp @@ -1,7 +1,7 @@ class CfgWeapons { class weapon_LGBLauncherBase; class GVAR(12): weapon_LGBLauncherBase { - displayName = "GBU-12 [ACE]"; + displayName = CSTRING(12); magazines[] = { QGVAR(2Rnd_12), QGVAR(2Rnd_GBU12_LGB_MI10), @@ -17,7 +17,7 @@ class CfgWeapons { }; class GVAR(FAB250): weapon_LGBLauncherBase { - displayName = "FAB-250M-54 [ACE]"; + displayName = CSTRING(fab250); magazines[] = { QGVAR(1Rnd_FAB250), QGVAR(2Rnd_FAB250), diff --git a/addons/gbu/stringtable.xml b/addons/gbu/stringtable.xml new file mode 100644 index 00000000000..454438c4cb7 --- /dev/null +++ b/addons/gbu/stringtable.xml @@ -0,0 +1,26 @@ + + + + + GBU-12 [ACE] + + + FAB-250M-54 [ACE] + + + 1x GBU-12 [ACE] + + + 2x GBU-12 [ACE] + + + 4x GBU-12 [ACE] + + + 1x FAB-250M-54 [ACE] + + + 2x FAB-250M-54 [ACE] + + + From c0e623af9bfce76ad55e046195d3f45b0485fe78 Mon Sep 17 00:00:00 2001 From: Brandon Danyluk Date: Sat, 1 May 2021 23:58:15 -0600 Subject: [PATCH 094/254] fix IR tracker losing lock immediately due to being blocked by launcher --- .../missileguidance/functions/fnc_seekerType_IR.sqf | 13 ++++++++----- 1 file changed, 8 insertions(+), 5 deletions(-) diff --git a/addons/missileguidance/functions/fnc_seekerType_IR.sqf b/addons/missileguidance/functions/fnc_seekerType_IR.sqf index dee2d33daba..98f1f0ffb30 100644 --- a/addons/missileguidance/functions/fnc_seekerType_IR.sqf +++ b/addons/missileguidance/functions/fnc_seekerType_IR.sqf @@ -18,13 +18,13 @@ #ifdef DEBUG_MODE_FULL #define TRACK_ON_PAUSE true #else -#define TRACK_ON_PAUSE true +#define TRACK_ON_PAUSE false #endif _args params ["_firedEH", "_launchParams", "_flightParams", "_seekerParams", "_stateParams", "_targetData"]; _firedEH params ["_shooter","","","","_ammo","","_projectile"]; _launchParams params ["_shooter","_targetLaunchParams","_seekerType","_attackProfile","_lockMode","_laserInfo","_navigationType"]; -_targetLaunchParams params ["_target", "_targetPos", "_launchPos", "_launchDir", "_launchTime"]; +_targetLaunchParams params ["_target", "", "_launchPos", "_launchDir", "_launchTime"]; _flightParams params ["_pitchRate", "_yawRate", "_isBangBangGuidance"]; _stateParams params ["_lastRunTime", "_seekerStateParams", "_attackProfileStateParams", "_lastKnownPosState","_navigationParams", "_guidanceParameters"]; _seekerParams params ["_seekerAngle", "_seekerAccuracy", "_seekerMaxRange", "_seekerMinRange"]; @@ -32,13 +32,16 @@ _targetData params ["_targetDirection", "_attackProfileDirection", "_targetRange _seekerStateParams params ["_flareDistanceFilter", "_flareAngleFilter", "_trackingTarget"]; +private _distanceFromLaunch = _launchPos distanceSqr getPosASLVisual _projectile; +if (_distanceFromLaunch <= _seekerMinRange * _seekerMinRange) exitWith { + [0, 0, 0] +}; + private _withinView = [_projectile, getPosASLVisual _trackingTarget, _seekerAngle] call FUNC(checkSeekerAngle); private _canSee = [_projectile, _trackingTarget, false] call FUNC(checkLos); - -if (!_withinView || !_canSee) then { +if (_trackingTarget isNotEqualTo objNull && ({ !_withinView || !_canSee })) then { _trackingTarget = objNull; }; - if (isNull _trackingTarget) then { // find any target within seeker range private _potentialTargets = _projectile nearEntities ["Air", _seekerMaxRange]; From c67bc4d98eefeab3eb0ae2741db035fc68954273 Mon Sep 17 00:00:00 2001 From: Brandon Danyluk Date: Sun, 2 May 2021 00:00:56 -0600 Subject: [PATCH 095/254] localise manpad --- addons/manpad/CfgMagazines.hpp | 6 +++--- addons/manpad/CfgWeapons.hpp | 4 ++-- addons/manpad/stringtable.xml | 8 ++++++++ 3 files changed, 13 insertions(+), 5 deletions(-) create mode 100644 addons/manpad/stringtable.xml diff --git a/addons/manpad/CfgMagazines.hpp b/addons/manpad/CfgMagazines.hpp index b359d2fcd91..35164b86ed8 100644 --- a/addons/manpad/CfgMagazines.hpp +++ b/addons/manpad/CfgMagazines.hpp @@ -2,21 +2,21 @@ class CfgMagazines { class magazine_Missile_rim116_x21; class GVAR(rim116): magazine_Missile_rim116_x21 { author = "Brandon (TCVM)"; - displayName = "x21 RIM-116 [ACE]"; + displayName = CSTRING(rim116_21x); ammo = QGVAR(rim116); }; class 4Rnd_70mm_SAAMI_missiles; class GVAR(stinger): 4Rnd_70mm_SAAMI_missiles { author = "Brandon (TCVM)"; - displayName = "x4 FIM-92 Stinger [ACE]"; + displayName = CSTRING(stinger_4x); ammo = QGVAR(stinger); }; class Titan_AA; class GVAR(stinger_man): Titan_AA { author = "Brandon (TCVM)"; - displayName = "FIM-92 Stinger [ACE]"; + displayName = CSTRING(stinger); ammo = QGVAR(stinger); }; }; diff --git a/addons/manpad/CfgWeapons.hpp b/addons/manpad/CfgWeapons.hpp index e7d35917868..b4c50d55960 100644 --- a/addons/manpad/CfgWeapons.hpp +++ b/addons/manpad/CfgWeapons.hpp @@ -2,7 +2,7 @@ class CfgWeapons { class weapon_rim116Launcher; class GVAR(rim116): weapon_rim116Launcher { author = "Brandon (TCVM)"; - displayName = "RIM-116"; + displayName = CSTRING(rim116); magazines[] = { QGVAR(rim116) }; weaponLockDelay = 0.5; }; @@ -10,7 +10,7 @@ class CfgWeapons { class missiles_SAAMI; class GVAR(FIM92): missiles_SAAMI { author = "Brandon (TCVM)"; - displayName = "FIM-92 Stinger"; + displayName = CSTRING(stinger); magazines[] = { QGVAR(stinger) }; weaponLockDelay = 0.5; }; diff --git a/addons/manpad/stringtable.xml b/addons/manpad/stringtable.xml new file mode 100644 index 00000000000..48c73424e4d --- /dev/null +++ b/addons/manpad/stringtable.xml @@ -0,0 +1,8 @@ + + + + + GBU-12 [ACE] + + + From 5edabba174ac87a73d75194c4b214dab2fce7479 Mon Sep 17 00:00:00 2001 From: Brandon Danyluk Date: Sun, 2 May 2021 00:04:11 -0600 Subject: [PATCH 096/254] actually localise manpad --- addons/manpad/stringtable.xml | 13 +++++++++++-- 1 file changed, 11 insertions(+), 2 deletions(-) diff --git a/addons/manpad/stringtable.xml b/addons/manpad/stringtable.xml index 48c73424e4d..127bbe39d0d 100644 --- a/addons/manpad/stringtable.xml +++ b/addons/manpad/stringtable.xml @@ -1,8 +1,17 @@ - - GBU-12 [ACE] + + FIM-92 Stinger [ACE] + + + RIM-116 [ACE] + + + 21x RIM-116 [ACE] + + + 4x FIM-92 Stinger [ACE] From 0d38505ea3500cb4cba09627f6289936d240216d Mon Sep 17 00:00:00 2001 From: Brandon Danyluk Date: Sun, 2 May 2021 00:17:13 -0600 Subject: [PATCH 097/254] localise maverick --- addons/maverick/CfgMagazines.hpp | 20 ++++++++++---------- addons/maverick/CfgWeapons.hpp | 4 ++-- addons/maverick/stringtable.xml | 21 +++++++++++++++++++++ 3 files changed, 33 insertions(+), 12 deletions(-) diff --git a/addons/maverick/CfgMagazines.hpp b/addons/maverick/CfgMagazines.hpp index 975be11d7a2..28b18084f1d 100644 --- a/addons/maverick/CfgMagazines.hpp +++ b/addons/maverick/CfgMagazines.hpp @@ -17,62 +17,62 @@ class CfgMagazines { class GVAR(D_magazine): 6Rnd_Missile_AGM_02_F { ammo = QGVAR(D); author = "Brandon (TCVM)"; - displayName = "AGM-65D [ACE]"; + displayName = CSTRING(d_mag_x1); }; class GVAR(D_pylonRack_1Rnd): PylonRack_1Rnd_Missile_AGM_02_F { ammo = QGVAR(D); author = "Brandon (TCVM)"; - displayName = "1x AGM-65D [ACE]"; + displayName = CSTRING(d_mag_x1); pylonWeapon = QGVAR(D_Launcher); }; class GVAR(D_pylonRack_3Rnd): PylonRack_3Rnd_Missile_AGM_02_F { ammo = QGVAR(D); author = "Brandon (TCVM)"; - displayName = "3x AGM-65D [ACE]"; + displayName = CSTRING(d_mag_x3); pylonWeapon = QGVAR(D_Launcher); }; class GVAR(G_magazine_x1) : magazine_Missile_AGM_02_x1 { ammo = QGVAR(G); author = "Brandon (TCVM)"; - displayName = "AGM-65G [ACE]"; + displayName = CSTRING(g_mag_x1); }; class GVAR(G_pylonmissile_x1) : PylonMissile_Missile_AGM_02_x1 { ammo = QGVAR(G); author = "Brandon (TCVM)"; - displayName = "1x AGM-65G [ACE]"; + displayName = CSTRING(g_mag_x1); pylonWeapon = QGVAR(G_Launcher); }; class GVAR(G_pylonmissile_x2) : PylonMissile_Missile_AGM_02_x2 { ammo = QGVAR(G); author = "Brandon (TCVM)"; - displayName = "2x AGM-65G [ACE]"; + displayName = CSTRING(g_mag_x2); pylonWeapon = QGVAR(G_Launcher); }; class GVAR(G_pylonRack_1Rnd) : PylonRack_1Rnd_Missile_AGM_02_F { ammo = QGVAR(G); author = "Brandon (TCVM)"; - displayName = "1x AGM-65G [ACE]"; + displayName = CSTRING(g_mag_x1); pylonWeapon = QGVAR(G_Launcher); }; class GVAR(G_PylonRack_3Rnd) : PylonRack_3Rnd_Missile_AGM_02_F { ammo = QGVAR(G); author = "Brandon (TCVM)"; - displayName = "3x AGM-65G [ACE]"; + displayName = CSTRING(g_mag_x3); pylonWeapon = QGVAR(G_Launcher); }; class GVAR(G_PylonRack_x1) : PylonRack_Missile_AGM_02_x1 { ammo = QGVAR(G); author = "Brandon (TCVM)"; - displayName = "1x AGM-65G [ACE]"; + displayName = CSTRING(g_mag_x1); pylonWeapon = QGVAR(G_Launcher); }; class GVAR(G_PylonRack_x2) : PylonRack_Missile_AGM_02_x2 { ammo = QGVAR(G); author = "Brandon (TCVM)"; - displayName = "2x AGM-65G [ACE]"; + displayName = CSTRING(g_mag_x2); pylonWeapon = QGVAR(G_Launcher); }; diff --git a/addons/maverick/CfgWeapons.hpp b/addons/maverick/CfgWeapons.hpp index a51b0242145..b921963fde3 100644 --- a/addons/maverick/CfgWeapons.hpp +++ b/addons/maverick/CfgWeapons.hpp @@ -8,7 +8,7 @@ class CfgWeapons { class GVAR(D_Launcher): Missile_AGM_02_Plane_CAS_01_F { author = "Brandon (TCVM)"; - displayname = "AGM-65D [ACE]"; + displayname = CSTRING(D); magazines[] = {QGVAR(D_magazine), QGVAR(D_pylonRack_1Rnd), QGVAR(D_pylonRack_3Rnd)}; weaponLockDelay = 0.1; weaponLockSystem = 2; @@ -16,7 +16,7 @@ class CfgWeapons { class GVAR(G_Launcher): weapon_AGM_65Launcher { author = "Brandon (TCVM)"; - displayname = "AGM-65G [ACE]"; + displayname = CSTRING(G); magazines[] = {QGVAR(G_magazine_x1), QGVAR(G_pylonmissile_x1), QGVAR(G_pylonmissile_x2), QGVAR(G_pylonRack_1Rnd), QGVAR(G_PylonRack_3Rnd), QGVAR(G_PylonRack_x1), QGVAR(G_PylonRack_x2)}; weaponLockDelay = 0.1; weaponLockSystem = 2; diff --git a/addons/maverick/stringtable.xml b/addons/maverick/stringtable.xml index a0af914c3c5..60c20dd6f31 100644 --- a/addons/maverick/stringtable.xml +++ b/addons/maverick/stringtable.xml @@ -95,6 +95,27 @@ 1x Kh-25ML [ACE] 1x Kh-25ML [ACE] + + AGM-65 Maverick D + + + AGM-65 Maverick G + + + AGM-65 Maverick D [ACE] + + + 3x AGM-65 Maverick D [ACE] + + + AGM-65 Maverick G [ACE] + + + 2x AGM-65 Maverick G [ACE] + + + 3x AGM-65 Maverick G [ACE] + From f45ee879aca5d0085e65b70514f829152a534cf9 Mon Sep 17 00:00:00 2001 From: Brandon Danyluk Date: Sun, 2 May 2021 00:34:45 -0600 Subject: [PATCH 098/254] localise missile guidance --- addons/missileguidance/CfgMagazines.hpp | 18 +++----- addons/missileguidance/GPSDialog.hpp | 22 +++++----- .../functions/fnc_gps_onLoad.sqf | 2 +- .../functions/fnc_gps_pbModeCycle.sqf | 2 +- addons/missileguidance/stringtable.xml | 42 +++++++++++++++++++ 5 files changed, 61 insertions(+), 25 deletions(-) diff --git a/addons/missileguidance/CfgMagazines.hpp b/addons/missileguidance/CfgMagazines.hpp index aab0a061706..8af0c47752d 100644 --- a/addons/missileguidance/CfgMagazines.hpp +++ b/addons/missileguidance/CfgMagazines.hpp @@ -4,45 +4,39 @@ class CfgMagazines { class 6Rnd_ACE_Hydra70_DAGR : 12Rnd_PG_missiles { ammo = "ACE_Hydra70_DAGR"; count = 12; - displayName = "6 Round DAGR"; - displayNameShort = "6 Round DAGR"; - descriptionShort = "6 Round DAGR"; + displayName = CSTRING(Hydra70_DAGR_6x); weight = 36; }; class 12Rnd_ACE_Hydra70_DAGR : 6Rnd_ACE_Hydra70_DAGR { count = 12; - displayName = "16 Round DAGR"; - displayNameShort = "16 Round DAGR"; - descriptionShort = "16 Round DAGR"; + displayName = CSTRING(Hydra70_DAGR_12x); weight = 72; }; class 24Rnd_ACE_Hydra70_DAGR : 6Rnd_ACE_Hydra70_DAGR { count = 24; - displayName = "24 Round DAGR"; - displayNameShort = "24 Round DAGR"; - descriptionShort = "24 Round DAGR"; + displayName = CSTRING(Hydra70_DAGR_24x); weight = 72; }; class PylonRack_12Rnd_PG_missiles; class PylonRack_6Rnd_ACE_DAGR: PylonRack_12Rnd_PG_missiles { ammo = "ACE_Hydra70_DAGR"; - displayName = "6x DAGR [ACE]"; + displayName = CSTRING(Hydra70_DAGR_6x); count = 6; pylonWeapon = QGVAR(dagr); }; class PylonRack_12Rnd_ACE_DAGR: PylonRack_12Rnd_PG_missiles { ammo = "ACE_Hydra70_DAGR"; - displayName = "12x DAGR [ACE]"; + displayName = CSTRING(Hydra70_DAGR_12x); count = 12; pylonWeapon = QGVAR(dagr); }; class PylonRack_24Rnd_ACE_DAGR: PylonRack_12Rnd_PG_missiles { ammo = "ACE_Hydra70_DAGR"; - displayName = "24x DAGR [ACE]"; + displayName = CSTRING(Hydra70_DAGR_24x); count = 24; pylonWeapon = QGVAR(dagr); }; diff --git a/addons/missileguidance/GPSDialog.hpp b/addons/missileguidance/GPSDialog.hpp index 322954bf0d7..40fea8f6bd3 100644 --- a/addons/missileguidance/GPSDialog.hpp +++ b/addons/missileguidance/GPSDialog.hpp @@ -16,7 +16,7 @@ class GVAR(gpsAttackOptionsUI) { class controlsBackground { class Header: RscText { idc = -1; - text = "temp a [header]"; + text = CSTRING(GPS_ui_header); x = 13.5 * GUI_GRID_W + GUI_GRID_CENTER_X; y = 5 * GUI_GRID_H + GUI_GRID_CENTER_Y; w = 18 * GUI_GRID_W; @@ -36,7 +36,7 @@ class GVAR(gpsAttackOptionsUI) { class controls { class TOOButton: RscButton { idc = GPS_UI_TOO; - text = "TARGET OF OPPORTUNITY"; + text = CSTRING(GPS_ui_too); onButtonClick = QUOTE([GPS_UI_TOO] call FUNC(gps_modeSelect)); x = 14 * GUI_GRID_W + GUI_GRID_CENTER_X; y = 6.3 * GUI_GRID_H + GUI_GRID_CENTER_Y; @@ -49,7 +49,7 @@ class GVAR(gpsAttackOptionsUI) { class PPButton: RscButton { idc = GPS_UI_PB; - text = "PRE-PLANNED"; + text = CSTRING(GPS_ui_pp); onButtonClick = QUOTE([GPS_UI_PB] call FUNC(gps_modeSelect)); x = 26 * GUI_GRID_W + GUI_GRID_CENTER_X; y = 6.3 * GUI_GRID_H + GUI_GRID_CENTER_Y; @@ -62,7 +62,7 @@ class GVAR(gpsAttackOptionsUI) { class PPMission: RscText { idc = GPS_UI_PB_MISSION; - text = "PP 1"; + text = CSTRING(GPS_ui_pp_short); onButtonClick = ""; x = 27.5 * GUI_GRID_W + GUI_GRID_CENTER_X; y = 7.5 * GUI_GRID_H + GUI_GRID_CENTER_Y; @@ -103,7 +103,7 @@ class GVAR(gpsAttackOptionsUI) { class TargetPosXText: RscText { idc = -1; - text = "Easting"; + text = CSTRING(GPS_ui_easting); x = 14 * GUI_GRID_W + GUI_GRID_CENTER_X; y = 8.5 * GUI_GRID_H + GUI_GRID_CENTER_Y; w = 3 * GUI_GRID_W; @@ -128,7 +128,7 @@ class GVAR(gpsAttackOptionsUI) { class TargetPosYText: RscText { idc = -1; - text = "Northing"; + text = CSTRING(GPS_ui_northing); x = 14 * GUI_GRID_W + GUI_GRID_CENTER_X; y = 9.7 * GUI_GRID_H + GUI_GRID_CENTER_Y; w = 3 * GUI_GRID_W; @@ -146,7 +146,7 @@ class GVAR(gpsAttackOptionsUI) { class TargetPosHeightText: RscText { idc = -1; - text = "Height"; + text = CSTRING(GPS_ui_altitude); x = 14 * GUI_GRID_W + GUI_GRID_CENTER_X; y = 11.7 * GUI_GRID_H + GUI_GRID_CENTER_Y; w = 3 * GUI_GRID_W; @@ -176,7 +176,7 @@ class GVAR(gpsAttackOptionsUI) { class ImpactAngleText: RscText { idc = -1; - text = "Impact Angle"; + text = CSTRING(GPS_ui_impact_angle); x = 21 * GUI_GRID_W + GUI_GRID_CENTER_X; y = 9.7 * GUI_GRID_H + GUI_GRID_CENTER_Y; w = 4 * GUI_GRID_W; @@ -201,7 +201,7 @@ class GVAR(gpsAttackOptionsUI) { class AttackHeadingText: RscText { idc = -1; - text = "Attack Heading"; + text = CSTRING(GPS_ui_attack_heading); x = 21 * GUI_GRID_W + GUI_GRID_CENTER_X; y = 11 * GUI_GRID_H + GUI_GRID_CENTER_Y; w = 5 * GUI_GRID_W; @@ -226,7 +226,7 @@ class GVAR(gpsAttackOptionsUI) { class CancelButton: RscButton { idc = -1; - text = "temp b [cancel]"; + text = CSTRING(GPS_ui_cancel); onButtonClick = QUOTE(closeDialog 0); x = 13.5 * GUI_GRID_W + GUI_GRID_CENTER_X; y = 14.2 * GUI_GRID_H + GUI_GRID_CENTER_Y; @@ -238,7 +238,7 @@ class GVAR(gpsAttackOptionsUI) { }; class ConfirmButton: CancelButton { idc = IDC_TIMER_CONFIRM; - text = "temp c [confirm]"; + text = CSTRING(GPS_ui_confirm); onButtonClick = QUOTE([] call FUNC(gps_confirm)); x = 26.5 * GUI_GRID_W + GUI_GRID_CENTER_X; }; diff --git a/addons/missileguidance/functions/fnc_gps_onLoad.sqf b/addons/missileguidance/functions/fnc_gps_onLoad.sqf index 602c0f769f5..2162ac1aa23 100644 --- a/addons/missileguidance/functions/fnc_gps_onLoad.sqf +++ b/addons/missileguidance/functions/fnc_gps_onLoad.sqf @@ -25,7 +25,7 @@ }; [_mode, true] call FUNC(gps_modeSelect); - (_display displayCtrl GPS_UI_PB_MISSION) ctrlSetText format ["PP %1", GVAR(gps_pbMode) + 1]; + (_display displayCtrl GPS_UI_PB_MISSION) ctrlSetText format ["%1 %2", localize LSTRING(GPS_ui_pp_short), GVAR(gps_pbMode) + 1]; // update current settings GVAR(gps_uiPerFrameHandler) = [{ diff --git a/addons/missileguidance/functions/fnc_gps_pbModeCycle.sqf b/addons/missileguidance/functions/fnc_gps_pbModeCycle.sqf index 45935f08e9e..50e4a231d3c 100644 --- a/addons/missileguidance/functions/fnc_gps_pbModeCycle.sqf +++ b/addons/missileguidance/functions/fnc_gps_pbModeCycle.sqf @@ -32,5 +32,5 @@ if (_direction > 0) then { }; [GVAR(gps_pbMode)] call FUNC(gps_loadAttackSettings); -(_display displayCtrl GPS_UI_PB_MISSION) ctrlSetText format ["PP %1", GVAR(gps_pbMode) + 1]; +(_display displayCtrl GPS_UI_PB_MISSION) ctrlSetText format ["%1 %2", localize LSTRING(GPS_ui_pp_short), GVAR(gps_pbMode) + 1]; diff --git a/addons/missileguidance/stringtable.xml b/addons/missileguidance/stringtable.xml index eb77ee12d45..1b4ad9553c7 100644 --- a/addons/missileguidance/stringtable.xml +++ b/addons/missileguidance/stringtable.xml @@ -205,5 +205,47 @@ 循環切換開火模式 Ateşleme Modunu Değiştir + + 6x DAGR [ACE] + + + 12x DAGR [ACE] + + + 24x DAGR [ACE] + + + GPS Weapon Setup + + + TARGET OF OPPORTUNITY + + + PRE-PLANNED + + + Easting + + + Northing + + + Altitude + + + Impact Angle + + + Attack Heading + + + Cancel + + + Confirm + + + PP + From 0a28e3e5a3304ee7b1570792fb95d79754ad7b96 Mon Sep 17 00:00:00 2001 From: Brandon Danyluk Date: Sun, 2 May 2021 01:28:28 -0600 Subject: [PATCH 099/254] localise sam --- addons/sam/CfgMagazines.hpp | 6 +++--- addons/sam/CfgVehicles.hpp | 12 ++++++------ addons/sam/CfgWeapons.hpp | 6 +++--- addons/sam/stringtable.xml | 32 ++++++++++++++++++++++++++++++++ 4 files changed, 44 insertions(+), 12 deletions(-) create mode 100644 addons/sam/stringtable.xml diff --git a/addons/sam/CfgMagazines.hpp b/addons/sam/CfgMagazines.hpp index bc16c6f914f..568f4257911 100644 --- a/addons/sam/CfgMagazines.hpp +++ b/addons/sam/CfgMagazines.hpp @@ -1,19 +1,19 @@ class CfgMagazines { class magazine_Missile_mim145_x4; class GVAR(patriot): magazine_Missile_mim145_x4 { - displayName = "MIM-104 Patriot Missile"; + displayName = CSTRING(patriot_missile); ammo = QGVAR(patriot); }; class magazine_Missile_rim162_x8; class GVAR(RIM162): magazine_Missile_rim162_x8 { - displayName = "RIM-162 ESSM"; + displayName = CSTRING(essm_missile); ammo = QGVAR(RIM162); }; class magazine_Missile_s750_x4; class GVAR(s400): magazine_Missile_s750_x4 { - displayName = "S-400"; + displayName = CSTRING(s400_missile); ammo = QGVAR(s400); }; }; diff --git a/addons/sam/CfgVehicles.hpp b/addons/sam/CfgVehicles.hpp index 6b4f5dcc137..0d4816802fd 100644 --- a/addons/sam/CfgVehicles.hpp +++ b/addons/sam/CfgVehicles.hpp @@ -11,7 +11,7 @@ class CfgVehicles { // RIM-162 class SAM_System_02_base_F: StaticMGWeapon { - displayName = "Mk-29"; + displayName = CSTRING(essm); class AnimationSources { class Missiles_revolving { source = "revolving"; @@ -20,7 +20,7 @@ class CfgVehicles { }; class Turrets: Turrets { class MainTurret: MainTurret { - gunnerName = "Mk-29 Operator"; + gunnerName = CSTRING(essm_operator); weapons[] = { QGVAR(RIM162) }; @@ -32,7 +32,7 @@ class CfgVehicles { }; // Patriot class SAM_System_03_base_F: StaticMGWeapon { - displayName = "MIM-104 Patriot"; + displayName = CSTRING(patriot); class AnimationSources { class Missiles_revolving { source = "revolving"; @@ -41,7 +41,7 @@ class CfgVehicles { }; class Turrets: Turrets { class MainTurret: MainTurret { - gunnerName = "MIM-104 Patriot Operator"; + gunnerName = CSTRING(patriot_operator); weapons[] = { QGVAR(patriot) }; @@ -53,7 +53,7 @@ class CfgVehicles { }; // S-400 class SAM_System_04_base_F: StaticMGWeapon { - displayName = "S-400"; + displayName = CSTRING(s400); class AnimationSources { class Missiles_revolving { source = "revolving"; @@ -62,7 +62,7 @@ class CfgVehicles { }; class Turrets: Turrets { class MainTurret: MainTurret { - gunnerName = "S-400 Operator"; + gunnerName = CSTRING(s400_operator); weapons[] = { QGVAR(s400) }; diff --git a/addons/sam/CfgWeapons.hpp b/addons/sam/CfgWeapons.hpp index 4ae3c357229..7dc06c9813e 100644 --- a/addons/sam/CfgWeapons.hpp +++ b/addons/sam/CfgWeapons.hpp @@ -2,7 +2,7 @@ class CfgWeapons { class weapon_mim145Launcher; class GVAR(patriot): weapon_mim145Launcher { author = "Brandon (TCVM)"; - displayName = "MIM-104 Patriot"; + displayName = CSTRING(patriot); magazines[] = { QGVAR(patriot) }; weaponLockDelay = 0.5; }; @@ -10,7 +10,7 @@ class CfgWeapons { class weapon_rim162Launcher; class GVAR(RIM162): weapon_rim162Launcher { author = "Brandon (TCVM)"; - displayName = "Mk-29 ESSM"; + displayName = CSTRING(essm); magazines[] = { QGVAR(RIM162) }; weaponLockDelay = 0.5; }; @@ -18,7 +18,7 @@ class CfgWeapons { class weapon_s750Launcher; class GVAR(s400): weapon_s750Launcher { author = "Brandon (TCVM)"; - displayName = "S-400"; + displayName = CSTRING(s400); magazines[] = { QGVAR(s400) }; weaponLockDelay = 0.5; }; diff --git a/addons/sam/stringtable.xml b/addons/sam/stringtable.xml new file mode 100644 index 00000000000..ab2ff3f6eb8 --- /dev/null +++ b/addons/sam/stringtable.xml @@ -0,0 +1,32 @@ + + + + + MIM-104 Patriot + + + MIM-104 Operator + + + Patriot Missile + + + Mk-29 ESSM + + + Mk-29 Operator + + + RIM-162 ESSM + + + S-400 + + + S-400 Operator + + + S-400 Missile + + + From 72297be13e9022d1d6bdeaec50cad6c44a712efa Mon Sep 17 00:00:00 2001 From: Brandon Danyluk Date: Sun, 2 May 2021 01:31:52 -0600 Subject: [PATCH 100/254] localise sdb --- addons/sdb/CfgMagazines.hpp | 4 ++-- addons/sdb/CfgWeapons.hpp | 2 +- addons/sdb/stringtable.xml | 14 ++++++++++++++ 3 files changed, 17 insertions(+), 3 deletions(-) create mode 100644 addons/sdb/stringtable.xml diff --git a/addons/sdb/CfgMagazines.hpp b/addons/sdb/CfgMagazines.hpp index 24f08a67b0c..4aa671a4187 100644 --- a/addons/sdb/CfgMagazines.hpp +++ b/addons/sdb/CfgMagazines.hpp @@ -2,13 +2,13 @@ class CfgMagazines { class magazine_Bomb_SDB_x1; class PylonRack_Bomb_SDB_x4; class GVAR(magazine_bomb_SDB_x1): magazine_Bomb_SDB_x1 { - displayName = "1x GBU-39 [ACE]"; + displayName = CSTRING(39_1x); author = "Brandon (TCVM)"; ammo = QGVAR(sdb); }; class GVAR(PylonRack_bomb_SDB_x4): PylonRack_Bomb_SDB_x4 { - displayName = "4x GBU-39 [ACE]"; + displayName = CSTRING(39_4x); author = "Brandon (TCVM)"; ammo = QGVAR(sdb); pylonWeapon = QGVAR(sdb); diff --git a/addons/sdb/CfgWeapons.hpp b/addons/sdb/CfgWeapons.hpp index e69a4757780..62d368f6db2 100644 --- a/addons/sdb/CfgWeapons.hpp +++ b/addons/sdb/CfgWeapons.hpp @@ -2,7 +2,7 @@ class CfgWeapons { class weapon_SDBLauncher; class GVAR(sdb): weapon_SDBLauncher { author = "Brandon (TCVM)"; - displayName = "GBU-39 [ACE]"; + displayName = CSTRING(39); magazines[] = { QGVAR(magazine_bomb_SDB_x1), QGVAR(PylonRack_bomb_SDB_x4) diff --git a/addons/sdb/stringtable.xml b/addons/sdb/stringtable.xml new file mode 100644 index 00000000000..597937bc5e0 --- /dev/null +++ b/addons/sdb/stringtable.xml @@ -0,0 +1,14 @@ + + + + + GBU-39 [ACE] + + + 1x GBU-39 [ACE] + + + 4x GBU-39 [ACE] + + + From 7988469fe326e38e5b66bf2bc3f248fb4c35849c Mon Sep 17 00:00:00 2001 From: Brandon Danyluk Date: Sun, 2 May 2021 01:37:03 -0600 Subject: [PATCH 101/254] localise vikhr --- addons/vikhr/CfgMagazines.hpp | 14 +++++++------- addons/vikhr/CfgWeapons.hpp | 2 +- addons/vikhr/stringtable.xml | 26 ++++++++++++++++++++++++++ 3 files changed, 34 insertions(+), 8 deletions(-) create mode 100644 addons/vikhr/stringtable.xml diff --git a/addons/vikhr/CfgMagazines.hpp b/addons/vikhr/CfgMagazines.hpp index c8cbf689e4c..0a87e496e81 100644 --- a/addons/vikhr/CfgMagazines.hpp +++ b/addons/vikhr/CfgMagazines.hpp @@ -9,43 +9,43 @@ class CfgMagazines { class GVAR(2Rnd): 2Rnd_LG_scalpel { author = "Brandon (TCVM)"; - displayName = "2x 9K121 Vikhr [ACE]"; + displayName = CSTRING(2x); ammo = QGVAR(9k121); }; class GVAR(6Rnd): 6Rnd_LG_scalpel { author = "Brandon (TCVM)"; - displayName = "6x 9K121 Vikhr [ACE]"; + displayName = CSTRING(6x); ammo = QGVAR(9k121); }; class GVAR(8Rnd): 8Rnd_LG_scalpel { author = "Brandon (TCVM)"; - displayName = "8x 9K121 Vikhr [ACE]"; + displayName = CSTRING(8x); ammo = QGVAR(9k121); }; class GVAR(PylonRack_1Rnd): PylonRack_1Rnd_LG_scalpel { author = "Brandon (TCVM)"; - displayName = "1x 9K121 Vikhr [ACE]"; + displayName = CSTRING(1x); ammo = QGVAR(9k121); pylonWeapon = QGVAR(9k121); }; class GVAR(PylonMissile_1Rnd): PylonMissile_1Rnd_LG_scalpel { author = "Brandon (TCVM)"; - displayName = "1x 9K121 Vikhr [ACE]"; + displayName = CSTRING(1x); ammo = QGVAR(9k121); pylonWeapon = QGVAR(9k121); }; class GVAR(PylonRack_3Rnd): PylonRack_3Rnd_LG_scalpel { author = "Brandon (TCVM)"; - displayName = "3x 9K121 Vikhr [ACE]"; + displayName = CSTRING(3x); ammo = QGVAR(9k121); pylonWeapon = QGVAR(9k121); }; class GVAR(PylonRack_4Rnd): PylonRack_4Rnd_LG_scalpel { author = "Brandon (TCVM)"; - displayName = "4x 9K121 Vikhr [ACE]"; + displayName = CSTRING(4x); ammo = QGVAR(9k121); pylonWeapon = QGVAR(9k121); }; diff --git a/addons/vikhr/CfgWeapons.hpp b/addons/vikhr/CfgWeapons.hpp index 8371248f140..bb5d8531ee9 100644 --- a/addons/vikhr/CfgWeapons.hpp +++ b/addons/vikhr/CfgWeapons.hpp @@ -2,7 +2,7 @@ class CfgWeapons { class missiles_SCALPEL; class GVAR(9k121): missiles_SCALPEL { author = "Brandon (TCVM)"; - displayName = "Skalpel ATGM"; + displayName = CSTRING(9k121); magazines[] = { QGVAR(2Rnd), QGVAR(6Rnd), diff --git a/addons/vikhr/stringtable.xml b/addons/vikhr/stringtable.xml new file mode 100644 index 00000000000..ea40972534c --- /dev/null +++ b/addons/vikhr/stringtable.xml @@ -0,0 +1,26 @@ + + + + + 9k121 Vikhr [ACE] + + + 1x 9k121 Vikhr [ACE] + + + 2x 9k121 Vikhr [ACE] + + + 3x 9k121 Vikhr [ACE] + + + 4x 9k121 Vikhr [ACE] + + + 6x 9k121 Vikhr [ACE] + + + 8x 9k121 Vikhr [ACE] + + + From 80b2595abbd2befd092e2e4560a3e2e2d0a36a18 Mon Sep 17 00:00:00 2001 From: Brandon Danyluk Date: Sun, 2 May 2021 01:40:23 -0600 Subject: [PATCH 102/254] tabs -> spaces again --- addons/missileguidance/XEH_pre_init.sqf | 8 +-- .../missileguidance/dev/projectileCamera.sqf | 52 +++++++++---------- 2 files changed, 30 insertions(+), 30 deletions(-) diff --git a/addons/missileguidance/XEH_pre_init.sqf b/addons/missileguidance/XEH_pre_init.sqf index 3c94b0f08c0..3281fdc6abd 100644 --- a/addons/missileguidance/XEH_pre_init.sqf +++ b/addons/missileguidance/XEH_pre_init.sqf @@ -12,15 +12,15 @@ PREP_RECOMPILE_END; if (isNil QGVAR(enabled)) then { GVAR(enabled) = 2; }; GVAR(gps_currentSettings) = [ - [0, 0, 0], // attack position - -1, // impact angle - -1 // attack heading + [0, 0, 0], // attack position + -1, // impact angle + -1 // attack heading ]; GVAR(gps_pbMode) = 0; GVAR(gps_settings) = createHashMap; for "_i" from 0 to MAX_PB_MODES do { - GVAR(gps_settings) set [_i, GVAR(currentSettings)]; + GVAR(gps_settings) set [_i, GVAR(currentSettings)]; }; GVAR(gps_mode) = "pb"; diff --git a/addons/missileguidance/dev/projectileCamera.sqf b/addons/missileguidance/dev/projectileCamera.sqf index 43db4b31488..06f2877f5f2 100644 --- a/addons/missileguidance/dev/projectileCamera.sqf +++ b/addons/missileguidance/dev/projectileCamera.sqf @@ -10,41 +10,41 @@ _camera camCommitPrepared 0; GVAR(debug_camera_close) = false; private _displayEH = (findDisplay 46) displayAddEventHandler ["KeyDown", { - params ["_displayorcontrol", "_key", "_shift", "_ctrl", "_alt"]; - GVAR(debug_camera_close) = (_key == 1); - true + params ["_displayorcontrol", "_key", "_shift", "_ctrl", "_alt"]; + GVAR(debug_camera_close) = (_key == 1); + true }]; [{ - params ["_args", "_pfh"]; - _args params ["_projectile", "_camera", "_projectilePos", "_displayEH"]; - if (!alive _projectile || GVAR(debug_camera_close)) exitWith { - private _delay = 1.5; - if (GVAR(debug_camera_close)) then { - _delay = 0; - }; + params ["_args", "_pfh"]; + _args params ["_projectile", "_camera", "_projectilePos", "_displayEH"]; + if (!alive _projectile || GVAR(debug_camera_close)) exitWith { + private _delay = 1.5; + if (GVAR(debug_camera_close)) then { + _delay = 0; + }; - (findDisplay 46) displayRemoveEventHandler ["KeyDown", _displayEH]; + (findDisplay 46) displayRemoveEventHandler ["KeyDown", _displayEH]; - [{ - params ["_camera"]; + [{ + params ["_camera"]; - _camera cameraEffect ["terminate", "back"]; - _camera camCommitPrepared 0; - camDestroy _camera; - }, [_camera], _delay] call CBA_fnc_waitAndExecute; + _camera cameraEffect ["terminate", "back"]; + _camera camCommitPrepared 0; + camDestroy _camera; + }, [_camera], _delay] call CBA_fnc_waitAndExecute; - _camera camPrepareTarget _projectilePos; - _camera camCommitPrepared 0; + _camera camPrepareTarget _projectilePos; + _camera camCommitPrepared 0; - [_pfh] call CBA_fnc_removePerFrameHandler; - }; + [_pfh] call CBA_fnc_removePerFrameHandler; + }; - private _currentProjectilePos = getPosATLVisual _projectile; + private _currentProjectilePos = getPosATLVisual _projectile; - _camera camPrepareTarget _projectile; - _camera camPrepareRelPos [0, -5, 1]; - _camera camCommitPrepared 0; + _camera camPrepareTarget _projectile; + _camera camPrepareRelPos [0, -5, 1]; + _camera camCommitPrepared 0; - _args set [2, getPosATL _projectile]; + _args set [2, getPosATL _projectile]; }, 0, [_projectile, _camera, getPosATL _projectile, _displayEH]] call CBA_fnc_addPerFrameHandler; \ No newline at end of file From 20a3277ac8bef4a7fe11dc2d3b3a61587bee7f7f Mon Sep 17 00:00:00 2001 From: Brandon Danyluk Date: Thu, 6 May 2021 15:01:50 -0600 Subject: [PATCH 103/254] init commit 9m14 --- addons/malyutka/$PBOPREFIX$ | 1 + addons/malyutka/CfgAmmo.hpp | 4 ++++ addons/malyutka/CfgEventHandlers.hpp | 17 ++++++++++++++ addons/malyutka/CfgMagazines.hpp | 3 +++ addons/malyutka/CfgVehicles.hpp | 3 +++ addons/malyutka/CfgWeapons.hpp | 4 ++++ addons/malyutka/README.md | 12 ++++++++++ addons/malyutka/XEH_PREP.hpp | 0 addons/malyutka/XEH_postInit.sqf | 2 ++ addons/malyutka/XEH_preInit.sqf | 10 ++++++++ addons/malyutka/XEH_preStart.sqf | 4 ++++ addons/malyutka/config.cpp | 22 ++++++++++++++++++ addons/malyutka/data/9m14.p3d | Bin 0 -> 155653 bytes addons/malyutka/data/model.cfg | 20 ++++++++++++++++ .../malyutka/functions/script_component.hpp | 1 + addons/malyutka/script_component.hpp | 18 ++++++++++++++ addons/malyutka/stringtable.xml | 5 ++++ addons/missileguidance/script_component.hpp | 4 ++-- 18 files changed, 128 insertions(+), 2 deletions(-) create mode 100644 addons/malyutka/$PBOPREFIX$ create mode 100644 addons/malyutka/CfgAmmo.hpp create mode 100644 addons/malyutka/CfgEventHandlers.hpp create mode 100644 addons/malyutka/CfgMagazines.hpp create mode 100644 addons/malyutka/CfgVehicles.hpp create mode 100644 addons/malyutka/CfgWeapons.hpp create mode 100644 addons/malyutka/README.md create mode 100644 addons/malyutka/XEH_PREP.hpp create mode 100644 addons/malyutka/XEH_postInit.sqf create mode 100644 addons/malyutka/XEH_preInit.sqf create mode 100644 addons/malyutka/XEH_preStart.sqf create mode 100644 addons/malyutka/config.cpp create mode 100644 addons/malyutka/data/9m14.p3d create mode 100644 addons/malyutka/data/model.cfg create mode 100644 addons/malyutka/functions/script_component.hpp create mode 100644 addons/malyutka/script_component.hpp create mode 100644 addons/malyutka/stringtable.xml diff --git a/addons/malyutka/$PBOPREFIX$ b/addons/malyutka/$PBOPREFIX$ new file mode 100644 index 00000000000..190eb8198dc --- /dev/null +++ b/addons/malyutka/$PBOPREFIX$ @@ -0,0 +1 @@ +z\ace\addons\malyutka \ No newline at end of file diff --git a/addons/malyutka/CfgAmmo.hpp b/addons/malyutka/CfgAmmo.hpp new file mode 100644 index 00000000000..29641fe2e25 --- /dev/null +++ b/addons/malyutka/CfgAmmo.hpp @@ -0,0 +1,4 @@ +class CfgAmmo { + +}; + diff --git a/addons/malyutka/CfgEventHandlers.hpp b/addons/malyutka/CfgEventHandlers.hpp new file mode 100644 index 00000000000..0d3301d6e0a --- /dev/null +++ b/addons/malyutka/CfgEventHandlers.hpp @@ -0,0 +1,17 @@ +class Extended_PreStart_EventHandlers { + class ADDON { + init = QUOTE(call COMPILE_FILE(XEH_preStart)); + }; +}; + +class Extended_PreInit_EventHandlers { + class ADDON { + init = QUOTE(call COMPILE_FILE(XEH_preInit)); + }; +}; + +class Extended_PostInit_EventHandlers { + class ADDON { + init = QUOTE(call COMPILE_FILE(XEH_postInit)); + }; +}; diff --git a/addons/malyutka/CfgMagazines.hpp b/addons/malyutka/CfgMagazines.hpp new file mode 100644 index 00000000000..02b5a5b7f0b --- /dev/null +++ b/addons/malyutka/CfgMagazines.hpp @@ -0,0 +1,3 @@ +class CfgMagazines { +}; + diff --git a/addons/malyutka/CfgVehicles.hpp b/addons/malyutka/CfgVehicles.hpp new file mode 100644 index 00000000000..1789c431a6a --- /dev/null +++ b/addons/malyutka/CfgVehicles.hpp @@ -0,0 +1,3 @@ +class CfgVehicles { + +}; \ No newline at end of file diff --git a/addons/malyutka/CfgWeapons.hpp b/addons/malyutka/CfgWeapons.hpp new file mode 100644 index 00000000000..bf8e1c337a6 --- /dev/null +++ b/addons/malyutka/CfgWeapons.hpp @@ -0,0 +1,4 @@ +class CfgWeapons { + +}; + diff --git a/addons/malyutka/README.md b/addons/malyutka/README.md new file mode 100644 index 00000000000..73cf07c0af9 --- /dev/null +++ b/addons/malyutka/README.md @@ -0,0 +1,12 @@ +ace_malutka +=================== + +Adds 9M14 Malyutka MCLOS ATGM + + +## Maintainers + +The people responsible for merging changes to this component or answering potential questions. + +- [Brandon-TCVM](https://github.com/TheCandianVendingMachine) + diff --git a/addons/malyutka/XEH_PREP.hpp b/addons/malyutka/XEH_PREP.hpp new file mode 100644 index 00000000000..e69de29bb2d diff --git a/addons/malyutka/XEH_postInit.sqf b/addons/malyutka/XEH_postInit.sqf new file mode 100644 index 00000000000..6eccf9d1ddc --- /dev/null +++ b/addons/malyutka/XEH_postInit.sqf @@ -0,0 +1,2 @@ +#include "script_component.hpp" + diff --git a/addons/malyutka/XEH_preInit.sqf b/addons/malyutka/XEH_preInit.sqf new file mode 100644 index 00000000000..29cc0a7f245 --- /dev/null +++ b/addons/malyutka/XEH_preInit.sqf @@ -0,0 +1,10 @@ +#include "script_component.hpp" + +ADDON = false; + +PREP_RECOMPILE_START; +#include "XEH_PREP.hpp" +PREP_RECOMPILE_END; + +ADDON = true; + diff --git a/addons/malyutka/XEH_preStart.sqf b/addons/malyutka/XEH_preStart.sqf new file mode 100644 index 00000000000..76b104a5bc1 --- /dev/null +++ b/addons/malyutka/XEH_preStart.sqf @@ -0,0 +1,4 @@ +#include "script_component.hpp" + +#include "XEH_PREP.hpp" + diff --git a/addons/malyutka/config.cpp b/addons/malyutka/config.cpp new file mode 100644 index 00000000000..8bf5e46d00a --- /dev/null +++ b/addons/malyutka/config.cpp @@ -0,0 +1,22 @@ +#include "script_component.hpp" + +class CfgPatches { + class ADDON { + name = COMPONENT_NAME; + units[] = {}; + weapons[] = {}; + requiredVersion = REQUIRED_VERSION; + requiredAddons[] = {"ace_common","ace_missileguidance"}; + author = ECSTRING(common,ACETeam); + authors[] = {"Brandon (TCVM)"}; + url = ECSTRING(main,URL); + VERSION_CONFIG; + }; +}; + +#include "CfgEventHandlers.hpp" +#include "CfgAmmo.hpp" +#include "CfgMagazines.hpp" +#include "CfgWeapons.hpp" +#include "CfgVehicles.hpp" + diff --git a/addons/malyutka/data/9m14.p3d b/addons/malyutka/data/9m14.p3d new file mode 100644 index 0000000000000000000000000000000000000000..4b934d20dc56a0587dc17a8af787f430f490481a GIT binary patch literal 155653 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%0D7KMPwA1y*u6}7w~ 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%0A<{+&w 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

Q7KT`G+c2*94e)3qq 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 AIsgCw literal 0 HcmV?d00001 diff --git a/addons/malyutka/data/model.cfg b/addons/malyutka/data/model.cfg new file mode 100644 index 00000000000..8df57080673 --- /dev/null +++ b/addons/malyutka/data/model.cfg @@ -0,0 +1,20 @@ +class CfgSkeletons { + class Default { + isDiscrete = 1; + skeletonInherit = ""; + skeletonBones[] = {}; + }; + class ACE_Malyutka: Default {}; +}; +class CfgModels { + class Default { + sectionsInherit = ""; + sections[] = {}; + skeletonName = ""; + }; + class ACE_Malyutka : Default { + sectionsInherit = ""; + sections[] = {}; + skeletonName = "ACE_Malyutka"; + }; +}; \ No newline at end of file diff --git a/addons/malyutka/functions/script_component.hpp b/addons/malyutka/functions/script_component.hpp new file mode 100644 index 00000000000..352793e84b6 --- /dev/null +++ b/addons/malyutka/functions/script_component.hpp @@ -0,0 +1 @@ +#include "\z\ace\addons\malyutka\script_component.hpp" \ No newline at end of file diff --git a/addons/malyutka/script_component.hpp b/addons/malyutka/script_component.hpp new file mode 100644 index 00000000000..37ec1c414fd --- /dev/null +++ b/addons/malyutka/script_component.hpp @@ -0,0 +1,18 @@ +#define COMPONENT malyutka +#define COMPONENT_BEAUTIFIED Malyutka +#include "\z\ace\addons\main\script_mod.hpp" + +// #define DEBUG_MODE_FULL +// #define DISABLE_COMPILE_CACHE +// #define ENABLE_PERFORMANCE_COUNTERS + +#ifdef DEBUG_ENABLED_MALYUTKA + #define DEBUG_MODE_FULL +#endif + +#ifdef DEBUG_SETTINGS_MALYUTKA + #define DEBUG_SETTINGS DEBUG_SETTINGS_MALYUTKA +#endif + +#include "\z\ace\addons\main\script_macros.hpp" + diff --git a/addons/malyutka/stringtable.xml b/addons/malyutka/stringtable.xml new file mode 100644 index 00000000000..08185c8ecfb --- /dev/null +++ b/addons/malyutka/stringtable.xml @@ -0,0 +1,5 @@ + + + + + diff --git a/addons/missileguidance/script_component.hpp b/addons/missileguidance/script_component.hpp index f105e9444a2..70c679a1b9d 100644 --- a/addons/missileguidance/script_component.hpp +++ b/addons/missileguidance/script_component.hpp @@ -2,10 +2,10 @@ #define COMPONENT_BEAUTIFIED Missile Guidance #include "\z\ace\addons\main\script_mod.hpp" -// #define DRAW_GUIDANCE_INFO + #define DRAW_GUIDANCE_INFO // #define ENABLE_PROJECTILE_CAMERA // #define DEBUG_MODE_FULL -// #define DISABLE_COMPILE_CACHE + #define DISABLE_COMPILE_CACHE // #define ENABLE_PERFORMANCE_COUNTERS #ifdef DEBUG_ENABLED_MISSILEGUIDANCE From d8fb60808ae03c2c5f191ff2d34e89bcf7787c17 Mon Sep 17 00:00:00 2001 From: Brandon Danyluk Date: Thu, 6 May 2021 19:06:10 -0600 Subject: [PATCH 104/254] update stringtables so they are in titlecase --- addons/aim120/stringtable.xml | 26 +++++++++++++------------- addons/aim9/stringtable.xml | 32 ++++++++++++++++---------------- addons/gbu/stringtable.xml | 16 ++++++++-------- addons/malyutka/stringtable.xml | 14 +++++++++++++- addons/manpad/stringtable.xml | 10 +++++----- addons/sam/stringtable.xml | 20 ++++++++++---------- addons/sdb/stringtable.xml | 8 ++++---- addons/vikhr/stringtable.xml | 16 ++++++++-------- 8 files changed, 77 insertions(+), 65 deletions(-) diff --git a/addons/aim120/stringtable.xml b/addons/aim120/stringtable.xml index de0dd60be7f..b24a1b12109 100644 --- a/addons/aim120/stringtable.xml +++ b/addons/aim120/stringtable.xml @@ -1,40 +1,40 @@ - - + + AIM-120A [ACE] - + 1x AIM-120A [ACE] - + AIM-120C [ACE] - + 1x AIM-120C [ACE] - + 2x AIM-120C [ACE] - + AIM-120D [ACE] - + 1x AIM-120D [ACE] - + 2x AIM-120D [ACE] - + R-77 [ACE] - + 1x R-77 [ACE] - + AIM-120 [ACE] - + Direct diff --git a/addons/aim9/stringtable.xml b/addons/aim9/stringtable.xml index 11fc06f79df..d264a33207a 100644 --- a/addons/aim9/stringtable.xml +++ b/addons/aim9/stringtable.xml @@ -1,49 +1,49 @@ - - + + AIM-9M [ACE] - + AIM-9X [ACE] - + AIM-132 [ACE] - + R-73 [ACE] - + R-74 [ACE] - + 1x AIM-9M [ACE] - + 2x AIM-9M [ACE] - + 1x AIM-9X [ACE] - + 2x AIM-9X [ACE] - + 1x AIM-132 [ACE] - + 2x AIM-132 [ACE] - + 4x AIM-132 [ACE] - + 1x R-73 [ACE] - + 1x R-74 [ACE] - + 2x R-74 [ACE] diff --git a/addons/gbu/stringtable.xml b/addons/gbu/stringtable.xml index 454438c4cb7..a6774c9b2de 100644 --- a/addons/gbu/stringtable.xml +++ b/addons/gbu/stringtable.xml @@ -1,25 +1,25 @@ - - + + GBU-12 [ACE] - + FAB-250M-54 [ACE] - + 1x GBU-12 [ACE] - + 2x GBU-12 [ACE] - + 4x GBU-12 [ACE] - + 1x FAB-250M-54 [ACE] - + 2x FAB-250M-54 [ACE] diff --git a/addons/malyutka/stringtable.xml b/addons/malyutka/stringtable.xml index 08185c8ecfb..4fea798ebd5 100644 --- a/addons/malyutka/stringtable.xml +++ b/addons/malyutka/stringtable.xml @@ -1,5 +1,17 @@ - + + + [CSW] 9M14 Malyutka + + + 9M14 + + + MCLOS, wire-guided missile + + + MCLOS, wire-guided missile + diff --git a/addons/manpad/stringtable.xml b/addons/manpad/stringtable.xml index 127bbe39d0d..5d6475b3940 100644 --- a/addons/manpad/stringtable.xml +++ b/addons/manpad/stringtable.xml @@ -1,16 +1,16 @@ - - + + FIM-92 Stinger [ACE] - + RIM-116 [ACE] - + 21x RIM-116 [ACE] - + 4x FIM-92 Stinger [ACE] diff --git a/addons/sam/stringtable.xml b/addons/sam/stringtable.xml index ab2ff3f6eb8..dd9f92eb81f 100644 --- a/addons/sam/stringtable.xml +++ b/addons/sam/stringtable.xml @@ -1,31 +1,31 @@ - - + + MIM-104 Patriot - + MIM-104 Operator - + Patriot Missile - + Mk-29 ESSM - + Mk-29 Operator - + RIM-162 ESSM - + S-400 - + S-400 Operator - + S-400 Missile diff --git a/addons/sdb/stringtable.xml b/addons/sdb/stringtable.xml index 597937bc5e0..053918c81bd 100644 --- a/addons/sdb/stringtable.xml +++ b/addons/sdb/stringtable.xml @@ -1,13 +1,13 @@ - - + + GBU-39 [ACE] - + 1x GBU-39 [ACE] - + 4x GBU-39 [ACE] diff --git a/addons/vikhr/stringtable.xml b/addons/vikhr/stringtable.xml index ea40972534c..f29807d2336 100644 --- a/addons/vikhr/stringtable.xml +++ b/addons/vikhr/stringtable.xml @@ -1,25 +1,25 @@ - - + + 9k121 Vikhr [ACE] - + 1x 9k121 Vikhr [ACE] - + 2x 9k121 Vikhr [ACE] - + 3x 9k121 Vikhr [ACE] - + 4x 9k121 Vikhr [ACE] - + 6x 9k121 Vikhr [ACE] - + 8x 9k121 Vikhr [ACE] From a0e193a2410f3c538989860757aaa04e633723a4 Mon Sep 17 00:00:00 2001 From: Brandon Danyluk Date: Thu, 6 May 2021 19:18:44 -0600 Subject: [PATCH 105/254] crash on load --- addons/malyutka/CfgAmmo.hpp | 74 ++++++++++++++++++++- addons/malyutka/CfgMagazines.hpp | 9 +++ addons/malyutka/CfgVehicles.hpp | 96 ++++++++++++++++++++++++++++ addons/malyutka/CfgWeapons.hpp | 27 +++++++- addons/malyutka/data/9m14_mount.p3d | Bin 0 -> 1280956 bytes addons/malyutka/data/model.cfg | 12 +++- 6 files changed, 213 insertions(+), 5 deletions(-) create mode 100644 addons/malyutka/data/9m14_mount.p3d diff --git a/addons/malyutka/CfgAmmo.hpp b/addons/malyutka/CfgAmmo.hpp index 29641fe2e25..dfcb9a060af 100644 --- a/addons/malyutka/CfgAmmo.hpp +++ b/addons/malyutka/CfgAmmo.hpp @@ -1,4 +1,76 @@ class CfgAmmo { - + class M_Scalpel_AT; + class ammo_Penetrator_Base; + + class GVAR(9m14): M_Scalpel_AT { + aiAmmoUsageFlags = 0; + model = QPATHTOF(data\9m14.p3d); + proxyShape = "\A3\Weapons_F\Ammo\Missile_AT_03_F"; + submunitionAmmo = QGVAR(9m14_penetrator); + submunitionDirectionType = "SubmunitionModelDirection"; + submunitionInitSpeed = 1000; + submunitionParentSpeedCoef = 0; + submunitionInitialOffset[] = { 0, 0, -0.2 }; + hit = 150; + warheadName = "HEAT"; + indirectHit = 25; + indirectHitRange = 3.5; + explosive = 0.8; + + //displayName = CSTRING(9m14_missile); + //displayNameShort = CSTRING(9m14_missile); + //description = CSTRING(9m14_missile_description); + //descriptionShort = CSTRING(9m14_missile_descriptionShort); + + effectsMissile = "missile2"; + + irLock = 0; + laserLock = 0; + manualControl = 0; + maxSpeed = 100; + + thrustTime = 3; + thrust = 125; + timeToLive = 40; + initTime = 0; + + EGVAR(rearm,caliber) = 178; + + class ace_missileguidance { + enabled = 1; + + pitchRate = 5; // Minium flap deflection for guidance + yawRate = 5; // Maximum flap deflection for guidance + + canVanillaLock = 0; // Can this default vanilla lock? Only applicable to non-cadet mode + + // Guidance type for munitions + defaultSeekerType = "MCLOS"; + seekerTypes[] = { "MCLOS" }; + + defaultSeekerLockMode = "LOAL"; + seekerLockModes[] = { "LOAL" }; + + defaultNavigationType = "Line"; + navigationTypes[] = { "Line" }; + + lineGainP = 1; + lineGainD = 0; + + seekLastTargetPos = 0; // seek last target position [if seeker loses LOS of target, continue to last known pos] + seekerAngle = 30; // Angle from the shooter's view that can track the missile + seekerAccuracy = 1; // seeker accuracy multiplier + + seekerMinRange = 0; + seekerMaxRange = 3000; // Range from the missile which the seeker can visually search + + correctionDistance = 0; // distance from center of crosshair where missile slows down + offsetFromCrosshair[] = { 0, 0, 0 }; // where the missile wants to stay in relation to the center of the crosshair. + + // Attack profile type selection + defaultAttackProfile = "WIRE"; + attackProfiles[] = {"WIRE"}; + }; + }; }; diff --git a/addons/malyutka/CfgMagazines.hpp b/addons/malyutka/CfgMagazines.hpp index 02b5a5b7f0b..0e37b0aaa77 100644 --- a/addons/malyutka/CfgMagazines.hpp +++ b/addons/malyutka/CfgMagazines.hpp @@ -1,3 +1,12 @@ class CfgMagazines { + class 12Rnd_PG_missiles; + class GVAR(9m14): 12Rnd_PG_missiles { + count = 1; + initSpeed = 100; + ammo = QGVAR(9m14); + //displayName = CSTRING(9m14_missile); + //displayNameShort = CSTRING(9m14_missile); + //descriptionShort = CSTRING(9m14_missile_descriptionShort); + }; }; diff --git a/addons/malyutka/CfgVehicles.hpp b/addons/malyutka/CfgVehicles.hpp index 1789c431a6a..e70c8f5bc37 100644 --- a/addons/malyutka/CfgVehicles.hpp +++ b/addons/malyutka/CfgVehicles.hpp @@ -1,3 +1,99 @@ class CfgVehicles { + class LandVehicle; + class StaticWeapon: LandVehicle { + class Turrets; + class MainTurret; + class ACE_Actions { + class ACE_MainActions {}; + }; + }; + class StaticATWeapon: StaticWeapon {}; + class GVAR(9m14): StaticATWeapon { + scope = 2; + side = 1; + faction = "BLU_F"; + crew = "B_UAV_AI"; + author = "Brandon (TCVM)"; + //displayName = CSTRING(9m14); + model = QPATHTOF(data\9m14_mount.p3d); + picture = "\A3\Static_F_Gamma\data\UI\gear_StaticTurret_AT_CA.paa"; + UiPicture = "\A3\Static_F_Gamma\data\UI\gear_StaticTurret_AT_CA.paa"; + icon = "\A3\Static_F_Gamma\data\UI\map_StaticTurret_AT_CA.paa"; + threat[] = {0.7,1.0,0.1}; + cost = 150000; + class Damage { + tex[] = {}; + mat[] = { + "a3\static_f_gamma\data\staticturret_01.rvmat", + "a3\static_f_gamma\data\staticturret_01_damage.rvmat", + "a3\static_f_gamma\data\staticturret_01_destruct.rvmat", + "a3\static_f_gamma\data\staticturret_02.rvmat", + "a3\static_f_gamma\data\staticturret_02_damage.rvmat", + "a3\static_f_gamma\data\staticturret_02_destruct.rvmat", + "a3\weapons_f_beta\launchers\titan\data\titan_launcher.rvmat", + "a3\weapons_f_beta\launchers\titan\data\titan_launcher_damage.rvmat", + "a3\weapons_f_beta\launchers\titan\data\titan_launcher_destruct.rvmat", + "a3\weapons_f_beta\launchers\titan\data\titan_mtube.rvmat", + "a3\weapons_f_beta\launchers\titan\data\titan_mtube_damage.rvmat", + "a3\weapons_f_beta\launchers\titan\data\titan_mtube_destruct.rvmat" + }; + }; + + // no human will be in a turret + class Turrets: Turrets { + class MainTurret: MainTurret { + optics = 1; + turretInfoType = "RscWeaponEmpty"; + gunnerOpticsModel = ""; + minElev = 0; + maxElev = 0; + weapons[] = { QGVAR(9m14) }; + magazines[] = { QGVAR(9m14) }; + + gunnerAction = ""; + gunnergetInAction = ""; + gunnergetOutAction = ""; + + discreteDistance[] = {}; + discreteDistanceInitIndex = 0; + + //displayName = CSTRING(9m14); + + class ViewOptics { + initAngleX = 0; + minAngleX = -30; + maxAngleX = 30; + initAngleY = 5; + minAngleY = -100; + maxAngleY = 100; + initFov = 0.055; + minFov = 0.055; // 6 degree FOV + maxFov = 0.055; + visionMode[] = {"Normal"}; + thermalMode[] = {0}; + }; + gunnerRightHandAnimName = "OtocHlaven_shake"; + gunnerLeftHandAnimName = "OtocHlaven_shake"; + gunBeg = "spice rakety"; + gunEnd = "konec rakety"; + memoryPointGunnerOptics = "look"; + }; + }; + + soundGetOut[] = {"A3\sounds_f\dummysound",0.001,1,5}; + soundGetIn[] = {"A3\sounds_f\dummysound",0.00031622776,1,5}; + armorStructural = 10.0; + + class ACE_CSW { + disassembleTo = QGVAR(super); + }; + + class ACE_Actions: ACE_Actions { + class ACE_MainActions: ACE_MainActions { + //displayName = CSTRING(9m14); + }; + }; + + }; }; \ No newline at end of file diff --git a/addons/malyutka/CfgWeapons.hpp b/addons/malyutka/CfgWeapons.hpp index bf8e1c337a6..9595589a16c 100644 --- a/addons/malyutka/CfgWeapons.hpp +++ b/addons/malyutka/CfgWeapons.hpp @@ -1,4 +1,29 @@ class CfgWeapons { - + class MissileLauncher; + class GVAR(9m14): MissileLauncher { + scope = 2; + //displayName = CSTRING(9m14_missile); + magazines[] = { QGVAR(9m14) }; + initSpeed = 100; + autoFire = 0; + canLock = 0; + weaponLockSystem = 0; + lockingTargetSound[] = {"",0,1}; + lockedTargetSound[] = {"",0,1}; + soundFly[] = {"A3\Sounds_F\weapons\Rockets\rocket_fly_1",1,1.1,700}; + nameSound = "MissileLauncher"; + sounds[] = {"StandardSound"}; + class StandardSound { + begin1[] = {"A3\Sounds_F\weapons\Rockets\missile_1",1.12202,1.3,1000}; + soundBegin[] = {"begin1",1}; + soundsetshot[] = {"RocketsMedium_Shot_SoundSet"}; + }; + cursor = "EmptyCursor"; + cursorAim = "missile"; + showAimCursorInternal = 0; + + autoReload = 1; + magazineReloadTime = 20; + }; }; diff --git a/addons/malyutka/data/9m14_mount.p3d b/addons/malyutka/data/9m14_mount.p3d new file mode 100644 index 0000000000000000000000000000000000000000..bb5081d0470d50efec1d9c525e81803cd28c02fb GIT binary patch literal 1280956 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

=?;A~oM}d@ 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

S_FH=t6ZD)o;|-p0ybr<}guEcJ^03#)%}>K~oF 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 Date: Thu, 6 May 2021 20:03:59 -0600 Subject: [PATCH 106/254] perplexed --- addons/malyutka/CfgAmmo.hpp | 69 +--------------------------- addons/malyutka/CfgMagazines.hpp | 8 ++-- addons/malyutka/CfgVehicles.hpp | 16 +++---- addons/malyutka/data/9m14.p3d | Bin 155653 -> 153780 bytes addons/malyutka/data/9m14_mount.p3d | Bin 1280956 -> 1281116 bytes addons/malyutka/data/model.cfg | 8 ++-- 6 files changed, 17 insertions(+), 84 deletions(-) diff --git a/addons/malyutka/CfgAmmo.hpp b/addons/malyutka/CfgAmmo.hpp index dfcb9a060af..52d518a413a 100644 --- a/addons/malyutka/CfgAmmo.hpp +++ b/addons/malyutka/CfgAmmo.hpp @@ -3,74 +3,7 @@ class CfgAmmo { class ammo_Penetrator_Base; class GVAR(9m14): M_Scalpel_AT { - aiAmmoUsageFlags = 0; - model = QPATHTOF(data\9m14.p3d); - proxyShape = "\A3\Weapons_F\Ammo\Missile_AT_03_F"; - submunitionAmmo = QGVAR(9m14_penetrator); - submunitionDirectionType = "SubmunitionModelDirection"; - submunitionInitSpeed = 1000; - submunitionParentSpeedCoef = 0; - submunitionInitialOffset[] = { 0, 0, -0.2 }; - hit = 150; - warheadName = "HEAT"; - indirectHit = 25; - indirectHitRange = 3.5; - explosive = 0.8; - - //displayName = CSTRING(9m14_missile); - //displayNameShort = CSTRING(9m14_missile); - //description = CSTRING(9m14_missile_description); - //descriptionShort = CSTRING(9m14_missile_descriptionShort); - - effectsMissile = "missile2"; - - irLock = 0; - laserLock = 0; - manualControl = 0; - maxSpeed = 100; - - thrustTime = 3; - thrust = 125; - timeToLive = 40; - initTime = 0; - - EGVAR(rearm,caliber) = 178; - - class ace_missileguidance { - enabled = 1; - - pitchRate = 5; // Minium flap deflection for guidance - yawRate = 5; // Maximum flap deflection for guidance - - canVanillaLock = 0; // Can this default vanilla lock? Only applicable to non-cadet mode - - // Guidance type for munitions - defaultSeekerType = "MCLOS"; - seekerTypes[] = { "MCLOS" }; - - defaultSeekerLockMode = "LOAL"; - seekerLockModes[] = { "LOAL" }; - - defaultNavigationType = "Line"; - navigationTypes[] = { "Line" }; - - lineGainP = 1; - lineGainD = 0; - - seekLastTargetPos = 0; // seek last target position [if seeker loses LOS of target, continue to last known pos] - seekerAngle = 30; // Angle from the shooter's view that can track the missile - seekerAccuracy = 1; // seeker accuracy multiplier - - seekerMinRange = 0; - seekerMaxRange = 3000; // Range from the missile which the seeker can visually search - - correctionDistance = 0; // distance from center of crosshair where missile slows down - offsetFromCrosshair[] = { 0, 0, 0 }; // where the missile wants to stay in relation to the center of the crosshair. - - // Attack profile type selection - defaultAttackProfile = "WIRE"; - attackProfiles[] = {"WIRE"}; - }; + }; }; diff --git a/addons/malyutka/CfgMagazines.hpp b/addons/malyutka/CfgMagazines.hpp index 0e37b0aaa77..d7dab6bce93 100644 --- a/addons/malyutka/CfgMagazines.hpp +++ b/addons/malyutka/CfgMagazines.hpp @@ -3,10 +3,10 @@ class CfgMagazines { class GVAR(9m14): 12Rnd_PG_missiles { count = 1; initSpeed = 100; - ammo = QGVAR(9m14); - //displayName = CSTRING(9m14_missile); - //displayNameShort = CSTRING(9m14_missile); - //descriptionShort = CSTRING(9m14_missile_descriptionShort); + //ammo = QGVAR(9m14); + displayName = CSTRING(9m14_missile); + displayNameShort = CSTRING(9m14_missile); + descriptionShort = CSTRING(9m14_missile_descriptionShort); }; }; diff --git a/addons/malyutka/CfgVehicles.hpp b/addons/malyutka/CfgVehicles.hpp index e70c8f5bc37..a3bd7d50ecb 100644 --- a/addons/malyutka/CfgVehicles.hpp +++ b/addons/malyutka/CfgVehicles.hpp @@ -15,7 +15,7 @@ class CfgVehicles { faction = "BLU_F"; crew = "B_UAV_AI"; author = "Brandon (TCVM)"; - //displayName = CSTRING(9m14); + displayName = CSTRING(9m14); model = QPATHTOF(data\9m14_mount.p3d); picture = "\A3\Static_F_Gamma\data\UI\gear_StaticTurret_AT_CA.paa"; UiPicture = "\A3\Static_F_Gamma\data\UI\gear_StaticTurret_AT_CA.paa"; @@ -58,7 +58,7 @@ class CfgVehicles { discreteDistance[] = {}; discreteDistanceInitIndex = 0; - //displayName = CSTRING(9m14); + displayName = CSTRING(9m14); class ViewOptics { initAngleX = 0; @@ -73,11 +73,11 @@ class CfgVehicles { visionMode[] = {"Normal"}; thermalMode[] = {0}; }; - gunnerRightHandAnimName = "OtocHlaven_shake"; - gunnerLeftHandAnimName = "OtocHlaven_shake"; - gunBeg = "spice rakety"; - gunEnd = "konec rakety"; - memoryPointGunnerOptics = "look"; + gunnerRightHandAnimName = ""; + gunnerLeftHandAnimName = ""; + gunBeg = "missile_begin"; + gunEnd = "missile_end"; + memoryPointGunnerOptics = ""; }; }; @@ -91,7 +91,7 @@ class CfgVehicles { class ACE_Actions: ACE_Actions { class ACE_MainActions: ACE_MainActions { - //displayName = CSTRING(9m14); + displayName = CSTRING(9m14); }; }; diff --git a/addons/malyutka/data/9m14.p3d b/addons/malyutka/data/9m14.p3d index 4b934d20dc56a0587dc17a8af787f430f490481a..05a6514380957df7dcc1ac7d72413725b96b656e 100644 GIT binary patch delta 27858 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
l~VQ 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 wJE!5?VU19ir~k? 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 z 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

&hX@`rGzoe9Tzc~FQ2 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

tU-#uQ_ z>_W2UbON?qdd~~rS4d{e7eU`-H=J2oL6W*u@YYNQhZU8O!3+~DiZsPbleUwg&kSbP zt7Fozjbwh92M*dxWA&7566iPwo#ndt^tewnF@HQCJ=R~N!_lA2y&sKn8_Q|xA$ua} zABQhg*V9Yo*5r9@5}tAnpniddWXi!*Tya8+{x;Mh8!#Q!xj`CmPM#DBufUz`Hn!%B z6d8Gt(}kk~yX>nNd8L_&Vj7MOqYm^k`g6FDY*htMN%jrXHIbi*{qo}(ZQVDFbngmu zyuW~{t!ih)R5G!{Kba}-e8l+7mccz%-0y>m6`{j*Fe};tZ&r`zlG2u#m_7;3jkU-Y z5oZii)x`T<3MA6Q7w0xfV^6a*xi7&vWWE1Fot#8Sq4r|jk$9EbjT9nGKn%|CE~A!w z*&j@GU?K)yUPFUKUNQ7d3gW|=)YbhRQ@$u2U&w0GPxKkHKzaop$Zcay7vE=Wn>eq* zx0~1rH{UQ-D>G5eSe|{`e4ClFJQK%#5j0djXk$!$xzc;(hk1`4yk)XNGSPbJL?(IS zea6c&6R|On`8@ED>6FhzzE*WAb9eX?Cdx(zle1>x6y3?>>v0_vy5@itPNT{Ay_Oi) zJqac6$dD9i7yQ+)fnx@GnPWd^Gcxl_*wua9`+Eu)PuXf#wM-t}ZD!$LIj7o%WAVp2z5^b) zbKmY&+Y~GjoAl=&0lIFepsaz>1&1443j;7CO%mS-6*Y_;Hy>M+-qY`vsed1GD6lFhV1z^|+NzSa;k<}T9z_k+Z z=)sGN*^69K>BelNVqx`H@-*R+$0GFRC1y-8U1GM2WOd|?N7r=r7F3%W%?nwGkx z<1yK9tapnll?YD9)aga+!^@NDfo1o#jNXHLsPycVEeXbOr>EiT_OL2 z8b1iagfv5X<*7UhrFdbQmm2*TKNkH9310S4qo-PIP_5qt=f#bt2l>;{=-X(#D6c`2 z2mSD6lo+1d#8;z*HA^^dX9Eoo=+pC!G58C&)7m9QblGZ}hTd}!a1R9xGvz^+XUp}xhb_%OcGHhNP8op3A# z0}o0u?<-Ff`CK30Q++{|m z=2DxW?{tp%JQUq$Nbjwd$2{VN2VdyZZ_WBxQ~_AfqeB;6w8s1cCRp!eMn#ld(Op;- zM+{lf3v*`U+}on)Kj1*+H-{ik_%&^N>`9vfmg0-3ZPfNhGUd-(6@&A(g;6`_HMGq( z4r{9PXsg5)I(K6nE~|OM9*x*Zh1bVnvu6z3Jn8^_nIFS(`*Q_{ZXKf)@yl>yej(3H z{wy6+7LDV10SsNzNOjehpls)MW=h$0nlv{OFD<{o+&OZe=Jn4<>GBTdi^(%;Qyz}C z&%W`QReJ5zCH@P&G0O)x`j*o(RWdkhi4)%4UP?C?>);4sOVpTjkp9|Yjy4_!sLkI= z_t`q4^1+dq@}ih7OypFJI|k^>o}Dx-cn*$S{Fvqk?V^zj!||4XElus&LuEA<;oJ|~ zsP^=|^juREj`NPBRjDQP;Zy!nY*=kVwO5o=k@d^)isLu-ZhbY~S-BJsJl()98#qfZ zge}Fm)~|w-%1HOdMdQqclWlLqMfz1}5thPgX2kvbR7^Ay9|)=$)5(wMrl1Aby`_bj zp!tlB86JVIr7sxg`)_Hxpo1n{@WG>7%4wpR45r69p&Vc35MAD@h0Y(XP*Lpw6^Sv! zjCy^{4md>B_fN$uG9z*Qx^h~^^T0jFf7AMsN~+2C!_O)YXiixzEnYhhrJ`%-J}w~D z&U+C|#(DI6tN1khCv@6z{oBe406Hl1VBO8tkzF?df4d%vQc?yn8w=KuZ- zcHM?f+G!q)5_TnmEV)5y9yJGZXJzwlC5hpfll~}OpdA|>c4bD z{*MpL-e6UX%;RE#9o>xdcy%0C_?%8SH5F@>256_SDCP%S;>+Vb^srdSfU1-_xH6{lfoA>5Jt7xIJhD!5GD`0hUb~jk?9%v|H93&)AD&Tk%iosz5Nv>^1B<;{mLlX^DA@ z)-(LO?dJG))kJ*MT+7%F+2E;S15}CWV8Z*R;+ya$s#g{o+hGYLD--J_$eM`Qg$8)W9!Qh9q- zEGc5p?&UVRX0sZe-Dl6onX*givjgh5uEzoU{jKPU)mr#f*b#4)i&B>?UA%U3Dn`Xr zu=kA&G06~6!EqWpoa2AV6x-orO>IGq$pmcE<07HjDBj)++(Ly|qL-8*vn|sC*I$~1 zFOQ`%SF&wTVzwzB)H=ZMyt(i^dpt^wsbxm4XD3{cPFJ*_O##CsC@ zSn4K*HY*iT&Q%A;Yzc6Jl!wph+T`caQo{^ta_6(?#Wk2 zbd6$bxEw*q%+dI<_cCALeZ&J(PAK8p!UJ}9!@aS~ek4wjyUhD2;)9RdWN?zP17jUI z8}q89@b}3qrgDluHdcsYlFAMygyV|vrw+pl(G|@3wcLhu^g()-FM&JAbQCC@r+TeI zcv9CH^3L7Z2g0BWq4?jGk5j3_#!x=MnKc_o$+eHa2zLHN>6z@;~1?G zxVLQ`mHXt19zF8-=z<^3mz#l!A2_x=UyrIS^+qqwa7J$K2Ug0+7q1?ZL?7=W_S->! z%OIF!1pqx-jcBQ`Q-SokugMwD@IepAvyb z78X*Ks(QL3KOFZitE5ZikI|1;Lh<+PbM#R89-46}1iPNzqQhfyX zimyV@xcm*}$ND(ZxT_(!si%W(h~yp;K_U3r@e^&!|H2+$6o%fKALx4DgX}Ef2%NIx zEsZ$s%Pv?pAN%rKX=hQPK+8H3+tOR;Ta`U_!#*s+Uv*p#vEwH1_T?p5@v4!YXf*%KDRg9?Aa?abc^$@LX*~|D^#^REpee|pR2`0xl4h@DU z&~UFtDxt6d$*nCk`Nb*f^Ev`QJUd8R+smoL+z6CNsiU(B3TXNH2wY^)Nc}}}D6cgF zpUl2O6YkBX_hJ{|GxzIsNYj*#>RgD?yRJ|j%R%;K=wiHKcY%6@@=viUF%;ZEgJCZ{)>IjoRCK*4C zh@$>BiHzZi6ih9iL7U49n2}@CFlG28`e1Y!bJ{;08&tIDM)4{}q&FRT}AyplQ89A4&B{1n{!J{M(2V|danDDVDGDB ztP;wk>-D7s3kQ;se=LgL9J1l@r>m!8=-6O7cwrbLc{vrYUUjEO?tPNXMYm36!U`iZMK$jy{f>wEM>{=A&^2CiE)N3o~{zdsk=RnHeH0C zbMb%9W)oKZ(LUzvKqh{;Fx2oR`4ls+FB99Py6l?Iono&3%*1;EI?SP;jf^`NyS@7` zlliKBj!9jYiJcGg8THCWX5)lRykq9brld*>%xn2raXXxiYszfs-pR*(H~8$xYbti{ z_%N(J$(075>zOTZ7TeGGOypxyQf&RkxmCJ_N|?JBb|u7{C$m4Wu9gUo4(0VY%` z17#9aNc4^&X7u=Ud>1&0JU=^(d{gHfZ_Eji-Sw4etWU-F)8~?RY2D0e^AuFhUB+=o zI~a>e$*8?Fi@bJt&-_wL!o%>r&gP|~ z-p@Ry<1QgiZE4(!<~U=XM#!wqX^0VR%LmZ9wMI8f44FM09n_Bnsb05XrfTC^UKU+G~SMokk*t z`{okK?C;F&`~*C|Zxay>_`sZYPQc#Ctt3;fjal_D9{YA}C1(2`GEct7qvEkxh94M1 zNGj)kqjI~1QJUdQM10dwch5ae*XK)|Wm9oZ-w-pVbS7zBlY+L5V@cG)aB^=P7rAD; z67Sy&hzof$ne{?*m-d;(T=!Ft@t5~!bY$d{R0pw}$a{L^9fJ}ewP0AdX z;=>`%&`REoq(*WhzdiC4SyVrT*dJbkqfT5R7T?XtginzuE!j*4zU!0K9SiXRJ|e%~ zs}ujC`8d*{m87`K64U+j@rUhevf!2^X?YlqySBe2#mfE6w90TCpYf5Xns+d#4{?ge zYwG08rv{S$Y6$bgx4=FASbVI3Wlh4k$Bo+4O!`aid5`gfRasxWVlH+ zIkjUxN-ZfPQy-U-+jk;RaKDb^SM4Q!{b9Hw4atN}+lcr5FwAbhL1qc9C-=ibF{$}J zIkRmA;ol6wnvzzcm=sAu--KY&`M2b8Y5+-b4Mx9!cSL@h1IGmjL1+H7PvnQ3IkD^r z#?|Q^Wc~zQ616A^p!VEmviz4f&W@IVuU@Okmy4b#JwgV=KE;v7EDv1FZN11E%_9|K-0{|UWiW{J zAX{I!;)uk!cWfATkwi}EC9(Ua zqh8)qa>BfW^lWy@oAMJhWdt zK_;aF#?BoDFW&AamS+G}C#gc-)vcuKG~i5e4Oq$MkV{-JlDA0WZy;@MO zHj5};o{DjO9LYq+fdmBuez>Ct&+|=5&kMjYKXoB&ga(O9w@1m1dT^YtGLp!zv&Zx< zU3jl7N|qgU;3&4qMEQj{q?CB0w&Qj(3MIfb)*Xe~YRIPyQAqgVf*M{o$==Li;PS~4 zs}0{1sjEGN{~2&}!XUx-??`PrgFSDD!~6-YBz&3;HufmPsW(@L^iQIG!{jRY$5J- zBzGGOa8nl#PSyJmcBMW}HUS7ZXhXKW(nFm=d)V4xL>kj|@FVL03PS2+^BNu8AvF#3 zM#_>Sw>ilU>?if_jX14-rwQJ@!IJt_2C#wK9+~9ujMSEBfz9Qy`0PR-`R*_p%sEc~ z;a^hVOXZ+uuMS$4D1)B5IGi}DftTyF!EB(Hs0^v0TgW(=@vV&ryQ9V9S)z7Q6@Bm8!kf>BNy}DMuBrx~faS#^q8Y1-WtsLMqq&yEFI2_wvyPxV z7)v(fsA7ukG`Kn0pXATw#K^~;VEd)1q|aXs{kKemj<4g%<3*bIUDO%!533Q?91VQ^ z$r)Pn6i8sdIy#B%C+2U*L+&qAoO%Mu;qb8_dQsxLBxaoK}pvJe;d2Tuk|>>%gEWzc7$9T?Ae zKswr`@Pv&c=!#t=t1`q;wtPCM?>RvZ_y}WNf+wtL*h`Gx48w>^KA>iqM|`5W%!s=m z@CO=J5R21&)I2f}wpfOdlBOT@=$IgQxW$bG4*$v}kLH1rz=C{M=%i0VgQ541E?G6D zi^ge(z}<31^6YIVy_(-ZHhh`}?PB7{?|4Sek7Qt?nJAjWFvyr=2|js)^rx~sct17< zp-(;Zm#ilA>1l(o)ptJKe$xnSvy>o&*GWI`wSsIPDF}JnPM?MW1f}(p`vY$&^Uwvd zHoqd`zuP!Dg$Jk?-5^6x+UUJKK9HVyng~9$(dSKmu=(Uc(!H#Ws!;A?PH!bY7r&zH z$RMuJ$x5Og_L{0R&4bs!=98CIZ)j~}FpLo4{9lYNw^N;_5D3q;Alpv9qd^s+AdUJ& z()t~Z$50?UMv=J04|IED18Leb4ca2bF(TmwnQ2YH{k0HQC<}q=YD+jD{F~MlD8S`P z6Y%GHPE|Y=jL6 zKluB0I_hK`#MR0Z<5yeh75&>}=&~PlSk}{9><=PY<_X;&t7*$A8E^@m246#t(8abI zaD2!bj&VV0poFVnfaKqWbm1~jcu^_>CYuZC zgK>UvHS-I3el(xvJ`CbRTkn0&`)4a{s0#-XHzZBon`qwJg^=w~L2ME?Q!m*ipcGp~ z+e7T+`Ut9+1OO}x7r}AicRtz-l@*)#rHqixZW5M)>4SDUKM@8%6 z!0MnL`F&?2MW1-+>5(DZ%k!wE`5iLnyC3vSB4Y-;FdEJYMY`Y9qso-oh=gc6S;%*mw< zU2OKkbl9GyO*E%GWUrKFz==``68}iRHl{u$4;(mWOk+E`vRMc;J^aCYl0A+0Qi6*j zGaz}wM9Oc}H-OG@0F^xkRB@IC7<5j8tZfFAJ!%iPEc9Tt`6&9-#sj2QDZ%7QMLJ2< z9~4r=!S#j|&G{J&NuR%wq7q^H^1%Z5toDe!+CPl4;Ze{W(MS@)Ua$%k%VEiz3gT4P z#@6uS;k-`~`7QpCP5G7x1>vjsWS`wl_R#1Q@c$4=vdWrRp;M_aM&L&7Kf1(boK5HW ze%eG!i?Z{4GN5U{Jh^d(W&1y7fcYIUQdD?^eQ)xNT(1d(aof3FjsRh}`pzG$uTG?= zIq7>zmpl9}8cWC7jD=QJfZ`z~>T%K%qN2^k0yY%|zI^C!f6dp~(AiCK+y?&LY7Q<-AdisqpF1Jd(a$fmzd&27Y54NDqHk z7*iOL0p}*FlEo*Bnb6amLuG>~dHI?$w?1V+{Qh6eRmXFj^};JMu!=L9ee%8GYnT`m z^XEXESyuy>tOYMq&p&MTOJ~MG^17*iu!6J=oc?C^2de}-!F5SJnD@ELuKBGu-214= z)v8{{+pRSR_^0oP!QIWTc~?Bcxi0xa_8L9s&COW^U&FYStoLZ9uOb$HmK`Ds!-E)! zmkDsDcpLG062`0wPKF9cK5_2MVNTejLgj_IWa*Rx%&6^YaR2gDQkZ*?S+g}A4m%nW z57Am?V{`_{Zc`v@8c#6Qbs1o2D@rCBH}V-pPT{22`;B??{VpSY?=_hR{cb4Z zOlZyp%mI^WTkUd0M}tt02lPme<^7y79`^JB_(^Qw74Efx!zO01pstUXG0GXvH0r>j zmo^Olt2eZCjfD73YnjUEIpC}<3St+FnS2#a8K?P)d^&c4sgqv>G7kLPWc81gFK^^CCH% zypBqQ^o{DItU8gHVgk&*C`^7BtR;(%B*47OADF3ca><64csRJfg?U!CjZ8l*3NIOd zIKxfZS^SU6(5d7OKF`#MTZJK{9pZs?urV3BVFl%!v-PPsBeLSPBZ!x4!o^jS$zZD| z$fU@_TSHT_Su+6G(?Ss3Gnstz41q-Vc9Ii5jaaW+0K1mnAiq_nk#BBGpz2pGd2w+% z8JD^gZe89@mJ7`#TP0&aAi9q5J9aD}tPjK*>QyZ~R8`V?qLCENEpaN;i{`j(A`Kt}!FKwh_}J zQ7CEk0}?!*q{XVh-0bO~c4RUstLH9~$AfoV^qc;T(|_*!Yy#g0rx1^qZ{Bz{X zt4JWRszmI=HBy|h5QaY+V1kS8lkI8?V1mmNhTMHd+&E_J#-h{AuA6Vk;)*bk+fBL_7TxIKOYooKQl!1IpI(8oe$$8uQP#dZKQTC=K-mFh*4hkiS$N= z!8e^EW-Z%EF0UR2$J}Rt%8?2Ji${X{Zvb<%3ZnK@7kok{!`AX6hq z3YPJ}HCze0L~6-~R3~U^6@dr-NbZdEfX!b&lDStelIQ9^uxms!pWMj5O;qbPGUaNReR$+S_2 zk=OYyu-DXwsad5330hrbOobi9TK^{Nh!mu$n}Kg>FENZ!1+9hp;B)jliSHW=EoW6= zUe{Nmws$gDH%b!3etaiqUhu$CqnC3?{Yq>G9pPEoV{(`aLJ#&#hd3`Jb1wIhmQkMY zaqA({F*rb;zVU)7=Z{#g-lJU0_$^5RIwVKK-~nhC4dxR9;M(%{JXvy`_Qkla=o zXuISM_DPZ?(nKDP-u8rfwU3xR(MmA&!wk50uA1q2t^yTW?hxCR#mw&;!}$TaLeB3% z#%!J@?5%f(#rsT{Rbo2uNvVsRy=n_)j|PdngcR@}mQDmOhu`G;ywT8PrVAd*1EeO* z0LH2+fo|_0SzS93RxA{Qwl*P1H@AUpN*!c$mnhiI;#{~ZZ;>h5lHl%V53sd{s48-H zok@-`yly-3cry~tW>14DkF&^^H_G6i;{f*-%pw7IHQ?3IR1k4CB`b4ux#F`Ycra_8 zBssKuJXB?I)LXX}hPPw_7$;hS&G-Y%+jw*E>NA7vB}vTUU~BjxYywd|qZp%L25dR% z?Sv0~yar7G+2i_fyLUV9Yo{Z0wml?wa`nNM)dQKN9?8fM9ckrwmukhshmn&R!q6K@lUwz2{zQzbIIXCj>0WdVx6 zzA)0?CqviD$*^Y5NoJ;s6?E~>a23aoX3W3jRb!(gqf21u=VL>!e7G?hku3{a*k#dBt&ciL~|}k z3q`gNebx+aN*Y0jdJKs>Z3(+47=p+zAQK?}>^z|l-0c(AUpA)+M+N>utueZd^T$hjdf`Z#AYd{qR-iMqlk!EN&EQ4hJkihI_7 z{zzn`-jlm!j?i;?7+mkaOH?x);Fp9nST3OCR;)b?U6F&1t0hFyU)e-*uD8ZXR-WsA7LRrdlf@`FFzRT78HMJJ*oEGYF=>=qF-kF@hSM5ExSI<@modjtP_vL!o-qX>v|U6k?oRpmF^j67{`@ zxHvn5>BDyNE%PNgBk2Mn`Mu<*TodWL;0onl!Vs=eN$j4u0lg;yzqmMX;u?1_>yred zoHWuZI{Q$SJ>1Ec8@)uMRANmshWo5;m$~_oF3nUjHmPHtdj~ zD|#8|NgXFOhla714l!_S>S3~EhXh-5GZr3p?&Oly=Ik>;JXG1`l8&=yNvigIco@8o zh!0fpiT7kqfO5Bv4BD3v<$y47KYE@thi@jA%EP#l&UeU^AU-KL9SRa@kBD8lA91P; z1AmnlMA5^N7=8+a@8K`W3Oa(gx<+sb$LA!Pv@!>T7l7;H$3(S#CsW;jqhPp{hA@0-(l30FD;4T~k zhSpW2#dtt4_i_yIo|hA~C|%CNfOEyYyN{S0w_zuA#zAA!ZXy;4EGEW-=gwTBt$c=L z@8X`UihGFo$|K}-4EMo;>bbMb7ed7C@@*c~Tk{LVj8-gdM{; z&8CGVS?#+BCIvPUk|IMcFI@sNMFr%$>~-dQV>GDtogi=IRx^c(%fU>%oD42hXWI6~ zLf)`lWP+75Z)a~jwB6Z63X3EKbNUjY`P~Xq|Lmw>-M3_@J{(SBKIpQ}v8k|$OY8Hi zt!-FU?=)ENXGP+@JXx)RbeQO^NJbB&vyUHT!2hvz=K(c+-~afFMw(PADh*P}6q3|E zdo`y>a}k}4i%uv2IEdbfdCi!N+@?#;`?#wsa08{u)XOavaH`X{qoMok^DSa8hcX z3gfIoNn?UO8J;~GW^9^C>TKnR$;#Pq>~R`-Em6aDdp#SjD9t4cUmfIXuFdA5@- ziO}CH8}`{rlIsun<-)p2*--nrl{@N?E0oR6h7kS%cWU)oq3vllcx)d^+!t}A@N6n1 zezj-(@<5U)P6bmBFXH4cPyB7t;L!yia@O`1_enb)4th)?syDWB55m(S89Yg!-y9bc zlmWvhk0BTK%@SGBOz6JQi1cwX5f3?#1!s9jHL`fvHL;<6Haziu${p)Ygc8=ztspAm z`V=MzM~c`>T^PbOn=KV2d+^|^-Yl9|QXu58mD8_@lSL7c1wwawHUczwvpC6kpRlA4 zlPzRrgxbTq1e2aTJbyJsSRA`UNT|tytJWKYa~Jjrd5JkNF8rYI`a+?=5BAN0G|xD0 z?EEyFnQM4Ro|woTy+2&+vy_J)VX0jBv|4du0vmE}x0HMGqDGwV&x6%7f9{^HqmUWM zLqf?&?z}>_u*rdk$+NV%&B{xJ2H;`tL@BQS(pl-hM zg$*h^Yq6;wy(Ky=M1;oE`|LHGCrIP?EDf}18TBim-r?)(qh7h6eLUPx!QYcqpS%L#1O zxKXj-%y`(nzYn}0Jn4AU?I^fCqpq_%zIXRDxN<$aGjG|cvYpd zUH_lx1lSr{)R~8{<-Bda-LT`F3cj8|>ISpUgXu+m!2I<1&MbB35$kY>LVM>{%Z>+U zKLjn?(?;idhH=j~^B7hAcvP;PD%A?f?mWNe$pRWc) zy4aBH+IdcurafMJZ`_&B>jvW&`R|nPcoviFlkn}lZJp1q&L{^bnY9TWe?H5KM=aaM z^?tUlqB)OkPHtaHZf~)#xV)5&;3#kCyy65ySKJWP4?515IBAToj`p27!}JIJcrB=i?BuR z&U}RBF)Uj}*u&nqY;s$vZ)ZO6C-1hN4Al!(k}$6)v@3_R9KhOmS1;c{PMa@eng727 z`>DzBq*osK{dTADcm7h94BPuIB~N~S;=1x9mWP+c!cMI@WJh2D`8#V!27-QgD4ARE znRH|wmglovR%{CvZDWXScS9&=c{s~`XxN6UuF|KvBLGjM|IC@SOkUidpt(TK-Arju#H=Z&-@?`C-x%OfEWjm-UM_q5i| ztjDqx%Um}=m%%=Cw2C2iWQW20zXx;Y>f-u;#!|;r2kgje|71Udx3uPs0j-k{!GOQ= z>nUq!%7F($d{Yv>Vmb9sF44RwR0jkKnyeM0Bj5g$O?F@8+SM&ZpDyO$A&p9*RWe+t zX7wZUc{Zo%!>@6ILoGY_D-Sx5C!9)@6TX`B*p=H^{;_&7)g$ zRq4CC$*9~AL#uik(2)%(s8BPAEL>+;ovBrr)UUNf#WOD#GN0^XXkXeOxbZjW2tx zr@hDOvHJZ{I8CyI#w6-uWZeLK^P!%aH}}Kv9p7m8&%H4n2Vk8;0EP`&K)Q|iuGmMgH25oR-2IliT!zbCDVR(Hc+HtjOOYq>8A~&U_ko-{B-#MeUvZ^Rx9dY z;l+FOTm2vic-=%N^iak=cZb4Y_coe0#)B#Z2g0a;?^JqD34n0$Ay`7SIu%R}JJb;Rk+R4#s1GT0WZ zCQcINTyRM;WV+2K{ijNi($OjK%PD|d+cS);ikuB+*C`Ne@E{h$(;(&5N3tkWk_|Ho zftqJ;2yc=;f^6{&h7CFo$byqIN#2QIIP&2np~{;{*xFEdP&Aitw<}4KX(WhI7ef6V z2oyT7WtzS)_Xkg||FVN;pH*O5#9rd@)((ofcH+C@4v8ptgb!7vq-2*Q`2OPxycGv- z?ipmlA$<@jSb_ie?c`crKOREu*oY0;>*R`2KPc_130kuyp}dy?qyyqaqXo1%xI`B z{YjoTN5VAOJ!HlAjbyJ}5L8aRMwIL~k{%YGkbi~$P0kQB5{trTZG;!;VN8-(ErLhb^RU&P|2dWp!lm5uP?}_kee+WMFT~d}=Uk zG=y0jgTvGLG-_ZEcyP%bc52L_1CRT|7tbT)aaApKar1ziTW*ub4*$^JE%xAe={I>E zeTRN=7z|S@bbZdVq^0Po{_0(~&E!!7t zd`))etKgpB+EAgd0{7o5VVT@pVjyP@VKFM`*G(UEkIy3q?uqcDcR#T5+CiSUS>f-| zn(*7RikOF5;EyxXU}XJ`+#NL%?`U1($%*Tlpgz}v{hR+pMnrOC{hcXzp0!4Qy`M0PeG_V8{Z*@yN2*#2UZ$xeW^%G8gQ zCM<7T=4>6>t+mpN<&mE^S{J6js(k*vLA1x?3}<~N2ZtPO7fIcFEb3Xsqj&8$(L=pk zg4!z9a9E?twKA?TnsJQ=g<4$qt65ktsY|3Mw2Nk}Ou@nrtBLmD{UWCw(s0%-5c<@e z6B+YvC8VhLEJ$3}E=tM$Ku+xngIhO(MORfqL9+fcJ$S5LG-}dBNZBEW&X*R5Tt!Z> za{&8oS*y%hN=IYa=6iJJJ0(tL*9264sDV}AzlpwAgkZvj7J4sOiW|~Ci^8Ean9uj* zcK;z7TmESm&C4jD@_iZIxNX5m(MmS&$#8BiS*G1CvgOmkd_*`2?6*v0@F)kmw+bB7 zDn*@IrB@a{c;Ag1wQwg*U|eIBlNxumtzGmj$_4qr4z7{c5OsKs#X;JzZ+^Sz0`nRZ znb&w;qFr=qwmJ-p_C(xS!Jx-RV$Qrq$>%EECB`+jd^8ufo3)G5qFD>(xQ9YY>SIv{ z*Vw`~GdEpiS6sv9ez0Hdo3+|SHq4c@on}V2uLDsB*BEHBfmXdx;9?YpU>Tn%!taLd zBBNFMxQ}ze{xSi!RF)Yqrvf+e2W^#c!g0;nP9oMm16MY!`jWjUa}}a$Hx@Cw zk+F=Gf3b}J$vPv%6yU!PdkGP+Uq58ZgMnE(H~jQJ-{jPeT3Muk6i zV;9BP@jzW!-hO>W_#e8Fv5cqwVj2IFH3zM#=%O1t{%#k=_;*(2k8P>=+ivWl7&}ht z%F?0dDx&|g8@njRj&r)Q#-o9j3XE=C`G;=oq8K~Q>B?35XDd!Ix^ej*x^eyX%aoU0 z{IAQ{anO-x7yPJ@RNh4E4F9zoyC}wv2kOduf_;yVEZZW~!+%qZ9p`khj7A#P#}EHS zH+E5s9p`lA0}#(!{%tpQQH&iYb>*bT{uRE=ZnR-`9d_d% zy0MF5?0C{$Id3Xok>Jb**Z-j#H!yJU|I0E?j83ai<=I-_9%eT(m(jY5V*ESvv&$?y z>_!ReZJo<4T@+)-59`Y5`zMX=ru=_&e;J$f?UzZzqS*h+EgMZn4`pf3b|oH5)7g z)q9zdcQOC2&HcB__%F-2*2BfJ!){#5menNldo7pj&tJ&hCo)SZ62*=k-JL-MAR8-x4&|^IF^}q(;2KTt9wH{^F$u|KQ{;H1LyLn z085L?O15?h3gVw9u5e=*rgt=Hx#$GL^c2N8aAu3Lh_1gPbU=JV8N|1qL3|PI$&jRf zOZ2MeI$HIP_k}}4oVoQI6mfb@C~R6}%EgavqT7F3048Q}A0}I%D8S`3{R}F zP=ZHn`tAs2UtH~A2=@mqQq3^L*wwMPZ|f)G61SB*elG-5*ao|;XE7J1 zn2vX(*ApY=BGxk(acJFSk!p4+SHVm0cp|dJN@IB`mnp;6A^k3M?--2e&tSxolyJ9hWMgUKdFpy+H+OYzEIz7OM<3J|ae{0z-my@^SF!83VeH9C zENG^CCT`{47KC8a4GUa+DvJwPW`To$8{mq$%eXD6PMty||Kks0c>AFfS`H59;@MTQ zmkW0umE)GPmupx}C>nk>VZw+c;FA#m@66`jSVf3CZi0pY?r z`f@*CBm~PQ1Lx}^^kugU0Vi|7_2p=;!xCJ!1WX_&~-AcIFONFpM9iPX4k4|C5_O z492fY>~bP+^-=h`G#SpbEX(p2mKh&Ny7)lG3i71O6+GgynkbFEDKthU z!{7Pyl(i)4#ChR~dNQ=IJnc_rlpyKi13PjTD|mMQIEt5SCkIvV_LWZ45Aso`BV_fdJ}8^U|JxR+F=QjE=$nrP$=1B7f$<_CV}#S z1?21~Hj73v0h~Sa$$)Y{%I}YdjAy&a19?~aTr&<EPot^k$yhk@`V48_Yex4o zN^s!2E5zxx4joIUf!FvN@~usQdOJr!TR|%xrf;js1MD-xJdA$-y6qy$M9B`B+Tp7dd(qYtf%g*}%(l9h}VY-6n8nX%U7N;gUi zb*94=yQySez)8Bie>D7*p3nBcOKEi_yXpRxPvVCb({VE*fKQxoh#0u-pgt0%ip$I$g2L9p^?0~ulJLywLP zf;n+-$g;&&bOEblH-7z*Bo8y8PZtNls$-4huw^f*#aO|Bx)!3%SizOyLD2sDGckSF zzzfSp21D-sPeeERreHK61l}KNCZ@WqK6PLS>|`Ul+Y^oozXC&`p{$9N&fFzfONVx_ zf~1QTy!SJfIGs8}{TVA*eUeq;`yd^W5eAC;_pxCMr)d1pPF9d~v4Y!zYKiZdeKap_ zA`}eZ8_Cw`o9Tp2zR)W9n>4OiMKwg;u)0j@!; zv4ZB44Pd_WcA=TCbb_aI4B$odGQsMJ6PtOh1j~Ka2?Y!~T$gGHD?iN_3YanIzcY`# z93+ET%otRQK0=&AB=I+O1McHhGP|~oiqE+~8P`Cnjy2G-8BWk7k^onWTI$J&!7&sryw6mDr4gshQ?+d)i%dNE7M+6afbm4T&5}JCj(-?%mj6vu!1{Z3w za`*Masb(>o&uTaTv@(0sH{IFZ#g_rFN%ULj>uL*8?E_$9#y>)%f*rWW4uI!sYztDE zP5eAL0Qx-LEL0U7==Pi=#A-Uhj`w*aLq`UO|7#4AE@N<| z$6fO5#ZNj!(E+Z1Z6-Z8G*JzXu3JHo@(a^Z}DAzXUz1opCP*!&R#sETv~>)!!F zUVi%R4_4pwsi}^(`t|{j+EJi5;5@Aus0o{P zi(vZ11C(bKSz!YW}7j*I%hnGtT_XH+6=ouv&sja*@2;9}u)l5Ph#2wmKu z=3*Dn2`~}@mGvP+aE5SAHNl#_>lrsly12n!fv?Hi_qzCwaf1uC%knVsum%SC=z!xu zEeO2Y1CJ|cfw77ye7g0MYOd@B2}ef3TZQM;xIe4FieQaUBQMd5ZLE}hf*a_RAEL@% zx z+l0B#_|HVVI0P&WjthZ%J`ukup-|*8PY5XK^ai2J8P)(NC9gB@D0@y zZ%%C_dQN^YRL4mO>ZJ(f|Ac}?(7eiRTA#?zqi@I$Hp99%F9|1?%Yxsi;rN@;gK9hb zLJeD-UnA8*tXTJsK7YG6IzN5gVGlx=J=kx&6Abp2d5&j*xchSX~8gP zj`~oUwBrL&^9y5@S!XL%tsBYAWpByNN*fH>ECI1T@(|a51g7S+kg@8za5jGcT0VJ2 zj<*a2mv9YCYp7!t{{#lymch4us!3|^@j$+R;HjJK1+vCJ0Osw!O8alDB-KU1pkh=^ zUDZm-!h%TfIk}qN`c>Rv4?>qcxbbQ{JSwoHc2hd-LHO4m+)Aq0#%n~)IU#4&W^z_L z8D6pryWYNmgdI+XnDe~^amIR*pPLNc25&39o$^W4IX)TYKsQm&*Y#wqWilLHc2P7^ zt$@^So&jEm7#SiyOHQ0%b?Q3JB3!bbT;@Aj%BF_}K^D;%ar?Z+ch7h_KLfcg-u(t4a<@DpZWcGp-SZL=d`c{`q zGGbDI-}wE6h~w6DIE2vU5Pnu*18w(r^bQq~)Fw^vWDcRr#+_vFwn4Cd9diiBZDNCz z3B+B}#v`Lwk%c+#5LVX%RnKLU3ws0M-o=l!;cP4^o)ZDypRdxFE)&Tje@2f#+fOUn zUCAB)L=d!=(zK(ac`}R@FnxXLOXof`Ca#aup;Xn7PO8-+R>-z>2D}kYTvj3HdS^qm z&2nK*syvzeoRxvJY74s#wsUXqu__;fm6dY2Qe>5O4oIEcCc5I&%8fA3fzwh0xoy2V z8A9k{2$|RqU1C4^#kQ7?^NYBiTkmr&!xdOpofn#<4ky!Q8o&-6ruAhGB+z{n{CIDU zlB7?ENeEN^n1s45K9F<22afKpN><2+z^XeR=+DX?T_)j6tuR;@ z{+?c7CSguaEHtEFq_^%Qa$I^Mtmw6i&ONTp^*ogdx;}Gg*~Lzi5dN5i9V8+AMG`_6 zNmyFQPi5ZN@$u16I=iYJ^{w zxq-%N9h@PxukuIPM2NJP!*O+X;)d(t(9F6L{m-Y1jpJrOB>OO(s*)?V9m3k&mTaRx zZe0+^x28f;Q5OBw{6p++l?g4*_OxlWq_AO1He7tEK(EX;6sE9chaB5-;o(;sVZJ#J zE{k|~;oiPJQjtBAGW0m$!s@LWz#0nMCneA5V|zN0Cs({nmji{E>Gwmn*&F$ zZsUIK+97CZ=76eh3FjbrR4A0~1*Og282$W}&5fbPV0)77^?xm^?Ei2KEdDVJ9}UbG ze_!baX}&sWI7dpz<7+1Z7Rh2mwy~hvJpy`6Z=hrO1wyX-43MlnO-D9w6JAs%LVVRG z`crgS=x&e-T9xs1z@R1}irp;PxLeSmmvYpc5WfSQ_i!{iRT*ejmPM}}k&4wk<4snZnu;G5j zY(G`)I%o4^9%W-NAd8K`n8U_k+`q$a$|GNM26ap6-Vv?j%9$yc7;H+9F6adVJSO0y z)dQ(G(HQca2_AMgph{cEz@@4|cy4PydQ;5}%0e}f`(jFyM+fk*>w9b?!2i2u6HM3Kly>w zk@ebXnR2*3)rxk%YX!m~GYm`OXmRXVm@q&Sts2JC9yNZDGou@}Ui6{6>x1EH!$Uf4 zYZP6xD-N9bsysTf-z>UNCjo9qhSONjx%8*NDwJXd&{EkIl>M58!xs01Euszd6ss_H zmq-(ikJ&?S=goqupk?A}CKK*Wj|aUkrJ`l`PSS=)u^`#t&J_h;pxQbyP~4W!Nivzx z+Atc9JgMT$pI6f|g-E!y`Z+f}qmJ@ybP05gE@4a|Fs86mDU4XeT44&j@LEg}Rr6JZ zW4r@S4mn8M78yXL^C+|*yOSO_wt!kELmW6^H!U@CfYK-x1`O_`xY!f6s(hofFYcf- zb_c?8p@y1RZl@X7Lt*f9HgK5ir@MYefr04?o(`W^M0as9AlDc`$M-!-8`@&waJddO zN~)kH6J|g*e_Qx`L7+R9uz|kzNkVbT8MF0`MvKG25+z9Z4X<}fwsHv$$cU{@(~h}zWH!uLugR5?&et9rYG;?fp6toQ^q zedz~lRj$(>>rc}`+Ed_1-T}J*_eDDDTrj*+T|jHj-KMRd*d!81H!6;MKrg-wg#GcM9SfJ zSzpLMk;C<0qr_ki4;Vc3Dwk)ej)_OdgJJ9kZZO*#O(cHc49?u6K8ko`&R8gm`@!+u zbkL~(6Eb)RVBuy7%yE$dzCm*&YL@<>{|wWF8?wfjUe`)3B27X3NgXR*wa`}qqk*t{ zTb(cO=#dEy5Z(7Bt$Fp4zS0~I;l0n$69J!S*d=eM+P#h1UTLNomI0tx%u}&^8{K_* zBIpGZs%G+=Ms1tKwpV-5nU391>Cq%O9e12vFq@M*K6N52UkbuKBRMo`@Pn5F4_Bt_ zQNWF2Z@B*Pn&`7dFZ}$_6XNfV&Ti~z>NM9_+7m_NJWjrHm_gQV}EbRyKjVd87^sgX#gl}=hd-}U47f^ zk+82!68EP|pjkNw&F`Pme2H#2V4xF>{&0%&FQsvRKQ}OM+(5mq$>S-ujT)UBLnB@) z;}smob{&V&(fic#kmfj${@x^{z0pElJr@|edWkUXhaSQK2gsfNO5FI~2=kUPe!u%r zk*L`Whx04OKv`u!E?vtUkB_i`f(vZq4O>u^+Gq}^wjJOC^sLZyF6&HLdzag-&f&Dn z7I4=+o9mrxfpo(F@Y?p7Gpn`5(x^+sevt`Ed|*wo9`A`2=%VOhe~kYk3&k6HVM~=h z9vGns6O5(M^m0GkG|dP$zJ5*lZl83q$zUj~U3Qt87xqKH;!&`SJ3tpZ>7m~P8;Fr! zMlbBr!^e{dJl!*ysu>z0USmrM5ytfSi2fM48=%kTr$X;Y6NF71M2lAmh3bP)w8sXD ztAB_c+8740-U>pV9<}DehGWlq3)UdgDAHsXdB2E#25TRRE=S6*Nng=Ylc8@kQ_axJO+Ec9|*zCCBlXwj8IfDfzJ_R1&uX! zsPa)Cl*Y-5cd5JJ=;M7MwY*ext$rNN7OBIe+Z_T%uJq9&}c)Dirc)7k&DI;g3eiGTQdqJzFN%o6fN-$wXi4%?~R^;4I-d%+I} zE|i1b#YtQrnThCkND5YYZR9R$2V$+ABs3}<wSj&tAB(qrn~7oiHTqk^6_?(Sgc}pfsOn}{eAy@q z1tA+~QN}p*8Q&8$-p-~^PPpTa-aUb@8BLQud*PE_@{o2?gKx;-_bWt~gm82jSx;on_T-9%NZhdcIwP<$ zIq$~lxVMlJU*)abq02LHnr#_rx?9e5uZ+ium5fmuP{r+kJqrT{Z6W3nx42`|60!K{ zIr5W@!=l?_ar52`^63Dj)%@T{6in6=`EeCA%{?5a?>#^ksqCTZ65)7qW+hRT%cJs} z!thyb6;a*6)5Ec0*w^_VQlu3~e@TU5^YkZV^HB@B?r|s%-~WOv9H&6*CxziPhi7Ee z+RH+%Qv~YGt0(Pciv+Zc#94{8! zZDd#Z7FysQg~>~fl1o0z>GJRFr9OO$#Bj0HuiG@Nm~)z#&ETj~LNt24V;_3z%Jk5- z7#wg+Oo}5e3-|ZUz-}kXNlQB~H2jFi8UGw4N;mI|jg=Cxf6F%Vd#mXwIxGqGv(^%m z(Qieo%u`VRZY&9kxeS1dUpJ(ugj>T;y=+(}OMR<5Xf28P#;AR=aSN2+Av zjuJg`W!-U3{!S*o94}4s?_A+RS7zbhQy;jtr?)xVhAdorM~h4v;6k0u({O9zD6;w> zN2esFB0h5`r?ZTy{kT+IC>czqr}v~9(^IjE-#CjX?r0PS$fRPXWExqxv`n}>B^3)Q zGsthF9N}tdDs~^2N=jlBg|7~27_)meag|vnmWWHk9dp9Spzbyzx83QO=s1yVd~;ir z*`E!SJmyO3S}Zx|lNtE-ktNaGF`d(&orzZahmvz+7jng=nYi(^F3~Q{=lDdMES#99 zP70;>aS!6MaAsA*KZ;&PTr9K-M z486qd3Sx$zOAbaUWpf{*c5#^{IrvMD+g%c_ROnJm&Tc;HI8z6=^KtvFv#Sw|-Aw z?rIE=yN(jhPSuao31KzAn=H9$TV`@|m};1pDaEC>;8aNa3S!JxZP@3XPe#XR8X0t?5CY^kjCv)Icih+mq<1 zW#H*`Rghfj~Cr;m0c4}Q+Z0Y`GE%c@`8%~vUy>9l|@ zE&j+oos)t!p(|U_m^|mb_8S#1-EBDq-jZAoY(j zF!2r*qN_bf`x4fd@#VQNgG?a02I;uIr5m;CGnQO?mxgUk3}=b*Abqn^(QVf-TKv(G z><>)E-rYE=E5(s>dZ{So>_KnUSdydsY_!BM`XJGqs)$&|2=MmaWZ|Lz(ejX zxl<6uk%{|~Fv}x>-W#7l_DxN|jKfRl%9k@pOU_J`EZj(wikLLDE)H$P`=~@~AUVG= z7T@?DrT0_aiF#EG9+`NWX7zL-Yrjszbq_Al(gPOcsrNJ6lRhnO7f;AM>VB&4Xeh|4$Sen=Ybxnib?>Q6%o1v7WlU;}4U= zFCuV<`CdBEc^?T7g=24i9Ah8k&`8;oAfjWj-{2f3FSjK3~4Q>P?J;;9sj2c(*4a`Ibl z4*OxnQr=I>NL1LDk&3vn)V;@9qQ86^HhxZ__WtLI-M9!GH8__x z>760@b)l&6a1Y(W=EnDE2*N(RnC|^}obWG~OvWv@?oj({rKD99fR0aJQibXJ8Q$rO z4nNzd*_^H9U8@(WKI(?5OV*MgHhCi7O&*U0EG8RAx}(fxMLb=bO3IqYq2CKN>|-54 zs-#>I?rWg`5D!v8#$x;RK6u{UhHPXW_bUe-9FuNFa)~o0U({v4DktlZnHQaKX_X$n znyySNE;wSUuRfl3l_55jj##jLHf=a32isSG}dwwK(|+4vAuERhpBahp)t=VJuGec}&e68p-tmPWV9PGqwN7?s%6vU{sy^#TdgvVyM2Tt?qihUIdu%Ww~g$Mvc(zGwD9=+T%xevmZ_yWn5nmb9GVWO{zjK6 zw9|>-LtD&^HNezv0i?ex;DaIqTwP3v(Ggo*JkAjPY6p=J2RlqO?2q;7y2Rbv4oB}W zz(ylQ@@a|#<~JDPTYjz#u`aMj>C5RfvR4mS>o)-E3seU{`35uEB4pPu&;7?$%IZm;@_#|$1i$#!2LAQvl@o(ViR0`>IkWG8H~J9@lZT|VLN&I+Z27SjYN&UYe<8c3En+v zg%Sz#$=U)V{4m%CXKkNOjPi{zc{#!UuY5@bo3U3cYlk=9a;%rn0HsXq*;t%GSL9W2Cn-c4f$@&&k6p%WoYV5N3+=zSR>SdmT*ZW{!#rt`qX6FJ|K?oY{VoU~*ryUu%uY$xNq_=!=D+ zJi+%F8_1Ls4Dm0qMUR^ci9!imOvtpyu{~#z-Y(jBKG6ZSUiy;eC2ZisK?h8q$`M1O zez-Em2^D7!CYD2V(QAVaZtMh#)vPFKH~1^eS`fI{7^y~ze{4a zj|cWJ-A*2;|Dq1@J~$+yK;ABJ4tb;3MpJVFvFG4OlGWTqRd-Lp(M!jZ z$@@Oi$%m(6k6{*M`|(Elu^_M2k2pyrXRPE_Th{^$V+{agQ9} z_YPScHRdtR{KY||xEroJB7ytOEMce5cdCC=8Hcx;!8@6Do=)i257$ZS!-HKdH0!My z28q?-f&WM9|9upjJ|G9@Yu?a}Jpir4zmaLPshYf#Z%k) zaN-o)K+l&3VYjQ}h>^l8sw*3U^U_8Unbi%n%`*hK@cv}^jn`E055ZIK)JTQfJ1Tz2 z7OID_>5@yN@n-j@^uz%IKYy^rrUFT<-NU#PnXhz7X)oMbHv|GbKG4{M2Ix7qKa4q9 zPhTYtL*Eyg@M%yjea!3IAY}`W^>~Y}Ug(S_trD!F<1BsR;(>j7zag^=1-jM7AGcq< zO-@#xptomF#rP4Fc&uNe9c?M28)`L5k zc#c|3OG0&~2!7L9MT=B#QRig=5K(cAnuuGe{zE% zf}R$;>A^9B@%y|%@c86*S^;D5Sy(>^+O~x*f9#0+cl3g74(n+~H2X@tW_@=!@Nzvp zVCIjG3qO);8}ewl-c)?AeUI>otEg6L7`_RkBv3Jz_E{5!En!83^jb}So5W!Br42;! z^h!F9K81lPu1+7V&h0^gJ#IJlM&2LS>>O^ZY`=4d>cxoaZ z?r%soKVrMNuPu|XV4n(+%UDH68&*^ELjmCau#6gPX`>6AJm6H>K`QO7$i9v_!K&xG z=+2A%Flyl#Saqs^ma%ypM_Hf6&NHj&{qr`cucr@pY?jda_bynCsvy&xO{aNzqwITW z*rO9o@0(4=ALE({=KInC%x)gd$KEFr(RTD&RWyDWdY06V9!3Xlio-#N50UNx2DCUg z0oMd>WN$`w>a{!>hrV1$G?y#V;cBU9{3ebZuWu7JJxRk-eNS@c%tztD%naP5Hk#P> zxF>`sWMUd4maXpJ5JsqF;^)1qMJ>HuX!XJ@)Qs;*Mw*EQUQ1L*9kzr*eX|3tsgh)a zzysi1(I~1et&Wdl#>3>?L9`@f0N(EgaQLecRdcbxCGNvP{9TXs*lmY2yFVyjP@$hJ z+)?*|I;@?mM3a>Qu=Rlq{5~c{t0jYRr|f5P=&=NS_Bax64!TdUkgbr0#$wW#Gd!92 zvtC#_dnUfvdXTJL+#opgOu`(gd=g?%C-gX*g0)f$iS@6$!sr*NczIJadFx&yG;B%7 zR{sekM-(c zZ#d_DI0G#!9m%R`3%P{wEc9b+;^_+o+{oiu`0SJv8QMa*pTBwZP*<=vP98Fb5sKJF zC~iLYjIN#^3F_m2R2r*FkL#akI!L~-sqZh}=hO79IK3rcf&PCGvX zFI3r*{TaKsU28J&yR8Xn>t4o9B5bm}UN53>?JRe?JPXfqQe=Ym8E)gfEL@}bnfpDw zntT1vGdgQdB%Ix!Vsj%w8b2flf}gai=*KlpJlSUgWJsoq=Ex63GhJJdI`m$2Rm%#m z?ivo~(lj_7S0^k^=MCW?iRDV!I&I8iHQ2FtJ-1=mB)oS;3eNbP=7ze5qMQ4BLQ`LG zb6!NDS6em7ywHO*R?ftwx7e!JZEeCkCt}->mBiR{FuCT;L=GlWXjO_WV32As>i+MwBD>Dzmzg@ zNcD#k@UdGLKRpw)|9M$9Kfo9B!PcxW8L8?Vwa~l znJp6D{&AJWo*PGknx~_~nldtbkr(kxXO#VgEo2|)c^ZFNl6)heg@t+ zBO_F8K1bSrhT$iE=N@hh`<(whNdhM@ThZO|07(s1#bL}=)NI^CX0I{C6PHKA9lD#? zI}XR2%vOy4wvP-MNbp0h1{9xTw&MM)!laLXe zwjy@fik3qnk(MYCzvH#U>r4c$Dfz%{mVHbT)`Vlf;Pc!R&zB@!GaT>bALUM&za|;K zLvZM$HQcG}PvqM|3Cv@(qV&JCB98k3e5b8A;E^HL2akZ>Z1tPjir8flLXr90uAN8RDBFA^73cdTl9OIBSwPe8{TYn84O+5B7NPJ9D;f$l8_(T!zRXXE} zEDvt;eSNs6*F>d?Y#@*^i#v!ss_G7h=$)O+B6c#1JaZOHz8Pa7a~8)iXK`BL2n^)q zAhWrJv_28xA)PN|D03EHvdPp{d+(DH%P%CZ%@x^{G&1jBXA!%c#U3v`@awA;#Q9Wr zXglqNMr#s@%wB2OKidmWEN~(78MCN%%nOe`9zgUSbTW(V`~Uwri`eBXCP=ztk=8*j z|BfaMkROLvycTg=q_jce$XE<;pTHfA=?Bw~x!|WkHr!0H9#m{=q6-~up#AL+f->?L z%$P+l$4+JuyO_mMp==zwmO5CiNi`eBXUYYBN(Y36{fw6YXS;Q`9aZ)2-){8;J<57R;b%eu5$?`-Z$+Ux6 z#Q#UuoySA@v=PbHqJ^?%ccoQDN+|6qNof&DGxwad zZz^q+_En`)+NFMPee(PE{r&v)8V}O^Br7!tPPu3Fa$3< z^7FYCpP@8MWdJ)rH|EBLh$wRwvC~-`c-{8lm&jdQjP7 zLM<fws>08OUF>|ru7^|!* zU&&1i`$H~bC%L%xm<3MG?ZWXtk|}+6*bE=VE)%)wxYFULnbE(|K{UL{m4>I(!>4z~ ztl6qB{bBeGCau(=`@8%x7qQb^OwZQ9g>!z9Zv)NfP9J>?ihD|iJ?u;Ok1)lxlh2aM z7z@wAKz=grJTW2lBI_;M|Aj$ z@Q=R;o&KV^P8YmYTt@;&xl-0fgYUEi;y1yChMZT$vFCS^2IeoyX=&iE+ALB(hr#e{ z8045^^GW3`ce++z8!!5~lip2#_(fFWxBllZPQ0&)JC}Xqr0mB~eXE|BQdz+zGJmo0 zg&N-Nzk;)#`o~|yPJeMhm=eC%J02fO=tNf7 zU{f(h@_t(&J*oK>tVSJ>6!s0K-eE@}f3XZ5c4Y+RAFrqb$JQ_8p@#=m82u86+at2; zs|Ph*_Z9S1&XH}WJ?ZYp(zyC^8Id*`Mc2KP$7`N>BuCpO)4nn?*!{>yF7TEgW&9#^@{4}1@1c+TY@XY8FNBu#egwLwn?;=J zELu`>3x4&`5#43};^_;Q;7j~GaS`(uUDN>CL8Wer;7u(fnj?YnaU`}&!&6@e0{Z@%sCc9y)sXM z@8ulwjeWSz->ictb!p_so?yD7>JB_u%cCu1hnns*2GHx+Wu%wqi5vmT0O`*N9Y!>HSjEAZ;cdr_XkT)Jh<8SqG;(U!ABzz>EyjW)H9)U)BMBjMY0yyt97kN?EQ7;o zg5MDknP+mjmJ8@X*%Ejgs>hjckD^BHg>Y({hsfw#4DES03$o-DB}2Z&QL%X%wD&kH zS@t%bPT4dAE}Iw%w!Vqfzj_>`nmG!xbCQ^~cia{n*NqbnvW~vbch%w9_ax!s%@q1v zR|awn77BI|sg&BegY?e>!rNg<)b!#VL8kXIp@o$Q|7sryPN{BWb67l8sPTZ0BL8E|+Zbqr2|y(jCr%_kSqm1DdNpp ziQ&e2Q~2r9UsAX`g>I5khk3#UiJE&Vl^Op?Xp%M%qp?k1o>M+hB=r5yXypDe8hNf0 zY3%!EFZZElt6)AQjqYlS5K{NYJ3q_eX{u+8@Swm#a&86F21DY7FLN6tF;P7IOf!X5 zO*bV;%xDxp@e#BQ+=L{5o|cx|2ur)A3L9Aal3cT^kSLoX9B|<27!Mgi=0lF~hCR>} zPbrCY*xlW_eXIM3N^86v8sy&rnZ4kI+ z%xK*6CY64Sa3|`#Mo5T9(JG#^@{vV^U{IAhSnbFw7nycn(Ua{{q z8V_0d4V}r1#+&~bjaU9L8tGr7aVh&G`TajeKsLWLMx%1|Mwr8l#?Ny8Ra(qwT*{2b?lM=7 z?qNpb^S?&pc`X+nFaAXuPyIz2JDz=q(fH~gqtX8#qwxeY8by!S+qeET8jo&rvF|V% z5BxP6qx<}i(fIpVUmW4~pV64|kI`uL*J$k0g+2dHCsSW-J?v82$qiv(qru;7^EdBi z-|xuREL)((tPd#*55&5E^0S4;_~n8RSVSKJd*X8{dB8vj65y zESpr$!}~31r0vE=@^5yxW~<>%{=|OnC*sC3-^^|}up4J1*!*2tdvcYL03G?*-|Roy z5Vb$blP_#`j~~lgEPrKri_JUmHZ0_pTnM4tSRVH`54O$&6@$YfvzxK>-+ZXsdEqW= zIWykOD(C+v^RzAQ9G8(*Bp7{3{a;z?WFCnb)E!3lkEZ`-&y_9YscnCNJJV=Ke)2bm z&oiPKY?Nlh!eR7`hbz@#M&t0_dh`^_T7Prj5rI@b!WRz8zaSmCYXtw_jf>NxDDfN( zYEM>>3oH-+n=`v5(eAswplHZ8t|RyOo6Tk?(l#ScnC<&Q=*Zvy<_gUPR3&>Ph|g_+ zj@;vKp51*ajUMR%(T6`nN1p#TpJXj)REi;u*BH`x@}GRaNsr#&KMD$OxMD|c_?vCZ zUXv?l&B0=O5ZbVOm1RqoA4IJseamkOVbbjVz_Rh*-0FIU+w|N|P>xQ+j$HURUr0G8 zr8vF7om z`Xa6&ph9vn;(zDoA;Y;#s#hhScJSDdul&uWzLBCX`=y0^W;9l&t>MX;zDi)~6N5({ zWRedXyTWztSge|sK{T1s`1{r$qmle$G?GrEao*_XlkX)s_7{1<=+24V8cvqVNQ2hw*0W9Xc9mw|N)L&(@~R*2_U+ z=7O4a>h#wjHqeO~jfRsIXrHYJvfW(KA^rk6Y5xt}zmCARnIc-ZYcZ_wH9|urC%Tsz zjb)yHj7HjNG%DOTqtVQ06#r*5l1`)X`4L~L#)?!tKYoBK4wI=dpIHc2i{3(A?KrA1 zpc>wse+?0nDSg8xlkKp0118^l&@T%u&_Mk=G-b@Ahawlj($I}?;OK1nT_YbPy9=Pp z;ZS;L$#Ib1oePgPji>&@enR~7e5f2~L|tO+@rU0|F#o)e?w%D5R#nZy?`JX8JR%3W z&v_~E*^k3%uyZx*MraZYu1}?5;$INj{bz^KNIQ+jfyN1RmwXgVxw(!Ta3GeJ_R9tC zLK^pF;(Xd`S~bjc9?mthPg;Edi!lP(cFdTn&l!L(ex4u)4keKmt59ZSTqaj)-RSWj%fa`(22J*H zrLl+hz`9~pnz+P)E{}Z#4Y5k}xjo;57C$vW)7-99fi1hQsvCt4tgki9z=Vb$PlCf5 z&QxWG30>>G0k&t^(R0SSbm9B6u&{hE-6eb?$zv6<_SO)3;Swe1mRjMZXG5vx($6Gd z>twiS>rWr)erYi0}C-vrap6k5F0 zhvQ4e_JN4mDfEVNg`lsHc-%pnDTO;X3eq-@MAZX%dOFQkusGX~+sRJ9WMgMYBCLmS z`C^_L%v|I=B3_fLzrjE%j#_{Ag9C?bNvPaHnz}<3 z+_w4=rH%1)N$y}F+jb6FE1$?y6_+MZIy;Cgco;-qpSS}XPRu7uS;hy|aPeayi7X7E z5o#H*uUa5$Dp}L)gK{Bf#!XV&7)CX=>tI`E3URyQLN$Vz$+veGiK%j--^dTpS#yIp z9dV;i8_Pj_ONtICA4wfcy1>y|bvkUtSo*+iC|-KQZz1=Xji#K@AIrin5~<5Gt1L*B(V=*|8vG?IEWN_PXJX_jCx-&M- zgcUH%H&v$>az2p)lOOPX&QLmqt$2N}bB5fi$u#xhXJCSV&E;n~||WvvAVoMxyGw zMTj!=#l6gB3Xy+rd}O(hEuD25jdKU6;#{>!lsl0p#IQPm4Hxf``I1Et%W}cr zta*4GmOYkdguo(jpF9-LtM;Y8UM_|J-LAOh*BF}iG!@SH`rr@MgG4|6Zimr`okpY2 z9(Mlc5cQkPczqKjuKjTkLmJoau7h1AQuvVhnx#$Gp|n56Aq%#U@!xu3m75cOVrvvu zv(<6*Fl+41jK+P;XuR}W7qyJl=$QYEM)=2Q#7?7e^*w!5dc2*SIq!g@9JKK6_zUD{ zFmH?dYvgd7<99;sZLp`#IoQpNMs;R1%4mLoTg+%2&x}Ute{#aBk5JGUO(K}r_<=No z_lzxMt@30%;&2^??mtILeotV)>_+yi-;=4#Ym80Z0J@R~-13XjIJ|WeOv}?Cq3w~F z{jv~pr)GK+qrmyN;!`GA&0J3OR3lj7!brHae;3iziNH0#c)D=I0H@uK4dN`8-Kb7I{`0L`{qy52U<^kcQMIw!7rjZLXji#$4V!^cuQrf)DFCI%4$T$rd z{!!dv0d<^TcYJBH?>9xsiG%A~#2xwB-~5SXxXFt%o-7r&vMgpfo#po|OVyk?es^}o z|H>Udb9lM^@om?u#0T1W9QFC7bFcLE;)5)EetyaSxuNor$18Q762rFTl8!s9x)$c_ zRGuRq^^C{DkC~$3)+a?HS>D953(M9lUzltmN$CAhG??X!EGM$uao>Rfaboq@mEzAV z+p^q?V}( zA!%ZFIA5{MxnJcHamTZdKE2x6-!oz>%ypX^%Iad`i4?s%Ky z;&D#p-|NNup7Hee%AHJn-zOG2)E zi+!b2@1d)}Ok)~un{fwBH;4uI!kHMc{64h$&8N#A#tVUt$AD{D4gn8Y=Sk2Ph?~}n z4eKMctzkP%$(upDcodS#(fh#D`w@8k^u%fX9>JO(+SL4#H7*d{fCXFc!Oj#nto!*9 z#zuP6REziI*b@E_Y>IWDr%F_D`p6p)pkz<4W$DxBJrBU+3%xMw*g#yAbsw6>4yBE@ z2DF-0w+1&qCVJaPq5Gl+IJ8F#6-=#h!}{CsWR3%Cqfo`5F*o3hmLpD?-yId3ufX80 z-qefv$-5-w5VW@!EgnRvMfO&>I5U)L@eLcvf)__YFZdn_S?z|g(ydU}Isr4!UV{t4 z7og2^5>{Wi4s#aOK$ZC{d=wlHiQkVy)7J^K`_XG~g#C<({sU4Zupym8ia_dZ1l=0` zgZnnR9MX=gByDHr(Kf#|5L&sMTy2_+X9B;#d4*8CD7^p%=3Zli9Hi#qt$wqG#aND#2i#Cx z>S@4+Hx)x@P%r%Wj?e>lw?o6Tp+X0swu&vce*Baq%s)tB@XsWAeC94e6GlJ^Ta0pX zyC^KpatHURu!9_fPIBz|o$0VEYz9pI63tWaSprE_0q{mGiaMC)!w9)aaEGz8 z$A%PxRmCWXIU7#j-#7>(CfI{r&u~^}Q3H$iSb`ff$8O!Z47)}8@W3mK`gFSq#ty2` z>N$%lJiiS}bK8Ye*0bonI}gBxkz2$vA3)t(=9}#Rf|1rm) z{>1?SuQAr~!aL~BoUx1yCUA+=;qGn$N}A_Vt%;5x>m$I=(R1kfh$KdOf*>u|R zMNmBR2$bENMP)@BA*QelwoaHq)$Zo$ZL+I|pA{Rznga z$6oS_ZbFdSA~3!fL^aYL!us8_;YMR1?ce?a{46FywPzshsrCxWuR6jT^C0T)_#QMa zo5A6XKsu)KJ@jzs0eT~X=(NU9pux;B?HPeI<7zAT*t{0>Y=UToVhh~&x-58?1=HSJ zKEZ&Uf*`#sh^}F@{r$K@0{@knW3u~N;NAN@g71%D%E_v+kD3HLC(ff64?DqtHUVC1 z&!Ovn%>x5*4d^p}EHyj}OwJ+v$P1-2FBb!ya|}Yx2T_7{ef&|M6^xz%#Z-P3eLG8kEbV71>bh;k`MgCrt8?25heLNv= z`e<4esf8&`mJs%CB+c{G#ZG_B^Qs=cE&MI4V*c3Ly9Ov@d{Y?r%Y$y0HAc6if-tJk zoo*OqgvEn43pT|b^!Xy=4$NEdeZagbR&u@l&0=9!UpC0iy>0=x7bs$uGV8V9nF}HP z<!rsF8OVA>^c(f$f=ZjPWE@4kQpzZcNx=T3)lYzNb(0i2jW_S8!W zox7ffOhNH_@>7%P_CRm>M!;j$|e)>EptmUXR z&o=d+jD?3jB06AXUtGC#5P0n1sHb3#o82|Rp@yU1`kCY8W4{Dr7fR>0nPKm=+rqDI z!>Q+7GwiNbDco0cp~=V1(BRo7;hu>Ll{YcPDbrUA7x%f+?0qIEUy>?R*t*d>jq@PW zT>)=ckEeV>@HCqBTR&kt zm8%}Y=AmrnV!I~(9)1~sS!7Njeen40YWOA$q)l;_xY(Vk1~2yA6Stre<#jp?}=?%4d+G(ZOLN2;TTnh8Bzs*WEX zD&jdE1G;#O5zeJwfmG;G#kT%<{Kh*F+TJ-Gik(fS55ne6T zp=P&6VYU1-;c1Qz9d0!eyA|&jwD0KAT_z*Zz-PIj9rwo~!%mCLYrQAN+6@x!9X6nu z2R(2u+di|hGN!jCY=hG87MP|su)`&TPM56v)FznzRv-15OE%U;0eOe#y-;fbTNcgM zMuYUOxb%${HQi&5U)TJCbLBng?cR1ce$``GoT@^3!{K=3-8puera)_wN1{UOeh4;` zrP33}W6goJkj7lH@L@g}G$95OqkfXNN&Xml&I7I&e|w5c<%MWKCNTy2pGL z0vuX+a$rR;t}?6=p0e7U;nPC!%9sq{RoNex3{~!$3jJ@rBm1*MaiHRLNvpy;vd$+2 z`C4m9BE$Y4z7Ix+871QI$WKJW8$mk66<2+dr*`42N$7$zO67H--B&B1DRarLGnXuY z^v0D}OmMjKCz7(x3hNAcO_Ym&)8Ufg{#H4xk$X@VFt z;#cB>&ms@Pk=G5R-!!6f4Y>dlvEc)3SHg3L0 z$|ujjER$El4wXkF@A(XDY&swe?D?4NfYK)zHU~4QAMS?;HR39r<-+G#<}w zhL0)d$^$r+%0A93CSxzp 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 Ke1+aCrT+s75OC%I delta 228753 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

W$NQnTT3bb@yy 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 diff --git a/addons/malyutka/data/model.cfg b/addons/malyutka/data/model.cfg index c122ae3a9ba..fc22aa166a2 100644 --- a/addons/malyutka/data/model.cfg +++ b/addons/malyutka/data/model.cfg @@ -4,8 +4,8 @@ class CfgSkeletons { skeletonInherit = ""; skeletonBones[] = {}; }; - class 9m14: Default {}; - class 9m14_mount_mount: Default {}; + class 9m14_skeleton: Default {}; + class 9m14_mount_skeleton: Default {}; }; class CfgModels { class Default { @@ -16,11 +16,11 @@ class CfgModels { class 9m14: Default { sectionsInherit = ""; sections[] = {}; - skeletonName = "9m14"; + skeletonName = "9m14_skeleton"; }; class 9m14_mount: Default { sectionsInherit = ""; sections[] = {}; - skeletonName = "9m14_mount"; + skeletonName = "9m14_mount_skeleton"; }; }; \ No newline at end of file From f4f32249477eefcecbbeb7dfed8a2f7d459fbdb0 Mon Sep 17 00:00:00 2001 From: Brandon Danyluk Date: Thu, 6 May 2021 20:20:20 -0600 Subject: [PATCH 107/254] fix game crashing on load --- addons/malyutka/CfgAmmo.hpp | 78 +++++++++++++++++++++++++++++++- addons/malyutka/CfgMagazines.hpp | 2 +- addons/malyutka/CfgWeapons.hpp | 2 +- 3 files changed, 78 insertions(+), 4 deletions(-) diff --git a/addons/malyutka/CfgAmmo.hpp b/addons/malyutka/CfgAmmo.hpp index 52d518a413a..93ce607051f 100644 --- a/addons/malyutka/CfgAmmo.hpp +++ b/addons/malyutka/CfgAmmo.hpp @@ -2,8 +2,82 @@ class CfgAmmo { class M_Scalpel_AT; class ammo_Penetrator_Base; - class GVAR(9m14): M_Scalpel_AT { - + class GVAR(9m14_penetrator): ammo_Penetrator_Base { + caliber = 60; + warheadName = "HEAT"; + hit = 600; + }; + + // need to have ammo suffix or else game crashes on load + class GVAR(9m14_ammo): M_Scalpel_AT { + aiAmmoUsageFlags = 0; + model = QPATHTOF(data\9m14.p3d); + proxyShape = "\A3\Weapons_F\Ammo\Missile_AT_03_F"; + submunitionAmmo = QGVAR(9m14_penetrator); + submunitionDirectionType = "SubmunitionModelDirection"; + submunitionInitSpeed = 1000; + submunitionParentSpeedCoef = 0; + submunitionInitialOffset[] = { 0, 0, -0.2 }; + hit = 150; + warheadName = "HEAT"; + indirectHit = 25; + indirectHitRange = 3.5; + explosive = 0.8; + + displayName = CSTRING(9m14_missile); + displayNameShort = CSTRING(9m14_missile); + description = CSTRING(9m14_missile_description); + descriptionShort = CSTRING(9m14_missile_descriptionShort); + + effectsMissile = "missile2"; + + irLock = 0; + laserLock = 0; + manualControl = 0; + maxSpeed = 100; + + thrustTime = 3; + thrust = 125; + timeToLive = 40; + initTime = 0; + + EGVAR(rearm,caliber) = 178; + + class ace_missileguidance { + enabled = 1; + + pitchRate = 5; // Minium flap deflection for guidance + yawRate = 5; // Maximum flap deflection for guidance + + canVanillaLock = 0; // Can this default vanilla lock? Only applicable to non-cadet mode + + // Guidance type for munitions + defaultSeekerType = "MCLOS"; + seekerTypes[] = { "MCLOS" }; + + defaultSeekerLockMode = "LOAL"; + seekerLockModes[] = { "LOAL" }; + + defaultNavigationType = "Line"; + navigationTypes[] = { "Line" }; + + lineGainP = 1; + lineGainD = 0; + + seekLastTargetPos = 0; // seek last target position [if seeker loses LOS of target, continue to last known pos] + seekerAngle = 30; // Angle from the shooter's view that can track the missile + seekerAccuracy = 1; // seeker accuracy multiplier + + seekerMinRange = 0; + seekerMaxRange = 3000; // Range from the missile which the seeker can visually search + + correctionDistance = 0; // distance from center of crosshair where missile slows down + offsetFromCrosshair[] = { 0, 0, 0 }; // where the missile wants to stay in relation to the center of the crosshair. + + // Attack profile type selection + defaultAttackProfile = "WIRE"; + attackProfiles[] = {"WIRE"}; + }; }; }; diff --git a/addons/malyutka/CfgMagazines.hpp b/addons/malyutka/CfgMagazines.hpp index d7dab6bce93..e405a01ee4f 100644 --- a/addons/malyutka/CfgMagazines.hpp +++ b/addons/malyutka/CfgMagazines.hpp @@ -3,7 +3,7 @@ class CfgMagazines { class GVAR(9m14): 12Rnd_PG_missiles { count = 1; initSpeed = 100; - //ammo = QGVAR(9m14); + ammo = QGVAR(9m14_ammo); displayName = CSTRING(9m14_missile); displayNameShort = CSTRING(9m14_missile); descriptionShort = CSTRING(9m14_missile_descriptionShort); diff --git a/addons/malyutka/CfgWeapons.hpp b/addons/malyutka/CfgWeapons.hpp index 9595589a16c..8eee92234ae 100644 --- a/addons/malyutka/CfgWeapons.hpp +++ b/addons/malyutka/CfgWeapons.hpp @@ -2,7 +2,7 @@ class CfgWeapons { class MissileLauncher; class GVAR(9m14): MissileLauncher { scope = 2; - //displayName = CSTRING(9m14_missile); + displayName = CSTRING(9m14_missile); magazines[] = { QGVAR(9m14) }; initSpeed = 100; autoFire = 0; From 8b3e90925eac82da95db0e918c00af1d41679ef4 Mon Sep 17 00:00:00 2001 From: Brandon Danyluk Date: Fri, 7 May 2021 04:19:26 -0600 Subject: [PATCH 108/254] Add joystick model --- addons/malyutka/CfgVehicles.hpp | 85 +++++++++++++++++++++++++ addons/malyutka/data/9m14.p3d | Bin 153780 -> 220476 bytes addons/malyutka/data/9m14_joystick.p3d | Bin 0 -> 1468550 bytes addons/malyutka/data/9m14_mount.p3d | Bin 1281116 -> 1599468 bytes addons/malyutka/data/model.cfg | 6 ++ addons/malyutka/stringtable.xml | 3 + 6 files changed, 94 insertions(+) create mode 100644 addons/malyutka/data/9m14_joystick.p3d diff --git a/addons/malyutka/CfgVehicles.hpp b/addons/malyutka/CfgVehicles.hpp index a3bd7d50ecb..38d6c54bdad 100644 --- a/addons/malyutka/CfgVehicles.hpp +++ b/addons/malyutka/CfgVehicles.hpp @@ -94,6 +94,91 @@ class CfgVehicles { displayName = CSTRING(9m14); }; }; + }; + + class GVAR(9m14_joystick): StaticATWeapon { + scope = 2; + side = 1; + faction = "BLU_F"; + crew = "B_Soldier_F"; + author = "Brandon (TCVM)"; + displayName = CSTRING(9s415); + model = QPATHTOF(data\9m14_joystick.p3d); + picture = "\A3\Static_F_Gamma\data\UI\gear_StaticTurret_AT_CA.paa"; + UiPicture = "\A3\Static_F_Gamma\data\UI\gear_StaticTurret_AT_CA.paa"; + icon = "\A3\Static_F_Gamma\data\UI\map_StaticTurret_AT_CA.paa"; + threat[] = {0.7,1.0,0.1}; + cost = 100000; + class Damage { + tex[] = {}; + mat[] = { + "a3\static_f_gamma\data\staticturret_01.rvmat", + "a3\static_f_gamma\data\staticturret_01_damage.rvmat", + "a3\static_f_gamma\data\staticturret_01_destruct.rvmat", + "a3\static_f_gamma\data\staticturret_02.rvmat", + "a3\static_f_gamma\data\staticturret_02_damage.rvmat", + "a3\static_f_gamma\data\staticturret_02_destruct.rvmat", + "a3\weapons_f_beta\launchers\titan\data\titan_launcher.rvmat", + "a3\weapons_f_beta\launchers\titan\data\titan_launcher_damage.rvmat", + "a3\weapons_f_beta\launchers\titan\data\titan_launcher_destruct.rvmat", + "a3\weapons_f_beta\launchers\titan\data\titan_mtube.rvmat", + "a3\weapons_f_beta\launchers\titan\data\titan_mtube_damage.rvmat", + "a3\weapons_f_beta\launchers\titan\data\titan_mtube_destruct.rvmat" + }; + }; + class Turrets: Turrets { + class MainTurret: MainTurret { + optics = 1; + turretInfoType = "RscWeaponEmpty"; + gunnerOpticsModel = ""; + minElev = 0; + maxElev = 0; + weapons[] = { QGVAR(9s415_dummy) }; + magazines[] = { QGVAR(9s415_dummy) }; + + gunnerAction = ""; + gunnergetInAction = ""; + gunnergetOutAction = ""; + + discreteDistance[] = {}; + discreteDistanceInitIndex = 0; + + displayName = CSTRING(9s415); + + class ViewOptics { + initAngleX = 0; + minAngleX = -90; + maxAngleX = 90; + initAngleY = 0; + minAngleY = -100; + maxAngleY = 100; + initFov = 0.055; + minFov = 0.055; // 6 degree FOV + maxFov = 0.055; + visionMode[] = {"Normal"}; + thermalMode[] = {0}; + }; + gunnerRightHandAnimName = ""; + gunnerLeftHandAnimName = ""; + gunBeg = ""; + gunEnd = ""; + memoryPointGunnerOptics = ""; + }; + }; + + soundGetOut[] = {"A3\sounds_f\dummysound",0.001,1,5}; + soundGetIn[] = {"A3\sounds_f\dummysound",0.00031622776,1,5}; + armorStructural = 10.0; + + class ACE_CSW { + disassembleTo = QGVAR(super); + }; + + class ACE_Actions: ACE_Actions { + class ACE_MainActions: ACE_MainActions { + displayName = CSTRING(9s415); + }; + }; }; }; \ No newline at end of file diff --git a/addons/malyutka/data/9m14.p3d b/addons/malyutka/data/9m14.p3d index 05a6514380957df7dcc1ac7d72413725b96b656e..24d627bda2709c2e45cd33a2eebdc6e0d347e248 100644 GIT binary patch delta 44490 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

pF`8~jVpP&45zPg`3H}DvT>lm-h z=aJ_7g5;l{$Gh`e=ER5?^ay%f-NTo;fja+88mm_r7L(Qn1(k?UjL- z@namW_Y_Y*OE@LO)AQ@effFNQj8~3tc|W_i#nPJ2pUwB@BhB{IV6XGqs{$W4zXzJ{ zX~AF5)29bs#wXK=vAqv6-&b4V{kZPuuMM2|d;327!RGrKEBVvTKH9Ed7r4%UX9kXC z#F!uP_<4Yy_s_5bFY}FYxQ_8SZ)9CNtLOd4hkVA(?;+;<3M;&yWIe#y4|tzPP7z~% z-To|#c2@6Blym-!|Gw$p?C+1yGJpO*pl=&L#Gbd{1LI36er@NiX5F80#r$q=w%U`) z=Ue7~Xn1}r>%%f)jCV_m6@Q-nRf}g|1m~Z2wv3M^;-2D_{$>6#4%abW**}-t?=zem z{@(ewmj4?zaXU{hUf1MrQ z7P#)kZw@@h;X20CUVN`GKb~Ry-hr3#i4ifzTQL9o1phMrxbe#NKHcKah4?zF-Z$`= z7uPYrGG6KbY>W3dW5j!=* zugrJc{EoJ|&&l-*Vw!nHo$ZY6&-}pxjT(^*1u{oW%L3XUX?lv5!5kHnU~?apRTk zDc6UdWge39AEfskp3(@!{K|Nx|M3>@p($QJy`LBfz`7*R_&QBjNTTgFEdF}7Fdi^qg~bUv65yo?{? za2@06e)ibluk+gD0x#<$M#LCT`}^aAzwU2O2)wK>#^E}~>-KkP+u81Zk$G7kF(Srz z;r^K7b@#U%udFY|;X1}E?RDNbDzvw(j~Eg66i?@&Cx&=s{1}Jp7*EevM+bjBUmg>9 z8J`#tW4zM7d|oT-i*dN#Q@rx|t&C5Mh%ug?cb^p6S3a+n@namWV?5n&pB&XBHOmJWqe{p+*3U6N5m`R$2eTac;$Xn?(b!P z5F_HA;+6Y#89&D1I>sy4Z@J%<`4c1Jp5m4JT^T>d;d)Q;%Kfg4PmG8$UfJK}{2h0F zl<~^>TgH!haUJt3>o514a=eHUaZmBe@htO?ak!50US;d`eOBy~-jAsNKN7g^pZ{!y z_bJ4P7~|<#tDpVNq)pGO9}0Zj`^Q_&_aZAi54^>$-(`jKJnI)8^Wr+@SH{zR@_`Uv zocML^8P(;e#;i?vngJy@tp0}f97Srv@v3AZ<*g~E%ui~ zzUBTC<8U40z0-U@ANx%;)cYT!cbl&(}h^PJZvcSnHV$APcv;9J_f0JFW23|hT z#W-BYcxRgLmxBLm?E2Ec$IY*d_q(3g{?>B&YRKnpcKx-$^}IO?fOT7>%8`Z zz_E!FUWV?{8<0IuVcONzEbDsuULV{c5)rt+wITN zwzL0WzV8kBF52}4ffFNQj3?iJ5BBo?Md1Hs*Z&cCjKg(|_XV?kT6n%vUp_tXGCnaP z#(3{D|7QgMGXA*n%J%NI_zNNa2aG>6@R%3ZF~2fi>HmI<_pCAE=`4GT@cRp8`^Rl> z-{Sq$O8&I7W&CmDmF+Ftr+ej3LVeU6aZmkM<~weF+M9ot>rc-MWxnq*-OtC!?|ifU zr4@dD{2RM|wv8uT>*H5e@@Mn&cp0zE_tzFnG3~QgKTrOs**?ee;rT~r!RO}rmi){3 zInU95<9O)V>UrkR&y&memHro7ycbx!z5RKzo_$_u z_S`SZ_K(|MJxl)93irn{{@8L!ND-25)Jx?g1dXQP;Y zo?Pyy<@(z!KRp{=J@0?^{L##o@yCrK@ z#Hao6jHCa?^{e&uvJg+}=nUZ_wy41FYDVZUTLrUL$v zbicet7>_dkX7O~sI4R_#^TA@^W&F+J>3;Ug;IH%A$$^*kZ5B`a`zgU+_qS66FYDVZ zUbnx?vYqYj7nzs!Z5FSb|K0s9$1CgGEM94UskQgC(B87XapUPc^r{fAjK5htJzu># z`0M%d^uWvbo5d^b%jdPSzH#G~&u?Y?&En~K_l(fK@_Dt4zgaxpZ(kGQeZlydftU4d z7O&hdb^m>Bh*#D(ZanT6*{_`~yc?x>de*h?+ckcJz{kz+o917K{B-~Qi@-OF_an2v zak5{seEKup`6}~q^ZSOy`^!*&dH)_azyGv&H%akYjpuB){xdK0-K@Q3eqXovw+#7~ z`_E?aer5hQ4gOy>ex1O_T_0sUoj3Lk@wA`*Rp6WDw`%tL1$+IhZ6@&Yd2X|K1M|OG z@GtWz&s&?t`n8LEmJwsT582;y|KuwCJ$!%W1IB+m#1F9R%PgLK()}u375~I||7p5s+uy`nujxEF z`!T!T-*R+b4eaV}slAhX_4B;a{-@@D^AvweieJ`e>NTI3U-|v%zp?)RwH1DTsq6o; zVxLX(JM3-;9dxCA?>GO5Cm(ab5sx|YDf?E-*T|LYKLk*cYN+t#_K#%XD~zjCh3cFM zE5Z|ut8)42AzJc-tsG_Lo>mU=a;Txoy}aDp@IF>vX#R&A-rvgu3?FFaL0%qgsPZT; zM;JcN%HzE}!B9o@eZk5TEuQfChF^3pY>j`(@T*pY-?s8)D_?Q^j$ePxP&NZEnhlcu z+{)Lj$nP6gWG|WY2U*$a_+Y<2*ihx3UJfx-In>L&3{~#!n?q{fS zn3uy1RqpTQ0fs8OygblQw8u_y{YH^zvB4M_Ccd z<_Uf+KV84x%28IH;rLv`qpdvM@p*>FSb37;GyVF>hEKKfG%vDOj0G>UdzKZgOqJ(& zQGCVJ_-agFU`2E2MP80IRC%!#&0Wn;%~|1zRu;Xy(op4OD{8~vS~<(gl9x9as=U$5 zg@&?ulb1Ies$6D^;4OxID{pl!{DR5PHhhN_;TMgcWB6_>!p|8$*YJ~$pErD)@xQYo zTrqy0;inuwZ77|%Vt&R@vE=t&L+OQ=8fpwL@Uq)bMRK*_eO~_AP(^uv*~)huzif72 zvFqbHkU$-LshU52L_D#osb)C3u6i?UR^Xq>z zR7}+?6jx5-Ld6sQz=~u-`6{mPhgRexxlml!Kk{qg!)-%*rj;WcA8YthD@R#5(aLkJ zoa}hI;q$D#+RCw3WOtl%*}lfgNmgY4E-Rm~@RX(2t#1ob z(YNxb=-YZ!^sPE7`nDYveT$sF=}F&?Bb2|c_3c^uhCS7ObDf%N$QMe7P0nDPQq-Tluw> z_gHzaBU~rK^R4K#c!3r1-Bv!}c&XuqR`hm5_(d!4v+~c5lE2@I?1h(ExyZ`Jj-U4H z4;rfIsY*ppTPk`gQu(Nt&lrBpik@zS^4IkztXyJ6_3KU7isNSuKV?OE%2!-%Ps=bwyWFcx4*qjI$ArLWGZp{LtmkN63+hiw?{i)vPXl~%CckMP{-%m z{e;r@3NE|Gim-3LE`=Q^d-?5jKd^DWWV*_(6WZmX^VanXj__LCJ_+r5%K6racHKB% z@p#IwGFjxUamA6XP<&N(_DN{GQn63t{t1oO&h;x|vPmdI=RJ>;P zC(igdnk@B4s7IG6N3XY@oqGFOX&k_X7yZb1e$?vvEpc;A^@A3FF4f!hUn6b>yS}%3 z*%4m59bDL2N!&spPyKH^wZnWecI_K@T>3w8vu|8pJHktU_{jXXdZs)-@=j=RmptAU z*C#Z2dbBkeIN|z?tS{Tzle}AJiyjXoKK+`|e0IstK0S|{xLw0X>XV_{p$GA+XWJJY zoyL9Xyc;LXoH!%xuyFH5JouE$Ye)FN+m+D#SDaUlTKg$S=dJrEG}Qw2xxR7iVZQ;V z9}`-f7JILc^+)~is?aC7`6oNYk={OAJTH)TuX;TLM|g>;%@(7c{m38QHsOP>ajU>b z`rYJk#%*Li*nXVnE%UYGTg_K>fsJ$JtFepNGfv!{ZU?WuJ(VMT!tE+Y__EtAIcDCi zSJho{AF*rtk#@ot-M@8&=k}~^=fLe&95ZJ>WFPE!(pxI4vbPU>LHXIIb%gib4qSGw ze$;2m5niEpgr|NodocB%@sxK!>gjo0a96=of0`fqovsI)#Jl|_^&j_p^TRHUci@Yj z_fmmroXl>E*8@-M$KceixH;7MO*ufXPzSa?575Tv@ z+z$WDyLpuTJKpzw0)IGhz{=y!C+z$)@A?t{*5fi?@rU@Le8< zcyJrq{GokLS3C~>@HvlzKfLeu*ufj`hqRxC`MK=&*uj@vUUKTm@w#(KJUC;jJn)?N$p0Zx%-cKw$7v*WerTO#dfJU&>{pBwbw!1b$+@LVtXfHv05S8$Vg z+xNI-|J1W5UwK;^r#oHkP6;!of9Zdab~GLjq}}vK$2kWuA2Kh;9lqfG+B(7~oMQ(^ zpRwC-n5UKJIpiJ(|H}D%!p=YQ?wo{w>;26*;ScYtK8ppW`iJ}m2Y-6z?4vH9dGh7| zIrHZSpKP|+3EL6gKlc`ix96T~b=IC|%G<8NRKM|Vy~Xoa{;#H2X813sGpepwAN7Ko zO41L};t#|Frg>z%XGQW|j_}I;6PhmdpJ6@AJR?tW@An~g=knU)f?J$ZUqVZPdZ`CY z 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≷@@AU|Tk-j9)$)2iZ_n|`m9=iJAm&! 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 Dx%dHd literal 0 HcmV?d00001 diff --git a/addons/malyutka/data/9m14_mount.p3d b/addons/malyutka/data/9m14_mount.p3d index ead820fb3aa1c2a7d7b7fba77a07e7a4404014a4..66bdbfb399a3a916374f1ad948b71a7a455ea7cc 100644 GIT binary patch delta 169519 zcma%i2{={V_rH53Q=~GMgism{WxQu^iPA)+A|;ZkqJ+#G5lu?D>Y{m$Caxm6dv8T) zE~R;%=UJuEf1i7=_q~08-|zGM-{;BuS^MmHueJ92taI+2BJVdBXR41I>*K-WDJiKg zQqNK6<*4&>)RlA8JLIUV5+QW9t?DUDLEFn`5ox7a6xIadsk68&#jev{zbm1OX)N3VZmP4{Hb z^4aPix!NKTSmymJ2i{2lW;>0f&&SgCvp(g5SJRhau0KwWc3uLez5Q1%`ko7ZnyzSn z&I)v1=YZb2{}c!wpUeSfiLwSGX$Q}p3qU}am9zmT|5{c6Qor^2M>ZZ-0P5aa|0BoR ztpVq*{3}OjuK}luW$j&Q`$3O$!Hmr{3^zg7e6~s8VZQ`yORbU@Gzmgq z+c|(&|F68VItQpb$~thM9cngb0n-v^z;)>2~iEDw-SKo5lGr7Ft z-Xdw!fD4xduUBS)M^BS6x1MQK)~Lw>x9ifS@)$Z@{W&?{+{J(8>PtDGuV>cz>Ndi9a37bkP-)myG!eh+&h zMfKujMfKujMfIBXs3(gQ)r%G&MfD1!vZ8u%vZ8u%vZ8u%vZ8u%vZ8v;rLv-W&3(l7 zM2hOgRZvtfPF7SePF7T}XeukJ7bh#K7bh#K7bh#KS2Rlt)Ktf+*? zsjR4kocym68Y?Mr1&T_@bs$qhVeFt0!W)C!g#Lpwg+)Uwgwuzb3ey}+g})q(h5nAF z!dAyR;SDD@p_8+z@QAairo?_MYPa6uE|zSqTyD4C*Nb{0MeF5cMeF4ZMA3RVSUmFj4v;~k09=H=kVQDGKz(9mtzA&Ka}1Y}1GKS3+k&Z~tIue-UxWP+^r z7v(I8k8&<3_uV0F&B=F0<^p98*>m5ha>@1jCE#Jo4∈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 BTk8M- delta 106 zcmaEJKJm^BKTcmCe-}nZ1_tIv&Q?ywR!*i?PUcolmR3&IR!+87PWDz#j#f^f6jv)J zcPl4PD<^L&CtoWke=DazE2m&9r_feT;p^?wc|#;j1(kzSb5fH_Qd5)}m>7V7al2!P Hgc%C}easl& diff --git a/addons/malyutka/data/model.cfg b/addons/malyutka/data/model.cfg index fc22aa166a2..6b3e3a5183e 100644 --- a/addons/malyutka/data/model.cfg +++ b/addons/malyutka/data/model.cfg @@ -6,6 +6,7 @@ class CfgSkeletons { }; class 9m14_skeleton: Default {}; class 9m14_mount_skeleton: Default {}; + class 9m14_joystick_skeleton: Default {}; }; class CfgModels { class Default { @@ -23,4 +24,9 @@ class CfgModels { sections[] = {}; skeletonName = "9m14_mount_skeleton"; }; + class 9m14_joystick: Default { + sectionsInherit = ""; + sections[] = {}; + skeletonName = "9m14_joystick_skeleton"; + }; }; \ No newline at end of file diff --git a/addons/malyutka/stringtable.xml b/addons/malyutka/stringtable.xml index 4fea798ebd5..b5b294f74ee 100644 --- a/addons/malyutka/stringtable.xml +++ b/addons/malyutka/stringtable.xml @@ -13,5 +13,8 @@ MCLOS, wire-guided missile + + [CSW] 9S415 Control Unit + From fc7b310529a0902e51f14f40d1efe85df0e47664 Mon Sep 17 00:00:00 2001 From: Brandon Danyluk Date: Sat, 8 May 2021 02:48:40 -0600 Subject: [PATCH 109/254] Add realistic 9m14 behaviour the 9m14 control joystick can attach 4 9m14 launchers at a time. Replicate that here --- addons/malyutka/CfgAmmo.hpp | 15 +++- addons/malyutka/CfgMagazines.hpp | 8 ++ addons/malyutka/CfgVehicles.hpp | 49 +++++++++-- addons/malyutka/CfgWeapons.hpp | 27 +++++- addons/malyutka/XEH_PREP.hpp | 16 ++++ addons/malyutka/XEH_postInit.sqf | 25 ++++++ addons/malyutka/data/9m14_joystick.p3d | Bin 1468550 -> 2200904 bytes addons/malyutka/data/9m14_mount.p3d | Bin 1599468 -> 1599688 bytes addons/malyutka/data/data/plug_1/plug_1.p3d | Bin 0 -> 226 bytes addons/malyutka/functions/fnc_attachPlug.sqf | 49 +++++++++++ .../malyutka/functions/fnc_canAttachPlug.sqf | 22 +++++ .../malyutka/functions/fnc_canPickupPlug.sqf | 20 +++++ addons/malyutka/functions/fnc_canTakePlug.sqf | 20 +++++ .../functions/fnc_canUnattachPlug.sqf | 20 +++++ .../malyutka/functions/fnc_carryPlugPFH.sqf | 80 ++++++++++++++++++ .../malyutka/functions/fnc_initJoystick.sqf | 25 ++++++ .../malyutka/functions/fnc_initSuitcase.sqf | 24 ++++++ addons/malyutka/functions/fnc_onFired.sqf | 37 ++++++++ .../functions/fnc_onLauncherFired.sqf | 34 ++++++++ .../functions/fnc_onMouseButtonDown.sqf | 48 +++++++++++ addons/malyutka/functions/fnc_pickupPlug.sqf | 26 ++++++ addons/malyutka/functions/fnc_returnPlug.sqf | 28 ++++++ addons/malyutka/functions/fnc_takePlug.sqf | 32 +++++++ .../malyutka/functions/fnc_unattachPlug.sqf | 35 ++++++++ addons/malyutka/script_component.hpp | 4 +- addons/malyutka/stringtable.xml | 15 ++++ 26 files changed, 646 insertions(+), 13 deletions(-) create mode 100644 addons/malyutka/data/data/plug_1/plug_1.p3d create mode 100644 addons/malyutka/functions/fnc_attachPlug.sqf create mode 100644 addons/malyutka/functions/fnc_canAttachPlug.sqf create mode 100644 addons/malyutka/functions/fnc_canPickupPlug.sqf create mode 100644 addons/malyutka/functions/fnc_canTakePlug.sqf create mode 100644 addons/malyutka/functions/fnc_canUnattachPlug.sqf create mode 100644 addons/malyutka/functions/fnc_carryPlugPFH.sqf create mode 100644 addons/malyutka/functions/fnc_initJoystick.sqf create mode 100644 addons/malyutka/functions/fnc_initSuitcase.sqf create mode 100644 addons/malyutka/functions/fnc_onFired.sqf create mode 100644 addons/malyutka/functions/fnc_onLauncherFired.sqf create mode 100644 addons/malyutka/functions/fnc_onMouseButtonDown.sqf create mode 100644 addons/malyutka/functions/fnc_pickupPlug.sqf create mode 100644 addons/malyutka/functions/fnc_returnPlug.sqf create mode 100644 addons/malyutka/functions/fnc_takePlug.sqf create mode 100644 addons/malyutka/functions/fnc_unattachPlug.sqf diff --git a/addons/malyutka/CfgAmmo.hpp b/addons/malyutka/CfgAmmo.hpp index 93ce607051f..114dce80138 100644 --- a/addons/malyutka/CfgAmmo.hpp +++ b/addons/malyutka/CfgAmmo.hpp @@ -2,6 +2,13 @@ class CfgAmmo { class M_Scalpel_AT; class ammo_Penetrator_Base; + class GVAR(9s415_dummy_ammo): M_Scalpel_AT { + aiAmmoUsageFlags = 0; + model = ""; + proxyShape = ""; + effectsMissile = ""; + }; + class GVAR(9m14_penetrator): ammo_Penetrator_Base { caliber = 60; warheadName = "HEAT"; @@ -46,11 +53,13 @@ class CfgAmmo { class ace_missileguidance { enabled = 1; - pitchRate = 5; // Minium flap deflection for guidance - yawRate = 5; // Maximum flap deflection for guidance + pitchRate = 15; // Minium flap deflection for guidance + yawRate = 15; // Maximum flap deflection for guidance canVanillaLock = 0; // Can this default vanilla lock? Only applicable to non-cadet mode + showTrail = 1; + // Guidance type for munitions defaultSeekerType = "MCLOS"; seekerTypes[] = { "MCLOS" }; @@ -61,7 +70,7 @@ class CfgAmmo { defaultNavigationType = "Line"; navigationTypes[] = { "Line" }; - lineGainP = 1; + lineGainP = 5; lineGainD = 0; seekLastTargetPos = 0; // seek last target position [if seeker loses LOS of target, continue to last known pos] diff --git a/addons/malyutka/CfgMagazines.hpp b/addons/malyutka/CfgMagazines.hpp index e405a01ee4f..9ec4651e194 100644 --- a/addons/malyutka/CfgMagazines.hpp +++ b/addons/malyutka/CfgMagazines.hpp @@ -8,5 +8,13 @@ class CfgMagazines { displayNameShort = CSTRING(9m14_missile); descriptionShort = CSTRING(9m14_missile_descriptionShort); }; + + class GVAR(9s415_dummy): 12Rnd_PG_missiles { + count = 4; + ammo = QGVAR(9s415_dummy_ammo); + displayName = CSTRING(9m14_missile); + displayNameShort = CSTRING(9m14_missile); + descriptionShort = CSTRING(9m14_missile_descriptionShort); + }; }; diff --git a/addons/malyutka/CfgVehicles.hpp b/addons/malyutka/CfgVehicles.hpp index 38d6c54bdad..fbe62a40dd3 100644 --- a/addons/malyutka/CfgVehicles.hpp +++ b/addons/malyutka/CfgVehicles.hpp @@ -92,6 +92,38 @@ class CfgVehicles { class ACE_Actions: ACE_Actions { class ACE_MainActions: ACE_MainActions { displayName = CSTRING(9m14); + class GVAR(takePlug) { + displayName = CSTRING(takePlug); + condition = QUOTE([ARR_2(_player,_target)] call FUNC(canTakePlug)); + statement = QUOTE([ARR_2(_player,_target)] call FUNC(takePlug)); + }; + }; + }; + }; + + class ThingX; + class GVAR(plug): ThingX { + displayName = QGVAR(plug); + scope = 1; + scopeCurator = 1; + model = "\a3\Structures_F_Orange\VR\Helpers\Sign_sphere10cm_Geometry_F.p3d"; + destrType = "DestructNo"; + + class ACE_Actions { + class ACE_MainActions { + displayName = CSTRING(plug); + condition = "true"; + distance = 2; + class GVAR(pickup) { + displayName = CSTRING(pickupPlug); + condition = QUOTE([ARR_2(_player,_target)] call FUNC(canPickupPlug)); + statement = QUOTE([ARR_2(_player,_target)] call FUNC(pickupPlug)); + }; + class GVAR(unattach) { + displayName = CSTRING(unattachPlug); + condition = QUOTE([ARR_2(_player,_target)] call FUNC(canUnattachPlug)); + statement = QUOTE([ARR_2(_player,_target)] call FUNC(unattachPlug)); + }; }; }; }; @@ -102,6 +134,7 @@ class CfgVehicles { faction = "BLU_F"; crew = "B_Soldier_F"; author = "Brandon (TCVM)"; + ace_missileguidance_hasMCLOSControl = 1; displayName = CSTRING(9s415); model = QPATHTOF(data\9m14_joystick.p3d); picture = "\A3\Static_F_Gamma\data\UI\gear_StaticTurret_AT_CA.paa"; @@ -131,13 +164,13 @@ class CfgVehicles { class MainTurret: MainTurret { optics = 1; turretInfoType = "RscWeaponEmpty"; - gunnerOpticsModel = ""; + gunnerOpticsModel = "\a3\weapons_f_gamma\reticle\GMG_01_Optics_Gunner_F"; minElev = 0; maxElev = 0; - weapons[] = { QGVAR(9s415_dummy) }; + weapons[] = { QGVAR(9s415_dummy_weapon) }; magazines[] = { QGVAR(9s415_dummy) }; - gunnerAction = ""; + gunnerAction = "gunner_static_low01"; gunnergetInAction = ""; gunnergetOutAction = ""; @@ -159,11 +192,11 @@ class CfgVehicles { visionMode[] = {"Normal"}; thermalMode[] = {0}; }; - gunnerRightHandAnimName = ""; - gunnerLeftHandAnimName = ""; - gunBeg = ""; - gunEnd = ""; - memoryPointGunnerOptics = ""; + gunnerRightHandAnimName = "OtocHlaven_shake"; + gunnerLeftHandAnimName = "OtocHlaven_shake"; + gunBeg = "spice rakety"; + gunEnd = "konec rakety"; + memoryPointGunnerOptics = "view_pos"; }; }; diff --git a/addons/malyutka/CfgWeapons.hpp b/addons/malyutka/CfgWeapons.hpp index 8eee92234ae..952296d4aa0 100644 --- a/addons/malyutka/CfgWeapons.hpp +++ b/addons/malyutka/CfgWeapons.hpp @@ -1,7 +1,6 @@ class CfgWeapons { class MissileLauncher; class GVAR(9m14): MissileLauncher { - scope = 2; displayName = CSTRING(9m14_missile); magazines[] = { QGVAR(9m14) }; initSpeed = 100; @@ -25,5 +24,31 @@ class CfgWeapons { autoReload = 1; magazineReloadTime = 20; }; + + // dummy weapon meant to allow the ability to shoot "connected" malyutkas + class GVAR(9s415_dummy_weapon): MissileLauncher { + displayName = CSTRING(9m14_missile); // intended to be 9m14 + magazines[] = { QGVAR(9s415_dummy) }; + initSpeed = 100; + autoFire = 0; + canLock = 0; + weaponLockSystem = 0; + lockingTargetSound[] = {"",0,1}; + lockedTargetSound[] = {"",0,1}; + soundFly[] = {"",1,1.1,700}; + nameSound = ""; + sounds[] = {""}; + class StandardSound { + begin1[] = {"",1.12202,1.3,1000}; + soundBegin[] = {"",1}; + soundsetshot[] = {""}; + }; + cursor = "EmptyCursor"; + cursorAim = "missile"; + showAimCursorInternal = 0; + + autoReload = 1; + magazineReloadTime = 0.2; + }; }; diff --git a/addons/malyutka/XEH_PREP.hpp b/addons/malyutka/XEH_PREP.hpp index e69de29bb2d..4377ae9b0de 100644 --- a/addons/malyutka/XEH_PREP.hpp +++ b/addons/malyutka/XEH_PREP.hpp @@ -0,0 +1,16 @@ +PREP(canAttachPlug); +PREP(attachPlug); +PREP(canPickupPlug); +PREP(pickupPlug); +PREP(canTakePlug); +PREP(takePlug); +PREP(canUnattachPlug); +PREP(unattachPlug); +PREP(onFired); +PREP(initSuitcase); +PREP(initJoystick); +PREP(carryPlugPFH); +PREP(onMouseButtonDown); +PREP(returnPlug); +PREP(onLauncherFired); + diff --git a/addons/malyutka/XEH_postInit.sqf b/addons/malyutka/XEH_postInit.sqf index 6eccf9d1ddc..74e9340f273 100644 --- a/addons/malyutka/XEH_postInit.sqf +++ b/addons/malyutka/XEH_postInit.sqf @@ -1,2 +1,27 @@ #include "script_component.hpp" +[QGVAR(9m14_joystick), "fired", LINKFUNC(onFired)] call CBA_fnc_addClassEventHandler; +[QGVAR(9m14), "fired", LINKFUNC(onLauncherFired)] call CBA_fnc_addClassEventHandler; + +[QGVAR(9m14_joystick), "init", LINKFUNC(initJoystick), true, [], true] call CBA_fnc_addClassEventHandler; +[QGVAR(9m14), "init", LINKFUNC(initSuitcase), true, [], true] call CBA_fnc_addClassEventHandler; +["MouseButtonDown", LINKFUNC(onMouseButtonDown)] call CBA_fnc_addDisplayHandler; + +if (hasInterface) then { + ["vehicle", { + params ["_unit","_vehicle"]; + TRACE_2("vehicle change",_vehicle,typeOf _vehicle); + if (!(_vehicle isKindOf QGVAR(9m14_joystick))) exitWith {}; + + // transfer locality of connected units + private _connectedUnits = _vehicle getVariable QGVAR(plugStatus); + { + if (_x isNotEqualTo objNull) then { + ["ace_setOwner", [_x, clientOwner]] call CBA_fnc_serverEvent; + _x setVariable [QGVAR(owner), _unit]; + }; + } forEach _connectedUnits; + + }, true] call CBA_fnc_addPlayerEventHandler; +}; + diff --git a/addons/malyutka/data/9m14_joystick.p3d b/addons/malyutka/data/9m14_joystick.p3d index 302d2e7557d7001ca9c210edba480d12b650f7a8..76c9ad07d2d4f31a49fcade77bd070b317018ce4 100644 GIT binary patch delta 313127 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

6qv@tB-|~<3((kRuD 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 delta 214117 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

k-v-Qz7{f?=lLCR@Vw18w%Ti(=aJ*2B%R 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è^y-2)O9ev!diBnKCzgVM^y<>r&3zz1 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%0DTgsodZ)0eHiv#lr>B2Z0XIiH`6uIWg5K>uU!LH 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 Om4SM<-&2*`&JO?==bmx^ diff --git a/addons/malyutka/data/model.cfg b/addons/malyutka/data/model.cfg index 6b3e3a5183e..a6e43627800 100644 --- a/addons/malyutka/data/model.cfg +++ b/addons/malyutka/data/model.cfg @@ -2,11 +2,20 @@ class CfgSkeletons { class Default { isDiscrete = 1; skeletonInherit = ""; - skeletonBones[] = {}; + skeletonBones[] = { + "suitcase", "", + "missile", "suitcase" + }; }; class 9m14_skeleton: Default {}; class 9m14_mount_skeleton: Default {}; - class 9m14_joystick_skeleton: Default {}; + class 9m14_joystick_skeleton: Default { + skeletonBones[] = { + "box", "", + "periscope", "box", + "view_pos", "periscope" + }; + }; }; class CfgModels { class Default { @@ -23,10 +32,50 @@ class CfgModels { sectionsInherit = ""; sections[] = {}; skeletonName = "9m14_mount_skeleton"; + class Animations { + class missile_hide { + type = "hide"; + source = "user"; + selection = "missile"; + animPeriod = 0.0001; + minValue = 0; + maxValue = 1; + minPhase = 0; + maxPhase = 1; + hideValue = 0.99; + }; + }; }; class 9m14_joystick: Default { sectionsInherit = ""; sections[] = {}; skeletonName = "9m14_joystick_skeleton"; + class Animations { + class MainGun { + type = "rotation"; + selection = "view_pos"; + sourceAddress = "clamp"; + source = "MainGun"; + axis = "elevation_axis"; + animPeriod = 0.01; + initPhase = 0; + maxValue = "rad 360"; + minValue = "rad -360"; + angle1 = "rad -360"; + angle0 = "rad +360"; + }; + class MainTurret { + type = "rotation"; + source = "MainTurret"; + selection = "periscope"; + sourceAddress = "loop"; + axis = "rotation_axis"; + animPeriod = 0.005; + minValue = "rad -360"; + maxValue = "rad +360"; + angle1 = "rad -360"; + angle0 = "rad +360"; + }; + }; }; }; \ No newline at end of file diff --git a/addons/malyutka/functions/fnc_onFired.sqf b/addons/malyutka/functions/fnc_onFired.sqf index de6e6e5fbf0..9fdec494285 100644 --- a/addons/malyutka/functions/fnc_onFired.sqf +++ b/addons/malyutka/functions/fnc_onFired.sqf @@ -28,6 +28,7 @@ private _statuses = _controlBox getVariable QGVAR(plugStatus); private _availableIndex = _statuses findIf { (_x isNotEqualTo objNull) && (someAmmo _x) }; if (_availableIndex >= 0) then { private _malyutka = _statuses select _availableIndex; + _malyutka animate ["missile_hide", 1]; [_malyutka, QGVAR(9m14)] call BIS_fnc_fire; } else { // how did we get here? From 2694453b56cdae2859ad495e0cbe6f3d11ca22e0 Mon Sep 17 00:00:00 2001 From: Brandon Danyluk Date: Sun, 23 May 2021 00:24:13 -0600 Subject: [PATCH 126/254] init commit of cruise missile --- addons/tomahawk/$PBOPREFIX$ | 1 + addons/tomahawk/CfgAmmo.hpp | 3 +++ addons/tomahawk/CfgMagazines.hpp | 4 ++++ addons/tomahawk/CfgVehicles.hpp | 32 ++++++++++++++++++++++++++++ addons/tomahawk/CfgWeapons.hpp | 7 ++++++ addons/tomahawk/README.md | 12 +++++++++++ addons/tomahawk/config.cpp | 21 ++++++++++++++++++ addons/tomahawk/script_component.hpp | 18 ++++++++++++++++ addons/tomahawk/stringtable.xml | 8 +++++++ 9 files changed, 106 insertions(+) create mode 100644 addons/tomahawk/$PBOPREFIX$ create mode 100644 addons/tomahawk/CfgAmmo.hpp create mode 100644 addons/tomahawk/CfgMagazines.hpp create mode 100644 addons/tomahawk/CfgVehicles.hpp create mode 100644 addons/tomahawk/CfgWeapons.hpp create mode 100644 addons/tomahawk/README.md create mode 100644 addons/tomahawk/config.cpp create mode 100644 addons/tomahawk/script_component.hpp create mode 100644 addons/tomahawk/stringtable.xml diff --git a/addons/tomahawk/$PBOPREFIX$ b/addons/tomahawk/$PBOPREFIX$ new file mode 100644 index 00000000000..95f809c3e8b --- /dev/null +++ b/addons/tomahawk/$PBOPREFIX$ @@ -0,0 +1 @@ +z\ace\addons\tomahawk \ No newline at end of file diff --git a/addons/tomahawk/CfgAmmo.hpp b/addons/tomahawk/CfgAmmo.hpp new file mode 100644 index 00000000000..32c90bad287 --- /dev/null +++ b/addons/tomahawk/CfgAmmo.hpp @@ -0,0 +1,3 @@ +class CfgAmmo { +}; + diff --git a/addons/tomahawk/CfgMagazines.hpp b/addons/tomahawk/CfgMagazines.hpp new file mode 100644 index 00000000000..ac58f217637 --- /dev/null +++ b/addons/tomahawk/CfgMagazines.hpp @@ -0,0 +1,4 @@ +class CfgMagazines { + +}; + diff --git a/addons/tomahawk/CfgVehicles.hpp b/addons/tomahawk/CfgVehicles.hpp new file mode 100644 index 00000000000..e4b8ace2c1c --- /dev/null +++ b/addons/tomahawk/CfgVehicles.hpp @@ -0,0 +1,32 @@ +class CfgVehicles { + class StaticWeapon; + class StaticMGWeapon: StaticWeapon { + class Turrets; + }; + class B_Ship_MRLS_01_base_F: StaticMGWeapon { + class Turrets: Turrets { + class MainTurret; + }; + }; + // Use a custom ACE variant due to custom interface for launching + class GVAR(vls): B_Ship_MRLS_01_base_F { + displayName = "[ACE] Mk41 VLS"; + class AnimationSources { + class Missiles_revolving { + source = "ammo"; + source = "revolving"; + weapon = QGVAR(c); + }; + }; + class Turrets: Turrets { + class MainTurret: MainTurret { + weapons[] = { + QGVAR(c) + }; + magazines[] = { + QGVAR(c) + }; + }; + }; + }; +}; \ No newline at end of file diff --git a/addons/tomahawk/CfgWeapons.hpp b/addons/tomahawk/CfgWeapons.hpp new file mode 100644 index 00000000000..5184f83c552 --- /dev/null +++ b/addons/tomahawk/CfgWeapons.hpp @@ -0,0 +1,7 @@ +class CfgWeapons { + class GVAR(c): weapon_VLS_01 { + displayName = "Venator Cruise Missile"; + magazines[] = {"magazine_Missiles_Cruise_01_x18", "magazine_Missiles_Cruise_01_Cluster_x18"}; + }; +}; + diff --git a/addons/tomahawk/README.md b/addons/tomahawk/README.md new file mode 100644 index 00000000000..ba4534bcc41 --- /dev/null +++ b/addons/tomahawk/README.md @@ -0,0 +1,12 @@ +ace_tomahawk +=================== + +Adds UGM-109C Tomahawk cruise missile + + +## Maintainers + +The people responsible for merging changes to this component or answering potential questions. + +- [Brandon-TCVM](https://github.com/TheCandianVendingMachine) + diff --git a/addons/tomahawk/config.cpp b/addons/tomahawk/config.cpp new file mode 100644 index 00000000000..c61886cd26f --- /dev/null +++ b/addons/tomahawk/config.cpp @@ -0,0 +1,21 @@ +#include "script_component.hpp" + +class CfgPatches { + class ADDON { + name = COMPONENT_NAME; + units[] = {}; + weapons[] = {}; + requiredVersion = REQUIRED_VERSION; + requiredAddons[] = {"ace_common","ace_missileguidance"}; + author = ECSTRING(common,ACETeam); + authors[] = {"Brandon (TCVM)"}; + url = ECSTRING(main,URL); + VERSION_CONFIG; + }; +}; + +#include "CfgAmmo.hpp" +#include "CfgMagazines.hpp" +#include "CfgWeapons.hpp" +#include "CfgVehicles.hpp" + diff --git a/addons/tomahawk/script_component.hpp b/addons/tomahawk/script_component.hpp new file mode 100644 index 00000000000..0889792838d --- /dev/null +++ b/addons/tomahawk/script_component.hpp @@ -0,0 +1,18 @@ +#define COMPONENT tomahawk +#define COMPONENT_BEAUTIFIED Tomahawk +#include "\z\ace\addons\main\script_mod.hpp" + +// #define DEBUG_MODE_FULL +// #define DISABLE_COMPILE_CACHE +// #define ENABLE_PERFORMANCE_COUNTERS + +#ifdef DEBUG_ENABLED_TOMAHAWK + #define DEBUG_MODE_FULL +#endif + +#ifdef DEBUG_SETTINGS_TOMAHAWK + #define DEBUG_SETTINGS DEBUG_SETTINGS_TOMAHAWK +#endif + +#include "\z\ace\addons\main\script_macros.hpp" + diff --git a/addons/tomahawk/stringtable.xml b/addons/tomahawk/stringtable.xml new file mode 100644 index 00000000000..740cdf38064 --- /dev/null +++ b/addons/tomahawk/stringtable.xml @@ -0,0 +1,8 @@ + + + + + BGM-109C + + + From c5972e692ca111131a9b4e0c611dd523134da989 Mon Sep 17 00:00:00 2001 From: PabstMirror Date: Wed, 17 Mar 2021 15:48:47 -0500 Subject: [PATCH 127/254] Various - Add missing units/weapons to cfgPatches (#8175) * Various - Add missing units/weapons to cfgPatches * Update config.cpp --- addons/artillerytables/config.cpp | 2 +- addons/dragon/config.cpp | 4 ++-- addons/fastroping/config.cpp | 4 ++-- addons/medical_treatment/config.cpp | 4 ++-- addons/tacticalladder/config.cpp | 2 +- 5 files changed, 8 insertions(+), 8 deletions(-) diff --git a/addons/artillerytables/config.cpp b/addons/artillerytables/config.cpp index 4f5048e5ae3..eadb5c2a245 100644 --- a/addons/artillerytables/config.cpp +++ b/addons/artillerytables/config.cpp @@ -4,7 +4,7 @@ class CfgPatches { class ADDON { name = COMPONENT_NAME; units[] = {}; - weapons[] = {}; + weapons[] = {"ACE_artilleryTable"}; requiredVersion = REQUIRED_VERSION; requiredAddons[] = {"ace_interaction"}; author = ECSTRING(common,ACETeam); diff --git a/addons/dragon/config.cpp b/addons/dragon/config.cpp index 78d836936ea..9d329f6be78 100644 --- a/addons/dragon/config.cpp +++ b/addons/dragon/config.cpp @@ -3,8 +3,8 @@ class CfgPatches { class ADDON { name = COMPONENT_NAME; - units[] = {}; - weapons[] = {}; + units[] = {"ace_dragon_staticAssembled"}; + weapons[] = {"ace_dragon_super","ace_dragon_sight"}; requiredVersion = REQUIRED_VERSION; requiredAddons[] = {"ace_hot","ace_csw"}; author = ECSTRING(common,ACETeam); diff --git a/addons/fastroping/config.cpp b/addons/fastroping/config.cpp index 98dfd267422..bdbd92c3b02 100644 --- a/addons/fastroping/config.cpp +++ b/addons/fastroping/config.cpp @@ -3,8 +3,8 @@ class CfgPatches { class ADDON { name = COMPONENT_NAME; - units[] = {}; - weapons[] = {}; + units[] = {"ACE_fastropingSupplyCrate"}; + weapons[] = {"ACE_rope12","ACE_rope15","ACE_rope18","ACE_rope27","ACE_rope36"}; requiredVersion = REQUIRED_VERSION; requiredAddons[] = {"ace_interaction"}; author = ECSTRING(common,ACETeam); diff --git a/addons/medical_treatment/config.cpp b/addons/medical_treatment/config.cpp index 29c11c18ad6..7506903b46d 100644 --- a/addons/medical_treatment/config.cpp +++ b/addons/medical_treatment/config.cpp @@ -3,8 +3,8 @@ class CfgPatches { class ADDON { name = COMPONENT_NAME; - units[] = {}; - weapons[] = {}; + units[] = {"ACE_fieldDressingItem","ACE_packingBandageItem","ACE_elasticBandageItem","ACE_tourniquetItem","ACE_splintItem","ACE_morphineItem","ACE_adenosineItem","ACE_epinephrineItem","ACE_plasmaIVItem","ACE_bloodIVItem","ACE_salineIVItem","ACE_quikClotItem","ACE_personalAidKitItem","ACE_surgicalKitItem","ACE_bodyBagItem","ACE_medicalSupplyCrate","ACE_medicalSupplyCrate_advanced"}; + weapons[] = {"ACE_fieldDressing","ACE_packingBandage","ACE_elasticBandage","ACE_tourniquet","ACE_splint","ACE_morphine","ACE_adenosine","ACE_epinephrine","ACE_plasmaIV","ACE_plasmaIV_500","ACE_plasmaIV_250","ACE_bloodIV","ACE_bloodIV_500","ACE_bloodIV_250","ACE_salineIV","ACE_salineIV_500","ACE_salineIV_250","ACE_quikclot","ACE_personalAidKit","ACE_surgicalKit","ACE_bodyBag"}; requiredVersion = REQUIRED_VERSION; requiredAddons[] = {"ace_medical_status", "ace_medical_damage", "ace_apl"}; author = ECSTRING(common,ACETeam); diff --git a/addons/tacticalladder/config.cpp b/addons/tacticalladder/config.cpp index def7b0ce963..1060300de5c 100644 --- a/addons/tacticalladder/config.cpp +++ b/addons/tacticalladder/config.cpp @@ -3,7 +3,7 @@ class CfgPatches { class ADDON { name = COMPONENT_NAME; - units[] = {}; + units[] = {"ACE_TacticalLadder_Pack"}; weapons[] = {}; requiredVersion = REQUIRED_VERSION; requiredAddons[] = {"ace_apl", "ace_interaction"}; From dd5bd46a82e27e42bc8c6bc9eb9fdcb80cc16b21 Mon Sep 17 00:00:00 2001 From: jonpas Date: Wed, 17 Mar 2021 21:52:17 +0100 Subject: [PATCH 128/254] Documentation - Add Mikero binarization note (#8172) --- docs/wiki/development/setting-up-the-development-environment.md | 1 + 1 file changed, 1 insertion(+) diff --git a/docs/wiki/development/setting-up-the-development-environment.md b/docs/wiki/development/setting-up-the-development-environment.md index 5a39f5fb1af..3351e8eaae7 100644 --- a/docs/wiki/development/setting-up-the-development-environment.md +++ b/docs/wiki/development/setting-up-the-development-environment.md @@ -20,6 +20,7 @@ This page describes how you can setup your development environment for ACE3, all - [Mikero Tools](https://mikero.bytex.digital/Downloads): DePbo, DeOgg, DeTex, Rapify, MakePbo, PboProject >=1.70 - `*.hpp` removed from PboProject's "Exclude From Pbo" list - `-F rebuild RequiredAddons` disabled + - `-B Don't binarise cpp or sqm` enabled - Python, Mikero Tools and Git in PATH environment variable - [CBA](https://github.com/CBATeam/CBA_A3/releases/latest) mod (release or development version) From fac35d53422cc007cb3377cd940dc76a019809b5 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Fri, 19 Mar 2021 19:11:54 -0500 Subject: [PATCH 129/254] Bump is-svg from 4.2.1 to 4.3.1 in /docs/src (#8177) Bumps [is-svg](https://github.com/sindresorhus/is-svg) from 4.2.1 to 4.3.1. - [Release notes](https://github.com/sindresorhus/is-svg/releases) - [Commits](https://github.com/sindresorhus/is-svg/compare/v4.2.1...v4.3.1) Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> --- docs/src/package-lock.json | 22 +++++++++++----------- 1 file changed, 11 insertions(+), 11 deletions(-) diff --git a/docs/src/package-lock.json b/docs/src/package-lock.json index 7a26357f294..a915c30e8e7 100644 --- a/docs/src/package-lock.json +++ b/docs/src/package-lock.json @@ -1678,6 +1678,13 @@ "micromatch": "^3.1.10" } }, + "fast-xml-parser": { + "version": "3.19.0", + "resolved": "https://registry.npmjs.org/fast-xml-parser/-/fast-xml-parser-3.19.0.tgz", + "integrity": "sha512-4pXwmBplsCPv8FOY1WRakF970TjNGnGnfbOnLqjlYvMiF1SR3yOHyxMR/YCXpPTOspNF5gwudqktIP4VsWkvBg==", + "dev": true, + "optional": true + }, "faye-websocket": { "version": "0.10.0", "resolved": "https://registry.npmjs.org/faye-websocket/-/faye-websocket-0.10.0.tgz", @@ -2455,13 +2462,6 @@ "integrity": "sha512-pNgbURSuab90KbTqvRPsseaTxOJCZBD0a7t+haSN33piP9cCM4l0CqdzAif2hUqm716UovKB2ROmiabGAKVXyg==", "dev": true }, - "html-comment-regex": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/html-comment-regex/-/html-comment-regex-1.1.2.tgz", - "integrity": "sha512-P+M65QY2JQ5Y0G9KKdlDpo0zK+/OHptU5AaBwUfAIDJZk1MYf32Frm84EcOytfJE0t5JvkAnKlmjsXDnWzCJmQ==", - "dev": true, - "optional": true - }, "http-cache-semantics": { "version": "3.8.1", "resolved": "https://registry.npmjs.org/http-cache-semantics/-/http-cache-semantics-3.8.1.tgz", @@ -2809,13 +2809,13 @@ "optional": true }, "is-svg": { - "version": "4.2.1", - "resolved": "https://registry.npmjs.org/is-svg/-/is-svg-4.2.1.tgz", - "integrity": "sha512-PHx3ANecKsKNl5y5+Jvt53Y4J7MfMpbNZkv384QNiswMKAWIbvcqbPz+sYbFKJI8Xv3be01GSFniPmoaP+Ai5A==", + "version": "4.3.1", + "resolved": "https://registry.npmjs.org/is-svg/-/is-svg-4.3.1.tgz", + "integrity": "sha512-h2CGs+yPUyvkgTJQS9cJzo9lYK06WgRiXUqBBHtglSzVKAuH4/oWsqk7LGfbSa1hGk9QcZ0SyQtVggvBA8LZXA==", "dev": true, "optional": true, "requires": { - "html-comment-regex": "^1.1.2" + "fast-xml-parser": "^3.19.0" } }, "is-symbol": { From d9261c42b18d52ceb3cf2190a16a3a8bbc355d74 Mon Sep 17 00:00:00 2001 From: Jo David Date: Wed, 24 Mar 2021 16:18:59 +0100 Subject: [PATCH 130/254] Adjust "New issue" link to lead to template selection page (#8182) We want people to choose a template when creating a new issue --- docs/wiki/user/how-to-report-an-issue.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/wiki/user/how-to-report-an-issue.md b/docs/wiki/user/how-to-report-an-issue.md index fefbf8a73eb..9e4962ef768 100644 --- a/docs/wiki/user/how-to-report-an-issue.md +++ b/docs/wiki/user/how-to-report-an-issue.md @@ -26,6 +26,6 @@ Indicate if the issue appears on stable or development version. In case it is th ### Reporting the issue -Head over to the [ACE3 GitHub issue tracker]({{ site.ace.githubUrl }}/issues){:target="_blank"} and press the ["New Issue"]({{ site.ace.githubUrl }}/issues/new){:target="_blank"} button in the top right corner. Fill out the issue template. Add a link ([gist](https://gist.github.com){:target="_blank"} or [pastebin](http://pastebin.com){:target="_blank"}) to the client and/or server RPT file. An instruction to find your RPT files can be found [here](https://community.bistudio.com/wiki/Crash_Files#Arma_3){:target="_blank"}. +Head over to the [ACE3 GitHub issue tracker]({{ site.ace.githubUrl }}/issues){:target="_blank"} and press the ["New Issue"]({{ site.ace.githubUrl }}/issues/new/choose){:target="_blank"} button in the top right corner. Fill out the issue template. Add a link ([gist](https://gist.github.com){:target="_blank"} or [pastebin](http://pastebin.com){:target="_blank"}) to the client and/or server RPT file. An instruction to find your RPT files can be found [here](https://community.bistudio.com/wiki/Crash_Files#Arma_3){:target="_blank"}. A short video clip of the issue might be helpful in resolving it faster. From a5d7a00d71b88b2e05cce3d78c9812707b7c1b8b Mon Sep 17 00:00:00 2001 From: Filip Maciejewski Date: Thu, 8 Apr 2021 14:20:14 +0200 Subject: [PATCH 131/254] Update linguist settings (#8151) --- .gitattributes | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/.gitattributes b/.gitattributes index 3c59efe684a..2462fa3c3b1 100644 --- a/.gitattributes +++ b/.gitattributes @@ -2,3 +2,13 @@ *.png binary *.jpg binary *.paa binary + +# Change GitHub language categorization +addons/**/*.cpp linguist-language=SQF +addons/**/*.hpp linguist-language=SQF + +optionals/**/*.cpp linguist-language=SQF +optionals/**/*.hpp linguist-language=SQF + +# Do not count hemtt includes in language usage stats +include/* linguist-vendored From 44ecfc8ac3da9dac539502ae6175de48b683f83d Mon Sep 17 00:00:00 2001 From: Pascal Dunaj <32539404+t-zilla@users.noreply.github.com> Date: Thu, 8 Apr 2021 20:35:10 +0200 Subject: [PATCH 132/254] Typo in usage example (#8201) --- addons/captives/functions/fnc_doEscortCaptive.sqf | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/addons/captives/functions/fnc_doEscortCaptive.sqf b/addons/captives/functions/fnc_doEscortCaptive.sqf index 86d597aabe8..700a68c42ea 100644 --- a/addons/captives/functions/fnc_doEscortCaptive.sqf +++ b/addons/captives/functions/fnc_doEscortCaptive.sqf @@ -12,7 +12,7 @@ * The return value * * Example: - * [player, bob, true] call ACE_captives_fnc_doEscorteCaptive; + * [player, bob, true] call ACE_captives_fnc_doEscortCaptive; * * Public: No */ From 4e3d3ceeaefd6e6b743fcac37ec28822813fc3e7 Mon Sep 17 00:00:00 2001 From: jonpas Date: Fri, 9 Apr 2021 20:15:40 +0200 Subject: [PATCH 133/254] Mk6 Mortar - Fix README.md typo (#8205) --- addons/mk6mortar/README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/addons/mk6mortar/README.md b/addons/mk6mortar/README.md index 3e5109f38fc..072fdf7f157 100644 --- a/addons/mk6mortar/README.md +++ b/addons/mk6mortar/README.md @@ -1,7 +1,7 @@ ace_mk6mortar ========== -Tweaks the Nk6 Mortar system. +Tweaks the Mk6 Mortar system. ## Maintainers From 560a1da7dc6711779f9f86f96c0c1215fbe17da4 Mon Sep 17 00:00:00 2001 From: BaerMitUmlaut Date: Mon, 12 Apr 2021 08:52:53 +0200 Subject: [PATCH 134/254] Overhaul CSW docs (#8206) --- .../crew-served-weapons-framework.md | 215 +++++++++++------- 1 file changed, 129 insertions(+), 86 deletions(-) diff --git a/docs/wiki/framework/crew-served-weapons-framework.md b/docs/wiki/framework/crew-served-weapons-framework.md index 3f64b095874..9b3ef28d4fb 100644 --- a/docs/wiki/framework/crew-served-weapons-framework.md +++ b/docs/wiki/framework/crew-served-weapons-framework.md @@ -14,133 +14,176 @@ version: ## 1. Making a new Crew Served Weapon -### 1.1 CfgVehicles +To convert a static weapon into a crew served weapon, you need to create the following: + +- A proxy weapon +- A carryable weapon that can be mounted on a tripod +- Carryable weapon magazines +- The CSW config in the static weapon + +For the following examples, we are going to assume you are modifying your existing static weapon named `prefix_hmg` and that you are using the same prefix. If you are making a compatibility patch for a third party mod, you should use your own prefix. Do not use `ace` as your prefix. + +### 1.1 Proxy Weapon + +Because the magazine loading time is already handled by the ACE interaction, a proxy weapon with a very low loading time is used. It automatically replaces the default weapon of the turret when CSW is enabled. ```cpp -class CfgVehicles { - class LandVehicle; - class StaticWeapon: LandVehicle { - class ACE_Actions; +class CfgWeapons { + class prefix_hmg_weapon; + class prefix_hmg_weapon_proxy: prefix_hmg_weapon { + magazineReloadTime = 0.5; }; - class StaticMGWeapon: StaticWeapon { - class Turrets { - class MainTurret; - }; - class ACE_Actions: ACE_Actions { - class ACE_MainActions; - }; +}; +``` + +### 1.2 Carryable Weapon + +Carried CSW weapons are technically rocket launchers. This allows the player to carry both a CSW weapon and a backpack with magazines for the CSW. + +```cpp +class CfgWeapons { + class Launcher; + class Launcher_Base_F: Launcher { + class WeaponSlotsInfo; }; - class banana_csw: StaticMGWeapon { - class ace_csw { - enabled = 1; // whether or not the weapon is affected by CSW - proxyWeapon = QGVAR(HMG_Static); // The weapon that will be added to the CSW on initialization. Used to ensure lower ammo-reload time when using Ammo Handling - magazineLocation = "_target selectionPosition 'magazine'"; // The location of the magazine. Where the action for ammo-handling will appear on the weapon - disassembleWeapon = QGVAR(staticHMGCarry); // What the weapon will disassemble to - disassembleTurret = QGVAR(m3TripodLow); // Which tripod will appear when weapon has been disassembled - ammoLoadTime = 7; // How long it takes in seconds to load ammo into the weapon - ammoUnloadTime = 5; // How long it takes in seconds to unload ammo from the weapon - desiredAmmo = 69; // When the weapon is reloaded it will try and reload to this ammo capacity - disassembleFunc = "myCoolFunction.sqf"; // A callback function for when the CSW gets disassembled. Arguments: [tripod, staticWeapon] + + class prefix_hmg_carry: Launcher_Base_F { + // displayName, author, model and picture are omitted and up to you + scope = 2; + modes[] = {}; + + class ACE_CSW { + type = "weapon"; // Use "weapon" for weapons or "mount" for tripods - see below + deployTime = 4; // How long it takes to deploy the weapon onto the tripod + pickupTime = 4; // How long it takes to disassemble weapon from the tripod + class assembleTo { + // What tripod can this weapon deploy onto, and what vehicle will it spawn when it is deployed + ace_csw_m3Tripod = "prefix_hmg"; + }; + }; + + class WeaponSlotsInfo: WeaponSlotsInfo { + // One WeaponSlot with a positive value for iconScale forces game to use icon overlay method + // Required, because the inventory icon has no accessory variants + class MuzzleSlot { + iconScale = 0.1; + }; + + // Don't forget to set mass to a reasonable value + // We use mass in pounds * 10 + mass = 840; // 84 lb / 38 kg }; }; }; ``` -### 1.2 CfgMagazines +### 1.3 Carryable Magazines + +Vehicle magazines usually don't have inventory pictures or a 3D model. Because of this, carryable magazines need to be created for the CSW. If one of the existing CSW magazines or an infantry weapon magazine would fit your weapon, you don't need to create another magazine. Using one of the existing CSW magazines is preferred to prevent confusing players and mission makers. ```cpp class CfgMagazines { - class 100Rnd_127x99_mag; // Example magazine used - does not have to be this - class banana_ammo: 100Rnd_127x99_mag { - scope=2; // Needs to be 2 to make sure it shows up in Arsenal - type=256; // Must be 256 to show up in Arsenal - count = 100; // How much ammo gets added per "Load Ammo" selection - model = "\A3\Structures_F_EPB\Items\Military\Ammobox_rounds_F.p3d"; // default ammo box model - //ace_isbelt = 1; // Needed if your magazine has belt linking + class prefix_100rnd_hmg_mag; + class prefix_100rnd_hmg_csw_mag: prefix_100rnd_hmg_mag { + scope = 2; + type = 256; // Must be 256 to show up in Arsenal + count = 100; + model = "\A3\Structures_F_EPB\Items\Military\Ammobox_rounds_F.p3d"; + ACE_isBelt = 1; // Enables belt linking for this magazine }; }; ``` -### 1.3 CfgWeapons +ACE converts the carryable magazines to the vehicle magazines when loading them. To enable this conversion, the ACE_CSW_Groups config needs to be extended. ```cpp -class CfgWeapons { - class Launcher_Base_F; - class banana_carry_weapon: Launcher_Base_F { - class ACE_CSW { - type = "weapon"; // What type of carry it is. Must always be "weapon" for the carry weapon - deployTime = 4; // How long it takes to deploy the weapon onto the tripod - pickupTime = 4; // How long it takes to disassemble weapon from the tripod - class assembleTo { - ace_csw_m3Tripod = "banana_csw_mod1"; // What tripod can this weapon deploy onto, and what vehicle will it spawn when it is deployed - banana_tripod = "banana_csw"; - }; - }; +class ACE_CSW_Groups { + // Using a custom carryable magazine + class prefix_100rnd_hmg_csw_mag { // Same name as the carryable magazine + prefix_100rnd_hmg_mag = 1; // Vehicle magazine that will be loaded when loading this magazine }; - class HMG_Static; - class banana_proxy_weapon: HMG_Static { - magazineReloadTime = 0.5; // Proxy weapons are spawned onto the CSW when it is assembled. Because ammo loading times use defined values in the magazine, this number needs to be low to ensure low latency + // Using an existing CSW magazine + class ace_csw_100Rnd_127x99_mag { + banana_dummy_ammo = 1; }; + + /* + Carryable magazines already defined by ACE: + - ace_csw_100Rnd_127x99_mag + - ace_csw_100Rnd_127x99_mag_red + - ace_csw_100Rnd_127x99_mag_green + - ace_csw_100Rnd_127x99_mag_yellow + - ace_csw_50Rnd_127x108_mag + - ace_csw_20Rnd_20mm_G_belt + - ace_1Rnd_82mm_Mo_HE + - ace_1Rnd_82mm_Mo_Smoke + - ace_1Rnd_82mm_Mo_Illum + - ace_1Rnd_82mm_Mo_HE_Guided + - ace_1Rnd_82mm_Mo_HE_LaserGuided + */ }; ``` -### 1.4 CfgMagazineGroups +### 1.4 CSW Config + +The final step is to let ACE know how to disassemble and load the static weapon. ```cpp - class ace_csw_groups { // Ammo that can be loaded into this CSW - class banana_ammo { // The magazine which the player can place into their inventory - banana_dummy_ammo = 1; // Magazine that is loaded into the weapon as per CfgWeapons >> weapon >> magazines - }; - - // Optional - class ace_csw_100Rnd_127x99_mag { // default magazine that CSW already implements - banana_dummy_ammo = 1; +class CfgVehicles { + class StaticMGWeapon; + class prefix_hmg: StaticMGWeapon { + class ACE_CSW { + enabled = 1; // Enables ACE CSW for this weapon + proxyWeapon = "prefix_hmg_weapon_proxy"; // The proxy weapon created above + magazineLocation = "_target selectionPosition 'magazine'"; // Ammo handling interaction point location + disassembleWeapon = "prefix_hmg_carry"; // Carryable weapon created above + disassembleTurret = "ace_csw_m3Tripod"; // Which static tripod will appear when weapon is disassembled + ammoLoadTime = 7; // How long it takes in seconds to load ammo into the weapon + ammoUnloadTime = 5; // How long it takes in seconds to unload ammo from the weapon + desiredAmmo = 100; // When the weapon is reloaded it will try and reload to this ammo capacity + // Optional callback function for when the CSW gets disassembled, called with [tripod, staticWeapon] + disassembleFunc = "prefix_fnc_handleDisassembly"; }; - - /* - Ammo types already defined by CSW: - - ace_csw_100Rnd_127x99_mag - - ace_csw_100Rnd_127x99_mag_red - - ace_csw_100Rnd_127x99_mag_green - - ace_csw_100Rnd_127x99_mag_yellow - - ace_csw_50Rnd_127x108_mag - - ace_csw_20Rnd_20mm_G_belt - - ACE_1Rnd_82mm_Mo_HE - - ACE_1Rnd_82mm_Mo_Smoke - - ACE_1Rnd_82mm_Mo_Illum - - ACE_1Rnd_82mm_Mo_HE_Guided - - ACE_1Rnd_82mm_Mo_HE_LaserGuided - - Titan_AT - - Titan_AA - */ }; +}; ``` ## 2. Making a new Tripod -### 2.1 CfgVehicles +If none of the existing ACE tripods fit your weapon, you can create your own. Creating a tripod is similar to creating a crew served weapon and consists of two parts: + +- A carryable tripod +- A placeable static tripod + +### 2.2 Carryable Tripod + +Creating the carryable tripod is similar to [creating a carryable weapon](#12-carryable-weapon). The config besides the `ACE_CSW` class has been omitted for brevity and is the same as above. ```cpp -class CfgVehicles { - class ace_csw_baseTripod; - class banana_tripod: ace_csw_baseTripod { - class ace_csw { disassembleTo = "banana_carry_tripod"; }; // What will be spawned when "Pickup Tripod" is selected +class CfgWeapons { + class Launcher_Base_F; + class prefix_tripod_carry: Launcher_Base_F { + class ACE_CSW { + type = "mount"; // Use "mount" for tripods + deployTime = 4; // How long it takes to deploy the tripod + pickupTime = 4; // How long it takes to disassemble the tripod + deploy = "prefix_tripod"; // what vehicle will spawn when the tripod is deployed + }; }; }; ``` -### 2.2 CfgWeapons +### 2.1 CfgVehicles + +When deploying a tripod, a static vehicle is spawned to mount weapons onto. Make sure this vehicles interaction point is in a suitable position. ```cpp -class CfgWeapons { - class Launcher_Base_F; - class banana_carry_tripod: Launcher_Base_F { +class CfgVehicles { + class ace_csw_baseTripod; + class prefix_tripod: ace_csw_baseTripod { class ACE_CSW { - type = "mount"; // What type of carry it is. Must always be "mount" for the tripod - deployTime = 4; // How long it takes to deploy the tripod - pickupTime = 4; // How long it takes to pickup the tripod - deploy = "banana_tripod"; // what vehicle will spawn when the tripod is deployed + disassembleTo = "prefix_tripod_carry"; }; }; }; From b181f1badf11e1c87afd40705d3a8b9ed067637f Mon Sep 17 00:00:00 2001 From: Brett Date: Thu, 15 Apr 2021 03:54:00 -0600 Subject: [PATCH 135/254] Medical - Add Alternative Survival Chance (#8192) Co-authored-by: TyroneMF Co-authored-by: Filip Maciejewski Co-authored-by: Kyle Mckay <5459452+kymckay@users.noreply.github.com> --- addons/medical_damage/functions/fnc_woundsHandlerSQF.sqf | 6 ++++-- addons/medical_damage/initSettings.sqf | 9 +++++++++ addons/medical_damage/stringtable.xml | 6 ++++++ 3 files changed, 19 insertions(+), 2 deletions(-) diff --git a/addons/medical_damage/functions/fnc_woundsHandlerSQF.sqf b/addons/medical_damage/functions/fnc_woundsHandlerSQF.sqf index 93472f1d7ae..b0de1f6e4ab 100644 --- a/addons/medical_damage/functions/fnc_woundsHandlerSQF.sqf +++ b/addons/medical_damage/functions/fnc_woundsHandlerSQF.sqf @@ -122,8 +122,10 @@ private _bodyPartVisParams = [_unit, false, false, false, false]; // params arra _critialDamage = true; }; if ([_unit, _bodyPartNToAdd, _bodyPartDamage, _woundDamage] call FUNC(determineIfFatal)) then { - TRACE_1("determineIfFatal returned true",_woundDamage); - [QEGVAR(medical,FatalInjury), _unit] call CBA_fnc_localEvent; + if (!isPlayer _unit || {random 1 < EGVAR(medical,deathChance)}) then { + TRACE_1("determineIfFatal returned true",_woundDamage); + [QEGVAR(medical,FatalInjury), _unit] call CBA_fnc_localEvent; + }; }; #ifdef DEBUG_MODE_FULL diff --git a/addons/medical_damage/initSettings.sqf b/addons/medical_damage/initSettings.sqf index 12806a46a22..14dac50f1a5 100644 --- a/addons/medical_damage/initSettings.sqf +++ b/addons/medical_damage/initSettings.sqf @@ -33,3 +33,12 @@ [0, 1, 0.1, 2, true], true ] call CBA_fnc_addSetting; + +[ + QEGVAR(medical,deathChance), + "SLIDER", + [LSTRING(deathChance_DisplayName), LSTRING(deathChance_Description)], + ELSTRING(medical,Category), + [0, 1, 1, 2, true], + true +] call CBA_fnc_addSetting; diff --git a/addons/medical_damage/stringtable.xml b/addons/medical_damage/stringtable.xml index 4c74c96db18..ae56dc79c8c 100644 --- a/addons/medical_damage/stringtable.xml +++ b/addons/medical_damage/stringtable.xml @@ -697,5 +697,11 @@ Szansa że osoba straci przytomność gdy jej ból jest powyżej tolerowalnego progu podczas otrzymywania obrażeń. ユニットがダメージを受けた時に痛みが許容しきい値を超えた場合、気絶をする確立を設定します。 + + Fatal Injury Death Chance + + + The chance of dying to a fatal injury. + From fdc3ab07848c7b14a04fec814af02a467a1daafd Mon Sep 17 00:00:00 2001 From: Dystopian Date: Sat, 17 Apr 2021 21:08:18 +0400 Subject: [PATCH 136/254] Fix make.py temp files cleanup (#8189) --- tools/make.py | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/tools/make.py b/tools/make.py index ca373696381..27c10529d74 100644 --- a/tools/make.py +++ b/tools/make.py @@ -592,7 +592,9 @@ def get_project_version(version_increments=[]): def replace_file(filePath, oldSubstring, newSubstring): - fh, absPath = mkstemp() + global work_drive + fh, absPath = mkstemp(None, None, work_drive + "temp") + os.close(fh) with open(absPath, "w", encoding="utf-8") as newFile: with open(filePath, encoding="utf-8") as oldFile: for line in oldFile: From 9d6843fdb350722be6751ea7ac6be82d455cceb7 Mon Sep 17 00:00:00 2001 From: commy2 Date: Sat, 17 Apr 2021 22:28:52 +0200 Subject: [PATCH 137/254] Fix Injured Sounds Not Playing At Altitudes Above 70 (#8212) --- addons/medical_feedback/functions/fnc_playInjuredSound.sqf | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/addons/medical_feedback/functions/fnc_playInjuredSound.sqf b/addons/medical_feedback/functions/fnc_playInjuredSound.sqf index 5773f904ff7..44f60b496fd 100644 --- a/addons/medical_feedback/functions/fnc_playInjuredSound.sqf +++ b/addons/medical_feedback/functions/fnc_playInjuredSound.sqf @@ -33,7 +33,7 @@ private _distance = if (_type == "hit") then { } else { [10, 15, 20] select _severity; }; -private _targets = allPlayers inAreaArray [getPosWorld _unit, _distance, _distance, 0, false, _distance]; +private _targets = allPlayers inAreaArray [ASLToAGL getPosASL _unit, _distance, _distance, 0, false, _distance]; if (_targets isEqualTo []) exitWith {}; // Handle timeout From 090aa5d5c573219e52c13117e6eb1b933cec7b6e Mon Sep 17 00:00:00 2001 From: TyroneMF Date: Mon, 19 Apr 2021 17:31:07 +0100 Subject: [PATCH 138/254] Particles - Fix macro (#8214) * initial push * Update script_component.hpp * Update script_component.hpp * Update script_component.hpp --- AUTHORS.txt | 1 + optionals/particles/script_component.hpp | 9 +++++---- 2 files changed, 6 insertions(+), 4 deletions(-) diff --git a/AUTHORS.txt b/AUTHORS.txt index 402b13b8e63..722b357e04a 100644 --- a/AUTHORS.txt +++ b/AUTHORS.txt @@ -158,6 +158,7 @@ Toaster Tonic Tourorist Tuupertunut +TyroneMF Valentin Torikian voiper VyMajoris(W-Cephei) diff --git a/optionals/particles/script_component.hpp b/optionals/particles/script_component.hpp index 53a4988a8d1..f783f7bedea 100644 --- a/optionals/particles/script_component.hpp +++ b/optionals/particles/script_component.hpp @@ -27,17 +27,18 @@ type = "ACE_SmokeBaseMedium"; \ }; \ } +#define MERGE(var1,var2) var1####var2 #define EFFECT_40MM(color) class ACE_40mmSmokeShell##color##Effect: ACE_40mmSmokeShellWhiteEffect { \ class SmokeShellUW { \ simulation = "particles"; \ - type = QUOTE(SmokeShell##color##UW); \ + type = QUOTE(MERGE(SmokeShell,MERGE(color,UW))); \ position[] = {0, 0, 0}; \ intensity = 1; \ interval = 1; \ }; \ class SmokeShell2UW { \ simulation = "particles"; \ - type = QUOTE(SmokeShell##color##2UW); \ + type = QUOTE(MERGE(SmokeShell,MERGE(color,2UW))); \ position[] = {0, 0, 0}; \ intensity = 1; \ interval = 1; \ @@ -45,11 +46,11 @@ } #define EFFECT_AFTER_WATER(color) class ACE_SmokeAfterWater##color: ACE_SmokeAfterWaterWhite { \ class SmokeAfterWater: SmokeAfterWater { \ - type = QUOTE(ACE_SmokeAfterWater##color); \ + type = QUOTE(MERGE(ACE_SmokeAfterWater,color)); \ }; \ } #define CLOUDLET_UNDERWATER(color) class SmokeShell##color##UW; \ class SmokeShell##color##2UW: SmokeShell##color##UW { \ - postEffects = QUOTE(ACE_SmokeAfterWater##color); \ + postEffects = QUOTE(MERGE(ACE_SmokeAfterWater,color)); \ } From 517b576193cd61b5d70aa935e88caa8870e8c32b Mon Sep 17 00:00:00 2001 From: R3voA3 Date: Tue, 20 Apr 2021 11:57:33 +0200 Subject: [PATCH 139/254] Map - Fix stuck map compass size (add 0.1 zoom duration) (#8176) Co-authored-by: jonpas --- addons/map/config.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/addons/map/config.cpp b/addons/map/config.cpp index aab52c35361..943a63c228e 100644 --- a/addons/map/config.cpp +++ b/addons/map/config.cpp @@ -100,7 +100,7 @@ class RscDisplayMainMap { class objects { class Compass: RscObject { scale = 0.7; - zoomDuration = 0; + zoomDuration = 0.1; // 0 (instant transition) breaks Arma saving position/size }; }; }; From fa870a3ccddc52d8ed5a60a05c7a8c4c5d593c17 Mon Sep 17 00:00:00 2001 From: Steve Zhao Date: Tue, 20 Apr 2021 05:59:11 -0400 Subject: [PATCH 140/254] Medical - Allow unconscious unit in Taru pods (#8168) Co-authored-by: Filip Maciejewski --- addons/medical_engine/functions/fnc_setUnconsciousAnim.sqf | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/addons/medical_engine/functions/fnc_setUnconsciousAnim.sqf b/addons/medical_engine/functions/fnc_setUnconsciousAnim.sqf index 27ed364bf5d..f71c550addb 100644 --- a/addons/medical_engine/functions/fnc_setUnconsciousAnim.sqf +++ b/addons/medical_engine/functions/fnc_setUnconsciousAnim.sqf @@ -27,7 +27,7 @@ _unit setUnconscious _isUnconscious; if (_isUnconscious) then { // eject from static weapon - if (vehicle _unit isKindOf "StaticWeapon") then { + if (vehicle _unit isKindOf "StaticWeapon" && {!(vehicle _unit isKindOf "Pod_Heli_Transport_04_crewed_base_F")}) then { TRACE_2("ejecting from static weapon",_unit,vehicle _unit); [_unit] call EFUNC(common,unloadPerson); }; From 7c879976ce2a6493c5306e83e411c8addd4b7d71 Mon Sep 17 00:00:00 2001 From: "Kyle J. McKeown" Date: Tue, 20 Apr 2021 06:00:36 -0400 Subject: [PATCH 141/254] Name Tags - Add ability to set custom rank icon (#8174) --- AUTHORS.txt | 1 + .../nametags/functions/fnc_drawNameTagIcon.sqf | 17 ++++++++++------- 2 files changed, 11 insertions(+), 7 deletions(-) diff --git a/AUTHORS.txt b/AUTHORS.txt index 722b357e04a..46c795ed129 100644 --- a/AUTHORS.txt +++ b/AUTHORS.txt @@ -71,6 +71,7 @@ Dharma Bellamkonda Dimaslg diwako dixon13 +Drift_91 Drill Dudakov aka [OMCB]Kaban Drofseh diff --git a/addons/nametags/functions/fnc_drawNameTagIcon.sqf b/addons/nametags/functions/fnc_drawNameTagIcon.sqf index 55fb2d960f1..338f8b37fc1 100644 --- a/addons/nametags/functions/fnc_drawNameTagIcon.sqf +++ b/addons/nametags/functions/fnc_drawNameTagIcon.sqf @@ -1,6 +1,6 @@ #include "script_component.hpp" /* - * Author: commy2, esteldunedain + * Author: commy2, esteldunedain, Drift_91 * Draw the nametag and rank icon. * * Arguments: @@ -33,12 +33,15 @@ _fnc_parameters = { if (_drawSoundwave) then { _icon = format [QPATHTOF(UI\soundwave%1.paa), floor random 10]; } else { - if (_drawRank && {rank _target != ""}) then { - _icon = GVAR(factionRanks) getVariable (_target getVariable [QGVAR(faction), faction _target]); - if (!isNil "_icon") then { - _icon = _icon param [ALL_RANKS find rank _target, ""]; - } else { - _icon = format ["\A3\Ui_f\data\GUI\Cfg\Ranks\%1_gs.paa", rank _target]; + if (_drawRank) then { + _icon = _target getVariable "ace_nametags_rankIcon"; + if (isNil "_icon" && {rank _target != ""}) then { + _icon = GVAR(factionRanks) getVariable (_target getVariable [QGVAR(faction), faction _target]); + if (!isNil "_icon") then { + _icon = _icon param [ALL_RANKS find rank _target, ""]; + } else { + _icon = format ["\A3\Ui_f\data\GUI\Cfg\Ranks\%1_gs.paa", rank _target]; + }; }; }; }; From 3b9f37447b1962f07beb2e9c632f610d2f8588de Mon Sep 17 00:00:00 2001 From: PabstMirror Date: Tue, 20 Apr 2021 05:28:11 -0500 Subject: [PATCH 142/254] Tools - Add script to update HEMTT include folder (#8134) --- .../data_f/penetration/metal_plate_thin.rvmat | Bin 310 -> 293 bytes include/a3/ui_f/hpp/defineCommonColors.inc | 9 ++++++- include/a3/ui_f/hpp/defineDIKCodes.inc | 1 + include/a3/ui_f/hpp/defineResincl.inc | 6 +++++ .../cba/addons/main/script_macros_common.hpp | 25 +++++------------- include/x/cba/addons/xeh/script_xeh.hpp | 8 ++++-- tools/updateIncludes.py | 21 +++++++++++++++ 7 files changed, 48 insertions(+), 22 deletions(-) create mode 100644 tools/updateIncludes.py diff --git a/include/a3/data_f/penetration/metal_plate_thin.rvmat b/include/a3/data_f/penetration/metal_plate_thin.rvmat index 6027df8d27030a8c6d7f850cbcf39fce89904b82..8d479baa8e463b8307b4c94bbe4fd9f09814598b 100644 GIT binary patch literal 293 zcma)%PYZ%T5XJ9)49_A;kcD_Cym$#A=#n9$&f>uSk=?a~=)1S-p`c4|F2iqT-eb(D z8MIhPrZWGqsXDMwv#LaiR)ZxaD}fexJ#esC+n!|Dka1Uj>VaqorM=#=XB2MttAZ%p zMT=tBCdopRAbzD@M~saI|K4Xxx7g)hS3xwFvqB-r(0%n<=p0}MY)1}yN%*0qdZ5nY g)GKL1e(s?|UF4a6Qd$6a|6EX8oIZmi7-}7V12W%RfB*mh literal 310 zcmZ`#%L>9k49pe}diOg#*bgX*Ac9Ci@Kh+V&0=65lHICDzsN7qe{zfHK{Sv#%w&ck zAXq}0VcMxmFj5dY(b&++X%Dl!YB6H1tCAc=!N}fKmLi(^XfRS859}s;?oE)P-7~oe z1C{4_p&s{jp~kmmk&>@P*0R=Jpg*ei(onm2-(-EQZy;+q@F_)nD}DDY9I5FH%5PbH n^wOV6ptmR}`9fxUz?NjSfQ=W6Ceb^RNS6;k$H2|&L&^07u3bmm diff --git a/include/a3/ui_f/hpp/defineCommonColors.inc b/include/a3/ui_f/hpp/defineCommonColors.inc index 474b732f289..5370c07e6c1 100644 --- a/include/a3/ui_f/hpp/defineCommonColors.inc +++ b/include/a3/ui_f/hpp/defineCommonColors.inc @@ -98,6 +98,14 @@ #define IGUI_ERROR_RGB IGUI_ERROR_RGB_R, IGUI_ERROR_RGB_G, IGUI_ERROR_RGB_B #define IGUI_ERROR_COLOR {IGUI_ERROR_RGB,IGUI_ERROR_RGB_A} +//--- IGUI Tactical ping color +#define IGUI_TACTPING_RGB_R "(profilenamespace getvariable ['IGUI_TACTPING_RGB_R',1.0])" +#define IGUI_TACTPING_RGB_G "(profilenamespace getvariable ['IGUI_TACTPING_RGB_G',0.8])" +#define IGUI_TACTPING_RGB_B "(profilenamespace getvariable ['IGUI_TACTPING_RGB_B',0.2])" +#define IGUI_TACTPING_RGB_A "(profilenamespace getvariable ['IGUI_TACTPING_RGB_A',1.0])" +#define IGUI_TACTPING_RGB IGUI_TACTPING_RGB_R, IGUI_TACTPING_RGB_G, IGUI_TACTPING_RGB_B +#define IGUI_TACTPING_COLOR {IGUI_TACTPING_RGB,IGUI_TACTPING_RGB_A} + //--- HUD Text color (obsolete defines; ToDo: Replace with IGUI_TEXT_COLOR and IGUI_BCG_COLOR) #define CA_UI_HUD IGUI_TEXT_COLOR @@ -213,7 +221,6 @@ #define COLOR_TASK_ICON_CUSTOM_A 0.5 #define COLOR_TASK_ICON_CUSTOM_RGBA COLOR_TASK_ICON_CUSTOM_RGB,COLOR_TASK_ICON_CUSTOM_A - #define COLOR_TASK_BACKGROUND_UNASSIGNED_RGB 1,1,1 #define COLOR_TASK_BACKGROUND_UNASSIGNED_A 1 #define COLOR_TASK_BACKGROUND_UNASSIGNED_RGBA COLOR_TASK_BACKGROUND_UNASSIGNED_RGB,COLOR_TASK_BACKGROUND_UNASSIGNED_A diff --git a/include/a3/ui_f/hpp/defineDIKCodes.inc b/include/a3/ui_f/hpp/defineDIKCodes.inc index eb914f94829..c641d601326 100644 --- a/include/a3/ui_f/hpp/defineDIKCodes.inc +++ b/include/a3/ui_f/hpp/defineDIKCodes.inc @@ -187,3 +187,4 @@ #endif /* DIK_ESCAPE */ + diff --git a/include/a3/ui_f/hpp/defineResincl.inc b/include/a3/ui_f/hpp/defineResincl.inc index 7a94b6b5929..ee8ddd5dba4 100644 --- a/include/a3/ui_f/hpp/defineResincl.inc +++ b/include/a3/ui_f/hpp/defineResincl.inc @@ -1,3 +1,6 @@ +#ifndef _RESINCL_HPP +#define _RESINCL_HPP + /*******************/ /* Tactical menu */ /*******************/ @@ -3168,3 +3171,6 @@ enum #define HZ_VEH_CMDTRRT_TOTAL 31 #define HZ_TANK_BOTH_TRACKS 32 + + +#endif \ No newline at end of file diff --git a/include/x/cba/addons/main/script_macros_common.hpp b/include/x/cba/addons/main/script_macros_common.hpp index 41a4faea756..d50a27f53d8 100644 --- a/include/x/cba/addons/main/script_macros_common.hpp +++ b/include/x/cba/addons/main/script_macros_common.hpp @@ -197,7 +197,7 @@ Macro: LOG() ------------------------------------------- */ #ifdef DEBUG_MODE_FULL -#define LOG(MESSAGE) LOG_SYS_FILELINENUMBERS('LOG',MESSAGE) +#define LOG(MESSAGE) LOG_SYS('LOG',MESSAGE) #define LOG_1(MESSAGE,ARG1) LOG(FORMAT_1(MESSAGE,ARG1)) #define LOG_2(MESSAGE,ARG1,ARG2) LOG(FORMAT_2(MESSAGE,ARG1,ARG2)) #define LOG_3(MESSAGE,ARG1,ARG2,ARG3) LOG(FORMAT_3(MESSAGE,ARG1,ARG2,ARG3)) @@ -265,7 +265,7 @@ Macro: WARNING() ------------------------------------------- */ #ifdef DEBUG_MODE_NORMAL -#define WARNING(MESSAGE) LOG_SYS_FILELINENUMBERS('WARNING',MESSAGE) +#define WARNING(MESSAGE) LOG_SYS('WARNING',MESSAGE) #define WARNING_1(MESSAGE,ARG1) WARNING(FORMAT_1(MESSAGE,ARG1)) #define WARNING_2(MESSAGE,ARG1,ARG2) WARNING(FORMAT_2(MESSAGE,ARG1,ARG2)) #define WARNING_3(MESSAGE,ARG1,ARG2,ARG3) WARNING(FORMAT_3(MESSAGE,ARG1,ARG2,ARG3)) @@ -304,7 +304,7 @@ Macro: ERROR() Author: Spooner ------------------------------------------- */ -#define ERROR(MESSAGE) LOG_SYS_FILELINENUMBERS('ERROR',MESSAGE) +#define ERROR(MESSAGE) LOG_SYS('ERROR',MESSAGE) #define ERROR_1(MESSAGE,ARG1) ERROR(FORMAT_1(MESSAGE,ARG1)) #define ERROR_2(MESSAGE,ARG1,ARG2) ERROR(FORMAT_2(MESSAGE,ARG1,ARG2)) #define ERROR_3(MESSAGE,ARG1,ARG2,ARG3) ERROR(FORMAT_3(MESSAGE,ARG1,ARG2,ARG3)) @@ -1812,9 +1812,9 @@ Macro: IS_ADMIN_LOGGED /* ------------------------------------------- Macro: FILE_EXISTS - Check if a file exists on machines with interface + Check if a file exists - Reports "false" if the file does not exist and throws an error in RPT. + Reports "false" if the file does not exist. Parameters: FILE - Path to the file @@ -1828,17 +1828,4 @@ Macro: FILE_EXISTS Author: commy2 ------------------------------------------- */ -#define FILE_EXISTS(FILE) (call {\ - private _return = false;\ - isNil {\ - private _control = (uiNamespace getVariable ["RscDisplayMain", displayNull]) ctrlCreate ["RscHTML", -1];\ - if (isNull _control) then {\ - _return = loadFile (FILE) != "";\ - } else {\ - _control htmlLoad (FILE);\ - _return = ctrlHTMLLoaded _control;\ - ctrlDelete _control;\ - };\ - };\ - _return\ -}) +#define FILE_EXISTS(FILE) (fileExists (FILE)) diff --git a/include/x/cba/addons/xeh/script_xeh.hpp b/include/x/cba/addons/xeh/script_xeh.hpp index 6fe7465203b..53d6c27859a 100644 --- a/include/x/cba/addons/xeh/script_xeh.hpp +++ b/include/x/cba/addons/xeh/script_xeh.hpp @@ -54,7 +54,9 @@ reloaded = "call cba_xeh_fnc_reloaded"; \ firedMan = "call cba_xeh_fnc_firedMan"; \ turnIn = "call cba_xeh_fnc_turnIn"; \ turnOut = "call cba_xeh_fnc_turnOut"; \ -deleted = "call cba_xeh_fnc_deleted"; +deleted = "call cba_xeh_fnc_deleted"; \ +disassembled = "call cba_xeh_fnc_disassembled"; \ +Suppressed = "call cba_xeh_fnc_Suppressed"; /* MACRO: DELETE_EVENTHANDLERS @@ -107,4 +109,6 @@ reloaded = ""; \ firedMan = ""; \ turnIn = ""; \ turnOut = ""; \ -deleted = ""; +deleted = ""; \ +disassembled = ""; \ +Suppressed = ""; diff --git a/tools/updateIncludes.py b/tools/updateIncludes.py new file mode 100644 index 00000000000..721b6b363d7 --- /dev/null +++ b/tools/updateIncludes.py @@ -0,0 +1,21 @@ +# PabstMirror - Overwrites all files in /include with updated version from a p-drive + +import os +import shutil + +include_base_path = os.path.join(os.path.dirname(os.getcwd()), "include") +p_drive_path = "P:\\" + +if not os.path.exists(p_drive_path): + raise Exception("No P-drive") + +for root, _dirs, files in os.walk(include_base_path): + relative_path = os.path.relpath(root, include_base_path) + for file in files: + if file == "$PBOPREFIX$": + continue + file_r_path = os.path.join(include_base_path, relative_path, file) + file_v_path = os.path.join(p_drive_path, relative_path, file) + if not os.path.isfile(file_v_path): + raise Exception("Missing p-drive file {}".format(file_v_path)) + shutil.copyfile(file_v_path, file_r_path) From e3a3e2944460a6326ce78c0611d8e1ece581a7d9 Mon Sep 17 00:00:00 2001 From: PabstMirror Date: Tue, 20 Apr 2021 05:39:05 -0500 Subject: [PATCH 143/254] Tools - Add script to check sqf/config with sqfvm (#8137) --- .gitignore | 1 + addons/artillerytables/dev/checkConfigs.sqf | 1 + addons/artillerytables/dev/showShotInfo.sqf | 1 + addons/common/config.cpp | 6 +- addons/medical_ai/stateMachine.sqf | 2 + addons/nametags/config.cpp | 2 +- addons/yardage450/initKeybinds.sqf | 1 - tools/sqfvmChecker.py | 89 +++++++++++++++++++++ 8 files changed, 98 insertions(+), 5 deletions(-) create mode 100644 tools/sqfvmChecker.py diff --git a/.gitignore b/.gitignore index a8f6a13221f..52645712a76 100644 --- a/.gitignore +++ b/.gitignore @@ -13,3 +13,4 @@ texHeaders.bin *.biprivatekey Thumbs.db CHANGELOG.md +sqfvm.exe diff --git a/addons/artillerytables/dev/checkConfigs.sqf b/addons/artillerytables/dev/checkConfigs.sqf index 533aecf6567..1dfcea7f9f4 100644 --- a/addons/artillerytables/dev/checkConfigs.sqf +++ b/addons/artillerytables/dev/checkConfigs.sqf @@ -1,3 +1,4 @@ +//pragma SKIP_COMPILE diag_log text "-------------------------------------------"; INFO("Showing entries with custom configs"); diag_log text "-------------------------------------------"; diff --git a/addons/artillerytables/dev/showShotInfo.sqf b/addons/artillerytables/dev/showShotInfo.sqf index 81a29dca22c..aab2f0ef5f0 100644 --- a/addons/artillerytables/dev/showShotInfo.sqf +++ b/addons/artillerytables/dev/showShotInfo.sqf @@ -1,3 +1,4 @@ +//pragma SKIP_COMPILE // #include "\z\ace\addons\artillerytables\script_component.hpp" INFO("showing shot info"); diff --git a/addons/common/config.cpp b/addons/common/config.cpp index 557b45b7329..6416f244b84 100644 --- a/addons/common/config.cpp +++ b/addons/common/config.cpp @@ -61,9 +61,9 @@ class ACE_Rsc_Control_Base { #include "ACE_Settings.hpp" #include "define.hpp" -#include -#include -#include +#include "ProgressScreen.hpp" +#include "HintConfig.hpp" +#include "RscInfoType.hpp" #include "CompassControl.hpp" #include "CfgUIGrids.hpp" diff --git a/addons/medical_ai/stateMachine.sqf b/addons/medical_ai/stateMachine.sqf index 48d5a6ef8e7..03483f49815 100644 --- a/addons/medical_ai/stateMachine.sqf +++ b/addons/medical_ai/stateMachine.sqf @@ -1,3 +1,5 @@ +//pragma SKIP_COMPILE - Inline file + GVAR(stateMachine) = [{call EFUNC(common,getLocalUnits)}, true] call CBA_statemachine_fnc_create; // Add states [statemachine, onState, onStateEntered, onStateLeaving, name] diff --git a/addons/nametags/config.cpp b/addons/nametags/config.cpp index 2db10c7eeb2..30b84157878 100644 --- a/addons/nametags/config.cpp +++ b/addons/nametags/config.cpp @@ -19,4 +19,4 @@ class CfgPatches { #include "CfgFactionClasses.hpp" #include "CfgVehicles.hpp" -#include +#include "RscTitles.hpp" diff --git a/addons/yardage450/initKeybinds.sqf b/addons/yardage450/initKeybinds.sqf index fa4f52b6c55..210141a681a 100644 --- a/addons/yardage450/initKeybinds.sqf +++ b/addons/yardage450/initKeybinds.sqf @@ -1,4 +1,3 @@ - ["ACE3 Equipment", QGVAR(DistanceKey), LLSTRING(PowerButtonKey), { // Conditions: canInteract diff --git a/tools/sqfvmChecker.py b/tools/sqfvmChecker.py new file mode 100644 index 00000000000..98216563f00 --- /dev/null +++ b/tools/sqfvmChecker.py @@ -0,0 +1,89 @@ +import os +import sys +import subprocess +import concurrent.futures + +addon_base_path = os.path.dirname(os.getcwd()) + +files_to_ignore_lower = [ + x.lower() for x in ["initSettings.sqf", "initKeybinds.sqf", "XEH_PREP.sqf"] +] +sqfvm_exe = os.path.join(addon_base_path, "sqfvm.exe") +virtual_paths = [ + # would need to add more even more to /include to use it + "P:/a3|/a3", # "{}|/a3".format(os.path.join(addon_base_path, "include", "a3")), + "P:/a3|/A3", + "P:/x/cba|/x/cba", + "{}|/z/ace".format(addon_base_path), +] + + +def get_files_to_process(basePath): + arma_files = [] + for root, _dirs, files in os.walk(os.path.join(addon_base_path, "addons")): + for file in files: + if file.endswith(".sqf") or file == "config.cpp": + if file.lower() in files_to_ignore_lower: + continue + filePath = os.path.join(root, file) + arma_files.append(filePath) + return arma_files + + +def process_file(filePath, skipA3Warnings=True): + with open(filePath, "r", encoding="utf-8", errors="ignore") as file: + content = file.read() + if content.startswith("//pragma SKIP_COMPILE"): + return False + cmd = [sqfvm_exe, "--input", filePath, "--parse-only", "--automated"] + for v in virtual_paths: + cmd.append("-v") + cmd.append(v) + # cmd.append("-V") + proc = subprocess.Popen(cmd, stdout=subprocess.PIPE, universal_newlines=True) + try: + ret = proc.wait(7) # max wait - seconds + except Exception as _e: + print("sqfvm timed out: {}".format(filePath)) + return True + # print("{} = {}".format(filePath, ret)) + + fileHasError = False + keepReadingLines = True + while keepReadingLines: + line = proc.stdout.readline() + if not line: + keepReadingLines = False + else: + line = line.rstrip() + if line.startswith("[ERR]"): + fileHasError = True + if not ( + skipA3Warnings + and line.startswith("[WRN]") + and ("a3/" in line) + and (("Unexpected IFDEF" in line) or ("defined twice" in line)) + ): + print(" {}".format(line)) + return fileHasError + + +def main(): + if not os.path.isfile(sqfvm_exe): + print("Error: sqfvm.exe not found in base folder [{}]".format(sqfvm_exe)) + return 1 + + error_count = 0 + arma_files = get_files_to_process(addon_base_path) + print("Checking {} files".format(len(arma_files))) + with concurrent.futures.ThreadPoolExecutor(max_workers=12) as executor: + for fileError in executor.map(process_file, arma_files): + if fileError: + error_count += 1 + + print("Errors: {}".format(error_count)) + return error_count + + +if __name__ == "__main__": + sys.exit(main()) From c7d49813293d0a65c3e7436e67f1909fa43ec5a9 Mon Sep 17 00:00:00 2001 From: Salluci <69561145+Salluci@users.noreply.github.com> Date: Tue, 20 Apr 2021 08:10:50 -0300 Subject: [PATCH 144/254] Medical - Add Vehicle Crashes setting (#8149) Co-authored-by: jonpas --- addons/medical_damage/initSettings.sqf | 9 +++++++++ addons/medical_damage/stringtable.xml | 6 ++++++ addons/medical_engine/functions/fnc_handleDamage.sqf | 7 ++++--- 3 files changed, 19 insertions(+), 3 deletions(-) diff --git a/addons/medical_damage/initSettings.sqf b/addons/medical_damage/initSettings.sqf index 14dac50f1a5..5d9003addf9 100644 --- a/addons/medical_damage/initSettings.sqf +++ b/addons/medical_damage/initSettings.sqf @@ -42,3 +42,12 @@ [0, 1, 1, 2, true], true ] call CBA_fnc_addSetting; + +[ + QEGVAR(medical,enableVehicleCrashes), + "CHECKBOX", + [LSTRING(EnableVehicleCrashes_DisplayName), LSTRING(EnableVehicleCrashes_Description)], + ELSTRING(medical,Category), + true, + true +] call CBA_fnc_addSetting; diff --git a/addons/medical_damage/stringtable.xml b/addons/medical_damage/stringtable.xml index ae56dc79c8c..453293e159c 100644 --- a/addons/medical_damage/stringtable.xml +++ b/addons/medical_damage/stringtable.xml @@ -703,5 +703,11 @@ The chance of dying to a fatal injury. + + Enable Vehicle Crash Damage + + + Controls whether crew receives damage from vehicle collisions. + diff --git a/addons/medical_engine/functions/fnc_handleDamage.sqf b/addons/medical_engine/functions/fnc_handleDamage.sqf index 1975bde0c56..9eb799cdcd2 100644 --- a/addons/medical_engine/functions/fnc_handleDamage.sqf +++ b/addons/medical_engine/functions/fnc_handleDamage.sqf @@ -94,7 +94,7 @@ if (_hitPoint isEqualTo "ace_hdbracket") exitWith { // represents all incoming damage for selecting a non-selectionSpecific wound location, (used for selectRandomWeighted [value1,weight1,value2....]) private _damageSelectionArray = [ - HITPOINT_INDEX_HEAD, _damageHead select 1, HITPOINT_INDEX_BODY, _damageBody select 1, HITPOINT_INDEX_LARM, _damageLeftArm select 1, + HITPOINT_INDEX_HEAD, _damageHead select 1, HITPOINT_INDEX_BODY, _damageBody select 1, HITPOINT_INDEX_LARM, _damageLeftArm select 1, HITPOINT_INDEX_RARM, _damageRightArm select 1, HITPOINT_INDEX_LLEG, _damageLeftLeg select 1, HITPOINT_INDEX_RLEG, _damageRightLeg select 1 ]; @@ -204,14 +204,15 @@ if ( // It does fire the EH multiple times, but this seems to scale with the intensity of the crash private _vehicle = vehicle _unit; if ( - _hitPoint isEqualTo "#structural" && + EGVAR(medical,enableVehicleCrashes) && + {_hitPoint isEqualTo "#structural"} && {_ammo isEqualTo ""} && {_vehicle != _unit} && {vectorMagnitude (velocity _vehicle) > 5} // todo: no way to detect if stationary and another vehicle hits you ) exitWith { private _damageSelectionArray = [ - HITPOINT_INDEX_HEAD, 1, HITPOINT_INDEX_BODY, 1, HITPOINT_INDEX_LARM, 1, + HITPOINT_INDEX_HEAD, 1, HITPOINT_INDEX_BODY, 1, HITPOINT_INDEX_LARM, 1, HITPOINT_INDEX_RARM, 1, HITPOINT_INDEX_LLEG, 1, HITPOINT_INDEX_RLEG, 1 ]; [QEGVAR(medical,woundReceived), [_unit, "Body", _newDamage, _unit, "vehiclecrash", _damageSelectionArray]] call CBA_fnc_localEvent; From 026b94903ed0beabcd1d7e8de9255544b5aa0fe7 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?D=C3=A1niel=20Boros?= <43353942+Malbryn@users.noreply.github.com> Date: Tue, 20 Apr 2021 13:33:58 +0200 Subject: [PATCH 145/254] Dragging - Add new dragging animations (#7950) * New custom animation added * Adjusted CfgMoves and the script components * New drop animation and key handler * CBA settings and new ManActions added * Adjustments to the drop animation * Added translations and fixed some stuff * Update CfgMovesBasic.hpp * Fix translations Co-authored-by: Elgin675 Co-authored-by: Blutze <37950828+Blutze@users.noreply.github.com> * Use the same key to drop object * Update addons/dragging/stringtable.xml Co-authored-by: Jo David * Fix French translation Co-authored-by: Elgin675 * Lower the weapon accuracy of the drag animations * Removed auto-switch to handgun * Update fnc_startDrag.sqf - Holding a launcher breaks the firing animation. - Now the unit has to hold either a primary weapon or handgun. * Handle the unit's current weapon Co-authored-by: BaerMitUmlaut * Update addons/dragging/functions/fnc_handlePlayerWeaponChanged.sqf Co-authored-by: Filip Maciejewski * Update addons/dragging/initSettings.sqf Co-authored-by: Elgin675 Co-authored-by: Blutze <37950828+Blutze@users.noreply.github.com> Co-authored-by: Jo David Co-authored-by: BaerMitUmlaut Co-authored-by: Filip Maciejewski Co-authored-by: jonpas --- addons/dragging/CfgMovesBasic.hpp | 48 +++++++ addons/dragging/CfgMovesMaleSdr.hpp | 118 +++++++++++++++++- addons/dragging/XEH_preInit.sqf | 2 + addons/dragging/anim/ace_dragging.rtm | Bin 0 -> 318648 bytes addons/dragging/anim/ace_dragging_drop.rtm | Bin 0 -> 409836 bytes addons/dragging/config.cpp | 2 +- addons/dragging/functions/fnc_dragObject.sqf | 27 ++-- addons/dragging/functions/fnc_dropObject.sqf | 9 +- .../fnc_handlePlayerWeaponChanged.sqf | 4 +- addons/dragging/functions/fnc_startDrag.sqf | 42 +++++-- addons/dragging/initSettings.sqf | 8 ++ addons/dragging/script_component.hpp | 2 +- addons/dragging/stringtable.xml | 21 ++++ 13 files changed, 258 insertions(+), 25 deletions(-) create mode 100644 addons/dragging/anim/ace_dragging.rtm create mode 100644 addons/dragging/anim/ace_dragging_drop.rtm create mode 100644 addons/dragging/initSettings.sqf diff --git a/addons/dragging/CfgMovesBasic.hpp b/addons/dragging/CfgMovesBasic.hpp index de15271416a..6b55e82c2db 100644 --- a/addons/dragging/CfgMovesBasic.hpp +++ b/addons/dragging/CfgMovesBasic.hpp @@ -1,8 +1,56 @@ class CfgMovesBasic { + class ManActions { + ACE_dragWithPistol = "ace_dragging"; + ACE_dragWithRifle = "AmovPercMstpSlowWrflDnon_AcinPknlMwlkSlowWrflDb_2"; + }; + class Actions { class MoveWithInjuredManDragger; class MoveWithInjuredManDraggerRfl: MoveWithInjuredManDragger { Up = "amovpercmstpsraswrfldnon"; }; + + class MoveWithInjuredManDraggerPst; + class ACE_MoveWithInjuredManDraggerPst: MoveWithInjuredManDraggerPst { + Default = "ace_dragging_static"; + FastB = "ace_dragging"; + FastLB = "ace_dragging"; + FastRB = "ace_dragging"; + grabDrag = "ace_dragging_static"; + grabCarry = "Helper_SwitchToCarrynon_pst"; + HandGunOn = "ace_dragging_static"; + PlayerSlowB = "ace_dragging"; + PlayerSlowLB = "ace_dragging"; + PlayerSlowRB = "ace_dragging"; + PlayerTactB = "AmovPknlMtacSrasWpstDb"; + PlayerTactF = "AmovPknlMtacSrasWpstDf"; + PlayerTactL = "AmovPknlMtacSrasWpstDl"; + PlayerTactLB = "AmovPknlMtacSrasWpstDbl"; + PlayerTactLF = "AmovPknlMtacSrasWpstDfl"; + PlayerTactR = "AmovPknlMtacSrasWpstDr"; + PlayerTactRB = "AmovPknlMtacSrasWpstDbr"; + PlayerTactRF = "AmovPknlMtacSrasWpstDfr"; + PlayerWalkB = "ace_dragging"; + PlayerWalkLB = "ace_dragging"; + PlayerWalkRB = "ace_dragging"; + released = "ace_dragging_drop"; + SlowB = "ace_dragging"; + SlowLB = "ace_dragging"; + SlowRB = "ace_dragging"; + Stop = "ace_dragging_static"; + StopRelaxed = "ace_dragging_static"; + TactB = "AmovPknlMtacSrasWpstDb"; + TactF = "AmovPknlMtacSrasWpstDf"; + TactL = "AmovPknlMtacSrasWpstDl"; + TactLB = "AmovPknlMtacSrasWpstDbl"; + TactLF = "AmovPknlMtacSrasWpstDfl"; + TactR = "AmovPknlMtacSrasWpstDr"; + TactRB = "AmovPknlMtacSrasWpstDbr"; + TactRF = "AmovPknlMtacSrasWpstDfr"; + Up = "ace_dragging_static"; + WalkB = "ace_dragging"; + WalkLB = "ace_dragging"; + WalkRB = "ace_dragging"; + }; }; }; diff --git a/addons/dragging/CfgMovesMaleSdr.hpp b/addons/dragging/CfgMovesMaleSdr.hpp index 715765679f4..dc8a4c83a38 100644 --- a/addons/dragging/CfgMovesMaleSdr.hpp +++ b/addons/dragging/CfgMovesMaleSdr.hpp @@ -1,13 +1,127 @@ class CfgMovesMaleSdr: CfgMovesBasic { - class InjuredMovedBase; - class AgonyBaseRfl; + class InjuredMovedBase; + class AgonyBaseRfl; + class StandBase; + class AmovPercMstpSlowWrflDnon_AcinPknlMwlkSlowWrflDb_1; + class DraggerBase; class States { class AcinPknlMstpSnonWnonDnon_AcinPercMrunSnonWnonDnon: InjuredMovedBase { speed = -10; // 1/10 }; + class AinjPfalMstpSnonWrflDnon_carried_Up: AgonyBaseRfl { speed = -10; // 1/10 }; + + class AmovPercMstpSrasWpstDnon: StandBase { + ConnectTo[] = { + "AmovPercMstpSrasWpstDnon", + 0.02, + "AovrPercMstpSrasWpstDf", + 0.025, + "AmovPercMstpSrasWpstDnon_AidlPercMstpSlowWpstDnon", + 0.0099999998, + "PistolMagazineReloadStand", + 0.1, + "AmovPercMstpSrasWpstDnon_AmovPercMstpSlowWpstDnon", + 0.02, + "AmovPercMstpSrasWpstDnon_AmovPercMstpSrasWrflDnon", + 0.02, + "AmovPercMstpSrasWpstDnon_AwopPercMstpSoptWbinDnon", + 0.02, + "AmovPercMstpSrasWpstDnon_AmovPercMstpSnonWnonDnon", + 0.02, + "AmovPercMstpSrasWpstDnon_SaluteIn", + 0.02, + "AwopPercMstpSgthWpstDnon_Part1", + 0.1, + "AmovPercMstpSrasWpstDnon_AinvPknlMstpSnonWnonDnon", + 0.02, + "AmovPercMstpSrasWpstDnon_AmovPercMstpSrasWlnrDnon", + 0.02, + "AmovPercMstpSrasWpstDnon_AadjPercMstpSrasWpstDup", + 0.02, + "AmovPercMstpSrasWpstDnon_AadjPercMstpSrasWpstDdown", + 0.02, + "AmovPercMstpSrasWpstDnon_AadjPercMstpSrasWpstDleft", + 0.02, + "AmovPercMstpSrasWpstDnon_AadjPercMstpSrasWpstDright", + 0.02, + "AmovPercMstpSrasWpstDnon_AmovPercMstpSrasWpstDnon_gear", + 0.02, + "Acts_starterPistol_in", + 0.001, + "Acts_PistolRaisedStand_Default", + 1, + "ace_dragging", + 0.1 + }; + }; + + class AmovPercMstpSlowWrflDnon_AcinPknlMwlkSlowWrflDb_2: AmovPercMstpSlowWrflDnon_AcinPknlMwlkSlowWrflDb_1 { + aiming = "aimingDefault"; + aimingBody = "aimingUpDefault"; + aimPrecision = 5; // default: 1 + }; + + class ace_dragging: DraggerBase { + actions = "ace_MoveWithInjuredManDraggerPst"; + aiming = "aimingPistol"; + aimingBody = "aimingPistol"; + aimPrecision = 2; // default: 1 + canPullTrigger = 1; + canReload = 0; + ConnectTo[] = { + "ace_dragging", + 0.1, + "ace_dragging_drop", + 0.2 + }; + disableWeapons = 0; + duty = 0.6; + enableBinocular = 0; + file = QPATHTO_T(anim\ace_dragging.rtm); + InterpolateTo[] = { + "ace_dragging_static", + 0.1 + }; + interpolationSpeed = 5; + limitGunMovement = 0.2; + looped = 1; + showHandGun = 1; + turnSpeed = 0.5; + }; + + class ace_dragging_static: ace_dragging { + ConnectTo[] = { + "ace_dragging", + 0.1, + "ace_dragging_drop", + 0.2 + }; + InterpolateTo[] = { + "ace_dragging", + 0.1, + "ace_dragging_drop", + 0.2 + }; + looped = 1; + speed = 0; + }; + + class ace_dragging_drop: ace_dragging { + ConnectTo[] = { + "AmovPknlMstpSrasWpstDnon", + 0.1 + }; + file = QPATHTO_T(anim\ace_dragging_drop.rtm); + InterpolateTo[] = { + "Unconscious", + 0.02 + }; + interpolationSpeed = 5; + looped = 0; + }; }; }; diff --git a/addons/dragging/XEH_preInit.sqf b/addons/dragging/XEH_preInit.sqf index b47cf6628db..9361d05015e 100644 --- a/addons/dragging/XEH_preInit.sqf +++ b/addons/dragging/XEH_preInit.sqf @@ -6,4 +6,6 @@ PREP_RECOMPILE_START; #include "XEH_PREP.hpp" PREP_RECOMPILE_END; +#include "initSettings.sqf" + ADDON = true; diff --git a/addons/dragging/anim/ace_dragging.rtm b/addons/dragging/anim/ace_dragging.rtm new file mode 100644 index 0000000000000000000000000000000000000000..e3f5f6f611323bca404ac7d20ca23b5f3cc8c411 GIT binary patch literal 318648 zcmagn2{={F8vyW|A|#QLq$0b75aOPBMF}C<5*1}lLefIYl7v)JN%2J`ZD=pWnNg{v zO{o+ul6DD|wDF(Rr+=T^`#sP1xbC>`IWuR@d1roi&dI^a)&tpb1Z%4c>m>NU2i$e^YagL^bcMf=65zdxI%^S7?}Kgzpr{?E^M-~6BD-8cWc+AmEUFA;x zix>f0PDpUje?Rs6cN-sHUfrAX zqr8W%+Zp6XIgjq$`FS4QyQ{p1?){(g?(O$u`#<9U{CxNJ`?tJ@?%fr?v%GuwKg+v^ z?<()1d;d}1y?1c_DF4gm|0w^<=DW&!=-z*p|78RJwom8h|FVI9%X{eFUGaP9-hY<& z5T8f)?)*HD?)~%pb`G)e`P;>X_R!ArqsP);XD>n!I{z0PtTyU+2Ov%n{G&L2(o z$1j0%76*Cx|21`X{T;tChPT@sVC9|`4~}lZ3DTz6D8UC@J+EPAP z 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ஷ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%0AEA2K+l>eYAt;r+EJPRewLg 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

S?60E^7xx&D<>LU9 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 PIlU&+sw@yB*sY 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