/* Author: Brazilian Armed Forces File: fn_initRSC.sqf Purpose: - Create and manage the EachFrame loop that updates the generic air FLIR optics */ disableSerialization; private _display = _this; if (_display isEqualType []) then { _display = _display param [0, displayNull]; }; if (isNull _display) exitWith { systemChat "[BRAF FLIR] ERROR: initRSC received an invalid display."; }; if (isNil "BRAF_fnc_flirControls") then { systemChat "[BRAF FLIR] WARNING: BRAF_fnc_flirControls is not loaded."; }; [] call BRAF_fnc_shutdownRSC; uiNamespace setVariable ["BRAF_FLIR_UI_Display", _display]; private _pfh = addMissionEventHandler ["EachFrame", { if (cameraView != "GUNNER") exitWith {}; private _display = uiNamespace getVariable ["BRAF_FLIR_UI_Display", displayNull]; if (isNull _display) exitWith { [] call BRAF_fnc_shutdownRSC; }; private _veh = vehicle player; if (isNull _veh) exitWith { [] call BRAF_fnc_shutdownRSC; }; [_display] call BRAF_fnc_flirControls; }]; uiNamespace setVariable ["BRAF_FLIR_PFH_eachFrame", _pfh];