예제 #1
0
  @Override
  public void p_() {
    super.p_();

    u();

    double d1 = aL - aI;
    double d2 = aN - aK;

    float f1 = OMathHelper.a(d1 * d1 + d2 * d2);

    float f2 = G;

    float f3 = 0.0F;
    I = J;
    float f4 = 0.0F;
    if (f1 > 0.05F) {
      f4 = 1.0F;
      f3 = f1 * 3.0F;
      f2 = (float) Math.atan2(d2, d1) * 180.0F / 3.141593F - 90.0F;
    }
    if (W > 0.0F) f2 = aR;
    if (!aW) f4 = 0.0F;
    J += (f4 - J) * 0.3F;

    float f5 = f2 - G;
    while (f5 < -180.0F) f5 += 360.0F;
    while (f5 >= 180.0F) f5 -= 360.0F;
    G += f5 * 0.3F;

    float f6 = aR - G;
    while (f6 < -180.0F) f6 += 360.0F;
    while (f6 >= 180.0F) f6 -= 360.0F;
    int i = (f6 < -90.0F) || (f6 >= 90.0F) ? 1 : 0;
    if (f6 < -75.0F) f6 = -75.0F;
    if (f6 >= 75.0F) f6 = 75.0F;
    G = (aR - f6);
    if (f6 * f6 > 2500.0F) G += f6 * 0.2F;

    if (i != 0) f3 *= -1.0F;
    while (aR - aT < -180.0F) aT -= 360.0F;
    while (aR - aT >= 180.0F) aT += 360.0F;
    while (G - H < -180.0F) H -= 360.0F;
    while (G - H >= 180.0F) H += 360.0F;
    while (aS - aU < -180.0F) aU -= 360.0F;
    while (aS - aU >= 180.0F) aU += 360.0F;
    K += f3;
  }