
void CAccuracyTI::ApplyRecoil( CBaseCombatWeapon* pWeapon, CVector3& vAngles, bool bInverse )
{
CLocalBaseEntity* pLocal = CLocalBaseEntity::Get();
if( !pLocal )
return;
CVector3* vPredictedPunch = (CVector3*)( (DWORD_PTR)pLocal + 0x1f28 );
CVector3 vPunch = pLocal->GetPunchAngle();
Recoil2_s* pRec = pWeapon->GetRecoilParams();
pWeapon->PredictRecoil( pRec->f1, pRec->f2, pRec->f3, pRec->f4, floor(pRec->f5), floor(pRec->f6) );
CVector3 vIn;
vIn.x = vPunch.x + vPredictedPunch->x * 1.88f;
vIn.y = vPredictedPunch->y;
if( bInverse )
vAngles -= vIn;
else
vAngles += vIn;
}
