]> de.git.xonotic.org Git - xonotic/xonotic-data.pk3dir.git/blob - qcsrc/client/hud.qh
convert several functions into macros for a hopefully big performance boost in the...
[xonotic/xonotic-data.pk3dir.git] / qcsrc / client / hud.qh
1 vector mousepos;
2 vector panel_click_distance; // mouse cursor distance from the top left corner of the panel (saved only upon a click)
3 vector panel_click_resizeorigin; // coordinates for opposite point when resizing
4 float resizeCorner; // 1 = topleft, 2 = topright, 3 = bottomleft, 4 = bottomright
5 float highlightedPanel;
6 float highlightedPanel_prev;
7 float highlightedAction; // 0 = nothing, 1 = move, 2 = resize
8
9 const float BORDER_MULTIPLIER = 0.25;
10 float hud_color_bg_team;
11 float scoreboard_bottom;
12 float weapon_hits[WEP_MAXCOUNT];
13 float weapon_fired[WEP_MAXCOUNT];
14 float weapon_number;
15
16 float complain_weapon;
17 string complain_weapon_name;
18 float complain_weapon_type;
19 float complain_weapon_time;
20
21 float ps_primary, ps_secondary;
22 float ts_primary, ts_secondary;
23
24 float last_weapon;
25 float weapontime;
26
27 float teamnagger;
28 float hud_fg_alpha;
29 float hud_accuracy_hud;
30 float hud_border_thickness;
31 float hud_accuracy_border_thickness;
32
33 float hud_configure;
34 float hud_configure_checkcollisions;
35 float hud_configure_prev;
36
37 float hudShiftState;
38 const float S_SHIFT = 1;
39 const float S_CTRL = 2;
40 const float S_ALT = 4;
41
42 float disable_menu_alphacheck; // 0 = enable alpha check, 1 = disable for entire hud, 2 = disable for one panel
43 float menu_fade_alpha;
44
45 string hud_skin_path;
46
47 var string panel_name;
48
49 var float panel_enabled; 
50 var vector panel_pos; 
51 var vector panel_size; 
52 var string panel_bg; 
53 var vector panel_bg_color; 
54 var string panel_bg_color_team; 
55 var string panel_bg_alpha; 
56 var string panel_bg_border; 
57 var string panel_bg_padding; 
58 var float panel_accuracy_yellow; 
59 var float panel_accuracy_onlycurrent; 
60 var float panel_accuracy_flip; 
61 var float panel_accuracy_iconalign; 
62 var float panel_accuracy_baralign; 
63 var float panel_accuracy_info_top; 
64 var float panel_accuracy_foreground_alpha; 
65 var float panel_accuracy_alreadyvoted_alpha; 
66
67 // Get name of specified panel id
68 #define HUD_Panel_GetName(id) \
69 switch(id) { \
70         case HUD_PANEL_WEAPONICONS: panel_name = HUD_PANELNAME_WEAPONICONS; return; \
71         case HUD_PANEL_INVENTORY: panel_name = HUD_PANELNAME_INVENTORY; return; \
72         case HUD_PANEL_POWERUPS: panel_name = HUD_PANELNAME_POWERUPS; return; \
73         case HUD_PANEL_HEALTHARMOR: panel_name = HUD_PANELNAME_HEALTHARMOR; return; \
74         case HUD_PANEL_NOTIFY: panel_name = HUD_PANELNAME_NOTIFY; return; \
75         case HUD_PANEL_TIMER: panel_name = HUD_PANELNAME_TIMER; return; \
76         case HUD_PANEL_RADAR: panel_name = HUD_PANELNAME_RADAR; return; \
77         case HUD_PANEL_SCORE: panel_name = HUD_PANELNAME_SCORE; return; \
78         case HUD_PANEL_RACETIMER: panel_name = HUD_PANELNAME_RACETIMER; return; \
79         case HUD_PANEL_VOTE: panel_name = HUD_PANELNAME_VOTE; return; \
80         case HUD_PANEL_MODICONS: panel_name = HUD_PANELNAME_MODICONS; return; \
81         case HUD_PANEL_PRESSEDKEYS: panel_name = HUD_PANELNAME_PRESSEDKEYS; return; \
82         case HUD_PANEL_CHAT: panel_name = HUD_PANELNAME_CHAT; return; \
83         case HUD_PANEL_ENGINEINFO: panel_name = HUD_PANELNAME_ENGINEINFO; return; \
84 }
85
86 // Update all cvars of given panel
87 #define HUD_Panel_UpdateCvars(name) \
88 panel_enabled = autocvar_hud_##name; \
89 panel_pos = autocvar_hud_##name_pos; \
90 panel_size = autocvar_hud_##name_size; \
91 panel_bg = autocvar_hud_##name_bg; \
92 panel_bg_color = autocvar_hud_##name_bg_color; \
93 panel_bg_color_team = autocvar_hud_##name_bg_color_team; \
94 panel_bg_alpha = autocvar_hud_##name_bg_alpha; \
95 panel_bg_border = autocvar_hud_##name_bg_border; \
96 panel_bg_padding = autocvar_hud_##name_bg_padding; \
97 panel_accuracy_yellow = autocvar_hud_##name_accuracy_yellow; \
98 panel_onlycurrent = autocvar_hud_##name_onlycurrent; \
99 panel_flip = autocvar_hud_##name_flip; \
100 panel_iconalign = autocvar_hud_##name_iconalign; \
101 panel_baralign = autocvar_hud_##name_baralign; \
102 panel_info_top = autocvar_hud_##name_info_top; \
103 panel_alreadyvoted_alpha = autocvar_hud_##name_alreadyvoted_alpha;