+ // Layout:
+ //
+ // leading place
+ //
+ // FRAGS
+ //
+ // find leading score other than ourselves, to calculate distribution
+ // find our place in the scoreboard
+ score = cl.scores[me].frags;
+ for (i = 0, otherleader = -1, place = 1;i < cl.maxclients;i++)
+ {
+ if (cl.scores[i].name[0] && i != me)
+ {
+ if (otherleader == -1 || cl.scores[i].frags > cl.scores[otherleader].frags)
+ otherleader = i;
+ if (score < cl.scores[i].frags || (score == cl.scores[i].frags && i < me))
+ place++;
+ }
+ }
+ distribution = otherleader >= 0 ? score - cl.scores[otherleader].frags : 0;
+ if (place == 1)
+ Sbar_DrawXNum(-3*12-24, -12, place, 3, 12, 1, 1, 1, 1, 0);
+ else if (place == 2)
+ Sbar_DrawXNum(-3*12-24, -12, place, 3, 12, 1, 1, 0, 1, 0);
+ else
+ Sbar_DrawXNum(-3*12-24, -12, place, 3, 12, 1, 0, 0, 1, 0);
+ if (otherleader < 0)
+ Sbar_DrawXNum(-32*4-24, 0, score, 4, 32, 1, 1, 1, 1, 0);
+ if (distribution >= 0)
+ {
+ Sbar_DrawXNum(-7*12-24, -12, distribution, 4, 12, 1, 1, 1, 1, 0);
+ Sbar_DrawXNum(-32*4-24, 0, score, 4, 32, 1, 1, 1, 1, 0);
+ }
+ else if (distribution >= -5)
+ {
+ Sbar_DrawXNum(-7*12-24, -12, distribution, 4, 12, 1, 1, 0, 1, 0);
+ Sbar_DrawXNum(-32*4-24, 0, score, 4, 32, 1, 1, 0, 1, 0);
+ }
+ else
+ {
+ Sbar_DrawXNum(-7*12-24, -12, distribution, 4, 12, 1, 0, 0, 1, 0);
+ Sbar_DrawXNum(-32*4-24, 0, score, 4, 32, 1, 0, 0, 1, 0);
+ }