From bd85f2ce718e898726461e23dcb623f94c6be213 Mon Sep 17 00:00:00 2001 From: terencehill Date: Wed, 15 Jan 2014 23:24:11 +0100 Subject: [PATCH] Immediately restore normal radar and chat background after maximization --- qcsrc/client/hud.qc | 15 +++++++++++++++ qcsrc/client/hud.qh | 2 ++ 2 files changed, 17 insertions(+) diff --git a/qcsrc/client/hud.qc b/qcsrc/client/hud.qc index d5f74f22a..afed50c4e 100644 --- a/qcsrc/client/hud.qc +++ b/qcsrc/client/hud.qc @@ -1824,6 +1824,11 @@ void HUD_Radar(void) { if (autocvar_hud_panel_radar == 0) return; if (autocvar_hud_panel_radar != 2 && !teamplay) return; + if(radar_panel_modified) + { + panel.update_time = time; // forces reload of panel attributes + radar_panel_modified = false; + } } } @@ -1843,6 +1848,8 @@ void HUD_Radar(void) panel_bg = strcat(hud_skin_path, "/border_default"); // always use the default border when maximized if(precache_pic(panel_bg) == "") panel_bg = "gfx/hud/default/border_default"; // fallback + if(!radar_panel_modified && panel_bg != panel.current_panel_bg) + radar_panel_modified = true; if(panel.current_panel_bg) strunzone(panel.current_panel_bg); panel.current_panel_bg = strzone(panel_bg); @@ -3451,7 +3458,14 @@ void HUD_Chat(void) return; } if(autocvar__con_chat_maximized) + { if(!hud_draw_maximized) return; + } + else if(chat_panel_modified) + { + panel.update_time = time; // forces reload of panel attributes + chat_panel_modified = false; + } } HUD_Panel_UpdateCvars(); @@ -3469,6 +3483,7 @@ void HUD_Chat(void) if(panel.current_panel_bg) strunzone(panel.current_panel_bg); panel.current_panel_bg = strzone(panel_bg); + chat_panel_modified = true; } panel_bg_alpha = max(0.75, panel_bg_alpha); // force an theAlpha of at least 0.75 } diff --git a/qcsrc/client/hud.qh b/qcsrc/client/hud.qh index 840e80214..46bc0efbf 100644 --- a/qcsrc/client/hud.qh +++ b/qcsrc/client/hud.qh @@ -9,6 +9,8 @@ string hud_panelorder_prev; float hud_draw_maximized; float hud_panel_radar_maximized; +float chat_panel_modified; +float radar_panel_modified; vector mousepos; vector panel_click_distance; // mouse cursor distance from the top left corner of the panel (saved only upon a click) -- 2.39.2