X-Git-Url: https://de.git.xonotic.org/?p=xonotic%2Fxonotic-data.pk3dir.git;a=blobdiff_plain;f=qcsrc%2Fclient%2Fhud%2Fhud.qc;h=d200e2c6c522e67f05b009f301f9a03f5677d9db;hp=d72682a4b7e8562bba144b8e73e58ac738a3281f;hb=c039d054a46888048d214000273ccfc63e4611b6;hpb=e91a641b1366a7d78072f4bd82478ac1b03dd29f diff --git a/qcsrc/client/hud/hud.qc b/qcsrc/client/hud/hud.qc index d72682a4b7..d200e2c6c5 100644 --- a/qcsrc/client/hud/hud.qc +++ b/qcsrc/client/hud/hud.qc @@ -1,11 +1,12 @@ #include "hud.qh" +#include "panel/scoreboard.qh" #include "hud_config.qh" #include "../mapvoting.qh" #include "../teamradar.qh" #include #include -#include +#include #include #include #include @@ -334,8 +335,6 @@ void DrawNumIcon(vector myPos, vector mySize, float x, string icon, bool vertica DrawNumIcon_expanding(myPos, mySize, x, icon, vertical, icon_right_align, color, theAlpha, 0); } -#include "all.inc" - /* ================== Main HUD system @@ -357,26 +356,47 @@ void HUD_Vehicle() } } -bool HUD_Panel_CheckFlags(int showflags) -{ - TC(int, showflags); - if ( HUD_Minigame_Showpanels() ) - return showflags & PANEL_SHOW_MINIGAME; - if(intermission == 2) - return showflags & PANEL_SHOW_MAPVOTE; - return showflags & PANEL_SHOW_MAINGAME; -} +bool HUD_Minigame_Showpanels(); void HUD_Panel_Draw(entity panent) { panel = panent; - if(autocvar__hud_configure) + if (autocvar__hud_configure) + { + if (!(panel.panel_configflags & PANEL_CONFIG_MAIN)) + return; + panel_fade_alpha = 1; + Hud_Panel_GetPanelEnabled(); + panel.panel_draw(); + return; + } + + bool draw_allowed = false; + if (HUD_Minigame_Showpanels()) { - if(panel.panel_configflags & PANEL_CONFIG_MAIN) - panel.panel_draw(); + if (panel.panel_showflags & PANEL_SHOW_MINIGAME) + draw_allowed = true; } - else if(HUD_Panel_CheckFlags(panel.panel_showflags)) + else if(intermission == 2) + { + if(panel.panel_showflags & PANEL_SHOW_MAPVOTE) + draw_allowed = true; + } + else if (panel.panel_showflags & PANEL_SHOW_MAINGAME) + draw_allowed = true; + + if (draw_allowed) + { + if (panel.panel_showflags & PANEL_SHOW_WITH_SB) + panel_fade_alpha = 1; + else + { + panel_fade_alpha = 1 - scoreboard_fade_alpha; + if(!panel_fade_alpha) + return; + } panel.panel_draw(); + } } void HUD_Reset() @@ -413,6 +433,7 @@ bool Hud_Shake_Update() return true; } +entity CSQCModel_server2csqc(int i); void calc_followmodel_ofs(entity view); void Hud_Dynamic_Frame() { @@ -535,11 +556,11 @@ void HUD_Main() { string hud_dock_color = autocvar_hud_dock_color; if(hud_dock_color == "shirt") { - f = stof(getplayerkeyvalue(current_player, "colors")); + f = entcs_GetClientColors(current_player); color = colormapPaletteColor(floor(f / 16), 0); } else if(hud_dock_color == "pants") { - f = stof(getplayerkeyvalue(current_player, "colors")); + f = entcs_GetClientColors(current_player); color = colormapPaletteColor(f % 16, 1); } else @@ -616,7 +637,7 @@ void HUD_Main() HUD_Panel_Draw(HUD_PANEL(QUICKMENU)); HUD_Panel_Draw(HUD_PANEL(SCOREBOARD)); - if (scoreboard_active || intermission == 2) + if (intermission == 2) HUD_Reset(); HUD_Configure_PostDraw();