From 5f1a6c40e367ba4f8f03068184ce2e08c777d185 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Nicol=C3=A1s=20Badano?= Date: Fri, 16 Jan 2015 17:16:42 -0300 Subject: [PATCH] common: raise more local ACE events --- addons/common/XEH_postInit.sqf | 27 +++++++++++++++++++ .../common/functions/fnc_getTurretIndex.sqf | 2 ++ 2 files changed, 29 insertions(+) diff --git a/addons/common/XEH_postInit.sqf b/addons/common/XEH_postInit.sqf index 6e896746ba..c3fa195190 100644 --- a/addons/common/XEH_postInit.sqf +++ b/addons/common/XEH_postInit.sqf @@ -77,6 +77,9 @@ enableCamShake true; GVAR(OldPlayerInventory) = ACE_player call FUNC(getAllGear); GVAR(OldPlayerVisionMode) = currentVisionMode ACE_player; GVAR(OldZeusDisplayIsOpen) = !(isNull findDisplay 312); +GVAR(OldCameraView) = cameraView; +GVAR(OldPlayerVehicle) = vehicle ACE_player; +GVAR(OldPlayerTurret) = [ACE_player] call FUNC(getTurretIndex); // PFH to raise varios events [{ @@ -105,4 +108,28 @@ GVAR(OldZeusDisplayIsOpen) = !(isNull findDisplay 312); ["zeusDisplayChanged", [ACE_player, _newZeusDisplayIsOpen]] call FUNC(localEvent); }; + // "cameraViewChanged" event + _newCameraView = cameraView; + if !(_newCameraView isEqualTo GVAR(OldCameraView)) then { + // Raise ACE event locally + GVAR(OldCameraView) = _newCameraView; + ["cameraViewChanged", [ACE_player, _newCameraView]] call FUNC(localEvent); + }; + + // "playerVehicleChanged" event + _newPlayerVehicle = vehicle ACE_player; + if !(_newPlayerVehicle isEqualTo GVAR(OldPlayerVehicle)) then { + // Raise ACE event locally + GVAR(OldPlayerVehicle) = _newPlayerVehicle; + ["playerVehicleChanged", [ACE_player, _newPlayerVehicle]] call FUNC(localEvent); + }; + + // "playerTurretChanged" event + [ACE_player] call FUNC(getTurretIndex); + if !(_newPlayerTurret isEqualTo GVAR(OldPlayerTurret)) then { + // Raise ACE event locally + GVAR(OldPlayerTurret) = _newPlayerTurret; + ["playerTurretChanged", [ACE_player, _newPlayerTurret]] call FUNC(localEvent); + }; + }, 0, []] call cba_fnc_addPerFrameHandler; diff --git a/addons/common/functions/fnc_getTurretIndex.sqf b/addons/common/functions/fnc_getTurretIndex.sqf index 7e62c78848..fd75d221fd 100644 --- a/addons/common/functions/fnc_getTurretIndex.sqf +++ b/addons/common/functions/fnc_getTurretIndex.sqf @@ -16,6 +16,8 @@ private ["_unit", "_vehicle", "_turrets", "_units", "_index"]; _unit = _this select 0; _vehicle = vehicle _unit; +if (_unit == _vehicle) exitWith {[]}; + //_turrets = [typeOf _vehicle] call FUNC(getTurrets); _turrets = allTurrets [_vehicle, true];