From 2926dcf521bff959e8db8e5b62f8aa0644697ac9 Mon Sep 17 00:00:00 2001 From: Joko Date: Sun, 5 May 2024 18:03:39 +0200 Subject: [PATCH] Fix Inconsitent Caching of checkMagazineAiUsageFlags (#382) * Fix InconsitentCaching of checkMagazineAiUsageFlags * Improve checkMagazineAiUsageFlags with new getOrDefaultCall Syntax * Fix no return in getOrDefaultCall Callback --- .../fnc_checkMagazineAiUsageFlags.sqf | 21 +++++++------------ 1 file changed, 7 insertions(+), 14 deletions(-) diff --git a/addons/main/functions/fnc_checkMagazineAiUsageFlags.sqf b/addons/main/functions/fnc_checkMagazineAiUsageFlags.sqf index 12ce0869..0a82cc79 100644 --- a/addons/main/functions/fnc_checkMagazineAiUsageFlags.sqf +++ b/addons/main/functions/fnc_checkMagazineAiUsageFlags.sqf @@ -20,18 +20,11 @@ if (isNil QGVAR(aiUsageFlagCache)) then { GVAR(aiUsageFlagCache) = createHashMap; }; -params [["_magazine", ""], ["_flags", 0]]; +params [["_magazine", "", [""]], ["_flags", 0, [0]]]; -private _hasFlags = GVAR(aiUsageFlagCache) get _magazine; -if (!isNil "_hasFlags") exitWith { - _hasFlags -}; - -// find smoke shell -private _ammo = getText (configfile >> "CfgMagazines" >> _magazine >> "Ammo"); -private _aiAmmoUsage = getNumber (configfile >> "CfgAmmo" >> _ammo >> "aiAmmoUsageFlags"); -_hasFlags = [_aiAmmoUsage, _flags] call BIS_fnc_bitflagsCheck; - -GVAR(aiUsageFlagCache) set [_magazine, _hasFlags]; - -_hasFlags; \ No newline at end of file +GVAR(aiUsageFlagCache) getOrDefaultCall [_magazine + str _flags,{ + // find smoke shell + private _ammo = getText (configfile >> "CfgMagazines" >> _magazine >> "Ammo"); + private _aiAmmoUsage = getNumber (configfile >> "CfgAmmo" >> _ammo >> "aiAmmoUsageFlags"); + [_aiAmmoUsage, _flags] call BIS_fnc_bitflagsCheck; +}, true];