keybode

Movement fix

Jan 25th, 2014
621
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 0.59 KB | None | 0 0
  1. void MovementFix( CUserCmd* pCmd, QAngle qaView, QAngle qaAim )
  2. {
  3.     Vector vecMove( pCmd->forwardmove, pCmd->sidemove, pCmd->upmove );
  4.        
  5.     Vector vecMoveNorm;
  6.     VectorCopy( vecMove, vecMoveNorm );
  7.     vecMoveNorm.NormalizeInPlace( );
  8.        
  9.     QAngle qaMoveNorm;
  10.     VectorAngles( vecMoveNorm, qaMoveNorm );
  11.        
  12.     QAngle qaAdjusted = qaMoveNorm + ( qaAim - qaView );
  13.     Vector vecForward, vecSide, vecUp;
  14.     AngleVectors( qaAdjusted, &vecForward, &vecSide, &vecUp );
  15.        
  16.     Vector vecSet = vecForward * vecMove.Length();
  17.        
  18.     pCmd->forwardmove = vecSet.x;
  19.     pCmd->sidemove = vecSet.y;
  20. }
Advertisement
Add Comment
Please, Sign In to add comment