cg_scoreboard.asm
themuffinator_dm-game/build/win32-qvm/vm/cgame/cg_scoreboard.asm
code
proc CG_DrawClientScore 128 32
file "..\..\..\..\code\cgame\cg_scoreboard.c"
line 61
;1:// Copyright (C) 1999-2000 Id Software, Inc.
;2://
;3:// cg_scoreboard -- draw the scoreboard on top of the game screen
;4:#include "cg_local.h"
;5:
;6:
;7:#define	SCOREBOARD_X		(0)
;8:
;9:#define SB_HEADER			86
;10:#define SB_TOP				(SB_HEADER+32)
;11:
;12:// Where the status bar starts, so we don't overwrite it
;13:#define SB_STATUSBAR		420
;14:
;15:#define SB_NORMAL_HEIGHT	40
;16:#define SB_INTER_HEIGHT		16 // interleaved height
;17:
;18:#define SB_MAXCLIENTS_NORMAL  ((SB_STATUSBAR - SB_TOP) / SB_NORMAL_HEIGHT)
;19:#define SB_MAXCLIENTS_INTER   ((SB_STATUSBAR - SB_TOP) / SB_INTER_HEIGHT - 1)
;20:
;21:// Used when interleaved
;22:
;23:
;24:
;25:#define SB_LEFT_BOTICON_X	(SCOREBOARD_X+0)
;26:#define SB_LEFT_HEAD_X		(SCOREBOARD_X+32)
;27:#define SB_RIGHT_BOTICON_X	(SCOREBOARD_X+64)
;28:#define SB_RIGHT_HEAD_X		(SCOREBOARD_X+96)
;29:// Normal
;30:#define SB_BOTICON_X		(SCOREBOARD_X+32)
;31:#define SB_HEAD_X			(SCOREBOARD_X+64)
;32:
;33:#define SB_SCORELINE_X		112
;34:
;35:#define SB_RATING_WIDTH	    (6 * BIGCHAR_WIDTH) // width 6
;36:#define SB_SCORE_X			(SB_SCORELINE_X + BIGCHAR_WIDTH) // width 6
;37:#define SB_RATING_X			(SB_SCORELINE_X + 6 * BIGCHAR_WIDTH) // width 6
;38:#define SB_PING_X			(SB_SCORELINE_X + 12 * BIGCHAR_WIDTH + 8) // width 5
;39:#define SB_TIME_X			(SB_SCORELINE_X + 17 * BIGCHAR_WIDTH + 8) // width 5
;40:#define SB_NAME_X			(SB_SCORELINE_X + 22 * BIGCHAR_WIDTH) // width 15
;41:
;42:// The new and improved score board
;43://
;44:// In cases where the number of clients is high, the score board heads are interleaved
;45:// here's the layout
;46:
;47://
;48://	0   32   80  112  144   240  320  400   <-- pixel position
;49://  bot head bot head score ping time name
;50://  
;51://  wins/losses are drawn on bot icon now
;52:
;53:static qboolean localClient; // true if local client has been displayed
;54:
;55:
;56:/*
;57:=================
;58:CG_DrawScoreboard
;59:=================
;60:*/
;61:static void CG_DrawClientScore( int y, score_t *score, float *color, float fade, qboolean largeFormat ) {
line 68
;62:	char	string[ 64 ];
;63:	vec3_t	headAngles;
;64:	clientInfo_t	*ci;
;65:	int iconx, headx;
;66:	vec4_t c;
;67:
;68:	if ( score->client < 0 || score->client >= cgs.maxclients ) {
ADDRLP4 104
ADDRFP4 4
INDIRP4
INDIRI4
ASGNI4
ADDRLP4 104
INDIRI4
CNSTI4 0
LTI4 $77
ADDRLP4 104
INDIRI4
ADDRGP4 cgs+31504
INDIRI4
LTI4 $74
LABELV $77
line 69
;69:		Com_Printf( "Bad score->client: %i\n", score->client );
ADDRGP4 $78
ARGP4
ADDRFP4 4
INDIRP4
INDIRI4
ARGI4
ADDRGP4 Com_Printf
CALLV
pop
line 70
;70:		return;
ADDRGP4 $73
JUMPV
LABELV $74
line 73
;71:	}
;72:	
;73:	ci = &cgs.clientinfo[score->client];
ADDRLP4 16
ADDRFP4 4
INDIRP4
INDIRI4
CNSTI4 1652
MULI4
ADDRGP4 cgs+40996
ADDP4
ASGNP4
line 74
;74:	if ( !ci->infoValid )
ADDRLP4 16
INDIRP4
INDIRI4
CNSTI4 0
NEI4 $80
line 75
;75:		return;
ADDRGP4 $73
JUMPV
LABELV $80
line 77
;76:
;77:	iconx = SB_BOTICON_X + (SB_RATING_WIDTH / 2);
ADDRLP4 32
CNSTI4 80
ASGNI4
line 78
;78:	headx = SB_HEAD_X + (SB_RATING_WIDTH / 2);
ADDRLP4 100
CNSTI4 112
ASGNI4
line 80
;79:
;80:	trap_R_SetColor( NULL );
CNSTP4 0
ARGP4
ADDRGP4 trap_R_SetColor
CALLV
pop
line 83
;81:
;82:	// draw the handicap or bot skill marker (unless player has flag)
;83:	if ( ci->powerups & ( 1 << PW_NEUTRALFLAG ) ) {
ADDRLP4 16
INDIRP4
CNSTI4 108
ADDP4
INDIRI4
CNSTI4 512
BANDI4
CNSTI4 0
EQI4 $82
line 84
;84:		if( largeFormat ) {
ADDRFP4 16
INDIRI4
CNSTI4 0
EQI4 $84
line 85
;85:			CG_DrawFlagModel( iconx, y - ( 32 - BIGCHAR_HEIGHT ) / 2, 32, 32, TEAM_FREE, qfalse );
ADDRLP4 32
INDIRI4
CVIF4 4
ARGF4
ADDRFP4 0
INDIRI4
CNSTI4 8
SUBI4
CVIF4 4
ARGF4
CNSTF4 1107296256
ARGF4
CNSTF4 1107296256
ARGF4
CNSTI4 0
ARGI4
CNSTI4 0
ARGI4
ADDRGP4 CG_DrawFlagModel
CALLV
pop
line 86
;86:		}
ADDRGP4 $83
JUMPV
LABELV $84
line 87
;87:		else {
line 88
;88:			CG_DrawFlagModel( iconx, y, 16, 16, TEAM_FREE, qfalse );
ADDRLP4 32
INDIRI4
CVIF4 4
ARGF4
ADDRFP4 0
INDIRI4
CVIF4 4
ARGF4
CNSTF4 1098907648
ARGF4
CNSTF4 1098907648
ARGF4
CNSTI4 0
ARGI4
CNSTI4 0
ARGI4
ADDRGP4 CG_DrawFlagModel
CALLV
pop
line 89
;89:		}
line 90
;90:	} else if ( ci->powerups & ( 1 << PW_REDFLAG ) ) {
ADDRGP4 $83
JUMPV
LABELV $82
ADDRLP4 16
INDIRP4
CNSTI4 108
ADDP4
INDIRI4
CNSTI4 128
BANDI4
CNSTI4 0
EQI4 $86
line 91
;91:		if( largeFormat ) {
ADDRFP4 16
INDIRI4
CNSTI4 0
EQI4 $88
line 92
;92:			CG_DrawFlagModel( iconx, y - ( 32 - BIGCHAR_HEIGHT ) / 2, 32, 32, TEAM_RED, qfalse );
ADDRLP4 32
INDIRI4
CVIF4 4
ARGF4
ADDRFP4 0
INDIRI4
CNSTI4 8
SUBI4
CVIF4 4
ARGF4
CNSTF4 1107296256
ARGF4
CNSTF4 1107296256
ARGF4
CNSTI4 1
ARGI4
CNSTI4 0
ARGI4
ADDRGP4 CG_DrawFlagModel
CALLV
pop
line 93
;93:		}
ADDRGP4 $87
JUMPV
LABELV $88
line 94
;94:		else {
line 95
;95:			CG_DrawFlagModel( iconx, y, 16, 16, TEAM_RED, qfalse );
ADDRLP4 32
INDIRI4
CVIF4 4
ARGF4
ADDRFP4 0
INDIRI4
CVIF4 4
ARGF4
CNSTF4 1098907648
ARGF4
CNSTF4 1098907648
ARGF4
CNSTI4 1
ARGI4
CNSTI4 0
ARGI4
ADDRGP4 CG_DrawFlagModel
CALLV
pop
line 96
;96:		}
line 97
;97:	} else if ( ci->powerups & ( 1 << PW_BLUEFLAG ) ) {
ADDRGP4 $87
JUMPV
LABELV $86
ADDRLP4 16
INDIRP4
CNSTI4 108
ADDP4
INDIRI4
CNSTI4 256
BANDI4
CNSTI4 0
EQI4 $90
line 98
;98:		if( largeFormat ) {
ADDRFP4 16
INDIRI4
CNSTI4 0
EQI4 $92
line 99
;99:			CG_DrawFlagModel( iconx, y - ( 32 - BIGCHAR_HEIGHT ) / 2, 32, 32, TEAM_BLUE, qfalse );
ADDRLP4 32
INDIRI4
CVIF4 4
ARGF4
ADDRFP4 0
INDIRI4
CNSTI4 8
SUBI4
CVIF4 4
ARGF4
CNSTF4 1107296256
ARGF4
CNSTF4 1107296256
ARGF4
CNSTI4 2
ARGI4
CNSTI4 0
ARGI4
ADDRGP4 CG_DrawFlagModel
CALLV
pop
line 100
;100:		}
ADDRGP4 $91
JUMPV
LABELV $92
line 101
;101:		else {
line 102
;102:			CG_DrawFlagModel( iconx, y, 16, 16, TEAM_BLUE, qfalse );
ADDRLP4 32
INDIRI4
CVIF4 4
ARGF4
ADDRFP4 0
INDIRI4
CVIF4 4
ARGF4
CNSTF4 1098907648
ARGF4
CNSTF4 1098907648
ARGF4
CNSTI4 2
ARGI4
CNSTI4 0
ARGI4
ADDRGP4 CG_DrawFlagModel
CALLV
pop
line 103
;103:		}
line 104
;104:	} else {
ADDRGP4 $91
JUMPV
LABELV $90
line 105
;105:		if ( ci->botSkill > 0 && ci->botSkill <= 5 ) {
ADDRLP4 16
INDIRP4
CNSTI4 40
ADDP4
INDIRI4
CNSTI4 0
LEI4 $94
ADDRLP4 16
INDIRP4
CNSTI4 40
ADDP4
INDIRI4
CNSTI4 5
GTI4 $94
line 106
;106:			if ( cg_drawIcons.integer ) {
ADDRGP4 cg_drawIcons+12
INDIRI4
CNSTI4 0
EQI4 $95
line 107
;107:				if( largeFormat ) {
ADDRFP4 16
INDIRI4
CNSTI4 0
EQI4 $99
line 108
;108:					CG_DrawPic( iconx, y - ( 32 - BIGCHAR_HEIGHT ) / 2, 32, 32, cgs.media.botSkillShaders[ ci->botSkill - 1 ] );
ADDRLP4 32
INDIRI4
CVIF4 4
ARGF4
ADDRFP4 0
INDIRI4
CNSTI4 8
SUBI4
CVIF4 4
ARGF4
CNSTF4 1107296256
ARGF4
CNSTF4 1107296256
ARGF4
ADDRLP4 16
INDIRP4
CNSTI4 40
ADDP4
INDIRI4
CNSTI4 2
LSHI4
ADDRGP4 cgs+148692+388-4
ADDP4
INDIRI4
ARGI4
ADDRGP4 CG_DrawPic
CALLV
pop
line 109
;109:				}
ADDRGP4 $95
JUMPV
LABELV $99
line 110
;110:				else {
line 111
;111:					CG_DrawPic( iconx, y, 16, 16, cgs.media.botSkillShaders[ ci->botSkill - 1 ] );
ADDRLP4 32
INDIRI4
CVIF4 4
ARGF4
ADDRFP4 0
INDIRI4
CVIF4 4
ARGF4
CNSTF4 1098907648
ARGF4
CNSTF4 1098907648
ARGF4
ADDRLP4 16
INDIRP4
CNSTI4 40
ADDP4
INDIRI4
CNSTI4 2
LSHI4
ADDRGP4 cgs+148692+388-4
ADDP4
INDIRI4
ARGI4
ADDRGP4 CG_DrawPic
CALLV
pop
line 112
;112:				}
line 113
;113:			}
line 114
;114:		} else if ( ci->handicap < 100 ) {
ADDRGP4 $95
JUMPV
LABELV $94
ADDRLP4 16
INDIRP4
CNSTI4 88
ADDP4
INDIRI4
CNSTI4 100
GEI4 $107
line 115
;115:			BG_sprintf( string, "%i", ci->handicap );
ADDRLP4 36
ARGP4
ADDRGP4 $109
ARGP4
ADDRLP4 16
INDIRP4
CNSTI4 88
ADDP4
INDIRI4
ARGI4
ADDRGP4 BG_sprintf
CALLI4
pop
line 116
;116:			if ( cgs.gametype == GT_DUEL )
ADDRGP4 cgs+31480
INDIRI4
CNSTI4 2
NEI4 $110
line 117
;117:				CG_DrawString( iconx, y - SMALLCHAR_HEIGHT/2, string, color, SMALLCHAR_WIDTH, SMALLCHAR_HEIGHT, 0, DS_FORCE_COLOR );
ADDRLP4 32
INDIRI4
CVIF4 4
ARGF4
ADDRFP4 0
INDIRI4
CNSTI4 8
SUBI4
CVIF4 4
ARGF4
ADDRLP4 36
ARGP4
ADDRFP4 8
INDIRP4
ARGP4
CNSTF4 1090519040
ARGF4
CNSTF4 1098907648
ARGF4
CNSTI4 0
ARGI4
CNSTI4 2
ARGI4
ADDRGP4 CG_DrawString
CALLV
pop
ADDRGP4 $111
JUMPV
LABELV $110
line 119
;118:			else
;119:				CG_DrawString( iconx, y, string, color, SMALLCHAR_WIDTH, SMALLCHAR_HEIGHT, 0, DS_FORCE_COLOR );
ADDRLP4 32
INDIRI4
CVIF4 4
ARGF4
ADDRFP4 0
INDIRI4
CVIF4 4
ARGF4
ADDRLP4 36
ARGP4
ADDRFP4 8
INDIRP4
ARGP4
CNSTF4 1090519040
ARGF4
CNSTF4 1098907648
ARGF4
CNSTI4 0
ARGI4
CNSTI4 2
ARGI4
ADDRGP4 CG_DrawString
CALLV
pop
LABELV $111
line 120
;120:		}
LABELV $107
LABELV $95
line 123
;121:
;122:		// draw the wins / losses
;123:		if ( cgs.gametype == GT_DUEL ) {
ADDRGP4 cgs+31480
INDIRI4
CNSTI4 2
NEI4 $113
line 124
;124:			BG_sprintf( string, "%i/%i", ci->wins, ci->losses );
ADDRLP4 36
ARGP4
ADDRGP4 $116
ARGP4
ADDRLP4 16
INDIRP4
CNSTI4 92
ADDP4
INDIRI4
ARGI4
ADDRLP4 16
INDIRP4
CNSTI4 96
ADDP4
INDIRI4
ARGI4
ADDRGP4 BG_sprintf
CALLI4
pop
line 125
;125:			if( ci->handicap < 100 && !ci->botSkill ) {
ADDRLP4 16
INDIRP4
CNSTI4 88
ADDP4
INDIRI4
CNSTI4 100
GEI4 $117
ADDRLP4 16
INDIRP4
CNSTI4 40
ADDP4
INDIRI4
CNSTI4 0
NEI4 $117
line 126
;126:				CG_DrawString( iconx, y + SMALLCHAR_HEIGHT/2, string, color, SMALLCHAR_WIDTH, SMALLCHAR_HEIGHT, 0, DS_FORCE_COLOR );
ADDRLP4 32
INDIRI4
CVIF4 4
ARGF4
ADDRFP4 0
INDIRI4
CNSTI4 8
ADDI4
CVIF4 4
ARGF4
ADDRLP4 36
ARGP4
ADDRFP4 8
INDIRP4
ARGP4
CNSTF4 1090519040
ARGF4
CNSTF4 1098907648
ARGF4
CNSTI4 0
ARGI4
CNSTI4 2
ARGI4
ADDRGP4 CG_DrawString
CALLV
pop
line 127
;127:			} else {
ADDRGP4 $118
JUMPV
LABELV $117
line 128
;128:				CG_DrawString( iconx, y, string, color, SMALLCHAR_WIDTH, SMALLCHAR_HEIGHT, 0, DS_FORCE_COLOR );
ADDRLP4 32
INDIRI4
CVIF4 4
ARGF4
ADDRFP4 0
INDIRI4
CVIF4 4
ARGF4
ADDRLP4 36
ARGP4
ADDRFP4 8
INDIRP4
ARGP4
CNSTF4 1090519040
ARGF4
CNSTF4 1098907648
ARGF4
CNSTI4 0
ARGI4
CNSTI4 2
ARGI4
ADDRGP4 CG_DrawString
CALLV
pop
line 129
;129:			}
LABELV $118
line 130
;130:		}
LABELV $113
line 131
;131:	}
LABELV $91
LABELV $87
LABELV $83
line 134
;132:
;133:	// draw the face
;134:	VectorClear( headAngles );
ADDRLP4 20
CNSTF4 0
ASGNF4
ADDRLP4 20+4
CNSTF4 0
ASGNF4
ADDRLP4 20+8
CNSTF4 0
ASGNF4
line 135
;135:	headAngles[YAW] = 180;
ADDRLP4 20+4
CNSTF4 1127481344
ASGNF4
line 136
;136:	if( largeFormat ) {
ADDRFP4 16
INDIRI4
CNSTI4 0
EQI4 $122
line 137
;137:		CG_DrawHead( headx, y - ( ICON_SIZE - BIGCHAR_HEIGHT ) / 2, ICON_SIZE, ICON_SIZE, 
ADDRLP4 100
INDIRI4
CVIF4 4
ARGF4
ADDRFP4 0
INDIRI4
CNSTI4 16
SUBI4
CVIF4 4
ARGF4
CNSTF4 1111490560
ARGF4
CNSTF4 1111490560
ARGF4
ADDRFP4 4
INDIRP4
INDIRI4
ARGI4
ADDRLP4 20
ARGP4
ADDRGP4 CG_DrawHead
CALLV
pop
line 139
;138:			score->client, headAngles );
;139:	}
ADDRGP4 $123
JUMPV
LABELV $122
line 140
;140:	else {
line 141
;141:		CG_DrawHead( headx, y, 16, 16, score->client, headAngles );
ADDRLP4 100
INDIRI4
CVIF4 4
ARGF4
ADDRFP4 0
INDIRI4
CVIF4 4
ARGF4
CNSTF4 1098907648
ARGF4
CNSTF4 1098907648
ARGF4
ADDRFP4 4
INDIRP4
INDIRI4
ARGI4
ADDRLP4 20
ARGP4
ADDRGP4 CG_DrawHead
CALLV
pop
line 142
;142:	}
LABELV $123
line 145
;143:
;144:	// draw the score line
;145:	if ( score->ping == -1 ) {
ADDRFP4 4
INDIRP4
CNSTI4 8
ADDP4
INDIRI4
CNSTI4 -1
NEI4 $124
line 146
;146:		BG_sprintf( string, " connecting" );
ADDRLP4 36
ARGP4
ADDRGP4 $126
ARGP4
ADDRGP4 BG_sprintf
CALLI4
pop
line 147
;147:	} else if ( ci->team == TEAM_SPECTATOR ) {
ADDRGP4 $125
JUMPV
LABELV $124
ADDRLP4 16
INDIRP4
CNSTI4 36
ADDP4
INDIRI4
CNSTI4 3
NEI4 $127
line 148
;148:		BG_sprintf( string, " SPECT %3i %4i", score->ping, score->time );
ADDRLP4 36
ARGP4
ADDRGP4 $129
ARGP4
ADDRLP4 108
ADDRFP4 4
INDIRP4
ASGNP4
ADDRLP4 108
INDIRP4
CNSTI4 8
ADDP4
INDIRI4
ARGI4
ADDRLP4 108
INDIRP4
CNSTI4 12
ADDP4
INDIRI4
ARGI4
ADDRGP4 BG_sprintf
CALLI4
pop
line 149
;149:	} else {
ADDRGP4 $128
JUMPV
LABELV $127
line 150
;150:		BG_sprintf( string, "%5i %4i %4i", score->score, score->ping, score->time );
ADDRLP4 36
ARGP4
ADDRGP4 $130
ARGP4
ADDRLP4 108
ADDRFP4 4
INDIRP4
ASGNP4
ADDRLP4 108
INDIRP4
CNSTI4 4
ADDP4
INDIRI4
ARGI4
ADDRLP4 108
INDIRP4
CNSTI4 8
ADDP4
INDIRI4
ARGI4
ADDRLP4 108
INDIRP4
CNSTI4 12
ADDP4
INDIRI4
ARGI4
ADDRGP4 BG_sprintf
CALLI4
pop
line 151
;151:	}
LABELV $128
LABELV $125
line 154
;152:
;153:	// highlight your position
;154:	if ( score->client == cg.snap->ps.clientNum ) {
ADDRFP4 4
INDIRP4
INDIRI4
ADDRGP4 cg+36
INDIRP4
CNSTI4 184
ADDP4
INDIRI4
NEI4 $131
line 158
;155:		float	hcolor[4];
;156:		int		rank;
;157:
;158:		localClient = qtrue;
ADDRGP4 localClient
CNSTI4 1
ASGNI4
line 160
;159:
;160:		if ( cg.snap->ps.persistant[PERS_TEAM] == TEAM_SPECTATOR 
ADDRGP4 cg+36
INDIRP4
CNSTI4 304
ADDP4
INDIRI4
CNSTI4 3
EQI4 $138
ADDRGP4 cgs+31480
INDIRI4
CNSTI4 3
LTI4 $134
LABELV $138
line 161
;161:			|| cgs.gametype >= GT_TDM ) {
line 162
;162:			rank = -1;
ADDRLP4 124
CNSTI4 -1
ASGNI4
line 163
;163:		} else {
ADDRGP4 $135
JUMPV
LABELV $134
line 164
;164:			rank = cg.snap->ps.persistant[PERS_RANK] & ~RANK_TIED_FLAG;
ADDRLP4 124
ADDRGP4 cg+36
INDIRP4
CNSTI4 300
ADDP4
INDIRI4
CNSTI4 -16385
BANDI4
ASGNI4
line 165
;165:		}
LABELV $135
line 166
;166:		if ( rank == 0 ) {
ADDRLP4 124
INDIRI4
CNSTI4 0
NEI4 $140
line 167
;167:			hcolor[0] = 0;
ADDRLP4 108
CNSTF4 0
ASGNF4
line 168
;168:			hcolor[1] = 0;
ADDRLP4 108+4
CNSTF4 0
ASGNF4
line 169
;169:			hcolor[2] = 0.7f;
ADDRLP4 108+8
CNSTF4 1060320051
ASGNF4
line 170
;170:		} else if ( rank == 1 ) {
ADDRGP4 $141
JUMPV
LABELV $140
ADDRLP4 124
INDIRI4
CNSTI4 1
NEI4 $144
line 171
;171:			hcolor[0] = 0.7f;
ADDRLP4 108
CNSTF4 1060320051
ASGNF4
line 172
;172:			hcolor[1] = 0;
ADDRLP4 108+4
CNSTF4 0
ASGNF4
line 173
;173:			hcolor[2] = 0;
ADDRLP4 108+8
CNSTF4 0
ASGNF4
line 174
;174:		} else if ( rank == 2 ) {
ADDRGP4 $145
JUMPV
LABELV $144
ADDRLP4 124
INDIRI4
CNSTI4 2
NEI4 $148
line 175
;175:			hcolor[0] = 0.7f;
ADDRLP4 108
CNSTF4 1060320051
ASGNF4
line 176
;176:			hcolor[1] = 0.7f;
ADDRLP4 108+4
CNSTF4 1060320051
ASGNF4
line 177
;177:			hcolor[2] = 0;
ADDRLP4 108+8
CNSTF4 0
ASGNF4
line 178
;178:		} else {
ADDRGP4 $149
JUMPV
LABELV $148
line 179
;179:			hcolor[0] = 0.7f;
ADDRLP4 108
CNSTF4 1060320051
ASGNF4
line 180
;180:			hcolor[1] = 0.7f;
ADDRLP4 108+4
CNSTF4 1060320051
ASGNF4
line 181
;181:			hcolor[2] = 0.7f;
ADDRLP4 108+8
CNSTF4 1060320051
ASGNF4
line 182
;182:		}
LABELV $149
LABELV $145
LABELV $141
line 184
;183:
;184:		hcolor[3] = fade * 0.7;
ADDRLP4 108+12
ADDRFP4 12
INDIRF4
CNSTF4 1060320051
MULF4
ASGNF4
line 185
;185:		CG_FillRect( SB_SCORELINE_X + BIGCHAR_WIDTH + (SB_RATING_WIDTH / 2), y, 
CNSTF4 1127219200
ARGF4
ADDRFP4 0
INDIRI4
CVIF4 4
ARGF4
CNSTF4 1139277824
ARGF4
CNSTF4 1099431936
ARGF4
ADDRLP4 108
ARGP4
ADDRGP4 CG_FillRect
CALLV
pop
line 188
;186:			640 - SB_SCORELINE_X - BIGCHAR_WIDTH - (SB_RATING_WIDTH/2),
;187:			BIGCHAR_HEIGHT+1, hcolor );
;188:	}
LABELV $131
line 190
;189:
;190:	VectorSet( c, 1, 1, 1 ); c[3] = fade;
ADDRLP4 0
CNSTF4 1065353216
ASGNF4
ADDRLP4 0+4
CNSTF4 1065353216
ASGNF4
ADDRLP4 0+8
CNSTF4 1065353216
ASGNF4
ADDRLP4 0+12
ADDRFP4 12
INDIRF4
ASGNF4
line 192
;191:	// score
;192:	CG_DrawString( SB_SCORELINE_X + (SB_RATING_WIDTH / 2), y, string, c, BIGCHAR_WIDTH, BIGCHAR_HEIGHT, 0, DS_SHADOW );
CNSTF4 1126170624
ARGF4
ADDRFP4 0
INDIRI4
CVIF4 4
ARGF4
ADDRLP4 36
ARGP4
ADDRLP4 0
ARGP4
CNSTF4 1098907648
ARGF4
CNSTF4 1098907648
ARGF4
CNSTI4 0
ARGI4
CNSTI4 1
ARGI4
ADDRGP4 CG_DrawString
CALLV
pop
line 194
;193:	// name
;194:	CG_DrawString( SB_SCORELINE_X + (SB_RATING_WIDTH / 2) + BIGCHAR_WIDTH*16, y, ci->name, c, BIGCHAR_WIDTH, BIGCHAR_HEIGHT, 0, DS_SHADOW | DS_PROPORTIONAL );
CNSTF4 1137704960
ARGF4
ADDRFP4 0
INDIRI4
CVIF4 4
ARGF4
ADDRLP4 16
INDIRP4
CNSTI4 4
ADDP4
ARGP4
ADDRLP4 0
ARGP4
CNSTF4 1098907648
ARGF4
CNSTF4 1098907648
ARGF4
CNSTI4 0
ARGI4
CNSTI4 5
ARGI4
ADDRGP4 CG_DrawString
CALLV
pop
line 197
;195:
;196:	// add the "ready" marker for intermission exiting
;197:	if ( cg.snap->ps.stats[ STAT_CLIENTS_READY ] & ( 1 << score->client ) ) {
ADDRGP4 cg+36
INDIRP4
CNSTI4 252
ADDP4
INDIRI4
CNSTI4 1
ADDRFP4 4
INDIRP4
INDIRI4
LSHI4
BANDI4
CNSTI4 0
EQI4 $158
line 198
;198:		CG_DrawString( iconx, y, "READY", color, BIGCHAR_WIDTH, BIGCHAR_HEIGHT, 0, DS_SHADOW | DS_FORCE_COLOR );
ADDRLP4 32
INDIRI4
CVIF4 4
ARGF4
ADDRFP4 0
INDIRI4
CVIF4 4
ARGF4
ADDRGP4 $161
ARGP4
ADDRFP4 8
INDIRP4
ARGP4
CNSTF4 1098907648
ARGF4
CNSTF4 1098907648
ARGF4
CNSTI4 0
ARGI4
CNSTI4 3
ARGI4
ADDRGP4 CG_DrawString
CALLV
pop
line 199
;199:	}
LABELV $158
line 202
;200:
;201:	// set bounds for scoreboard clicks
;202:	score->minx = SB_SCORELINE_X;
ADDRFP4 4
INDIRP4
CNSTI4 60
ADDP4
CNSTI4 112
ASGNI4
line 203
;203:	score->maxx = SCREEN_WIDTH - 8;
ADDRFP4 4
INDIRP4
CNSTI4 64
ADDP4
CNSTI4 632
ASGNI4
line 204
;204:	score->miny = y;
ADDRFP4 4
INDIRP4
CNSTI4 68
ADDP4
ADDRFP4 0
INDIRI4
ASGNI4
line 205
;205:	score->maxy = y + BIGCHAR_HEIGHT;
ADDRFP4 4
INDIRP4
CNSTI4 72
ADDP4
ADDRFP4 0
INDIRI4
CNSTI4 16
ADDI4
ASGNI4
line 206
;206:	if ( largeFormat )
ADDRFP4 16
INDIRI4
CNSTI4 0
EQI4 $162
line 207
;207:	{
line 208
;208:		score->miny -= ( ICON_SIZE - BIGCHAR_HEIGHT ) / 2;
ADDRLP4 108
ADDRFP4 4
INDIRP4
CNSTI4 68
ADDP4
ASGNP4
ADDRLP4 108
INDIRP4
ADDRLP4 108
INDIRP4
INDIRI4
CNSTI4 16
SUBI4
ASGNI4
line 209
;209:		score->maxy += ( ICON_SIZE - BIGCHAR_HEIGHT ) / 2;
ADDRLP4 112
ADDRFP4 4
INDIRP4
CNSTI4 72
ADDP4
ASGNP4
ADDRLP4 112
INDIRP4
ADDRLP4 112
INDIRP4
INDIRI4
CNSTI4 16
ADDI4
ASGNI4
line 210
;210:	}
LABELV $162
line 211
;211:}
LABELV $73
endproc CG_DrawClientScore 128 32
export CG_ScoreboardClick
proc CG_ScoreboardClick 20 8
line 220
;212:
;213:
;214:/*
;215:=================
;216:CG_ScoreboardClick
;217:=================
;218:*/
;219:void CG_ScoreboardClick( void )
;220:{
line 224
;221:	score_t	*score;
;222:	int i;
;223:
;224:	if ( cg.intermissionStarted )
ADDRGP4 cg+24
INDIRI4
CNSTI4 0
EQI4 $165
line 225
;225:		return;
ADDRGP4 $164
JUMPV
LABELV $165
line 227
;226:
;227:	if ( !cg.snap || cg.snap->ps.pm_type == PM_INTERMISSION )
ADDRGP4 cg+36
INDIRP4
CVPU4 4
CNSTU4 0
EQU4 $172
ADDRGP4 cg+36
INDIRP4
CNSTI4 48
ADDP4
INDIRI4
CNSTI4 5
NEI4 $168
LABELV $172
line 228
;228:		return;
ADDRGP4 $164
JUMPV
LABELV $168
line 230
;229:
;230:	score = cg.scores;
ADDRLP4 0
ADDRGP4 cg+110492
ASGNP4
line 231
;231:	for ( i = 0; i < cg.numScores; i++, score++ ) {
ADDRLP4 4
CNSTI4 0
ASGNI4
ADDRGP4 $177
JUMPV
LABELV $174
line 232
;232:		if ( score->team >= TEAM_SPECTATOR ) {
ADDRLP4 0
INDIRP4
CNSTI4 56
ADDP4
INDIRI4
CNSTI4 3
LTI4 $179
line 233
;233:			continue;
ADDRGP4 $175
JUMPV
LABELV $179
line 235
;234:		}
;235:		if ( cgs.cursorX < score->minx || cgs.cursorX > score->maxx )
ADDRGP4 cgs+149928
INDIRF4
ADDRLP4 0
INDIRP4
CNSTI4 60
ADDP4
INDIRI4
CVIF4 4
LTF4 $185
ADDRGP4 cgs+149928
INDIRF4
ADDRLP4 0
INDIRP4
CNSTI4 64
ADDP4
INDIRI4
CVIF4 4
LEF4 $181
LABELV $185
line 236
;236:			continue;
ADDRGP4 $175
JUMPV
LABELV $181
line 237
;237:		if ( cgs.cursorY < score->miny || cgs.cursorY > score->maxy )
ADDRGP4 cgs+149932
INDIRF4
ADDRLP4 0
INDIRP4
CNSTI4 68
ADDP4
INDIRI4
CVIF4 4
LTF4 $190
ADDRGP4 cgs+149932
INDIRF4
ADDRLP4 0
INDIRP4
CNSTI4 72
ADDP4
INDIRI4
CVIF4 4
LEF4 $186
LABELV $190
line 238
;238:			continue;
ADDRGP4 $175
JUMPV
LABELV $186
line 239
;239:		if ( !cgs.clientinfo[ score->client ].infoValid ) {
ADDRLP4 0
INDIRP4
INDIRI4
CNSTI4 1652
MULI4
ADDRGP4 cgs+40996
ADDP4
INDIRI4
CNSTI4 0
NEI4 $191
line 240
;240:			continue;
ADDRGP4 $175
JUMPV
LABELV $191
line 243
;241:		}
;242:
;243:		if ( !cg.demoPlayback ) {
ADDRGP4 cg+8
INDIRI4
CNSTI4 0
NEI4 $194
line 244
;244:			trap_SendClientCommand( va( "follow %i", score->client ) );
ADDRGP4 $197
ARGP4
ADDRLP4 0
INDIRP4
INDIRI4
ARGI4
ADDRLP4 16
ADDRGP4 va
CALLP4
ASGNP4
ADDRLP4 16
INDIRP4
ARGP4
ADDRGP4 trap_SendClientCommand
CALLV
pop
line 245
;245:		}
LABELV $194
line 246
;246:	}
LABELV $175
line 231
ADDRLP4 4
ADDRLP4 4
INDIRI4
CNSTI4 1
ADDI4
ASGNI4
ADDRLP4 0
ADDRLP4 0
INDIRP4
CNSTI4 76
ADDP4
ASGNP4
LABELV $177
ADDRLP4 4
INDIRI4
ADDRGP4 cg+110476
INDIRI4
LTI4 $174
line 247
;247:}
LABELV $164
endproc CG_ScoreboardClick 20 8
proc CG_TeamScoreboard 48 20
line 255
;248:
;249:
;250:/*
;251:=================
;252:CG_TeamScoreboard
;253:=================
;254:*/
;255:static int CG_TeamScoreboard( int y, team_t team, float fade, int maxClients, int lineHeight ) {
line 262
;256:	int		i;
;257:	score_t	*score;
;258:	float	color[4];
;259:	int		count;
;260:	clientInfo_t	*ci;
;261:
;262:	color[0] = color[1] = color[2] = 1.0;
ADDRLP4 32
CNSTF4 1065353216
ASGNF4
ADDRLP4 16+8
ADDRLP4 32
INDIRF4
ASGNF4
ADDRLP4 16+4
ADDRLP4 32
INDIRF4
ASGNF4
ADDRLP4 16
ADDRLP4 32
INDIRF4
ASGNF4
line 263
;263:	color[3] = fade;
ADDRLP4 16+12
ADDRFP4 8
INDIRF4
ASGNF4
line 265
;264:
;265:	count = 0;
ADDRLP4 0
CNSTI4 0
ASGNI4
line 266
;266:	for ( i = 0 ; i < cg.numScores && count < maxClients ; i++ ) {
ADDRLP4 4
CNSTI4 0
ASGNI4
ADDRGP4 $205
JUMPV
LABELV $202
line 267
;267:		score = &cg.scores[i];
ADDRLP4 8
ADDRLP4 4
INDIRI4
CNSTI4 76
MULI4
ADDRGP4 cg+110492
ADDP4
ASGNP4
line 268
;268:		ci = &cgs.clientinfo[ score->client ];
ADDRLP4 12
ADDRLP4 8
INDIRP4
INDIRI4
CNSTI4 1652
MULI4
ADDRGP4 cgs+40996
ADDP4
ASGNP4
line 270
;269:
;270:		if ( team != ci->team || !ci->infoValid ) {
ADDRFP4 4
INDIRI4
ADDRLP4 12
INDIRP4
CNSTI4 36
ADDP4
INDIRI4
NEI4 $211
ADDRLP4 12
INDIRP4
INDIRI4
CNSTI4 0
NEI4 $209
LABELV $211
line 271
;271:			continue;
ADDRGP4 $203
JUMPV
LABELV $209
line 274
;272:		}
;273:
;274:		CG_DrawClientScore( y + lineHeight * count, score, color, fade, lineHeight == SB_NORMAL_HEIGHT );
ADDRLP4 44
ADDRFP4 16
INDIRI4
ASGNI4
ADDRFP4 0
INDIRI4
ADDRLP4 44
INDIRI4
ADDRLP4 0
INDIRI4
MULI4
ADDI4
ARGI4
ADDRLP4 8
INDIRP4
ARGP4
ADDRLP4 16
ARGP4
ADDRFP4 8
INDIRF4
ARGF4
ADDRLP4 44
INDIRI4
CNSTI4 40
NEI4 $213
ADDRLP4 40
CNSTI4 1
ASGNI4
ADDRGP4 $214
JUMPV
LABELV $213
ADDRLP4 40
CNSTI4 0
ASGNI4
LABELV $214
ADDRLP4 40
INDIRI4
ARGI4
ADDRGP4 CG_DrawClientScore
CALLV
pop
line 276
;275:
;276:		count++;
ADDRLP4 0
ADDRLP4 0
INDIRI4
CNSTI4 1
ADDI4
ASGNI4
line 277
;277:	}
LABELV $203
line 266
ADDRLP4 4
ADDRLP4 4
INDIRI4
CNSTI4 1
ADDI4
ASGNI4
LABELV $205
ADDRLP4 4
INDIRI4
ADDRGP4 cg+110476
INDIRI4
GEI4 $215
ADDRLP4 0
INDIRI4
ADDRFP4 12
INDIRI4
LTI4 $202
LABELV $215
line 279
;278:
;279:	return count;
ADDRLP4 0
INDIRI4
RETI4
LABELV $198
endproc CG_TeamScoreboard 48 20
export CG_DrawOldScoreboard
proc CG_DrawOldScoreboard 52 32
line 289
;280:}
;281:
;282:/*
;283:=================
;284:CG_DrawScoreboard
;285:
;286:Draw the normal in-game scoreboard
;287:=================
;288:*/
;289:qboolean CG_DrawOldScoreboard( void ) {
line 299
;290:	int		y, i, n1, n2;
;291:	float	fade;
;292:	float	*fadeColor;
;293:	char	*s;
;294:	int maxClients;
;295:	int lineHeight;
;296:	int topBorderSize, bottomBorderSize;
;297:
;298:	// don't draw anything if the menu or console is up
;299:	if ( cg_paused.integer ) {
ADDRGP4 cg_paused+12
INDIRI4
CNSTI4 0
EQI4 $217
line 300
;300:		cg.deferredPlayerLoading = 0;
ADDRGP4 cg+16
CNSTI4 0
ASGNI4
line 301
;301:		return qfalse;
CNSTI4 0
RETI4
ADDRGP4 $216
JUMPV
LABELV $217
line 304
;302:	}
;303:
;304:	if ( cgs.gametype == GT_CAMPAIGN && cg.predictedPlayerState.pm_type == PM_INTERMISSION ) {
ADDRGP4 cgs+31480
INDIRI4
CNSTI4 0
NEI4 $221
ADDRGP4 cg+107636+4
INDIRI4
CNSTI4 5
NEI4 $221
line 305
;305:		cg.deferredPlayerLoading = 0;
ADDRGP4 cg+16
CNSTI4 0
ASGNI4
line 306
;306:		return qfalse;
CNSTI4 0
RETI4
ADDRGP4 $216
JUMPV
LABELV $221
line 310
;307:	}
;308:
;309:	// don't draw scoreboard during death while warmup up
;310:	if ( cg.warmup && !cg.showScores ) {
ADDRGP4 cg+125756
INDIRI4
CNSTI4 0
EQI4 $227
ADDRGP4 cg+115356
INDIRI4
CNSTI4 0
NEI4 $227
line 311
;311:		return qfalse;
CNSTI4 0
RETI4
ADDRGP4 $216
JUMPV
LABELV $227
line 314
;312:	}
;313:
;314:	if ( cg.showScores || cg.predictedPlayerState.pm_type == PM_DEAD ||
ADDRGP4 cg+115356
INDIRI4
CNSTI4 0
NEI4 $239
ADDRGP4 cg+107636+4
INDIRI4
CNSTI4 3
EQI4 $239
ADDRGP4 cg+107636+4
INDIRI4
CNSTI4 5
NEI4 $231
LABELV $239
line 315
;315:		 cg.predictedPlayerState.pm_type == PM_INTERMISSION ) {
line 316
;316:		fade = 1.0;
ADDRLP4 12
CNSTF4 1065353216
ASGNF4
line 317
;317:		fadeColor = colorWhite;
ADDRLP4 16
ADDRGP4 colorWhite
ASGNP4
line 318
;318:	} else {
ADDRGP4 $232
JUMPV
LABELV $231
line 319
;319:		fadeColor = CG_FadeColor( cg.scoreFadeTime, FADE_TIME );
ADDRGP4 cg+115364
INDIRI4
ARGI4
CNSTI4 200
ARGI4
ADDRLP4 44
ADDRGP4 CG_FadeColor
CALLP4
ASGNP4
ADDRLP4 16
ADDRLP4 44
INDIRP4
ASGNP4
line 321
;320:		
;321:		if ( !fadeColor ) {
ADDRLP4 16
INDIRP4
CVPU4 4
CNSTU4 0
NEU4 $241
line 323
;322:			// next time scoreboard comes up, don't print killer
;323:			cg.deferredPlayerLoading = 0;
ADDRGP4 cg+16
CNSTI4 0
ASGNI4
line 324
;324:			cg.killerName[0] = 0;
ADDRGP4 cg+115368
CNSTI1 0
ASGNI1
line 325
;325:			return qfalse;
CNSTI4 0
RETI4
ADDRGP4 $216
JUMPV
LABELV $241
line 327
;326:		}
;327:		fade = fadeColor[3];
ADDRLP4 12
ADDRLP4 16
INDIRP4
CNSTI4 12
ADDP4
INDIRF4
ASGNF4
line 328
;328:	}
LABELV $232
line 331
;329:
;330:	// fragged by ... line
;331:	if ( cg.killerName[0] ) {
ADDRGP4 cg+115368
INDIRI1
CVII4 1
CNSTI4 0
EQI4 $245
line 332
;332:		s = va( "Fragged by %s", cg.killerName );
ADDRGP4 $248
ARGP4
ADDRGP4 cg+115368
ARGP4
ADDRLP4 44
ADDRGP4 va
CALLP4
ASGNP4
ADDRLP4 32
ADDRLP4 44
INDIRP4
ASGNP4
line 333
;333:		CG_DrawString( 320, 40, s, fadeColor, BIGCHAR_WIDTH, BIGCHAR_HEIGHT, 0, DS_SHADOW | DS_CENTER | DS_PROPORTIONAL );
CNSTF4 1134559232
ARGF4
CNSTF4 1109393408
ARGF4
ADDRLP4 32
INDIRP4
ARGP4
ADDRLP4 16
INDIRP4
ARGP4
CNSTF4 1098907648
ARGF4
CNSTF4 1098907648
ARGF4
CNSTI4 0
ARGI4
CNSTI4 13
ARGI4
ADDRGP4 CG_DrawString
CALLV
pop
line 334
;334:	}
LABELV $245
line 337
;335:
;336:	// current rank
;337:	if ( cgs.gametype < GT_TDM) {
ADDRGP4 cgs+31480
INDIRI4
CNSTI4 3
GEI4 $250
line 338
;338:		if (cg.snap->ps.persistant[PERS_TEAM] != TEAM_SPECTATOR ) {
ADDRGP4 cg+36
INDIRP4
CNSTI4 304
ADDP4
INDIRI4
CNSTI4 3
EQI4 $251
line 339
;339:			s = va( "%s place with %i",
ADDRGP4 cg+36
INDIRP4
CNSTI4 300
ADDP4
INDIRI4
CNSTI4 1
ADDI4
ARGI4
ADDRLP4 44
ADDRGP4 CG_PlaceString
CALLP4
ASGNP4
ADDRGP4 $256
ARGP4
ADDRLP4 44
INDIRP4
ARGP4
ADDRGP4 cg+36
INDIRP4
CNSTI4 292
ADDP4
INDIRI4
ARGI4
ADDRLP4 48
ADDRGP4 va
CALLP4
ASGNP4
ADDRLP4 32
ADDRLP4 48
INDIRP4
ASGNP4
line 343
;340:				CG_PlaceString( cg.snap->ps.persistant[PERS_RANK] + 1 ),
;341:				cg.snap->ps.persistant[PERS_SCORE] );
;342:
;343:			CG_DrawString( 320, 60, s, fadeColor, BIGCHAR_WIDTH, BIGCHAR_HEIGHT, 0, DS_SHADOW | DS_CENTER | DS_PROPORTIONAL );
CNSTF4 1134559232
ARGF4
CNSTF4 1114636288
ARGF4
ADDRLP4 32
INDIRP4
ARGP4
ADDRLP4 16
INDIRP4
ARGP4
CNSTF4 1098907648
ARGF4
CNSTF4 1098907648
ARGF4
CNSTI4 0
ARGI4
CNSTI4 13
ARGI4
ADDRGP4 CG_DrawString
CALLV
pop
line 344
;344:		}
line 345
;345:	} else {
ADDRGP4 $251
JUMPV
LABELV $250
line 346
;346:		if ( cg.teamScores[0] == cg.teamScores[1] ) {
ADDRGP4 cg+110484
INDIRI4
ADDRGP4 cg+110484+4
INDIRI4
NEI4 $259
line 347
;347:			s = va("Teams are tied at %i", cg.teamScores[0] );
ADDRGP4 $264
ARGP4
ADDRGP4 cg+110484
INDIRI4
ARGI4
ADDRLP4 44
ADDRGP4 va
CALLP4
ASGNP4
ADDRLP4 32
ADDRLP4 44
INDIRP4
ASGNP4
line 348
;348:		} else if ( cg.teamScores[0] >= cg.teamScores[1] ) {
ADDRGP4 $260
JUMPV
LABELV $259
ADDRGP4 cg+110484
INDIRI4
ADDRGP4 cg+110484+4
INDIRI4
LTI4 $266
line 349
;349:			s = va("Red leads %i to %i",cg.teamScores[0], cg.teamScores[1] );
ADDRGP4 $271
ARGP4
ADDRGP4 cg+110484
INDIRI4
ARGI4
ADDRGP4 cg+110484+4
INDIRI4
ARGI4
ADDRLP4 44
ADDRGP4 va
CALLP4
ASGNP4
ADDRLP4 32
ADDRLP4 44
INDIRP4
ASGNP4
line 350
;350:		} else {
ADDRGP4 $267
JUMPV
LABELV $266
line 351
;351:			s = va("Blue leads %i to %i",cg.teamScores[1], cg.teamScores[0] );
ADDRGP4 $275
ARGP4
ADDRGP4 cg+110484+4
INDIRI4
ARGI4
ADDRGP4 cg+110484
INDIRI4
ARGI4
ADDRLP4 44
ADDRGP4 va
CALLP4
ASGNP4
ADDRLP4 32
ADDRLP4 44
INDIRP4
ASGNP4
line 352
;352:		}
LABELV $267
LABELV $260
line 354
;353:
;354:		CG_DrawString( 320, 60, s, fadeColor, BIGCHAR_WIDTH, BIGCHAR_HEIGHT, 0, DS_SHADOW | DS_CENTER | DS_PROPORTIONAL );
CNSTF4 1134559232
ARGF4
CNSTF4 1114636288
ARGF4
ADDRLP4 32
INDIRP4
ARGP4
ADDRLP4 16
INDIRP4
ARGP4
CNSTF4 1098907648
ARGF4
CNSTF4 1098907648
ARGF4
CNSTI4 0
ARGI4
CNSTI4 13
ARGI4
ADDRGP4 CG_DrawString
CALLV
pop
line 355
;355:	}
LABELV $251
line 358
;356:
;357:	// scoreboard
;358:	y = SB_HEADER;
ADDRLP4 4
CNSTI4 86
ASGNI4
line 360
;359:
;360:	CG_DrawPic( SB_SCORE_X + (SB_RATING_WIDTH / 2), y, 64, 32, cgs.media.scoreboardScore );
CNSTF4 1127219200
ARGF4
ADDRLP4 4
INDIRI4
CVIF4 4
ARGF4
CNSTF4 1115684864
ARGF4
CNSTF4 1107296256
ARGF4
ADDRGP4 cgs+148692+576
INDIRI4
ARGI4
ADDRGP4 CG_DrawPic
CALLV
pop
line 361
;361:	CG_DrawPic( SB_PING_X - (SB_RATING_WIDTH / 2), y, 64, 32, cgs.media.scoreboardPing );
CNSTF4 1132724224
ARGF4
ADDRLP4 4
INDIRI4
CVIF4 4
ARGF4
CNSTF4 1115684864
ARGF4
CNSTF4 1107296256
ARGF4
ADDRGP4 cgs+148692+572
INDIRI4
ARGI4
ADDRGP4 CG_DrawPic
CALLV
pop
line 362
;362:	CG_DrawPic( SB_TIME_X - (SB_RATING_WIDTH / 2), y, 64, 32, cgs.media.scoreboardTime );
CNSTF4 1135345664
ARGF4
ADDRLP4 4
INDIRI4
CVIF4 4
ARGF4
CNSTF4 1115684864
ARGF4
CNSTF4 1107296256
ARGF4
ADDRGP4 cgs+148692+580
INDIRI4
ARGI4
ADDRGP4 CG_DrawPic
CALLV
pop
line 363
;363:	CG_DrawPic( SB_NAME_X - (SB_RATING_WIDTH / 2), y, 64, 32, cgs.media.scoreboardName );
CNSTF4 1137704960
ARGF4
ADDRLP4 4
INDIRI4
CVIF4 4
ARGF4
CNSTF4 1115684864
ARGF4
CNSTF4 1107296256
ARGF4
ADDRGP4 cgs+148692+568
INDIRI4
ARGI4
ADDRGP4 CG_DrawPic
CALLV
pop
line 365
;364:
;365:	y = SB_TOP;
ADDRLP4 4
CNSTI4 118
ASGNI4
line 368
;366:
;367:	// If there are more than SB_MAXCLIENTS_NORMAL, use the interleaved scores
;368:	if ( cg.numScores > SB_MAXCLIENTS_NORMAL ) {
ADDRGP4 cg+110476
INDIRI4
CNSTI4 7
LEI4 $287
line 369
;369:		maxClients = SB_MAXCLIENTS_INTER;
ADDRLP4 24
CNSTI4 17
ASGNI4
line 370
;370:		lineHeight = SB_INTER_HEIGHT;
ADDRLP4 8
CNSTI4 16
ASGNI4
line 371
;371:		topBorderSize = 8;
ADDRLP4 36
CNSTI4 8
ASGNI4
line 372
;372:		bottomBorderSize = 16;
ADDRLP4 40
CNSTI4 16
ASGNI4
line 373
;373:	} else {
ADDRGP4 $288
JUMPV
LABELV $287
line 374
;374:		maxClients = SB_MAXCLIENTS_NORMAL;
ADDRLP4 24
CNSTI4 7
ASGNI4
line 375
;375:		lineHeight = SB_NORMAL_HEIGHT;
ADDRLP4 8
CNSTI4 40
ASGNI4
line 376
;376:		topBorderSize = 16;
ADDRLP4 36
CNSTI4 16
ASGNI4
line 377
;377:		bottomBorderSize = 16;
ADDRLP4 40
CNSTI4 16
ASGNI4
line 378
;378:	}
LABELV $288
line 380
;379:
;380:	localClient = qfalse;
ADDRGP4 localClient
CNSTI4 0
ASGNI4
line 382
;381:
;382:	if ( cgs.gametype >= GT_TDM ) {
ADDRGP4 cgs+31480
INDIRI4
CNSTI4 3
LTI4 $290
line 386
;383:		//
;384:		// teamplay scoreboard
;385:		//
;386:		y += lineHeight/2;
ADDRLP4 4
ADDRLP4 4
INDIRI4
ADDRLP4 8
INDIRI4
CNSTI4 2
DIVI4
ADDI4
ASGNI4
line 388
;387:
;388:		if ( cg.teamScores[0] >= cg.teamScores[1] ) {
ADDRGP4 cg+110484
INDIRI4
ADDRGP4 cg+110484+4
INDIRI4
LTI4 $293
line 389
;389:			n1 = CG_TeamScoreboard( y, TEAM_RED, fade, maxClients, lineHeight );
ADDRLP4 4
INDIRI4
ARGI4
CNSTI4 1
ARGI4
ADDRLP4 12
INDIRF4
ARGF4
ADDRLP4 24
INDIRI4
ARGI4
ADDRLP4 8
INDIRI4
ARGI4
ADDRLP4 44
ADDRGP4 CG_TeamScoreboard
CALLI4
ASGNI4
ADDRLP4 20
ADDRLP4 44
INDIRI4
ASGNI4
line 390
;390:			CG_DrawTeamBackground( 0, y - topBorderSize, 640, n1 * lineHeight + bottomBorderSize, 0.33f, TEAM_RED );
CNSTI4 0
ARGI4
ADDRLP4 4
INDIRI4
ADDRLP4 36
INDIRI4
SUBI4
ARGI4
CNSTI4 640
ARGI4
ADDRLP4 20
INDIRI4
ADDRLP4 8
INDIRI4
MULI4
ADDRLP4 40
INDIRI4
ADDI4
ARGI4
CNSTF4 1051260355
ARGF4
CNSTI4 1
ARGI4
ADDRGP4 CG_DrawTeamBackground
CALLV
pop
line 391
;391:			y += (n1 * lineHeight) + BIGCHAR_HEIGHT;
ADDRLP4 4
ADDRLP4 4
INDIRI4
ADDRLP4 20
INDIRI4
ADDRLP4 8
INDIRI4
MULI4
CNSTI4 16
ADDI4
ADDI4
ASGNI4
line 392
;392:			maxClients -= n1;
ADDRLP4 24
ADDRLP4 24
INDIRI4
ADDRLP4 20
INDIRI4
SUBI4
ASGNI4
line 393
;393:			n2 = CG_TeamScoreboard( y, TEAM_BLUE, fade, maxClients, lineHeight );
ADDRLP4 4
INDIRI4
ARGI4
CNSTI4 2
ARGI4
ADDRLP4 12
INDIRF4
ARGF4
ADDRLP4 24
INDIRI4
ARGI4
ADDRLP4 8
INDIRI4
ARGI4
ADDRLP4 48
ADDRGP4 CG_TeamScoreboard
CALLI4
ASGNI4
ADDRLP4 28
ADDRLP4 48
INDIRI4
ASGNI4
line 394
;394:			CG_DrawTeamBackground( 0, y - topBorderSize, 640, n2 * lineHeight + bottomBorderSize, 0.33f, TEAM_BLUE );
CNSTI4 0
ARGI4
ADDRLP4 4
INDIRI4
ADDRLP4 36
INDIRI4
SUBI4
ARGI4
CNSTI4 640
ARGI4
ADDRLP4 28
INDIRI4
ADDRLP4 8
INDIRI4
MULI4
ADDRLP4 40
INDIRI4
ADDI4
ARGI4
CNSTF4 1051260355
ARGF4
CNSTI4 2
ARGI4
ADDRGP4 CG_DrawTeamBackground
CALLV
pop
line 395
;395:			y += (n2 * lineHeight) + BIGCHAR_HEIGHT;
ADDRLP4 4
ADDRLP4 4
INDIRI4
ADDRLP4 28
INDIRI4
ADDRLP4 8
INDIRI4
MULI4
CNSTI4 16
ADDI4
ADDI4
ASGNI4
line 396
;396:			maxClients -= n2;
ADDRLP4 24
ADDRLP4 24
INDIRI4
ADDRLP4 28
INDIRI4
SUBI4
ASGNI4
line 397
;397:		} else {
ADDRGP4 $294
JUMPV
LABELV $293
line 398
;398:			n1 = CG_TeamScoreboard( y, TEAM_BLUE, fade, maxClients, lineHeight );
ADDRLP4 4
INDIRI4
ARGI4
CNSTI4 2
ARGI4
ADDRLP4 12
INDIRF4
ARGF4
ADDRLP4 24
INDIRI4
ARGI4
ADDRLP4 8
INDIRI4
ARGI4
ADDRLP4 44
ADDRGP4 CG_TeamScoreboard
CALLI4
ASGNI4
ADDRLP4 20
ADDRLP4 44
INDIRI4
ASGNI4
line 399
;399:			CG_DrawTeamBackground( 0, y - topBorderSize, 640, n1 * lineHeight + bottomBorderSize, 0.33f, TEAM_BLUE );
CNSTI4 0
ARGI4
ADDRLP4 4
INDIRI4
ADDRLP4 36
INDIRI4
SUBI4
ARGI4
CNSTI4 640
ARGI4
ADDRLP4 20
INDIRI4
ADDRLP4 8
INDIRI4
MULI4
ADDRLP4 40
INDIRI4
ADDI4
ARGI4
CNSTF4 1051260355
ARGF4
CNSTI4 2
ARGI4
ADDRGP4 CG_DrawTeamBackground
CALLV
pop
line 400
;400:			y += (n1 * lineHeight) + BIGCHAR_HEIGHT;
ADDRLP4 4
ADDRLP4 4
INDIRI4
ADDRLP4 20
INDIRI4
ADDRLP4 8
INDIRI4
MULI4
CNSTI4 16
ADDI4
ADDI4
ASGNI4
line 401
;401:			maxClients -= n1;
ADDRLP4 24
ADDRLP4 24
INDIRI4
ADDRLP4 20
INDIRI4
SUBI4
ASGNI4
line 402
;402:			n2 = CG_TeamScoreboard( y, TEAM_RED, fade, maxClients, lineHeight );
ADDRLP4 4
INDIRI4
ARGI4
CNSTI4 1
ARGI4
ADDRLP4 12
INDIRF4
ARGF4
ADDRLP4 24
INDIRI4
ARGI4
ADDRLP4 8
INDIRI4
ARGI4
ADDRLP4 48
ADDRGP4 CG_TeamScoreboard
CALLI4
ASGNI4
ADDRLP4 28
ADDRLP4 48
INDIRI4
ASGNI4
line 403
;403:			CG_DrawTeamBackground( 0, y - topBorderSize, 640, n2 * lineHeight + bottomBorderSize, 0.33f, TEAM_RED );
CNSTI4 0
ARGI4
ADDRLP4 4
INDIRI4
ADDRLP4 36
INDIRI4
SUBI4
ARGI4
CNSTI4 640
ARGI4
ADDRLP4 28
INDIRI4
ADDRLP4 8
INDIRI4
MULI4
ADDRLP4 40
INDIRI4
ADDI4
ARGI4
CNSTF4 1051260355
ARGF4
CNSTI4 1
ARGI4
ADDRGP4 CG_DrawTeamBackground
CALLV
pop
line 404
;404:			y += (n2 * lineHeight) + BIGCHAR_HEIGHT;
ADDRLP4 4
ADDRLP4 4
INDIRI4
ADDRLP4 28
INDIRI4
ADDRLP4 8
INDIRI4
MULI4
CNSTI4 16
ADDI4
ADDI4
ASGNI4
line 405
;405:			maxClients -= n2;
ADDRLP4 24
ADDRLP4 24
INDIRI4
ADDRLP4 28
INDIRI4
SUBI4
ASGNI4
line 406
;406:		}
LABELV $294
line 407
;407:		n1 = CG_TeamScoreboard( y, TEAM_SPECTATOR, fade, maxClients, lineHeight );
ADDRLP4 4
INDIRI4
ARGI4
CNSTI4 3
ARGI4
ADDRLP4 12
INDIRF4
ARGF4
ADDRLP4 24
INDIRI4
ARGI4
ADDRLP4 8
INDIRI4
ARGI4
ADDRLP4 44
ADDRGP4 CG_TeamScoreboard
CALLI4
ASGNI4
ADDRLP4 20
ADDRLP4 44
INDIRI4
ASGNI4
line 408
;408:		y += (n1 * lineHeight) + BIGCHAR_HEIGHT;
ADDRLP4 4
ADDRLP4 4
INDIRI4
ADDRLP4 20
INDIRI4
ADDRLP4 8
INDIRI4
MULI4
CNSTI4 16
ADDI4
ADDI4
ASGNI4
line 410
;409:
;410:	} else {
ADDRGP4 $291
JUMPV
LABELV $290
line 414
;411:		//
;412:		// free for all scoreboard
;413:		//
;414:		n1 = CG_TeamScoreboard( y, TEAM_FREE, fade, maxClients, lineHeight );
ADDRLP4 4
INDIRI4
ARGI4
CNSTI4 0
ARGI4
ADDRLP4 12
INDIRF4
ARGF4
ADDRLP4 24
INDIRI4
ARGI4
ADDRLP4 8
INDIRI4
ARGI4
ADDRLP4 44
ADDRGP4 CG_TeamScoreboard
CALLI4
ASGNI4
ADDRLP4 20
ADDRLP4 44
INDIRI4
ASGNI4
line 415
;415:		y += (n1 * lineHeight) + BIGCHAR_HEIGHT;
ADDRLP4 4
ADDRLP4 4
INDIRI4
ADDRLP4 20
INDIRI4
ADDRLP4 8
INDIRI4
MULI4
CNSTI4 16
ADDI4
ADDI4
ASGNI4
line 416
;416:		n2 = CG_TeamScoreboard( y, TEAM_SPECTATOR, fade, maxClients - n1, lineHeight );
ADDRLP4 4
INDIRI4
ARGI4
CNSTI4 3
ARGI4
ADDRLP4 12
INDIRF4
ARGF4
ADDRLP4 24
INDIRI4
ADDRLP4 20
INDIRI4
SUBI4
ARGI4
ADDRLP4 8
INDIRI4
ARGI4
ADDRLP4 48
ADDRGP4 CG_TeamScoreboard
CALLI4
ASGNI4
ADDRLP4 28
ADDRLP4 48
INDIRI4
ASGNI4
line 417
;417:		y += (n2 * lineHeight) + BIGCHAR_HEIGHT;
ADDRLP4 4
ADDRLP4 4
INDIRI4
ADDRLP4 28
INDIRI4
ADDRLP4 8
INDIRI4
MULI4
CNSTI4 16
ADDI4
ADDI4
ASGNI4
line 418
;418:	}
LABELV $291
line 420
;419:
;420:	if (!localClient) {
ADDRGP4 localClient
INDIRI4
CNSTI4 0
NEI4 $298
line 422
;421:		// draw local client at the bottom
;422:		for ( i = 0 ; i < cg.numScores ; i++ ) {
ADDRLP4 0
CNSTI4 0
ASGNI4
ADDRGP4 $303
JUMPV
LABELV $300
line 423
;423:			if ( cg.scores[i].client == cg.snap->ps.clientNum ) {
ADDRLP4 0
INDIRI4
CNSTI4 76
MULI4
ADDRGP4 cg+110492
ADDP4
INDIRI4
ADDRGP4 cg+36
INDIRP4
CNSTI4 184
ADDP4
INDIRI4
NEI4 $305
line 424
;424:				CG_DrawClientScore( y, &cg.scores[i], fadeColor, fade, lineHeight == SB_NORMAL_HEIGHT );
ADDRLP4 4
INDIRI4
ARGI4
ADDRLP4 0
INDIRI4
CNSTI4 76
MULI4
ADDRGP4 cg+110492
ADDP4
ARGP4
ADDRLP4 16
INDIRP4
ARGP4
ADDRLP4 12
INDIRF4
ARGF4
ADDRLP4 8
INDIRI4
CNSTI4 40
NEI4 $311
ADDRLP4 44
CNSTI4 1
ASGNI4
ADDRGP4 $312
JUMPV
LABELV $311
ADDRLP4 44
CNSTI4 0
ASGNI4
LABELV $312
ADDRLP4 44
INDIRI4
ARGI4
ADDRGP4 CG_DrawClientScore
CALLV
pop
line 425
;425:				break;
ADDRGP4 $302
JUMPV
LABELV $305
line 427
;426:			}
;427:		}
LABELV $301
line 422
ADDRLP4 0
ADDRLP4 0
INDIRI4
CNSTI4 1
ADDI4
ASGNI4
LABELV $303
ADDRLP4 0
INDIRI4
ADDRGP4 cg+110476
INDIRI4
LTI4 $300
LABELV $302
line 428
;428:	}
LABELV $298
line 431
;429:
;430:	// load any models that have been deferred
;431:	if ( ++cg.deferredPlayerLoading > 10 ) {
ADDRLP4 44
ADDRGP4 cg+16
ASGNP4
ADDRLP4 48
ADDRLP4 44
INDIRP4
INDIRI4
CNSTI4 1
ADDI4
ASGNI4
ADDRLP4 44
INDIRP4
ADDRLP4 48
INDIRI4
ASGNI4
ADDRLP4 48
INDIRI4
CNSTI4 10
LEI4 $313
line 432
;432:		CG_LoadDeferredPlayers();
ADDRGP4 CG_LoadDeferredPlayers
CALLV
pop
line 433
;433:	}
LABELV $313
line 435
;434:
;435:	return qtrue;
CNSTI4 1
RETI4
LABELV $216
endproc CG_DrawOldScoreboard 52 32
export CG_DrawOldTourneyScoreboard
proc CG_DrawOldTourneyScoreboard 60 32
line 448
;436:}
;437:
;438://================================================================================
;439:
;440:
;441:/*
;442:=================
;443:CG_DrawTourneyScoreboard
;444:
;445:Draw the oversize scoreboard for tournements
;446:=================
;447:*/
;448:void CG_DrawOldTourneyScoreboard( void ) {
line 457
;449:	const char		*s;
;450:	vec4_t			color;
;451:	int				min, sec;
;452:	clientInfo_t	*ci;
;453:	int				y;
;454:	int				i;
;455:
;456:	// request more scores regularly
;457:	if ( cg.scoresRequestTime + 2000 < cg.time ) {
ADDRGP4 cg+110472
INDIRI4
CNSTI4 2000
ADDI4
ADDRGP4 cg+107604
INDIRI4
GEI4 $317
line 458
;458:		cg.scoresRequestTime = cg.time;
ADDRGP4 cg+110472
ADDRGP4 cg+107604
INDIRI4
ASGNI4
line 459
;459:		trap_SendClientCommand( "score" );
ADDRGP4 $323
ARGP4
ADDRGP4 trap_SendClientCommand
CALLV
pop
line 460
;460:	}
LABELV $317
line 463
;461:
;462:	// draw the dialog background
;463:	color[0] = color[1] = color[2] = 0.2f;
ADDRLP4 40
CNSTF4 1045220557
ASGNF4
ADDRLP4 16+8
ADDRLP4 40
INDIRF4
ASGNF4
ADDRLP4 16+4
ADDRLP4 40
INDIRF4
ASGNF4
ADDRLP4 16
ADDRLP4 40
INDIRF4
ASGNF4
line 464
;464:	color[3] = 1;
ADDRLP4 16+12
CNSTF4 1065353216
ASGNF4
line 465
;465:	CG_FillScreen( color );
ADDRLP4 16
ARGP4
ADDRGP4 CG_FillScreen
CALLV
pop
line 468
;466:
;467:	// print the mesage of the day
;468:	s = CG_ConfigString( CS_MOTD );
CNSTI4 4
ARGI4
ADDRLP4 44
ADDRGP4 CG_ConfigString
CALLP4
ASGNP4
ADDRLP4 8
ADDRLP4 44
INDIRP4
ASGNP4
line 469
;469:	if ( !s[0] ) {
ADDRLP4 8
INDIRP4
INDIRI1
CVII4 1
CNSTI4 0
NEI4 $327
line 470
;470:		s = "Scoreboard";
ADDRLP4 8
ADDRGP4 $329
ASGNP4
line 471
;471:	}
LABELV $327
line 474
;472:
;473:	// print optional title
;474:	CG_DrawString( 320, 8, s, colorWhite, GIANT_WIDTH, GIANT_HEIGHT, 0, DS_SHADOW | DS_FORCE_COLOR | DS_CENTER | DS_PROPORTIONAL );
CNSTF4 1134559232
ARGF4
CNSTF4 1090519040
ARGF4
ADDRLP4 8
INDIRP4
ARGP4
ADDRGP4 colorWhite
ARGP4
CNSTF4 1107296256
ARGF4
CNSTF4 1111490560
ARGF4
CNSTI4 0
ARGI4
CNSTI4 15
ARGI4
ADDRGP4 CG_DrawString
CALLV
pop
line 477
;475:
;476:	// print server time
;477:	sec = cg.time / 1000;
ADDRLP4 32
ADDRGP4 cg+107604
INDIRI4
CNSTI4 1000
DIVI4
ASGNI4
line 478
;478:	min = sec / 60;
ADDRLP4 36
ADDRLP4 32
INDIRI4
CNSTI4 60
DIVI4
ASGNI4
line 479
;479:	sec %= 60;
ADDRLP4 32
ADDRLP4 32
INDIRI4
CNSTI4 60
MODI4
ASGNI4
line 481
;480:
;481:	s = va( "%i:%02i", min, sec );
ADDRGP4 $331
ARGP4
ADDRLP4 36
INDIRI4
ARGI4
ADDRLP4 32
INDIRI4
ARGI4
ADDRLP4 48
ADDRGP4 va
CALLP4
ASGNP4
ADDRLP4 8
ADDRLP4 48
INDIRP4
ASGNP4
line 483
;482:
;483:	CG_DrawString( 320, 64, s, colorWhite, GIANT_WIDTH, GIANT_HEIGHT, 0, DS_SHADOW | DS_FORCE_COLOR | DS_CENTER | DS_PROPORTIONAL );
CNSTF4 1134559232
ARGF4
CNSTF4 1115684864
ARGF4
ADDRLP4 8
INDIRP4
ARGP4
ADDRGP4 colorWhite
ARGP4
CNSTF4 1107296256
ARGF4
CNSTF4 1111490560
ARGF4
CNSTI4 0
ARGI4
CNSTI4 15
ARGI4
ADDRGP4 CG_DrawString
CALLV
pop
line 487
;484:
;485:	// print the two scores
;486:
;487:	y = 160;
ADDRLP4 4
CNSTI4 160
ASGNI4
line 488
;488:	if ( cgs.gametype >= GT_TDM ) {
ADDRGP4 cgs+31480
INDIRI4
CNSTI4 3
LTI4 $332
line 492
;489:		//
;490:		// teamplay scoreboard
;491:		//
;492:		CG_DrawString( 8, y, "Red Team", colorWhite, GIANT_WIDTH, GIANT_HEIGHT, 0, DS_SHADOW );
CNSTF4 1090519040
ARGF4
ADDRLP4 4
INDIRI4
CVIF4 4
ARGF4
ADDRGP4 $335
ARGP4
ADDRGP4 colorWhite
ARGP4
CNSTF4 1107296256
ARGF4
CNSTF4 1111490560
ARGF4
CNSTI4 0
ARGI4
CNSTI4 1
ARGI4
ADDRGP4 CG_DrawString
CALLV
pop
line 493
;493:		s = va( "%i", cg.teamScores[0] );
ADDRGP4 $109
ARGP4
ADDRGP4 cg+110484
INDIRI4
ARGI4
ADDRLP4 52
ADDRGP4 va
CALLP4
ASGNP4
ADDRLP4 8
ADDRLP4 52
INDIRP4
ASGNP4
line 494
;494:		CG_DrawString( 632, y, s, colorWhite, GIANT_WIDTH, GIANT_HEIGHT, 0, DS_SHADOW | DS_RIGHT );
CNSTF4 1142816768
ARGF4
ADDRLP4 4
INDIRI4
CVIF4 4
ARGF4
ADDRLP4 8
INDIRP4
ARGP4
ADDRGP4 colorWhite
ARGP4
CNSTF4 1107296256
ARGF4
CNSTF4 1111490560
ARGF4
CNSTI4 0
ARGI4
CNSTI4 17
ARGI4
ADDRGP4 CG_DrawString
CALLV
pop
line 496
;495:		
;496:		y += 64;
ADDRLP4 4
ADDRLP4 4
INDIRI4
CNSTI4 64
ADDI4
ASGNI4
line 498
;497:
;498:		CG_DrawString( 8, y, "Blue Team", colorWhite, GIANT_WIDTH, GIANT_HEIGHT, 0, DS_SHADOW );
CNSTF4 1090519040
ARGF4
ADDRLP4 4
INDIRI4
CVIF4 4
ARGF4
ADDRGP4 $337
ARGP4
ADDRGP4 colorWhite
ARGP4
CNSTF4 1107296256
ARGF4
CNSTF4 1111490560
ARGF4
CNSTI4 0
ARGI4
CNSTI4 1
ARGI4
ADDRGP4 CG_DrawString
CALLV
pop
line 499
;499:		s = va( "%i", cg.teamScores[1] );
ADDRGP4 $109
ARGP4
ADDRGP4 cg+110484+4
INDIRI4
ARGI4
ADDRLP4 56
ADDRGP4 va
CALLP4
ASGNP4
ADDRLP4 8
ADDRLP4 56
INDIRP4
ASGNP4
line 500
;500:		CG_DrawString( 632, y, s, colorWhite, GIANT_WIDTH, GIANT_HEIGHT, 0, DS_SHADOW | DS_RIGHT );
CNSTF4 1142816768
ARGF4
ADDRLP4 4
INDIRI4
CVIF4 4
ARGF4
ADDRLP4 8
INDIRP4
ARGP4
ADDRGP4 colorWhite
ARGP4
CNSTF4 1107296256
ARGF4
CNSTF4 1111490560
ARGF4
CNSTI4 0
ARGI4
CNSTI4 17
ARGI4
ADDRGP4 CG_DrawString
CALLV
pop
line 502
;501:
;502:	} else {
ADDRGP4 $333
JUMPV
LABELV $332
line 506
;503:		//
;504:		// free for all scoreboard
;505:		//
;506:		for ( i = 0 ; i < MAX_CLIENTS ; i++ ) {
ADDRLP4 12
CNSTI4 0
ASGNI4
LABELV $340
line 507
;507:			ci = &cgs.clientinfo[i];
ADDRLP4 0
ADDRLP4 12
INDIRI4
CNSTI4 1652
MULI4
ADDRGP4 cgs+40996
ADDP4
ASGNP4
line 508
;508:			if ( !ci->infoValid ) {
ADDRLP4 0
INDIRP4
INDIRI4
CNSTI4 0
NEI4 $345
line 509
;509:				continue;
ADDRGP4 $341
JUMPV
LABELV $345
line 511
;510:			}
;511:			if ( ci->team != TEAM_FREE ) {
ADDRLP4 0
INDIRP4
CNSTI4 36
ADDP4
INDIRI4
CNSTI4 0
EQI4 $347
line 512
;512:				continue;
ADDRGP4 $341
JUMPV
LABELV $347
line 515
;513:			}
;514:
;515:			CG_DrawString( 8, y, ci->name, colorWhite, GIANT_WIDTH, GIANT_HEIGHT, 0, DS_SHADOW | DS_FORCE_COLOR | DS_PROPORTIONAL );
CNSTF4 1090519040
ARGF4
ADDRLP4 4
INDIRI4
CVIF4 4
ARGF4
ADDRLP4 0
INDIRP4
CNSTI4 4
ADDP4
ARGP4
ADDRGP4 colorWhite
ARGP4
CNSTF4 1107296256
ARGF4
CNSTF4 1111490560
ARGF4
CNSTI4 0
ARGI4
CNSTI4 7
ARGI4
ADDRGP4 CG_DrawString
CALLV
pop
line 516
;516:			s = va( "%i", ci->score );
ADDRGP4 $109
ARGP4
ADDRLP4 0
INDIRP4
CNSTI4 68
ADDP4
INDIRI4
ARGI4
ADDRLP4 52
ADDRGP4 va
CALLP4
ASGNP4
ADDRLP4 8
ADDRLP4 52
INDIRP4
ASGNP4
line 517
;517:			CG_DrawString( 632, y, s, colorWhite, GIANT_WIDTH, GIANT_HEIGHT, 0, DS_SHADOW | DS_RIGHT );
CNSTF4 1142816768
ARGF4
ADDRLP4 4
INDIRI4
CVIF4 4
ARGF4
ADDRLP4 8
INDIRP4
ARGP4
ADDRGP4 colorWhite
ARGP4
CNSTF4 1107296256
ARGF4
CNSTF4 1111490560
ARGF4
CNSTI4 0
ARGI4
CNSTI4 17
ARGI4
ADDRGP4 CG_DrawString
CALLV
pop
line 518
;518:			y += 64;
ADDRLP4 4
ADDRLP4 4
INDIRI4
CNSTI4 64
ADDI4
ASGNI4
line 519
;519:		}
LABELV $341
line 506
ADDRLP4 12
ADDRLP4 12
INDIRI4
CNSTI4 1
ADDI4
ASGNI4
ADDRLP4 12
INDIRI4
CNSTI4 64
LTI4 $340
line 520
;520:	}
LABELV $333
line 521
;521:}
LABELV $316
endproc CG_DrawOldTourneyScoreboard 60 32
bss
align 4
LABELV localClient
skip 4
import trap_R_AddLinearLightToScene
import trap_R_AddRefEntityToScene2
import linearLight
import intShaderTime
import CG_NewParticleArea
import initparticles
import CG_ParticleExplosion
import CG_ParticleMisc
import CG_ParticleDust
import CG_ParticleSparks
import CG_ParticleBulletDebris
import CG_ParticleSnowFlurry
import CG_AddParticleShrapnel
import CG_ParticleSmoke
import CG_ParticleSnow
import CG_AddParticles
import CG_ClearParticles
import trap_GetEntityToken
import trap_getCameraInfo
import trap_startCamera
import trap_loadCamera
import trap_SnapVector
import trap_CIN_SetExtents
import trap_CIN_DrawCinematic
import trap_CIN_RunCinematic
import trap_CIN_StopCinematic
import trap_CIN_PlayCinematic
import trap_Key_GetKey
import trap_Key_SetCatcher
import trap_Key_GetCatcher
import trap_Key_IsDown
import trap_R_RegisterFont
import trap_MemoryRemaining
import testPrintFloat
import testPrintInt
import trap_SetUserCmdValue
import trap_GetUserCmd
import trap_GetCurrentCmdNumber
import trap_GetServerCommand
import trap_GetSnapshot
import trap_GetCurrentSnapshotNumber
import trap_GetGameState
import trap_GetGlconfig
import trap_R_inPVS
import trap_R_RemapShader
import trap_R_LerpTag
import trap_R_ModelBounds
import trap_R_DrawStretchPic
import trap_R_SetColor
import trap_R_RenderScene
import trap_R_LightForPoint
import trap_R_AddAdditiveLightToScene
import trap_R_AddLightToScene
import trap_R_AddPolysToScene
import trap_R_AddPolyToScene
import trap_R_AddRefEntityToScene
import trap_R_ClearScene
import trap_R_RegisterShaderNoMip
import trap_R_RegisterShader
import trap_R_RegisterSkin
import trap_R_RegisterModel
import trap_R_LoadWorldMap
import trap_S_StopBackgroundTrack
import trap_S_StartBackgroundTrack
import trap_S_RegisterSound
import trap_S_Respatialize
import trap_S_UpdateEntityPosition
import trap_S_AddRealLoopingSound
import trap_S_AddLoopingSound
import trap_S_ClearLoopingSounds
import trap_S_StartLocalSound
import trap_S_StopLoopingSound
import trap_S_StartSound
import trap_CM_MarkFragments
import trap_CM_TransformedCapsuleTrace
import trap_CM_TransformedBoxTrace
import trap_CM_CapsuleTrace
import trap_CM_BoxTrace
import trap_CM_TransformedPointContents
import trap_CM_PointContents
import trap_CM_TempBoxModel
import trap_CM_InlineModel
import trap_CM_NumInlineModels
import trap_CM_LoadMap
import trap_UpdateScreen
import trap_SendClientCommand
import trap_RemoveCommand
import trap_AddCommand
import trap_RealTime
import trap_SendConsoleCommand
import trap_FS_Seek
import trap_FS_FCloseFile
import trap_FS_Write
import trap_FS_Read
import trap_FS_FOpenFile
import trap_Args
import trap_Argv
import trap_Argc
import trap_Cvar_VariableStringBuffer
import trap_Cvar_Set
import trap_Cvar_Update
import trap_Cvar_Register
import trap_Milliseconds
import trap_Error
import trap_Print
import CG_CheckChangedPredictableEvents
import CG_TransitionPlayerState
import CG_Respawn
import CG_ShaderStateChanged
import CG_SetConfigValues
import CG_ParseSysteminfo
import CG_ParseServerinfo
import CG_ExecuteNewServerCommands
import CG_InitConsoleCommands
import CG_ConsoleCommand
import CG_DrawInformation
import CG_LoadingClient
import CG_LoadingItem
import CG_LoadingString
import CG_ProcessSnapshots
import CG_MakeExplosion
import CG_Bleed
import CG_BigExplode
import CG_GibPlayer
import CG_ScorePlum
import CG_LightningBoltBeam
import CG_InvulnerabilityJuiced
import CG_InvulnerabilityImpact
import CG_ObeliskPain
import CG_ObeliskExplode
import CG_KamikazeEffect
import CG_SpawnEffect
import CG_BubbleTrail
import CG_SmokePuff
import CG_AddLocalEntities
import CG_AllocLocalEntity
import CG_InitLocalEntities
import CG_ImpactMark
import CG_AddMarks
import CG_InitMarkPolys
import CG_OutOfAmmoChange
import CG_DrawWeaponSelect
import CG_AddPlayerWeapon
import CG_AddViewWeapon
import CG_GrappleTrail
import CG_RailTrail
import CG_Bullet
import CG_ShotgunFire
import CG_MissileHitPlayer
import CG_MissileHitWall
import CG_FireWeapon
import CG_RegisterItemVisuals
import CG_RegisterWeapon
import CG_Weapon_f
import CG_PrevWeapon_f
import CG_NextWeapon_f
import CG_PositionRotatedEntityOnTag
import CG_PositionEntityOnTag
import CG_AdjustPositionForMover
import CG_Beam
import CG_AddPacketEntities
import CG_SetEntitySoundPosition
import CG_PainEvent
import CG_EntityEvent
import CG_PlaceString
import CG_CheckEvents
import CG_PlayDroppedEvents
import CG_LoadDeferredPlayers
import CG_PredictPlayerState
import CG_Trace
import CG_PointContents
import CG_BuildSolidList
import CG_CustomSound
import CG_NewClientInfo
import CG_AddRefEntityWithPowerups
import CG_ResetPlayerEntity
import CG_Player
import CG_TrackClientTeamChange
import CG_ForceModelChange
import CG_StatusHandle
import CG_OtherTeamHasFlag
import CG_YourTeamHasFlag
import CG_GameTypeString
import CG_CheckOrderPending
import CG_Text_PaintChar
import CG_Draw3DModel
import CG_GetKillerText
import CG_GetGameStatusText
import CG_GetTeamColor
import CG_InitTeamChat
import CG_SetPrintString
import CG_ShowResponseHead
import CG_RunMenuScript
import CG_OwnerDrawVisible
import CG_GetValue
import CG_SelectNextPlayer
import CG_SelectPrevPlayer
import CG_Text_Height
import CG_Text_Width
import CG_Text_Paint
import CG_OwnerDraw
import CG_DrawTeamBackground
import CG_DrawFlagModel
import CG_DrawActive
import CG_DrawHead
import CG_CenterPrint
import CG_AddLagometerSnapshotInfo
import CG_AddLagometerFrameInfo
import teamChat2
import teamChat1
import systemChat
import drawTeamOverlayModificationCount
import numSortedTeamPlayers
import sortedTeamPlayers
import CG_SelectFont
import CG_LoadFonts
import CG_DrawString
import CG_DrawTopBottom
import CG_DrawSides
import CG_DrawRect
import UI_DrawProportionalString
import CG_GetColorForHealth
import CG_ColorForHealth
import CG_TileClear
import CG_TeamColor
import CG_FadeColorTime
import CG_FadeColor
import CG_DrawStrlen
import CG_DrawStringExt
import CG_DrawPic
import CG_FillScreen
import CG_FillRect
import CG_AdjustFrom640
import CG_DrawActiveFrame
import CG_AddBufferedSound
import CG_ZoomUp_f
import CG_ZoomDown_f
import CG_TestModelPrevSkin_f
import CG_TestModelNextSkin_f
import CG_TestModelPrevFrame_f
import CG_TestModelNextFrame_f
import CG_TestGun_f
import CG_TestModel_f
import CG_SetScoreCatcher
import CG_BuildSpectatorString
import CG_MouseEvent
import CG_KeyEvent
import CG_LastAttacker
import CG_CrosshairPlayer
import CG_UpdateCvars
import CG_StartMusic
import CG_Error
import CG_Printf
import CG_Argv
import CG_ConfigString
import eventnames
import cg_followKiller
import cg_fovAdjust
import cg_deadBodyDarken
import cg_teamColors
import cg_teamModel
import cg_enemyColors
import cg_enemyModel
import cg_hitSounds
import cg_obeliskRespawnDelay
import cg_recordSPDemoName
import cg_recordSPDemo
import cg_singlePlayerActive
import cg_enableBreath
import cg_enableDust
import cg_singlePlayer
import cg_blueTeamName
import cg_redTeamName
import cg_trueLightning
import cg_oldPlasma
import cg_oldRocket
import cg_oldRail
import cg_noProjectileTrail
import cg_noTaunt
import cg_bigFont
import cg_smallFont
import cg_cameraMode
import cg_timescale
import cg_timescaleFadeSpeed
import cg_timescaleFadeEnd
import cg_cameraOrbitDelay
import cg_cameraOrbit
import cg_smoothClients
import cg_scorePlum
import cg_teamChatsOnly
import cg_drawFriend
import cg_deferPlayers
import cg_predictItems
import cg_blood
import cg_paused
import cg_buildScript
import cg_forceModel
import cg_stats
import cg_teamChatHeight
import cg_teamChatTime
import cg_drawSpeed
import cg_drawAttacker
import cg_lagometer
import cg_thirdPerson
import cg_thirdPersonAngle
import cg_thirdPersonRange
import cg_zoomFov
import cg_fov
import cg_simpleItems
import cg_ignore
import cg_autoswitch
import cg_tracerLength
import cg_tracerWidth
import cg_tracerChance
import cg_viewsize
import cg_drawGun
import cg_gun_z
import cg_gun_y
import cg_gun_x
import cg_gun_frame
import cg_brassTime
import cg_addMarks
import cg_footsteps
import cg_showmiss
import cg_noPlayerAnims
import cg_nopredict
import cg_errorDecay
import cg_railTrailRadius
import cg_railTrailTime
import cg_debugEvents
import cg_debugPosition
import cg_debugAnim
import cg_animSpeed
import cg_draw2D
import cg_drawStatus
import cg_crosshairHealth
import cg_crosshairSize
import cg_crosshairY
import cg_crosshairX
import cg_drawWeaponSelect
import cg_teamOverlayUserinfo
import cg_drawTeamOverlay
import cg_drawRewards
import cg_drawCrosshairNames
import cg_drawCrosshair
import cg_drawAmmoWarning
import cg_drawIcons
import cg_draw3dIcons
import cg_drawSnapshot
import cg_drawFPS
import cg_drawTimer
import cg_gibs
import cg_shadows
import cg_swingSpeed
import cg_bobroll
import cg_bobpitch
import cg_bobup
import cg_runroll
import cg_runpitch
import cg_centertime
import cg_markPolys
import cg_items
import cg_weapons
import cg_entities
import cg
import cgs
import BigEndian
import replace1
import Q_stradd
import Q_strcpy
import BG_StripColor
import BG_CleanName
import DecodedString
import EncodedString
import strtok
import Q_stristr
import BG_sprintf
import BG_PlayerTouchesItem
import BG_PlayerStateToEntityStateExtraPolate
import BG_PlayerStateToEntityState
import BG_TouchJumpPad
import BG_AddPredictableEventToPlayerstate
import BG_EvaluateTrajectoryDelta
import BG_EvaluateTrajectory
import BG_CanItemBeGrabbed
import BG_FindItemForHoldable
import BG_FindItemForPowerup
import BG_FindItemForWeapon
import BG_FindItem
import bg_numItems
import bg_itemlist
import Pmove
import PM_UpdateViewAngles
import gt
import Com_Printf
import Com_Error
import Info_NextPair
import Info_ValidateKeyValue
import Info_Validate
import Info_SetValueForKey_Big
import Info_SetValueForKey
import Info_ValueForKey
import va
import Q_CleanStr
import Q_PrintStrlen
import Q_strcat
import Q_strncpyz
import Q_strrchr
import Q_strupr
import Q_strlwr
import Q_stricmpn
import Q_strncmp
import Q_stricmp
import Q_isalpha
import Q_isupper
import Q_islower
import Q_isprint
import locase
import Com_sprintf
import Parse3DMatrix
import Parse2DMatrix
import Parse1DMatrix
import SkipRestOfLine
import SkipBracedSection
import COM_MatchToken
import Com_Split
import COM_ParseSep
import Com_InitSeparators
import SkipTillSeparators
import COM_ParseWarning
import COM_ParseError
import COM_Compress
import COM_ParseExt
import COM_Parse
import COM_GetCurrentParseLine
import COM_BeginParseSession
import COM_DefaultExtension
import COM_StripExtension
import COM_SkipPath
import Com_Clamp
import PerpendicularVector
import AngleVectors
import MatrixMultiply
import MakeNormalVectors
import RotateAroundDirection
import RotatePointAroundVector
import ProjectPointOnPlane
import PlaneFromPoints
import AngleDelta
import AngleNormalize180
import AngleNormalize360
import AnglesSubtract
import AngleSubtract
import LerpAngle
import AngleMod
import BoxOnPlaneSide
import SetPlaneSignbits
import AxisCopy
import AxisClear
import AnglesToAxis
import vectoangles
import Q_crandom
import Q_random
import Q_rand
import Q_acos
import Q_log2
import VectorRotate
import Vector4Scale
import VectorNormalize2
import VectorNormalize
import CrossProduct
import VectorInverse
import VectorNormalizeFast
import DistanceSquared
import Distance
import VectorLengthSquared
import VectorLength
import VectorCompare
import AddPointToBounds
import ClearBounds
import RadiusFromBounds
import NormalizeColor
import ColorBytes4
import ColorBytes3
import _VectorMA
import _VectorScale
import _VectorCopy
import _VectorAdd
import _VectorSubtract
import _DotProduct
import ByteToDir
import DirToByte
import ClampShort
import ClampChar
import Q_rsqrt
import Q_fabs
import axisDefault
import vec3_origin
import g_color_table
import colorDkGrey
import colorMdGrey
import colorLtGrey
import colorWhite
import colorCyan
import colorMagenta
import colorYellow
import colorBlue
import colorGreen
import colorRed
import colorBlack
import bytedirs
import Hunk_Alloc
import acos
import fabs
import abs
import tan
import atan2
import cos
import sin
import sqrt
import floor
import ceil
import memcpy
import memset
import memmove
import Q_sscanf
import ED_vsprintf
import atoi
import atof
import toupper
import tolower
import strncpy
import strstr
import strchr
import strcmp
import strcpy
import strcat
import strlen
import rand
import srand
import qsort
lit
align 1
LABELV $337
byte 1 66
byte 1 108
byte 1 117
byte 1 101
byte 1 32
byte 1 84
byte 1 101
byte 1 97
byte 1 109
byte 1 0
align 1
LABELV $335
byte 1 82
byte 1 101
byte 1 100
byte 1 32
byte 1 84
byte 1 101
byte 1 97
byte 1 109
byte 1 0
align 1
LABELV $331
byte 1 37
byte 1 105
byte 1 58
byte 1 37
byte 1 48
byte 1 50
byte 1 105
byte 1 0
align 1
LABELV $329
byte 1 83
byte 1 99
byte 1 111
byte 1 114
byte 1 101
byte 1 98
byte 1 111
byte 1 97
byte 1 114
byte 1 100
byte 1 0
align 1
LABELV $323
byte 1 115
byte 1 99
byte 1 111
byte 1 114
byte 1 101
byte 1 0
align 1
LABELV $275
byte 1 66
byte 1 108
byte 1 117
byte 1 101
byte 1 32
byte 1 108
byte 1 101
byte 1 97
byte 1 100
byte 1 115
byte 1 32
byte 1 37
byte 1 105
byte 1 32
byte 1 116
byte 1 111
byte 1 32
byte 1 37
byte 1 105
byte 1 0
align 1
LABELV $271
byte 1 82
byte 1 101
byte 1 100
byte 1 32
byte 1 108
byte 1 101
byte 1 97
byte 1 100
byte 1 115
byte 1 32
byte 1 37
byte 1 105
byte 1 32
byte 1 116
byte 1 111
byte 1 32
byte 1 37
byte 1 105
byte 1 0
align 1
LABELV $264
byte 1 84
byte 1 101
byte 1 97
byte 1 109
byte 1 115
byte 1 32
byte 1 97
byte 1 114
byte 1 101
byte 1 32
byte 1 116
byte 1 105
byte 1 101
byte 1 100
byte 1 32
byte 1 97
byte 1 116
byte 1 32
byte 1 37
byte 1 105
byte 1 0
align 1
LABELV $256
byte 1 37
byte 1 115
byte 1 32
byte 1 112
byte 1 108
byte 1 97
byte 1 99
byte 1 101
byte 1 32
byte 1 119
byte 1 105
byte 1 116
byte 1 104
byte 1 32
byte 1 37
byte 1 105
byte 1 0
align 1
LABELV $248
byte 1 70
byte 1 114
byte 1 97
byte 1 103
byte 1 103
byte 1 101
byte 1 100
byte 1 32
byte 1 98
byte 1 121
byte 1 32
byte 1 37
byte 1 115
byte 1 0
align 1
LABELV $197
byte 1 102
byte 1 111
byte 1 108
byte 1 108
byte 1 111
byte 1 119
byte 1 32
byte 1 37
byte 1 105
byte 1 0
align 1
LABELV $161
byte 1 82
byte 1 69
byte 1 65
byte 1 68
byte 1 89
byte 1 0
align 1
LABELV $130
byte 1 37
byte 1 53
byte 1 105
byte 1 32
byte 1 37
byte 1 52
byte 1 105
byte 1 32
byte 1 37
byte 1 52
byte 1 105
byte 1 0
align 1
LABELV $129
byte 1 32
byte 1 83
byte 1 80
byte 1 69
byte 1 67
byte 1 84
byte 1 32
byte 1 37
byte 1 51
byte 1 105
byte 1 32
byte 1 37
byte 1 52
byte 1 105
byte 1 0
align 1
LABELV $126
byte 1 32
byte 1 99
byte 1 111
byte 1 110
byte 1 110
byte 1 101
byte 1 99
byte 1 116
byte 1 105
byte 1 110
byte 1 103
byte 1 0
align 1
LABELV $116
byte 1 37
byte 1 105
byte 1 47
byte 1 37
byte 1 105
byte 1 0
align 1
LABELV $109
byte 1 37
byte 1 105
byte 1 0
align 1
LABELV $78
byte 1 66
byte 1 97
byte 1 100
byte 1 32
byte 1 115
byte 1 99
byte 1 111
byte 1 114
byte 1 101
byte 1 45
byte 1 62
byte 1 99
byte 1 108
byte 1 105
byte 1 101
byte 1 110
byte 1 116
byte 1 58
byte 1 32
byte 1 37
byte 1 105
byte 1 10
byte 1 0
