]> git.xonotic.org Git - xonotic/xonotic-data.pk3dir.git/commitdiff
anti-overlap feature for tags
authorFruitieX <fruitiex@gmail.com>
Sun, 1 May 2011 15:15:51 +0000 (18:15 +0300)
committerFruitieX <fruitiex@gmail.com>
Sun, 1 May 2011 15:15:51 +0000 (18:15 +0300)
defaultXonotic.cfg
qcsrc/client/autocvars.qh
qcsrc/client/shownames.qc

index 145312227d4bfb0d2c72571bb432eb1433bc87b2..3d3e5a92b82a2468c20d059f09f47e4d01aa4bd5 100644 (file)
@@ -1503,7 +1503,8 @@ seta hud_shownames_alpha 0.7 "alpha"
 seta hud_shownames_resize 1 "enable resizing of the names, then the size cvars will correspond to the maximum size"
 seta hud_shownames_mindistance 1000 "start fading alpha/size at this distance"
 seta hud_shownames_maxdistance 2500 "alpha/size is 0 at this distance"
-seta hud_shownames_antioverlap_distance 125 "2d distance to another tag after which to fade out the one further away from you"
+seta hud_shownames_antioverlap 1 "if two tags get too close to each other, fade out the one further away from you"
+seta hud_shownames_antioverlap_distance 125 "2d distance to other tag after which to fade out"
 
 // scoreboard
 seta scoreboard_columns default
index d61e73dc60da21d5452d77b9eef0a6239c1e18d0..2fe09ea1ea77ec130472162c69e58e41223616f8 100644 (file)
@@ -287,6 +287,7 @@ float autocvar_hud_shownames_alpha;
 float autocvar_hud_shownames_resize;
 float autocvar_hud_shownames_mindistance;
 float autocvar_hud_shownames_maxdistance;
+float autocvar_hud_shownames_antioverlap;
 float autocvar_hud_shownames_antioverlap_distance;
 string autocvar_hud_skin;
 float autocvar_loddebug;
index d876fd20842920efaf1374d874b216198bf2c2a3..f69c495fb0fa493b87867469b47f4c5f826e59ba 100644 (file)
@@ -30,22 +30,25 @@ void Draw_ShowNames()
 
         vector o, eo;
         o = project_3d_to_2d(self.origin);
-
-        // fade tag out if another tag that is closer to you overlaps
-        entity e;
         float overlap;
-        for(e = world; (e = find(e, classname, "shownames_tag")); )
+
+        if(autocvar_hud_shownames_antioverlap)
         {
-            if(e == self)
-                continue;
-            eo = project_3d_to_2d(e.origin);
-            if not(eo_z < 0 || eo_x < 0 || eo_y < 0 || eo_x > vid_conwidth || eo_y > vid_conheight)
+            // fade tag out if another tag that is closer to you overlaps
+            entity e;
+            for(e = world; (e = find(e, classname, "shownames_tag")); )
             {
-                eo_z = 0;
-                if(vlen((eX * o_x + eY * o_y) - eo) < autocvar_hud_shownames_antioverlap_distance && vlen(self.origin - view_origin) > vlen(e.origin - view_origin))
+                if(e == self)
+                    continue;
+                eo = project_3d_to_2d(e.origin);
+                if not(eo_z < 0 || eo_x < 0 || eo_y < 0 || eo_x > vid_conwidth || eo_y > vid_conheight)
                 {
-                    overlap = TRUE;
-                    break;
+                    eo_z = 0;
+                    if(vlen((eX * o_x + eY * o_y) - eo) < autocvar_hud_shownames_antioverlap_distance && vlen(self.origin - view_origin) > vlen(e.origin - view_origin))
+                    {
+                        overlap = TRUE;
+                        break;
+                    }
                 }
             }
         }