本文整理汇总了C++中CL_KeyState函数的典型用法代码示例。如果您正苦于以下问题:C++ CL_KeyState函数的具体用法?C++ CL_KeyState怎么用?C++ CL_KeyState使用的例子?那么恭喜您, 这里精选的函数代码示例或许可以为您提供帮助。
在下文中一共展示了CL_KeyState函数的20个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于我们的系统推荐出更棒的C++代码示例。
示例1: CL_AdjustAngles
/*
================
CL_AdjustAngles
Moves 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,代码来源:cl_input.cpp
示例2: CL_BaseMove
/*
================
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 (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,代码来源:cl_input.c
示例3: CL_BaseMove
/*
================
CL_BaseMove
Send 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,代码来源:cl_input.c
示例4: CL_BaseMove
/*
================
CL_BaseMove
Send 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,代码来源:cl_input.c
示例5: CL_AdjustAngles
/*
================
CL_AdjustAngles
Moves 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,代码来源:cl_input.c
示例6: CL_AdjustAngles
/*
================
CL_AdjustAngles
Moves 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,代码来源:cl_input.c
示例7: CL_AdjustAngles
/*
================
CL_AdjustAngles
Moves 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,代码来源:CL_INPUT.C
示例8: CL_AdjustAngles
/*
================
CL_AdjustAngles
Moves 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,代码来源:cl_input.c
示例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,代码来源:qw.c
示例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,代码来源:cl_input.c
示例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,代码来源:cl_input.c
示例12: CL_AdjustAngles
/*
================
CL_AdjustAngles
Moves 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,代码来源:cl_input.c
示例13: CL_KeyMove
/*
================
CL_KeyMove
Sets the usercmd_t based on key states
================
*/
void
CL_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,代码来源:cl_input.c
示例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,代码来源:cl_input.c
示例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,代码来源:cl_input.c
示例16: CL_BaseMove
/*
================
CL_BaseMove
Send 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,代码来源:cl_input.c
示例17: CL_AdjustAngles
/*
================
CL_AdjustAngles
Moves 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,代码来源:input.cpp
示例18: CL_BaseMove
/*
================
CL_BaseMove
Build 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,代码来源:cl_input.c
示例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,代码来源:cl_input.c
示例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,代码来源:input.cpp
注:本文中的CL_KeyState函数示例整理自Github/MSDocs等源码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。 |
请发表评论