您当前的位置:首页 > IT编程 > C++
| C语言 | Java | VB | VC | python | Android | TensorFlow | C++ | oracle | 学术与代码 | cnn卷积神经网络 | gnn | 图像修复 | Keras | 数据集 | Neo4j | 自然语言处理 | 深度学习 | 医学CAD | 医学影像 | 超参数 | pointnet | pytorch | 异常检测 | Transformers | 情感分类 | 知识图谱 |

自学教程:C++ CG_DrawStringExt函数代码示例

51自学网 2021-06-01 20:00:03
  C++
这篇教程C++ CG_DrawStringExt函数代码示例写得很实用,希望能帮到您。

本文整理汇总了C++中CG_DrawStringExt函数的典型用法代码示例。如果您正苦于以下问题:C++ CG_DrawStringExt函数的具体用法?C++ CG_DrawStringExt怎么用?C++ CG_DrawStringExt使用的例子?那么恭喜您, 这里精选的函数代码示例或许可以为您提供帮助。

在下文中一共展示了CG_DrawStringExt函数的23个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于我们的系统推荐出更棒的C++代码示例。

示例1: CG_demoTimescaleDraw

void CG_demoTimescaleDraw(void){	if(cg.demoPlayback && cgs.timescaleUpdate > cg.time && demo_drawTimeScale.integer != 0) {		char *s = va("^3TimeScale: ^7%.1f", cg_timescale.value);		int w = CG_DrawStrlen(s) * SMALLCHAR_WIDTH;		CG_FillRect(42 - 2, 400, w + 5, SMALLCHAR_HEIGHT + 3, colorDkGreen);		CG_DrawRect(42 - 2, 400, w + 5, SMALLCHAR_HEIGHT + 3, 1, colorMdYellow);		CG_DrawStringExt(42, 400, s, colorWhite, qfalse, qtrue, SMALLCHAR_WIDTH, SMALLCHAR_HEIGHT, 0);	}}
开发者ID:rabb,项目名称:eth32nix-rabbmod,代码行数:12,


示例2: CG_demoAviFPSDraw

void CG_demoAviFPSDraw(void){	qboolean        fKeyDown =	    cgs.fKeyPressed[K_F1] | cgs.fKeyPressed[K_F2] | cgs.fKeyPressed[K_F3] | cgs.fKeyPressed[K_F4] | cgs.fKeyPressed[K_F5];	if (cg.demoPlayback && fKeyDown && cgs.aviDemoRate >= 0)	{		CG_DrawStringExt(42, 425,		                 ((cgs.aviDemoRate > 0) ? va("^3Record AVI @ ^7%d^2fps", cgs.aviDemoRate) : "^1Stop AVI Recording"),		                 colorWhite, qfalse, qfalse, SMALLCHAR_WIDTH, SMALLCHAR_HEIGHT - 2, 0);	}}
开发者ID:morsik,项目名称:warpig,代码行数:12,


示例3: CG_CenterGiantLine

/*================CG_CenterGiantLine================*/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 = ( SCREEN_WIDTH - GIANT_WIDTH * CG_DrawStrlen(string) )/2;	CG_DrawStringExt( x, y, string, colorWhite, qtrue, qtrue, GIANT_WIDTH, GIANT_HEIGHT, 0, SCR_CENTER );}
开发者ID:themuffinator,项目名称:fnq3,代码行数:18,


示例4: CG_CenterGiantLine

/*================CG_CenterGiantLine================*/static void CG_CenterGiantLine( gfixed y, const char *string ) {	gfixed		x;	vec4_t		color;	color[0] = GFIXED_1;	color[1] = GFIXED_1;	color[2] = GFIXED_1;	color[3] = GFIXED_1;	x = GFIXED(0,5) * MAKE_GFIXED( 640 - GIANT_WIDTH * CG_DrawStrlen( string ) );	CG_DrawStringExt( FIXED_TO_INT(x), FIXED_TO_INT(y), string, color, qtrue, qtrue, GIANT_WIDTH, GIANT_HEIGHT, 0 );}
开发者ID:Jsoucek,项目名称:q3ce,代码行数:18,


示例5: CG_CenterGiantLine

/*=======================================================================================================================================CG_CenterGiantLine=======================================================================================================================================*/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);}
开发者ID:ioid3-games,项目名称:ioid3-q3,代码行数:18,


示例6: CG_Cutscene2d_Draw

void CG_Cutscene2d_Draw(void) {	int i;	CG_Cutscene2d_Init(); // make sure that we are inited	for(i=0;i<MAX_CUTSCENE2D_PICTURES;++i) {		cutscene2dPicture_t* pic = &cg_cutscene2d.pics[i];		if(pic->isShown) {			trap_R_SetColor(pic->color);				CG_DrawPic(pic->x,pic->y,pic->w,pic->h,pic->shader);			trap_R_SetColor(NULL);			if(pic->text[0]) {				char* start, *end;				int line=0;				start = pic->text;				do {					end = strstr(start,"//n");					if(end) end[0] = '/0';					CG_DrawStringExt(pic->x+pic->text_x,pic->y+pic->text_y +line*pic->text_ch,									start,pic->textcolor, qfalse, qfalse, pic->text_cw, pic->text_ch, 0 );					if(end) {						end[0] = '//';						start = end+2;					}					++line;				} while(end);			}		}	}}
开发者ID:PadWorld-Entertainment,项目名称:wop-gamesource,代码行数:36,


示例7: WM_DrawClientScore_Small

static void WM_DrawClientScore_Small( int x, int y, score_t *score, float *color, float fade ) {	int maxchars, offset;	float tempx;	vec4_t hcolor;	clientInfo_t *ci;	if ( y + SMALLCHAR_HEIGHT >= 470 )		return;	ci = &cgs.clientinfo[score->client];	if ( score->client == cg.snap->ps.clientNum ) {		tempx = x;		hcolor[3] = fade * 0.3;		VectorSet( hcolor, .5f, .5f, .2f );			// DARK-RED		CG_FillRect( tempx, y + 1, INFO_PLAYER_WIDTH - INFO_BORDER, MINICHAR_HEIGHT - 1, hcolor );		tempx += INFO_PLAYER_WIDTH;		if ( ci->team == TEAM_SPECTATOR ) {			int width;			width = INFO_CLASS_WIDTH + INFO_SCORE_WIDTH + INFO_LATENCY_WIDTH;			CG_FillRect( tempx, y + 1, width - INFO_BORDER, MINICHAR_HEIGHT - 1, hcolor );			tempx += width;		} else {			CG_FillRect( tempx, y + 1, INFO_CLASS_WIDTH - INFO_BORDER, MINICHAR_HEIGHT - 1, hcolor );			tempx += INFO_CLASS_WIDTH;			if( cg_gameType.integer == GT_WOLF_LMS ) {				CG_FillRect( tempx, y + 1, INFO_SCORE_WIDTH - INFO_BORDER, MINICHAR_HEIGHT - 1, hcolor );				tempx += INFO_SCORE_WIDTH;			} else {				CG_FillRect( tempx, y + 1, INFO_XP_WIDTH - INFO_BORDER, MINICHAR_HEIGHT - 1, hcolor );				tempx += INFO_XP_WIDTH;							}			CG_FillRect( tempx, y + 1, INFO_LATENCY_WIDTH - INFO_BORDER, MINICHAR_HEIGHT - 1, hcolor );			tempx += INFO_LATENCY_WIDTH;			if( cg_gameType.integer != GT_WOLF_LMS ) {				CG_FillRect( tempx, y + 1, INFO_LIVES_WIDTH - INFO_BORDER, MINICHAR_HEIGHT - 1, hcolor );				tempx += INFO_LIVES_WIDTH;			}		}	}	tempx = x;	// DHM - Nerve	VectorSet( hcolor, 1, 1, 1 );	hcolor[3] = fade;	maxchars = 17;	offset = 0;	if ( ci->team != TEAM_SPECTATOR ) {		if ( ci->powerups & ( (1 << PW_REDFLAG) | (1 << PW_BLUEFLAG) ) ) {			CG_DrawPic( tempx-2, y-4, 20, 20, trap_R_RegisterShader( "models/multiplayer/treasure/treasure" ) );			offset += 14;			tempx += 14;			maxchars -= 2;		}		// draw the skull icon if out of lives		if ( score->respawnsLeft == -2 || ( cgs.clientinfo[cg.clientNum].team != TEAM_SPECTATOR && ci->team == cgs.clientinfo[cg.clientNum].team && cgs.clientinfo[score->client].health == -1 ) ) {			CG_DrawPic( tempx, y, 12, 12, cgs.media.scoreEliminatedShader );			offset += 14;			tempx += 14;			maxchars -= 2;		} else if( cgs.clientinfo[cg.clientNum].team != TEAM_SPECTATOR && ci->team == cgs.clientinfo[cg.clientNum].team && cgs.clientinfo[score->client].health == 0 ) {			CG_DrawPic( tempx + 1, y + 1, 10, 10, cgs.media.medicIcon );			offset += 14;			tempx += 14;			maxchars -= 2;		}	}	// draw name	CG_DrawStringExt( tempx, y, ci->name, hcolor, qfalse, qfalse, MINICHAR_WIDTH, MINICHAR_HEIGHT, maxchars );	tempx += INFO_PLAYER_WIDTH - offset;	// dhm - nerve	if ( ci->team == TEAM_SPECTATOR ) {		const char *s;		int w, totalwidth;		totalwidth = INFO_CLASS_WIDTH + INFO_SCORE_WIDTH + INFO_LATENCY_WIDTH - 8;		s = CG_TranslateString( "^3SPECTATOR" );		w = CG_DrawStrlen( s ) * MINICHAR_WIDTH;		CG_DrawSmallString( tempx + totalwidth - w, y, s, fade );		return;	}	else if ( cg.snap->ps.persistant[PERS_TEAM] == ci->team ) {		CG_DrawStringExt(	tempx, y, CG_TranslateString( BG_ShortClassnameForNumber( score->playerClass ) ), hcolor, qfalse, qfalse, MINICHAR_WIDTH, MINICHAR_HEIGHT, 0 );//		CG_DrawSmallString( tempx, y, CG_TranslateString( s ), fade );	}//.........这里部分代码省略.........
开发者ID:BackupTheBerlios,项目名称:et-flf-svn,代码行数:101,


示例8: WM_DrawClientScore

static void WM_DrawClientScore( int x, int y, score_t *score, float *color, float fade ) {	int maxchars, offset;	int i, j;	float tempx;	vec4_t hcolor;	clientInfo_t *ci;	char buf[64];	if ( y + SMALLCHAR_HEIGHT >= 470 )		return;	ci = &cgs.clientinfo[score->client];	if ( score->client == cg.snap->ps.clientNum ) {		tempx = x;		hcolor[3] = fade * 0.3;		VectorSet( hcolor, .5f, .5f, .2f );			// DARK-RED		CG_FillRect( tempx, y + 1, INFO_PLAYER_WIDTH - INFO_BORDER, SMALLCHAR_HEIGHT - 1, hcolor );		tempx += INFO_PLAYER_WIDTH;		if ( ci->team == TEAM_SPECTATOR ) {			int width;			width = INFO_CLASS_WIDTH + INFO_SCORE_WIDTH + INFO_LATENCY_WIDTH;			CG_FillRect( tempx, y + 1, width - INFO_BORDER, SMALLCHAR_HEIGHT - 1, hcolor );			tempx += width;		} else {			CG_FillRect( tempx, y + 1, INFO_CLASS_WIDTH - INFO_BORDER, SMALLCHAR_HEIGHT - 1, hcolor );			tempx += INFO_CLASS_WIDTH;			if( cg_gameType.integer == GT_WOLF_LMS ) {				CG_FillRect( tempx, y + 1, INFO_SCORE_WIDTH - INFO_BORDER, SMALLCHAR_HEIGHT - 1, hcolor );				tempx += INFO_SCORE_WIDTH;			} else {				CG_FillRect( tempx, y + 1, INFO_XP_WIDTH - INFO_BORDER, SMALLCHAR_HEIGHT - 1, hcolor );				tempx += INFO_XP_WIDTH;							}			CG_FillRect( tempx, y + 1, INFO_LATENCY_WIDTH - INFO_BORDER, SMALLCHAR_HEIGHT - 1, hcolor );			tempx += INFO_LATENCY_WIDTH;			if( cg_gameType.integer != GT_WOLF_LMS ) {				CG_FillRect( tempx, y + 1, INFO_LIVES_WIDTH - INFO_BORDER, SMALLCHAR_HEIGHT - 1, hcolor );				tempx += INFO_LIVES_WIDTH;			}		}	}	tempx = x;	// DHM - Nerve	VectorSet( hcolor, 1, 1, 1 );	hcolor[3] = fade;	maxchars = 16;	offset = 0;	if ( ci->team != TEAM_SPECTATOR ) {		if ( ci->powerups & ( (1 << PW_REDFLAG) | (1 << PW_BLUEFLAG) ) ) {			CG_DrawPic( tempx-4, y, 16, 16, cgs.media.objectiveShader );			offset += 8;			tempx += 12;			maxchars -= 2;		}		// draw the skull icon if out of lives		if( score->respawnsLeft == -2 || (cgs.clientinfo[cg.clientNum].team != TEAM_SPECTATOR && ci->team == cgs.clientinfo[cg.clientNum].team && cgs.clientinfo[score->client].health == -1 ) ) {			CG_DrawPic( tempx, y, 18, 18, cgs.media.scoreEliminatedShader );			offset += 18;			tempx += 18;			maxchars -= 2;		} else if( cgs.clientinfo[cg.clientNum].team != TEAM_SPECTATOR && ci->team == cgs.clientinfo[cg.clientNum].team && cgs.clientinfo[score->client].health == 0 ) {			CG_DrawPic( tempx + 1, y + 1, 16, 16, cgs.media.medicIcon );			offset += 18;			tempx += 18;			maxchars -= 2;					}	}	// draw name	CG_DrawStringExt( tempx, y, ci->name, hcolor, qfalse, qfalse, SMALLCHAR_WIDTH, SMALLCHAR_HEIGHT, maxchars );	maxchars -= CG_DrawStrlen( ci->name );	// draw medals	buf[0] = '/0';	for( i = 0; i < SK_NUM_SKILLS; i++ ) {		for( j = 0; j < ci->medals[i]; j++ )			Q_strcat( buf, sizeof(buf), va( "^%c%c", COLOR_RED + i, skillNames[i][0] ) );	}	maxchars--;	CG_DrawStringExt( tempx + (BG_drawStrlen(ci->name) * SMALLCHAR_WIDTH + SMALLCHAR_WIDTH), y, buf, hcolor, qfalse, qfalse, SMALLCHAR_WIDTH, SMALLCHAR_HEIGHT, maxchars );	tempx += INFO_PLAYER_WIDTH - offset;	if ( ci->team == TEAM_SPECTATOR ) {		const char *s;		int w, totalwidth;//.........这里部分代码省略.........
开发者ID:BackupTheBerlios,项目名称:et-flf-svn,代码行数:101,


示例9: CG_DrawSmallStringColor

void CG_DrawSmallStringColor( int x, int y, const char *s, const vector4 *color ) {	CG_DrawStringExt(x, y, s, color, qtrue, qfalse, SMALLCHAR_WIDTH * cgs.widthRatioCoef, SMALLCHAR_HEIGHT, 0);}
开发者ID:Arcadiaprime,项目名称:japp,代码行数:3,


示例10: CG_DrawBigStringColor

void CG_DrawBigStringColor( int x, int y, const char *s, const vector4 *color ) {	CG_DrawStringExt(x, y, s, color, qtrue, qtrue, BIGCHAR_WIDTH * cgs.widthRatioCoef, BIGCHAR_HEIGHT, 0);}
开发者ID:Arcadiaprime,项目名称:japp,代码行数:3,


示例11: CG_DrawTinyStringColor

void CG_DrawTinyStringColor( int x, int y, const char *s, vec4_t color ) {	CG_DrawStringExt( x, y, s, color, qtrue, qfalse, TINYCHAR_WIDTH, TINYCHAR_HEIGHT, 0 );}
开发者ID:chegestar,项目名称:omni-bot,代码行数:3,


示例12: WM_DrawClientScore

static void WM_DrawClientScore(int x, int y, score_t * score, float *color, float fade){	int             maxchars, offset;	int             i, j;	float           tempx;	vec4_t          hcolor;	clientInfo_t   *ci;	char            buf[64];	// CHRUKER: b0?? - Was using the wrong char height for this calculation	if(y + SMALLCHAR_HEIGHT >= 470)	{		return;	}	ci = &cgs.clientinfo[score->client];	if(score->client == cg.snap->ps.clientNum)	{		hcolor[3] = fade * 0.3;		VectorSet(hcolor, .5f, .5f, .2f);	// DARK-RED		// CHRUKER: b077 - Player highlighting was split into columns		CG_FillRect( x-5, y, (INFO_PLAYER_WIDTH + INFO_CLASS_WIDTH + INFO_SCORE_WIDTH + INFO_LATENCY_WIDTH + 5), SMALLCHAR_HEIGHT - 1, hcolor );	}	tempx = x;	// DHM - Nerve	VectorSet(hcolor, 1, 1, 1);	hcolor[3] = fade;	maxchars = 16;	offset = 0;	if(ci->team != TEAM_SPECTATOR)	{		if(ci->powerups & ((1 << PW_REDFLAG) | (1 << PW_BLUEFLAG)))		{			// CHRUKER: b078 - Medic, death and objective icons on the scoreboard are drawn too big			CG_DrawPic( tempx - 3, y + 1, 14, 14, cgs.media.objectiveShader );			offset += 14;	// CHRUKER: b072 - Need to match tempx or else the other text gets offset			tempx += 14;			maxchars -= 2;		}		// draw the skull icon if out of lives		if(score->respawnsLeft == -2 ||		   (cgs.clientinfo[cg.clientNum].team != TEAM_SPECTATOR && ci->team == cgs.clientinfo[cg.clientNum].team &&			cgs.clientinfo[score->client].health == -1))		{			// CHRUKER: b078 - Medic, death and objective icons on the scoreboard are drawn too big			CG_DrawPic( tempx - 3, y + 1, 14, 14, cgs.media.scoreEliminatedShader );			offset += 14;			tempx += 14;			maxchars -= 2;		}		else if(cgs.clientinfo[cg.clientNum].team != TEAM_SPECTATOR && ci->team == cgs.clientinfo[cg.clientNum].team &&				cgs.clientinfo[score->client].health == 0)		{			// CHRUKER: b078 - Medic, death and objective icons on the scoreboard are drawn too big			CG_DrawPic( tempx - 3, y + 1, 14, 14, cgs.media.medicIcon );			offset += 14;			tempx += 14;			maxchars -= 2;		}	}	// draw name	CG_DrawStringExt(tempx, y, ci->name, hcolor, qfalse, qfalse, SMALLCHAR_WIDTH, SMALLCHAR_HEIGHT, maxchars);	maxchars -= CG_DrawStrlen(ci->name);	// draw medals	buf[0] = '/0';	for(i = 0; i < SK_NUM_SKILLS; i++)	{		for(j = 0; j < ci->medals[i]; j++)			Q_strcat(buf, sizeof(buf), va("^%c%c", COLOR_RED + i, skillNames[i][0]));	}	maxchars--;	// CHRUKER: b032 - Medals clipped wrong in scoreboard when you're dead, because CG_DrawStringExt will draw	//                 everything if maxchars <= 0	if (maxchars > 0)	{		CG_DrawStringExt(tempx + (BG_drawStrlen(ci->name) * SMALLCHAR_WIDTH + SMALLCHAR_WIDTH), y, buf, hcolor, qfalse, qfalse,						 SMALLCHAR_WIDTH, SMALLCHAR_HEIGHT, maxchars);	}	tempx += INFO_PLAYER_WIDTH - offset;	if(ci->team == TEAM_SPECTATOR)	{		const char     *s;		int             w, totalwidth;		totalwidth = INFO_CLASS_WIDTH + INFO_SCORE_WIDTH + INFO_LATENCY_WIDTH - 8;		// CHRUKER: b031 -  Show connecting people as connecting		if (score->ping == -1)//.........这里部分代码省略.........
开发者ID:DerSaidin,项目名称:OpenWolf,代码行数:101,


示例13: WM_DrawClientScore_Small

static void WM_DrawClientScore_Small(int x, int y, score_t * score, float *color, float fade){	int             maxchars, offset;	float           tempx;	vec4_t          hcolor;	clientInfo_t   *ci;	// CHRUKER: b033 - Added to draw medals	int i, j;	char buf[64];	if(y + MINICHAR_HEIGHT >= 470)	{		return;	}	ci = &cgs.clientinfo[score->client];	if(score->client == cg.snap->ps.clientNum)	{		hcolor[3] = fade * 0.3;		VectorSet(hcolor, .5f, .5f, .2f);	// DARK-RED		// CHRUKER: b077 - Player highlighting was split into columns		CG_FillRect( x-5, y, (INFO_PLAYER_WIDTH + INFO_CLASS_WIDTH + INFO_SCORE_WIDTH + INFO_LATENCY_WIDTH + 5), MINICHAR_HEIGHT - 1, hcolor );	}	tempx = x;	// DHM - Nerve	VectorSet(hcolor, 1, 1, 1);	hcolor[3] = fade;	// CHRUKER: b033 - Corrected to draw medals	maxchars = 16;	offset = 0;	if(ci->team != TEAM_SPECTATOR)	{		if(ci->powerups & ((1 << PW_REDFLAG) | (1 << PW_BLUEFLAG)))		{			// CHRUKER: b071 - Objective carrier icon missing on compact scoreboard			// CHRUKER: b078 - Medic, death and objective icons on the scoreboard are drawn too big			CG_DrawPic( tempx - 1, y + 1, 10, 10, cgs.media.objectiveShader );			offset += 10;			tempx += 10;			maxchars -= 2;		}		// draw the skull icon if out of lives		if(score->respawnsLeft == -2 ||		   (cgs.clientinfo[cg.clientNum].team != TEAM_SPECTATOR && ci->team == cgs.clientinfo[cg.clientNum].team &&			cgs.clientinfo[score->client].health == -1))		{			// CHRUKER: b078 - Medic, death and objective icons on the scoreboard are drawn too big			CG_DrawPic( tempx - 1, y + 1, 10, 10, cgs.media.scoreEliminatedShader );			offset += 10;			tempx += 10;			maxchars -= 2;		}		else if(cgs.clientinfo[cg.clientNum].team != TEAM_SPECTATOR && ci->team == cgs.clientinfo[cg.clientNum].team &&				cgs.clientinfo[score->client].health == 0)		{			// CHRUKER: b078 - Medic, death and objective icons on the scoreboard are drawn too big			CG_DrawPic( tempx - 1, y + 1, 10, 10, cgs.media.medicIcon );			offset += 10;			tempx += 10;			maxchars -= 2;		}	}	// draw name	CG_DrawStringExt(tempx, y, ci->name, hcolor, qfalse, qfalse, MINICHAR_WIDTH, MINICHAR_HEIGHT, maxchars);	// CHRUKER: b033 - Added to draw medals	maxchars -= CG_DrawStrlen( ci->name );	buf[0] = '/0';	for( i = 0; i < SK_NUM_SKILLS; i++ )	{		for( j = 0; j < ci->medals[i]; j++ )		{			Q_strcat( buf, sizeof(buf), va( "^%c%c", COLOR_RED + i, skillNames[i][0] ) );		}	}	maxchars--;	if (maxchars > 0) CG_DrawStringExt( tempx + (BG_drawStrlen(ci->name) * MINICHAR_WIDTH + MINICHAR_WIDTH), y, buf, hcolor, qfalse, qfalse, MINICHAR_WIDTH, MINICHAR_HEIGHT, maxchars );	// b033	tempx += INFO_PLAYER_WIDTH - offset;	// dhm - nerve	if(ci->team == TEAM_SPECTATOR)	{		const char     *s;		int             w, totalwidth;		totalwidth = INFO_CLASS_WIDTH + INFO_SCORE_WIDTH + INFO_LATENCY_WIDTH - 8;		// CHRUKER: b031 -  Show connecting people as connecting//.........这里部分代码省略.........
开发者ID:DerSaidin,项目名称:OpenWolf,代码行数:101,


示例14: WM_DrawClientScore

static void WM_DrawClientScore( int x, int y, score_t *score, float *color, float fade ) {	int maxchars, offset;	float tempx;	vec4_t hcolor;	clientInfo_t *ci;	if ( y + SMALLCHAR_HEIGHT >= 470 ) {		return;	}	ci = &cgs.clientinfo[score->client];	if ( score->client == cg.snap->ps.clientNum ) {		tempx = x;		hcolor[3] = fade * 0.3;		VectorSet( hcolor, 0.4452, 0.1172, 0.0782 );            // DARK-RED		CG_FillRect( tempx, y + 1, INFO_PLAYER_WIDTH - INFO_BORDER, SMALLCHAR_HEIGHT - 1, hcolor );		tempx += INFO_PLAYER_WIDTH;		if ( ci->team == TEAM_SPECTATOR ) {			int width;			width = INFO_CLASS_WIDTH + INFO_SCORE_WIDTH + INFO_LATENCY_WIDTH;			CG_FillRect( tempx, y + 1, width - INFO_BORDER, SMALLCHAR_HEIGHT - 1, hcolor );			tempx += width;		} else {			CG_FillRect( tempx, y + 1, INFO_CLASS_WIDTH - INFO_BORDER, SMALLCHAR_HEIGHT - 1, hcolor );			tempx += INFO_CLASS_WIDTH;			CG_FillRect( tempx, y + 1, INFO_SCORE_WIDTH - INFO_BORDER, SMALLCHAR_HEIGHT - 1, hcolor );			tempx += INFO_SCORE_WIDTH;			CG_FillRect( tempx, y + 1, INFO_LATENCY_WIDTH - INFO_BORDER, SMALLCHAR_HEIGHT - 1, hcolor );			tempx += INFO_LATENCY_WIDTH;		}	}	tempx = x;	// DHM - Nerve	VectorSet( hcolor, 1, 1, 1 );	hcolor[3] = fade;	maxchars = 17;	offset = 0;	if ( ci->team != TEAM_SPECTATOR ) {		if ( ci->powerups & ( ( 1 << PW_REDFLAG ) | ( 1 << PW_BLUEFLAG ) ) ) {			CG_DrawPic( tempx - 4, y - 4, 24, 24, trap_R_RegisterShader( "models/multiplayer/treasure/treasure" ) );			offset += 16;			tempx += 16;			maxchars -= 2;		}		// draw the skull icon if out of lives		if ( score->respawnsLeft == -2 ) {			CG_DrawPic( tempx, y, 18, 18, cgs.media.scoreEliminatedShader );			offset += 18;			tempx += 18;			maxchars -= 2;		}	}	// draw name	CG_DrawStringExt( tempx, y, ci->name, hcolor, qfalse, qfalse, SMALLCHAR_WIDTH, SMALLCHAR_HEIGHT, maxchars );	tempx += INFO_PLAYER_WIDTH - offset;	// dhm - nerve	if ( ci->team == TEAM_SPECTATOR ) {		const char *s;		int w, totalwidth;		totalwidth = INFO_CLASS_WIDTH + INFO_SCORE_WIDTH + INFO_LATENCY_WIDTH - 8;		s = CG_TranslateString( "^3SPECTATOR" );		w = CG_DrawStrlen( s ) * SMALLCHAR_WIDTH;		CG_DrawSmallString( tempx + totalwidth - w, y, s, fade );		return;	} else if ( cg.snap->ps.persistant[PERS_TEAM] == ci->team ) {		int val = score->playerClass; // cg_entities[ ci->clientNum ].currentState.teamNum;		const char *s;		if ( val == 0 ) {			s = "Soldr";		} else if ( val == 1 ) {			s = "Medic";		} else if ( val == 2 ) {			s = "Engr";		} else if ( val == 3 ) {			s = "Lieut";		} else {			s = "";		}		CG_DrawSmallString( tempx, y, CG_TranslateString( s ), fade );	}	tempx += INFO_CLASS_WIDTH;//.........这里部分代码省略.........
开发者ID:chegestar,项目名称:omni-bot,代码行数:101,


示例15: WM_DrawClientScore

static void WM_DrawClientScore(int x, int y, score_t *score, float *color, float fade){	int          maxchars, offset;	int          i, j;	float        tempx;	vec4_t       hcolor;	clientInfo_t *ci;	char         buf[64];	if (y + SMALLCHAR_HEIGHT >= 470)	{		return;	}	ci = &cgs.clientinfo[score->client];	if (score->client == cg.snap->ps.clientNum)	{		hcolor[3] = fade * 0.3;		VectorSet(hcolor, .5f, .5f, .2f);           // DARK-RED		CG_FillRect(x - 5, y, (INFO_TOTAL_WIDTH + 5), SMALLCHAR_HEIGHT - 1, hcolor);	}	tempx = x;	VectorSet(hcolor, 1, 1, 1);	hcolor[3] = fade;	maxchars = 16;	offset   = 0;	if (ci->team != TEAM_SPECTATOR)	{		/* FIXME: adjust x,y coordinates ...		// draw ready icon if client is ready..		if (score->scoreflags & 1 && cgs.gamestate != GS_PLAYING)		{		    CG_DrawPic(tempx - 3, y + 1, 14, 14, cgs.media.readyIcon);		    offset += 14;		    tempx += 14;		    maxchars -= 2;		}		*/		if (ci->powerups & ((1 << PW_REDFLAG) | (1 << PW_BLUEFLAG)))		{			CG_DrawPic(tempx - 1, y + 1, 14, 14, cgs.media.objectiveShader);			offset   += 14;			tempx    += 14;			maxchars -= 2;		}		if (cgs.gametype == GT_WOLF_GOLDY && ci->team == cgs.clientinfo[cg.clientNum].team && ci->gold > 0 && ci->health != -1)		{			CG_DrawPic(tempx - 1, y + 1, 14, 14, cgs.media.goldIcon);			offset += 14;			tempx += 14;			maxchars -= 2;		}		// draw the skull icon if out of lives		if (score->respawnsLeft == -2 || (cgs.clientinfo[cg.clientNum].team != TEAM_SPECTATOR && ci->team == cgs.clientinfo[cg.clientNum].team && cgs.clientinfo[score->client].health == -1))		{			CG_DrawPic(tempx - 1, y + 1, 14, 14, cgs.media.scoreEliminatedShader);			offset   += 14;			tempx    += 14;			maxchars -= 2;		}		else if (cgs.clientinfo[cg.clientNum].team != TEAM_SPECTATOR && ci->team == cgs.clientinfo[cg.clientNum].team && cgs.clientinfo[score->client].health == 0)		{			CG_DrawPic(tempx - 1, y + 1, 14, 14, cgs.media.medicIcon);			offset   += 14;			tempx    += 14;			maxchars -= 2;		}	}	// GeoIP - draw flag before name	if (score->ping != -1 && score->ping != 999 && cg_countryflags.integer)	{		if (cf_draw(tempx - 11, y - 8, fade, ci->clientNum))		{			offset   += 14;			tempx    += 14;			maxchars -= 2;		}	}	// draw name	CG_DrawStringExt(tempx, y, ci->name, hcolor, qfalse, qfalse, SMALLCHAR_WIDTH, SMALLCHAR_HEIGHT, maxchars);	maxchars -= CG_DrawStrlen(ci->name);	// draw medals	buf[0] = '/0';	for (i = 0; i < SK_NUM_SKILLS; i++)	{		for (j = 0; j < ci->medals[i]; j++)		{			Q_strcat(buf, sizeof(buf), va("^%c%c", COLOR_RED + i, skillNames[i][0]));//.........这里部分代码省略.........
开发者ID:MartijnB,项目名称:ETGoldy,代码行数:101,


示例16: WM_DrawClientScore_Small

static void WM_DrawClientScore_Small(int x, int y, score_t *score, float *color, float fade){	int          maxchars, offset;	float        tempx;	vec4_t       hcolor;	clientInfo_t *ci;	int          i, j;    // To draw medals	char         buf[64]; // To draw medals	if (y + MINICHAR_HEIGHT >= 470)	{		return;	}	ci = &cgs.clientinfo[score->client];	if (score->client == cg.snap->ps.clientNum)	{		hcolor[3] = fade * 0.3;		VectorSet(hcolor, .5f, .5f, .2f); // DARK-RED		CG_FillRect(x - 5, y, (INFO_TOTAL_WIDTH + 5), MINICHAR_HEIGHT - 1, hcolor);	}	tempx = x;	VectorSet(hcolor, 1, 1, 1);	hcolor[3] = fade;	maxchars = 16;	offset   = 0;	if (ci->team != TEAM_SPECTATOR)	{		/* FIXME adjust x,y coordinates ...		// draw ready icon if client is ready..		if ( score->scoreflags & 1 && ( cgs.gamestate == GS_WARMUP || cgs.gamestate == GS_INTERMISSION ) ) {		    CG_DrawPic( tempx-2 + 1, y + 1, 14, 14, cgs.media.readyIcon );		    offset += 14;		    tempx += 14;		    maxchars -= 2;		}		*/		if (ci->powerups & ((1 << PW_REDFLAG) | (1 << PW_BLUEFLAG)))		{			CG_DrawPic(tempx + 1, y + 1, 10, 10, cgs.media.objectiveShader);			offset   += 14;			tempx    += 14;			maxchars -= 2;		}		// draw the skull icon if out of lives		if (score->respawnsLeft == -2 || (cgs.clientinfo[cg.clientNum].team != TEAM_SPECTATOR && ci->team == cgs.clientinfo[cg.clientNum].team && cgs.clientinfo[score->client].health == -1))		{			CG_DrawPic(tempx, y, 12, 12, cgs.media.scoreEliminatedShader);			offset   += 14;			tempx    += 14;			maxchars -= 2;		}		else if (cgs.clientinfo[cg.clientNum].team != TEAM_SPECTATOR && ci->team == cgs.clientinfo[cg.clientNum].team && cgs.clientinfo[score->client].health == 0)		{			CG_DrawPic(tempx + 1, y + 1, 10, 10, cgs.media.medicIcon);			offset   += 14;			tempx    += 14;			maxchars -= 2;		}	}	// GeoIP - draw flag before name	if (score->ping != -1 && score->ping != 999 && cg_countryflags.integer)	{		if (cf_draw(tempx - 11, y - 10, fade, ci->clientNum))		{			offset   += 14;			tempx    += 14;			maxchars -= 2;		}	}	// draw name	CG_DrawStringExt(tempx, y, ci->name, hcolor, qfalse, qfalse, MINICHAR_WIDTH, MINICHAR_HEIGHT, maxchars);	// draw medals	maxchars -= CG_DrawStrlen(ci->name);	buf[0] = '/0';	for (i = 0; i < SK_NUM_SKILLS; i++)	{		for (j = 0; j < ci->medals[i]; j++)		{			Q_strcat(buf, sizeof(buf), va("^%c%c",			                              COLOR_RED + i, skillNames[i][0]));		}		maxchars--;	}	if (maxchars > 0)	{//.........这里部分代码省略.........
开发者ID:harleking,项目名称:etlegacy,代码行数:101,


示例17: CG_DrawTourneyScoreboard

/*=======================================================================================================================================CG_DrawTourneyScoreboardDraw the oversize scoreboard for tournaments.=======================================================================================================================================*/void CG_DrawTourneyScoreboard(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");	}	// draw the dialog background	color[0] = color[1] = color[2] = 0;	color[3] = 1;	CG_FillRect(0, 0, SCREEN_WIDTH, SCREEN_HEIGHT, color);	color[0] = 1;	color[1] = 1;	color[2] = 1;	color[3] = 1;	// print the message 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;		}	}}
开发者ID:ioid3-games,项目名称:ioid3-q3,代码行数:81,


示例18: CG_DrawBigStringColor

void CG_DrawBigStringColor( int x, int y, const char *s, vec4_t color ) {	CG_DrawStringExt( x, y, s, color, qtrue, qtrue, BIGCHAR_WIDTH, BIGCHAR_HEIGHT, 0 );}
开发者ID:blaenk,项目名称:jedioutcast,代码行数:3,


示例19: CG_DrawSmallString

void CG_DrawSmallString( int x, int y, const char *s, float alpha ) {	vector4 color;	VectorSet4( &color, 1.0f, 1.0f, 1.0f, alpha );	CG_DrawStringExt( x, y, s, &color, qfalse, qfalse, SMALLCHAR_WIDTH, SMALLCHAR_HEIGHT, 0 );}
开发者ID:boyisgood86,项目名称:japp,代码行数:6,


示例20: CG_DrawInformation

void CG_DrawInformation(void){    const char *s;    const char *info;    const char *sysInfo;    const char *line;    int x = 8, y, value, bar = 0;    qhandle_t levelshot, shadow, clapper;    //qhandle_t     detail;    qhandle_t percentBox;    char buf[1024];    //qboolean      skipdetail;    vec4_t color1 = { .75, .75, .75, 1 }, color2 = {        1, 1, 1, 1    };    info = CG_ConfigString(CS_SERVERINFO);    sysInfo = CG_ConfigString(CS_SYSTEMINFO);    /* Makro - no longer used       //Makro - settings read from the worldspawn entity       s = CG_ConfigString( CS_LOADINGSCREEN );       color1[0] = atof(Info_ValueForKey(s, "r1"));       color1[1] = atof(Info_ValueForKey(s, "g1"));       color1[2] = atof(Info_ValueForKey(s, "b1"));       color2[0] = atof(Info_ValueForKey(s, "r2"));       color2[1] = atof(Info_ValueForKey(s, "g2"));       color2[2] = atof(Info_ValueForKey(s, "b2"));       color1[3] = color2[3] = 1;       skipdetail = ( atoi(Info_ValueForKey(s, "nodetail")) != 0 );     */    s = Info_ValueForKey(info, "mapname");    shadow = trap_R_RegisterShaderNoMip("ui/assets/rq3-main-shadow-1.tga");    levelshot = trap_R_RegisterShaderNoMip(va("levelshots/load_%s.tga", s));    percentBox = trap_R_RegisterShaderNoMip("gfx/percent.tga");    //Makro - added    if (!levelshot) {        levelshot = trap_R_RegisterShaderNoMip(va("levelshots/%s.tga", s));    }    if (!levelshot) {        //Elder: changed        levelshot = trap_R_RegisterShaderNoMip("levelshots/rq3-unknownmap.tga");        //skipdetail = qtrue;    }    trap_R_SetColor(NULL);    CG_DrawPic(0, 0, SCREEN_WIDTH, SCREEN_HEIGHT, levelshot);    /* Makro - removed       // blend a detail texture over it       //Elder: changed to RQ3 detail overlay       if (!skipdetail) {       detail = trap_R_RegisterShader( "rq3-levelShotDetail" );       trap_R_DrawStretchPic( 0, 0, cgs.glconfig.vidWidth, cgs.glconfig.vidHeight, 0, 0, 2.5, 2, detail );       }     */    //Elder: "Letterbox" mask    //Makro - changed it a bit    CG_FillRect(0, 0, SCREEN_WIDTH, LS_TOPMARGIN, colorBlack);    CG_FillRect(0, LS_TOPMARGIN, SCREEN_WIDTH, 2, colorMdGrey);    CG_FillRect(0, SCREEN_HEIGHT - LS_BOTTOMMARGIN, SCREEN_WIDTH, LS_BOTTOMMARGIN, colorBlack);    CG_FillRect(0, SCREEN_HEIGHT - LS_BOTTOMMARGIN - 2, SCREEN_WIDTH, 2, colorMdGrey);    //Makro - shadow    CG_DrawPic(0, LS_TOPMARGIN + 2, 640, 12, shadow);    //Elder: mapname    //Makro - removed    //UI_DrawProportionalString(x, 26, s, UI_LEFT|UI_DROPSHADOW, colorDkGrey);    //CG_DrawBigStringColor(4, 24, s, color_red);    //Elder: removed    // draw the icons of things as they are loaded    //CG_DrawLoadingIcons();    // draw info string information    //Elder: Initial y-position    y = LS_TOPMARGIN - 8 - LS_CHAR_HEIGHT;    // map-specific message (long map name)    s = CG_ConfigString(CS_MESSAGE);    if (s[0]) {        //Makro - allow color-coded text; also changed to use custom color instead of colorLtGrey        //CG_DrawSmallStringColor(x, y, s, colorMdGrey);        //CG_DrawStringExt(x, y, s, colorWhite, qtrue, qfalse, LS_CHAR_WIDTH, LS_CHAR_HEIGHT, 0);        CG_DrawStringExt(x, y, s, color1, qtrue, qfalse, LS_CHAR_WIDTH, LS_CHAR_HEIGHT, 0);        y -= (2 * LS_CHAR_HEIGHT);    }    //y += LS_CHAR_HEIGHT;    // game type    switch (cgs.gametype) {    case GT_FFA:        line = "CLASSIC ACTION DEATHMATCH";        break;    case GT_SINGLE_PLAYER:        line = "SINGLE PLAYER";//.........这里部分代码省略.........
开发者ID:Zekom,项目名称:reaction,代码行数:101,


示例21: CG_DrawBigStringColor

void CG_DrawBigStringColor( int x, int y, const char *s, vec4_t color ) {	CG_DrawStringExt( x, y, s, color, qtrue, qtrue, BIGCHAR_WIDTH, BIGCHAR_HEIGHT, 0, cgs.media.charsetShader );}
开发者ID:NikitaRus,项目名称:JediKnightGalaxies,代码行数:3,


示例22: CG_DrawSmallStringColor

void CG_DrawSmallStringColor( int x, int y, const char *s, vec4_t color ) {	CG_DrawStringExt( x, y, s, color, qtrue, qfalse, SMALLCHAR_WIDTH, SMALLCHAR_HEIGHT, 0 );}
开发者ID:AdrienJaguenet,项目名称:Enemy-Territory,代码行数:3,


示例23: CG_DrawBigString

void CG_DrawBigString( int x, int y, const char *s, float alpha ) {	vector4 color;	VectorSet4( &color, 1.0f, 1.0f, 1.0f, alpha );	CG_DrawStringExt(x, y, s, &color, qfalse, qtrue, BIGCHAR_WIDTH * cgs.widthRatioCoef, BIGCHAR_HEIGHT, 0);}
开发者ID:Arcadiaprime,项目名称:japp,代码行数:6,



注:本文中的CG_DrawStringExt函数示例整理自Github/MSDocs等源码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。


C++ CG_Error函数代码示例
C++ CG_DrawPic函数代码示例
万事OK自学网:51自学网_软件自学网_CAD自学网自学excel、自学PS、自学CAD、自学C语言、自学css3实例,是一个通过网络自主学习工作技能的自学平台,网友喜欢的软件自学网站。