/* ================= CL_CreateCmd ================= */ usercmd_t CL_CreateCmd( void ) { usercmd_t cmd; vec3_t oldAngles; VectorCopy( cl.viewangles, oldAngles ); // keyboard angle adjustment CL_AdjustAngles (); Com_Memset( &cmd, 0, sizeof( cmd ) ); CL_CmdButtons( &cmd ); // get basic movement from keyboard CL_KeyMove( &cmd ); // get basic movement from mouse CL_MouseMove( &cmd ); // get basic movement from joystick CL_JoystickMove( &cmd ); // check to make sure the angles haven't wrapped if ( cl.viewangles[PITCH] - oldAngles[PITCH] > 90 ) { cl.viewangles[PITCH] = oldAngles[PITCH] + 90; } else if ( oldAngles[PITCH] - cl.viewangles[PITCH] > 90 ) { cl.viewangles[PITCH] = oldAngles[PITCH] - 90; } // store out the final values CL_FinishMove( &cmd ); // draw debug graphs of turning for mouse testing if ( cl_debugMove->integer ) { if ( cl_debugMove->integer == 1 ) { SCR_DebugGraph( abs(cl.viewangles[YAW] - oldAngles[YAW]), 0 ); } if ( cl_debugMove->integer == 2 ) { SCR_DebugGraph( abs(cl.viewangles[PITCH] - oldAngles[PITCH]), 0 ); } } return cmd; }
/* ================= CL_CreateCmd ================= */ usercmd_t CL_CreateCmd() { usercmd_t cmd; vec3_t oldAngles; VectorCopy(cl.viewangles, oldAngles); // keyboard angle adjustment CL_AdjustAngles(); memset(&cmd, 0, sizeof(cmd)); CL_CmdButtons(&cmd); // get basic movement from keyboard CL_KeyMove(&cmd); // get basic movement from mouse CL_MouseMove(&cmd); // get basic movement from joystick or controller if (cl_xbox360ControllerAvailable->integer) { CL_Xbox360ControllerMove(&cmd); } else { CL_JoystickMove(&cmd); } // check to make sure the angles haven't wrapped if (cl.viewangles[PITCH] - oldAngles[PITCH] > 90) { cl.viewangles[PITCH] = oldAngles[PITCH] + 90; } else if (oldAngles[PITCH] - cl.viewangles[PITCH] > 90) { cl.viewangles[PITCH] = oldAngles[PITCH] - 90; } // store out the final values CL_FinishMove(&cmd); return cmd; }
/* ================= CL_CreateCmd ================= */ usercmd_t CL_CreateCmd( void ) { usercmd_t cmd; vec3_t oldAngles; float recoilAdd; VectorCopy( cl.viewangles, oldAngles ); // keyboard angle adjustment CL_AdjustAngles(); memset( &cmd, 0, sizeof( cmd ) ); CL_CmdButtons( &cmd ); // get basic movement from keyboard CL_KeyMove( &cmd ); // get basic movement from mouse CL_MouseMove( &cmd ); // get basic movement from joystick or controller if ( cl_xbox360ControllerAvailable->integer ) { CL_Xbox360ControllerMove( &cmd ); } else { CL_JoystickMove( &cmd ); } // check to make sure the angles haven't wrapped if ( cl.viewangles[ PITCH ] - oldAngles[ PITCH ] > 90 ) { cl.viewangles[ PITCH ] = oldAngles[ PITCH ] + 90; } else if ( oldAngles[ PITCH ] - cl.viewangles[ PITCH ] > 90 ) { cl.viewangles[ PITCH ] = oldAngles[ PITCH ] - 90; } // RF, set the kickAngles so aiming is effected recoilAdd = cl_recoilPitch->value; if ( Q_fabs( cl.viewangles[ PITCH ] + recoilAdd ) < 40 ) { cl.viewangles[ PITCH ] += recoilAdd; } // the recoilPitch has been used, so clear it out cl_recoilPitch->value = 0; // store out the final values CL_FinishMove( &cmd ); // draw debug graphs of turning for mouse testing if ( cl_debugMove->integer ) { if ( cl_debugMove->integer == 1 ) { SCR_DebugGraph( abs( cl.viewangles[ YAW ] - oldAngles[ YAW ] ), 0 ); } if ( cl_debugMove->integer == 2 ) { SCR_DebugGraph( abs( cl.viewangles[ PITCH ] - oldAngles[ PITCH ] ), 0 ); } } return cmd; }