这篇教程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_KeyMovevoid 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_BaseMovevoid 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函数代码示例 |