Advertisement
Guest User

Untitled

a guest
Jan 28th, 2020
116
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 1.87 KB | None | 0 0
  1. Vector velocity = g_LocalPlayer->m_vecVelocity();
  2.       velocity.z = 0.0f;
  3.       float flSpeed = velocity.Length2D();
  4.  
  5.       if (!abs(flSpeed) < 0.0f) {
  6.           float prefAngleDeltaRad = get_delta(flSpeed, 300.0, 10.f);
  7.           if (prefAngleDeltaRad > 0.0f) {
  8.               float prefAngleDeltaDeg = fmod(RAD2DEG(prefAngleDeltaRad), 360);
  9.  
  10.               Vector forward;
  11.               Math::AngleVectors(cmd->viewangles, forward);
  12.               forward.NormalizeInPlace();
  13.  
  14.               float flSlip = forward.Dot(velocity);
  15.  
  16.               if (abs(flSlip) > 30.0f) {
  17.                   float lookYawDeg = fmod(cmd->viewangles.pitch, 360);
  18.                   Vector wishMoveYaw(cmd->forwardmove, cmd->sidemove, 0);
  19.                   wishMoveYaw.NormalizeInPlace();
  20.  
  21.                   QAngle Out, Out2;
  22.                   Math::VectorAngles(wishMoveYaw, Out);
  23.  
  24.                   float wishMoveYawLocalDeg = fmod(Out.pitch, 360);
  25.                   float wishMoveYawDeg = fmod((lookYawDeg + wishMoveYawLocalDeg), 360);
  26.  
  27.                   velocity.NormalizeInPlace();
  28.  
  29.                   Math::VectorAngles(velocity, Out);
  30.  
  31.                   float velYawDeg = fmod(Out2.pitch, 360);
  32.  
  33.                   float factor;
  34.                   if (velYawDeg - wishMoveYawDeg > 0.0) {
  35.                       factor = 1.0f;
  36.                   }
  37.                   else {
  38.                       factor = -1.0f;
  39.                   }
  40.  
  41.                   float finalYawDeg = fmod((velYawDeg + factor * prefAngleDeltaDeg), 360.0);
  42.                   float finalYawRad = DEG2RAD(finalYawDeg);
  43.  
  44.                   Vector VectorMove(cmd->forwardmove, cmd->sidemove, cmd->upmove);
  45.                   float flSpeed = VectorMove.Length2D();
  46.  
  47.                   cmd->forwardmove = flSpeed * cos(finalYawRad);
  48.                   cmd->sidemove = flSpeed * sin(finalYawRad);
  49.               }
  50.           }
  51.       }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement