package com.client;

import com.client.definitions.GraphicsDefinition;
// Decompiled by Jad v1.5.8f. Copyright 2001 Pavel Kouznetsov.
// Jad home page: http://www.kpdus.com/jad.html
// Decompiler options: packimports(3) 

final class Animable_Sub4 extends Renderable {

	public void method455(int i, int j, int k, int l) {
		if (!aBoolean1579) {
			double d = l - anInt1580;
			double d2 = j - anInt1581;
			double d3 = Math.sqrt(d * d + d2 * d2);
			aDouble1585 = anInt1580 + (d * anInt1589) / d3;
			aDouble1586 = anInt1581 + (d2 * anInt1589) / d3;
			aDouble1587 = anInt1582;
		}
		double d1 = (anInt1572 + 1) - i;
		aDouble1574 = (l - aDouble1585) / d1;
		aDouble1575 = (j - aDouble1586) / d1;
		aDouble1576 = Math.sqrt(aDouble1574 * aDouble1574 + aDouble1575
				* aDouble1575);
		if (!aBoolean1579)
			aDouble1577 = -aDouble1576 * Math.tan(anInt1588 * 0.02454369D);
		aDouble1578 = (2D * (k - aDouble1587 - aDouble1577 * d1)) / (d1 * d1);
	}

	@Override
	public Model getRotatedModel() {
		Model model = aSpotAnim_1592.getModel();
		if (model == null)
			return null;
		int j = -1;
		if (aSpotAnim_1592.aAnimation_407 != null)
			j = aSpotAnim_1592.aAnimation_407.anIntArray353[anInt1593];
		Model model_1 = new Model(true, Class36.method532(j), false, model);
		if (j != -1) {
			model_1.method469();
			model_1.method470(j);
			model_1.faceGroups = null;
			model_1.vertexGroups = null;
		}
		if (aSpotAnim_1592.anInt410 != 128 || aSpotAnim_1592.anInt411 != 128)
			model_1.method478(aSpotAnim_1592.anInt410, aSpotAnim_1592.anInt410,
					aSpotAnim_1592.anInt411);
		model_1.method474(anInt1596);
		model_1.method479(64 + aSpotAnim_1592.anInt413,
				850 + aSpotAnim_1592.anInt414, -30, -50, -30, true);
		return model_1;
	}

	public Animable_Sub4(int i, int j, int l, int i1, int j1, int k1, int l1,
			int i2, int j2, int k2, int l2) {
		aBoolean1579 = false;
		aSpotAnim_1592 = GraphicsDefinition.cache[l2];
		anInt1597 = k1;
		anInt1580 = j2;
		anInt1581 = i2;
		anInt1582 = l1;
		anInt1571 = l;
		anInt1572 = i1;
		anInt1588 = i;
		anInt1589 = j1;
		anInt1590 = k2;
		anInt1583 = j;
		aBoolean1579 = false;
	}

	public void method456(int i) {
		aBoolean1579 = true;
		aDouble1585 += aDouble1574 * i;
		aDouble1586 += aDouble1575 * i;
		aDouble1587 += aDouble1577 * i + 0.5D * aDouble1578 * i * i;
		aDouble1577 += aDouble1578 * i;
		anInt1595 = (int) (Math.atan2(aDouble1574, aDouble1575) * 325.94900000000001D) + 1024 & 0x7ff;
		anInt1596 = (int) (Math.atan2(aDouble1577, aDouble1576) * 325.94900000000001D) & 0x7ff;
		if (aSpotAnim_1592.aAnimation_407 != null)
			for (anInt1594 += i; anInt1594 > aSpotAnim_1592.aAnimation_407
					.method258(anInt1593);) {
				anInt1594 -= aSpotAnim_1592.aAnimation_407.method258(anInt1593) + 1;
				anInt1593++;
				if (anInt1593 >= aSpotAnim_1592.aAnimation_407.anInt352)
					anInt1593 = 0;
			}

	}

	public final int anInt1571;
	public final int anInt1572;
	private double aDouble1574;
	private double aDouble1575;
	private double aDouble1576;
	private double aDouble1577;
	private double aDouble1578;
	private boolean aBoolean1579;
	private final int anInt1580;
	private final int anInt1581;
	private final int anInt1582;
	public final int anInt1583;
	public double aDouble1585;
	public double aDouble1586;
	public double aDouble1587;
	private final int anInt1588;
	private final int anInt1589;
	public final int anInt1590;
	private final GraphicsDefinition aSpotAnim_1592;
	private int anInt1593;
	private int anInt1594;
	public int anInt1595;
	private int anInt1596;
	public final int anInt1597;
}
