]> de.git.xonotic.org Git - voretournament/voretournament.git/blobdiff - data/qcsrc/client/sbar.qc
Fix HUD timer position when showing time left
[voretournament/voretournament.git] / data / qcsrc / client / sbar.qc
index c9d1d4f1226d88664ef8d19312ba56c471c638b9..d856adabb9a7c5b87f803ef18492ed297d71b45a 100644 (file)
@@ -919,6 +919,7 @@ void Sbar_PrintStomachboardItem(vector pos, entity pl)
 \r
        string str;\r
        float f, field, field_number;\r
+       vector hl_color;\r
        field_number = 3; // the number of components each row has\r
 \r
        for(fieldcounter = 1; fieldcounter <= field_number; ++fieldcounter)\r
@@ -930,11 +931,15 @@ void Sbar_PrintStomachboardItem(vector pos, entity pl)
                if(field == ST_HIGHLIGHT)\r
                {\r
                        if(getstati(STAT_VORE_EATEN))\r
-                               drawfill(pos - '0 0 0', '193 11 0', stov(cvar_string("sbar_stomachboard_color3")), cvar("sbar_stomachboard_highlight_alpha") * sbar_alpha_fg, DRAWFLAG_NORMAL);\r
-                       else if(pl.team == myteam)\r
-                               drawfill(pos - '0 0 0', '193 11 0', stov(cvar_string("sbar_stomachboard_color2")), cvar("sbar_stomachboard_highlight_alpha") * sbar_alpha_fg, DRAWFLAG_NORMAL);\r
+                       {\r
+                               if(teamplay && GetPlayerColor(pl.entnum - 1) == GetPlayerColor(player_localentnum - 1)) // same team\r
+                                       hl_color = stov(cvar_string("sbar_stomachboard_color2"));\r
+                               else\r
+                                       hl_color = stov(cvar_string("sbar_stomachboard_color3"));\r
+                       }\r
                        else\r
-                               drawfill(pos - '0 0 0', '193 11 0', stov(cvar_string("sbar_stomachboard_color1")), cvar("sbar_stomachboard_highlight_alpha") * sbar_alpha_fg, DRAWFLAG_NORMAL);\r
+                               hl_color = stov(cvar_string("sbar_stomachboard_color1"));\r
+                       drawfill(pos - '0 0 0', '193 11 0', hl_color, cvar("sbar_stomachboard_highlight_alpha") * sbar_alpha_fg, DRAWFLAG_NORMAL);\r
                }\r
 \r
                if(field == ST_NAME) {\r
@@ -1940,13 +1945,13 @@ void Sbar_Timer()
                minutes = minutesLeft;\r
                seconds = secondsLeft;\r
                if (minutes == 0)\r
-                       bgpos_x = topright_x - (58 + 7 + 12) * scale;\r
+                       bgpos_x = topright_x - (46 + 17 + 12) * scale;\r
                else if (minutes < 10) // nudge the timer background left if more digits are drawn\r
-                       bgpos_x = topright_x - (66 + 17 + 12) * scale;\r
+                       bgpos_x = topright_x - (54 + 17 + 12) * scale;\r
                else if (minutes < 100)\r
-                       bgpos_x = topright_x - (74 + 17 + 12) * scale;\r
+                       bgpos_x = topright_x - (62 + 17 + 12) * scale;\r
                else\r
-                       bgpos_x = topright_x - (82 + 17 + 12) * scale;\r
+                       bgpos_x = topright_x - (70 + 17 + 12) * scale;\r
                bgpos_y = 0;\r
                bgpos_z = 0;\r
        }\r
@@ -2925,16 +2930,23 @@ void Sbar_Draw (void)
                                }\r
                        }\r
 \r
+                       vector hl_color;\r
+                       string hl_string;\r
                        if(getstati(STAT_VORE_EATEN))\r
                        {\r
-                               drawpic(bottomleft - '0 256 0', "gfx/hud/bg_stomach_status", '256 256 0', StomachStatus_ColorFade(stov(cvar_string("sbar_stomachboard_color2"))), cvar("sbar_stomachboard_status_alpha") * sbar_alpha_fg, DRAWFLAG_NORMAL);\r
-                               drawstring(bottomleft - '-80 173 0', "predator:", '11 11 0', '1 1 1', sbar_alpha_fg, DRAWFLAG_NORMAL);\r
+                               if(teamplay && GetPlayerColor(getstati(STAT_VORE_EATEN) - 1) == GetPlayerColor(player_localentnum - 1)) // same team\r
+                                       hl_color = stov(cvar_string("sbar_stomachboard_color2"));\r
+                               else\r
+                                       hl_color = stov(cvar_string("sbar_stomachboard_color3"));\r
+                               hl_string = "predator:";\r
                        }\r
                        else\r
                        {\r
-                               drawpic(bottomleft - '0 256 0', "gfx/hud/bg_stomach_status", '256 256 0', StomachStatus_ColorFade(stov(cvar_string("sbar_stomachboard_color1"))), cvar("sbar_stomachboard_status_alpha") * sbar_alpha_fg, DRAWFLAG_NORMAL);\r
-                               drawstring(bottomleft - '-80 173 0', "self:", '11 11 0', ' 1 1 1', sbar_alpha_fg, DRAWFLAG_NORMAL);\r
+                               hl_color = stov(cvar_string("sbar_stomachboard_color1"));\r
+                               hl_string = "self:";\r
                        }\r
+                       drawpic(bottomleft - '0 256 0', "gfx/hud/bg_stomach_status", '256 256 0', StomachStatus_ColorFade(hl_color), cvar("sbar_stomachboard_status_alpha") * sbar_alpha_fg, DRAWFLAG_NORMAL);\r
+                       drawstring(bottomleft - '-80 173 0', hl_string, '11 11 0', '1 1 1', sbar_alpha_fg, DRAWFLAG_NORMAL);\r
 \r
                        float stomach_load;\r
                        stomach_load = getstati(STAT_VORE_LOAD); // shows the predator's stomach load when we are eaten, and ours otherwise\r