]> git.xonotic.org Git - xonotic/xonotic-data.pk3dir.git/blobdiff - qcsrc/client/waypointsprites.qc
Merge remote-tracking branch 'origin/master' into samual/mutator_ctf
[xonotic/xonotic-data.pk3dir.git] / qcsrc / client / waypointsprites.qc
index cc29c5022087044cd24bc6d98d78c59e68c344de..d3d57aba9e8cbcd52ad7606466f912dc394032a9 100644 (file)
@@ -216,7 +216,7 @@ float spritelookupblinkvalue(string s)
                case "item-extralife":   return 2;
                case "item-speed":       return 2;
                case "item-strength":    return 2;
-               case "item-shueld":      return 2;
+               case "item-shield":      return 2;
                case "item-fuelregen":   return 2;
                case "item-jetpack":     return 2;
                case "tagged-target":    return 2;
@@ -256,6 +256,7 @@ string spritelookuptext(string s)
                case "as-defend": return _("Defend");
                case "bluebase": return _("Blue base");
                case "danger": return _("DANGER");
+               case "enemyflagcarrier": return _("Enemy carrier");
                case "flagcarrier": return _("Flag carrier");
                case "flagdropped": return _("Dropped flag");
                case "helpme": return _("Help me!");
@@ -380,6 +381,7 @@ vector fixrgbexcess(vector rgb)
        return rgb;
 }
 
+float waypointsprite_count, waypointsprite_newcount;
 void Draw_WaypointSprite()
 {
        string spriteimage;
@@ -402,7 +404,7 @@ void Draw_WaypointSprite()
 
        InterpolateOrigin_Do();
 
-       t = GetPlayerColor(player_localentnum - 1) + 1;
+       t = GetPlayerColor(player_localnum) + 1;
 
        spriteimage = "";
 
@@ -435,6 +437,8 @@ void Draw_WaypointSprite()
 
        if(spriteimage == "")
                return;
+
+       ++waypointsprite_newcount;
        
        float dist;
        dist = vlen(self.origin - view_origin);
@@ -539,7 +543,7 @@ void Draw_WaypointSprite()
        o_z = 0;
 
        float edgedistance_min, crosshairdistance;
-               edgedistance_min = min4((o_y - (vid_conheight * waypointsprite_edgeoffset_top)), 
+               edgedistance_min = min((o_y - (vid_conheight * waypointsprite_edgeoffset_top)), 
        (o_x - (vid_conwidth * waypointsprite_edgeoffset_left)),
        (vid_conwidth - (vid_conwidth * waypointsprite_edgeoffset_right)) - o_x, 
        (vid_conheight - (vid_conheight * waypointsprite_edgeoffset_bottom)) - o_y);
@@ -583,12 +587,16 @@ void Draw_WaypointSprite()
        o = drawspritearrow(o, ang, rgb, a, SPRITE_ARROW_SCALE * t);
        
        string txt;
-       txt = spritelookuptext(spriteimage);
+       if(autocvar_g_waypointsprite_spam && waypointsprite_count >= autocvar_g_waypointsprite_spam)
+               txt = _("Spam");
+       else
+               txt = spritelookuptext(spriteimage);
        if(self.helpme && time < self.helpme)
                txt = sprintf(_("%s needing help!"), txt);
        if(autocvar_g_waypointsprite_uppercase)
                txt = strtoupper(txt);
 
+       draw_beginBoldFont();
        if(self.health >= 0)
        {
                o = drawspritetext(o, ang, (SPRITE_HEALTHBAR_WIDTH + 2 * SPRITE_HEALTHBAR_BORDER) * t, rgb, a, waypointsprite_fontsize * '1 1 0', txt);
@@ -624,6 +632,7 @@ void Draw_WaypointSprite()
        {
                o = drawspritetext(o, ang, 0, rgb, a, waypointsprite_fontsize * '1 1 0', txt);
        }
+       draw_endBoldFont();
 }
 
 void Ent_RemoveWaypointSprite()
@@ -792,4 +801,7 @@ void WaypointSprite_Load()
                WaypointSprite_Load_Frames(".jpg");
                waypointsprite_initialized = true;
        }
+
+       waypointsprite_count = waypointsprite_newcount;
+       waypointsprite_newcount = 0;
 }