Scheint noch niemand gefunden zu haben oder es stört einfach niemanden.
float CMover::GetDamageMultiplier( ATTACK_INFO* pInfo )
Jedesmal einen cosinus berechnen und dazu noch eine Fließkommamultiplikation und Division ist wirklich unsexy, das geht einfacher, kürzer und effizienter.
Anstatt unnötigen Berechnungen haben wir nun einen einzigen Array-Zugriff.
Rechenpower haben wir heutzutage zwar genug aber das ist kein Grund sie zu verschwenden.
float CMover::GetDamageMultiplier( ATTACK_INFO* pInfo )
Code:
const int MAX_OVER_ATK = 16; nDelta = min( nDelta, (MAX_OVER_ATK-1) ); const double pi = 3.1415926535; double radian = ( pi * nDelta ) / (float)(MAX_OVER_ATK * 2); factor *= (float)cos( radian );
Code:
const int MAX_OVER_ATK = 16;
nDelta = min( nDelta, (MAX_OVER_ATK-1) );
static const float DeltaFactor[MAX_OVER_ATK]=
{1.0f,
0.995f,0.981f,0.957f,0.924f,0.882f,
0.831f,0.773f,0.707f,0.634f,0.556f,
0.471f,0.383f,0.290f,0.195f,0.098f
};
factor *= DeltaFactor[ nDelta ];
Rechenpower haben wir heutzutage zwar genug aber das ist kein Grund sie zu verschwenden.