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

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

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

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

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

示例1: CL_AdjustAngles

/*================CL_AdjustAnglesMoves the local angle positions================*/void CL_AdjustAngles( void ) {	float	speed;		if ( in_speed.active ) {		speed = 0.001 * cls.frametime * cl_anglespeedkey->value;	} else {		speed = 0.001 * cls.frametime;	}	if ( !in_strafe.active ) {		if ( cl_mYawOverride )		{			cl.viewangles[YAW] -= cl_mYawOverride*5.0f*speed*cl_yawspeed->value*CL_KeyState (&in_right);			cl.viewangles[YAW] += cl_mYawOverride*5.0f*speed*cl_yawspeed->value*CL_KeyState (&in_left);		}		else		{			cl.viewangles[YAW] -= speed*cl_yawspeed->value*CL_KeyState (&in_right);			cl.viewangles[YAW] += speed*cl_yawspeed->value*CL_KeyState (&in_left);		}	}	if ( cl_mPitchOverride )	{		cl.viewangles[PITCH] -= cl_mPitchOverride*5.0f*speed*cl_pitchspeed->value * CL_KeyState (&in_lookup);		cl.viewangles[PITCH] += cl_mPitchOverride*5.0f*speed*cl_pitchspeed->value * CL_KeyState (&in_lookdown);	}	else	{		cl.viewangles[PITCH] -= speed*cl_pitchspeed->value * CL_KeyState (&in_lookup);		cl.viewangles[PITCH] += speed*cl_pitchspeed->value * CL_KeyState (&in_lookdown);	}}
开发者ID:AlexCSilva,项目名称:jediacademy,代码行数:40,


示例2: CL_BaseMove

/*================CL_BaseMoveSend the intended movement message to the server================*/void CL_BaseMove (usercmd_t *cmd){		CL_AdjustAngles ();		memset (cmd, 0, sizeof(*cmd));		VectorCopy (cl.viewangles, cmd->angles);	if (in_strafe.state & 1)	{		cmd->sidemove += cl_sidespeed.value * CL_KeyState (&in_right);		cmd->sidemove -= cl_sidespeed.value * CL_KeyState (&in_left);	}	cmd->sidemove += cl_sidespeed.value * CL_KeyState (&in_moveright);	cmd->sidemove -= cl_sidespeed.value * CL_KeyState (&in_moveleft);	cmd->upmove += cl_upspeed.value * CL_KeyState (&in_up);	cmd->upmove -= cl_upspeed.value * CL_KeyState (&in_down);	if (! (in_klook.state & 1) )	{			cmd->forwardmove += cl_forwardspeed.value * CL_KeyState (&in_forward);		cmd->forwardmove -= cl_backspeed.value * CL_KeyState (&in_back);	}	//// adjust for speed key//	if (in_speed.state & 1)	{		cmd->forwardmove *= cl_movespeedkey.value;		cmd->sidemove *= cl_movespeedkey.value;		cmd->upmove *= cl_movespeedkey.value;	}	}
开发者ID:DaneTheory,项目名称:quake,代码行数:42,


示例3: CL_BaseMove

/*================CL_BaseMoveSend the intended movement message to the server================*/void CL_BaseMove (usercmd_t *cmd){	if (cl.v.cameramode)	// stuck in a different camera so don't move	{		memset (cmd, 0, sizeof(*cmd));		return;	}	CL_AdjustAngles ();	memset (cmd, 0, sizeof(*cmd));	VectorCopy (cl.viewangles, cmd->angles);	if (in_strafe.state & 1)	{//		cmd->sidemove += cl_sidespeed.value * CL_KeyState (&in_right);//		cmd->sidemove -= cl_sidespeed.value * CL_KeyState (&in_left);		cmd->sidemove += 225 * CL_KeyState (&in_right);		cmd->sidemove -= 225 * CL_KeyState (&in_left);	}//	cmd->sidemove += cl_sidespeed.value * CL_KeyState (&in_moveright);//	cmd->sidemove -= cl_sidespeed.value * CL_KeyState (&in_moveleft);	cmd->sidemove += 225 * CL_KeyState (&in_moveright);	cmd->sidemove -= 225 * CL_KeyState (&in_moveleft);	cmd->upmove += cl_upspeed.value * CL_KeyState (&in_up);	cmd->upmove -= cl_upspeed.value * CL_KeyState (&in_down);	if (! (in_klook.state & 1))	{//		cmd->forwardmove += cl_forwardspeed.value * CL_KeyState (&in_forward);		cmd->forwardmove += 200 * CL_KeyState (&in_forward);//		cmd->forwardmove -= cl_backspeed.value * CL_KeyState (&in_back);		cmd->forwardmove -= 200 * CL_KeyState (&in_back);	}// adjust for speed key, but not if "always run" has been chosen// speed key now acts as slow key when always run is chosen - OS//	if ( ( (cl_forwardspeed.value > 200) ||(in_speed.state & 1)  || cl.spectator)	if ( (((cl_forwardspeed.value > 200) ^ (in_speed.state & 1)) || cl.spectator)					     && (cl.v.hasted <= 1) )	{		cmd->forwardmove *= cl_movespeedkey.value;		cmd->sidemove *= cl_movespeedkey.value;		cmd->upmove *= cl_movespeedkey.value;	}// Hasted player?	if (cl.v.hasted)	{		cmd->forwardmove = cmd->forwardmove * cl.v.hasted;		cmd->sidemove = cmd->sidemove * cl.v.hasted;		cmd->upmove = cmd->upmove * cl.v.hasted;	}	cmd->light_level = cl.light_level;}
开发者ID:svn2github,项目名称:uhexen2,代码行数:65,


示例4: CL_BaseMove

/*================CL_BaseMoveSend the intended movement message to the server================*/void CL_BaseMove (usercmd_t *cmd){		CL_AdjustAngles ();		memset (cmd, 0, sizeof(*cmd));	if (cl.v.cameramode)	// Stuck in a different camera so don't move	{		return;	}		VectorCopy (cl.viewangles, cmd->angles);	if (in_strafe.state & 1)	{//		cmd->sidemove += cl_sidespeed.value * CL_KeyState (&in_right);//		cmd->sidemove -= cl_sidespeed.value * CL_KeyState (&in_left);		cmd->sidemove += 225 * CL_KeyState (&in_right);		cmd->sidemove -= 225 * CL_KeyState (&in_left);	}//	cmd->sidemove += cl_sidespeed.value * CL_KeyState (&in_moveright);//	cmd->sidemove -= cl_sidespeed.value * CL_KeyState (&in_moveleft);	cmd->sidemove += 225 * CL_KeyState (&in_moveright);	cmd->sidemove -= 225 * CL_KeyState (&in_moveleft);	cmd->upmove += cl_upspeed.value * CL_KeyState (&in_up);	cmd->upmove -= cl_upspeed.value * CL_KeyState (&in_down);	if (! (in_klook.state & 1) )	{	//		cmd->forwardmove += cl_forwardspeed.value * CL_KeyState (&in_forward);//		cmd->forwardmove -= cl_backspeed.value * CL_KeyState (&in_back);		cmd->forwardmove += 200 * CL_KeyState (&in_forward);		cmd->forwardmove -= 200 * CL_KeyState (&in_back);	}	//// adjust for speed key//	if ((cl.spectator || cl_forwardspeed.value > 200 || in_speed.state & 1) && cl.v.hasted <= 1)	{		cmd->forwardmove *= cl_movespeedkey.value;		cmd->sidemove *= cl_movespeedkey.value;		cmd->upmove *= cl_movespeedkey.value;	}		// Hasted player?	if (cl.v.hasted)	{		cmd->forwardmove = cmd->forwardmove * cl.v.hasted;		cmd->sidemove = cmd->sidemove * cl.v.hasted;		cmd->upmove = cmd->upmove * cl.v.hasted;	}	cmd->light_level = cl.light_level;}
开发者ID:bsmr-games,项目名称:Hexen2,代码行数:63,


示例5: CL_AdjustAngles

/*================CL_AdjustAnglesMoves the local angle positions================*/static void CL_AdjustAngles( void ) {	double	speed;		if ( in_speed.active ) {		speed = 0.001 * cls.frametime * cl_anglespeedkey->value;	} else {		speed = 0.001 * cls.frametime;	}	if ( !in_strafe.active ) {		cl.viewangles[YAW] -= speed*cl_yawspeed->value*CL_KeyState (&in_right);		cl.viewangles[YAW] += speed*cl_yawspeed->value*CL_KeyState (&in_left);	}	cl.viewangles[PITCH] -= speed*cl_pitchspeed->value * CL_KeyState (&in_lookup);	cl.viewangles[PITCH] += speed*cl_pitchspeed->value * CL_KeyState (&in_lookdown);}
开发者ID:qrealka,项目名称:ioq3,代码行数:24,


示例6: CL_AdjustAngles

/*================CL_AdjustAnglesMoves the local angle positions================*/void CL_AdjustAngles( void ) {	float speed;	if ( kb[KB_SPEED].active ) {		speed = 0.001 * cls.frametime * cl_anglespeedkey->value;	} else {		speed = 0.001 * cls.frametime;	}	if ( !kb[KB_STRAFE].active ) {		cl.viewangles[YAW] -= speed * cl_yawspeed->value * CL_KeyState( &kb[KB_RIGHT] );		cl.viewangles[YAW] += speed * cl_yawspeed->value * CL_KeyState( &kb[KB_LEFT] );	}	cl.viewangles[PITCH] -= speed * cl_pitchspeed->value * CL_KeyState( &kb[KB_LOOKUP] );	cl.viewangles[PITCH] += speed * cl_pitchspeed->value * CL_KeyState( &kb[KB_LOOKDOWN] );}
开发者ID:MAN-AT-ARMS,项目名称:iortcw-archive,代码行数:24,


示例7: CL_AdjustAngles

/*================CL_AdjustAnglesMoves the local angle positions================*/void CL_AdjustAngles (void){	float	speed;	float	up, down;		if (in_speed.state & 1)		speed = host_frametime * cl_anglespeedkey.value;	else		speed = host_frametime;	if (!(in_strafe.state & 1))	{		cl.viewangles[YAW] -= speed*cl_yawspeed.value*CL_KeyState (&in_right);		cl.viewangles[YAW] += speed*cl_yawspeed.value*CL_KeyState (&in_left);		cl.viewangles[YAW] = anglemod(cl.viewangles[YAW]);	}	if (in_klook.state & 1)	{		V_StopPitchDrift ();		cl.viewangles[PITCH] -= speed*cl_pitchspeed.value * CL_KeyState (&in_forward);		cl.viewangles[PITCH] += speed*cl_pitchspeed.value * CL_KeyState (&in_back);	}	// FIXME: This is a cheap way of doing this, it belongs in V_CalcViewRoll	// but I don't see where I can get the yaw velocity, I have to get on to other things so here it is	if ((CL_KeyState (&in_left)!=0) && (cl.v.movetype==MOVETYPE_FLY))		cl.idealroll=-10;	else if ((CL_KeyState (&in_right)!=0) && (cl.v.movetype==MOVETYPE_FLY))		cl.idealroll=10;	else		cl.idealroll=0;		up = CL_KeyState (&in_lookup);	down = CL_KeyState(&in_lookdown);		cl.viewangles[PITCH] -= speed*cl_pitchspeed.value * up;	cl.viewangles[PITCH] += speed*cl_pitchspeed.value * down;	if (up || down)		V_StopPitchDrift ();			if (cl.viewangles[PITCH] > 80)		cl.viewangles[PITCH] = 80;	if (cl.viewangles[PITCH] < -70)		cl.viewangles[PITCH] = -70;	if (cl.viewangles[ROLL] > 50)		cl.viewangles[ROLL] = 50;	if (cl.viewangles[ROLL] < -50)		cl.viewangles[ROLL] = -50;		}
开发者ID:elhobbs,项目名称:hexen2,代码行数:61,


示例8: CL_AdjustAngles

/*================CL_AdjustAnglesMoves the local angle positions================*/void CL_AdjustAngles (void){	float	speed;	float	up, down;		if (in_speed.state & 1)		speed = cls.netFrameTime * cl_anglespeedkey->value;	else		speed = cls.netFrameTime;	if (!(in_strafe.state & 1))	{		cl.viewangles[YAW] -= speed*cl_yawspeed->value*CL_KeyState (&in_right);		cl.viewangles[YAW] += speed*cl_yawspeed->value*CL_KeyState (&in_left);	}	if (in_klook.state & 1)	{		cl.viewangles[PITCH] -= speed*cl_pitchspeed->value * CL_KeyState (&in_forward);		cl.viewangles[PITCH] += speed*cl_pitchspeed->value * CL_KeyState (&in_back);	}		up = CL_KeyState (&in_lookup);	down = CL_KeyState(&in_lookdown);		cl.viewangles[PITCH] -= speed*cl_pitchspeed->value * up;	cl.viewangles[PITCH] += speed*cl_pitchspeed->value * down;}
开发者ID:n1ckn4m3,项目名称:kmquake2megacoop,代码行数:34,


示例9: Bot_CL_KeyMove

void Bot_CL_KeyMove(  ){	int     forwardmove = 0, sidemove = 0, upmove = 0;	int     buttons = 0;	buttons = ( ( self->s.v.button0 ) ? 1 : 0 ) + ( ( self->s.v.button2 ) ? 2 : 0 );	sidemove += self->maxstrafespeed * CL_KeyState( KEY_MOVERIGHT );	sidemove -= self->maxstrafespeed * CL_KeyState( KEY_MOVELEFT );	upmove += 200 * CL_KeyState( KEY_MOVEUP );	upmove -= 200 * CL_KeyState( KEY_MOVEDOWN );	forwardmove += self->maxfbspeed * CL_KeyState( KEY_MOVEFORWARD );	forwardmove -= self->maxfbspeed * CL_KeyState( KEY_MOVEBACK );	if ( self->s.v.v_angle[0] > 80 )		self->s.v.v_angle[0] = 80;	else	{		if ( self->s.v.v_angle[0] < -70 )			self->s.v.v_angle[0] = -70;	}	//self->s.v.v_angle[2] = 0;	self->s.v.v_angle[1] = anglemod( self->s.v.v_angle[1] );	trap_SetBotCMD( NUM_FOR_EDICT( self ), bot_frametime * 1000,			PASSVEC3(self->s.v.v_angle),			forwardmove, sidemove, upmove, buttons, self->s.v.impulse );}
开发者ID:stayoutEE,项目名称:TF2003-qvm,代码行数:31,


示例10: CL_AddAnglesFromKeys

/** CL_AddAnglesFromKeys*/static void CL_AddAnglesFromKeys( int frametime ){	float speed;	if( !frametime )		return;	if( in_speed.state & 1 )		speed = ( (float)frametime * 0.001f ) * cl_anglespeedkey->value;	else		speed = (float)frametime * 0.001f;	if( !( in_strafe.state & 1 ) )	{		cl.viewangles[YAW] -= speed * cl_yawspeed->value * CL_KeyState( &in_right );		cl.viewangles[YAW] += speed * cl_yawspeed->value * CL_KeyState( &in_left );	}	if( in_klook.state & 1 )	{		cl.viewangles[PITCH] -= speed * cl_pitchspeed->value * CL_KeyState( &in_forward );		cl.viewangles[PITCH] += speed * cl_pitchspeed->value * CL_KeyState( &in_back );	}	cl.viewangles[PITCH] -= speed * cl_pitchspeed->value * CL_KeyState( &in_lookup );	cl.viewangles[PITCH] += speed * cl_pitchspeed->value * CL_KeyState( &in_lookdown );}
开发者ID:ewirch,项目名称:qfusion,代码行数:29,


示例11: CL_BaseMove

void CL_BaseMove (usercmd_t *cmd){	if (cls.signon != SIGNONS)		return;		if (deathcam_active)		CL_AdjustAnglesWhenYoureDead ();	else		CL_AdjustAngles ();	Q_memset (cmd, 0, sizeof(*cmd));	if (in_strafe.state & 1)	{		cmd->sidemove += cl_sidespeed->value * CL_KeyState (&in_right);		cmd->sidemove -= cl_sidespeed->value * CL_KeyState (&in_left);	}	cmd->sidemove += cl_sidespeed->value * CL_KeyState (&in_moveright);	cmd->sidemove -= cl_sidespeed->value * CL_KeyState (&in_moveleft);	cmd->upmove += cl_upspeed->value * CL_KeyState (&in_up);	cmd->upmove -= cl_upspeed->value * CL_KeyState (&in_down);	if (! (in_klook.state & 1) )	{		cmd->forwardmove += cl_forwardspeed->value * CL_KeyState (&in_forward);		cmd->forwardmove -= cl_backspeed->value * CL_KeyState (&in_back);	}	// adjust for speed key	if (in_speed.state & 1)	{		cmd->forwardmove *= cl_movespeedkey->value;		cmd->sidemove *= cl_movespeedkey->value;		cmd->upmove *= cl_movespeedkey->value;	}	// react to onground state changes (for gun bob)	if (cl.onground)	{		if (!cl.oldonground)			cl.hitgroundtime = cl.time;		cl.lastongroundtime = cl.time;	}	cl.oldonground = cl.onground;}
开发者ID:eukos16,项目名称:NGUNIX,代码行数:48,


示例12: CL_AdjustAngles

/*================CL_AdjustAnglesMoves the local angle positions================*/void CL_AdjustAngles (void){	float	speed;	float	up, down;	if (in_speed.state & 1)// 2001-10-20 TIMESCALE extension by Tomaz/Maddes  start//		speed = host_frametime * cl_anglespeedkey->value;		speed = host_org_frametime * cl_anglespeedkey->value;// 2001-10-20 TIMESCALE extension by Tomaz/Maddes  end	else// 2001-10-20 TIMESCALE extension by Tomaz/Maddes  start//		speed = host_frametime;		speed = host_org_frametime;// 2001-10-20 TIMESCALE extension by Tomaz/Maddes  end	cl.viewangles[ROLL] -= speed*cl_yawspeed->value*CL_KeyState (&in_tiltright);	cl.viewangles[ROLL] += speed*cl_yawspeed->value*CL_KeyState (&in_tiltleft);	if (!(in_strafe.state & 1))	{		cl.viewangles[YAW] -= speed*cl_yawspeed->value*CL_KeyState (&in_right);		cl.viewangles[YAW] += speed*cl_yawspeed->value*CL_KeyState (&in_left);		cl.viewangles[YAW] = anglemod(cl.viewangles[YAW]);	}	if (in_klook.state & 1)	{		V_StopPitchDrift ();		cl.viewangles[PITCH] -= speed*cl_pitchspeed->value * CL_KeyState (&in_forward);		cl.viewangles[PITCH] += speed*cl_pitchspeed->value * CL_KeyState (&in_back);	}	up = CL_KeyState (&in_lookup);	down = CL_KeyState(&in_lookdown);	cl.viewangles[PITCH] -= speed*cl_pitchspeed->value * up;	cl.viewangles[PITCH] += speed*cl_pitchspeed->value * down;	if (up || down)		V_StopPitchDrift ();	if (cl.viewangles[PITCH] > (int)m_lockdown->value)		cl.viewangles[PITCH] = (int)m_lockdown->value;	if (cl.viewangles[PITCH] < (int)m_lockup->value)		cl.viewangles[PITCH] = (int)m_lockup->value;}
开发者ID:eukos16,项目名称:NGUNIX,代码行数:54,


示例13: CL_KeyMove

/*================CL_KeyMoveSets the usercmd_t based on key states================*/voidCL_KeyMove(usercmd_t * cmd){  int movespeed;  int forward, side, up;  //  // adjust for speed key / running  // the walking flag is to keep animations consistant  // even during acceleration and develeration  //  if (in_speed.active ^ cl_run->integer)  {    movespeed = 127;    cmd->buttons &= ~BUTTON_WALKING;  }  else  {    cmd->buttons |= BUTTON_WALKING;    movespeed = 64;  }  forward = 0;  side = 0;  up = 0;  if (in_strafe.active)  {    side += movespeed * CL_KeyState(&in_right);    side -= movespeed * CL_KeyState(&in_left);  }  side += movespeed * CL_KeyState(&in_moveright);  side -= movespeed * CL_KeyState(&in_moveleft);  up += movespeed * CL_KeyState(&in_up);  up -= movespeed * CL_KeyState(&in_down);  forward += movespeed * CL_KeyState(&in_forward);  forward -= movespeed * CL_KeyState(&in_back);  cmd->forwardmove = ClampChar(forward);  cmd->rightmove = ClampChar(side);  cmd->upmove = ClampChar(up);}
开发者ID:lrq3000,项目名称:ioquake3-anti-cheat,代码行数:52,


示例14: CL_AdjustAngles

// Moves the local angle positions.void CL_AdjustAngles (void){	float basespeed, speed, up, down, frametime;	if (Movie_IsCapturing() && movie_steadycam.value)		frametime = movie_fps.value > 0 ? 1.0 / movie_fps.value : 1 / 30.0;	else		frametime = cls.trueframetime;	basespeed = ((in_speed.state & 1) ? cl_anglespeedkey.value : 1);	if (!(in_strafe.state & 1))	{		speed = basespeed * cl_yawspeed.value;		if ((cl.fpd & FPD_LIMIT_YAW) || allow_scripts.value < 2)			speed = bound(-900, speed, 900);		speed *= frametime;		cl.viewangles[YAW] -= speed * CL_KeyState(&in_right, true);		cl.viewangles[YAW] += speed * CL_KeyState(&in_left, true);		if (cl.viewangles[YAW] < 0)			cl.viewangles[YAW] += 360.0;		else if (cl.viewangles[YAW] > 360)			cl.viewangles[YAW] -= 360.0;	}	speed = basespeed * cl_pitchspeed.value;	if ((cl.fpd & FPD_LIMIT_PITCH) || allow_scripts.value == 0)		speed = bound(-700, speed, 700);	speed *= frametime;	if (in_klook.state & 1)	{		V_StopPitchDrift ();		cl.viewangles[PITCH] -= speed * CL_KeyState(&in_forward, true);		cl.viewangles[PITCH] += speed * CL_KeyState(&in_back, true);	}	up = CL_KeyState(&in_lookup, true);	down = CL_KeyState(&in_lookdown, true);	cl.viewangles[PITCH] -= speed * up;	cl.viewangles[PITCH] += speed * down;	if (up || down)		V_StopPitchDrift();	if (cl.viewangles[PITCH] > cl.maxpitch)		cl.viewangles[PITCH] = cl.maxpitch;	if (cl.viewangles[PITCH] < cl.minpitch)		cl.viewangles[PITCH] = cl.minpitch;	//cl.viewangles[PITCH] = bound(cl.min!pitch, cl.viewangles[PITCH], cl.ma!xpitch);	cl.viewangles[ROLL] = bound(-50, cl.viewangles[ROLL], 50);}
开发者ID:jite,项目名称:jquake,代码行数:53,


示例15: CL_AddMovementFromKeys

/** CL_AddMovementFromKeys*/static void CL_AddMovementFromKeys( vec3_t movement ){	if( in_strafe.state & 1 )	{		movement[0] += ( float )CL_KeyState( &in_right );		movement[0] -= ( float )CL_KeyState( &in_left );	}	movement[0] += ( float )CL_KeyState( &in_moveright );	movement[0] -= ( float )CL_KeyState( &in_moveleft );	movement[2] += ( float )CL_KeyState( &in_up );	movement[2] -= ( float )CL_KeyState( &in_down );	if( !( in_klook.state & 1 ) )	{		movement[1] += ( float )CL_KeyState( &in_forward );		movement[1] -= ( float )CL_KeyState( &in_back );	}}
开发者ID:tenght,项目名称:qfusion,代码行数:23,


示例16: CL_BaseMove

/*================CL_BaseMoveSend the intended movement message to the server================*/void CL_BaseMove (usercmd_t *cmd){		if (cls.signon != SIGNONS)		return;				CL_AdjustAngles ();		Q_memset (cmd, 0, sizeof(*cmd));		if (in_strafe.state & 1)	{		cmd->sidemove += cl_sidespeed.value * CL_KeyState (&in_right);		cmd->sidemove -= cl_sidespeed.value * CL_KeyState (&in_left);	}	cmd->sidemove += cl_sidespeed.value * CL_KeyState (&in_moveright);	cmd->sidemove -= cl_sidespeed.value * CL_KeyState (&in_moveleft);	cmd->upmove += cl_upspeed.value * CL_KeyState (&in_up);	cmd->upmove -= cl_upspeed.value * CL_KeyState (&in_down);	if (! (in_klook.state & 1) )	{			cmd->forwardmove += cl_forwardspeed.value * CL_KeyState (&in_forward);		cmd->forwardmove -= cl_backspeed.value * CL_KeyState (&in_back);	}	//// adjust for speed key//	if (in_speed.state & 1)	{		cmd->forwardmove *= cl_movespeedkey.value;		cmd->sidemove *= cl_movespeedkey.value;		cmd->upmove *= cl_movespeedkey.value;	}#ifdef QUAKE2	cmd->lightlevel = cl.light_level;#endif}
开发者ID:darkduke606,项目名称:DQuakePlus,代码行数:48,


示例17: CL_AdjustAngles

/*================CL_AdjustAnglesMoves the local angle positions================*/void CL_AdjustAngles ( float frametime, float *viewangles ){	float	speed;	float	up, down;		if (in_speed.state & 1)	{		speed = frametime * cl_anglespeedkey->value;	}	else	{		speed = frametime;	}	// Ricochet: Don't let them move the mouse when they're in spectator mode	if ( bCanMoveMouse() == FALSE ) 		 return;	if (!(in_strafe.state & 1))	{		viewangles[YAW] -= speed*cl_yawspeed->value*CL_KeyState (&in_right);		viewangles[YAW] += speed*cl_yawspeed->value*CL_KeyState (&in_left);		viewangles[YAW] = anglemod(viewangles[YAW]);	}	if (in_klook.state & 1)	{		V_StopPitchDrift ();		viewangles[PITCH] -= speed*cl_pitchspeed->value * CL_KeyState (&in_forward);		viewangles[PITCH] += speed*cl_pitchspeed->value * CL_KeyState (&in_back);	}		up = CL_KeyState (&in_lookup);	down = CL_KeyState(&in_lookdown);		viewangles[PITCH] -= speed*cl_pitchspeed->value * up;	viewangles[PITCH] += speed*cl_pitchspeed->value * down;	if (up || down)		V_StopPitchDrift ();			if (viewangles[PITCH] > cl_pitchdown->value)		viewangles[PITCH] = cl_pitchdown->value;	if (viewangles[PITCH] < -cl_pitchup->value)		viewangles[PITCH] = -cl_pitchup->value;	if (viewangles[ROLL] > 50)		viewangles[ROLL] = 50;	if (viewangles[ROLL] < -50)		viewangles[ROLL] = -50;}
开发者ID:ET-NiK,项目名称:amxxgroup,代码行数:57,


示例18: CL_BaseMove

/*================CL_BaseMoveBuild the intended movement vector================*/static void CL_BaseMove( vec3_t move ) {    if( in_strafe.state & 1 ) {        move[1] += cl_sidespeed->value * CL_KeyState( &in_right );        move[1] -= cl_sidespeed->value * CL_KeyState( &in_left );    }    move[1] += cl_sidespeed->value * CL_KeyState( &in_moveright );    move[1] -= cl_sidespeed->value * CL_KeyState( &in_moveleft );    move[2] += cl_upspeed->value * CL_KeyState( &in_up );    move[2] -= cl_upspeed->value * CL_KeyState( &in_down );    if( !( in_klook.state & 1 ) ) {        move[0] += cl_forwardspeed->value * CL_KeyState( &in_forward );        move[0] -= cl_forwardspeed->value * CL_KeyState( &in_back );    }// adjust for speed key / running    if( ( in_speed.state & 1 ) ^ cl_run->integer ) {        VectorScale( move, 2, move );    }}
开发者ID:Bad-ptr,项目名称:q2pro,代码行数:29,


示例19: CL_AddMovementFromKeys

/** CL_AddMovementFromKeys*/static void CL_AddMovementFromKeys( short *forwardmove, short *sidemove, short *upmove, int frametime ){	if( !frametime )		return;	if( in_strafe.state & 1 )	{		*sidemove += frametime * CL_KeyState( &in_right );		*sidemove -= frametime * CL_KeyState( &in_left );	}	*sidemove += frametime * CL_KeyState( &in_moveright );	*sidemove -= frametime * CL_KeyState( &in_moveleft );	*upmove += frametime * CL_KeyState( &in_up );	*upmove -= frametime * CL_KeyState( &in_down );	if( !( in_klook.state & 1 ) )	{		*forwardmove += frametime * CL_KeyState( &in_forward );		*forwardmove -= frametime * CL_KeyState( &in_back );	}}
开发者ID:ewirch,项目名称:qfusion,代码行数:26,


示例20: CL_AdjustAngles

================*/void CL_AdjustAngles ( float frametime, float *viewangles ){	float	speed;	float	up, down;		if (in_speed.state & 1)	{		speed = frametime * cl_anglespeedkey->value;	}	else	{		speed = frametime;	}	if (!(in_strafe.state & 1))	{		viewangles[YAW] -= speed*cl_yawspeed->value*CL_KeyState (&in_right);		viewangles[YAW] += speed*cl_yawspeed->value*CL_KeyState (&in_left);		viewangles[YAW] = anglemod(viewangles[YAW]);	}	if (in_klook.state & 1)	{		V_StopPitchDrift ();		viewangles[PITCH] -= speed*cl_pitchspeed->value * CL_KeyState (&in_forward);		viewangles[PITCH] += speed*cl_pitchspeed->value * CL_KeyState (&in_back);	}		up = CL_KeyState (&in_lookup);	down = CL_KeyState(&in_lookdown);		viewangles[PITCH] -= speed*cl_pitchspeed->value * up;	viewangles[PITCH] += speed*cl_pitchspeed->value * down;	if (up || down)		V_StopPitchDrift ();			if (viewangles[PITCH] > cl_pitchdown->value)		viewangles[PITCH] = cl_pitchdown->value;	if (viewangles[PITCH] < -cl_pitchup->value)		viewangles[PITCH] = -cl_pitchup->value;	if (viewangles[ROLL] > 50)		viewangles[ROLL] = 50;	if (viewangles[ROLL] < -50)
开发者ID:mittorn,项目名称:hlwe_src,代码行数:46,


示例21: CL_AdjustAngles

/*================CL_AdjustAnglesMoves the local angle positions================*/void CL_AdjustAngles (void){	float	speed;	float	up, down;	if ((cl_forwardspeed.value > 200) ^ (in_speed.state & 1))		speed = host_frametime * cl_anglespeedkey.value;	else		speed = host_frametime;	if (!(in_strafe.state & 1))	{		cl.viewangles[YAW] -= speed*cl_yawspeed.value*CL_KeyState (&in_right);		cl.viewangles[YAW] += speed*cl_yawspeed.value*CL_KeyState (&in_left);		cl.viewangles[YAW] = anglemod(cl.viewangles[YAW]);	}	if (in_klook.state & 1)	{		V_StopPitchDrift ();		cl.viewangles[PITCH] -= speed*cl_pitchspeed.value * CL_KeyState (&in_forward);		cl.viewangles[PITCH] += speed*cl_pitchspeed.value * CL_KeyState (&in_back);	}	up = CL_KeyState (&in_lookup);	down = CL_KeyState(&in_lookdown);	cl.viewangles[PITCH] -= speed*cl_pitchspeed.value * up;	cl.viewangles[PITCH] += speed*cl_pitchspeed.value * down;	if (up || down)		V_StopPitchDrift ();	//johnfitz -- variable pitch clamping	if (cl.viewangles[PITCH] > cl_maxpitch.value)		cl.viewangles[PITCH] = cl_maxpitch.value;	if (cl.viewangles[PITCH] < cl_minpitch.value)		cl.viewangles[PITCH] = cl_minpitch.value;	//johnfitz	if (cl.viewangles[ROLL] > 50)		cl.viewangles[ROLL] = 50;	if (cl.viewangles[ROLL] < -50)		cl.viewangles[ROLL] = -50;}
开发者ID:Darktori,项目名称:vkQuake,代码行数:51,


示例22: CL_AdjustAngles

/*================CL_AdjustAnglesMoves the local angle positions================*/void CL_AdjustAngles (void){	float	speed;	float	up, down;		if (in_speed.state & 1)		speed = host_frametime * cl_anglespeedkey.value;	else		speed = host_frametime;	if (!(in_strafe.state & 1))	{		cl.viewangles[YAW] -= speed*cl_yawspeed.value*CL_KeyState (&in_right);		cl.viewangles[YAW] += speed*cl_yawspeed.value*CL_KeyState (&in_left);		cl.viewangles[YAW] = anglemod(cl.viewangles[YAW]);	}	if (in_klook.state & 1)	{		V_StopPitchDrift ();		cl.viewangles[PITCH] -= speed*cl_pitchspeed.value * CL_KeyState (&in_forward);		cl.viewangles[PITCH] += speed*cl_pitchspeed.value * CL_KeyState (&in_back);	}		up = CL_KeyState (&in_lookup);	down = CL_KeyState(&in_lookdown);		cl.viewangles[PITCH] -= speed*cl_pitchspeed.value * up;	cl.viewangles[PITCH] += speed*cl_pitchspeed.value * down;	if (up || down)		V_StopPitchDrift ();			if (cl.viewangles[PITCH] > 80)		cl.viewangles[PITCH] = 80;	if (cl.viewangles[PITCH] < -70)		cl.viewangles[PITCH] = -70;	if (cl.viewangles[ROLL] > 50)		cl.viewangles[ROLL] = 50;	if (cl.viewangles[ROLL] < -50)		cl.viewangles[ROLL] = -50;		}
开发者ID:strelkovsky,项目名称:QuakeRefresh,代码行数:50,


示例23: CL_AdjustAngles

/*================CL_AdjustAnglesMoves the local angle positions================*/static void CL_AdjustAngles( int msec ) {    float speed;        if( in_speed.state & 1 )        speed = msec * cl_anglespeedkey->value * 0.001f;    else        speed = msec * 0.001f;    if( !( in_strafe.state & 1 ) ) {        cl.viewangles[YAW] -= speed*cl_yawspeed->value*CL_KeyState(&in_right);        cl.viewangles[YAW] += speed*cl_yawspeed->value*CL_KeyState(&in_left);    }    if( in_klook.state & 1 ) {        cl.viewangles[PITCH] -= speed*cl_pitchspeed->value*CL_KeyState(&in_forward);        cl.viewangles[PITCH] += speed*cl_pitchspeed->value*CL_KeyState(&in_back);    }        cl.viewangles[PITCH] -= speed*cl_pitchspeed->value*CL_KeyState(&in_lookup);    cl.viewangles[PITCH] += speed*cl_pitchspeed->value*CL_KeyState(&in_lookdown);}
开发者ID:Bad-ptr,项目名称:q2pro,代码行数:27,


示例24: CL_AdjustAngles

/*================CL_AdjustAnglesMoves the local angle positions================*/void CL_AdjustAngles( float frametime, Vector &viewangles ){	float	speed;	float	up, down;		if( in_speed.state & BUTTON_DOWN )	{		speed = frametime * cl_anglespeedkey->value;	}	else	{		speed = frametime;	}	if( !( in_strafe.state & BUTTON_DOWN ))	{		viewangles[YAW] -= speed * cl_yawspeed->value * CL_KeyState( &in_right );		viewangles[YAW] += speed * cl_yawspeed->value * CL_KeyState( &in_left );		viewangles[YAW] = anglemod( viewangles[YAW] );	}	if( in_klook.state & BUTTON_DOWN )	{		V_StopPitchDrift ();		viewangles[PITCH] -= speed * cl_pitchspeed->value * CL_KeyState( &in_forward );		viewangles[PITCH] += speed * cl_pitchspeed->value * CL_KeyState( &in_back );	}		up = CL_KeyState( &in_lookup );	down = CL_KeyState( &in_lookdown );		viewangles[PITCH] -= speed * cl_pitchspeed->value * up;	viewangles[PITCH] += speed * cl_pitchspeed->value * down;	if( up || down )		V_StopPitchDrift ();	viewangles[PITCH] = bound( -cl_pitchup->value, viewangles[PITCH], cl_pitchdown->value );	viewangles[ROLL] = bound( -50, viewangles[ROLL], 50 );}
开发者ID:FWGS,项目名称:XashXT,代码行数:47,


示例25: CL_AdjustAnglesWhenYoureDead

// leilei - deathcam hacks suck!void CL_AdjustAnglesWhenYoureDead (void){	float	speed;	float	up, down;	if (in_speed.state & 1)// 2001-10-20 TIMESCALE extension by Tomaz/Maddes  start//		speed = host_frametime * cl_anglespeedkey->value;		speed = host_org_frametime * cl_anglespeedkey->value;// 2001-10-20 TIMESCALE extension by Tomaz/Maddes  end	else// 2001-10-20 TIMESCALE extension by Tomaz/Maddes  start//		speed = host_frametime;		speed = host_org_frametime;// 2001-10-20 TIMESCALE extension by Tomaz/Maddes  end	if (!(in_strafe.state & 1))	{		deathcam_angles[YAW] -= speed*cl_yawspeed->value*CL_KeyState (&in_right);		deathcam_angles[YAW] += speed*cl_yawspeed->value*CL_KeyState (&in_left);		deathcam_angles[YAW] = anglemod(deathcam_angles[YAW]);	}	if (in_klook.state & 1)	{		V_StopPitchDrift ();		deathcam_angles[PITCH] -= speed*cl_pitchspeed->value * CL_KeyState (&in_forward);		deathcam_angles[PITCH] += speed*cl_pitchspeed->value * CL_KeyState (&in_back);	}	up = CL_KeyState (&in_lookup);	down = CL_KeyState(&in_lookdown);	deathcam_angles[PITCH] -= speed*cl_pitchspeed->value * up;	deathcam_angles[PITCH] += speed*cl_pitchspeed->value * down;	if (up || down)		V_StopPitchDrift ();}
开发者ID:eukos16,项目名称:NGUNIX,代码行数:39,


示例26: CL_KeyMove

/*================CL_KeyMoveSets the usercmd_t based on key states================*/void CL_KeyMove( usercmd_t *cmd ) {	int movespeed;	int forward, side, up;	// Rafael Kick	int kick;	// done	//	// adjust for speed key / running	// the walking flag is to keep animations consistant	// even during acceleration and develeration	//	if ( kb[KB_SPEED].active ^ cl_run->integer ) {		movespeed = 127;		cmd->buttons &= ~BUTTON_WALKING;	} else {		cmd->buttons |= BUTTON_WALKING;		movespeed = 64;	}	forward = 0;	side = 0;	up = 0;	if ( kb[KB_STRAFE].active ) {		side += movespeed * CL_KeyState( &kb[KB_RIGHT] );		side -= movespeed * CL_KeyState( &kb[KB_LEFT] );	}	side += movespeed * CL_KeyState( &kb[KB_MOVERIGHT] );	side -= movespeed * CL_KeyState( &kb[KB_MOVELEFT] );//----(SA)	added	if ( cmd->buttons & BUTTON_ACTIVATE ) {		if ( side > 0 ) {			cmd->wbuttons |= WBUTTON_LEANRIGHT;		} else if ( side < 0 ) {			cmd->wbuttons |= WBUTTON_LEANLEFT;		}		side = 0;   // disallow the strafe when holding 'activate'	}//----(SA)	end	up += movespeed * CL_KeyState( &kb[KB_UP] );	up -= movespeed * CL_KeyState( &kb[KB_DOWN] );	forward += movespeed * CL_KeyState( &kb[KB_FORWARD] );	forward -= movespeed * CL_KeyState( &kb[KB_BACK] );	// Rafael Kick	kick = CL_KeyState( &kb[KB_KICK] );	// done	if ( !( cl.snap.ps.persistant[PERS_HWEAPON_USE] ) ) {		cmd->forwardmove = ClampChar( forward );		cmd->rightmove = ClampChar( side );		cmd->upmove = ClampChar( up );		// Rafael - Kick		cmd->wolfkick = ClampChar( kick );		// done	}}
开发者ID:MAN-AT-ARMS,项目名称:iortcw-archive,代码行数:71,


示例27: CL_BaseMove

// Send the intended movement message to the server.void CL_BaseMove (usercmd_t *cmd){	CL_AdjustAngles ();	memset (cmd, 0, sizeof(*cmd));	VectorCopy (cl.viewangles, cmd->angles);	if (cl_iDrive.integer)	{		float s1, s2;		if (in_strafe.state & 1)		{			s1 = CL_KeyState (&in_right, false);			s2 = CL_KeyState (&in_left, false);			if (s1 && s2)			{				if (in_right.downtime > in_left.downtime)					s2 = 0;				if (in_right.downtime < in_left.downtime)					s1 = 0;			}			cmd->sidemove += cl_sidespeed.value * s1;			cmd->sidemove -= cl_sidespeed.value * s2;		}		s1 = CL_KeyState (&in_moveright, false);		s2 = CL_KeyState (&in_moveleft, false);		if (s1 && s2)		{			if (in_moveright.downtime > in_moveleft.downtime)				s2 = 0;			if (in_moveright.downtime < in_moveleft.downtime)				s1 = 0;		}		cmd->sidemove += cl_sidespeed.value * s1;		cmd->sidemove -= cl_sidespeed.value * s2;		s1 = CL_KeyState (&in_up, false);		s2 = CL_KeyState (&in_down, false);		if (s1 && s2)		{			if (in_up.downtime > in_down.downtime)				s2 = 0;			if (in_up.downtime < in_down.downtime)				s1 = 0;		}		cmd->upmove += cl_upspeed.value * s1;		cmd->upmove -= cl_upspeed.value * s2;		if (!(in_klook.state & 1))		{			s1 = CL_KeyState (&in_forward, false);			s2 = CL_KeyState (&in_back, false);			if (s1 && s2)			{				if (in_forward.downtime > in_back.downtime)					s2 = 0;				if (in_forward.downtime < in_back.downtime)					s1 = 0;			}			cmd->forwardmove += cl_forwardspeed.value * s1;			cmd->forwardmove -= cl_backspeed.value * s2;		}	}	else	{		if (in_strafe.state & 1)		{			cmd->sidemove += cl_sidespeed.value * CL_KeyState (&in_right, false);			cmd->sidemove -= cl_sidespeed.value * CL_KeyState (&in_left, false);		}		cmd->sidemove += cl_sidespeed.value * CL_KeyState (&in_moveright, false);		cmd->sidemove -= cl_sidespeed.value * CL_KeyState (&in_moveleft, false);		cmd->upmove += cl_upspeed.value * CL_KeyState (&in_up, false);		cmd->upmove -= cl_upspeed.value * CL_KeyState (&in_down, false);		if (!(in_klook.state & 1))		{			cmd->forwardmove += cl_forwardspeed.value * CL_KeyState (&in_forward, false);			cmd->forwardmove -= cl_backspeed.value * CL_KeyState (&in_back, false);		}	}	// adjust for speed key	if (in_speed.state & 1)	{		cmd->forwardmove *= cl_movespeedkey.value;//.........这里部分代码省略.........
开发者ID:AAS,项目名称:ezquake-source,代码行数:101,


示例28: CAM_Think

//.........这里部分代码省略.........				camAngles[PITCH]=c_maxpitch->value;			}		}		else if (cam_mouse.y<gEngfuncs.GetWindowCenterY())		{			if (camAngles[PITCH]>c_minpitch->value)			{			   camAngles[PITCH] -= (CAM_ANGLE_MOVE)*((gEngfuncs.GetWindowCenterY()-cam_mouse.y)/2);			}			if (camAngles[PITCH]<c_minpitch->value)			{				camAngles[PITCH]=c_minpitch->value;			}		}		//set old mouse coordinates to current mouse coordinates		//since we are done with the mouse		if ( ( flSensitivity = gHUD.GetSensitivity() ) != 0 )		{			cam_old_mouse_x=cam_mouse.x*flSensitivity;			cam_old_mouse_y=cam_mouse.y*flSensitivity;		}		else		{			cam_old_mouse_x=cam_mouse.x;			cam_old_mouse_y=cam_mouse.y;		}		SetCursorPos (gEngfuncs.GetWindowCenterX(), gEngfuncs.GetWindowCenterY());	  }	}	//Nathan code here	if( CL_KeyState( &cam_pitchup ) )		camAngles[ PITCH ] += CAM_ANGLE_DELTA;	else if( CL_KeyState( &cam_pitchdown ) )		camAngles[ PITCH ] -= CAM_ANGLE_DELTA;	if( CL_KeyState( &cam_yawleft ) )		camAngles[ YAW ] -= CAM_ANGLE_DELTA;	else if( CL_KeyState( &cam_yawright ) )		camAngles[ YAW ] += CAM_ANGLE_DELTA;	if( CL_KeyState( &cam_in ) )	{		dist -= CAM_DIST_DELTA;		if( dist < CAM_MIN_DIST )		{			// If we go back into first person, reset the angle			camAngles[ PITCH ] = 0;			camAngles[ YAW ] = 0;			dist = CAM_MIN_DIST;		}	}	else if( CL_KeyState( &cam_out ) )		dist += CAM_DIST_DELTA;	if (cam_distancemove)	{		if (cam_mouse.y>gEngfuncs.GetWindowCenterY())		{			if(dist<c_maxdistance->value)			{			    dist +=CAM_DIST_DELTA * ((cam_mouse.y-gEngfuncs.GetWindowCenterY())/2);			}
开发者ID:Arkshine,项目名称:NS,代码行数:67,


示例29: CL_CreateMove

================*/void DLLEXPORT CL_CreateMove ( float frametime, struct usercmd_s *cmd, int active ){		float spd;	vec3_t viewangles;	static vec3_t oldangles;	if ( active )	{		//memset( viewangles, 0, sizeof( vec3_t ) );		//viewangles[ 0 ] = viewangles[ 1 ] = viewangles[ 2 ] = 0.0;		gEngfuncs.GetViewAngles( (float *)viewangles );		if( !gHUD.m_iPlayerFrozen )			CL_AdjustAngles ( frametime, viewangles );		memset (cmd, 0, sizeof(*cmd));				gEngfuncs.SetViewAngles( (float *)viewangles );		if ( in_strafe.state & 1 )		{			cmd->sidemove += cl_sidespeed->value * CL_KeyState (&in_right);			cmd->sidemove -= cl_sidespeed->value * CL_KeyState (&in_left);		}		cmd->sidemove += cl_sidespeed->value * CL_KeyState (&in_moveright);		cmd->sidemove -= cl_sidespeed->value * CL_KeyState (&in_moveleft);		cmd->upmove += cl_upspeed->value * CL_KeyState (&in_up);		cmd->upmove -= cl_upspeed->value * CL_KeyState (&in_down);		if ( !(in_klook.state & 1 ) )		{				cmd->forwardmove += cl_forwardspeed->value * CL_KeyState (&in_forward);			cmd->forwardmove -= cl_backspeed->value * CL_KeyState (&in_back);		}			// adjust for speed key		if ( in_speed.state & 1 )		{			cmd->forwardmove *= cl_movespeedkey->value;			cmd->sidemove *= cl_movespeedkey->value;			cmd->upmove *= cl_movespeedkey->value;		}		// clip to maxspeed		spd = gEngfuncs.GetClientMaxspeed();		if ( spd != 0.0 )		{			// scale the 3 speeds so that the total velocity is not > cl.maxspeed			float fmov = sqrt( (cmd->forwardmove*cmd->forwardmove) + (cmd->sidemove*cmd->sidemove) + (cmd->upmove*cmd->upmove) );			if ( fmov > spd )			{				float fratio = spd / fmov;				cmd->forwardmove *= fratio;				cmd->sidemove *= fratio;				cmd->upmove *= fratio;			}		}		// Allow mice and other controllers to add their inputs	if( !gHUD.m_iPlayerFrozen )		IN_Move ( frametime, cmd );	}	cmd->impulse = in_impulse;	in_impulse = 0;	cmd->weaponselect = g_weaponselect;	g_weaponselect = 0;	//	// set button and flag bits	//	cmd->buttons = CL_ButtonBits( 1 );	// If they're in a modal dialog, ignore the attack button.//	if(GetClientVoiceMgr()->IsInSquelchMode())//		cmd->buttons &= ~IN_ATTACK;	// Using joystick?	if ( in_joystick->value )	{		if ( cmd->forwardmove > 0 )		{			cmd->buttons |= IN_FORWARD;		}		else if ( cmd->forwardmove < 0 )		{			cmd->buttons |= IN_BACK;		}	}	gEngfuncs.GetViewAngles( (float *)viewangles );	// Set current view angles.	if ( g_iAlive && !gHUD.m_iPlayerFrozen )	{//.........这里部分代码省略.........
开发者ID:mittorn,项目名称:hlwe_src,代码行数:101,


示例30: demos

/*================CL_CreateMoveSend the intended movement message to the serverif active == 1 then we are 1) not playing back demos ( where our commands are ignored ) and2 ) we have finished signing on to server================*/void DLLEXPORT CL_CreateMove ( float frametime, struct usercmd_s *cmd, int active ){		float spd;	vec3_t viewangles;	static vec3_t oldangles;	if ( active )	{		//memset( viewangles, 0, sizeof( vec3_t ) );		//viewangles[ 0 ] = viewangles[ 1 ] = viewangles[ 2 ] = 0.0;		gEngfuncs.GetViewAngles( (float *)viewangles );		CL_AdjustAngles ( frametime, viewangles );		memset (cmd, 0, sizeof(*cmd));				gEngfuncs.SetViewAngles( (float *)viewangles );		if ( in_strafe.state & 1 )		{			cmd->sidemove += cl_sidespeed->value * CL_KeyState (&in_right);			cmd->sidemove -= cl_sidespeed->value * CL_KeyState (&in_left);		}		cmd->sidemove += cl_sidespeed->value * CL_KeyState (&in_moveright);		cmd->sidemove -= cl_sidespeed->value * CL_KeyState (&in_moveleft);		cmd->upmove += cl_upspeed->value * CL_KeyState (&in_up);		cmd->upmove -= cl_upspeed->value * CL_KeyState (&in_down);		if ( !(in_klook.state & 1 ) )		{				cmd->forwardmove += cl_forwardspeed->value * CL_KeyState (&in_forward);			cmd->forwardmove -= cl_backspeed->value * CL_KeyState (&in_back);		}			// adjust for speed key		if ( in_speed.state & 1 )		{			cmd->forwardmove *= cl_movespeedkey->value;			cmd->sidemove *= cl_movespeedkey->value;			cmd->upmove *= cl_movespeedkey->value;		}		// clip to maxspeed		spd = gEngfuncs.GetClientMaxspeed();		if ( spd != 0.0 )		{			// scale the 3 speeds so that the total velocity is not > cl.maxspeed			float fmov = sqrt( (cmd->forwardmove*cmd->forwardmove) + (cmd->sidemove*cmd->sidemove) + (cmd->upmove*cmd->upmove) );			if ( fmov > spd )			{				float fratio = spd / fmov;				cmd->forwardmove *= fratio;				cmd->sidemove *= fratio;				cmd->upmove *= fratio;			}		}		// Allow mice and other controllers to add their inputs		IN_Move ( frametime, cmd );	}	cmd->impulse = in_impulse;	in_impulse = 0;	cmd->weaponselect = g_weaponselect;	g_weaponselect = 0;	//	// set button and flag bits	//	cmd->buttons = CL_ButtonBits( 1 );	// If they're in a modal dialog, ignore the attack button.	if(GetClientVoiceMgr()->IsInSquelchMode())		cmd->buttons &= ~IN_ATTACK;	// Using joystick?	if ( in_joystick->value )	{		if ( cmd->forwardmove > 0 )		{			cmd->buttons |= IN_FORWARD;		}		else if ( cmd->forwardmove < 0 )		{			cmd->buttons |= IN_BACK;		}	}//.........这里部分代码省略.........
开发者ID:BackupTheBerlios,项目名称:csclassic,代码行数:101,



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


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