]> de.git.xonotic.org Git - xonotic/xonotic-data.pk3dir.git/blobdiff - qcsrc/client/teamradar.qc
Merge branch 'master' into mirceakitsune/hud_postprocessing
[xonotic/xonotic-data.pk3dir.git] / qcsrc / client / teamradar.qc
index 2ba3f84da41badfb1a8b3e74cb93f38ac7f08385..cccce7680b4c352eb5af05e821ac62f04cf31fd8 100644 (file)
@@ -2,10 +2,10 @@ float teamradar_angle; // player yaw angle
 vector teamradar_origin3d_in_texcoord; // player origin
 vector teamradar_origin2d; // 2D origin
 vector teamradar_size2d; // 2D size
-vector teamradar_extraclip_mins, teamradar_extraclip_maxs; // don't even ask
+vector teamradar_extraclip_mins, teamradar_extraclip_maxs; // for non-centered radar display
 float teamradar_size; // 2D scale factor
-float cl_teamradar_scale; // window size = ...qu
-float cl_teamradar_nohudhack;
+float hud_panel_radar_scale; // window size = ...qu
+float hud_panel_radar_nohudhack;
 float v_flipped;
 
 float vlen2d(vector v)
@@ -53,19 +53,10 @@ vector yinvert(vector v)
        return v;
 }
 
-void draw_teamradar_background(float bg, float fg)
+void draw_teamradar_background(float fg)
 {
        float fga;
        vector fgc;
-       if(bg > 0)
-       {
-               R_BeginPolygon("", 0);
-               R_PolygonVertex('1 0 0' * (teamradar_origin2d_x - teamradar_size2d_x * 0.5 + teamradar_extraclip_mins_x) + '0 1 0' * (teamradar_origin2d_y - teamradar_size2d_y * 0.5 + teamradar_extraclip_mins_y), '0 0 0', '0 0 0', bg);
-               R_PolygonVertex('1 0 0' * (teamradar_origin2d_x + teamradar_size2d_x * 0.5 + teamradar_extraclip_maxs_x) + '0 1 0' * (teamradar_origin2d_y - teamradar_size2d_y * 0.5 + teamradar_extraclip_mins_y), '0 0 0', '0 0 0', bg);
-               R_PolygonVertex('1 0 0' * (teamradar_origin2d_x + teamradar_size2d_x * 0.5 + teamradar_extraclip_maxs_x) + '0 1 0' * (teamradar_origin2d_y + teamradar_size2d_y * 0.5 + teamradar_extraclip_maxs_y), '0 0 0', '0 0 0', bg);
-               R_PolygonVertex('1 0 0' * (teamradar_origin2d_x - teamradar_size2d_x * 0.5 + teamradar_extraclip_mins_x) + '0 1 0' * (teamradar_origin2d_y + teamradar_size2d_y * 0.5 + teamradar_extraclip_maxs_y), '0 0 0', '0 0 0', bg);
-               R_EndPolygon();
-       }
 
        if(fg > 0 && minimapname != "")
        {
@@ -115,17 +106,17 @@ void(vector coord3d, vector pangles, vector rgb) draw_teamradar_player =
                rgb2 = '1 1 1';
 
        R_BeginPolygon("", 0);
-       R_PolygonVertex(coord+v_forward*3, '0 0 0', rgb2, hud_alpha_fg);
-       R_PolygonVertex(coord+v_right*4-v_forward*2.5, '0 1 0', rgb2, hud_alpha_fg);
-       R_PolygonVertex(coord-v_forward*2, '1 0 0', rgb2, hud_alpha_fg);
-       R_PolygonVertex(coord-v_right*4-v_forward*2.5, '1 1 0', rgb2, hud_alpha_fg);
+       R_PolygonVertex(coord+v_forward*3, '0 0 0', rgb2, panel_fg_alpha);
+       R_PolygonVertex(coord+v_right*4-v_forward*2.5, '0 1 0', rgb2, panel_fg_alpha);
+       R_PolygonVertex(coord-v_forward*2, '1 0 0', rgb2, panel_fg_alpha);
+       R_PolygonVertex(coord-v_right*4-v_forward*2.5, '1 1 0', rgb2, panel_fg_alpha);
        R_EndPolygon();
 
        R_BeginPolygon("", 0);
-       R_PolygonVertex(coord+v_forward*2, '0 0 0', rgb, hud_alpha_fg);
-       R_PolygonVertex(coord+v_right*3-v_forward*2, '0 1 0', rgb, hud_alpha_fg);
-       R_PolygonVertex(coord-v_forward, '1 0 0', rgb, hud_alpha_fg);
-       R_PolygonVertex(coord-v_right*3-v_forward*2, '1 1 0', rgb, hud_alpha_fg);
+       R_PolygonVertex(coord+v_forward*2, '0 0 0', rgb, panel_fg_alpha);
+       R_PolygonVertex(coord+v_right*3-v_forward*2, '0 1 0', rgb, panel_fg_alpha);
+       R_PolygonVertex(coord-v_forward, '1 0 0', rgb, panel_fg_alpha);
+       R_PolygonVertex(coord-v_right*3-v_forward*2, '1 1 0', rgb, panel_fg_alpha);
        R_EndPolygon();
 };
 
@@ -170,55 +161,36 @@ void draw_teamradar_link(vector start, vector end, float colors)
        c1 = colormapPaletteColor((colors & 0xF0) / 0x10, FALSE);
 
        R_BeginPolygon("", 0);
-       R_PolygonVertex(start - norm, '0 0 0', c0, hud_alpha_fg);
-       R_PolygonVertex(start + norm, '0 1 0', c0, hud_alpha_fg);
-       R_PolygonVertex(end + norm, '1 1 0', c1, hud_alpha_fg);
-       R_PolygonVertex(end - norm, '1 0 0', c1, hud_alpha_fg);
+       R_PolygonVertex(start - norm, '0 0 0', c0, panel_fg_alpha);
+       R_PolygonVertex(start + norm, '0 1 0', c0, panel_fg_alpha);
+       R_PolygonVertex(end + norm, '1 1 0', c1, panel_fg_alpha);
+       R_PolygonVertex(end - norm, '1 0 0', c1, panel_fg_alpha);
        R_EndPolygon();
 }
 
-float cl_teamradar_scale;
-float cl_teamradar_background_alpha;
-float cl_teamradar_foreground_alpha;
-float cl_teamradar_rotation;
-vector cl_teamradar_size;
-vector cl_teamradar_position;
-float cl_teamradar_zoommode;
+float hud_panel_radar_scale;
+float hud_panel_radar_foreground_alpha;
+float hud_panel_radar_rotation;
+vector hud_panel_radar_size;
+float hud_panel_radar_zoommode;
 
 void teamradar_loadcvars()
 {
-       v_flipped = cvar("v_flipped");
-       if(ons_showmap)
-       {
-               cl_teamradar_scale = 42; // dummy, not used (see zoommode)
-               cl_teamradar_background_alpha = 1 * (1 - cvar("_menu_alpha"));
-               cl_teamradar_foreground_alpha = 1 * (1 - cvar("_menu_alpha"));
-               cl_teamradar_rotation = cvar("cl_teamradar_rotation");
-               if(!cl_teamradar_rotation)
-                       cl_teamradar_rotation = 4;
-               cl_teamradar_zoommode = 3;
-               cl_teamradar_nohudhack = 0;
-       }
-       else
-       {
-               cl_teamradar_scale = cvar("cl_teamradar_scale");
-               cl_teamradar_background_alpha = cvar("cl_teamradar_background_alpha") * hud_alpha_fg;
-               cl_teamradar_foreground_alpha = cvar("cl_teamradar_foreground_alpha") * hud_alpha_fg;
-               cl_teamradar_rotation = cvar("cl_teamradar_rotation");
-               cl_teamradar_zoommode = cvar("cl_teamradar_zoommode");
-
-               // others default to 0
-               // match this to defaultXonotic.cfg!
-               if(!cl_teamradar_scale) cl_teamradar_scale = 4096;
-               if(!cl_teamradar_background_alpha) cl_teamradar_background_alpha = 0.4 * hud_alpha_fg;
-               if(!cl_teamradar_foreground_alpha) cl_teamradar_foreground_alpha = 0.8 * hud_alpha_fg;
-               if(!cl_teamradar_size_x) cl_teamradar_size_x = 128;
-               if(!cl_teamradar_size_y) cl_teamradar_size_y = cl_teamradar_size_x;
-
-               cl_teamradar_size_z = 0;
-               cl_teamradar_nohudhack = cl_teamradar_position_z;
-               cl_teamradar_position_z = 0;
-       }
+       v_flipped = autocvar_v_flipped;
+       hud_panel_radar_scale = autocvar_hud_panel_radar_scale;
+       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;
+
+       // others default to 0
+       // match this to defaultXonotic.cfg!
+       if(!hud_panel_radar_scale) hud_panel_radar_scale = 4096;
+       if(!hud_panel_radar_foreground_alpha) hud_panel_radar_foreground_alpha = 0.8 * panel_fg_alpha;
+       if(!hud_panel_radar_size_x) hud_panel_radar_size_x = 128;
+       if(!hud_panel_radar_size_y) hud_panel_radar_size_y = hud_panel_radar_size_x;
+
+       hud_panel_radar_size_z = 0;
+       hud_panel_radar_nohudhack = 0;
 }
 
 // radar links