string hud_skin_path;
string hud_skin_prev;
+vector myteamcolors;
+
var vector progressbar_color;
entity highlightedPanel_backup;
HUD_PANEL_LAST = HUD_PANEL_##NAME = HUD_PANEL_NUM; \
entity hud_panelent = spawn(); \
hud_panel[HUD_PANEL_##NAME] = hud_panelent; \
+ hud_panelent.classname = "hud_panel"; \
hud_panelent.panel_name = #name; \
hud_panelent.panel_id = HUD_PANEL_##NAME; \
hud_panelent.panel_draw = ##draw_func; \
++HUD_PANEL_NUM; \
} \
- ACCUMULATE_FUNCTION(RegisterHUD_Panels, RegisterHUD_Panel_##NAME)
+ ACCUMULATE_FUNCTION(RegisterHUD_Panels, RegisterHUD_Panel_##NAME);
HUD_PANELS
#undef HUD_PANEL
// Get value for panel_bg_color: if "" fetch default, else use panel_bg_color. Convert pants, shirt or teamcolor into a vector.
#define HUD_Panel_GetColor()\
if((teamplay) && panel_bg_color_team) {\
- panel_bg_color = colormapPaletteColor(mod(stof(getplayerkeyvalue(current_player - 1, "colors")), 16), 1) * panel_bg_color_team;\
+ if(autocvar__hud_configure && myteam == NUM_SPECTATOR)\
+ panel_bg_color = '1 0 0' * panel_bg_color_team;\
+ else\
+ panel_bg_color = myteamcolors * panel_bg_color_team;\
} else if (autocvar_hud_configure_teamcolorforced && autocvar__hud_configure && panel_bg_color_team) {\
panel_bg_color = '1 0 0' * panel_bg_color_team;\
} else {\
// NOTE: in hud_configure mode cvars must be reloaded every frame
#define HUD_Panel_UpdateCvars() \
-if(panel.update_time < time) { \
+if(panel.update_time <= time) { \
if(autocvar__hud_configure) panel_enabled = cvar(strcat("hud_panel_", panel.panel_name)); \
panel_pos = stov(cvar_string(strcat("hud_panel_", panel.panel_name, "_pos"))); \
panel_size = stov(cvar_string(strcat("hud_panel_", panel.panel_name, "_size"))); \
} \
panel.current_panel_pos = panel_pos; \
panel.current_panel_size = panel_size; \
- if(panel.current_panel_bg != "") \
+ if(panel.current_panel_bg) \
strunzone(panel.current_panel_bg); \
+ if(panel_bg == "")\
+ {\
+ /*print(sprintf("^xf08 %s panel: panel_bg is empty\n", panel.panel_name));*/\
+ panel_bg = "0";\
+ }\
panel.current_panel_bg = strzone(panel_bg); \
panel.current_panel_bg_alpha = panel_bg_alpha; \
panel.current_panel_bg_border = panel_bg_border; \
panel_pos = panel.current_panel_pos; \
panel_size = panel.current_panel_size; \
panel_bg = panel.current_panel_bg; \
+ if(panel.current_panel_bg == "")\
+ {\
+ /*print(sprintf("^xf08 %s panel: panel.current_panel_bg is empty\n", panel.panel_name));*/\
+ panel_bg = "0";\
+ }\
panel_bg_alpha = panel.current_panel_bg_alpha; \
panel_bg_border = panel.current_panel_bg_border; \
panel_bg_color = panel.current_panel_bg_color; \