2001-12-31 16:16:59 +00:00
|
|
|
//-----------------------------------------------------------------------------
|
|
|
|
//
|
|
|
|
// $Id$
|
|
|
|
//
|
|
|
|
//-----------------------------------------------------------------------------
|
|
|
|
//
|
2001-12-31 16:28:42 +00:00
|
|
|
// $Log$
|
2002-04-29 06:15:30 +00:00
|
|
|
// 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)
|
|
|
|
//
|
2002-04-18 16:13:23 +00:00
|
|
|
// 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
|
2002-03-21 15:02:05 +00:00
|
|
|
//
|
2002-03-17 21:32:23 +00:00
|
|
|
// Revision 1.14 2002/03/17 21:32:23 jbravo
|
|
|
|
// Fixed the dynamic teamnames system up a bit to reduce traffic
|
|
|
|
//
|
2002-03-17 00:40:23 +00:00
|
|
|
// 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
|
|
|
|
//
|
2002-03-02 01:16:30 +00:00
|
|
|
// 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
|
|
|
|
//
|
2002-02-28 06:09:23 +00:00
|
|
|
// 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
|
|
|
|
//
|
2002-02-10 08:17:08 +00:00
|
|
|
// 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
|
|
|
|
//
|
2002-01-11 19:48:33 +00:00
|
|
|
// 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-12-31 16:16:59 +00:00
|
|
|
//
|
|
|
|
//-----------------------------------------------------------------------------
|
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
|
|
|
|
2002-04-29 06:15:30 +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;
|
2002-04-18 16:13:23 +00:00
|
|
|
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);
|
2002-04-18 16:13:23 +00:00
|
|
|
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-02-10 08:17:08 +00:00
|
|
|
}
|
|
|
|
|
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-02-10 08:17:08 +00:00
|
|
|
|
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);
|
2002-04-29 06:15:30 +00:00
|
|
|
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-29 06:15:30 +00:00
|
|
|
|
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);
|
2002-04-29 06:15:30 +00:00
|
|
|
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) {
|
2002-04-29 06:15:30 +00:00
|
|
|
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-02-28 06:09:23 +00:00
|
|
|
|
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++,
|
2002-03-02 01:16:30 +00:00
|
|
|
"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++,
|
2002-03-02 01:16:30 +00:00
|
|
|
"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);
|
|
|
|
|
2002-02-28 06:09:23 +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 06:09:23 +00:00
|
|
|
"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);
|
|
|
|
|
2002-02-28 06:09:23 +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 06:09:23 +00:00
|
|
|
"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);
|
|
|
|
|
2002-03-02 01:16:30 +00:00
|
|
|
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);
|
|
|
|
|
2002-03-02 01:16:30 +00:00
|
|
|
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);
|
|
|
|
|
2002-02-28 06:09:23 +00:00
|
|
|
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++,
|
2002-02-28 06:09:23 +00:00
|
|
|
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 06:09:23 +00:00
|
|
|
|
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++,
|
2002-02-28 06:09:23 +00:00
|
|
|
"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]);
|
2002-02-28 06:09:23 +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 06:09:23 +00:00
|
|
|
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]);
|
2002-02-28 06:09:23 +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 06:09:23 +00:00
|
|
|
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]);
|
2002-02-28 06:09:23 +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 06:09:23 +00:00
|
|
|
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]);
|
2002-02-28 06:09:23 +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 06:09:23 +00:00
|
|
|
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]);
|
2002-02-28 06:09:23 +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 06:09:23 +00:00
|
|
|
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]);
|
2002-02-28 06:09:23 +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 06:09:23 +00:00
|
|
|
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]);
|
2002-02-28 06:09:23 +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 06:09:23 +00:00
|
|
|
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;
|
|
|
|
}
|