void CorrectMovement(QAngle vOldAngles, CUserCmd* pCmd, float fOldForward, float fOldSidemove)
{
//side/forward move correction
float deltaView = pCmd->viewangles.y - vOldAngles.y;
float f1;
float f2;
if (vOldAngles.y < 0.f)
f1 = 360.0f + vOldAngles.y;
else
f1 = vOldAngles.y;
if (pCmd->viewangles.y < 0.0f)
f2 = 360.0f + pCmd->viewangles.y;
else
f2 = pCmd->viewangles.y;
if (f2 < f1)
deltaView = abs(f2 - f1);
else
deltaView = 360.0f - abs(f1 - f2);
deltaView = 360.0f - deltaView;
pCmd->forwardmove = cos(DEG2RAD(deltaView)) * fOldForward + cos(DEG2RAD(deltaView + 90.f)) * fOldSidemove;
pCmd->sidemove = sin(DEG2RAD(deltaView)) * fOldForward + sin(DEG2RAD(deltaView + 90.f)) * fOldSidemove;
}
void GetMovementFix(unsigned int state, float oForwardMove, float oSideMove, CUserCmd cmd)
{
//fix movement Q_Q
switch (state)
{
case 0:
case 1:
if (cmd->forwardmove == 0)
{
if (cmd->sidemove == 0)
{
cmd->forwardmove = 0;
cmd->sidemove = 0;
}
else if (cmd->sidemove < 0)
{
cmd->forwardmove = 450;
cmd->sidemove = -450;
}
else if (cmd->sidemove > 0)
{
cmd->forwardmove = -450;
cmd->sidemove = 450;
}
}
else if (cmd->forwardmove < 0)
{
if (cmd->sidemove == 0)
{
cmd->forwardmove = -450;
cmd->sidemove = -450;
}
else if (cmd->sidemove < 0)
{
cmd->forwardmove = 0;
cmd->sidemove = -450;
}
else if (cmd->sidemove > 0)
{
cmd->forwardmove = -450;
cmd->sidemove = 0;
}
}
else if (cmd->forwardmove > 0)
{
if (cmd->sidemove == 0)
{
cmd->forwardmove = 450;
cmd->sidemove = 450;
}
else if (cmd->sidemove < 0)
{
cmd->forwardmove = 450;
cmd->sidemove = 0;
}
else if (cmd->sidemove > 0)
{
cmd->forwardmove = 0;
cmd->sidemove = 450;
}
}
case 2:
cmd->forwardmove = -oSideMove;
cmd->sidemove = oForwardMove;
case 3:
if (cmd->forwardmove == 0)
{
if (cmd->sidemove == 0)
{
cmd->sidemove = 0;
cmd->forwardmove = 0;
}
else if (cmd->sidemove < 0)
{
cmd->sidemove = 450;
cmd->forwardmove = 450;
}
else if (cmd->sidemove > 0)
{
cmd->sidemove = -450;
cmd->forwardmove = -450;
}
}
else if (cmd->forwardmove < 0)
{
if (cmd->sidemove == 0)
{
cmd->sidemove = -450;
cmd->forwardmove = 450;
}
else if (cmd->sidemove < 0)
{
cmd->sidemove = 0;
cmd->forwardmove = 450;
}
else if (cmd->sidemove > 0)
{
cmd->sidemove = -450;
cmd->forwardmove = 0;
}
}
else if (cmd->forwardmove > 0)
{
if (cmd->sidemove == 0)
{
cmd->sidemove = 450;
cmd->forwardmove = -450;
}
else if (cmd->sidemove < 0)
{
cmd->sidemove = 450;
cmd->forwardmove = 0;
}
else if (cmd->sidemove > 0)
{
cmd->sidemove = 0;
cmd->forwardmove = -450;
}
}
break;
case 4:
cmd->forwardmove = -oForwardMove;
cmd->sidemove = -oSideMove;
break;
case 5:
if (cmd->forwardmove == 0)
{
if (cmd->sidemove == 0)
{
cmd->forwardmove = 0;
cmd->sidemove = 0;
}
else if (cmd->sidemove < 0)
{
cmd->forwardmove = -450;
cmd->sidemove = 450;
}
else if (cmd->sidemove > 0)
{
cmd->forwardmove = 450;
cmd->sidemove = -450;
}
}
else if (cmd->forwardmove < 0)
{
if (cmd->sidemove == 0)
{
cmd->forwardmove = 450;
cmd->sidemove = 450;
}
else if (cmd->sidemove < 0)
{
cmd->forwardmove = 0;
cmd->sidemove = 450;
}
else if (cmd->sidemove > 0)
{
cmd->forwardmove = 450;
cmd->sidemove = 0;
}
}
else if (cmd->forwardmove > 0)
{
if (cmd->sidemove == 0)
{
cmd->forwardmove = -450;
cmd->sidemove = -450;
}
else if (cmd->sidemove < 0)
{
cmd->forwardmove = -450;
cmd->sidemove = 0;
}
else if (cmd->sidemove > 0)
{
cmd->forwardmove = 0;
cmd->sidemove = -450;
}
}
break;
case 6:
cmd->forwardmove = oSideMove;
cmd->sidemove = -oForwardMove;
break;
case 6:
if (cmd->forwardmove == 0)
{
if (cmd->sidemove == 0)
{
cmd->sidemove = 0;
cmd->forwardmove = 0;
}
else if (cmd->sidemove < 0)
{
cmd->sidemove = -450;
cmd->forwardmove = -450;
}
else if (cmd->sidemove > 0)
{
cmd->sidemove = 450;
cmd->forwardmove = 450;
}
}
else if (cmd->forwardmove < 0)
{
if (cmd->sidemove == 0)
{
cmd->sidemove = 450;
cmd->forwardmove = -450;
}
else if (cmd->sidemove < 0)
{
cmd->sidemove = 0;
cmd->forwardmove = -450;
}
else if (cmd->sidemove > 0)
{
cmd->sidemove = 450;
cmd->forwardmove = 0;
}
}
else if (cmd->forwardmove > 0)
{
if (cmd->sidemove == 0)
{
cmd->sidemove = -450;
cmd->forwardmove = 450;
}
else if (cmd->sidemove < 0)
{
cmd->sidemove = -450;
cmd->forwardmove = 0;
}
else if (cmd->sidemove > 0)
{
cmd->sidemove = 0;
cmd->forwardmove = 450;
}
}
break;
}
}
void CorrectMovement(QAngle vOldAngles, CUserCmd* pCmd, float fOldForward, float fOldSidemove)
{
//side/forward move correction
float deltaView = pCmd->viewangles.y - vOldAngles.y;
float f1;
float f2;
if (vOldAngles.y < 0.f)
f1 = 360.0f + vOldAngles.y;
else
f1 = vOldAngles.y;
if (pCmd->viewangles.y < 0.0f)
f2 = 360.0f + pCmd->viewangles.y;
else
f2 = pCmd->viewangles.y;
if (f2 < f1)
deltaView = abs(f2 - f1);
else
deltaView = 360.0f - abs(f1 - f2);
deltaView = 360.0f - deltaView;
pCmd->forwardmove = cos(DEG2RAD(deltaView)) * fOldForward + cos(DEG2RAD(deltaView + 90.f)) * fOldSidemove;
pCmd->sidemove = sin(DEG2RAD(deltaView)) * fOldForward + sin(DEG2RAD(deltaView + 90.f)) * fOldSidemove;
}
void GetMovementFix(unsigned int state, float oForwardMove, float oSideMove, CUserCmd cmd)
{
//fix movement Q_Q
switch (state)
{
case 0:
case 1:
if (cmd->forwardmove == 0)
{
if (cmd->sidemove == 0)
{
cmd->forwardmove = 0;
cmd->sidemove = 0;
}
else if (cmd->sidemove < 0)
{
cmd->forwardmove = 450;
cmd->sidemove = -450;
}
else if (cmd->sidemove > 0)
{
cmd->forwardmove = -450;
cmd->sidemove = 450;
}
}
else if (cmd->forwardmove < 0)
{
if (cmd->sidemove == 0)
{
cmd->forwardmove = -450;
cmd->sidemove = -450;
}
else if (cmd->sidemove < 0)
{
cmd->forwardmove = 0;
cmd->sidemove = -450;
}
else if (cmd->sidemove > 0)
{
cmd->forwardmove = -450;
cmd->sidemove = 0;
}
}
else if (cmd->forwardmove > 0)
{
if (cmd->sidemove == 0)
{
cmd->forwardmove = 450;
cmd->sidemove = 450;
}
else if (cmd->sidemove < 0)
{
cmd->forwardmove = 450;
cmd->sidemove = 0;
}
else if (cmd->sidemove > 0)
{
cmd->forwardmove = 0;
cmd->sidemove = 450;
}
}
case 2:
cmd->forwardmove = -oSideMove;
cmd->sidemove = oForwardMove;
case 3:
if (cmd->forwardmove == 0)
{
if (cmd->sidemove == 0)
{
cmd->sidemove = 0;
cmd->forwardmove = 0;
}
else if (cmd->sidemove < 0)
{
cmd->sidemove = 450;
cmd->forwardmove = 450;
}
else if (cmd->sidemove > 0)
{
cmd->sidemove = -450;
cmd->forwardmove = -450;
}
}
else if (cmd->forwardmove < 0)
{
if (cmd->sidemove == 0)
{
cmd->sidemove = -450;
cmd->forwardmove = 450;
}
else if (cmd->sidemove < 0)
{
cmd->sidemove = 0;
cmd->forwardmove = 450;
}
else if (cmd->sidemove > 0)
{
cmd->sidemove = -450;
cmd->forwardmove = 0;
}
}
else if (cmd->forwardmove > 0)
{
if (cmd->sidemove == 0)
{
cmd->sidemove = 450;
cmd->forwardmove = -450;
}
else if (cmd->sidemove < 0)
{
cmd->sidemove = 450;
cmd->forwardmove = 0;
}
else if (cmd->sidemove > 0)
{
cmd->sidemove = 0;
cmd->forwardmove = -450;
}
}
break;
case 4:
cmd->forwardmove = -oForwardMove;
cmd->sidemove = -oSideMove;
break;
case 5:
if (cmd->forwardmove == 0)
{
if (cmd->sidemove == 0)
{
cmd->forwardmove = 0;
cmd->sidemove = 0;
}
else if (cmd->sidemove < 0)
{
cmd->forwardmove = -450;
cmd->sidemove = 450;
}
else if (cmd->sidemove > 0)
{
cmd->forwardmove = 450;
cmd->sidemove = -450;
}
}
else if (cmd->forwardmove < 0)
{
if (cmd->sidemove == 0)
{
cmd->forwardmove = 450;
cmd->sidemove = 450;
}
else if (cmd->sidemove < 0)
{
cmd->forwardmove = 0;
cmd->sidemove = 450;
}
else if (cmd->sidemove > 0)
{
cmd->forwardmove = 450;
cmd->sidemove = 0;
}
}
else if (cmd->forwardmove > 0)
{
if (cmd->sidemove == 0)
{
cmd->forwardmove = -450;
cmd->sidemove = -450;
}
else if (cmd->sidemove < 0)
{
cmd->forwardmove = -450;
cmd->sidemove = 0;
}
else if (cmd->sidemove > 0)
{
cmd->forwardmove = 0;
cmd->sidemove = -450;
}
}
break;
case 6:
cmd->forwardmove = oSideMove;
cmd->sidemove = -oForwardMove;
break;
case 6:
if (cmd->forwardmove == 0)
{
if (cmd->sidemove == 0)
{
cmd->sidemove = 0;
cmd->forwardmove = 0;
}
else if (cmd->sidemove < 0)
{
cmd->sidemove = -450;
cmd->forwardmove = -450;
}
else if (cmd->sidemove > 0)
{
cmd->sidemove = 450;
cmd->forwardmove = 450;
}
}
else if (cmd->forwardmove < 0)
{
if (cmd->sidemove == 0)
{
cmd->sidemove = 450;
cmd->forwardmove = -450;
}
else if (cmd->sidemove < 0)
{
cmd->sidemove = 0;
cmd->forwardmove = -450;
}
else if (cmd->sidemove > 0)
{
cmd->sidemove = 450;
cmd->forwardmove = 0;
}
}
else if (cmd->forwardmove > 0)
{
if (cmd->sidemove == 0)
{
cmd->sidemove = -450;
cmd->forwardmove = 450;
}
else if (cmd->sidemove < 0)
{
cmd->sidemove = -450;
cmd->forwardmove = 0;
}
else if (cmd->sidemove > 0)
{
cmd->sidemove = 0;
cmd->forwardmove = 450;
}
}
break;
}
}
Copyright © 2024, NextGenUpdate.
All Rights Reserved.