From 3b929d79b6e24a73e319488cfb56379762b46ac5 Mon Sep 17 00:00:00 2001 From: Mario Date: Thu, 21 Feb 2013 13:27:29 +1100 Subject: [PATCH] Add cvars to change maximized radar zoom/rotation --- _hud_descriptions.cfg | 2 + hud_luminos.cfg | 2 + hud_luminos_minimal.cfg | 2 + hud_luminos_minimal_xhair.cfg | 2 + hud_luminos_old.cfg | 2 + hud_nexuiz.cfg | 2 + qcsrc/client/autocvars.qh | 2 + qcsrc/client/hud.qc | 88 +++++++++++++++++++++++------------ qcsrc/client/teamradar.qc | 4 ++ 9 files changed, 77 insertions(+), 29 deletions(-) diff --git a/_hud_descriptions.cfg b/_hud_descriptions.cfg index 4c832ef1e..90ae7a374 100644 --- a/_hud_descriptions.cfg +++ b/_hud_descriptions.cfg @@ -156,6 +156,8 @@ seta hud_panel_radar_zoommode "" "zoom mode: 0 = zoomed by default, 1 = zoomed w seta hud_panel_radar_scale "" "distance you can see on the team radar" seta hud_panel_radar_maximized_scale "" "distance you can see on the radar when maximized" seta hud_panel_radar_maximized_size "" "size of the radar when maximized" +seta hud_panel_radar_maximized_rotation "" "rotation mode: you set what points up. 0 = player, 1 = west, 2 = south, 3 = east, 4 = north" +seta hud_panel_radar_maximized_zoommode "" "zoom mode: 0 = zoomed by default, 1 = zoomed when +zoom, 2 = always zoomed, 3 = always zoomed out" seta hud_panel_score "" "enable/disable this panel" seta hud_panel_score_pos "" "position of this base of the panel" diff --git a/hud_luminos.cfg b/hud_luminos.cfg index c70e1b103..d2b2fd7aa 100644 --- a/hud_luminos.cfg +++ b/hud_luminos.cfg @@ -154,6 +154,8 @@ seta hud_panel_radar_zoommode "0" seta hud_panel_radar_scale "4096" seta hud_panel_radar_maximized_scale "8192" seta hud_panel_radar_maximized_size "0.5 0.5" +seta hud_panel_radar_maximized_rotation "0" +seta hud_panel_radar_maximized_zoommode "0" seta hud_panel_score 1 seta hud_panel_score_pos "0.890000 0.030000" diff --git a/hud_luminos_minimal.cfg b/hud_luminos_minimal.cfg index 4c0a7f46d..9f856966f 100644 --- a/hud_luminos_minimal.cfg +++ b/hud_luminos_minimal.cfg @@ -154,6 +154,8 @@ seta hud_panel_radar_zoommode "0" seta hud_panel_radar_scale "4096" seta hud_panel_radar_maximized_scale "8192" seta hud_panel_radar_maximized_size "0.5 0.5" +seta hud_panel_radar_maximized_rotation "0" +seta hud_panel_radar_maximized_zoommode "0" seta hud_panel_score 1 seta hud_panel_score_pos "0.465000 0.045000" diff --git a/hud_luminos_minimal_xhair.cfg b/hud_luminos_minimal_xhair.cfg index 56ec31c80..89c9e4033 100644 --- a/hud_luminos_minimal_xhair.cfg +++ b/hud_luminos_minimal_xhair.cfg @@ -154,6 +154,8 @@ seta hud_panel_radar_zoommode "0" seta hud_panel_radar_scale "4096" seta hud_panel_radar_maximized_scale "8192" seta hud_panel_radar_maximized_size "0.5 0.5" +seta hud_panel_radar_maximized_rotation "0" +seta hud_panel_radar_maximized_zoommode "0" seta hud_panel_score 1 seta hud_panel_score_pos "0.465000 0.045000" diff --git a/hud_luminos_old.cfg b/hud_luminos_old.cfg index 263412734..361c4de18 100644 --- a/hud_luminos_old.cfg +++ b/hud_luminos_old.cfg @@ -154,6 +154,8 @@ seta hud_panel_radar_zoommode "0" seta hud_panel_radar_scale "4096" seta hud_panel_radar_maximized_scale "8192" seta hud_panel_radar_maximized_size "0.5 0.5" +seta hud_panel_radar_maximized_rotation "0" +seta hud_panel_radar_maximized_zoommode "0" seta hud_panel_score 1 seta hud_panel_score_pos "0.020000 0.920000" diff --git a/hud_nexuiz.cfg b/hud_nexuiz.cfg index 42a0571bb..027cfd39b 100644 --- a/hud_nexuiz.cfg +++ b/hud_nexuiz.cfg @@ -154,6 +154,8 @@ seta hud_panel_radar_zoommode "0" seta hud_panel_radar_scale "4096" seta hud_panel_radar_maximized_scale "8192" seta hud_panel_radar_maximized_size "0.5 0.5" +seta hud_panel_radar_maximized_rotation "0" +seta hud_panel_radar_maximized_zoommode "0" seta hud_panel_score 1 seta hud_panel_score_pos "0.760000 0.910000" diff --git a/qcsrc/client/autocvars.qh b/qcsrc/client/autocvars.qh index cb4fa4f81..c7f7e9f27 100644 --- a/qcsrc/client/autocvars.qh +++ b/qcsrc/client/autocvars.qh @@ -293,6 +293,8 @@ vector autocvar_hud_panel_radar_maximized_size; float autocvar_hud_panel_radar_rotation; float autocvar_hud_panel_radar_scale; float autocvar_hud_panel_radar_zoommode; +float autocvar_hud_panel_radar_maximized_rotation; +float autocvar_hud_panel_radar_maximized_zoommode; float autocvar_hud_panel_score; float autocvar_hud_panel_score_rankings; float autocvar_hud_panel_timer; diff --git a/qcsrc/client/hud.qc b/qcsrc/client/hud.qc index 5bbffa5ec..f247dba95 100644 --- a/qcsrc/client/hud.qc +++ b/qcsrc/client/hud.qc @@ -2532,6 +2532,8 @@ void HUD_Radar(void) HUD_Panel_UpdateCvars(radar); HUD_Panel_ApplyFadeAlpha(); + + float f = 0; if (hud_panel_radar_maximized && !autocvar__hud_configure) { @@ -2543,6 +2545,62 @@ 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 + + switch(hud_panel_radar_maximized_zoommode) + { + default: + case 0: + f = current_zoomfraction; + break; + case 1: + f = 1 - current_zoomfraction; + break; + case 2: + f = 0; + break; + case 3: + f = 1; + break; + } + + switch(hud_panel_radar_maximized_rotation) + { + case 0: + teamradar_angle = view_angles_y - 90; + break; + default: + teamradar_angle = 90 * hud_panel_radar_maximized_rotation; + break; + } + } + if (!hud_panel_radar_maximized && !autocvar__hud_configure) + { + switch(hud_panel_radar_zoommode) + { + default: + case 0: + f = current_zoomfraction; + break; + case 1: + f = 1 - current_zoomfraction; + break; + case 2: + f = 0; + break; + case 3: + f = 1; + break; + } + + switch(hud_panel_radar_rotation) + { + case 0: + teamradar_angle = view_angles_y - 90; + break; + default: + teamradar_angle = 90 * hud_panel_radar_rotation; + break; + } } vector pos, mySize; @@ -2559,7 +2617,6 @@ void HUD_Radar(void) float color2; entity tm; float scale2d, normalsize, bigsize; - float f; teamradar_origin2d = pos + 0.5 * mySize; teamradar_size2d = mySize; @@ -2569,40 +2626,13 @@ void HUD_Radar(void) teamradar_loadcvars(); - switch(hud_panel_radar_zoommode) - { - default: - case 0: - f = current_zoomfraction; - break; - case 1: - f = 1 - current_zoomfraction; - break; - case 2: - f = 0; - break; - case 3: - f = 1; - break; - } - - switch(hud_panel_radar_rotation) - { - case 0: - teamradar_angle = view_angles_y - 90; - break; - default: - teamradar_angle = 90 * hud_panel_radar_rotation; - break; - } - scale2d = vlen_maxnorm2d(mi_picmax - mi_picmin); teamradar_size2d = mySize; teamradar_extraclip_mins = teamradar_extraclip_maxs = '0 0 0'; // we always center // pixels per world qu to match the teamradar_size2d_x range in the longest dimension - if(hud_panel_radar_rotation == 0) + if((hud_panel_radar_rotation == 0 && !hud_panel_radar_maximized) || (hud_panel_radar_maximized_rotation == 0 && hud_panel_radar_maximized)) { // max-min distance must fit the radar in any rotation bigsize = vlen_minnorm2d(teamradar_size2d) * scale2d / (1.05 * vlen2d(mi_scale)); diff --git a/qcsrc/client/teamradar.qc b/qcsrc/client/teamradar.qc index 335db28a9..0c0f10204 100644 --- a/qcsrc/client/teamradar.qc +++ b/qcsrc/client/teamradar.qc @@ -172,6 +172,8 @@ float hud_panel_radar_foreground_alpha; float hud_panel_radar_rotation; noref vector hud_panel_radar_size; // fteqcc sucks float hud_panel_radar_zoommode; +float hud_panel_radar_maximized_zoommode; +float hud_panel_radar_maximized_rotation; void teamradar_loadcvars() { @@ -185,6 +187,8 @@ void teamradar_loadcvars() hud_panel_radar_foreground_alpha = autocvar_hud_panel_radar_foreground_alpha * panel_fg_alpha; hud_panel_radar_rotation = autocvar_hud_panel_radar_rotation; hud_panel_radar_zoommode = autocvar_hud_panel_radar_zoommode; + hud_panel_radar_maximized_rotation = autocvar_hud_panel_radar_maximized_rotation; + hud_panel_radar_maximized_zoommode = autocvar_hud_panel_radar_maximized_zoommode; // others default to 0 // match this to defaultXonotic.cfg! -- 2.39.2