+void Scoreboard_DrawOthers(vector item_pos, vector rgb, int this_team, entity ignored_pl, entity pl, int pl_number)
+{
+ vector h_pos = item_pos;
+ vector h_size = eX * panel_size.x + eY * hud_fontsize.y * 1.25;
+ if((sbt_highlight) && (!(pl_number % 2)))
+ drawfill(h_pos, h_size, rgb, sbt_highlight_alpha, DRAWFLAG_NORMAL);
+
+ vector pos = item_pos;
+ pos.x += hud_fontsize.x * 0.5;
+ pos.y += (1.25 - 1) / 2 * hud_fontsize.y; // center text vertically
+
+ float width_limit = item_pos.x + panel_size.x - hud_fontsize.x;
+ width_limit -= stringwidth("...", false, hud_fontsize);
+ float namesize = autocvar_hud_panel_scoreboard_namesize * hud_fontsize.x;
+ for(int i = 0; pl; pl = pl.sort_next)
+ {
+ if(pl.team != this_team)
+ continue;
+ if(pl == ignored_pl)
+ continue;
+ string str = textShortenToWidth(entcs_GetName(pl.sv_entnum), namesize, hud_fontsize, stringwidth_colors);
+ if(autocvar_hud_panel_scoreboard_others_showscore)
+ str = sprintf("%s ^7(^3%s^7)", str, ftos(pl.(scores(ps_primary))));
+ float str_width = stringwidth(str, true, hud_fontsize);
+ if(pos.x + str_width > width_limit)
+ {
+ drawstring(pos, "...", hud_fontsize, '1 1 1', sbt_fg_alpha, DRAWFLAG_NORMAL);
+ break;
+ }
+ drawcolorcodedstring(pos, str, hud_fontsize, sbt_fg_alpha, DRAWFLAG_NORMAL);
+ pos.x += str_width + hud_fontsize.x * 0.5;
+ ++i;
+ }
+}
+