ACE3/addons/interaction/XEH_preStart.sqf

36 lines
1.4 KiB
Plaintext
Raw Permalink Normal View History

2015-05-01 17:37:17 +00:00
#include "script_component.hpp"
2016-02-22 14:20:36 +00:00
#include "XEH_PREP.hpp"
if (!hasInterface) exitWith {};
private _replaceTerrainClasses = QUOTE(
getNumber (_x >> QQGVAR(replaceTerrainObject)) > 0
&& {getNumber (_x >> 'scope') == 2}
) configClasses (configFile >> "CfgVehicles");
private _cacheReplaceTerrainModels = createHashMap;
{
private _model = toLowerANSI getText (_x >> "model");
if (_model select [0, 1] == "\") then {
_model = _model select [1];
};
if ((_model select [count _model - 4]) != ".p3d") then {
_model = _model + ".p3d"
};
if (_model in _cacheReplaceTerrainModels) then {continue};
_cacheReplaceTerrainModels set [_model, configName _x];
} forEach _replaceTerrainClasses;
uiNamespace setVariable [QGVAR(cacheReplaceTerrainModels), compileFinal str _cacheReplaceTerrainModels];
// Cache classes with anim actions
private _animActionsClasses = (QUOTE(isClass (_x >> QQGVAR(anims)) && {!isClass (inheritsFrom _x >> QQGVAR(anims))}) configClasses (configFile >> "CfgVehicles"));
_animActionsClasses = _animActionsClasses apply { configName _x };
_animActionsClasses = _animActionsClasses select {
private _class = _x;
(_animActionsClasses findIf {(_class != _x) && {_class isKindOf _x}}) == -1 // filter classes that already have a parent in the list
};
uiNamespace setVariable [QGVAR(animActionsClasses), compileFinal (_animActionsClasses createHashMapFromArray [])];