/* Class47_Sub3 - Decompiled by JODE
 * Visit http://jode.sourceforge.net/
 */
import jaggl.OpenGL;

public class Class47_Sub3 extends Class47 {
	static float aFloat6758 = 22.5F;
	static int anInt6759 = 12;
	static int anInt6760 = 36;
	Class30_Sub1[] aClass30_Sub1Array6761;
	static int anInt6762 = 96;
	static char aChar6763 = '\0';
	static char aChar6764 = '\001';
	Class28 aClass28_6765;
	boolean aBoolean6766;
	static int anInt6767 = 64;
	boolean aBoolean6768 = false;

	void method503(int i, int i_0_) {
		if (((Class47_Sub3) this).aBoolean6768) {
			((Class47_Sub3) this).aClass_ra_Sub2_491.method5255(1);
			((Class47_Sub3) this).aClass_ra_Sub2_491
					.method5256(((Class47_Sub3) this).aClass30_Sub1Array6761[i - 1]);
			((Class47_Sub3) this).aClass_ra_Sub2_491.method5255(0);
		}
	}

	void method519(Class30 class30, int i) {
		((Class47_Sub3) this).aClass_ra_Sub2_491.method5256(class30);
		((Class47_Sub3) this).aClass_ra_Sub2_491.method5243(i);
	}

	boolean method501() {
		return true;
	}

	void method505(boolean bool) {
		if (((Class47_Sub3) this).aClass28_6765 != null && bool) {
			if (!((Class47_Sub3) this).aBoolean6766) {
				((Class47_Sub3) this).aClass_ra_Sub2_491.method5255(2);
				((Class47_Sub3) this).aClass_ra_Sub2_491
						.method5256(((Class_ra_Sub2) ((Class47_Sub3) this).aClass_ra_Sub2_491).aClass30_Sub2_8140);
				((Class47_Sub3) this).aClass_ra_Sub2_491.method5255(0);
			}
			((Class47_Sub3) this).aClass28_6765.method404('\0');
			((Class47_Sub3) this).aBoolean6768 = true;
		} else
			((Class47_Sub3) this).aClass_ra_Sub2_491.method5286(0, 34168, 770);
	}

	void method515(int i, int i_1_) {
		if (((Class47_Sub3) this).aBoolean6768) {
			((Class47_Sub3) this).aClass_ra_Sub2_491.method5255(1);
			((Class47_Sub3) this).aClass_ra_Sub2_491
					.method5256(((Class47_Sub3) this).aClass30_Sub1Array6761[i - 1]);
			((Class47_Sub3) this).aClass_ra_Sub2_491.method5255(0);
		}
	}

	void method504() {
		if (((Class47_Sub3) this).aBoolean6768) {
			if (!((Class47_Sub3) this).aBoolean6766) {
				((Class47_Sub3) this).aClass_ra_Sub2_491.method5255(2);
				((Class47_Sub3) this).aClass_ra_Sub2_491.method5256(null);
			}
			((Class47_Sub3) this).aClass_ra_Sub2_491.method5255(1);
			((Class47_Sub3) this).aClass_ra_Sub2_491.method5256(null);
			((Class47_Sub3) this).aClass_ra_Sub2_491.method5255(0);
			((Class47_Sub3) this).aClass28_6765.method404('\001');
			((Class47_Sub3) this).aBoolean6768 = false;
		} else
			((Class47_Sub3) this).aClass_ra_Sub2_491.method5286(0, 5890, 770);
		((Class47_Sub3) this).aClass_ra_Sub2_491.method5258(8448, 8448);
	}

	void method506(boolean bool) {
		if (((Class47_Sub3) this).aClass28_6765 != null && bool) {
			if (!((Class47_Sub3) this).aBoolean6766) {
				((Class47_Sub3) this).aClass_ra_Sub2_491.method5255(2);
				((Class47_Sub3) this).aClass_ra_Sub2_491
						.method5256(((Class_ra_Sub2) ((Class47_Sub3) this).aClass_ra_Sub2_491).aClass30_Sub2_8140);
				((Class47_Sub3) this).aClass_ra_Sub2_491.method5255(0);
			}
			((Class47_Sub3) this).aClass28_6765.method404('\0');
			((Class47_Sub3) this).aBoolean6768 = true;
		} else
			((Class47_Sub3) this).aClass_ra_Sub2_491.method5286(0, 34168, 770);
	}

	void method500(Class30 class30, int i) {
		((Class47_Sub3) this).aClass_ra_Sub2_491.method5256(class30);
		((Class47_Sub3) this).aClass_ra_Sub2_491.method5243(i);
	}

	void method514(Class30 class30, int i) {
		((Class47_Sub3) this).aClass_ra_Sub2_491.method5256(class30);
		((Class47_Sub3) this).aClass_ra_Sub2_491.method5243(i);
	}

	void method507(boolean bool) {
		if (((Class47_Sub3) this).aClass28_6765 != null && bool) {
			if (!((Class47_Sub3) this).aBoolean6766) {
				((Class47_Sub3) this).aClass_ra_Sub2_491.method5255(2);
				((Class47_Sub3) this).aClass_ra_Sub2_491
						.method5256(((Class_ra_Sub2) ((Class47_Sub3) this).aClass_ra_Sub2_491).aClass30_Sub2_8140);
				((Class47_Sub3) this).aClass_ra_Sub2_491.method5255(0);
			}
			((Class47_Sub3) this).aClass28_6765.method404('\0');
			((Class47_Sub3) this).aBoolean6768 = true;
		} else
			((Class47_Sub3) this).aClass_ra_Sub2_491.method5286(0, 34168, 770);
	}

	void method508(boolean bool) {
		((Class47_Sub3) this).aClass_ra_Sub2_491.method5258(8448, 7681);
	}

	void method509(boolean bool) {
		((Class47_Sub3) this).aClass_ra_Sub2_491.method5258(8448, 7681);
	}

	void method510(boolean bool) {
		((Class47_Sub3) this).aClass_ra_Sub2_491.method5258(8448, 7681);
	}

	void method511() {
		if (((Class47_Sub3) this).aBoolean6768) {
			if (!((Class47_Sub3) this).aBoolean6766) {
				((Class47_Sub3) this).aClass_ra_Sub2_491.method5255(2);
				((Class47_Sub3) this).aClass_ra_Sub2_491.method5256(null);
			}
			((Class47_Sub3) this).aClass_ra_Sub2_491.method5255(1);
			((Class47_Sub3) this).aClass_ra_Sub2_491.method5256(null);
			((Class47_Sub3) this).aClass_ra_Sub2_491.method5255(0);
			((Class47_Sub3) this).aClass28_6765.method404('\001');
			((Class47_Sub3) this).aBoolean6768 = false;
		} else
			((Class47_Sub3) this).aClass_ra_Sub2_491.method5286(0, 5890, 770);
		((Class47_Sub3) this).aClass_ra_Sub2_491.method5258(8448, 8448);
	}

	void method512() {
		if (((Class47_Sub3) this).aBoolean6768) {
			if (!((Class47_Sub3) this).aBoolean6766) {
				((Class47_Sub3) this).aClass_ra_Sub2_491.method5255(2);
				((Class47_Sub3) this).aClass_ra_Sub2_491.method5256(null);
			}
			((Class47_Sub3) this).aClass_ra_Sub2_491.method5255(1);
			((Class47_Sub3) this).aClass_ra_Sub2_491.method5256(null);
			((Class47_Sub3) this).aClass_ra_Sub2_491.method5255(0);
			((Class47_Sub3) this).aClass28_6765.method404('\001');
			((Class47_Sub3) this).aBoolean6768 = false;
		} else
			((Class47_Sub3) this).aClass_ra_Sub2_491.method5286(0, 5890, 770);
		((Class47_Sub3) this).aClass_ra_Sub2_491.method5258(8448, 8448);
	}

	Class47_Sub3(Class_ra_Sub2 class_ra_sub2) {
		super(class_ra_sub2);
		if (((Class_ra_Sub2) class_ra_sub2).aBoolean8178) {
			((Class47_Sub3) this).aBoolean6766 = ((Class_ra_Sub2) class_ra_sub2).anInt8165 < 3;
			int i = ((Class47_Sub3) this).aBoolean6766 ? 48 : 127;
			byte[][] is = new byte[6][4096];
			byte[][] is_2_ = new byte[6][4096];
			byte[][] is_3_ = new byte[6][4096];
			int i_4_ = 0;
			for (int i_5_ = 0; i_5_ < 64; i_5_++) {
				for (int i_6_ = 0; i_6_ < 64; i_6_++) {
					float f = 2.0F * (float) i_6_ / 64.0F - 1.0F;
					float f_7_ = 2.0F * (float) i_5_ / 64.0F - 1.0F;
					float f_8_ = (float) (1.0 / Math.sqrt((double) (f * f
							+ 1.0F + f_7_ * f_7_)));
					f *= f_8_;
					f_7_ *= f_8_;
					for (int i_9_ = 0; i_9_ < 6; i_9_++) {
						float f_10_;
						if (i_9_ == 0)
							f_10_ = -f;
						else if (i_9_ == 1)
							f_10_ = f;
						else if (i_9_ == 2)
							f_10_ = f_7_;
						else if (i_9_ == 3)
							f_10_ = -f_7_;
						else if (i_9_ == 4)
							f_10_ = -f_8_;
						else
							f_10_ = f_8_;
						int i_11_;
						int i_12_;
						int i_13_;
						if (f_10_ > 0.0F) {
							i_13_ = (int) (Math.pow((double) f_10_, 96.0) * (double) i);
							i_12_ = (int) (Math.pow((double) f_10_, 36.0) * (double) i);
							i_11_ = (int) (Math.pow((double) f_10_, 12.0) * (double) i);
						} else {
							i_11_ = 0;
							i_12_ = 0;
							i_13_ = 0;
						}
						is_2_[i_9_][i_4_] = (byte) i_13_;
						is_3_[i_9_][i_4_] = (byte) i_12_;
						is[i_9_][i_4_] = (byte) i_11_;
					}
					i_4_++;
				}
			}
			((Class47_Sub3) this).aClass30_Sub1Array6761 = new Class30_Sub1[3];
			((Class47_Sub3) this).aClass30_Sub1Array6761[0] = new Class30_Sub1(
					((Class47_Sub3) this).aClass_ra_Sub2_491,
					Class55.aClass55_567, Class77.aClass77_717, 64, false,
					is_2_, Class55.aClass55_567);
			((Class47_Sub3) this).aClass30_Sub1Array6761[1] = new Class30_Sub1(
					((Class47_Sub3) this).aClass_ra_Sub2_491,
					Class55.aClass55_567, Class77.aClass77_717, 64, false,
					is_3_, Class55.aClass55_567);
			((Class47_Sub3) this).aClass30_Sub1Array6761[2] = new Class30_Sub1(
					((Class47_Sub3) this).aClass_ra_Sub2_491,
					Class55.aClass55_567, Class77.aClass77_717, 64, false, is,
					Class55.aClass55_567);
			method521();
		}
	}

	void method513(int i, int i_14_) {
		if (((Class47_Sub3) this).aBoolean6768) {
			((Class47_Sub3) this).aClass_ra_Sub2_491.method5255(1);
			((Class47_Sub3) this).aClass_ra_Sub2_491
					.method5256(((Class47_Sub3) this).aClass30_Sub1Array6761[i - 1]);
			((Class47_Sub3) this).aClass_ra_Sub2_491.method5255(0);
		}
	}

	void method518(boolean bool) {
		((Class47_Sub3) this).aClass_ra_Sub2_491.method5258(8448, 7681);
	}

	void method521() {
		((Class47_Sub3) this).aClass28_6765 = new Class28(
				((Class47_Sub3) this).aClass_ra_Sub2_491, 2);
		((Class47_Sub3) this).aClass28_6765.method405(0);
		((Class47_Sub3) this).aClass_ra_Sub2_491.method5255(1);
		OpenGL.glTexGeni(8192, 9472, 34065);
		OpenGL.glTexGeni(8193, 9472, 34065);
		OpenGL.glTexGeni(8194, 9472, 34065);
		OpenGL.glEnable(3168);
		OpenGL.glEnable(3169);
		OpenGL.glEnable(3170);
		OpenGL.glMatrixMode(5890);
		OpenGL.glLoadIdentity();
		OpenGL.glRotatef(22.5F, 1.0F, 0.0F, 0.0F);
		OpenGL.glMatrixMode(5888);
		if (!((Class47_Sub3) this).aBoolean6766) {
			((Class47_Sub3) this).aClass_ra_Sub2_491.method5258(7681, 8448);
			((Class47_Sub3) this).aClass_ra_Sub2_491.method5259(0, 34168, 768);
			((Class47_Sub3) this).aClass_ra_Sub2_491.method5255(2);
			((Class47_Sub3) this).aClass_ra_Sub2_491.method5258(260, 7681);
			((Class47_Sub3) this).aClass_ra_Sub2_491.method5259(0, 34168, 768);
			((Class47_Sub3) this).aClass_ra_Sub2_491.method5259(1, 34168, 770);
			((Class47_Sub3) this).aClass_ra_Sub2_491.method5286(0, 34167, 770);
		} else {
			((Class47_Sub3) this).aClass_ra_Sub2_491.method5258(260, 7681);
			((Class47_Sub3) this).aClass_ra_Sub2_491.method5259(0, 5890, 770);
			((Class47_Sub3) this).aClass_ra_Sub2_491.method5286(0, 34167, 770);
		}
		((Class47_Sub3) this).aClass_ra_Sub2_491.method5255(0);
		((Class47_Sub3) this).aClass28_6765.method403();
		((Class47_Sub3) this).aClass28_6765.method405(1);
		((Class47_Sub3) this).aClass_ra_Sub2_491.method5255(1);
		OpenGL.glDisable(3168);
		OpenGL.glDisable(3169);
		OpenGL.glDisable(3170);
		OpenGL.glMatrixMode(5890);
		OpenGL.glLoadIdentity();
		OpenGL.glMatrixMode(5888);
		if (!((Class47_Sub3) this).aBoolean6766) {
			((Class47_Sub3) this).aClass_ra_Sub2_491.method5258(8448, 8448);
			((Class47_Sub3) this).aClass_ra_Sub2_491.method5259(0, 5890, 768);
			((Class47_Sub3) this).aClass_ra_Sub2_491.method5255(2);
			((Class47_Sub3) this).aClass_ra_Sub2_491.method5258(8448, 8448);
			((Class47_Sub3) this).aClass_ra_Sub2_491.method5259(0, 5890, 768);
			((Class47_Sub3) this).aClass_ra_Sub2_491.method5259(1, 34168, 768);
			((Class47_Sub3) this).aClass_ra_Sub2_491.method5286(0, 5890, 770);
		} else {
			((Class47_Sub3) this).aClass_ra_Sub2_491.method5258(8448, 8448);
			((Class47_Sub3) this).aClass_ra_Sub2_491.method5259(0, 5890, 768);
			((Class47_Sub3) this).aClass_ra_Sub2_491.method5286(0, 5890, 770);
		}
		((Class47_Sub3) this).aClass_ra_Sub2_491.method5255(0);
		((Class47_Sub3) this).aClass28_6765.method403();
	}

	void method517(int i, int i_15_) {
		if (((Class47_Sub3) this).aBoolean6768) {
			((Class47_Sub3) this).aClass_ra_Sub2_491.method5255(1);
			((Class47_Sub3) this).aClass_ra_Sub2_491
					.method5256(((Class47_Sub3) this).aClass30_Sub1Array6761[i - 1]);
			((Class47_Sub3) this).aClass_ra_Sub2_491.method5255(0);
		}
	}

	void method516(int i, int i_16_) {
		if (((Class47_Sub3) this).aBoolean6768) {
			((Class47_Sub3) this).aClass_ra_Sub2_491.method5255(1);
			((Class47_Sub3) this).aClass_ra_Sub2_491
					.method5256(((Class47_Sub3) this).aClass30_Sub1Array6761[i - 1]);
			((Class47_Sub3) this).aClass_ra_Sub2_491.method5255(0);
		}
	}

	void method502(int i, int i_17_) {
		if (((Class47_Sub3) this).aBoolean6768) {
			((Class47_Sub3) this).aClass_ra_Sub2_491.method5255(1);
			((Class47_Sub3) this).aClass_ra_Sub2_491
					.method5256(((Class47_Sub3) this).aClass30_Sub1Array6761[i - 1]);
			((Class47_Sub3) this).aClass_ra_Sub2_491.method5255(0);
		}
	}

	boolean method520() {
		return true;
	}
}
