Skip to content

Commit

Permalink
Fix Inconsitent Caching of checkMagazineAiUsageFlags (#382)
Browse files Browse the repository at this point in the history
* Fix InconsitentCaching of checkMagazineAiUsageFlags

* Improve checkMagazineAiUsageFlags with new getOrDefaultCall Syntax

* Fix no return in getOrDefaultCall Callback
  • Loading branch information
jokoho48 committed May 5, 2024
1 parent 909b5ae commit 2926dcf
Showing 1 changed file with 7 additions and 14 deletions.
21 changes: 7 additions & 14 deletions addons/main/functions/fnc_checkMagazineAiUsageFlags.sqf
Original file line number Diff line number Diff line change
Expand Up @@ -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;
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];

0 comments on commit 2926dcf

Please sign in to comment.