diff --git a/addons/common/XEH_PREP.hpp b/addons/common/XEH_PREP.hpp index 3614775345..7b618483f9 100644 --- a/addons/common/XEH_PREP.hpp +++ b/addons/common/XEH_PREP.hpp @@ -270,7 +270,6 @@ PREP(_handleRequestAllSyncedEvents); PREP(addActionEventHandler); PREP(addActionMenuEventHandler); PREP(addMapMarkerCreatedEventHandler); -PREP(addPlayerEH); PREP(removeActionEventHandler); PREP(removeActionMenuEventHandler); diff --git a/addons/common/functions/fnc_addPlayerEH.sqf b/addons/common/functions/fnc_addPlayerEH.sqf deleted file mode 100644 index c20fde9da1..0000000000 --- a/addons/common/functions/fnc_addPlayerEH.sqf +++ /dev/null @@ -1,63 +0,0 @@ -#include "..\script_component.hpp" -/* - * Author: PabstMirror - * Adds event handler just to ACE_player - * Can be removed after cba 3.18 is released for CBA_fnc_addBISPlayerEventHandler - * This never was public in a release - * - * Arguments: - * 0: Key - * 1: Event Type - * 2: Event Code - * 3: Ignore Virtual Units (spectators, virtual zeus, uav RC) (default: true) - * - * Return Value: - * None - * - * Example: - * ["example", "FiredNear", {systemChat str _this}] call ace_common_fnc_addPlayerEH - * - * Public: No -*/ -params [["_key", "", [""]], ["_type", "", [""]], ["_code", {}, [{}]], ["_ignoreVirtual", true, [true]]]; -TRACE_3("addPlayerEH",_key,_type,_ignoreVirtual); - -if (isNil QGVAR(playerEventsHash)) then { // first-run init - GVAR(playerEventsHash) = createHashMap; - ["unit", { - params ["_newPlayer", "_oldPlayer"]; - // uav check only applies to direct controlling UAVs from zeus, no effect on normal UAV operation - private _isVirutal = (unitIsUAV _newPlayer) || {getNumber (configOf _newPlayer >> "isPlayableLogic") == 1}; - - TRACE_4("",_newPlayer,_oldPlayer,_isVirutal,count GVAR(playerEventsHash)); - { - _y params ["_type", "_code", "_ignoreVirtual"]; - - private _oldEH = _oldPlayer getVariable [_x, -1]; - if (_oldEH != -1) then { - _oldPlayer removeEventHandler [_type, _oldEH]; - _oldPlayer setVariable [_x, nil]; - }; - - _oldEH = _newPlayer getVariable [_x, -1]; - if (_oldEH != -1) then { continue }; // if respawned then var and EH already exists - if (_ignoreVirtual && _isVirutal) then { continue }; - - private _newEH = _newPlayer addEventHandler [_type, _code]; - _newPlayer setVariable [_x, _newEH]; - } forEach GVAR(playerEventsHash); - }, false] call CBA_fnc_addPlayerEventHandler; -}; - - -_key = format [QGVAR(playerEvents_%1), toLower _key]; -if (_key in GVAR(playerEventsHash)) exitWith { ERROR_1("bad key %1",_this); }; - -GVAR(playerEventsHash) set [_key, [_type, _code, _ignoreVirtual]]; - -if (isNull ACE_player) exitWith {}; -if (_ignoreVirtual && {(unitIsUAV ACE_player) || {getNumber (configOf ACE_player >> "isPlayableLogic") == 1}}) exitWith {}; - -// Add event now -private _newEH = ACE_player addEventHandler [_type, _code]; -ACE_player setVariable [_key, _newEH]; diff --git a/addons/main/script_mod.hpp b/addons/main/script_mod.hpp index 12faeb07c0..37201ba886 100644 --- a/addons/main/script_mod.hpp +++ b/addons/main/script_mod.hpp @@ -11,7 +11,7 @@ // MINIMAL required version for the Mod. Components can specify others.. #define REQUIRED_VERSION 2.14 -#define REQUIRED_CBA_VERSION {3,16,0} +#define REQUIRED_CBA_VERSION {3,18,0} #ifndef COMPONENT_BEAUTIFIED #define COMPONENT_BEAUTIFIED COMPONENT diff --git a/addons/ui/XEH_clientInit.sqf b/addons/ui/XEH_clientInit.sqf index d9d3fa5717..64cd81980a 100644 --- a/addons/ui/XEH_clientInit.sqf +++ b/addons/ui/XEH_clientInit.sqf @@ -47,4 +47,4 @@ GVAR(elementsSet) = createHashMap; }] call CBA_fnc_addEventHandler; }] call CBA_fnc_addEventHandler; -[QUOTE(ADDON), "AnimChanged", LINKFUNC(onAnimChanged), true] call EFUNC(common,addPlayerEH); +[QUOTE(ADDON), "AnimChanged", LINKFUNC(onAnimChanged), true] call CBA_fnc_addBISPlayerEventHandler;