void _fastcall CalcViewAngles() { vec3_t view,up,right,forward,playerAngles,EntViewOrg; playerAngles[0]=0; playerAngles[1]=gEngfuncs.GetEntityByIndex(target)->angles[1]; playerAngles[2]=0; gEngfuncs.pfnAngleVectors (playerAngles, forward, right, up); forward[2] = -forward[2]; cl_entity_s* ent = gEngfuncs.GetEntityByIndex(target); aimvec* si = TargetRegion(target); EntViewOrg = gEngfuncs.GetEntityByIndex(target)->origin + forward * si->f + up * si->h + right * si->r; view[0] = EntViewOrg[0] - me.pmEyePos[0]; view[1] = EntViewOrg[1] - me.pmEyePos[1]; view[2] = EntViewOrg[2] - me.pmEyePos[2]; if (!view[1] == 0 && !view[0] == 0) { aim_viewangles[0] = atan2(view[2], sqrt(view[0] * view[0] + view[1] * view[1])) * (CALC_PERF); aim_viewangles[1] = atan2(view[1], view[0]) * (CALC_PERF); aim_viewangles[2] = 0; } VectorAngles(view, aim_viewangles); aim_viewangles[0] *= -1; if (aim_viewangles[0]>180) aim_viewangles[0]-=360; if (aim_viewangles[1]>180) aim_viewangles[1]-=360; }