/* Class432_Sub1 - Decompiled by JODE
 * Visit http://jode.sourceforge.net/
 */

public abstract class Class432_Sub1 extends Class432 {
	Class278[] aClass278Array8336;
	float aFloat8337;
	int anInt8338 = 0;
	float aFloat8339 = 0.0F;
	float[] aFloatArray8340;
	int[] anIntArray8341;

	abstract float method13774(float f, float f_0_, float f_1_, int i);

	public void method7752(float f, short i) {
		Class278 class278 = (((Class432_Sub1) this).aClass278Array8336[((Class432_Sub1) this).anInt8338 * 163136937]);
		if ((((Class432_Sub1) this).aFloatArray8340[((Class432_Sub1) this).anInt8338 * 163136937]) > 0.0F) {
			if ((((Class432_Sub1) this).aFloatArray8340[((Class432_Sub1) this).anInt8338 * 163136937]) >= f) {
				((Class432_Sub1) this).aFloatArray8340[((Class432_Sub1) this).anInt8338 * 163136937] -= f;
				return;
			}
			f -= (((Class432_Sub1) this).aFloatArray8340[163136937 * ((Class432_Sub1) this).anInt8338]);
			((Class432_Sub1) this).aFloatArray8340[((Class432_Sub1) this).anInt8338 * 163136937] = 0.0F;
		}
		float f_2_ = 1.0F / (float) Class53.method1278(506410277);
		while (f > 0.0F) {
			float f_3_ = class278.method5560();
			if (((Class432_Sub1) this).aFloat8339 >= f_3_) {
				if (((Class432_Sub1) this).aClass278Array8336.length == ((Class432_Sub1) this).anInt8338 * 163136937 + 1)
					break;
				if ((((Class432_Sub1) this).aFloatArray8340[((Class432_Sub1) this).anInt8338 * 163136937 + 1]) >= f) {
					((Class432_Sub1) this).aFloatArray8340[163136937 * ((Class432_Sub1) this).anInt8338 + 1] -= f;
					break;
				}
				((Class432_Sub1) this).anInt8338 += -27709799;
				f -= (((Class432_Sub1) this).aFloatArray8340[163136937 * ((Class432_Sub1) this).anInt8338]);
				((Class432_Sub1) this).aFloatArray8340[((Class432_Sub1) this).anInt8338 * 163136937] = 0.0F;
				method13776(-1986860327);
				((Class432_Sub1) this).aFloat8339 = 0.0F;
				((Class432_Sub1) this).aFloat8337 = 0.0F;
				class278 = (((Class432_Sub1) this).aClass278Array8336[163136937 * ((Class432_Sub1) this).anInt8338]);
				f_3_ = class278.method5560();
			}
			while (f > 0.0F && ((Class432_Sub1) this).aFloat8339 < f_3_) {
				((Class432_Sub1) this).aFloat8337 = method13774(f_3_, ((Class432_Sub1) this).aFloat8337, Math.min(f, f_2_), -231856521);
				f -= f_2_;
				method13779(((Class432_Sub1) this).aFloat8337, f_3_, -1578947970);
			}
		}
	}

	public void method7759(float f) {
		Class278 class278 = (((Class432_Sub1) this).aClass278Array8336[((Class432_Sub1) this).anInt8338 * 163136937]);
		if ((((Class432_Sub1) this).aFloatArray8340[((Class432_Sub1) this).anInt8338 * 163136937]) > 0.0F) {
			if ((((Class432_Sub1) this).aFloatArray8340[((Class432_Sub1) this).anInt8338 * 163136937]) >= f) {
				((Class432_Sub1) this).aFloatArray8340[((Class432_Sub1) this).anInt8338 * 163136937] -= f;
				return;
			}
			f -= (((Class432_Sub1) this).aFloatArray8340[163136937 * ((Class432_Sub1) this).anInt8338]);
			((Class432_Sub1) this).aFloatArray8340[((Class432_Sub1) this).anInt8338 * 163136937] = 0.0F;
		}
		float f_4_ = 1.0F / (float) Class53.method1278(506410277);
		while (f > 0.0F) {
			float f_5_ = class278.method5560();
			if (((Class432_Sub1) this).aFloat8339 >= f_5_) {
				if (((Class432_Sub1) this).aClass278Array8336.length == ((Class432_Sub1) this).anInt8338 * 163136937 + 1)
					break;
				if ((((Class432_Sub1) this).aFloatArray8340[((Class432_Sub1) this).anInt8338 * 163136937 + 1]) >= f) {
					((Class432_Sub1) this).aFloatArray8340[163136937 * ((Class432_Sub1) this).anInt8338 + 1] -= f;
					break;
				}
				((Class432_Sub1) this).anInt8338 += -27709799;
				f -= (((Class432_Sub1) this).aFloatArray8340[163136937 * ((Class432_Sub1) this).anInt8338]);
				((Class432_Sub1) this).aFloatArray8340[((Class432_Sub1) this).anInt8338 * 163136937] = 0.0F;
				method13776(-1001670454);
				((Class432_Sub1) this).aFloat8339 = 0.0F;
				((Class432_Sub1) this).aFloat8337 = 0.0F;
				class278 = (((Class432_Sub1) this).aClass278Array8336[163136937 * ((Class432_Sub1) this).anInt8338]);
				f_5_ = class278.method5560();
			}
			while (f > 0.0F && ((Class432_Sub1) this).aFloat8339 < f_5_) {
				((Class432_Sub1) this).aFloat8337 = method13774(f_5_, ((Class432_Sub1) this).aFloat8337, Math.min(f, f_4_), 506247680);
				f -= f_4_;
				method13779(((Class432_Sub1) this).aFloat8337, f_5_, -1815724958);
			}
		}
	}

	public Class277 method7767() {
		return method7754((byte) 78);
	}

	abstract void method13775(Class587_Sub4 class587_sub4, int i);

	abstract void method13776(int i);

	abstract void method13777(Class587_Sub4 class587_sub4, int i);

	public Class277 method7754(byte i) {
		Class277 class277 = Class277.method5433();
		double[] ds = ((Class432_Sub1) this).aClass278Array8336[((Class432_Sub1) this).anInt8338 * 163136937].method5547(((Class432_Sub1) this).aFloat8339);
		class277.aFloat4209 = (float) ds[0];
		class277.aFloat4211 = (float) ds[1];
		class277.aFloat4213 = (float) ds[2];
		return class277;
	}

	double[] method13778(int i) {
		return ((Class432_Sub1) this).aClass278Array8336[163136937 * ((Class432_Sub1) this).anInt8338].method5547(((Class432_Sub1) this).aFloat8339);
	}

	void method13779(float f, float f_6_, int i) {
		((Class432_Sub1) this).aFloat8339 += f;
		if (((Class432_Sub1) this).aFloat8339 > f_6_)
			((Class432_Sub1) this).aFloat8339 = f_6_;
	}

	public void method7753(Class80 class80, Class346 class346, int i, int i_7_, float f, int i_8_) {
		double[] ds = ((Class432_Sub1) this).aClass72_6258.method1696(782001218);
		ds[0] -= (double) i;
		ds[2] -= (double) i_7_;
		double[] ds_9_ = method13778(-263353268);
		ds_9_[0] -= (double) i;
		ds_9_[2] -= (double) i_7_;
		ds[1] *= -1.0;
		ds_9_[1] *= -1.0;
		Class277 class277 = Class277.method5433();
		class277.aFloat4209 = (float) (ds_9_[0] - ds[0]);
		class277.aFloat4211 = (float) (ds_9_[1] - ds[1]);
		class277.aFloat4213 = (float) (ds_9_[2] - ds[2]);
		class277.method5445();
		Class262 class262 = new Class262();
		class262.method5188(class277, f);
		Class277 class277_10_ = Class277.method5434(0.0F, 1.0F, 0.0F);
		Class277 class277_11_ = Class277.method5444(class277, class277_10_);
		class277_10_ = Class277.method5444(class277_11_, class277);
		class277_10_.method5464(class262);
		class346.method6501(ds[0], ds[1], ds[2], ds_9_[0], ds_9_[1], ds_9_[2], class277_10_.aFloat4209, class277_10_.aFloat4211, class277_10_.aFloat4213);
		class277_10_.method5515();
	}

	public void method7758(Class587_Sub4 class587_sub4, int i) {
		((Class432_Sub1) this).aFloat8339 = 0.0F;
		((Class432_Sub1) this).aFloat8337 = 0.0F;
		((Class432_Sub1) this).anInt8338 = 0;
		int i_12_ = class587_sub4.method14349(-1130636365);
		((Class432_Sub1) this).aClass278Array8336 = new Class278[i_12_];
		((Class432_Sub1) this).aFloatArray8340 = new float[i_12_];
		for (int i_13_ = 0; i_13_ < i_12_; i_13_++) {
			((Class432_Sub1) this).aClass278Array8336[i_13_] = new Class278(class587_sub4);
			((Class432_Sub1) this).aFloatArray8340[i_13_] = class587_sub4.method14207(-1401544763);
		}
		method13780(class587_sub4, i_12_, (byte) 63);
	}

	abstract void method13780(Class587_Sub4 class587_sub4, int i, byte i_14_);

	abstract void method13781();

	abstract void method13782(Class587_Sub4 class587_sub4, int i);

	public void method13783(Class278 class278, int i, float f, int i_15_) {
		if (((Class432_Sub1) this).aClass278Array8336 == null) {
			((Class432_Sub1) this).aClass278Array8336 = new Class278[] { class278 };
			((Class432_Sub1) this).aFloatArray8340 = new float[] { f };
			((Class432_Sub1) this).anIntArray8341 = new int[] { i };
		} else {
			Class278[] class278s = (new Class278[((Class432_Sub1) this).aClass278Array8336.length + 1]);
			float[] fs = (new float[((Class432_Sub1) this).aClass278Array8336.length + 1]);
			int[] is = (new int[1 + ((Class432_Sub1) this).aClass278Array8336.length]);
			System.arraycopy(((Class432_Sub1) this).aClass278Array8336, 0, class278s, 0, ((Class432_Sub1) this).aClass278Array8336.length);
			System.arraycopy(((Class432_Sub1) this).aFloatArray8340, 0, fs, 0, ((Class432_Sub1) this).aClass278Array8336.length);
			System.arraycopy(((Class432_Sub1) this).anIntArray8341, 0, is, 0, ((Class432_Sub1) this).aClass278Array8336.length);
			((Class432_Sub1) this).aClass278Array8336 = class278s;
			((Class432_Sub1) this).aFloatArray8340 = fs;
			((Class432_Sub1) this).anIntArray8341 = is;
			((Class432_Sub1) this).aClass278Array8336[((Class432_Sub1) this).aClass278Array8336.length - 1] = class278;
			((Class432_Sub1) this).aFloatArray8340[((Class432_Sub1) this).aFloatArray8340.length - 1] = f;
			((Class432_Sub1) this).anIntArray8341[((Class432_Sub1) this).anIntArray8341.length - 1] = i;
		}
	}

	public boolean method7765() {
		return null != ((Class432_Sub1) this).aClass278Array8336;
	}

	abstract void method13784(Class587_Sub4 class587_sub4, int i);

	abstract void method13785(Class587_Sub4 class587_sub4, int i);

	public Class277 method7751(int i) {
		return method7754((byte) -20);
	}

	public Class277 method7769() {
		return method7754((byte) 38);
	}

	public boolean method7760() {
		return null != ((Class432_Sub1) this).aClass278Array8336;
	}

	Class432_Sub1(Class72 class72) {
		super(class72);
		((Class432_Sub1) this).aFloat8337 = 0.0F;
	}

	public boolean method7763() {
		return null != ((Class432_Sub1) this).aClass278Array8336;
	}

	public void method7775(Class80 class80, Class346 class346, int i, int i_16_, float f) {
		double[] ds = ((Class432_Sub1) this).aClass72_6258.method1696(1417478857);
		ds[0] -= (double) i;
		ds[2] -= (double) i_16_;
		double[] ds_17_ = method13778(-263353268);
		ds_17_[0] -= (double) i;
		ds_17_[2] -= (double) i_16_;
		ds[1] *= -1.0;
		ds_17_[1] *= -1.0;
		Class277 class277 = Class277.method5433();
		class277.aFloat4209 = (float) (ds_17_[0] - ds[0]);
		class277.aFloat4211 = (float) (ds_17_[1] - ds[1]);
		class277.aFloat4213 = (float) (ds_17_[2] - ds[2]);
		class277.method5445();
		Class262 class262 = new Class262();
		class262.method5188(class277, f);
		Class277 class277_18_ = Class277.method5434(0.0F, 1.0F, 0.0F);
		Class277 class277_19_ = Class277.method5444(class277, class277_18_);
		class277_18_ = Class277.method5444(class277_19_, class277);
		class277_18_.method5464(class262);
		class346.method6501(ds[0], ds[1], ds[2], ds_17_[0], ds_17_[1], ds_17_[2], class277_18_.aFloat4209, class277_18_.aFloat4211, class277_18_.aFloat4213);
		class277_18_.method5515();
	}

	public void method13786(Class278 class278, int i, float f) {
		if (((Class432_Sub1) this).aClass278Array8336 == null) {
			((Class432_Sub1) this).aClass278Array8336 = new Class278[] { class278 };
			((Class432_Sub1) this).aFloatArray8340 = new float[] { f };
			((Class432_Sub1) this).anIntArray8341 = new int[] { i };
		} else {
			Class278[] class278s = (new Class278[((Class432_Sub1) this).aClass278Array8336.length + 1]);
			float[] fs = (new float[((Class432_Sub1) this).aClass278Array8336.length + 1]);
			int[] is = (new int[1 + ((Class432_Sub1) this).aClass278Array8336.length]);
			System.arraycopy(((Class432_Sub1) this).aClass278Array8336, 0, class278s, 0, ((Class432_Sub1) this).aClass278Array8336.length);
			System.arraycopy(((Class432_Sub1) this).aFloatArray8340, 0, fs, 0, ((Class432_Sub1) this).aClass278Array8336.length);
			System.arraycopy(((Class432_Sub1) this).anIntArray8341, 0, is, 0, ((Class432_Sub1) this).aClass278Array8336.length);
			((Class432_Sub1) this).aClass278Array8336 = class278s;
			((Class432_Sub1) this).aFloatArray8340 = fs;
			((Class432_Sub1) this).anIntArray8341 = is;
			((Class432_Sub1) this).aClass278Array8336[((Class432_Sub1) this).aClass278Array8336.length - 1] = class278;
			((Class432_Sub1) this).aFloatArray8340[((Class432_Sub1) this).aFloatArray8340.length - 1] = f;
			((Class432_Sub1) this).anIntArray8341[((Class432_Sub1) this).anIntArray8341.length - 1] = i;
		}
	}

	public Class277 method7755() {
		Class277 class277 = Class277.method5433();
		double[] ds = ((Class432_Sub1) this).aClass278Array8336[((Class432_Sub1) this).anInt8338 * 163136937].method5547(((Class432_Sub1) this).aFloat8339);
		class277.aFloat4209 = (float) ds[0];
		class277.aFloat4211 = (float) ds[1];
		class277.aFloat4213 = (float) ds[2];
		return class277;
	}

	public Class277 method7766() {
		Class277 class277 = Class277.method5433();
		double[] ds = ((Class432_Sub1) this).aClass278Array8336[((Class432_Sub1) this).anInt8338 * 163136937].method5547(((Class432_Sub1) this).aFloat8339);
		class277.aFloat4209 = (float) ds[0];
		class277.aFloat4211 = (float) ds[1];
		class277.aFloat4213 = (float) ds[2];
		return class277;
	}

	void method13787(float f, float f_20_) {
		((Class432_Sub1) this).aFloat8339 += f;
		if (((Class432_Sub1) this).aFloat8339 > f_20_)
			((Class432_Sub1) this).aFloat8339 = f_20_;
	}

	public Class277 method7761() {
		return method7754((byte) -24);
	}

	public boolean method7762() {
		return null != ((Class432_Sub1) this).aClass278Array8336;
	}

	public Class277 method7770() {
		return method7754((byte) -101);
	}

	public void method7773(Class587_Sub4 class587_sub4) {
		((Class432_Sub1) this).aFloat8339 = 0.0F;
		((Class432_Sub1) this).aFloat8337 = 0.0F;
		((Class432_Sub1) this).anInt8338 = 0;
		int i = class587_sub4.method14349(-1130636365);
		((Class432_Sub1) this).aClass278Array8336 = new Class278[i];
		((Class432_Sub1) this).aFloatArray8340 = new float[i];
		for (int i_21_ = 0; i_21_ < i; i_21_++) {
			((Class432_Sub1) this).aClass278Array8336[i_21_] = new Class278(class587_sub4);
			((Class432_Sub1) this).aFloatArray8340[i_21_] = class587_sub4.method14207(-1065532861);
		}
		method13780(class587_sub4, i, (byte) 48);
	}

	public void method7774(Class587_Sub4 class587_sub4) {
		((Class432_Sub1) this).aFloat8339 = 0.0F;
		((Class432_Sub1) this).aFloat8337 = 0.0F;
		((Class432_Sub1) this).anInt8338 = 0;
		int i = class587_sub4.method14349(-1130636365);
		((Class432_Sub1) this).aClass278Array8336 = new Class278[i];
		((Class432_Sub1) this).aFloatArray8340 = new float[i];
		for (int i_22_ = 0; i_22_ < i; i_22_++) {
			((Class432_Sub1) this).aClass278Array8336[i_22_] = new Class278(class587_sub4);
			((Class432_Sub1) this).aFloatArray8340[i_22_] = class587_sub4.method14207(-1642933177);
		}
		method13780(class587_sub4, i, (byte) 66);
	}

	public void method7771(Class587_Sub4 class587_sub4) {
		((Class432_Sub1) this).aFloat8339 = 0.0F;
		((Class432_Sub1) this).aFloat8337 = 0.0F;
		((Class432_Sub1) this).anInt8338 = 0;
		int i = class587_sub4.method14349(-1130636365);
		((Class432_Sub1) this).aClass278Array8336 = new Class278[i];
		((Class432_Sub1) this).aFloatArray8340 = new float[i];
		for (int i_23_ = 0; i_23_ < i; i_23_++) {
			((Class432_Sub1) this).aClass278Array8336[i_23_] = new Class278(class587_sub4);
			((Class432_Sub1) this).aFloatArray8340[i_23_] = class587_sub4.method14207(-724409416);
		}
		method13780(class587_sub4, i, (byte) 52);
	}

	public void method13788(Class278 class278, int i, float f) {
		if (((Class432_Sub1) this).aClass278Array8336 == null) {
			((Class432_Sub1) this).aClass278Array8336 = new Class278[] { class278 };
			((Class432_Sub1) this).aFloatArray8340 = new float[] { f };
			((Class432_Sub1) this).anIntArray8341 = new int[] { i };
		} else {
			Class278[] class278s = (new Class278[((Class432_Sub1) this).aClass278Array8336.length + 1]);
			float[] fs = (new float[((Class432_Sub1) this).aClass278Array8336.length + 1]);
			int[] is = (new int[1 + ((Class432_Sub1) this).aClass278Array8336.length]);
			System.arraycopy(((Class432_Sub1) this).aClass278Array8336, 0, class278s, 0, ((Class432_Sub1) this).aClass278Array8336.length);
			System.arraycopy(((Class432_Sub1) this).aFloatArray8340, 0, fs, 0, ((Class432_Sub1) this).aClass278Array8336.length);
			System.arraycopy(((Class432_Sub1) this).anIntArray8341, 0, is, 0, ((Class432_Sub1) this).aClass278Array8336.length);
			((Class432_Sub1) this).aClass278Array8336 = class278s;
			((Class432_Sub1) this).aFloatArray8340 = fs;
			((Class432_Sub1) this).anIntArray8341 = is;
			((Class432_Sub1) this).aClass278Array8336[((Class432_Sub1) this).aClass278Array8336.length - 1] = class278;
			((Class432_Sub1) this).aFloatArray8340[((Class432_Sub1) this).aFloatArray8340.length - 1] = f;
			((Class432_Sub1) this).anIntArray8341[((Class432_Sub1) this).anIntArray8341.length - 1] = i;
		}
	}

	public boolean method7768(byte i) {
		return null != ((Class432_Sub1) this).aClass278Array8336;
	}

	public void method13789(Class278 class278, int i, float f) {
		if (((Class432_Sub1) this).aClass278Array8336 == null) {
			((Class432_Sub1) this).aClass278Array8336 = new Class278[] { class278 };
			((Class432_Sub1) this).aFloatArray8340 = new float[] { f };
			((Class432_Sub1) this).anIntArray8341 = new int[] { i };
		} else {
			Class278[] class278s = (new Class278[((Class432_Sub1) this).aClass278Array8336.length + 1]);
			float[] fs = (new float[((Class432_Sub1) this).aClass278Array8336.length + 1]);
			int[] is = (new int[1 + ((Class432_Sub1) this).aClass278Array8336.length]);
			System.arraycopy(((Class432_Sub1) this).aClass278Array8336, 0, class278s, 0, ((Class432_Sub1) this).aClass278Array8336.length);
			System.arraycopy(((Class432_Sub1) this).aFloatArray8340, 0, fs, 0, ((Class432_Sub1) this).aClass278Array8336.length);
			System.arraycopy(((Class432_Sub1) this).anIntArray8341, 0, is, 0, ((Class432_Sub1) this).aClass278Array8336.length);
			((Class432_Sub1) this).aClass278Array8336 = class278s;
			((Class432_Sub1) this).aFloatArray8340 = fs;
			((Class432_Sub1) this).anIntArray8341 = is;
			((Class432_Sub1) this).aClass278Array8336[((Class432_Sub1) this).aClass278Array8336.length - 1] = class278;
			((Class432_Sub1) this).aFloatArray8340[((Class432_Sub1) this).aFloatArray8340.length - 1] = f;
			((Class432_Sub1) this).anIntArray8341[((Class432_Sub1) this).anIntArray8341.length - 1] = i;
		}
	}

	public void method7764(Class80 class80, Class346 class346, int i, int i_24_, float f) {
		double[] ds = ((Class432_Sub1) this).aClass72_6258.method1696(560562118);
		ds[0] -= (double) i;
		ds[2] -= (double) i_24_;
		double[] ds_25_ = method13778(-263353268);
		ds_25_[0] -= (double) i;
		ds_25_[2] -= (double) i_24_;
		ds[1] *= -1.0;
		ds_25_[1] *= -1.0;
		Class277 class277 = Class277.method5433();
		class277.aFloat4209 = (float) (ds_25_[0] - ds[0]);
		class277.aFloat4211 = (float) (ds_25_[1] - ds[1]);
		class277.aFloat4213 = (float) (ds_25_[2] - ds[2]);
		class277.method5445();
		Class262 class262 = new Class262();
		class262.method5188(class277, f);
		Class277 class277_26_ = Class277.method5434(0.0F, 1.0F, 0.0F);
		Class277 class277_27_ = Class277.method5444(class277, class277_26_);
		class277_26_ = Class277.method5444(class277_27_, class277);
		class277_26_.method5464(class262);
		class346.method6501(ds[0], ds[1], ds[2], ds_25_[0], ds_25_[1], ds_25_[2], class277_26_.aFloat4209, class277_26_.aFloat4211, class277_26_.aFloat4213);
		class277_26_.method5515();
	}

	void method13790(float f, float f_28_) {
		((Class432_Sub1) this).aFloat8339 += f;
		if (((Class432_Sub1) this).aFloat8339 > f_28_)
			((Class432_Sub1) this).aFloat8339 = f_28_;
	}

	void method13791(float f, float f_29_) {
		((Class432_Sub1) this).aFloat8339 += f;
		if (((Class432_Sub1) this).aFloat8339 > f_29_)
			((Class432_Sub1) this).aFloat8339 = f_29_;
	}

	void method13792(float f, float f_30_) {
		((Class432_Sub1) this).aFloat8339 += f;
		if (((Class432_Sub1) this).aFloat8339 > f_30_)
			((Class432_Sub1) this).aFloat8339 = f_30_;
	}

	double[] method13793() {
		return ((Class432_Sub1) this).aClass278Array8336[163136937 * ((Class432_Sub1) this).anInt8338].method5547(((Class432_Sub1) this).aFloat8339);
	}

	abstract float method13794(float f, float f_31_, float f_32_);
}
