reaction/reaction/cgame/cg_scoreboard.c

1057 lines
38 KiB
C
Raw Normal View History

//-----------------------------------------------------------------------------
//
// $Id$
//
//-----------------------------------------------------------------------------
//
2001-12-31 16:28:42 +00:00
// $Log$
// Revision 1.24 2002/04/29 06:15:30 niceass
// ref shown as green. more mm stuff soon to come
//
2002-04-23 06:05:52 +00:00
// Revision 1.23 2002/04/23 06:05:52 niceass
// scoreboard stuff (btw, green is ugly)
//
// Revision 1.22 2002/04/18 16:13:23 jbravo
// Scoreboard now shows green for live players and white for dead.
// Time should not get reset on deaths any more.
//
2002-03-31 03:31:24 +00:00
// Revision 1.21 2002/03/31 03:31:24 jbravo
// Compiler warning cleanups
//
2002-03-31 02:01:32 +00:00
// Revision 1.20 2002/03/31 02:01:32 niceass
// fixes and changes
//
2002-03-30 23:20:10 +00:00
// Revision 1.19 2002/03/30 23:20:10 jbravo
// Added damage in scoreboard.
//
2002-03-30 02:54:24 +00:00
// Revision 1.18 2002/03/30 02:54:24 jbravo
// MOre spec tweaks and a scoreboard fix
//
2002-03-24 22:57:27 +00:00
// Revision 1.17 2002/03/24 22:57:27 niceass
// VERY big scoreboard changes
//
// Revision 1.14 2002/03/17 21:32:23 jbravo
// Fixed the dynamic teamnames system up a bit to reduce traffic
//
// Revision 1.13 2002/03/17 00:40:23 jbravo
// Adding variable team names. g_RQ3_team1name and g_RQ3_team2name. Fixed
// Slicers fraglimit check.
//
2002-03-10 23:27:26 +00:00
// Revision 1.12 2002/03/10 23:27:26 blaze
// fixed net for the wstats
//
2002-03-03 23:12:18 +00:00
// Revision 1.11 2002/03/03 23:12:18 blaze
// weapon stats - fixed a formating bug.
//
2002-03-03 21:46:26 +00:00
// Revision 1.10 2002/03/03 21:44:01 blaze
// weapon stats, done, beta test for bugs
//
// Revision 1.9 2002/03/02 01:16:30 blaze
// weapons stats- reordered where the mp5 was to make it more consistant with the weapon selection page
//
// Revision 1.8 2002/02/28 06:09:23 blaze
// weapons stats on server side - spelling fixed, and forgot ssg3000 and kicks
//
2002-02-28 05:41:54 +00:00
// Revision 1.7 2002/02/28 05:41:54 blaze
// weapons stats on client side
//
// Revision 1.6 2002/02/10 08:17:08 niceass
// many changes to scoreboard (deaths/second mode)
//
2002-02-04 00:23:05 +00:00
// Revision 1.5 2002/02/04 00:23:05 niceass
// New TP scoreboard
//
// Revision 1.4 2002/01/11 19:48:29 jbravo
// Formatted the source in non DOS format.
//
2001-12-31 16:28:42 +00:00
// Revision 1.3 2001/12/31 16:28:41 jbravo
// I made a Booboo with the Log tag.
//
//
//-----------------------------------------------------------------------------
2001-05-06 20:50:27 +00:00
// Copyright (C) 1999-2000 Id Software, Inc.
//
// cg_scoreboard -- draw the scoreboard on top of the game screen
#include "cg_local.h"
2002-03-31 03:31:24 +00:00
//static qboolean localClient; // true if local client has been displayed
2001-05-06 20:50:27 +00:00
2002-03-24 22:57:27 +00:00
#define SB_WIDTH 330
#define SB_FONTSIZEW 7
#define SB_FONTSIZEH 14
#define SB_PADDING 1
2001-05-06 20:50:27 +00:00
2002-03-24 22:57:27 +00:00
void DrawStrip(int y, int Height, qboolean Fill, qboolean Top, qboolean Bottom, float *FillC, float *BoarderC) {
2001-05-06 20:50:27 +00:00
2002-03-24 22:57:27 +00:00
if (Fill) {
CG_FillRect( (SCREEN_WIDTH - SB_WIDTH) / 2, y, SB_WIDTH, Height+SB_PADDING*2, FillC );
2001-05-06 20:50:27 +00:00
}
2002-03-24 22:57:27 +00:00
if (Top)
CG_DrawCleanLine( (SCREEN_WIDTH - SB_WIDTH) / 2, y, SB_WIDTH, 1, BoarderC );
2001-05-06 20:50:27 +00:00
2002-03-24 22:57:27 +00:00
if (Bottom)
CG_DrawCleanLine( (SCREEN_WIDTH - SB_WIDTH) / 2, y+Height+SB_PADDING*2, SB_WIDTH, 1, BoarderC );
2001-05-06 20:50:27 +00:00
2002-03-24 22:57:27 +00:00
CG_DrawCleanSides( (SCREEN_WIDTH - SB_WIDTH) / 2, y, SB_WIDTH, Height+SB_PADDING*2, 1, BoarderC );
2001-05-06 20:50:27 +00:00
2002-03-24 22:57:27 +00:00
}
2001-05-06 20:50:27 +00:00
2002-03-24 22:57:27 +00:00
void DrawLeftStripText(int y, int Height, char *Text, int maxChars, float *Color) {
CG_DrawStringExt(
(SCREEN_WIDTH - SB_WIDTH) / 2 + 2,
y + (Height+SB_PADDING*2-SB_FONTSIZEH) / 2,
Text,
Color,
qtrue, // Force color?
qfalse, // Shadow?
SB_FONTSIZEW, // charWidth
SB_FONTSIZEH, // charHeight
maxChars); // MaxChars
}
2001-05-06 20:50:27 +00:00
2002-03-24 22:57:27 +00:00
void DrawStripText(int y, int x, int Height, char *Text, int maxChars, float *Color) {
CG_DrawStringExt(
(SCREEN_WIDTH - SB_WIDTH) / 2 + x,
y + (Height+SB_PADDING*2-SB_FONTSIZEH) / 2,
Text,
Color,
qtrue, // Force color?
qfalse, // Shadow?
SB_FONTSIZEW, // charWidth
SB_FONTSIZEH, // charHeight
maxChars); // MaxChars
}
2001-05-06 20:50:27 +00:00
2002-03-24 22:57:27 +00:00
void DrawRightStripText(int y, int Height, char *Text, int maxChars, float *Color) {
int Len;
Len = CG_DrawStrlen( Text );
CG_DrawStringExt(
((SCREEN_WIDTH + SB_WIDTH) / 2) - (Len * SB_FONTSIZEW) - 2,
y + (Height+SB_PADDING*2-SB_FONTSIZEH) / 2,
Text,
Color,
qtrue, // Force color?
qfalse, // Shadow?
SB_FONTSIZEW, // charWidth
SB_FONTSIZEH, // charHeight
maxChars); // MaxChars
}
2001-05-06 20:50:27 +00:00
2002-03-24 22:57:27 +00:00
void DrawCenterStripText(int y, int Height, char *Text, int maxChars, float *Color) {
int Len;
Len = CG_DrawStrlen( Text );
CG_DrawStringExt(
(SCREEN_WIDTH - Len * SB_FONTSIZEW) / 2,
y + (Height+SB_PADDING*2-SB_FONTSIZEH) / 2,
Text,
Color,
qtrue, // Force color?
qfalse, // Shadow?
SB_FONTSIZEW, // charWidth
SB_FONTSIZEH, // charHeight
maxChars); // MaxChars
2001-05-06 20:50:27 +00:00
}
2002-03-24 22:57:27 +00:00
static void CG_DrawTeamplayClientScore( int y, score_t *score, float *Fill, float *Boarder, float *Color ) {
char Tmp[128];
2002-02-04 00:23:05 +00:00
clientInfo_t *ci;
2002-04-23 06:05:52 +00:00
float FillColor[4], TextColor[4];
int l;
2002-02-04 00:23:05 +00:00
if ( score->client < 0 || score->client >= cgs.maxclients ) {
Com_Printf( "Bad score->client: %i\n", score->client );
return;
}
2002-03-24 22:57:27 +00:00
ci = &cgs.clientinfo[score->client];
2002-02-04 00:23:05 +00:00
2002-04-23 06:05:52 +00:00
for (l = 0; l < 4; l++) {
FillColor[l] = Fill[l];
TextColor[l] = Color[l];
}
2002-03-31 02:01:32 +00:00
2002-04-23 06:05:52 +00:00
if (score->client == cg.clientNum) FillColor[3] += 0.2f;
2002-03-31 02:01:32 +00:00
if (FillColor[3] > 1) FillColor[3] = 1;
2002-04-23 06:05:52 +00:00
// Dead?
if ( !score->alive ) {
TextColor[0] *= 0.6f;
TextColor[1] *= 0.6f;
TextColor[2] *= 0.6f;
}
2002-03-24 22:57:27 +00:00
2002-03-31 02:01:32 +00:00
DrawStrip(y, SB_FONTSIZEH, qtrue, qfalse, qfalse, FillColor, Boarder);
2002-02-04 00:23:05 +00:00
//cg_RQ3_matchmode
//cg_RQ3_RefID
//cg_RQ3_team1ready
//cg_RQ3_team2ready
//ent->client->pers.sub
if (cg_RQ3_matchmode.integer) {
if (score->client == cg_RQ3_RefID.integer) {
MAKERGBA(TextColor, 0, 1, 0, 1);
}
}
2002-04-23 06:05:52 +00:00
Com_sprintf(Tmp, 128, "%5i %s", score->score, ci->name);
DrawLeftStripText(y, SB_FONTSIZEH, Tmp, 27, TextColor);
Com_sprintf(Tmp, 128, "%4i %4i %6i", score->time, score->ping, score->damage);
DrawRightStripText(y, SB_FONTSIZEH, Tmp, 100, TextColor);
2002-02-04 00:23:05 +00:00
}
/*
=================
2002-03-24 22:57:27 +00:00
CG_TeamScoreboard
- By NiceAss
2002-02-04 00:23:05 +00:00
=================
*/
2002-03-24 22:57:27 +00:00
static int CG_TeamplayScoreboard(void)
2002-02-04 00:23:05 +00:00
{
clientInfo_t *ci;
2002-03-24 22:57:27 +00:00
int i;
int Reds, Blues, Spectators, Refs;
float Alpha;
score_t *Score;
2002-02-04 00:23:05 +00:00
int y;
2002-03-24 22:57:27 +00:00
int Alternate, First;
char teamname[128];
int Ping, Frags, Damage; // Averages
char Tmp[128];
vec4_t White, Black, RedL, BlueL, GreyL, BlackL;
vec4_t RedD, BlueD, GreyD, Green;
2002-02-04 00:23:05 +00:00
if (cg.time > cg.scoreStartTime+300) {
2002-03-24 22:57:27 +00:00
Alpha = cos((cg.time-cg.scoreStartTime) / 400.0f) * 0.15f + 0.85f;
2002-02-04 00:23:05 +00:00
}
else {
2002-03-24 22:57:27 +00:00
// Fade in
2002-02-04 00:23:05 +00:00
Alpha = (float)(cg.time-cg.scoreStartTime)/(float)300;
if (Alpha > 1.0f) Alpha = 1.0f;
}
2002-04-23 06:05:52 +00:00
// NiceAss: I added this so it will update while open. It normally only would update when first opened.
if ( cg.scoresRequestTime + 2000 < cg.time ) {
cg.scoresRequestTime = cg.time;
trap_SendClientCommand( "score" );
}
2002-03-24 22:57:27 +00:00
MAKERGBA(White, 1.0f, 1.0f, 1.0f, 1.0f);
MAKERGBA(Black, 0.0f, 0.0f, 0.0f, 1.0f);
MAKERGBA(Green, 0.0f, 1.0f, 0.0f, 1.0f);
2002-03-24 22:57:27 +00:00
MAKERGBA(BlackL, 0.0f, 0.0f, 0.0f, 0.8f * Alpha);
MAKERGBA(RedD, 0.8f, 0.0f,0.0f, 0.8f * Alpha);
MAKERGBA(BlueD, 0.0f, 0.0f, 0.8f, 0.8f * Alpha);
MAKERGBA(GreyD, 0.3f, 0.3f, 0.3f, 0.84f * Alpha);
MAKERGBA(RedL, 0.8f, 0.0f,0.0f, 0.4f * Alpha);
MAKERGBA(BlueL, 0.0f, 0.0f, 0.8f, 0.4f * Alpha);
MAKERGBA(GreyL, 0.3f, 0.3f, 0.3f, 0.4f * Alpha);
Reds = Blues = Spectators = Refs = 0;
for ( i = 0 ; i < cg.numScores ; i++ ) {
Score = &cg.scores[i];
ci = &cgs.clientinfo[ Score->client ];
if (ci->team == TEAM_RED) Reds++;
if (ci->team == TEAM_BLUE) Blues++;
if (ci->team == TEAM_SPECTATOR) Spectators++;
}
y = 20; // Starting height.
if (cg.scoreTPMode == 1 || cgs.gametype < GT_TEAM) {
DrawStrip(y, SB_FONTSIZEH, qtrue, qtrue, qtrue, BlackL, White);
2002-04-23 06:05:52 +00:00
DrawLeftStripText(y, SB_FONTSIZEH, "Frags Name", 100, White);
DrawRightStripText(y, SB_FONTSIZEH, "Time Ping Damage", 100, White);
2002-03-24 22:57:27 +00:00
y += SB_FONTSIZEH+SB_PADDING*2+2;
First = 0;
for ( i = 0 ; i < cg.numScores; i++ ) {
Score = &cg.scores[i];
ci = &cgs.clientinfo[ Score->client ];
CG_DrawTeamplayClientScore(y, Score, GreyL, White, White);
if (First == 0) DrawStrip(y, SB_FONTSIZEH, qfalse, qtrue, qfalse, GreyL, White);
y += SB_FONTSIZEH+SB_PADDING*2;
First = 1;
}
DrawStrip(y - (SB_FONTSIZEH+SB_PADDING*2), SB_FONTSIZEH, qfalse, qfalse, qtrue, GreyL, White);
2002-02-04 00:23:05 +00:00
2002-03-24 22:57:27 +00:00
return Reds+Blues+ceil(Spectators/2)+Refs;
}
2002-03-24 22:57:27 +00:00
// *************** RED TEAM ***************
2002-04-23 06:05:52 +00:00
//trap_Cvar_VariableStringBuffer("g_RQ3_team1model", Tmp, sizeof(Tmp));
//CG_Printf("Red: %s\n", Tmp);
2002-03-24 22:57:27 +00:00
DrawStrip(y, SB_FONTSIZEH, qtrue, qtrue, qtrue, RedD, Black);
trap_Cvar_VariableStringBuffer("g_RQ3_team1name", teamname, sizeof(teamname));
DrawStripText(y, 50, SB_FONTSIZEH, teamname, 100, Black);
DrawRightStripText(y, SB_FONTSIZEH, va("Wins: %d", cg.teamScores[0]), 100, White);
y += SB_FONTSIZEH+SB_PADDING*2+2;
2002-02-04 00:23:05 +00:00
2002-03-24 22:57:27 +00:00
DrawStrip(y, SB_FONTSIZEH, qtrue, qtrue, qtrue, GreyL, Black);
2002-04-23 06:05:52 +00:00
DrawLeftStripText(y, SB_FONTSIZEH, "Frags Name", 100, White);
DrawRightStripText(y, SB_FONTSIZEH, "Time Ping Damage", 100, White);
2002-03-24 22:57:27 +00:00
y += SB_FONTSIZEH+SB_PADDING*2+2;
2002-02-04 00:23:05 +00:00
2002-03-24 22:57:27 +00:00
Ping = Frags = Damage = 0;
if (Reds) {
First = 0;
2002-03-24 22:57:27 +00:00
for ( i = 0 ; i < cg.numScores; i++ ) {
Score = &cg.scores[i];
ci = &cgs.clientinfo[ Score->client ];
2002-02-04 00:23:05 +00:00
2002-03-24 22:57:27 +00:00
if (ci->team == TEAM_RED) {
2002-04-23 06:05:52 +00:00
CG_DrawTeamplayClientScore(y, Score, RedL, Black, White);
2002-03-24 22:57:27 +00:00
if (First == 0) DrawStrip(y, SB_FONTSIZEH, qfalse, qtrue, qfalse, RedL, Black);
y += SB_FONTSIZEH+SB_PADDING*2;
Ping += Score->ping;
Frags += Score->score;
2002-03-31 02:01:32 +00:00
Damage += Score->damage;
2002-03-24 22:57:27 +00:00
First = 1;
2002-02-04 00:23:05 +00:00
2002-03-24 22:57:27 +00:00
}
2002-02-04 00:23:05 +00:00
}
2002-03-24 22:57:27 +00:00
DrawStrip(y - (SB_FONTSIZEH+SB_PADDING*2), SB_FONTSIZEH, qfalse, qfalse, qtrue, RedL, Black);
2002-03-31 02:01:32 +00:00
y += 2;
2002-04-23 06:05:52 +00:00
Com_sprintf(Tmp, 128, "%5d", Frags);
2002-03-30 02:54:24 +00:00
DrawStrip(y, SB_FONTSIZEH, qtrue, qtrue, qtrue, GreyL, Black);
2002-04-23 06:05:52 +00:00
DrawLeftStripText(y, SB_FONTSIZEH, Tmp, 100, White);
Com_sprintf(Tmp, 128, "%4d %6d", (int)((float)Ping / (float)Reds), Damage);
2002-03-30 02:54:24 +00:00
DrawRightStripText(y, SB_FONTSIZEH, Tmp, 100, White);
DrawCenterStripText(y, SB_FONTSIZEH, "Averages", 20, White);
2002-03-30 02:54:24 +00:00
}
2002-03-31 02:01:32 +00:00
else {
DrawStrip(y, SB_FONTSIZEH, qtrue, qtrue, qtrue, RedL, Black);
DrawCenterStripText(y, SB_FONTSIZEH, "No team members", 100, White);
}
2002-03-24 22:57:27 +00:00
// *************** BLUE TEAM ************
2002-03-31 02:01:32 +00:00
y += SB_FONTSIZEH*2;
2002-03-24 22:57:27 +00:00
DrawStrip(y, SB_FONTSIZEH, qtrue, qtrue, qtrue, BlueD, Black);
trap_Cvar_VariableStringBuffer("g_RQ3_team2name", teamname, sizeof(teamname));
DrawStripText(y, 50, SB_FONTSIZEH, teamname, 100, Black);
DrawRightStripText(y, SB_FONTSIZEH, va("Wins: %d", cg.teamScores[1]), 100, White);
y += SB_FONTSIZEH+SB_PADDING*2+2;
DrawStrip(y, SB_FONTSIZEH, qtrue, qtrue, qtrue, GreyL, Black);
2002-04-23 06:05:52 +00:00
DrawLeftStripText(y, SB_FONTSIZEH, "Frags Name", 100, White);
DrawRightStripText(y, SB_FONTSIZEH, "Time Ping Damage", 100, White);
2002-03-24 22:57:27 +00:00
y += SB_FONTSIZEH+SB_PADDING*2+2;
Ping = Frags = Damage = 0;
if (Blues) {
First = 0;
for ( i = 0 ; i < cg.numScores; i++ ) {
Score = &cg.scores[i];
ci = &cgs.clientinfo[ Score->client ];
if (ci->team == TEAM_BLUE) {
2002-04-23 06:05:52 +00:00
CG_DrawTeamplayClientScore(y, Score, BlueL, Black, White);
2002-03-24 22:57:27 +00:00
if (First == 0) DrawStrip(y, SB_FONTSIZEH, qfalse, qtrue, qfalse, BlueL, Black);
y += SB_FONTSIZEH+SB_PADDING*2;
Ping += Score->ping;
Frags += Score->score;
2002-03-31 02:01:32 +00:00
Damage += Score->damage;
2002-03-24 22:57:27 +00:00
First = 1;
}
2002-02-04 00:23:05 +00:00
}
2002-03-24 22:57:27 +00:00
DrawStrip(y - (SB_FONTSIZEH+SB_PADDING*2), SB_FONTSIZEH, qfalse, qfalse, qtrue, BlueL, Black);
2002-03-31 02:01:32 +00:00
y += 2;
2002-04-23 06:05:52 +00:00
Com_sprintf(Tmp, 128, "%5d", Frags);
DrawStrip(y, SB_FONTSIZEH, qtrue, qtrue, qtrue, GreyL, Black);
DrawLeftStripText(y, SB_FONTSIZEH, Tmp, 100, White);
Com_sprintf(Tmp, 128, "%4d %6d", (int)((float)Ping / (float)Blues), Damage);
DrawRightStripText(y, SB_FONTSIZEH, Tmp, 100, White);
DrawCenterStripText(y, SB_FONTSIZEH, "Averages", 20, White);
2002-03-30 02:54:24 +00:00
}
2002-03-31 02:01:32 +00:00
else {
DrawStrip(y, SB_FONTSIZEH, qtrue, qtrue, qtrue, BlueL, Black);
DrawCenterStripText(y, SB_FONTSIZEH, "No team members", 100, White);
}
2002-03-24 22:57:27 +00:00
// *************** SPECTATORS ************
if (Spectators) {
Alternate = 1;
First = 0;
2002-03-31 02:01:32 +00:00
y += SB_FONTSIZEH*2;
2002-03-24 22:57:27 +00:00
DrawStrip(y, SB_FONTSIZEH, qtrue, qtrue, qtrue, GreyD, Black);
DrawLeftStripText(y, SB_FONTSIZEH, "Spectators", 100, Black);
y += SB_FONTSIZEH+SB_PADDING*2+2;
for ( i = 0 ; i < cg.numScores; i++ ) {
Score = &cg.scores[i];
ci = &cgs.clientinfo[ Score->client ];
if (ci->team == TEAM_SPECTATOR) {
DrawStrip(y, SB_FONTSIZEH, qtrue, qfalse, qfalse, GreyL, Black);
if (First == 0) DrawStrip(y, SB_FONTSIZEH, qfalse, qtrue, qfalse, GreyL, Black);
if (Alternate == 1) {
if (cg_RQ3_matchmode.integer && Score->client == cg_RQ3_RefID.integer)
DrawLeftStripText(y, SB_FONTSIZEH, ci->name, 20, Green);
else
DrawLeftStripText(y, SB_FONTSIZEH, ci->name, 20, White);
2002-03-24 22:57:27 +00:00
}
else {
DrawRightStripText(y, SB_FONTSIZEH, ci->name, 20, White);
y += SB_FONTSIZEH+SB_PADDING*2;
}
Alternate = -Alternate;
First = 1;
}
2002-02-04 00:23:05 +00:00
}
2002-03-24 22:57:27 +00:00
if (Alternate == 1)
DrawStrip(y - (SB_FONTSIZEH+SB_PADDING*2), SB_FONTSIZEH, qfalse, qfalse, qtrue, GreyL, Black);
else
DrawStrip(y, SB_FONTSIZEH, qfalse, qfalse, qtrue, GreyL, Black);
2002-02-04 00:23:05 +00:00
}
2002-03-24 22:57:27 +00:00
return Reds+Blues+ceil(Spectators/2)+Refs;
2002-02-04 00:23:05 +00:00
}
2001-05-06 20:50:27 +00:00
/*
=================
CG_DrawScoreboard
Draw the normal in-game scoreboard
=================
*/
qboolean CG_DrawOldScoreboard( void ) {
// don't draw amuthing if the menu or console is up
if ( cg_paused.integer ) {
cg.deferredPlayerLoading = 0;
return qfalse;
}
if ( cgs.gametype == GT_SINGLE_PLAYER && cg.predictedPlayerState.pm_type == PM_INTERMISSION ) {
cg.deferredPlayerLoading = 0;
return qfalse;
}
2002-03-24 22:57:27 +00:00
if (!cg.showScores) return qfalse;
2001-05-06 20:50:27 +00:00
// don't draw scoreboard during death while warmup up
2002-03-24 22:57:27 +00:00
if ( cg.warmup ) {
2001-05-06 20:50:27 +00:00
return qfalse;
}
2002-03-24 22:57:27 +00:00
CG_TeamplayScoreboard();
2001-05-06 20:50:27 +00:00
// load any models that have been deferred
if ( ++cg.deferredPlayerLoading > 10 ) {
CG_LoadDeferredPlayers();
}
return qtrue;
}
//================================================================================
/*
================
CG_CenterGiantLine
================
*/
2002-03-24 22:57:27 +00:00
2001-05-06 20:50:27 +00:00
static void CG_CenterGiantLine( float y, const char *string ) {
float x;
vec4_t color;
color[0] = 1;
color[1] = 1;
color[2] = 1;
color[3] = 1;
x = 0.5 * ( 640 - GIANT_WIDTH * CG_DrawStrlen( string ) );
CG_DrawStringExt( x, y, string, color, qtrue, qtrue, GIANT_WIDTH, GIANT_HEIGHT, 0 );
}
/*
=================
CG_DrawTourneyScoreboard
Draw the oversize scoreboard for tournements
=================
*/
2002-03-24 22:57:27 +00:00
2001-05-06 20:50:27 +00:00
void CG_DrawOldTourneyScoreboard( void ) {
const char *s;
vec4_t color;
int min, tens, ones;
clientInfo_t *ci;
int y;
int i;
// request more scores regularly
if ( cg.scoresRequestTime + 2000 < cg.time ) {
cg.scoresRequestTime = cg.time;
trap_SendClientCommand( "score" );
}
color[0] = 1;
color[1] = 1;
color[2] = 1;
color[3] = 1;
// draw the dialog background
color[0] = color[1] = color[2] = 0;
color[3] = 1;
CG_FillRect( 0, 0, SCREEN_WIDTH, SCREEN_HEIGHT, color );
// print the mesage of the day
s = CG_ConfigString( CS_MOTD );
if ( !s[0] ) {
s = "Scoreboard";
}
// print optional title
CG_CenterGiantLine( 8, s );
// print server time
ones = cg.time / 1000;
min = ones / 60;
ones %= 60;
tens = ones / 10;
ones %= 10;
s = va("%i:%i%i", min, tens, ones );
CG_CenterGiantLine( 64, s );
// print the two scores
y = 160;
if ( cgs.gametype >= GT_TEAM ) {
//
// teamplay scoreboard
//
CG_DrawStringExt( 8, y, "Red Team", color, qtrue, qtrue, GIANT_WIDTH, GIANT_HEIGHT, 0 );
s = va("%i", cg.teamScores[0] );
CG_DrawStringExt( 632 - GIANT_WIDTH * strlen(s), y, s, color, qtrue, qtrue, GIANT_WIDTH, GIANT_HEIGHT, 0 );
y += 64;
CG_DrawStringExt( 8, y, "Blue Team", color, qtrue, qtrue, GIANT_WIDTH, GIANT_HEIGHT, 0 );
s = va("%i", cg.teamScores[1] );
CG_DrawStringExt( 632 - GIANT_WIDTH * strlen(s), y, s, color, qtrue, qtrue, GIANT_WIDTH, GIANT_HEIGHT, 0 );
} else {
//
// free for all scoreboard
//
for ( i = 0 ; i < MAX_CLIENTS ; i++ ) {
ci = &cgs.clientinfo[i];
if ( !ci->infoValid ) {
continue;
}
if ( ci->team != TEAM_FREE ) {
continue;
}
CG_DrawStringExt( 8, y, ci->name, color, qtrue, qtrue, GIANT_WIDTH, GIANT_HEIGHT, 0 );
s = va("%i", ci->score );
CG_DrawStringExt( 632 - GIANT_WIDTH * strlen(s), y, s, color, qtrue, qtrue, GIANT_WIDTH, GIANT_HEIGHT, 0 );
y += 64;
}
}
}
2002-02-28 05:41:54 +00:00
//Blaze: Added the weapons stats "scoreboard" to this file because it's a scoreboard in a way.
/*
==============================
CG_DrawWeaponStats
Draws the stats of the player
==============================
*/
#define WS_LEFTSIDE 20
2002-03-03 21:46:26 +00:00
#define WS_TOP 200
2002-02-28 05:41:54 +00:00
#define WS_WIDTH 640 - WS_LEFTSIDE * 10
#define WS_LINE_WIDTH 1
#define WS_PADDING (WS_LINE_WIDTH+2)
void CG_DrawWeaponStats(void)
{
2002-03-24 22:57:27 +00:00
int i, offset;
2002-02-28 05:41:54 +00:00
float color[4], Alpha, Alpha2;
2002-03-24 22:57:27 +00:00
int size;
2002-02-28 05:41:54 +00:00
char String[80];
if (cg.time > cg.wstatsStartTime+300) {
Alpha = (cos((cg.time-cg.wstatsStartTime) / 400.0f) + 1.0f) * 0.25f + 0.5f;
Alpha2 = (cos((cg.time-cg.wstatsStartTime) / 400.0f) + 1.0f) * 0.5f;
}
else {
Alpha = (float)(cg.time-cg.wstatsStartTime)/(float)300;
if (Alpha > 1.0f) Alpha = 1.0f;
}
//make room for 8 weapon stats
2002-03-24 22:57:27 +00:00
size = (10*20)+WS_PADDING;
2002-03-03 21:46:26 +00:00
2002-02-28 05:41:54 +00:00
// Score bar - Red:
MAKERGBA(color, 1.0f, 0.5f, 0.5f, 0.7f * Alpha);
CG_FillRect(WS_LEFTSIDE, WS_TOP,
WS_WIDTH, SMALLCHAR_HEIGHT+(WS_PADDING*2), color);
//Box for scores, etc
MAKERGBA(color, 0.55f, 0.55f, 0.55f, 0.7f * Alpha);
2002-03-24 22:57:27 +00:00
CG_FillRect(WS_LEFTSIDE, WS_TOP+SMALLCHAR_HEIGHT+(WS_PADDING*2),
2002-02-28 05:41:54 +00:00
WS_WIDTH, SMALLCHAR_HEIGHT+(WS_PADDING*2), color);
//Box for weapon stuff
MAKERGBA(color, 0.6f, 0.5f, 0.5f, 0.5f * Alpha);
CG_FillRect(WS_LEFTSIDE, WS_TOP + (SMALLCHAR_HEIGHT+(WS_PADDING*2))*2,
WS_WIDTH, size, color);
//box for weapon stuff
MAKERGBA(color, 1.0f, 1.0f, 1.0f, 0.8f);
2002-03-03 21:46:26 +00:00
CG_DrawCleanRect( WS_LEFTSIDE, WS_TOP,
2002-02-28 05:41:54 +00:00
WS_WIDTH, (SMALLCHAR_HEIGHT+WS_PADDING*2)*2+size, WS_LINE_WIDTH, color );
//box for score stuff
CG_DrawCleanRect( WS_LEFTSIDE, WS_TOP + SMALLCHAR_HEIGHT+(WS_PADDING*2),
WS_WIDTH, (SMALLCHAR_HEIGHT+WS_PADDING*2), WS_LINE_WIDTH, color );
//Red box for Weapon stats
MAKERGBA(color, 1.0f, 0.5f, 0.5f, 0.7f * Alpha);
CG_FillRect(WS_LEFTSIDE, WS_TOP+(SMALLCHAR_HEIGHT + (WS_PADDING*2))*2,
WS_WIDTH, SMALLCHAR_HEIGHT, color);
//White box for the weapon names, etc
MAKERGBA(color, 1.0f, 1.0f, 1.0f, 0.8f);
CG_DrawCleanRect( WS_LEFTSIDE, WS_TOP -1 + (SMALLCHAR_HEIGHT + (WS_PADDING*2))*2,
WS_WIDTH, SMALLCHAR_HEIGHT+1, WS_LINE_WIDTH, color );
//Fill in the top bar
offset = 7;
2002-03-03 21:46:26 +00:00
MAKERGBA(color, 1.0f, 1.0f, 1.0f, 1.0f);
2002-03-24 22:57:27 +00:00
CG_DrawSmallStringColor(WS_LEFTSIDE + 6, WS_TOP + WS_PADDING,
2002-02-28 05:41:54 +00:00
"Score", color);
2002-03-03 21:46:26 +00:00
MAKERGBA(color, 1.0f, 1.0f, 1.0f, 1.0f);
2002-03-24 22:57:27 +00:00
CG_DrawSmallStringColor(WS_LEFTSIDE + 6 + SMALLCHAR_WIDTH * 7, WS_TOP + WS_PADDING,
2002-02-28 05:41:54 +00:00
"Net", color);
2002-03-03 21:46:26 +00:00
MAKERGBA(color, 1.0f, 1.0f, 1.0f, 1.0f);
2002-03-24 22:57:27 +00:00
CG_DrawSmallStringColor(WS_LEFTSIDE + 6 + SMALLCHAR_WIDTH * 7 * 2, WS_TOP + WS_PADDING,
2002-03-03 21:46:26 +00:00
"K/D/S", color);
2002-02-28 05:41:54 +00:00
2002-03-03 21:46:26 +00:00
MAKERGBA(color, 1.0f, 1.0f, 1.0f, 1.0f);
2002-03-24 22:57:27 +00:00
CG_DrawSmallStringColor(WS_LEFTSIDE + 6 + SMALLCHAR_WIDTH * 7 * 3, WS_TOP + WS_PADDING,
2002-02-28 05:41:54 +00:00
"TK's", color);
2002-03-03 21:46:26 +00:00
// MAKERGBA(color, 1.0f, 1.0f, 1.0f, 1.0f);
2002-03-24 22:57:27 +00:00
// CG_DrawSmallStringColor(WS_LEFTSIDE + 6 + SMALLCHAR_WIDTH * 7 * 4, WS_TOP + WS_PADDING,
2002-03-03 21:46:26 +00:00
// "Efficiency", color);
2002-03-03 21:46:26 +00:00
Com_sprintf(String, sizeof(String), "%4i",cg.snap->ps.persistant[PERS_SCORE]);
2002-02-28 05:41:54 +00:00
MAKERGBA(color, 1.0f, 1.0f, 1.0f, 1.0f);
2002-03-24 22:57:27 +00:00
CG_DrawSmallStringColor(WS_LEFTSIDE + 6 + SMALLCHAR_WIDTH, WS_TOP + WS_PADDING * 3 + SMALLCHAR_HEIGHT,
2002-02-28 05:41:54 +00:00
String, color);
2002-03-03 21:46:26 +00:00
2002-03-10 23:27:26 +00:00
Com_sprintf(String, sizeof(String), "%3i",cg.snap->ps.persistant[PERS_SCORE] - cg.snap->ps.persistant[PERS_KILLED]);
2002-03-03 21:46:26 +00:00
MAKERGBA(color, 1.0f, 1.0f, 1.0f, 1.0f);
2002-03-24 22:57:27 +00:00
CG_DrawSmallStringColor(WS_LEFTSIDE + 6 + SMALLCHAR_WIDTH * 7 - 1, WS_TOP + WS_PADDING * 3 + SMALLCHAR_HEIGHT,
2002-03-03 21:46:26 +00:00
String, color);
Com_sprintf(String, sizeof(String), "%i/%i/%i",cg.records[REC_KILLS],cg.snap->ps.persistant[PERS_KILLED],cg.records[REC_SUICIDES]);
MAKERGBA(color, 1.0f, 1.0f, 1.0f, 1.0f);
2002-03-24 22:57:27 +00:00
CG_DrawSmallStringColor(WS_LEFTSIDE + 6 + SMALLCHAR_WIDTH * 7 * 2, WS_TOP + WS_PADDING * 3 + SMALLCHAR_HEIGHT,
2002-03-03 21:46:26 +00:00
String, color);
Com_sprintf(String, sizeof(String), "%4i",cg.records[REC_TEAMKILLS]);
MAKERGBA(color, 1.0f, 1.0f, 1.0f, 1.0f);
2002-03-24 22:57:27 +00:00
CG_DrawSmallStringColor(WS_LEFTSIDE + 6 + SMALLCHAR_WIDTH * 7 * 3, WS_TOP + WS_PADDING * 3 + SMALLCHAR_HEIGHT,
2002-03-03 21:46:26 +00:00
String, color);
2002-02-28 05:41:54 +00:00
i=2;
MAKERGBA(color, 1.0f, 1.0f, 1.0f, 1.0f);
2002-03-24 22:57:27 +00:00
CG_DrawSmallStringColor(WS_LEFTSIDE + 6 + SMALLCHAR_WIDTH, WS_TOP + WS_PADDING * 4 + SMALLCHAR_HEIGHT * i++,
2002-02-28 05:41:54 +00:00
"Weapon Stats", color);
MAKERGBA(color, 1.0f, 1.0f, 1.0f, 1.0f);
2002-03-24 22:57:27 +00:00
CG_DrawSmallStringColor(WS_LEFTSIDE + 6 + SMALLCHAR_WIDTH, WS_TOP + WS_PADDING * 4 + SMALLCHAR_HEIGHT * i++,
2002-02-28 05:41:54 +00:00
"Knife(slash)", color);
MAKERGBA(color, 1.0f, 1.0f, 1.0f, 1.0f);
2002-03-24 22:57:27 +00:00
CG_DrawSmallStringColor(WS_LEFTSIDE + 6 + SMALLCHAR_WIDTH, WS_TOP + WS_PADDING * 4 + SMALLCHAR_HEIGHT * i++,
2002-02-28 05:41:54 +00:00
"Knife(throw)", color);
MAKERGBA(color, 1.0f, 1.0f, 1.0f, 1.0f);
2002-03-24 22:57:27 +00:00
CG_DrawSmallStringColor(WS_LEFTSIDE + 6 + SMALLCHAR_WIDTH, WS_TOP + WS_PADDING * 4 + SMALLCHAR_HEIGHT * i++,
2002-02-28 05:41:54 +00:00
"MK23", color);
MAKERGBA(color, 1.0f, 1.0f, 1.0f, 1.0f);
2002-03-24 22:57:27 +00:00
CG_DrawSmallStringColor(WS_LEFTSIDE + 6 + SMALLCHAR_WIDTH, WS_TOP + WS_PADDING * 4 + SMALLCHAR_HEIGHT * i++,
"MP5", color);
2002-02-28 05:41:54 +00:00
MAKERGBA(color, 1.0f, 1.0f, 1.0f, 1.0f);
2002-03-24 22:57:27 +00:00
CG_DrawSmallStringColor(WS_LEFTSIDE + 6 + SMALLCHAR_WIDTH, WS_TOP + WS_PADDING * 4 + SMALLCHAR_HEIGHT * i++,
"M3", color);
2002-02-28 05:41:54 +00:00
MAKERGBA(color, 1.0f, 1.0f, 1.0f, 1.0f);
2002-03-24 22:57:27 +00:00
CG_DrawSmallStringColor(WS_LEFTSIDE + 6 + SMALLCHAR_WIDTH, WS_TOP + WS_PADDING * 4 + SMALLCHAR_HEIGHT * i++,
2002-02-28 05:41:54 +00:00
"M4", color);
MAKERGBA(color, 1.0f, 1.0f, 1.0f, 1.0f);
2002-03-24 22:57:27 +00:00
CG_DrawSmallStringColor(WS_LEFTSIDE + 6 + SMALLCHAR_WIDTH, WS_TOP + WS_PADDING * 4 + SMALLCHAR_HEIGHT * i++,
2002-02-28 05:41:54 +00:00
"HC", color);
MAKERGBA(color, 1.0f, 1.0f, 1.0f, 1.0f);
2002-03-24 22:57:27 +00:00
CG_DrawSmallStringColor(WS_LEFTSIDE + 6 + SMALLCHAR_WIDTH, WS_TOP + WS_PADDING * 4 + SMALLCHAR_HEIGHT * i++,
"SSG3000", color);
2002-02-28 05:41:54 +00:00
MAKERGBA(color, 1.0f, 1.0f, 1.0f, 1.0f);
2002-03-24 22:57:27 +00:00
CG_DrawSmallStringColor(WS_LEFTSIDE + 6 + SMALLCHAR_WIDTH, WS_TOP + WS_PADDING * 4 + SMALLCHAR_HEIGHT * i++,
2002-02-28 05:41:54 +00:00
"Akimbo", color);
MAKERGBA(color, 1.0f, 1.0f, 1.0f, 1.0f);
2002-03-24 22:57:27 +00:00
CG_DrawSmallStringColor(WS_LEFTSIDE + 6 + SMALLCHAR_WIDTH, WS_TOP + WS_PADDING * 4 + SMALLCHAR_HEIGHT * i++,
2002-02-28 05:41:54 +00:00
"Grenade", color);
MAKERGBA(color, 1.0f, 1.0f, 1.0f, 1.0f);
2002-03-24 22:57:27 +00:00
CG_DrawSmallStringColor(WS_LEFTSIDE + 6 + SMALLCHAR_WIDTH, WS_TOP + WS_PADDING * 4 + SMALLCHAR_HEIGHT * i++,
"Kicks", color);
2002-02-28 05:41:54 +00:00
//Accuracy
i=2;
offset=15;
MAKERGBA(color, 1.0f, 1.0f, 1.0f, 1.0f);
2002-03-24 22:57:27 +00:00
CG_DrawSmallStringColor(WS_LEFTSIDE + 6 + SMALLCHAR_WIDTH * offset, WS_TOP + WS_PADDING * 4 + SMALLCHAR_HEIGHT * i++,
2002-02-28 05:41:54 +00:00
"Accuracy", color);
Com_sprintf(String, sizeof(String), "%.1f%%",100 * (float)cg.records[REC_KNIFESLASHHITS]/(cg.records[REC_KNIFESLASHSHOTS] ? cg.records[REC_KNIFESLASHSHOTS] : 1));
MAKERGBA(color, 1.0f, 1.0f, 1.0f, 1.0f);
2002-03-24 22:57:27 +00:00
CG_DrawSmallStringColor(WS_LEFTSIDE + 6 + SMALLCHAR_WIDTH * offset, WS_TOP + WS_PADDING * 4 + SMALLCHAR_HEIGHT * i++,
2002-02-28 05:41:54 +00:00
String, color);
Com_sprintf(String, sizeof(String), "%.1f%%",100 * (float)cg.records[REC_KNIFETHROWHITS]/(cg.records[REC_KNIFETHROWSHOTS] ? cg.records[REC_KNIFETHROWSHOTS] : 1));
MAKERGBA(color, 1.0f, 1.0f, 1.0f, 1.0f);
2002-03-24 22:57:27 +00:00
CG_DrawSmallStringColor(WS_LEFTSIDE + 6 + SMALLCHAR_WIDTH * offset, WS_TOP + WS_PADDING * 4 + SMALLCHAR_HEIGHT * i++,
2002-02-28 05:41:54 +00:00
String, color);
Com_sprintf(String, sizeof(String), "%.1f%%",100 * (float)cg.records[REC_MK23HITS]/(cg.records[REC_MK23SHOTS] ? cg.records[REC_MK23SHOTS] : 1));
MAKERGBA(color, 1.0f, 1.0f, 1.0f, 1.0f);
2002-03-24 22:57:27 +00:00
CG_DrawSmallStringColor(WS_LEFTSIDE + 6 + SMALLCHAR_WIDTH * offset, WS_TOP + WS_PADDING * 4 + SMALLCHAR_HEIGHT * i++,
2002-02-28 05:41:54 +00:00
String, color);
Com_sprintf(String, sizeof(String), "%.1f%%",100 * (float)cg.records[REC_MP5HITS]/(cg.records[REC_MP5SHOTS] ? cg.records[REC_MP5SHOTS] : 1));
2002-02-28 05:41:54 +00:00
MAKERGBA(color, 1.0f, 1.0f, 1.0f, 1.0f);
2002-03-24 22:57:27 +00:00
CG_DrawSmallStringColor(WS_LEFTSIDE + 6 + SMALLCHAR_WIDTH * offset, WS_TOP + WS_PADDING * 4 + SMALLCHAR_HEIGHT * i++,
2002-02-28 05:41:54 +00:00
String, color);
Com_sprintf(String, sizeof(String), "%.1f%%",100 * (float)cg.records[REC_M3HITS]/(cg.records[REC_M3SHOTS] ? cg.records[REC_M3SHOTS] : 1));
2002-02-28 05:41:54 +00:00
MAKERGBA(color, 1.0f, 1.0f, 1.0f, 1.0f);
2002-03-24 22:57:27 +00:00
CG_DrawSmallStringColor(WS_LEFTSIDE + 6 + SMALLCHAR_WIDTH * offset, WS_TOP + WS_PADDING * 4 + SMALLCHAR_HEIGHT * i++,
2002-02-28 05:41:54 +00:00
String, color);
Com_sprintf(String, sizeof(String), "%.1f%%",100 * (float)cg.records[REC_M4HITS]/(cg.records[REC_M4SHOTS] ? cg.records[REC_M4SHOTS] : 1));
MAKERGBA(color, 1.0f, 1.0f, 1.0f, 1.0f);
2002-03-24 22:57:27 +00:00
CG_DrawSmallStringColor(WS_LEFTSIDE + 6 + SMALLCHAR_WIDTH * offset, WS_TOP + WS_PADDING * 4 + SMALLCHAR_HEIGHT * i++,
2002-02-28 05:41:54 +00:00
String, color);
Com_sprintf(String, sizeof(String), "%.1f%%",100 * (float)cg.records[REC_HANDCANNONHITS]/(cg.records[REC_HANDCANNONSHOTS] ? cg.records[REC_HANDCANNONSHOTS] : 1));
MAKERGBA(color, 1.0f, 1.0f, 1.0f, 1.0f);
2002-03-24 22:57:27 +00:00
CG_DrawSmallStringColor(WS_LEFTSIDE + 6 + SMALLCHAR_WIDTH * offset, WS_TOP + WS_PADDING * 4 + SMALLCHAR_HEIGHT * i++,
2002-02-28 05:41:54 +00:00
String, color);
Com_sprintf(String, sizeof(String), "%.1f%%",100 * (float)cg.records[REC_SSG3000HITS]/(cg.records[REC_SSG3000SHOTS] ? cg.records[REC_SSG3000SHOTS] : 1));
MAKERGBA(color, 1.0f, 1.0f, 1.0f, 1.0f);
2002-03-24 22:57:27 +00:00
CG_DrawSmallStringColor(WS_LEFTSIDE + 6 + SMALLCHAR_WIDTH * offset, WS_TOP + WS_PADDING * 4 + SMALLCHAR_HEIGHT * i++,
String, color);
2002-02-28 05:41:54 +00:00
Com_sprintf(String, sizeof(String), "%.1f%%",100 * (float)cg.records[REC_AKIMBOHITS]/(cg.records[REC_AKIMBOSHOTS] ? cg.records[REC_AKIMBOSHOTS] : 1));
MAKERGBA(color, 1.0f, 1.0f, 1.0f, 1.0f);
2002-03-24 22:57:27 +00:00
CG_DrawSmallStringColor(WS_LEFTSIDE + 6 + SMALLCHAR_WIDTH * offset, WS_TOP + WS_PADDING * 4 + SMALLCHAR_HEIGHT * i++,
2002-02-28 05:41:54 +00:00
String, color);
Com_sprintf(String, sizeof(String), "%.1f%%",100 * (float)cg.records[REC_GRENADEHITS]/(cg.records[REC_GRENADESHOTS] ? cg.records[REC_GRENADESHOTS] : 1));
MAKERGBA(color, 1.0f, 1.0f, 1.0f, 1.0f);
2002-03-24 22:57:27 +00:00
CG_DrawSmallStringColor(WS_LEFTSIDE + 6 + SMALLCHAR_WIDTH * offset, WS_TOP + WS_PADDING * 4 + SMALLCHAR_HEIGHT * i++,
2002-02-28 05:41:54 +00:00
String, color);
2002-02-28 05:41:54 +00:00
//Hits
i=2;
2002-03-03 21:46:26 +00:00
offset=25;
2002-02-28 05:41:54 +00:00
MAKERGBA(color, 1.0f, 1.0f, 1.0f, 1.0f);
2002-03-24 22:57:27 +00:00
CG_DrawSmallStringColor(WS_LEFTSIDE + 6 + SMALLCHAR_WIDTH * offset, WS_TOP + WS_PADDING * 4 + SMALLCHAR_HEIGHT * i++,
"Hits", color);
2002-02-28 05:41:54 +00:00
2002-03-03 21:46:26 +00:00
Com_sprintf(String, sizeof(String), "%4d",cg.records[REC_KNIFESLASHHITS]);
2002-02-28 05:41:54 +00:00
MAKERGBA(color, 1.0f, 1.0f, 1.0f, 1.0f);
2002-03-24 22:57:27 +00:00
CG_DrawSmallStringColor(WS_LEFTSIDE + 6 + SMALLCHAR_WIDTH * offset, WS_TOP + WS_PADDING * 4 + SMALLCHAR_HEIGHT * i++,
2002-02-28 05:41:54 +00:00
String, color);
2002-03-03 21:46:26 +00:00
Com_sprintf(String, sizeof(String), "%4d",cg.records[REC_KNIFETHROWHITS]);
2002-02-28 05:41:54 +00:00
MAKERGBA(color, 1.0f, 1.0f, 1.0f, 1.0f);
2002-03-24 22:57:27 +00:00
CG_DrawSmallStringColor(WS_LEFTSIDE + 6 + SMALLCHAR_WIDTH * offset, WS_TOP + WS_PADDING * 4 + SMALLCHAR_HEIGHT * i++,
2002-02-28 05:41:54 +00:00
String, color);
2002-03-03 21:46:26 +00:00
Com_sprintf(String, sizeof(String), "%4d",cg.records[REC_MK23HITS]);
2002-02-28 05:41:54 +00:00
MAKERGBA(color, 1.0f, 1.0f, 1.0f, 1.0f);
2002-03-24 22:57:27 +00:00
CG_DrawSmallStringColor(WS_LEFTSIDE + 6 + SMALLCHAR_WIDTH * offset, WS_TOP + WS_PADDING * 4 + SMALLCHAR_HEIGHT * i++,
2002-02-28 05:41:54 +00:00
String, color);
2002-03-03 21:46:26 +00:00
Com_sprintf(String, sizeof(String), "%4d",cg.records[REC_MP5HITS]);
2002-02-28 05:41:54 +00:00
MAKERGBA(color, 1.0f, 1.0f, 1.0f, 1.0f);
2002-03-24 22:57:27 +00:00
CG_DrawSmallStringColor(WS_LEFTSIDE + 6 + SMALLCHAR_WIDTH * offset, WS_TOP + WS_PADDING * 4 + SMALLCHAR_HEIGHT * i++,
2002-02-28 05:41:54 +00:00
String, color);
2002-03-03 21:46:26 +00:00
Com_sprintf(String, sizeof(String), "%4d",cg.records[REC_M3HITS]);
2002-02-28 05:41:54 +00:00
MAKERGBA(color, 1.0f, 1.0f, 1.0f, 1.0f);
2002-03-24 22:57:27 +00:00
CG_DrawSmallStringColor(WS_LEFTSIDE + 6 + SMALLCHAR_WIDTH * offset, WS_TOP + WS_PADDING * 4 + SMALLCHAR_HEIGHT * i++,
2002-02-28 05:41:54 +00:00
String, color);
2002-03-03 21:46:26 +00:00
Com_sprintf(String, sizeof(String), "%4d",cg.records[REC_M4HITS]);
2002-02-28 05:41:54 +00:00
MAKERGBA(color, 1.0f, 1.0f, 1.0f, 1.0f);
2002-03-24 22:57:27 +00:00
CG_DrawSmallStringColor(WS_LEFTSIDE + 6 + SMALLCHAR_WIDTH * offset, WS_TOP + WS_PADDING * 4 + SMALLCHAR_HEIGHT * i++,
2002-02-28 05:41:54 +00:00
String, color);
2002-03-03 21:46:26 +00:00
Com_sprintf(String, sizeof(String), "%4d",cg.records[REC_HANDCANNONHITS]);
2002-02-28 05:41:54 +00:00
MAKERGBA(color, 1.0f, 1.0f, 1.0f, 1.0f);
2002-03-24 22:57:27 +00:00
CG_DrawSmallStringColor(WS_LEFTSIDE + 6 + SMALLCHAR_WIDTH * offset, WS_TOP + WS_PADDING * 4 + SMALLCHAR_HEIGHT * i++,
2002-02-28 05:41:54 +00:00
String, color);
2002-03-03 21:46:26 +00:00
Com_sprintf(String, sizeof(String), "%4d",cg.records[REC_SSG3000HITS]);
MAKERGBA(color, 1.0f, 1.0f, 1.0f, 1.0f);
2002-03-24 22:57:27 +00:00
CG_DrawSmallStringColor(WS_LEFTSIDE + 6 + SMALLCHAR_WIDTH * offset, WS_TOP + WS_PADDING * 4 + SMALLCHAR_HEIGHT * i++,
String, color);
2002-03-03 21:46:26 +00:00
Com_sprintf(String, sizeof(String), "%4d",cg.records[REC_AKIMBOHITS]);
2002-02-28 05:41:54 +00:00
MAKERGBA(color, 1.0f, 1.0f, 1.0f, 1.0f);
2002-03-24 22:57:27 +00:00
CG_DrawSmallStringColor(WS_LEFTSIDE + 6 + SMALLCHAR_WIDTH * offset, WS_TOP + WS_PADDING * 4 + SMALLCHAR_HEIGHT * i++,
2002-02-28 05:41:54 +00:00
String, color);
2002-03-03 21:46:26 +00:00
Com_sprintf(String, sizeof(String), "%4d",cg.records[REC_GRENADEHITS]);
2002-02-28 05:41:54 +00:00
MAKERGBA(color, 1.0f, 1.0f, 1.0f, 1.0f);
2002-03-24 22:57:27 +00:00
CG_DrawSmallStringColor(WS_LEFTSIDE + 6 + SMALLCHAR_WIDTH * offset, WS_TOP + WS_PADDING * 4 + SMALLCHAR_HEIGHT * i++,
2002-02-28 05:41:54 +00:00
String, color);
2002-03-03 21:46:26 +00:00
Com_sprintf(String, sizeof(String), "%4d",cg.records[REC_KICKHITS]);
MAKERGBA(color, 1.0f, 1.0f, 1.0f, 1.0f);
2002-03-24 22:57:27 +00:00
CG_DrawSmallStringColor(WS_LEFTSIDE + 6 + SMALLCHAR_WIDTH * offset, WS_TOP + WS_PADDING * 4 + SMALLCHAR_HEIGHT * i++,
String, color);
2002-02-28 05:41:54 +00:00
//Shots
i=2;
2002-03-03 21:46:26 +00:00
offset = 32;
2002-02-28 05:41:54 +00:00
MAKERGBA(color, 1.0f, 1.0f, 1.0f, 1.0f);
2002-03-24 22:57:27 +00:00
CG_DrawSmallStringColor(WS_LEFTSIDE + 6 + SMALLCHAR_WIDTH * (offset - 1), WS_TOP + WS_PADDING * 4 + SMALLCHAR_HEIGHT * i++,
2002-02-28 05:41:54 +00:00
"Shots", color);
2002-03-03 21:46:26 +00:00
Com_sprintf(String, sizeof(String), "%4d",cg.records[REC_KNIFESLASHSHOTS]);
2002-02-28 05:41:54 +00:00
MAKERGBA(color, 1.0f, 1.0f, 1.0f, 1.0f);
2002-03-24 22:57:27 +00:00
CG_DrawSmallStringColor(WS_LEFTSIDE + 6 + SMALLCHAR_WIDTH * offset, WS_TOP + WS_PADDING * 4 + SMALLCHAR_HEIGHT * i++,
2002-02-28 05:41:54 +00:00
String, color);
2002-03-03 21:46:26 +00:00
Com_sprintf(String, sizeof(String), "%4d",cg.records[REC_KNIFETHROWSHOTS]);
2002-02-28 05:41:54 +00:00
MAKERGBA(color, 1.0f, 1.0f, 1.0f, 1.0f);
2002-03-24 22:57:27 +00:00
CG_DrawSmallStringColor(WS_LEFTSIDE + 6 + SMALLCHAR_WIDTH * offset, WS_TOP + WS_PADDING * 4 + SMALLCHAR_HEIGHT * i++,
2002-02-28 05:41:54 +00:00
String, color);
2002-03-03 21:46:26 +00:00
Com_sprintf(String, sizeof(String), "%4d",cg.records[REC_MK23SHOTS]);
2002-02-28 05:41:54 +00:00
MAKERGBA(color, 1.0f, 1.0f, 1.0f, 1.0f);
2002-03-24 22:57:27 +00:00
CG_DrawSmallStringColor(WS_LEFTSIDE + 6 + SMALLCHAR_WIDTH * offset, WS_TOP + WS_PADDING * 4 + SMALLCHAR_HEIGHT * i++,
2002-02-28 05:41:54 +00:00
String, color);
2002-03-03 21:46:26 +00:00
Com_sprintf(String, sizeof(String), "%4d",cg.records[REC_MP5SHOTS]);
2002-02-28 05:41:54 +00:00
MAKERGBA(color, 1.0f, 1.0f, 1.0f, 1.0f);
2002-03-24 22:57:27 +00:00
CG_DrawSmallStringColor(WS_LEFTSIDE + 6 + SMALLCHAR_WIDTH * offset, WS_TOP + WS_PADDING * 4 + SMALLCHAR_HEIGHT * i++,
2002-02-28 05:41:54 +00:00
String, color);
2002-03-03 21:46:26 +00:00
Com_sprintf(String, sizeof(String), "%4d",cg.records[REC_M3SHOTS]);
2002-02-28 05:41:54 +00:00
MAKERGBA(color, 1.0f, 1.0f, 1.0f, 1.0f);
2002-03-24 22:57:27 +00:00
CG_DrawSmallStringColor(WS_LEFTSIDE + 6 + SMALLCHAR_WIDTH * offset, WS_TOP + WS_PADDING * 4 + SMALLCHAR_HEIGHT * i++,
2002-02-28 05:41:54 +00:00
String, color);
2002-03-03 21:46:26 +00:00
Com_sprintf(String, sizeof(String), "%4d",cg.records[REC_M4SHOTS]);
2002-02-28 05:41:54 +00:00
MAKERGBA(color, 1.0f, 1.0f, 1.0f, 1.0f);
2002-03-24 22:57:27 +00:00
CG_DrawSmallStringColor(WS_LEFTSIDE + 6 + SMALLCHAR_WIDTH * offset, WS_TOP + WS_PADDING * 4 + SMALLCHAR_HEIGHT * i++,
2002-02-28 05:41:54 +00:00
String, color);
2002-03-03 21:46:26 +00:00
Com_sprintf(String, sizeof(String), "%4d",cg.records[REC_HANDCANNONSHOTS]);
2002-02-28 05:41:54 +00:00
MAKERGBA(color, 1.0f, 1.0f, 1.0f, 1.0f);
2002-03-24 22:57:27 +00:00
CG_DrawSmallStringColor(WS_LEFTSIDE + 6 + SMALLCHAR_WIDTH * offset, WS_TOP + WS_PADDING * 4 + SMALLCHAR_HEIGHT * i++,
2002-02-28 05:41:54 +00:00
String, color);
2002-03-03 21:46:26 +00:00
Com_sprintf(String, sizeof(String), "%4d",cg.records[REC_SSG3000SHOTS]);
MAKERGBA(color, 1.0f, 1.0f, 1.0f, 1.0f);
2002-03-24 22:57:27 +00:00
CG_DrawSmallStringColor(WS_LEFTSIDE + 6 + SMALLCHAR_WIDTH * offset, WS_TOP + WS_PADDING * 4 + SMALLCHAR_HEIGHT * i++,
String, color);
2002-03-03 21:46:26 +00:00
Com_sprintf(String, sizeof(String), "%4d",cg.records[REC_AKIMBOSHOTS]);
2002-02-28 05:41:54 +00:00
MAKERGBA(color, 1.0f, 1.0f, 1.0f, 1.0f);
2002-03-24 22:57:27 +00:00
CG_DrawSmallStringColor(WS_LEFTSIDE + 6 + SMALLCHAR_WIDTH * offset, WS_TOP + WS_PADDING * 4 + SMALLCHAR_HEIGHT * i++,
2002-02-28 05:41:54 +00:00
String, color);
2002-03-03 21:46:26 +00:00
Com_sprintf(String, sizeof(String), "%4d",cg.records[REC_GRENADESHOTS]);
2002-02-28 05:41:54 +00:00
MAKERGBA(color, 1.0f, 1.0f, 1.0f, 1.0f);
2002-03-24 22:57:27 +00:00
CG_DrawSmallStringColor(WS_LEFTSIDE + 6 + SMALLCHAR_WIDTH * offset, WS_TOP + WS_PADDING * 4 + SMALLCHAR_HEIGHT * i++,
2002-02-28 05:41:54 +00:00
String, color);
//Kills
i=2;
2002-03-03 23:12:18 +00:00
offset = 39;
2002-02-28 05:41:54 +00:00
MAKERGBA(color, 1.0f, 1.0f, 1.0f, 1.0f);
2002-03-24 22:57:27 +00:00
CG_DrawSmallStringColor(WS_LEFTSIDE + 6 + SMALLCHAR_WIDTH * (offset - 1), WS_TOP + WS_PADDING * 4 + SMALLCHAR_HEIGHT * i++,
2002-02-28 05:41:54 +00:00
"Kills", color);
2002-03-03 21:46:26 +00:00
Com_sprintf(String, sizeof(String), "%4d",cg.records[REC_KNIFESLASHKILLS]);
2002-02-28 05:41:54 +00:00
MAKERGBA(color, 1.0f, 1.0f, 1.0f, 1.0f);
2002-03-24 22:57:27 +00:00
CG_DrawSmallStringColor(WS_LEFTSIDE + 6 + SMALLCHAR_WIDTH * offset, WS_TOP + WS_PADDING * 4 + SMALLCHAR_HEIGHT * i++,
2002-02-28 05:41:54 +00:00
String, color);
2002-03-03 21:46:26 +00:00
Com_sprintf(String, sizeof(String), "%4d",cg.records[REC_KNIFETHROWKILLS]);
2002-02-28 05:41:54 +00:00
MAKERGBA(color, 1.0f, 1.0f, 1.0f, 1.0f);
2002-03-24 22:57:27 +00:00
CG_DrawSmallStringColor(WS_LEFTSIDE + 6 + SMALLCHAR_WIDTH * offset, WS_TOP + WS_PADDING * 4 + SMALLCHAR_HEIGHT * i++,
2002-02-28 05:41:54 +00:00
String, color);
2002-03-03 21:46:26 +00:00
Com_sprintf(String, sizeof(String), "%4d",cg.records[REC_MK23KILLS]);
2002-02-28 05:41:54 +00:00
MAKERGBA(color, 1.0f, 1.0f, 1.0f, 1.0f);
2002-03-24 22:57:27 +00:00
CG_DrawSmallStringColor(WS_LEFTSIDE + 6 + SMALLCHAR_WIDTH * offset, WS_TOP + WS_PADDING * 4 + SMALLCHAR_HEIGHT * i++,
2002-02-28 05:41:54 +00:00
String, color);
2002-03-03 21:46:26 +00:00
Com_sprintf(String, sizeof(String), "%4d",cg.records[REC_MP5KILLS]);
2002-02-28 05:41:54 +00:00
MAKERGBA(color, 1.0f, 1.0f, 1.0f, 1.0f);
2002-03-24 22:57:27 +00:00
CG_DrawSmallStringColor(WS_LEFTSIDE + 6 + SMALLCHAR_WIDTH * offset, WS_TOP + WS_PADDING * 4 + SMALLCHAR_HEIGHT * i++,
2002-02-28 05:41:54 +00:00
String, color);
2002-03-03 21:46:26 +00:00
Com_sprintf(String, sizeof(String), "%4d",cg.records[REC_M3KILLS]);
2002-02-28 05:41:54 +00:00
MAKERGBA(color, 1.0f, 1.0f, 1.0f, 1.0f);
2002-03-24 22:57:27 +00:00
CG_DrawSmallStringColor(WS_LEFTSIDE + 6 + SMALLCHAR_WIDTH * offset, WS_TOP + WS_PADDING * 4 + SMALLCHAR_HEIGHT * i++,
2002-02-28 05:41:54 +00:00
String, color);
2002-03-03 21:46:26 +00:00
Com_sprintf(String, sizeof(String), "%4d",cg.records[REC_M4KILLS]);
2002-02-28 05:41:54 +00:00
MAKERGBA(color, 1.0f, 1.0f, 1.0f, 1.0f);
2002-03-24 22:57:27 +00:00
CG_DrawSmallStringColor(WS_LEFTSIDE + 6 + SMALLCHAR_WIDTH * offset, WS_TOP + WS_PADDING * 4 + SMALLCHAR_HEIGHT * i++,
2002-02-28 05:41:54 +00:00
String, color);
2002-03-03 21:46:26 +00:00
Com_sprintf(String, sizeof(String), "%4d",cg.records[REC_HANDCANNONKILLS]);
2002-02-28 05:41:54 +00:00
MAKERGBA(color, 1.0f, 1.0f, 1.0f, 1.0f);
2002-03-24 22:57:27 +00:00
CG_DrawSmallStringColor(WS_LEFTSIDE + 6 + SMALLCHAR_WIDTH * offset, WS_TOP + WS_PADDING * 4 + SMALLCHAR_HEIGHT * i++,
2002-02-28 05:41:54 +00:00
String, color);
2002-03-03 21:46:26 +00:00
Com_sprintf(String, sizeof(String), "%4d",cg.records[REC_SSG3000KILLS]);
MAKERGBA(color, 1.0f, 1.0f, 1.0f, 1.0f);
2002-03-24 22:57:27 +00:00
CG_DrawSmallStringColor(WS_LEFTSIDE + 6 + SMALLCHAR_WIDTH * offset, WS_TOP + WS_PADDING * 4 + SMALLCHAR_HEIGHT * i++,
String, color);
2002-03-03 21:46:26 +00:00
Com_sprintf(String, sizeof(String), "%4d",cg.records[REC_AKIMBOKILLS]);
2002-02-28 05:41:54 +00:00
MAKERGBA(color, 1.0f, 1.0f, 1.0f, 1.0f);
2002-03-24 22:57:27 +00:00
CG_DrawSmallStringColor(WS_LEFTSIDE + 6 + SMALLCHAR_WIDTH * offset, WS_TOP + WS_PADDING * 4 + SMALLCHAR_HEIGHT * i++,
2002-02-28 05:41:54 +00:00
String, color);
2002-03-03 21:46:26 +00:00
Com_sprintf(String, sizeof(String), "%4d",cg.records[REC_GRENADEKILLS]);
2002-02-28 05:41:54 +00:00
MAKERGBA(color, 1.0f, 1.0f, 1.0f, 1.0f);
2002-03-24 22:57:27 +00:00
CG_DrawSmallStringColor(WS_LEFTSIDE + 6 + SMALLCHAR_WIDTH * offset, WS_TOP + WS_PADDING * 4 + SMALLCHAR_HEIGHT * i++,
2002-02-28 05:41:54 +00:00
String, color);
2002-03-03 21:46:26 +00:00
Com_sprintf(String, sizeof(String), "%4d",cg.records[REC_KICKKILLS]);
MAKERGBA(color, 1.0f, 1.0f, 1.0f, 1.0f);
2002-03-24 22:57:27 +00:00
CG_DrawSmallStringColor(WS_LEFTSIDE + 6 + SMALLCHAR_WIDTH * offset, WS_TOP + WS_PADDING * 4 + SMALLCHAR_HEIGHT * i++,
String, color);
2002-02-28 05:41:54 +00:00
//Deaths
i=2;
2002-03-03 23:12:18 +00:00
offset = 47;
2002-02-28 05:41:54 +00:00
MAKERGBA(color, 1.0f, 1.0f, 1.0f, 1.0f);
2002-03-24 22:57:27 +00:00
CG_DrawSmallStringColor(WS_LEFTSIDE + 6 + SMALLCHAR_WIDTH * (offset -2), WS_TOP + WS_PADDING * 4 + SMALLCHAR_HEIGHT * i++,
2002-02-28 05:41:54 +00:00
"Deaths", color);
2002-03-03 21:46:26 +00:00
Com_sprintf(String, sizeof(String), "%4d",cg.records[REC_KNIFESLASHDEATHS]);
2002-02-28 05:41:54 +00:00
MAKERGBA(color, 1.0f, 1.0f, 1.0f, 1.0f);
2002-03-24 22:57:27 +00:00
CG_DrawSmallStringColor(WS_LEFTSIDE + 6 + SMALLCHAR_WIDTH * offset, WS_TOP + WS_PADDING * 4 + SMALLCHAR_HEIGHT * i++,
2002-02-28 05:41:54 +00:00
String, color);
2002-03-03 21:46:26 +00:00
Com_sprintf(String, sizeof(String), "%4d",cg.records[REC_KNIFETHROWDEATHS]);
2002-02-28 05:41:54 +00:00
MAKERGBA(color, 1.0f, 1.0f, 1.0f, 1.0f);
2002-03-24 22:57:27 +00:00
CG_DrawSmallStringColor(WS_LEFTSIDE + 6 + SMALLCHAR_WIDTH * offset, WS_TOP + WS_PADDING * 4 + SMALLCHAR_HEIGHT * i++,
2002-02-28 05:41:54 +00:00
String, color);
2002-03-03 21:46:26 +00:00
Com_sprintf(String, sizeof(String), "%4d",cg.records[REC_MK23DEATHS]);
2002-02-28 05:41:54 +00:00
MAKERGBA(color, 1.0f, 1.0f, 1.0f, 1.0f);
2002-03-24 22:57:27 +00:00
CG_DrawSmallStringColor(WS_LEFTSIDE + 6 + SMALLCHAR_WIDTH * offset, WS_TOP + WS_PADDING * 4 + SMALLCHAR_HEIGHT * i++,
2002-02-28 05:41:54 +00:00
String, color);
2002-03-03 21:46:26 +00:00
Com_sprintf(String, sizeof(String), "%4d",cg.records[REC_MP5DEATHS]);
2002-02-28 05:41:54 +00:00
MAKERGBA(color, 1.0f, 1.0f, 1.0f, 1.0f);
2002-03-24 22:57:27 +00:00
CG_DrawSmallStringColor(WS_LEFTSIDE + 6 + SMALLCHAR_WIDTH * offset, WS_TOP + WS_PADDING * 4 + SMALLCHAR_HEIGHT * i++,
2002-02-28 05:41:54 +00:00
String, color);
2002-03-03 21:46:26 +00:00
Com_sprintf(String, sizeof(String), "%4d",cg.records[REC_M3DEATHS]);
2002-02-28 05:41:54 +00:00
MAKERGBA(color, 1.0f, 1.0f, 1.0f, 1.0f);
2002-03-24 22:57:27 +00:00
CG_DrawSmallStringColor(WS_LEFTSIDE + 6 + SMALLCHAR_WIDTH * offset, WS_TOP + WS_PADDING * 4 + SMALLCHAR_HEIGHT * i++,
2002-02-28 05:41:54 +00:00
String, color);
2002-03-03 21:46:26 +00:00
Com_sprintf(String, sizeof(String), "%4d",cg.records[REC_M4DEATHS]);
2002-02-28 05:41:54 +00:00
MAKERGBA(color, 1.0f, 1.0f, 1.0f, 1.0f);
2002-03-24 22:57:27 +00:00
CG_DrawSmallStringColor(WS_LEFTSIDE + 6 + SMALLCHAR_WIDTH * offset, WS_TOP + WS_PADDING * 4 + SMALLCHAR_HEIGHT * i++,
2002-02-28 05:41:54 +00:00
String, color);
2002-03-03 21:46:26 +00:00
Com_sprintf(String, sizeof(String), "%4d",cg.records[REC_HANDCANNONDEATHS]);
2002-02-28 05:41:54 +00:00
MAKERGBA(color, 1.0f, 1.0f, 1.0f, 1.0f);
2002-03-24 22:57:27 +00:00
CG_DrawSmallStringColor(WS_LEFTSIDE + 6 + SMALLCHAR_WIDTH * offset, WS_TOP + WS_PADDING * 4 + SMALLCHAR_HEIGHT * i++,
2002-02-28 05:41:54 +00:00
String, color);
2002-03-03 21:46:26 +00:00
Com_sprintf(String, sizeof(String), "%4d",cg.records[REC_SSG3000DEATHS]);
MAKERGBA(color, 1.0f, 1.0f, 1.0f, 1.0f);
2002-03-24 22:57:27 +00:00
CG_DrawSmallStringColor(WS_LEFTSIDE + 6 + SMALLCHAR_WIDTH * offset, WS_TOP + WS_PADDING * 4 + SMALLCHAR_HEIGHT * i++,
String, color);
2002-03-03 21:46:26 +00:00
Com_sprintf(String, sizeof(String), "%4d",cg.records[REC_AKIMBODEATHS]);
2002-02-28 05:41:54 +00:00
MAKERGBA(color, 1.0f, 1.0f, 1.0f, 1.0f);
2002-03-24 22:57:27 +00:00
CG_DrawSmallStringColor(WS_LEFTSIDE + 6 + SMALLCHAR_WIDTH * offset, WS_TOP + WS_PADDING * 4 + SMALLCHAR_HEIGHT * i++,
2002-02-28 05:41:54 +00:00
String, color);
2002-03-03 21:46:26 +00:00
Com_sprintf(String, sizeof(String), "%4d",cg.records[REC_GRENADEDEATHS]);
2002-02-28 05:41:54 +00:00
MAKERGBA(color, 1.0f, 1.0f, 1.0f, 1.0f);
2002-03-24 22:57:27 +00:00
CG_DrawSmallStringColor(WS_LEFTSIDE + 6 + SMALLCHAR_WIDTH * offset, WS_TOP + WS_PADDING * 4 + SMALLCHAR_HEIGHT * i++,
2002-02-28 05:41:54 +00:00
String, color);
2002-03-03 21:46:26 +00:00
Com_sprintf(String, sizeof(String), "%4d",cg.records[REC_KICKDEATHS]);
MAKERGBA(color, 1.0f, 1.0f, 1.0f, 1.0f);
2002-03-24 22:57:27 +00:00
CG_DrawSmallStringColor(WS_LEFTSIDE + 6 + SMALLCHAR_WIDTH * offset, WS_TOP + WS_PADDING * 4 + SMALLCHAR_HEIGHT * i++,
String, color);
2002-02-28 05:41:54 +00:00
if ( cg.wstatsRequestTime + 3000 < cg.time ) {
// the scores are more than two seconds out of data,
// so request new ones
cg.wstatsRequestTime = cg.time;
trap_SendClientCommand( "wstats" );
}
return;
}