void cHacks::AimCorrection( bool Correct )
{
if( !StoreWepData )
{
cWeaponMgr* WepMgr = *(cWeaponMgr**)ADDR_WEAPONMGR;
if( WepMgr )
{
for( int i = 0; i < WepMgr->WeaponCount; i++ )
{
cWeaponInfo* Wep = WepMgr->Weapons[i];
if( Wep )
{
OgAwepData[0][i] = Wep->fDuckPerturb;
OgAwepData[1][i] = Wep->fMoveDuckPerturb;
OgAwepData[2][i] = Wep->fPerturbIncSpeed;
OgAwepData[3][i] = Wep->fPerturbDecSpeed;
OgAwepData[4][i] = Wep->fCameraSwayXFreq;
OgAwepData[5][i] = Wep->fCameraSwayYFreq;
OgAwepData[6][i] = Wep->fZoomedPerturbIncSpeed;
OgAwepData[7][i] = Wep->fZoomedPerturbDecSpeed;
OgAwepData[8][i] = Wep->fTripleShotMaxCamRecoilPitch;
OgAwepData[9][i] = Wep->fTripleShotBaseCamRecoilPitch;
OgAwepData[10][i] = Wep->fTripleShotPerturbIncSpeed;
OgAwepData[11][i] = Wep->fTripleShotPerturbDecSpeed;
OgAwepData[12][i] = Wep->fBaseCamRecoilPitch;
OgAwepData[13][i] = Wep->fBaseCamRecoilAccelPitch;
OgAwepData[14][i] = Wep->dwTripleShotMinPerturb;
OgAwepData[15][i] = Wep->dwTripleShotMaxPerturb;
OgAwepData[16][i] = Wep->dwMaxPerturb;
OgAwepData[17][i] = Wep->dwMinPerturb;
OgAwepData[18][i] = Wep->dwZoomedMaxPerturb;
OgAwepData[19][i] = Wep->dwZoomedMinPerturb;
}
}
}
StoreWepData = true;
}
if( Correct )
{
// if( engine->GetPlayerMgr() && engine->GetPlayerMgr()->GetCurrentWeapon() )
// engine->GetPlayerMgr()->GetCurrentWeapon()->spreadMultiplier = 0.f;
if( SetWepData )
{
cWeaponMgr* WepMgr = *(cWeaponMgr**)ADDR_WEAPONMGR;
if( WepMgr )
{
for( int i = 0; i < WepMgr->WeaponCount; i++ )
{
cWeaponInfo* Wep = WepMgr->Weapons[i];
if( Wep )
{
Wep->fDuckPerturb = 0.0f;
Wep->fMoveDuckPerturb = 0.0f;
Wep->fPerturbIncSpeed = 0.0f;
Wep->fPerturbDecSpeed = 0.0f;
Wep->fCameraSwayXFreq = 0.0f;
Wep->fCameraSwayYFreq = 0.0f;
Wep->fZoomedPerturbIncSpeed = 0.0f;
Wep->fZoomedPerturbDecSpeed = 0.0f;
Wep->fTripleShotMaxCamRecoilPitch = 0.0f;
Wep->fTripleShotBaseCamRecoilPitch = 0.0f;
Wep->fTripleShotPerturbIncSpeed = 0.0f;
Wep->fTripleShotPerturbDecSpeed = 0.0f;
Wep->fBaseCamRecoilPitch = 0.0f;
Wep->fBaseCamRecoilAccelPitch = 0.0f;
Wep->dwTripleShotMinPerturb = 0.0f;
Wep->dwTripleShotMaxPerturb = 0.0f;
Wep->dwMaxPerturb = 0.0f;
Wep->dwMinPerturb = 0.0f;
Wep->dwZoomedMaxPerturb = 0.0f;
Wep->dwZoomedMinPerturb = 0.0f;
}
}
}
SetWepData = false;
}
}
else
{
if( !SetWepData )
{
cWeaponMgr* WepMgr = *(cWeaponMgr**)ADDR_WEAPONMGR;
if( WepMgr )
{
for( int i = 0; i < WepMgr->WeaponCount; i++ )
{
cWeaponInfo* Wep = WepMgr->Weapons[i];
if( Wep )
{
Wep->fDuckPerturb = OgAwepData[0][i];
Wep->fMoveDuckPerturb = OgAwepData[1][i];
Wep->fPerturbIncSpeed = OgAwepData[2][i];
Wep->fPerturbDecSpeed = OgAwepData[3][i];
Wep->fCameraSwayXFreq = OgAwepData[4][i];
Wep->fCameraSwayYFreq = OgAwepData[5][i];
Wep->fZoomedPerturbIncSpeed = OgAwepData[6][i];
Wep->fZoomedPerturbDecSpeed = OgAwepData[7][i];
Wep->fTripleShotMaxCamRecoilPitch = OgAwepData[8][i];
Wep->fTripleShotBaseCamRecoilPitch = OgAwepData[9][i];
Wep->fTripleShotPerturbIncSpeed = OgAwepData[10][i];
Wep->fTripleShotPerturbDecSpeed = OgAwepData[11][i];
Wep->fBaseCamRecoilPitch = OgAwepData[12][i];
Wep->fBaseCamRecoilAccelPitch = OgAwepData[13][i];
Wep->dwTripleShotMinPerturb = OgAwepData[14][i];
Wep->dwTripleShotMaxPerturb = OgAwepData[15][i];
Wep->dwMaxPerturb = OgAwepData[16][i];
Wep->dwMinPerturb = OgAwepData[17][i];
Wep->dwZoomedMaxPerturb = OgAwepData[18][i];
Wep->dwZoomedMinPerturb = OgAwepData[19][i];
}
}
}
SetWepData = true;
}
}
}


)