X-Git-Url: http://de.git.xonotic.org/?a=blobdiff_plain;f=qcsrc%2Fclient%2Fhud.qh;h=1fe76b091cc2239684a1a420d1e5ee95108b8a8e;hb=04ab0ff7c3c5fcfe9780eadccfd5abd03d25b181;hp=62734abb7273a5018ac11e0142ba6ed21cf500d7;hpb=147ece6f20af2491f707700e0714d1da199d1eb5;p=xonotic%2Fxonotic-data.pk3dir.git diff --git a/qcsrc/client/hud.qh b/qcsrc/client/hud.qh index 62734abb7..1fe76b091 100644 --- a/qcsrc/client/hud.qh +++ b/qcsrc/client/hud.qh @@ -54,6 +54,8 @@ float hud_fade_alpha; string hud_skin_path; string hud_skin_prev; +vector myteamcolors; + var vector progressbar_color; entity highlightedPanel_backup; @@ -124,12 +126,13 @@ float current_player; 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 @@ -185,7 +188,10 @@ if(!autocvar__hud_configure && panel_bg_str == "0") {\ // 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 {\ @@ -317,7 +323,7 @@ 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"))); \ @@ -334,8 +340,13 @@ if(panel.update_time < time) { \ } \ 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; \ @@ -348,6 +359,11 @@ if(panel.update_time < time) { \ 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; \