From 1f1ad2daa27066a2d5a732756276a49337e67108 Mon Sep 17 00:00:00 2001 From: PabstMirror Date: Fri, 21 Feb 2025 18:53:38 -0600 Subject: [PATCH] Missile Guidance - remove needed config entry on mclos weapons (#10751) --- addons/missileguidance/XEH_preInit.sqf | 2 ++ addons/missileguidance/dev/mock_weapons.hpp | 1 - .../functions/fnc_MCLOS_buttonPressed.sqf | 10 ++++++++-- 3 files changed, 10 insertions(+), 3 deletions(-) diff --git a/addons/missileguidance/XEH_preInit.sqf b/addons/missileguidance/XEH_preInit.sqf index b6a465d9451..d6c86cf1dd4 100644 --- a/addons/missileguidance/XEH_preInit.sqf +++ b/addons/missileguidance/XEH_preInit.sqf @@ -26,6 +26,8 @@ for "_i" from 0 to MAX_PB_MODES do { GVAR(gps_mode) = "pb"; GVAR(gps_weapons) = createHashMap; +GVAR(mclos_weapons) = createHashMap; + GVAR(debug_enableMissileCamera) = false; GVAR(debug_drawGuidanceInfo) = false; diff --git a/addons/missileguidance/dev/mock_weapons.hpp b/addons/missileguidance/dev/mock_weapons.hpp index 8df90ca00c0..d2b40fb26be 100644 --- a/addons/missileguidance/dev/mock_weapons.hpp +++ b/addons/missileguidance/dev/mock_weapons.hpp @@ -1,7 +1,6 @@ class MissileLauncher; class GVAR(mock_w_Malyutka): MissileLauncher { displayName = "Test Malyutka"; - GVAR(hasMCLOSControl) = 1; magazineReloadTime=1; magazines[] = { QGVAR(mock_m_Malyutka) }; }; diff --git a/addons/missileguidance/functions/fnc_MCLOS_buttonPressed.sqf b/addons/missileguidance/functions/fnc_MCLOS_buttonPressed.sqf index 9ca61405f62..e11d40819ad 100644 --- a/addons/missileguidance/functions/fnc_MCLOS_buttonPressed.sqf +++ b/addons/missileguidance/functions/fnc_MCLOS_buttonPressed.sqf @@ -23,11 +23,17 @@ if (_player == _shooter) exitWith {}; private _turret = _shooter unitTurret _player; if (((_shooter weaponsTurret _turret) findIf { - (getNumber (configFile >> "CfgWeapons" >> _x >> QGVAR(hasMCLOSControl))) == 1 + private _weapon = _x; + GVAR(mclos_weapons) getOrDefaultCall [_weapon, { + ((compatibleMagazines _weapon) findIf { + private _mag = _x; + private _ammo = getText (configFile >> "CfgMagazines" >> _mag >> "ammo"); + ("MCLOS" in getArray (configFile >> "CfgAmmo" >> _ammo >> QUOTE(ADDON) >> "seekerTypes")) + }) != -1}, true] }) == -1) exitWith { false }; -playSound "ACE_Sound_Click_20db"; +playSound "ACE_Sound_Click_10db"; private _currentDirection = _shooter getVariable [QGVAR(MCLOS_direction), [0, 0, 0]]; // Send data across network for handling non-local projectiles