From 2dcb6948fa9b1a6c60d0cb27bc186e1c5a03af7c Mon Sep 17 00:00:00 2001 From: MirceaKitsune Date: Fri, 15 Apr 2011 14:17:08 +0300 Subject: [PATCH] Fix CTS score display --- data/qcsrc/client/sbar.qc | 25 ++++++++++++------------- 1 file changed, 12 insertions(+), 13 deletions(-) diff --git a/data/qcsrc/client/sbar.qc b/data/qcsrc/client/sbar.qc index b7a7d20a..0996ca80 100644 --- a/data/qcsrc/client/sbar.qc +++ b/data/qcsrc/client/sbar.qc @@ -1649,7 +1649,7 @@ void Sbar_Score() { float score, distribution, leader; vector score_pos, secondary_score_pos, race_score_pos, distribution_color; - string racetime; + string racetime, secondary_racetime; entity tm, pl, me; me = (spectatee_status > 0) ? playerslots[spectatee_status - 1] : playerslots[player_localentnum - 1]; @@ -1675,7 +1675,7 @@ void Sbar_Score() score = me.(scores[ps_primary]); float racemin, racesec, racemsec; - float distsec, distmsec, minusplus; + float distsec, distmsec; string s_racemin, s_racesec, s_racemsec; racemin = floor(score/(60 * TIME_FACTOR)); @@ -1696,28 +1696,27 @@ void Sbar_Score() if (distribution < TIME_FACTOR && distribution > -TIME_FACTOR) distmsec = fabs(distribution); else { - distsec = floor(fabs(distribution)/TIME_FACTOR); - distmsec = fabs(distribution) - distsec*TIME_FACTOR; - if (distribution < 0) - distsec = -distsec; + distsec = floor(fabs(distribution) / TIME_FACTOR); + distmsec = fabs(distribution) - distsec * TIME_FACTOR; } - if (distribution <= 0) { + if (distribution < 0) { distribution_color = '0 1 0'; - minusplus = 1; // minusplus 1: always prefix with minus sign + secondary_racetime = "-"; // always prefix with minus sign } - else { + else if (distribution > 0) { distribution_color = '1 0 0'; - minusplus = 2; // minusplus 1: always prefix with plus sign + secondary_racetime = "+"; // minusplus 1: always prefix with plus sign } - Sbar_DrawXNum(score_pos + '222 -6 0' - '14 0 0' * TIME_DECIMALS, distmsec, -TIME_DECIMALS, 0, 14, distribution_color, sbar_alpha_fg, DRAWFLAG_NORMAL); - Sbar_DrawXNum(score_pos + '222 6 0' - '14 0 0' * TIME_DECIMALS, distsec, 4, minusplus, 14, distribution_color, sbar_alpha_fg, DRAWFLAG_NORMAL); + + secondary_racetime = strcat(secondary_racetime, ftos(distsec), ".", ftos(distmsec)); + drawstring(score_pos + '222 0 0' - '14 0 0', secondary_racetime, '14 14 0', distribution_color, sbar_alpha_fg, DRAWFLAG_NORMAL); } racetime = strcat(s_racemin, " : ", s_racesec, " . ", s_racemsec); race_score_pos = top + '0 0 0'; race_score_pos -= '1 0 0' * stringwidth(racetime, FALSE, '30 30 0') * 0.5; - drawstring(race_score_pos, racetime, '30 30 0', '1 1 1', sbar_alpha_fg, DRAWFLAG_ADDITIVE); + drawstring(race_score_pos, racetime, '30 30 0', '1 1 1', sbar_alpha_fg, DRAWFLAG_NORMAL); } else if (!teamplay) { // non-teamgames, except race/cts // me vector := [team/connected frags id] -- 2.39.2