ACE3/addons/kestrel4500/functions/fnc_displayKestrel.sqf

87 lines
2.7 KiB
Plaintext

/*
* Author: Ruthberg
* Shows the Kestrel 4500 as rsc title
*
* Arguments:
* Nothing
*
* Return Value:
* Nothing
*
* Example:
*
* Public: No
*/
#include "script_component.hpp"
#define __dsp (uiNamespace getVariable "RscKestrel4500")
#define __ctrlKestrel4500 (__dsp displayCtrl 75000)
#define __ctrlTop (__dsp displayCtrl 75100)
#define __ctrlCenterBig (__dsp displayCtrl 75200)
#define __ctrlCenterLine1Left (__dsp displayCtrl 75300)
#define __ctrlCenterLine2Left (__dsp displayCtrl 75301)
#define __ctrlCenterLine3Left (__dsp displayCtrl 75302)
#define __ctrlCenterLine1Right (__dsp displayCtrl 75303)
#define __ctrlCenterLine2Right (__dsp displayCtrl 75304)
#define __ctrlCenterLine3Right (__dsp displayCtrl 75305)
#define __ctrlInfoLine1 (__dsp displayCtrl 75400)
#define __ctrlInfoLine2 (__dsp displayCtrl 75401)
if (GVAR(Overlay)) exitWith {
GVAR(Overlay) = false;
3 cutText ["", "PLAIN"];
true
};
if (underwater ACE_player) exitWith { true };
if (!("ACE_Kestrel4500" in (uniformItems ACE_player)) && !("ACE_Kestrel4500" in (vestItems ACE_player))) exitWith { true };
if (GVAR(Kestrel4500) && dialog) then {
GVAR(Kestrel4500) = false;
closeDialog 0;
};
GVAR(Overlay) = true;
[{
private ["_outputData", "_updateTimer"];
// abort condition
if (!GVAR(Overlay) || {!(("ACE_Kestrel4500" in (uniformItems ACE_player)) || ("ACE_Kestrel4500" in (vestItems ACE_player)))}) exitWith {
GVAR(Overlay) = false;
3 cutText ["", "PLAIN"];
[_this select 1] call CBA_fnc_removePerFrameHandler;
};
_outputData = [] call FUNC(generateOutputData);
if (diag_tickTime > GVAR(updateTimer)) then {
GVAR(updateTimer) = diag_tickTime + 1;
GVAR(outputData) = _outputData;
};
_outputData = GVAR(outputData);
3 cutRsc ["RscKestrel4500", "PLAIN", 1, false];
__ctrlKestrel4500 ctrlSetText format [QUOTE(PATHTOF(UI\Kestrel4500_%1.paa)), floor(GVAR(WheelState) % 7)];
__ctrlTop ctrlSetText (_outputData select 0);
__ctrlCenterBig ctrlSetText (_outputData select 1);
__ctrlTop ctrlSetText (_outputData select 0);
__ctrlCenterBig ctrlSetText (_outputData select 1);
__ctrlCenterLine1Left ctrlSetText (_outputData select 2);
__ctrlCenterLine2Left ctrlSetText (_outputData select 3);
__ctrlCenterLine3Left ctrlSetText (_outputData select 4);
__ctrlCenterLine1Right ctrlSetText (_outputData select 5);
__ctrlCenterLine2Right ctrlSetText (_outputData select 6);
__ctrlCenterLine3Right ctrlSetText (_outputData select 7);
__ctrlInfoLine1 ctrlSetText (_outputData select 8);
__ctrlInfoLine2 ctrlSetText (_outputData select 9);
}, 0.01, []] call CBA_fnc_addPerFrameHandler;
true