forked from IDI-Systems/acre2
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathfnc_render.sqf
79 lines (59 loc) · 2.74 KB
/
fnc_render.sqf
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
#include "..\script_component.hpp"
/*
* Author: ACRE2Team
* Renders the radio when opened.
*
* Arguments:
* 0: Display identifier <NUMBER>
*
* Return Value:
* True <BOOL>
*
* Example:
* [DisplayID] call acre_sys_prc343_fnc_render
*
* Public: No
*/
#define RADIO_CTRL(var1) (_display displayCtrl var1)
#define IN 0
#define OUT 1
params ["_display"];
private _currentAbsChannel = [GVAR(currentRadioId)] call FUNC(getCurrentChannelInternal);
private _currentBlock = floor (_currentAbsChannel / 16);
private _currentChannel = _currentAbsChannel - _currentBlock*16;
//private _currentChannelKnobState = _currentChannelArray select 0; //channel from 0 to 15
private _currentVolume = GET_STATE("volume"); //from 0 to 1
private _currentVolumeKnobState = round (_currentVolume * 5);
private _currentView = GET_STATE("currentView"); //0(IN) or 1(OUT)
{_x ctrlEnable false;} forEach [RADIO_CTRL(201), RADIO_CTRL(202), RADIO_CTRL(203),RADIO_CTRL(204)];
private _currentViewFrame = 0;
if (_currentView == 0) then {
_currentViewFrame = count (GVAR(backgroundImages)) - 1;
RADIO_CTRL(203) ctrlSetPosition [(0.3 * safeZoneW + safeZoneX),(0.277 * safeZoneH + safeZoneY), 0.1*safeZoneW, 0.5*safeZoneW];
RADIO_CTRL(203) ctrlCommit 0.01;
RADIO_CTRL(203) ctrlSetTooltip LELSTRING(sys_radio,ui_handleAttach);
RADIO_CTRL(204) ctrlSetTooltip format ["%1: %2",LELSTRING(sys_radio,ui_CurrentChannelBlock), _currentBlock + 1];
{
(RADIO_CTRL(_x)) ctrlSetFade 1;
(RADIO_CTRL(_x)) ctrlCommit 0;
} forEach [106,107];
RADIO_CTRL(99999) ctrlSetText (GVAR(backgroundImages) select _currentViewFrame);
{_x ctrlEnable true;} forEach [RADIO_CTRL(203),RADIO_CTRL(204)];
} else {
_currentViewFrame = 0;
RADIO_CTRL(203) ctrlSetPosition [(0.35 * safeZoneW + safeZoneX),(0.377 * safeZoneH + safeZoneY), 0.07*safeZoneW, 0.4*safeZoneW];
RADIO_CTRL(203) ctrlCommit 0.01;
RADIO_CTRL(203) ctrlSetTooltip LELSTRING(sys_radio,ui_handleDetach);
RADIO_CTRL(204) ctrlSetTooltip "";
{
(RADIO_CTRL(_x)) ctrlSetFade 0;
(RADIO_CTRL(_x)) ctrlCommit 0;
} forEach [106,107];
RADIO_CTRL(106) ctrlSetText format ["\idi\acre\addons\sys_prc343\Data\knobs\channel\prc343_ui_pre_%1.paa", _currentChannel + 1];
RADIO_CTRL(107) ctrlSetText format ["\idi\acre\addons\sys_prc343\Data\knobs\volume\prc343_ui_vol_%1.paa", _currentVolumeKnobState];
RADIO_CTRL(202) ctrlSetTooltip format ["%1: %2%3", LELSTRING(sys_radio,ui_CurrentVolume),round (_currentVolume * 100), "%"];
RADIO_CTRL(99999) ctrlSetText QPATHTOF(Data\static\prc343_ui_backplate.paa);
{_x ctrlEnable true;} forEach [RADIO_CTRL(201), RADIO_CTRL(202),RADIO_CTRL(203)];
};
TRACE_3("rendering",_currentChannel,_currentVolume,EGVAR(sys_radio,currentRadioDialog));
true