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

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

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

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

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

示例1: MakeSkyVec

static void MakeSkyVec( float s, float t, int axis, vec2_t st, vec3_t xyz ){	// 1 = s, 2 = t, 3 = zfar	static const int st_to_vec[6][3] =	{		{  3, -1,  2 },		{ -3,  1,  2 },		{  1,  3,  2 },		{ -1, -3,  2 },		{ -2, -1,  3 },		// 0 degrees yaw, look straight up		{  2, -1, -3 }		// look straight down	};	vec3_t b;	float boxSize = backEnd.viewParms.zFar / 1.75;		// div sqrt(3)	b[0] = boxSize * s;	b[1] = boxSize * t;	b[2] = boxSize;	for (int i = 0; i < 3; ++i) {		int k = st_to_vec[axis][i];		xyz[i] = (k < 0) ? -b[-k - 1] : b[k - 1];	}	// convert our -1:1 range (and inverted t) into GL TCs	if ( st ) {		st[0] = Com_Clamp( 0, 1, (s+1) * 0.5 );		st[1] = 1.0 - Com_Clamp( 0, 1, (t+1) * 0.5 );	}}
开发者ID:DaTa-,项目名称:cnq3x,代码行数:32,


示例2: DrawSkyBox

static void DrawSkyBox( const shader_t* shader ){//	Com_Memset( s_skyTexCoords, 0, sizeof( s_skyTexCoords ) );	for (int i = 0; i < 6; ++i)	{		int sky_mins_subd[2], sky_maxs_subd[2];		if ( ( sky_mins_st[i][0] >= sky_maxs_st[i][0] ) || ( sky_mins_st[i][1] >= sky_maxs_st[i][1] ) ) {			continue;		}		sky_mins_subd[0] = HALF_SKY_SUBDIVISIONS * Com_Clamp( -1, 1, sky_mins_st[i][0] );		sky_mins_subd[1] = HALF_SKY_SUBDIVISIONS * Com_Clamp( -1, 1, sky_mins_st[i][1] );		sky_maxs_subd[0] = HALF_SKY_SUBDIVISIONS * Com_Clamp( -1, 1, sky_maxs_st[i][0] );		sky_maxs_subd[1] = HALF_SKY_SUBDIVISIONS * Com_Clamp( -1, 1, sky_maxs_st[i][1] );		//		// iterate through the subdivisions		//		for (int t = sky_mins_subd[1]+HALF_SKY_SUBDIVISIONS; t <= sky_maxs_subd[1]+HALF_SKY_SUBDIVISIONS; ++t)		{			for (int s = sky_mins_subd[0]+HALF_SKY_SUBDIVISIONS; s <= sky_maxs_subd[0]+HALF_SKY_SUBDIVISIONS; ++s)			{				MakeSkyVec( ( s - HALF_SKY_SUBDIVISIONS ) / ( float ) HALF_SKY_SUBDIVISIONS,							( t - HALF_SKY_SUBDIVISIONS ) / ( float ) HALF_SKY_SUBDIVISIONS,							i, s_skyTexCoords[t][s], s_skyPoints[t][s] );			}		}		DrawSkySide( shader->sky.outerbox[i], sky_mins_subd, sky_maxs_subd );	}}
开发者ID:DaTa-,项目名称:cnq3x,代码行数:33,


示例3: S_Base_StartBackgroundTrack

/*======================S_StartBackgroundTrack======================*/void S_Base_StartBackgroundTrack( const char *intro, const char *loop, float volume, float loopVolume ) {	if ( !intro ) {		intro = "";	}	if ( !loop || !loop[0] ) {		loop = intro;	}	Com_DPrintf( "S_StartBackgroundTrack( %s, %s, %f, %f )/n", intro, loop, volume, loopVolume );	if(!*intro)	{		S_Base_StopBackgroundTrack();		return;	}	s_backgroundVolume = Com_Clamp(0, 10, volume);	s_backgroundLoopVolume = Com_Clamp(0, 10, loopVolume);	if( !loop ) {		s_backgroundLoop[0] = 0;	} else {		Q_strncpyz( s_backgroundLoop, loop, sizeof( s_backgroundLoop ) );	}	S_OpenBackgroundStream( intro );}
开发者ID:mecwerks,项目名称:spearmint-ios,代码行数:31,


示例4: Preferences_SetMenuItems

static void Preferences_SetMenuItems( void ) {	float textScale;	s_preferences.crosshair.curvalue		= (int)trap_Cvar_VariableValue( "cg_drawCrosshair" ) % NUM_CROSSHAIRS;	s_preferences.crosshairhealth.curvalue	= trap_Cvar_VariableValue( "cg_crosshairHealth" ) != 0;	s_preferences.viewbob.curvalue			= trap_Cvar_VariableValue( "cg_viewbob" ) != 0;	s_preferences.simpleitems.curvalue		= trap_Cvar_VariableValue( "cg_simpleItems" ) != 0;	s_preferences.brass.curvalue			= trap_Cvar_VariableValue( "cg_brassTime" ) != 0;	s_preferences.wallmarks.curvalue		= trap_Cvar_VariableValue( "cg_marks" ) != 0;	s_preferences.identifytarget.curvalue	= trap_Cvar_VariableValue( "cg_drawCrosshairNames" ) != 0;	s_preferences.dynamiclights.curvalue	= trap_Cvar_VariableValue( "r_dynamiclight" ) != 0;	s_preferences.highqualitysky.curvalue	= trap_Cvar_VariableValue ( "r_fastsky" ) == 0;	s_preferences.synceveryframe.curvalue	= trap_Cvar_VariableValue( "r_finish" ) != 0;	s_preferences.forcemodel.curvalue		= trap_Cvar_VariableValue( "cg_forcemodel" ) != 0;	s_preferences.drawteamoverlay.curvalue	= Com_Clamp( 0, 3, trap_Cvar_VariableValue( "cg_drawTeamOverlay" ) );	s_preferences.allowdownload.curvalue	= trap_Cvar_VariableValue( "cl_allowDownload" ) != 0;	s_preferences.splitvertical.curvalue	= trap_Cvar_VariableValue( "cg_splitviewVertical" ) != 0;	textScale = trap_Cvar_VariableValue( "cg_splitviewTextScale" );	if ( textScale <= 1.0f ) {		s_preferences.splittextsize.curvalue	= 0;	} else if ( textScale <= 1.5f ) {		s_preferences.splittextsize.curvalue	= 1;	} else {		s_preferences.splittextsize.curvalue	= 2;	}	s_preferences.thirdsize.curvalue		= trap_Cvar_VariableValue( "cg_splitviewThirdEqual" ) != 0;}
开发者ID:zturtleman,项目名称:mint-arena,代码行数:29,


示例5: SCR_DrawSpree

/*=================SCR_DrawSpree=================*/void SCR_DrawSpree(void) {        if (cl.snap.ps.persistant[PERS_TEAM] == TEAM_SPECTATOR || cl.snap.ps.pm_type > 4 ||         cl_paused->value || !cl_drawSpree->integer || cl.snap.ps.clientNum != clc.clientNum ||        !Cvar_VariableIntegerValue("cg_draw2d")) {            return;    }    int x;    int y = 450;    int spacing = 2;    int size = 20;    int width;    int max = 12;    int i;    width = size * cl.spreeCount + spacing * (cl.spreeCount - 1);    x = 320 - width / 2;        for (i = 0; i < (int)Com_Clamp(0, max, cl.spreeCount); i++) {        SCR_DrawNamedPic(x, y, size, size, "skull.tga");        x += spacing + size;    }}
开发者ID:danielepantaleone,项目名称:ioq3-UrT,代码行数:30,


示例6: Punkbuster_ConfirmEnable

/*=================PunkBuster_Confirm=================*/static void Punkbuster_ConfirmEnable( bool result ) {	if (result)	{		//		trap->SetPbClStatus(1);	}	g_arenaservers.punkbuster.curvalue = Com_Clamp( 0, 1, cvarSystem->VariableValue( "cl_punkbuster" ) );}
开发者ID:ensiform,项目名称:q3pp,代码行数:12,


示例7: CL_KeyState

/*===============CL_KeyStateReturns the fraction of the frame that the key was down===============*/float CL_KeyState( localPlayer_t *player, kbutton_t *key ) {	float digital, analog;	CL_KeyStateSeparate( player, key, &digital, &analog );	return Com_Clamp( 0, 1, digital + analog );}
开发者ID:KuehnhammerTobias,项目名称:ioid3-game,代码行数:14,


示例8: Punkbuster_ConfirmEnable

/*=================PunkBuster_Confirm=================*/static void Punkbuster_ConfirmEnable( qboolean result ) {	if (result)	{				trap_SetPbClStatus(1);	}	g_arenaservers.punkbuster.curvalue = Com_Clamp( 0, 1, trap_Cvar_VariableValue( "cl_punkbuster" ) );}
开发者ID:ghostmod,项目名称:ioquake3_sql_log,代码行数:12,


示例9: SetFarClip

/*** SetFarClip*/static void SetFarClip( void ){	float	farthestCornerDistance = 0;	int		i;	// if not rendering the world (icons, menus, etc)	// set a 2k far clip plane	if ( tr.refdef.rdflags & RDF_NOWORLDMODEL ) {		tr.viewParms.zFar = 2048;		return;	}	//	// set far clipping planes dynamically	//	for ( i = 0; i < 8; i++ )	{		vec3_t v;		float distance;		if ( i & 1 )		{			v[0] = tr.viewParms.visBounds[0][0];		}		else		{			v[0] = tr.viewParms.visBounds[1][0];		}		if ( i & 2 )		{			v[1] = tr.viewParms.visBounds[0][1];		}		else		{			v[1] = tr.viewParms.visBounds[1][1];		}		if ( i & 4 )		{			v[2] = tr.viewParms.visBounds[0][2];		}		else		{			v[2] = tr.viewParms.visBounds[1][2];		}		distance = DistanceSquared(tr.viewParms.or.origin, v);		if ( distance > farthestCornerDistance )		{			farthestCornerDistance = distance;		}	}	// Bring in the zFar to the distanceCull distance	// The sky renders at zFar so need to move it out a little	// ...and make sure there is a minimum zfar to prevent problems	tr.viewParms.zFar = Com_Clamp(2048.0f, tr.distanceCull * (1.732), sqrtf( farthestCornerDistance ));}
开发者ID:3ddy,项目名称:Jedi-Academy,代码行数:62,


示例10: StartServer_InGame_Old_Init

/*=================StartServer_InGame_Old_Init=================*/static void StartServer_InGame_Old_Init( void ){	int 		i, j;	qboolean 	disabled;	qboolean 	init;	groupinfo_t* 	group;	int 		type, t;	s_itemcontrols_old.enabled = ingame_enabled_old;	s_itemcontrols_old.grouptype = ingame_grouptype_old;	// get the cvars currently set	for (i = 0; i < ITEM_COUNT; i++)	{		disabled = (int)Com_Clamp(0, 1, trap_Cvar_VariableValue(va("disable_%s", server_itemlist[i].mapitem)));		if (disabled)			s_itemcontrols_old.enabled[i] = qfalse;		else			s_itemcontrols_old.enabled[i] = qtrue;	}	// all groups are custom by default, just in case a group	// doesn't have a master control (we want the control visible and editable)	for (i = 0; i < ITEMGROUP_COUNT; i++)	{		s_itemcontrols_old.grouptype[i] = ALLGROUPS_CUSTOM;	}	// now scan through the master controls to see how they should be setup	for (i = 0; i < masterControl_old_Size; i++)	{		if (!masterControl_old[i].control)			continue;		// check each group for a contrary enable state		init = qfalse;		for (j = 0; j < groupInfo_Size; j++)		{			group = groupInfo[j].group;			if (group->ident != masterControl_old[i].ident)				continue;			t = StartServer_InGame_Old_FindGroupType(group->itemlist, group->size);			if (init) {				type = t;				init = qfalse;			}			else {				if (t != type)					type = ALLGROUPS_CUSTOM;			}		}		s_itemcontrols_old.grouptype[ masterControl_old[i].ident ] = type;	}	StartServer_BothItemPage_Old_InitControls();}
开发者ID:themuffinator,项目名称:fnq3,代码行数:64,


示例11: IN_GetUIMousePosition

/*===============IN_GetUIMousePosition===============*/static void IN_GetUIMousePosition( int localPlayerNum, int *x, int *y ){	if( cgvm )	{		int pos = VM_Call( cgvm, CG_MOUSE_POSITION, localPlayerNum );		*x = Com_Clamp(0, cls.glconfig.vidWidth - 1, pos & 0xFFFF);		*y = Com_Clamp(0, cls.glconfig.vidHeight - 1, ( pos >> 16 ) & 0xFFFF);	}	else	{
开发者ID:coltongit,项目名称:spearmint,代码行数:15,


示例12: FillCloudBox

static void FillCloudBox( const shader_t* shader, int stage ){	// skybox surfs are ordered RLBFUD, so don't draw clouds on the last one	for (int i = 0; i < 5; ++i)	{		int s, t;		int sky_mins_subd[2], sky_maxs_subd[2];		if ( ( sky_mins_st[i][0] >= sky_maxs_st[i][0] ) || ( sky_mins_st[i][1] >= sky_maxs_st[i][1] ) ) {			//ri.Printf( PRINT_ALL, "clipped cloudside %i/n", i );			continue;		}		sky_mins_subd[0] = HALF_SKY_SUBDIVISIONS * Com_Clamp( -1, 1, sky_mins_st[i][0] );		sky_mins_subd[1] = HALF_SKY_SUBDIVISIONS * Com_Clamp( -1, 1, sky_mins_st[i][1] );		sky_maxs_subd[0] = HALF_SKY_SUBDIVISIONS * Com_Clamp( -1, 1, sky_maxs_st[i][0] );		sky_maxs_subd[1] = HALF_SKY_SUBDIVISIONS * Com_Clamp( -1, 1, sky_maxs_st[i][1] );		//		// iterate through the subdivisions		//		for ( t = sky_mins_subd[1]+HALF_SKY_SUBDIVISIONS; t <= sky_maxs_subd[1]+HALF_SKY_SUBDIVISIONS; t++ )		{			for ( s = sky_mins_subd[0]+HALF_SKY_SUBDIVISIONS; s <= sky_maxs_subd[0]+HALF_SKY_SUBDIVISIONS; s++ )			{				MakeSkyVec( ( s - HALF_SKY_SUBDIVISIONS ) / ( float ) HALF_SKY_SUBDIVISIONS,							( t - HALF_SKY_SUBDIVISIONS ) / ( float ) HALF_SKY_SUBDIVISIONS,							i,							NULL,							s_skyPoints[t][s] );				s_skyTexCoords[t][s][0] = s_cloudTexCoords[i][t][s][0];				s_skyTexCoords[t][s][1] = s_cloudTexCoords[i][t][s][1];			}		}		// only add indexes for first stage		FillCloudySkySide( sky_mins_subd, sky_maxs_subd, (qbool)(stage == 0) );	}}
开发者ID:DaTa-,项目名称:cnq3x,代码行数:41,


示例13: Svcmd_AddBot_f

/*===============Svcmd_AddBot_f===============*/void Svcmd_AddBot_f( void ) {	float			skill;	int				delay;	char			name[MAX_TOKEN_CHARS];	char			altname[MAX_TOKEN_CHARS];	char			string[MAX_TOKEN_CHARS];	char			team[MAX_TOKEN_CHARS];	// are bots enabled?	if ( !trap_Cvar_VariableIntegerValue( "bot_enable" ) ) {		return;	}	// name	trap_Argv( 1, name, sizeof( name ) );	if ( !name[0] ) {		trap_Print( "Usage: Addbot <botname> [skill 1-5] [team] [msec delay] [altname]/n" );		return;	}	// skill	trap_Argv( 2, string, sizeof( string ) );	if ( !string[0] ) {		skill = 4;	}	else {		skill = Com_Clamp( 1, 5, atof( string ) );	}	// team	trap_Argv( 3, team, sizeof( team ) );	// delay	trap_Argv( 4, string, sizeof( string ) );	if ( !string[0] ) {		delay = 0;	}	else {		delay = atoi( string );	}	// alternative name	trap_Argv( 5, altname, sizeof( altname ) );	G_AddBot( name, skill, team, delay, altname );	// if this was issued during gameplay and we are playing locally,	// go ahead and load the bot's media immediately	if ( level.time - level.startTime > 1000 &&		trap_Cvar_VariableIntegerValue( "cl_running" ) ) {		trap_SendServerCommand( -1, "loaddefered/n" );	// FIXME: spelled wrong, but not changing for demo	}}
开发者ID:eserozvataf,项目名称:q3now,代码行数:58,


示例14: FX_LightUpdateRGB

void FX_LightUpdateRGB(fxLight_t *_self, float frac){	if(!VectorCompare(_self->startRGB, _self->endRGB))		// This changes based on time, so do some sort of magic lerping	{		// TODO: wave/clamp/nonlinear. BLAH.		if(_self->RGBflags & FXTLF_NONLINEAR)		{			VectorCopy(_self->startRGB, _self->RGB);		}		else if(_self->RGBflags & FXTLF_LINEAR)		{			_self->RGB[0] = _self->startRGB[0] + frac * _self->endRGB[0];			_self->RGB[1] = _self->startRGB[1] + frac * _self->endRGB[1];			_self->RGB[2] = _self->startRGB[2] + frac * _self->endRGB[2];		}		else		{			VectorCopy(_self->startRGB, _self->RGB);		}	}	else		VectorCopy(_self->startRGB, _self->RGB);#if 0	float invfrac = 1.0f - frac;	int i;	for(i = 0; i < 3; i++)	{		_self->RGB[i] = Com_Clamp( 0.0f, 1.0f, ( _self->startRGB[i] * invfrac + _self->endRGB[i] * frac ) );				/*		_self->RGB[i] = ( _self->startRGB[i] * invfrac + _self->endRGB[i] * frac );		// Has been explicitely flagged to use the alpha channel		if ( !(m_flags & FXF_USE_ALPHA_CHAN) )		{			_self->RGB[i] *= _self->alpha;		}		if (_self->RGB[i] < 0.0f)			_self->RGB[i] = 0.0f;		if (_self->RGB[i] > 1.0f)			_self->RGB[i] = 1.0f;		*/	}#endif}
开发者ID:dmead,项目名称:jkaq3,代码行数:48,


示例15: FX_qFlash

void FX_qFlash( centity_t* cent, vec3_t org, int timeIndex ) {	trace_t		tr;	refEntity_t	flare;	float		frac;		if ( cg.predictedPlayerState.clientNum != cent->currentState.clientNum ) {		CG_Trace( &tr, cg.refdef.vieworg, NULL, NULL, 				cent->lerpOrigin, cg.predictedPlayerState.clientNum, CONTENTS_SOLID );		if ( tr.fraction != 1 ) {			return;		}	}	memset( &flare, 0, sizeof( flare ) );	flare.reType = RT_SPRITE;	flare.shaderRGBA[0] = 0xff;	flare.shaderRGBA[1] = 0xff;	flare.shaderRGBA[2] = 0xff;	flare.shaderRGBA[3] = 0xff;	flare.data.sprite.rotation = 0;	flare.nonNormalizedAxes = qtrue; //needed for effective scaling	flare.customShader = cgs.media.qFlashSprite;	flare.renderfx |= RF_DEPTHHACK;	VectorCopy( org, flare.origin );	//find the basic ratio	frac = (float)(cg.time - timeIndex) / (float)( Q_FLASH_TIME );	//apply a sine function to it to make it less linear	//calculated using the fine graph prog @ http://math.umn.edu/~garrett/a08/Graph.html	frac = ( 0.65f * sin( 4.5f * frac - 0.6f ) + 0.35f );	frac = Com_Clamp( 0.0f, 1.0f, frac );	//CG_Printf( "%f/n", frac );	flare.data.sprite.radius = (float)Q_FLASH_SIZE * frac;	trap_R_AddRefEntityToScene( &flare );}
开发者ID:UberGames,项目名称:RPG-X2-rpgxEF,代码行数:44,


示例16: SmokeThink

qboolean SmokeThink( localEntity_t *le ){	vec3_t	velocity/*, accel*/;	vec3_t	origin;	vec3_t	dir;	float	speed;	int i;	VectorCopy( le->data.spawner.dir, dir );	//clamp the smoke vector	//Smoke should always go up	dir[2] = Com_Clamp( 0.85f, 1.0f, dir[2] );	for ( i = 0; i < 3; i++ )	{		velocity[i] = dir[i] + ( 0.2f * crandom());	}	VectorMA( le->refEntity.origin, 1, le->data.spawner.dir, origin);	//slow down the smoke the smaller it gets	//else it scatters too much	speed = le->data.spawner.data1 * 2.4;	VectorScale( velocity, speed, velocity ); //speed	FX_AddSprite(	origin,					velocity, 					qfalse, //accel					le->data.spawner.data1 + (crandom() * le->data.spawner.data1 * 0.5f ),  					le->data.spawner.data1 + (crandom() * le->data.spawner.data1), 					0.8, 					0.0,					16.0f + random() * 45.0f,					0.5f,					7000, 					cgs.media.smokeShader ); //flags	return qtrue;}
开发者ID:UberGames,项目名称:RPG-X2-rpgxEF,代码行数:40,


示例17: PlayerSettings_SetMenuItems

/*=================PlayerSettings_SetMenuItems=================*/static void PlayerSettings_SetMenuItems( void ) {	vec3_t	viewangles;	int		c1, c2, c3;	int		h;	char	temp[6];	// name	Q_strncpyz( s_playersettings.name.field.buffer, UI_Cvar_VariableString("name"), sizeof(s_playersettings.name.field.buffer) );	// effects color	trap_Cvar_VariableStringBuffer( "color1", temp, sizeof(temp) );	c1 = atoi( va( "%c", temp[0] ) ) - 1;	c2 = atoi( va( "%c", temp[2] ) ) - 1;	c3 = atoi( va( "%c", temp[4] ) ) - 1;	if ( c1 > 6 || c1 < 0 ) c1 = 6;	if ( c2 > 6 || c2 < 0 ) c2 = 6;	if ( c3 > 6 || c3 < 0 ) c3 = 6;	s_playersettings.effects.curvalue = gamecodetoui[c1];	s_playersettings.effects2.curvalue = gamecodetoui[c2];	s_playersettings.effects3.curvalue = gamecodetoui[c3];	// model/skin	memset( &s_playersettings.playerinfo, 0, sizeof(playerInfo_t) );	viewangles[YAW]   = 180 - 30;	viewangles[PITCH] = 0;	viewangles[ROLL]  = 0;	UI_PlayerInfo_SetModel( &s_playersettings.playerinfo, UI_Cvar_VariableString( "model" ) );	UI_PlayerInfo_SetInfo( &s_playersettings.playerinfo, LEGS_IDLE, TORSO_STAND, viewangles, vec3_origin, WP_RAILGUN, qfalse );	// handicap	h = Com_Clamp( 5, 100, trap_Cvar_VariableValue("handicap") );	s_playersettings.handicap.curvalue = 20 - h / 5;}
开发者ID:linux26,项目名称:corkscrew,代码行数:44,


示例18: CG_SizeDown_f

/*=================CG_SizeDown_fKeybinding command=================*/static void CG_SizeDown_f (void) {	// manually clamp here so cvar range warning isn't show	trap_Cvar_SetValue("cg_viewsize", Com_Clamp( 30, 100, (int)(cg_viewsize.integer-10) ) );}
开发者ID:LavenderMoon,项目名称:mint-arena,代码行数:11,


示例19: ArenaServers_MenuInit

//.........这里部分代码省略.........	g_arenaservers.refresh.generic.type		= MTYPE_BITMAP;	g_arenaservers.refresh.generic.name		= ART_REFRESH0;	g_arenaservers.refresh.generic.flags	= QMF_LEFT_JUSTIFY|QMF_PULSEIFFOCUS;	g_arenaservers.refresh.generic.callback	= ArenaServers_Event;	g_arenaservers.refresh.generic.id		= ID_REFRESH;	g_arenaservers.refresh.generic.x		= 256;	g_arenaservers.refresh.generic.y		= 480-64;	g_arenaservers.refresh.width			= 128;	g_arenaservers.refresh.height			= 64;	g_arenaservers.refresh.focuspic			= ART_REFRESH1;	g_arenaservers.create.generic.type		= MTYPE_BITMAP;	g_arenaservers.create.generic.name		= ART_CREATE0;	g_arenaservers.create.generic.flags		= QMF_LEFT_JUSTIFY|QMF_PULSEIFFOCUS;	g_arenaservers.create.generic.callback	= ArenaServers_Event;	g_arenaservers.create.generic.id		= ID_CREATE;	g_arenaservers.create.generic.x			= 384;	g_arenaservers.create.generic.y			= 480-64;	g_arenaservers.create.width				= 128;	g_arenaservers.create.height			= 64;	g_arenaservers.create.focuspic			= ART_CREATE1;	g_arenaservers.go.generic.type			= MTYPE_BITMAP;	g_arenaservers.go.generic.name			= ART_CONNECT0;	g_arenaservers.go.generic.flags			= QMF_RIGHT_JUSTIFY|QMF_PULSEIFFOCUS;	g_arenaservers.go.generic.callback		= ArenaServers_Event;	g_arenaservers.go.generic.id			= ID_CONNECT;	g_arenaservers.go.generic.x				= 640;	g_arenaservers.go.generic.y				= 480-64;	g_arenaservers.go.width					= 128;	g_arenaservers.go.height				= 64;	g_arenaservers.go.focuspic				= ART_CONNECT1;	g_arenaservers.punkbuster.generic.type			= MTYPE_SPINCONTROL;	g_arenaservers.punkbuster.generic.name			= "Punkbuster:";	g_arenaservers.punkbuster.generic.flags			= QMF_PULSEIFFOCUS|QMF_SMALLFONT;	g_arenaservers.punkbuster.generic.callback		= ArenaServers_Event;	g_arenaservers.punkbuster.generic.id			= ID_PUNKBUSTER;	g_arenaservers.punkbuster.generic.x				= 480+32;	g_arenaservers.punkbuster.generic.y				= 144;	g_arenaservers.punkbuster.itemnames				= punkbuster_items;		g_arenaservers.pblogo.generic.type			= MTYPE_BITMAP;	g_arenaservers.pblogo.generic.name			= ART_PUNKBUSTER;	g_arenaservers.pblogo.generic.flags			= QMF_LEFT_JUSTIFY|QMF_INACTIVE;	g_arenaservers.pblogo.generic.x				= 526;	g_arenaservers.pblogo.generic.y				= 176;	g_arenaservers.pblogo.width					= 32;	g_arenaservers.pblogo.height				= 16;	g_arenaservers.pblogo.errorpic				= ART_UNKNOWNMAP;		Menu_AddItem( &g_arenaservers.menu, (void*) &g_arenaservers.banner );	Menu_AddItem( &g_arenaservers.menu, (void*) &g_arenaservers.master );	Menu_AddItem( &g_arenaservers.menu, (void*) &g_arenaservers.gametype );	Menu_AddItem( &g_arenaservers.menu, (void*) &g_arenaservers.sortkey );	Menu_AddItem( &g_arenaservers.menu, (void*) &g_arenaservers.showfull);	Menu_AddItem( &g_arenaservers.menu, (void*) &g_arenaservers.showempty );	Menu_AddItem( &g_arenaservers.menu, (void*) &g_arenaservers.mappic );	Menu_AddItem( &g_arenaservers.menu, (void*) &g_arenaservers.status );	Menu_AddItem( &g_arenaservers.menu, (void*) &g_arenaservers.statusbar );	Menu_AddItem( &g_arenaservers.menu, (void*) &g_arenaservers.arrows );	Menu_AddItem( &g_arenaservers.menu, (void*) &g_arenaservers.up );	Menu_AddItem( &g_arenaservers.menu, (void*) &g_arenaservers.down );	Menu_AddItem( &g_arenaservers.menu, (void*) &g_arenaservers.list );	Menu_AddItem( &g_arenaservers.menu, (void*) &g_arenaservers.remove );	Menu_AddItem( &g_arenaservers.menu, (void*) &g_arenaservers.back );	Menu_AddItem( &g_arenaservers.menu, (void*) &g_arenaservers.specify );	Menu_AddItem( &g_arenaservers.menu, (void*) &g_arenaservers.refresh );	Menu_AddItem( &g_arenaservers.menu, (void*) &g_arenaservers.create );	Menu_AddItem( &g_arenaservers.menu, (void*) &g_arenaservers.go );	Menu_AddItem( &g_arenaservers.menu, (void*) &g_arenaservers.punkbuster );	Menu_AddItem( &g_arenaservers.menu, (void*) &g_arenaservers.pblogo );		ArenaServers_LoadFavorites();	g_arenaservers.master.curvalue = g_servertype = Com_Clamp( 0, 6, ui_browserMaster.integer );	g_gametype = Com_Clamp( 0, 4, ui_browserGameType.integer );	g_arenaservers.gametype.curvalue = g_gametype;	g_sortkey = Com_Clamp( 0, 4, ui_browserSortKey.integer );	g_arenaservers.sortkey.curvalue = g_sortkey;	g_fullservers = Com_Clamp( 0, 1, ui_browserShowFull.integer );	g_arenaservers.showfull.curvalue = g_fullservers;	g_emptyservers = Com_Clamp( 0, 1, ui_browserShowEmpty.integer );	g_arenaservers.showempty.curvalue = g_emptyservers;		g_arenaservers.punkbuster.curvalue = Com_Clamp( 0, 1, cvarSystem->VariableValue( "cl_punkbuster" ) );	// force to initial state and refresh	g_arenaservers.master.curvalue = g_servertype = ArenaServers_SetType(g_servertype);	cvarSystem->Register(NULL, "debug_protocol", "", 0 );}
开发者ID:ensiform,项目名称:q3pp,代码行数:101,


示例20: CG_ParseLensFlareEffect

static qboolean CG_ParseLensFlareEffect(char** p, lensFlareEffect_t* lfe) {	char* token;	char* name;#if LFDEBUG	CG_LoadingString("LF: CG_ParseLensFlareEffect()");#endif	ParseEffect:	token = COM_Parse(p);	if (!token[0]) {		if (CG_PopFile()) {			*p = lfbuf;			goto ParseEffect;		}		return qfalse;	}	if (!Q_stricmp(token, "import")) {		CG_PushFile("maps/import/", COM_Parse(p));		goto ParseEffect;	}	if (!Q_stricmp(token, "sunparm")) {		token = COM_Parse(p);		Q_strncpyz(cgs.sunFlareEffect, token, sizeof(cgs.sunFlareEffect));		token = COM_Parse(p);		cgs.sunFlareYaw = atof(token);		token = COM_Parse(p);		cgs.sunFlarePitch = atof(token);		token = COM_Parse(p);		cgs.sunFlareDistance = atof(token);		goto ParseEffect;	}	name = va("%s%s", lfNameBase, token);	if (CG_FindLensFlareEffect(name)) {		SkipBracedSection(p, 0);		goto ParseEffect;	}	Q_strncpyz(lfe->name, name, sizeof(lfe->name));	token = COM_Parse(p);	if (Q_stricmp(token, "{")) {		CG_Printf(S_COLOR_YELLOW "read '%s', expected '{' in '%s'/n", token, lfe->name);		return qfalse;	}	// set non-zero default values	lfe->range = 400;	lfe->fadeAngle = 20;	while (1) {		token = COM_Parse(p);		if (!token[0]) {			CG_Printf(S_COLOR_YELLOW "unexpected end of lens flare effect '%s'/n", lfe->name);			return qfalse;		}		if (!Q_stricmp(token, "}")) break;		if (!Q_stricmp(token, "{")) {			if (lfe->numLensFlares >= MAX_LENSFLARES_PER_EFFECT) {				CG_Printf(S_COLOR_YELLOW "too many lensflares in '%s' (max=%d)/n", lfe->name, MAX_LENSFLARES_PER_EFFECT);				return qfalse;			}			if (!CG_ParseLensFlare(p, &lfe->lensFlares[lfe->numLensFlares], lfe->name)) return qfalse;			lfe->numLensFlares++;		}		else if (!Q_stricmp(token, "range")) {			token = COM_Parse(p);			lfe->range = atof(token);			lfe->rangeSqr = Square(lfe->range);		}		else if (!Q_stricmp(token, "fadeAngle")) {			token = COM_Parse(p);			lfe->fadeAngle = Com_Clamp(0, 180, atof(token));		}		else {			CG_Printf(S_COLOR_YELLOW "unexpected token '%s' in '%s'/n", token, lfe->name);			return qfalse;		}	}	CG_FinalizeLensFlareEffect(lfe);	return qtrue;}
开发者ID:asl97,项目名称:ZEQ2-Lite-1,代码行数:92,


示例21: CG_ParseLensFlare

static qboolean CG_ParseLensFlare(char** p, lensFlare_t* lf, const char* lfename) {	char* token;#if LFDEBUG	CG_LoadingString(va("LF: CG_ParseLensFlare(%s)", lfename));#endif	// set non-zero default values	lf->pos = 1.0;	lf->size = 1.0;	lf->rgba[0] = 0xff;	lf->rgba[1] = 0xff;	lf->rgba[2] = 0xff;	lf->rgba[3] = 0xff;	lf->fadeAngleFactor = 1.0;	lf->entityAngleFactor = 1.0;	lf->rotationRollFactor = 1.0;	while (1) {		token = COM_Parse(p);		if (!token[0]) {			CG_Printf(S_COLOR_YELLOW "unexpected end of lens flare definition in '%s'/n", lfename);#if LFDEBUG			CG_LoadingString(va("LF: CG_ParseLensFlare(%s) unexpected end", lfename));#endif			return qfalse;		}		if (!Q_stricmp(token, "}")) break;		if (!Q_stricmp(token, "shader")) {			token = COM_Parse(p);			if (token[0]) {				lf->shader = trap_R_RegisterShaderNoMip(token);			}		}		else if (!Q_stricmp(token, "mode")) {			token = COM_Parse(p);			if (!Q_stricmp(token, "reflexion")) {				lf->mode = LFM_reflexion;			}			else if (!Q_stricmp(token, "glare")) {				lf->mode = LFM_glare;			}			else if (!Q_stricmp(token, "star")) {				lf->mode = LFM_star;			}			else {				CG_Printf(S_COLOR_YELLOW "unknown mode '%s' in '%s'/n", token, lfename);				return qfalse;			}		}		else if (!Q_stricmp(token, "pos")) {			token = COM_Parse(p);			lf->pos = atof(token);		}		else if (!Q_stricmp(token, "size")) {			token = COM_Parse(p);			lf->size = atof(token);		}		else if (!Q_stricmp(token, "color")) {			token = COM_Parse(p);			lf->rgba[0] = 0xff * Com_Clamp(0, 1, atof(token));			token = COM_Parse(p);			lf->rgba[1] = 0xff * Com_Clamp(0, 1, atof(token));			token = COM_Parse(p);			lf->rgba[2] = 0xff * Com_Clamp(0, 1, atof(token));		}		else if (!Q_stricmp(token, "alpha")) {			token = COM_Parse(p);			lf->rgba[3] = 0xff * Com_Clamp(0, 1000, atof(token));		}		else if (!Q_stricmp(token, "rotation")) {			token = COM_Parse(p);			lf->rotationOffset = Com_Clamp(-360, 360, atof(token));			token = COM_Parse(p);			lf->rotationYawFactor = atof(token);			token = COM_Parse(p);			lf->rotationPitchFactor = atof(token);			token = COM_Parse(p);			lf->rotationRollFactor = atof(token);		}		else if (!Q_stricmp(token, "fadeAngleFactor")) {			token = COM_Parse(p);			lf->fadeAngleFactor = atof(token);			if (lf->fadeAngleFactor < 0) lf->fadeAngleFactor = 0;		}		else if (!Q_stricmp(token, "entityAngleFactor")) {			token = COM_Parse(p);			lf->entityAngleFactor = atof(token);			if (lf->entityAngleFactor < 0) lf->entityAngleFactor = 0;		}		else if (!Q_stricmp(token, "intensityThreshold")) {			token = COM_Parse(p);			lf->intensityThreshold = Com_Clamp(0, 0.99, atof(token));		}//.........这里部分代码省略.........
开发者ID:asl97,项目名称:ZEQ2-Lite-1,代码行数:101,


示例22: UI_SPSkillMenu_Init

//.........这里部分代码省略.........	skillMenuInfo.art_banner.color				= color_white;	skillMenuInfo.art_banner.style				= UI_CENTER;	skillMenuInfo.item_baby.generic_mc.type		= MTYPE_PTEXT;	skillMenuInfo.item_baby.generic_mc.flags		= QMF_CENTER_JUSTIFY|QMF_PULSEIFFOCUS;	skillMenuInfo.item_baby.generic_mc.x			= 320;	skillMenuInfo.item_baby.generic_mc.y			= 170;	skillMenuInfo.item_baby.generic_mc.callback	= UI_SPSkillMenu_SkillEvent;	skillMenuInfo.item_baby.generic_mc.id			= ID_BABY;	skillMenuInfo.item_baby.string				= "I Can Win";	skillMenuInfo.item_baby.color				= color_red;	skillMenuInfo.item_baby.style				= UI_CENTER;	skillMenuInfo.item_easy.generic_mc.type		= MTYPE_PTEXT;	skillMenuInfo.item_easy.generic_mc.flags		= QMF_CENTER_JUSTIFY|QMF_PULSEIFFOCUS;	skillMenuInfo.item_easy.generic_mc.x			= 320;	skillMenuInfo.item_easy.generic_mc.y			= 198;	skillMenuInfo.item_easy.generic_mc.callback	= UI_SPSkillMenu_SkillEvent;	skillMenuInfo.item_easy.generic_mc.id			= ID_EASY;	skillMenuInfo.item_easy.string				= "Bring It On";	skillMenuInfo.item_easy.color				= color_red;	skillMenuInfo.item_easy.style				= UI_CENTER;	skillMenuInfo.item_medium.generic_mc.type		= MTYPE_PTEXT;	skillMenuInfo.item_medium.generic_mc.flags		= QMF_CENTER_JUSTIFY|QMF_PULSEIFFOCUS;	skillMenuInfo.item_medium.generic_mc.x			= 320;	skillMenuInfo.item_medium.generic_mc.y			= 227;	skillMenuInfo.item_medium.generic_mc.callback	= UI_SPSkillMenu_SkillEvent;	skillMenuInfo.item_medium.generic_mc.id		= ID_MEDIUM;	skillMenuInfo.item_medium.string			= "Hurt Me Plenty";	skillMenuInfo.item_medium.color				= color_red;	skillMenuInfo.item_medium.style				= UI_CENTER;	skillMenuInfo.item_hard.generic_mc.type		= MTYPE_PTEXT;	skillMenuInfo.item_hard.generic_mc.flags		= QMF_CENTER_JUSTIFY|QMF_PULSEIFFOCUS;	skillMenuInfo.item_hard.generic_mc.x			= 320;	skillMenuInfo.item_hard.generic_mc.y			= 255;	skillMenuInfo.item_hard.generic_mc.callback	= UI_SPSkillMenu_SkillEvent;	skillMenuInfo.item_hard.generic_mc.id			= ID_HARD;	skillMenuInfo.item_hard.string				= "Hardcore";	skillMenuInfo.item_hard.color				= color_red;	skillMenuInfo.item_hard.style				= UI_CENTER;	skillMenuInfo.item_nightmare.generic_mc.type		= MTYPE_PTEXT;	skillMenuInfo.item_nightmare.generic_mc.flags		= QMF_CENTER_JUSTIFY|QMF_PULSEIFFOCUS;	skillMenuInfo.item_nightmare.generic_mc.x			= 320;	skillMenuInfo.item_nightmare.generic_mc.y			= 283;	skillMenuInfo.item_nightmare.generic_mc.callback	= UI_SPSkillMenu_SkillEvent;	skillMenuInfo.item_nightmare.generic_mc.id			= ID_NIGHTMARE;	skillMenuInfo.item_nightmare.string				= "NIGHTMARE!";	skillMenuInfo.item_nightmare.color				= color_red;	skillMenuInfo.item_nightmare.style				= UI_CENTER;	skillMenuInfo.item_back.generic_mc.type		= MTYPE_BITMAP;	skillMenuInfo.item_back.generic_mc.name		= ART_BACK;	skillMenuInfo.item_back.generic_mc.flags		= QMF_LEFT_JUSTIFY|QMF_PULSEIFFOCUS;	skillMenuInfo.item_back.generic_mc.x			= 0;	skillMenuInfo.item_back.generic_mc.y			= 480-64;	skillMenuInfo.item_back.generic_mc.callback	= UI_SPSkillMenu_BackEvent;	skillMenuInfo.item_back.generic_mc.id			= ID_BACK;	skillMenuInfo.item_back.width				= 128;	skillMenuInfo.item_back.height				= 64;	skillMenuInfo.item_back.focuspic			= ART_BACK_FOCUS;	skillMenuInfo.art_skillPic.generic_mc.type		= MTYPE_BITMAP;	skillMenuInfo.art_skillPic.generic_mc.flags	= QMF_LEFT_JUSTIFY|QMF_INACTIVE;	skillMenuInfo.art_skillPic.generic_mc.x		= 320-64;	skillMenuInfo.art_skillPic.generic_mc.y		= 368;	skillMenuInfo.art_skillPic.width			= 128;	skillMenuInfo.art_skillPic.height			= 96;	skillMenuInfo.item_fight.generic_mc.type		= MTYPE_BITMAP;	skillMenuInfo.item_fight.generic_mc.name		= ART_FIGHT;	skillMenuInfo.item_fight.generic_mc.flags		= QMF_RIGHT_JUSTIFY|QMF_PULSEIFFOCUS;	skillMenuInfo.item_fight.generic_mc.callback	= UI_SPSkillMenu_FightEvent;	skillMenuInfo.item_fight.generic_mc.id			= ID_FIGHT;	skillMenuInfo.item_fight.generic_mc.x			= 640;	skillMenuInfo.item_fight.generic_mc.y			= 480-64;	skillMenuInfo.item_fight.width				= 128;	skillMenuInfo.item_fight.height				= 64;	skillMenuInfo.item_fight.focuspic			= ART_FIGHT_FOCUS;	Menu_AddItem( &skillMenuInfo.menu, ( void * )&skillMenuInfo.art_frame );	Menu_AddItem( &skillMenuInfo.menu, ( void * )&skillMenuInfo.art_banner );	Menu_AddItem( &skillMenuInfo.menu, ( void * )&skillMenuInfo.item_baby );	Menu_AddItem( &skillMenuInfo.menu, ( void * )&skillMenuInfo.item_easy );	Menu_AddItem( &skillMenuInfo.menu, ( void * )&skillMenuInfo.item_medium );	Menu_AddItem( &skillMenuInfo.menu, ( void * )&skillMenuInfo.item_hard );	Menu_AddItem( &skillMenuInfo.menu, ( void * )&skillMenuInfo.item_nightmare );	Menu_AddItem( &skillMenuInfo.menu, ( void * )&skillMenuInfo.art_skillPic );	Menu_AddItem( &skillMenuInfo.menu, ( void * )&skillMenuInfo.item_back );	Menu_AddItem( &skillMenuInfo.menu, ( void * )&skillMenuInfo.item_fight );	skill = (int)Com_Clamp( 1, 5, trap_Cvar_VariableValue( "g_spSkill" ) );	SetSkillColor( skill, color_white );	skillMenuInfo.art_skillPic.shader = skillMenuInfo.skillpics[skill - 1];	if( skill == 5 ) {		trap_S_StartLocalSound( skillMenuInfo.nightmareSound, CHAN_ANNOUNCER );	}}
开发者ID:mtrencseni,项目名称:quake3,代码行数:101,


示例23: ArenaServers_MenuInit

//.........这里部分代码省略.........	g_arenaservers.back.generic.type		= MTYPE_BITMAP;	g_arenaservers.back.generic.name		= ART_BACK0;	g_arenaservers.back.generic.flags		= QMF_LEFT_JUSTIFY|QMF_PULSEIFFOCUS;	g_arenaservers.back.generic.callback	= ArenaServers_Event;	g_arenaservers.back.generic.id			= ID_BACK;	g_arenaservers.back.generic.x			= 0;	g_arenaservers.back.generic.y			= 480-64;	g_arenaservers.back.width				= 128;	g_arenaservers.back.height				= 64;	g_arenaservers.back.focuspic			= ART_BACK1;	g_arenaservers.specify.generic.type	    = MTYPE_BITMAP;	g_arenaservers.specify.generic.name		= ART_SPECIFY0;	g_arenaservers.specify.generic.flags    = QMF_LEFT_JUSTIFY|QMF_PULSEIFFOCUS;	g_arenaservers.specify.generic.callback = ArenaServers_Event;	g_arenaservers.specify.generic.id	    = ID_SPECIFY;	g_arenaservers.specify.generic.x		= 170;	g_arenaservers.specify.generic.y		= 480-64;	g_arenaservers.specify.width  		    = 128;	g_arenaservers.specify.height  		    = 64;	g_arenaservers.specify.focuspic         = ART_SPECIFY1;	g_arenaservers.refresh.generic.type		= MTYPE_BITMAP;	g_arenaservers.refresh.generic.name		= ART_REFRESH0;	g_arenaservers.refresh.generic.flags	= QMF_LEFT_JUSTIFY|QMF_PULSEIFFOCUS;	g_arenaservers.refresh.generic.callback	= ArenaServers_Event;	g_arenaservers.refresh.generic.id		= ID_REFRESH;	g_arenaservers.refresh.generic.x		= 340;	g_arenaservers.refresh.generic.y		= 480-64;	g_arenaservers.refresh.width			= 128;	g_arenaservers.refresh.height			= 64;	g_arenaservers.refresh.focuspic			= ART_REFRESH1;	g_arenaservers.go.generic.type			= MTYPE_BITMAP;	g_arenaservers.go.generic.name			= ART_CONNECT0;	g_arenaservers.go.generic.flags			= QMF_RIGHT_JUSTIFY|QMF_PULSEIFFOCUS;	g_arenaservers.go.generic.callback		= ArenaServers_Event;	g_arenaservers.go.generic.id			= ID_CONNECT;	g_arenaservers.go.generic.x				= 640;	g_arenaservers.go.generic.y				= 480-64;	g_arenaservers.go.width					= 128;	g_arenaservers.go.height				= 64;	g_arenaservers.go.focuspic				= ART_CONNECT1;	Menu_AddItem( &g_arenaservers.menu, (void*) &g_arenaservers.banner );	Menu_AddItem( &g_arenaservers.menu, (void*) &g_arenaservers.grlogo );	Menu_AddItem( &g_arenaservers.menu, (void*) &g_arenaservers.league );	Menu_AddItem( &g_arenaservers.menu, (void*) &g_arenaservers.practice );	Menu_AddItem( &g_arenaservers.menu, (void*) &g_arenaservers.master );	Menu_AddItem( &g_arenaservers.menu, (void*) &g_arenaservers.gametype );	Menu_AddItem( &g_arenaservers.menu, (void*) &g_arenaservers.sortkey );	Menu_AddItem( &g_arenaservers.menu, (void*) &g_arenaservers.showfull);	Menu_AddItem( &g_arenaservers.menu, (void*) &g_arenaservers.showempty );	Menu_AddItem( &g_arenaservers.menu, (void*) &g_arenaservers.showawonly );	Menu_AddItem( &g_arenaservers.menu, (void*) &g_arenaservers.mappic );	Menu_AddItem( &g_arenaservers.menu, (void*) &g_arenaservers.list );	Menu_AddItem( &g_arenaservers.menu, (void*) &g_arenaservers.status );	Menu_AddItem( &g_arenaservers.menu, (void*) &g_arenaservers.statusbar );	Menu_AddItem( &g_arenaservers.menu, (void*) &g_arenaservers.arrows );	Menu_AddItem( &g_arenaservers.menu, (void*) &g_arenaservers.up );	Menu_AddItem( &g_arenaservers.menu, (void*) &g_arenaservers.down );	Menu_AddItem( &g_arenaservers.menu, (void*) &g_arenaservers.info );	Menu_AddItem( &g_arenaservers.menu, (void*) &g_arenaservers.favorite );	Menu_AddItem( &g_arenaservers.menu, (void*) &g_arenaservers.back );	Menu_AddItem( &g_arenaservers.menu, (void*) &g_arenaservers.specify );	Menu_AddItem( &g_arenaservers.menu, (void*) &g_arenaservers.refresh );	Menu_AddItem( &g_arenaservers.menu, (void*) &g_arenaservers.go );//	ArenaServers_LoadFavorites();	g_servertype = Com_Clamp( 0, 3, ui_browserMaster.integer );	g_arenaservers.master.curvalue = g_servertype;	g_gametype = Com_Clamp( 0, 4, ui_browserGameType.integer );	g_arenaservers.gametype.curvalue = g_gametype;	g_sortkey = Com_Clamp( 0, 4, ui_browserSortKey.integer );	g_arenaservers.sortkey.curvalue = g_sortkey;	g_fullservers = Com_Clamp( 0, 1, ui_browserShowFull.integer );	g_arenaservers.showfull.curvalue = g_fullservers;	g_emptyservers = Com_Clamp( 0, 1, ui_browserShowEmpty.integer );	g_arenaservers.showempty.curvalue = g_emptyservers;	g_arenaservers.showawonly.curvalue = Com_Clamp( 0, 1, ui_browserShowAwOnly.integer );	// force to initial state and refresh	memset( &serverStatus, 0, sizeof( serverStatus ) );	type = g_servertype;	g_servertype = -1;	ArenaServers_SetType( type );	trap_Cvar_Register(NULL, "debug_protocol", "", 0 );}
开发者ID:ElderPlayerX,项目名称:Afterwards,代码行数:101,


示例24: R_SetupEntityLightingGrid

/*=================R_SetupEntityLightingGrid=================*/static void R_SetupEntityLightingGrid( trRefEntity_t *ent ) {	vec3_t			lightOrigin;	int				pos[3];	int				i, j;	float			frac[3];	int				gridStep[3];	vec3_t			direction;	float			totalFactor;	unsigned short	*startGridPos;	if (r_fullbright->integer)	{		ent->ambientLight[0] = ent->ambientLight[1] = ent->ambientLight[2] = 255.0;		ent->directedLight[0] = ent->directedLight[1] = ent->directedLight[2] = 255.0;		VectorCopy( tr.sunDirection, ent->lightDir );		return;	}	if (r_newDLights->integer)	{		vec3_t v, invfrac;		float fraction[8];		if ( ent->e.renderfx & RF_LIGHTING_ORIGIN ) 		{			// seperate lightOrigins are needed so an object that is			// sinking into the ground can still be lit, and so			// multi-part models can be lit identically			VectorCopy( ent->e.lightingOrigin, lightOrigin );		}		else 		{			VectorCopy( ent->e.origin, lightOrigin );		}		VectorSubtract( lightOrigin, tr.world->lightGridOrigin, lightOrigin );		VectorScaleVector( lightOrigin, tr.world->lightGridInverseSize, v );		pos[0] = (int)floorf(v[0]);		pos[1] = (int)floorf(v[1]);		pos[2] = (int)floorf(v[2]);		frac[0] = v[0] - (float)pos[0];		frac[1] = v[1] - (float)pos[1];		frac[2] = v[2] - (float)pos[2];		invfrac[0] = 1.0f - frac[0];		invfrac[1] = 1.0f - frac[1];		invfrac[2] = 1.0f - frac[2];		fraction[0] = invfrac[0] * invfrac[1] * invfrac[2];		fraction[1] = frac[0] * invfrac[1] * invfrac[2];		fraction[2] = invfrac[0] * frac[1] * invfrac[2];		fraction[3] = frac[0] * frac[1] * invfrac[2];		fraction[4] = invfrac[0] * invfrac[1] * frac[2];		fraction[5] = frac[0] * invfrac[1] * frac[2];		fraction[6] = invfrac[0] * frac[1] * frac[2];		fraction[7] = frac[0] * frac[1] * frac[2];		pos[0] = Com_Clamp(0, tr.world->lightGridBounds[0] - 1, pos[0]);		pos[1] = Com_Clamp(0, tr.world->lightGridBounds[1] - 1, pos[1]);		pos[2] = Com_Clamp(0, tr.world->lightGridBounds[2] - 1, pos[2]);		VectorClear( ent->ambientLight );		VectorClear( ent->directedLight );		VectorClear( direction );		// trilerp the light value		/*		startGridPos = tr.world->lightGridArray + (pos[0] * tr.world->lightGridStep[0]) + (pos[1] * tr.world->lightGridStep[1]) + (pos[2] * tr.world->lightGridStep[2]);		*/		startGridPos = tr.world->lightGridArray + (int)((pos[0] * tr.world->lightGridStep[0])) + (int)((pos[1] * tr.world->lightGridStep[1])) + (int)((pos[2] * tr.world->lightGridStep[2]));		totalFactor = 0;		for ( i = 0 ; i < 8 ; i++ ) 		{			float			factor;			mgrid_t			*data;			unsigned short	*gridPos;			int				lat, lng;			vec3_t			normal;			gridPos = startGridPos + tr.world->lightGridOffsets[i];			if (gridPos >= tr.world->lightGridArray + tr.world->numGridArrayElements)			{				//we've gone off the array somehow				continue;			}			data = tr.world->lightGridData + *gridPos;			if ( data->styles[0] == LS_LSNONE ) 			{//.........这里部分代码省略.........
开发者ID:5Quintessential,项目名称:jedioutcast,代码行数:101,


示例25: CG_SurfaceText

/*==============CG_SurfaceTextAdd text in 3D space. Text faces away from axis forward directory.ref entity should have origin, axis, and shaderRGBA set==============*/void CG_SurfaceText( const refEntity_t *originEnt, const fontInfo_t *font, float scale, const char *text, float adjust, int limit, float gradient, qboolean forceColor ) {	int len, count;	vec4_t newColor;	vec4_t gradientColor;	const glyphInfo_t *glyph;	const char *s;	float yadj, xadj;	float useScale;	vec3_t baseline;	refEntity_t re;	polyVert_t verts[4];	float x, y, w, h;	int j;	if ( !text ) {		return;	}	scale *= 0.25f; // for world scale	re = *originEnt;	re.reType = RT_POLY_LOCAL;	VectorCopy( re.origin, re.oldorigin );	// center justify at origin	VectorCopy( vec3_origin, baseline );	x = 0 - Text_Width( text, font, scale, 0 ) / 2;	y = 0;	useScale = scale * font->glyphScale;	newColor[0] = re.shaderRGBA[0] / 255.0f;	newColor[1] = re.shaderRGBA[1] / 255.0f;	newColor[2] = re.shaderRGBA[2] / 255.0f;	newColor[3] = re.shaderRGBA[3] / 255.0f;	gradientColor[0] = Com_Clamp( 0, 1, newColor[0] - gradient );	gradientColor[1] = Com_Clamp( 0, 1, newColor[1] - gradient );	gradientColor[2] = Com_Clamp( 0, 1, newColor[2] - gradient );	gradientColor[3] = newColor[3];	len = Q_UTF8_PrintStrlen( text );	if ( limit > 0 && len > limit ) {		len = limit;	}	s = text;	count = 0;	while ( s && *s && count < len ) {		if ( Q_IsColorString( s ) ) {			if ( !forceColor ) {				VectorCopy( g_color_table[ColorIndex(*(s+1))], newColor );				gradientColor[0] = Com_Clamp( 0, 1, newColor[0] - gradient );				gradientColor[1] = Com_Clamp( 0, 1, newColor[1] - gradient );				gradientColor[2] = Com_Clamp( 0, 1, newColor[2] - gradient );			}			s += 2;			continue;		}		glyph = Text_GetGlyph( font, Q_UTF8_CodePoint( &s ) );		yadj = useScale * glyph->top;		xadj = useScale * glyph->left;		w = glyph->imageWidth * useScale;		h = glyph->imageHeight * useScale;		// 0  1		// 3  2		verts[0].xyz[0] = baseline[0] + 0;		verts[0].xyz[1] = baseline[1] - ( x + xadj );		verts[0].xyz[2] = baseline[2] + y + yadj;		verts[1].xyz[0] = baseline[0] + 0;		verts[1].xyz[1] = baseline[1] - ( x + xadj + w );		verts[1].xyz[2] = baseline[2] + y + yadj;		verts[2].xyz[0] = baseline[0] + 0;		verts[2].xyz[1] = baseline[1] - ( x + xadj + w );		verts[2].xyz[2] = baseline[2] + y + yadj - h;		verts[3].xyz[0] = baseline[0] + 0;		verts[3].xyz[1] = baseline[1] - ( x + xadj );		verts[3].xyz[2] = baseline[2] + y + yadj - h;		// standard square texture coordinates		for ( j = 0; j < 4; j++ ) {			verts[j].st[0] = ( j == 0 || j == 3 ) ? glyph->s : glyph->s2;//.........这里部分代码省略.........
开发者ID:KuehnhammerTobias,项目名称:ioid3-game,代码行数:101,


示例26: SetFarClip

/*** SetFarClip*/static void SetFarClip( void ){	float	farthestCornerDistance = 0;	int		i;	// if not rendering the world (icons, menus, etc)	// set a 2k far clip plane	if ( tr.refdef.rdflags & RDF_NOWORLDMODEL ) {		if (tr.refdef.rdflags & RDF_AUTOMAP)		{ //override the zfar then			tr.viewParms.zFar = 32768.0f;		}		else		{			tr.viewParms.zFar = 2048.0f;		}		return;	}	//	// set far clipping planes dynamically	//	for ( i = 0; i < 8; i++ )	{		vec3_t v;		float distance;		if ( i & 1 )		{			v[0] = tr.viewParms.visBounds[0][0];		}		else		{			v[0] = tr.viewParms.visBounds[1][0];		}		if ( i & 2 )		{			v[1] = tr.viewParms.visBounds[0][1];		}		else		{			v[1] = tr.viewParms.visBounds[1][1];		}		if ( i & 4 )		{			v[2] = tr.viewParms.visBounds[0][2];		}		else		{			v[2] = tr.viewParms.visBounds[1][2];		}		distance = DistanceSquared(tr.viewParms.ori.origin, v);		if ( distance > farthestCornerDistance )		{			farthestCornerDistance = distance;		}	}	// Bring in the zFar to the distanceCull distance	// The sky renders at zFar so need to move it out a little	// ...and make sure there is a minimum zfar to prevent problems	tr.viewParms.zFar = Com_Clamp(2048.0f, tr.distanceCull * (1.732), sqrtf( farthestCornerDistance ));	/*	if (r_shadows->integer == 2)	{ //volume caps need an "infinite" far clipping plane. So I'm using this semi-arbitrary massive number.		tr.viewParms.zFar = 524288.0f;	}	*/}
开发者ID:LeadGuitar,项目名称:OpenJK,代码行数:76,


示例27: UI_AddBotsMenu_Init

static void UI_AddBotsMenu_Init( void ) {	int		n;	int		y;	int		gametype;	int		count;	char	info[MAX_INFO_STRING];	UI_trap_GetConfigString(CS_SERVERINFO, info, MAX_INFO_STRING);   	gametype = atoi( Info_ValueForKey( info,"g_gametype" ) );	memset( &addBotsMenuInfo, 0 ,sizeof(addBotsMenuInfo) );	addBotsMenuInfo.menu.draw = UI_AddBotsMenu_Draw;	addBotsMenuInfo.menu.fullscreen = qfalse;	addBotsMenuInfo.menu.wrapAround = qtrue;	addBotsMenuInfo.delay = 1000;	UI_AddBots_Cache();	addBotsMenuInfo.numBots = UI_GetNumBots();	count = addBotsMenuInfo.numBots < 7 ? addBotsMenuInfo.numBots : 7;	addBotsMenuInfo.arrows.generic.type  = MTYPE_BITMAP;	addBotsMenuInfo.arrows.generic.name  = ART_ARROWS;	addBotsMenuInfo.arrows.generic.flags = QMF_INACTIVE;	addBotsMenuInfo.arrows.generic.x	 = 200;	addBotsMenuInfo.arrows.generic.y	 = 128;	addBotsMenuInfo.arrows.width  	     = 64;	addBotsMenuInfo.arrows.height  	     = 128;	addBotsMenuInfo.up.generic.type	    = MTYPE_BITMAP;	addBotsMenuInfo.up.generic.flags    = QMF_LEFT_JUSTIFY|QMF_PULSEIFFOCUS;	addBotsMenuInfo.up.generic.x		= 200;	addBotsMenuInfo.up.generic.y		= 128;	addBotsMenuInfo.up.generic.id	    = ID_UP;	addBotsMenuInfo.up.generic.callback = UI_AddBotsMenu_UpEvent;	addBotsMenuInfo.up.width  		    = 64;	addBotsMenuInfo.up.height  		    = 64;	addBotsMenuInfo.up.focuspic         = ART_ARROWUP;	addBotsMenuInfo.down.generic.type	  = MTYPE_BITMAP;	addBotsMenuInfo.down.generic.flags    = QMF_LEFT_JUSTIFY|QMF_PULSEIFFOCUS;	addBotsMenuInfo.down.generic.x		  = 200;	addBotsMenuInfo.down.generic.y		  = 128+64;	addBotsMenuInfo.down.generic.id	      = ID_DOWN;	addBotsMenuInfo.down.generic.callback = UI_AddBotsMenu_DownEvent;	addBotsMenuInfo.down.width  		  = 64;	addBotsMenuInfo.down.height  		  = 64;	addBotsMenuInfo.down.focuspic         = ART_ARROWDOWN;	for( n = 0, y = 120; n < count; n++, y += 20 ) {		addBotsMenuInfo.bots[n].generic.type		= MTYPE_PTEXT;		addBotsMenuInfo.bots[n].generic.flags		= QMF_LEFT_JUSTIFY|QMF_PULSEIFFOCUS;		addBotsMenuInfo.bots[n].generic.id			= ID_BOTNAME0 + n;		addBotsMenuInfo.bots[n].generic.x			= 320 - 56;		addBotsMenuInfo.bots[n].generic.y			= y;		addBotsMenuInfo.bots[n].generic.callback	= UI_AddBotsMenu_BotEvent;		addBotsMenuInfo.bots[n].string				= addBotsMenuInfo.botnames[n];		addBotsMenuInfo.bots[n].color				= color_orange;		addBotsMenuInfo.bots[n].style				= UI_LEFT|UI_SMALLFONT;	}	y += 12;	addBotsMenuInfo.skill.generic.type		= MTYPE_SPINCONTROL;	addBotsMenuInfo.skill.generic.flags		= QMF_PULSEIFFOCUS|QMF_SMALLFONT;	addBotsMenuInfo.skill.generic.x			= 320;	addBotsMenuInfo.skill.generic.y			= y;	addBotsMenuInfo.skill.generic.name		= "Skill:";	addBotsMenuInfo.skill.generic.id		= ID_SKILL;	addBotsMenuInfo.skill.itemnames			= skillNames;	addBotsMenuInfo.skill.curvalue			= Com_Clamp( 0, 4, (int)UI_trap_Cvar_VariableValue( "g_spSkill" ) - 1 );	y += SMALLCHAR_HEIGHT;	addBotsMenuInfo.team.generic.type		= MTYPE_SPINCONTROL;	addBotsMenuInfo.team.generic.flags		= QMF_PULSEIFFOCUS|QMF_SMALLFONT;	addBotsMenuInfo.team.generic.x			= 320;	addBotsMenuInfo.team.generic.y			= y;	addBotsMenuInfo.team.generic.name		= "Team: ";	addBotsMenuInfo.team.generic.id			= ID_TEAM;	if( gametype >= GT_TEAM ) {		addBotsMenuInfo.team.itemnames		= teamNames2;	}	else {		addBotsMenuInfo.team.itemnames		= teamNames1;		addBotsMenuInfo.team.generic.flags	= QMF_GRAYED;	}	addBotsMenuInfo.go.generic.type			= MTYPE_BITMAP;	addBotsMenuInfo.go.generic.name			= ART_FIGHT0;	addBotsMenuInfo.go.generic.flags		= QMF_LEFT_JUSTIFY|QMF_PULSEIFFOCUS;	addBotsMenuInfo.go.generic.id			= ID_GO;	addBotsMenuInfo.go.generic.callback		= UI_AddBotsMenu_FightEvent;	addBotsMenuInfo.go.generic.x			= 320+128-128;	addBotsMenuInfo.go.generic.y			= 256+128-64;	addBotsMenuInfo.go.width  				= 128;	addBotsMenuInfo.go.height  				= 64;	addBotsMenuInfo.go.focuspic				= ART_FIGHT1;	addBotsMenuInfo.back.generic.type		= MTYPE_BITMAP;	addBotsMenuInfo.back.generic.name		= ART_BACK0;	addBotsMenuInfo.back.generic.flags		= QMF_LEFT_JUSTIFY|QMF_PULSEIFFOCUS;//.........这里部分代码省略.........
开发者ID:LoudHoward,项目名称:Quake3,代码行数:101,



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


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