]> de.git.xonotic.org Git - xonotic/xonotic-data.pk3dir.git/blobdiff - qcsrc/client/hud/panel/modicons.qc
Fix rankings too
[xonotic/xonotic-data.pk3dir.git] / qcsrc / client / hud / panel / modicons.qc
index bf302fdfa3f3cff6f2fcc701e269821a4a8b1f7f..b736dced60671a8025936d95b3c01dc844dabb6f 100644 (file)
@@ -494,7 +494,7 @@ int race_CheckName(string net_name)
 {
        int i;
        for (i=RANKINGS_CNT-1;i>=0;--i)
-               if(grecordholder[i] == net_name)
+               if(strdecolorize(grecordholder[i]) == strdecolorize(net_name))
                        return i+1;
        return 0;
 }
@@ -583,7 +583,7 @@ void HUD_Mod_Race(vector pos, vector mySize)
        a = bound(0, race_status_time - time, 1);
 
        string s;
-       s = textShortenToWidth(race_status_name, squareSize, '1 1 0' * 0.1 * squareSize, stringwidth_colors);
+       s = textShortenToWidth(ColorTranslateRGB(race_status_name), squareSize, '1 1 0' * 0.1 * squareSize, stringwidth_colors);
 
        float rank;
        if(race_status > 0)
@@ -605,7 +605,7 @@ void HUD_Mod_Race(vector pos, vector mySize)
                drawcolorcodedstring_aspect(namepos, s, '1 0.2 0' * squareSize, panel_fg_alpha * a, DRAWFLAG_NORMAL);
                drawstring_aspect(rankpos, rankname, '1 0.15 0' * squareSize, '1 1 1', panel_fg_alpha * a, DRAWFLAG_NORMAL);
        } else if(race_status == 2) {
-               if(race_status_name == entcs_GetName(player_localnum) || !race_myrank || race_myrank < rank)
+               if(strdecolorize(race_status_name) == strdecolorize(entcs_GetName(player_localnum)) || !race_myrank || race_myrank < rank)
                        drawpic_aspect_skin(medalPos + '0.1 0 0' * squareSize, "race_newrankgreen", '1 1 0' * 0.8 * squareSize, '1 1 1', panel_fg_alpha * a, DRAWFLAG_NORMAL);
                else
                        drawpic_aspect_skin(medalPos + '0.1 0 0' * squareSize, "race_newrankyellow", '1 1 0' * 0.8 * squareSize, '1 1 1', panel_fg_alpha * a, DRAWFLAG_NORMAL);
@@ -715,9 +715,7 @@ void HUD_ModIcons_SetFunc()
        HUD_ModIcons_GameType = gametype.m_modicons;
 }
 
-int mod_prev; // previous state of mod_active to check for a change
 float mod_alpha;
-float mod_change; // "time" when mod_active changed
 
 void HUD_ModIcons()
 {
@@ -727,16 +725,10 @@ void HUD_ModIcons()
                if(!HUD_ModIcons_GameType) return;
        }
 
-
-       if(mod_active != mod_prev) {
-               mod_change = time;
-               mod_prev = mod_active;
-       }
-
        if(mod_active || autocvar__hud_configure)
-               mod_alpha = bound(0, (time - mod_change) * 2, 1);
+               mod_alpha = min(mod_alpha + frametime * 2, 1);
        else
-               mod_alpha = bound(0, 1 - (time - mod_change) * 2, 1);
+               mod_alpha = max(mod_alpha - frametime * 2, 0);
 
        //if(mod_alpha <= 0)
        //      return;