/* Class84_Sub3 - Decompiled by JODE
 * Visit http://jode.sourceforge.net/
 */
import java.awt.Canvas;

import jaclib.memory.Buffer;
import jaclib.memory.Stream;
import jaclib.memory.heap.NativeHeap;

import jaggl.OpenGL;

public class Class84_Sub3 extends Class84 {
	Class413 aClass413_9291;
	static final float aFloat9292 = 0.35F;
	static final int anInt9293 = 0;
	static final int anInt9294 = 1;
	Class288 aClass288_9295;
	static final int anInt9296 = 4;
	static final int anInt9297 = 8;
	int anInt9298;
	static final int anInt9299 = 32;
	boolean aBool9300;
	static final int anInt9301 = 770;
	static final int anInt9302 = 5123;
	static final int anInt9303 = 1;
	static final int anInt9304 = 4;
	static final int anInt9305 = 7;
	static final int anInt9306 = 128;
	Class288 aClass288_9307;
	static final int anInt9308 = -2;
	static final int anInt9309 = 7681;
	static final int anInt9310 = 8448;
	byte[] aByteArray9311;
	static final int anInt9312 = 34023;
	boolean aBool9313;
	float[] aFloatArray9314;
	String aString9315;
	static final int anInt9316 = 5890;
	static final int anInt9317 = 34167;
	static final int anInt9318 = 34166;
	static final int anInt9319 = 100663296;
	float aFloat9320;
	static final int anInt9321 = 0;
	boolean aBool9322;
	static final int anInt9323 = 34165;
	static final int anInt9324 = 0;
	static final int anInt9325 = 1;
	static int anInt9326;
	int anInt9327;
	Class413 aClass413_9328;
	boolean aBool9329;
	static final int anInt9330 = 4;
	static final int anInt9331 = 8;
	static final int anInt9332 = 55;
	float[][] aFloatArrayArray9333;
	OpenGL anOpenGL9334;
	boolean aBool9335;
	Interface14 anInterface14_9336;
	Class137 aClass137_9337;
	Class147 aClass147_9338;
	Class587_Sub23_Sub1 aClass587_Sub23_Sub1_9339;
	Class143 aClass143_9340 = new Class143();
	Class288 aClass288_9341 = new Class288();
	Class288 aClass288_9342 = new Class288();
	Class346 aClass346_9343 = new Class346();
	Class145[] aClass145Array9344;
	int anInt9345;
	float aFloat9346;
	int anInt9347;
	int anInt9348;
	static final int anInt9349 = 768;
	Class413 aClass413_9350;
	int[] anIntArray9351;
	int anInt9352;
	int anInt9353;
	Class413 aClass413_9354;
	Class413 aClass413_9355;
	static final int anInt9356 = 7;
	Class145_Sub4 aClass145_Sub4_9357;
	Class413 aClass413_9358;
	Class413 aClass413_9359;
	Class413 aClass413_9360;
	float aFloat9361;
	float[] aFloatArray9362;
	static final int anInt9363 = 5121;
	int anInt9364;
	int anInt9365;
	boolean aBool9366;
	float aFloat9367;
	boolean aBool9368;
	boolean aBool9369;
	float aFloat9370;
	Class288 aClass288_9371;
	int[] anIntArray9372;
	static final int anInt9373 = -1;
	Class288 aClass288_9374;
	Class288 aClass288_9375;
	static final int anInt9376 = 2;
	float[] aFloatArray9377;
	int anInt9378;
	float aFloat9379;
	float aFloat9380;
	float aFloat9381;
	float aFloat9382;
	float[] aFloatArray9383;
	float aFloat9384;
	float aFloat9385;
	Class346 aClass346_9386;
	Interface9 anInterface9_9387;
	Class288 aClass288_9388;
	float[] aFloatArray9389;
	int anInt9390;
	boolean aBool9391;
	int anInt9392;
	int anInt9393;
	int anInt9394;
	int anInt9395;
	int anInt9396;
	int anInt9397;
	int anInt9398;
	int anInt9399;
	int anInt9400;
	int anInt9401;
	static final int anInt9402 = 2;
	boolean aBool9403;
	boolean aBool9404;
	NativeHeap aNativeHeap9405;
	Class161 aClass161_9406;
	Class346 aClass346_9407;
	float[] aFloatArray9408;
	int anInt9409;
	static final int anInt9410 = 2;
	float aFloat9411;
	boolean aBool9412;
	float aFloat9413;
	float aFloat9414;
	float aFloat9415;
	Class587_Sub12[] aClass587_Sub12Array9416;
	boolean aBool9417;
	int anInt9418;
	int anInt9419;
	int anInt9420;
	boolean aBool9421;
	int anInt9422;
	int anInt9423;
	int anInt9424;
	float aFloat9425;
	static final int anInt9426 = 2;
	float aFloat9427;
	boolean aBool9428;
	boolean aBool9429;
	boolean aBool9430;
	Class163_Sub1[] aClass163_Sub1Array9431;
	int anInt9432;
	boolean aBool9433;
	Class288 aClass288_9434;
	int anInt9435;
	static final int anInt9436 = 34479;
	int anInt9437;
	boolean aBool9438;
	int anInt9439;
	static final int anInt9440 = 34168;
	int anInt9441;
	Class159_Sub2 aClass159_Sub2_9442;
	Class145_Sub4_Sub1 aClass145_Sub4_Sub1_9443;
	static final int anInt9444 = 32993;
	static final int anInt9445 = 3;
	static final int anInt9446 = 260;
	int anInt9447;
	boolean aBool9448;
	boolean aBool9449;
	int anInt9450;
	static int[] anIntArray9451 = new int[1000];
	int anInt9452;
	boolean aBool9453;
	static final int anInt9454 = 16;
	int anInt9455;
	boolean aBool9456;
	String aString9457;
	Class138 aClass138_9458;
	boolean aBool9459;
	boolean aBool9460;
	boolean aBool9461;
	boolean aBool9462;
	boolean aBool9463;
	boolean aBool9464;
	float aFloat9465;
	boolean aBool9466;
	boolean aBool9467;
	long aLong9468;
	boolean aBool9469;
	int anInt9470;
	static final int anInt9471 = 1;
	float aFloat9472;
	Interface9 anInterface9_9473;
	Class163_Sub1[] aClass163_Sub1Array9474;
	Class171_Sub1_Sub3 aClass171_Sub1_Sub3_9475;
	Class152 aClass152_9476;
	Class152 aClass152_9477;
	static final int anInt9478 = 5126;
	static float[] aFloatArray9479;
	static float[] aFloatArray9480;
	Class587_Sub4_Sub2 aClass587_Sub4_Sub2_9481;
	Class98 aClass98_9482;
	int[] anIntArray9483;
	int anInt9484 = 8;
	float aFloat9485;

	static int method15389(Class172 class172) {
		switch (class172.anInt2143 * 1259837281) {
		case 0:
			return 6409;
		case 8:
			return 6410;
		case 5:
			return 6406;
		default:
			throw new IllegalStateException();
		case 9:
			return 6408;
		case 4:
			return 6407;
		case 7:
			return 6402;
		}
	}

	void method15390() {
		int i = 0;
		while (!((Class84_Sub3) this).anOpenGL9334.method3469()) {
			if (i++ > 5)
				throw new RuntimeException("");
			Class489.method11114(1000L);
		}
	}

	int method15391() {
		int i = 0;
		((Class84_Sub3) this).aString9315 = OpenGL.glGetString(7936).toLowerCase();
		((Class84_Sub3) this).aString9457 = OpenGL.glGetString(7937).toLowerCase();
		if (((Class84_Sub3) this).aString9315.indexOf("microsoft") != -1)
			i |= 0x1;
		if (((Class84_Sub3) this).aString9315.indexOf("brian paul") != -1 || ((Class84_Sub3) this).aString9315.indexOf("mesa") != -1)
			i |= 0x1;
		String string = OpenGL.glGetString(7938);
		String[] strings = Class490.method11125(string.replace('.', ' '), ' ', 1738526254);
		if (strings.length >= 2) {
			try {
				int i_0_ = Class508.method11501(strings[0], -1173681150);
				int i_1_ = Class508.method11501(strings[1], -1637373779);
				((Class84_Sub3) this).anInt9447 = i_0_ * 10 + i_1_;
			} catch (NumberFormatException numberformatexception) {
				i |= 0x4;
			}
		} else
			i |= 0x4;
		if (((Class84_Sub3) this).anInt9447 < 12)
			i |= 0x2;
		if (!((Class84_Sub3) this).anOpenGL9334.method3468("GL_ARB_multitexture"))
			i |= 0x8;
		if (!((Class84_Sub3) this).anOpenGL9334.method3468("GL_ARB_texture_env_combine"))
			i |= 0x20;
		int[] is = new int[1];
		OpenGL.glGetIntegerv(34018, is, 0);
		((Class84_Sub3) this).anInt9450 = is[0];
		OpenGL.glGetIntegerv(34929, is, 0);
		((Class84_Sub3) this).anInt9353 = is[0];
		OpenGL.glGetIntegerv(34930, is, 0);
		((Class84_Sub3) this).anInt9452 = is[0];
		if (((Class84_Sub3) this).anInt9450 < 2 || ((Class84_Sub3) this).anInt9353 < 2 || ((Class84_Sub3) this).anInt9452 < 2)
			i |= 0x10;
		((Class84_Sub3) this).aBool9448 = Stream.method3872();
		((Class84_Sub3) this).aBool9322 = ((Class84_Sub3) this).anOpenGL9334.method3468("GL_ARB_vertex_buffer_object");
		((Class84_Sub3) this).aBool9456 = ((Class84_Sub3) this).anOpenGL9334.method3468("GL_ARB_multisample");
		((Class84_Sub3) this).aBool9466 = ((Class84_Sub3) this).anOpenGL9334.method3468("GL_ARB_vertex_program");
		((Class84_Sub3) this).anOpenGL9334.method3468("GL_ARB_fragment_program");
		((Class84_Sub3) this).aBool9467 = ((Class84_Sub3) this).anOpenGL9334.method3468("GL_ARB_vertex_shader");
		((Class84_Sub3) this).aBool9368 = ((Class84_Sub3) this).anOpenGL9334.method3468("GL_ARB_fragment_shader");
		((Class84_Sub3) this).aBool9460 = ((Class84_Sub3) this).anOpenGL9334.method3468("GL_EXT_texture3D");
		((Class84_Sub3) this).aBool9463 = ((Class84_Sub3) this).anOpenGL9334.method3468("GL_ARB_texture_rectangle");
		((Class84_Sub3) this).aBool9461 = ((Class84_Sub3) this).anOpenGL9334.method3468("GL_ARB_texture_cube_map");
		((Class84_Sub3) this).aBool9433 = ((Class84_Sub3) this).anOpenGL9334.method3468("GL_ARB_seamless_cube_map");
		((Class84_Sub3) this).aBool9464 = ((Class84_Sub3) this).anOpenGL9334.method3468("GL_ARB_texture_float");
		((Class84_Sub3) this).aBool9428 = false;
		((Class84_Sub3) this).aBool9453 = ((Class84_Sub3) this).anOpenGL9334.method3468("GL_EXT_framebuffer_object");
		((Class84_Sub3) this).aBool9300 = ((Class84_Sub3) this).anOpenGL9334.method3468("GL_EXT_framebuffer_blit");
		((Class84_Sub3) this).aBool9417 = ((Class84_Sub3) this).anOpenGL9334.method3468("GL_EXT_framebuffer_multisample");
		((Class84_Sub3) this).aBool9313 = (((Class84_Sub3) this).aBool9300 & ((Class84_Sub3) this).aBool9417);
		((Class84_Sub3) this).aBool9449 = Class234.aString2730.startsWith("mac");
		OpenGL.glGetFloatv(2834, aFloatArray9479, 0);
		((Class84_Sub3) this).aFloat9472 = aFloatArray9479[0];
		((Class84_Sub3) this).aFloat9320 = aFloatArray9479[1];
		return i != 0 ? i : 0;
	}

	public final void method1917() {
		if (aClass171_1190 != null) {
			((Class84_Sub3) this).anInt9348 = 0;
			((Class84_Sub3) this).anInt9392 = 0;
			((Class84_Sub3) this).anInt9395 = aClass171_1190.method3754();
			((Class84_Sub3) this).anInt9393 = aClass171_1190.method3755();
			OpenGL.glDisable(3089);
		}
	}

	public void method2042(int i, int i_2_, int i_3_, int i_4_, int i_5_, int i_6_) {
		float f = (float) i + 0.35F;
		float f_7_ = (float) i_2_ + 0.35F;
		float f_8_ = f + (float) i_3_ - 1.0F;
		float f_9_ = f_7_ + (float) i_4_ - 1.0F;
		method15425();
		method15409(i_6_);
		OpenGL.glColor4ub((byte) (i_5_ >> 16), (byte) (i_5_ >> 8), (byte) i_5_, (byte) (i_5_ >> 24));
		if (((Class84_Sub3) this).aBool9456)
			OpenGL.glDisable(32925);
		OpenGL.glBegin(2);
		OpenGL.glVertex2f(f, f_7_);
		OpenGL.glVertex2f(f, f_9_);
		OpenGL.glVertex2f(f_8_, f_9_);
		OpenGL.glVertex2f(f_8_, f_7_);
		OpenGL.glEnd();
		if (((Class84_Sub3) this).aBool9456)
			OpenGL.glEnable(32925);
	}

	public void method2057(int i, int i_10_, int i_11_, int i_12_, int i_13_, int i_14_) {
		method15425();
		method15409(i_14_);
		float f = (float) i_11_ - (float) i;
		float f_15_ = (float) i_12_ - (float) i_10_;
		if (f == 0.0F && f_15_ == 0.0F)
			f = 1.0F;
		else {
			float f_16_ = (float) (1.0 / Math.sqrt((double) (f * f + f_15_ * f_15_)));
			f *= f_16_;
			f_15_ *= f_16_;
		}
		OpenGL.glColor4ub((byte) (i_13_ >> 16), (byte) (i_13_ >> 8), (byte) i_13_, (byte) (i_13_ >> 24));
		OpenGL.glBegin(1);
		OpenGL.glVertex2f((float) i + 0.35F, (float) i_10_ + 0.35F);
		OpenGL.glVertex2f((float) i_11_ + f + 0.35F, (float) i_12_ + f_15_ + 0.35F);
		OpenGL.glEnd();
	}

	final void method15392() {
		OpenGL.glPopMatrix();
	}

	public void method1873() {
		OpenGL.glFinish();
	}

	void method1875() {
		for (Class587 class587 = ((Class84_Sub3) this).aClass413_9350.method7361(1984766905); class587 != null; class587 = ((Class84_Sub3) this).aClass413_9350.method7344(-1318744939))
			((Class587_Sub25_Sub1) class587).method16542();
		if (((Class84_Sub3) this).aClass147_9338 != null)
			((Class84_Sub3) this).aClass147_9338.method3365();
		if (((Class84_Sub3) this).aBool9329) {
			Class530.method11767(false, true, (short) -8699);
			((Class84_Sub3) this).aBool9329 = false;
		}
	}

	public Class346 method1934() {
		return new Class346(((Class84_Sub3) this).aClass346_9407);
	}

	final void method15393(int i) {
		method15479(i, true);
	}

	public boolean method2171() {
		return true;
	}

	public boolean method1975() {
		return (((Class84_Sub3) this).aClass587_Sub23_Sub1_9339 != null && (((Class84_Sub3) this).anInt9432 <= 1 || ((Class84_Sub3) this).aBool9313));
	}

	public final void method1958(Class288 class288) {
		((Class84_Sub3) this).aClass288_9295.method5825(class288);
		method15419();
		method15454();
	}

	public boolean method1881() {
		return true;
	}

	public boolean method1999() {
		return (((Class84_Sub3) this).aBool9456 && (!method1972() || ((Class84_Sub3) this).aBool9313));
	}

	final void method15394(int i) {
		method15479(i, true);
	}

	boolean method15395() {
		return ((Class84_Sub3) this).aClass137_9337.method3176(3);
	}

	public boolean method1886() {
		return true;
	}

	public boolean method1940() {
		return false;
	}

	Class171_Sub2 method2090(Canvas canvas, int i, int i_17_) {
		return new Class171_Sub2_Sub1(this, canvas);
	}

	void method15396() {
		method15472();
	}

	public Interface7 method2162(int i, int i_18_) {
		return new Class587_Sub34_Sub17(this, Class172.aClass172_2152, Class96.aClass96_1388, i, i_18_);
	}

	public int[] method1902(int i, int i_19_, int i_20_, int i_21_) {
		if (aClass171_1190 != null) {
			int[] is = new int[i_20_ * i_21_];
			int i_22_ = aClass171_1190.method3755();
			for (int i_23_ = 0; i_23_ < i_21_; i_23_++)
				OpenGL.glReadPixelsi(i, i_22_ - i_19_ - i_23_ - 1, i_20_, 1, 32993, ((Class84_Sub3) this).anInt9470, is, i_23_ * i_20_);
			return is;
		}
		return null;
	}

	public void method1903() {
		if (((Class84_Sub3) this).aBool9469 && aClass171_1190 != null) {
			int i = ((Class84_Sub3) this).anInt9348;
			int i_24_ = ((Class84_Sub3) this).anInt9395;
			int i_25_ = ((Class84_Sub3) this).anInt9392;
			int i_26_ = ((Class84_Sub3) this).anInt9393;
			method1917();
			int i_27_ = ((Class84_Sub3) this).anInt9398;
			int i_28_ = ((Class84_Sub3) this).anInt9399;
			int i_29_ = ((Class84_Sub3) this).anInt9400;
			int i_30_ = ((Class84_Sub3) this).anInt9401;
			method1904();
			OpenGL.glReadBuffer(1028);
			OpenGL.glDrawBuffer(1029);
			method15543();
			method15449(false);
			method15489(false);
			method15484(false);
			method15451(false);
			method15440(null);
			method15393(-2);
			method15467(1);
			method15409(0);
			OpenGL.glMatrixMode(5889);
			OpenGL.glLoadIdentity();
			OpenGL.glOrtho(0.0, 1.0, 0.0, 1.0, -1.0, 1.0);
			OpenGL.glMatrixMode(5888);
			OpenGL.glLoadIdentity();
			OpenGL.glRasterPos2i(0, 0);
			OpenGL.glCopyPixels(0, 0, aClass171_1190.method3754(), aClass171_1190.method3755(), 6144);
			OpenGL.glFlush();
			OpenGL.glReadBuffer(1029);
			OpenGL.glDrawBuffer(1029);
			method1907(i, i_25_, i_24_, i_26_);
			method1905(i_27_, i_28_, i_29_, i_30_);
		}
	}

	public void method2027(float f, float f_31_) {
		((Class84_Sub3) this).aFloat9382 = f;
		((Class84_Sub3) this).aFloat9367 = f_31_;
		method15412();
	}

	public void method1974(int i, int i_32_, int i_33_, int i_34_, int i_35_, int i_36_) {
		float f = (float) i + 0.35F;
		float f_37_ = (float) i_32_ + 0.35F;
		float f_38_ = f + (float) i_33_ - 1.0F;
		float f_39_ = f_37_ + (float) i_34_ - 1.0F;
		method15425();
		method15409(i_36_);
		OpenGL.glColor4ub((byte) (i_35_ >> 16), (byte) (i_35_ >> 8), (byte) i_35_, (byte) (i_35_ >> 24));
		if (((Class84_Sub3) this).aBool9456)
			OpenGL.glDisable(32925);
		OpenGL.glBegin(2);
		OpenGL.glVertex2f(f, f_37_);
		OpenGL.glVertex2f(f, f_39_);
		OpenGL.glVertex2f(f_38_, f_39_);
		OpenGL.glVertex2f(f_38_, f_37_);
		OpenGL.glEnd();
		if (((Class84_Sub3) this).aBool9456)
			OpenGL.glEnable(32925);
	}

	final void method15397(float f, float f_40_) {
		((Class84_Sub3) this).aFloat9427 = f;
		((Class84_Sub3) this).aFloat9485 = f_40_;
		method15536();
	}

	public void method1921(int i, int i_41_, int i_42_, int i_43_, int i_44_, int i_45_, byte[] is, int i_46_, int i_47_) {
		float f;
		float f_48_;
		if (((Class84_Sub3) this).aClass145_Sub4_Sub1_9443 == null || (((Class145_Sub4_Sub1) ((Class84_Sub3) this).aClass145_Sub4_Sub1_9443).anInt10271 < i_42_) || (((Class145_Sub4_Sub1) ((Class84_Sub3) this).aClass145_Sub4_Sub1_9443).anInt10272 < i_43_)) {
			((Class84_Sub3) this).aClass145_Sub4_Sub1_9443 = Class145_Sub4_Sub1.method16670(this, Class172.aClass172_2144, Class96.aClass96_1386, i_42_, i_43_, false, is, Class172.aClass172_2144);
			((Class84_Sub3) this).aClass145_Sub4_Sub1_9443.method16492(false, false);
			f = ((Class145_Sub4_Sub1) ((Class84_Sub3) this).aClass145_Sub4_Sub1_9443).aFloat10448;
			f_48_ = ((Class145_Sub4_Sub1) ((Class84_Sub3) this).aClass145_Sub4_Sub1_9443).aFloat10447;
		} else {
			((Class84_Sub3) this).aClass145_Sub4_Sub1_9443.method16493(0, 0, i_42_, i_43_, is, Class172.aClass172_2144, 0, 0, false);
			f = (((Class145_Sub4_Sub1) ((Class84_Sub3) this).aClass145_Sub4_Sub1_9443).aFloat10448 * (float) i_43_ / (float) (((Class145_Sub4_Sub1) ((Class84_Sub3) this).aClass145_Sub4_Sub1_9443).anInt10272));
			f_48_ = (((Class145_Sub4_Sub1) ((Class84_Sub3) this).aClass145_Sub4_Sub1_9443).aFloat10447 * (float) i_42_ / (float) (((Class145_Sub4_Sub1) ((Class84_Sub3) this).aClass145_Sub4_Sub1_9443).anInt10271));
		}
		method15435();
		method15440(((Class84_Sub3) this).aClass145_Sub4_Sub1_9443);
		method15409(i_47_);
		OpenGL.glColor4ub((byte) (i_44_ >> 16), (byte) (i_44_ >> 8), (byte) i_44_, (byte) (i_44_ >> 24));
		method15476(i_45_);
		method15443(34165, 34165);
		method15444(0, 34166, 768);
		method15444(2, 5890, 770);
		method15445(0, 34166, 770);
		method15445(2, 5890, 770);
		float f_49_ = (float) i;
		float f_50_ = (float) i_41_;
		float f_51_ = f_49_ + (float) i_42_;
		float f_52_ = f_50_ + (float) i_43_;
		OpenGL.glBegin(7);
		OpenGL.glTexCoord2f(0.0F, 0.0F);
		OpenGL.glVertex2f(f_49_, f_50_);
		OpenGL.glTexCoord2f(0.0F, f_48_);
		OpenGL.glVertex2f(f_49_, f_52_);
		OpenGL.glTexCoord2f(f, f_48_);
		OpenGL.glVertex2f(f_51_, f_52_);
		OpenGL.glTexCoord2f(f, 0.0F);
		OpenGL.glVertex2f(f_51_, f_50_);
		OpenGL.glEnd();
		method15444(0, 5890, 768);
		method15444(2, 34166, 770);
		method15445(0, 5890, 770);
		method15445(2, 34166, 770);
	}

	final void method15398(boolean bool) {
		if (bool != ((Class84_Sub3) this).aBool9335) {
			if (bool)
				OpenGL.glEnable(2929);
			else
				OpenGL.glDisable(2929);
			((Class84_Sub3) this).aBool9335 = bool;
			((Class84_Sub3) this).anInt9378 &= ~0xf;
		}
	}

	void method2137(int i, int i_53_, int i_54_, int i_55_, int i_56_) {
		if (i_54_ < 0)
			i_54_ = -i_54_;
		if (i + i_54_ >= ((Class84_Sub3) this).anInt9348 && i - i_54_ <= ((Class84_Sub3) this).anInt9395 && i_53_ + i_54_ >= ((Class84_Sub3) this).anInt9392 && i_53_ - i_54_ <= ((Class84_Sub3) this).anInt9393) {
			method15425();
			method15409(i_56_);
			OpenGL.glColor4ub((byte) (i_55_ >> 16), (byte) (i_55_ >> 8), (byte) i_55_, (byte) (i_55_ >> 24));
			float f = (float) i + 0.35F;
			float f_57_ = (float) i_53_ + 0.35F;
			int i_58_ = i_54_ << 1;
			if ((float) i_58_ < ((Class84_Sub3) this).aFloat9472) {
				OpenGL.glBegin(7);
				OpenGL.glVertex2f(f + 1.0F, f_57_ + 1.0F);
				OpenGL.glVertex2f(f + 1.0F, f_57_ - 1.0F);
				OpenGL.glVertex2f(f - 1.0F, f_57_ - 1.0F);
				OpenGL.glVertex2f(f - 1.0F, f_57_ + 1.0F);
				OpenGL.glEnd();
			} else if ((float) i_58_ <= ((Class84_Sub3) this).aFloat9320) {
				OpenGL.glEnable(2832);
				OpenGL.glPointSize((float) i_58_);
				OpenGL.glBegin(0);
				OpenGL.glVertex2f(f, f_57_);
				OpenGL.glEnd();
				OpenGL.glDisable(2832);
			} else {
				OpenGL.glBegin(6);
				OpenGL.glVertex2f(f, f_57_);
				int i_59_ = 262144 / (6 * i_54_);
				if (i_59_ <= 64)
					i_59_ = 64;
				else if (i_59_ > 512)
					i_59_ = 512;
				i_59_ = Class410_Sub1.method14173(i_59_, -1567408204);
				OpenGL.glVertex2f(f + (float) i_54_, f_57_);
				for (int i_60_ = 16384 - i_59_; i_60_ > 0; i_60_ -= i_59_)
					OpenGL.glVertex2f(f + (Class136.aFloatArray1738[i_60_] * (float) i_54_), f_57_ + (Class136.aFloatArray1739[i_60_] * (float) i_54_));
				OpenGL.glVertex2f(f + (float) i_54_, f_57_);
				OpenGL.glEnd();
			}
		}
	}

	public void method1924(int i, int i_61_, int i_62_, int i_63_, int i_64_) {
		method15425();
		method15409(i_64_);
		float f = (float) i + 0.35F;
		float f_65_ = (float) i_61_ + 0.35F;
		OpenGL.glColor4ub((byte) (i_63_ >> 16), (byte) (i_63_ >> 8), (byte) i_63_, (byte) (i_63_ >> 24));
		OpenGL.glBegin(1);
		OpenGL.glVertex2f(f, f_65_);
		OpenGL.glVertex2f(f + (float) i_62_, f_65_);
		OpenGL.glEnd();
	}

	public Interface11 method2085(int i, int i_66_, Class172 class172, Class96 class96, int i_67_) {
		return new Class587_Sub34_Sub17(this, class172, class96, i, i_66_, i_67_);
	}

	public void method1913(int i, int i_68_, int i_69_, int i_70_, int i_71_, int i_72_) {
		method15425();
		method15409(i_72_);
		float f = (float) i_69_ - (float) i;
		float f_73_ = (float) i_70_ - (float) i_68_;
		if (f == 0.0F && f_73_ == 0.0F)
			f = 1.0F;
		else {
			float f_74_ = (float) (1.0 / Math.sqrt((double) (f * f + f_73_ * f_73_)));
			f *= f_74_;
			f_73_ *= f_74_;
		}
		OpenGL.glColor4ub((byte) (i_71_ >> 16), (byte) (i_71_ >> 8), (byte) i_71_, (byte) (i_71_ >> 24));
		OpenGL.glBegin(1);
		OpenGL.glVertex2f((float) i + 0.35F, (float) i_68_ + 0.35F);
		OpenGL.glVertex2f((float) i_69_ + f + 0.35F, (float) i_70_ + f_73_ + 0.35F);
		OpenGL.glEnd();
	}

	public void method1928(int i, int i_75_, int i_76_, int i_77_, int i_78_, int i_79_, int i_80_, int i_81_, int i_82_) {
		if (i != i_76_ || i_75_ != i_77_) {
			method15425();
			method15409(i_79_);
			float f = (float) i_76_ - (float) i;
			float f_83_ = (float) i_77_ - (float) i_75_;
			float f_84_ = (float) (1.0 / Math.sqrt((double) (f * f + f_83_ * f_83_)));
			f *= f_84_;
			f_83_ *= f_84_;
			OpenGL.glColor4ub((byte) (i_78_ >> 16), (byte) (i_78_ >> 8), (byte) i_78_, (byte) (i_78_ >> 24));
			i_82_ %= i_81_ + i_80_;
			float f_85_ = f * (float) i_80_;
			float f_86_ = f_83_ * (float) i_80_;
			float f_87_ = 0.0F;
			float f_88_ = 0.0F;
			float f_89_ = f_85_;
			float f_90_ = f_86_;
			if (i_82_ > i_80_) {
				f_87_ = f * (float) (i_80_ + i_81_ - i_82_);
				f_88_ = f_83_ * (float) (i_80_ + i_81_ - i_82_);
			} else {
				f_89_ = f * (float) (i_80_ - i_82_);
				f_90_ = f_83_ * (float) (i_80_ - i_82_);
			}
			float f_91_ = (float) i + 0.35F + f_87_;
			float f_92_ = (float) i_75_ + 0.35F + f_88_;
			float f_93_ = f * (float) i_81_;
			float f_94_ = f_83_ * (float) i_81_;
			for (;;) {
				if (i_76_ > i) {
					if (f_91_ > (float) i_76_ + 0.35F)
						break;
					if (f_91_ + f_89_ > (float) i_76_)
						f_89_ = (float) i_76_ - f_91_;
				} else {
					if (f_91_ < (float) i_76_ + 0.35F)
						break;
					if (f_91_ + f_89_ < (float) i_76_)
						f_89_ = (float) i_76_ - f_91_;
				}
				if (i_77_ > i_75_) {
					if (f_92_ > (float) i_77_ + 0.35F)
						break;
					if (f_92_ + f_90_ > (float) i_77_)
						f_90_ = (float) i_77_ - f_92_;
				} else {
					if (f_92_ < (float) i_77_ + 0.35F)
						break;
					if (f_92_ + f_90_ < (float) i_77_)
						f_90_ = (float) i_77_ - f_92_;
				}
				OpenGL.glBegin(1);
				OpenGL.glVertex2f(f_91_, f_92_);
				OpenGL.glVertex2f(f_91_ + f_89_, f_92_ + f_90_);
				OpenGL.glEnd();
				f_91_ += f_93_ + f_89_;
				f_92_ += f_94_ + f_90_;
				f_89_ = f_85_;
				f_90_ = f_86_;
			}
		}
	}

	public void method1927(int i, int i_95_, int i_96_, int i_97_, int i_98_, int i_99_, Class134 class134, int i_100_, int i_101_) {
		Class134_Sub3 class134_sub3 = (Class134_Sub3) class134;
		Class145_Sub4_Sub1 class145_sub4_sub1 = ((Class134_Sub3) class134_sub3).aClass145_Sub4_Sub1_9608;
		method15435();
		method15440(((Class134_Sub3) class134_sub3).aClass145_Sub4_Sub1_9608);
		method15409(i_99_);
		method15443(7681, 8448);
		method15444(0, 34167, 768);
		float f = (((Class145_Sub4_Sub1) class145_sub4_sub1).aFloat10447 / (float) ((Class145_Sub4_Sub1) class145_sub4_sub1).anInt10449);
		float f_102_ = (((Class145_Sub4_Sub1) class145_sub4_sub1).aFloat10448 / (float) ((Class145_Sub4_Sub1) class145_sub4_sub1).anInt10446);
		float f_103_ = (float) i_96_ - (float) i;
		float f_104_ = (float) i_97_ - (float) i_95_;
		float f_105_ = (float) (1.0 / Math.sqrt((double) (f_103_ * f_103_ + f_104_ * f_104_)));
		f_103_ *= f_105_;
		f_104_ *= f_105_;
		OpenGL.glColor4ub((byte) (i_98_ >> 16), (byte) (i_98_ >> 8), (byte) i_98_, (byte) (i_98_ >> 24));
		OpenGL.glBegin(1);
		OpenGL.glTexCoord2f(f * (float) (i - i_100_), f_102_ * (float) (i_95_ - i_101_));
		OpenGL.glVertex2f((float) i + 0.35F, (float) i_95_ + 0.35F);
		OpenGL.glTexCoord2f(f * (float) (i_96_ - i_100_), f_102_ * (float) (i_97_ - i_101_));
		OpenGL.glVertex2f((float) i_96_ + f_103_ + 0.35F, (float) i_97_ + f_104_ + 0.35F);
		OpenGL.glEnd();
		method15444(0, 5890, 768);
	}

	public void method1953(int i, int i_106_, int i_107_, int i_108_, int i_109_, int i_110_, Class134 class134, int i_111_, int i_112_, int i_113_, int i_114_, int i_115_) {
		if (i != i_107_ || i_106_ != i_108_) {
			Class134_Sub3 class134_sub3 = (Class134_Sub3) class134;
			Class145_Sub4_Sub1 class145_sub4_sub1 = ((Class134_Sub3) class134_sub3).aClass145_Sub4_Sub1_9608;
			method15435();
			method15440(((Class134_Sub3) class134_sub3).aClass145_Sub4_Sub1_9608);
			method15409(i_110_);
			method15443(7681, 8448);
			method15444(0, 34167, 768);
			float f = (((Class145_Sub4_Sub1) class145_sub4_sub1).aFloat10447 / (float) (((Class145_Sub4_Sub1) class145_sub4_sub1).anInt10449));
			float f_116_ = (((Class145_Sub4_Sub1) class145_sub4_sub1).aFloat10448 / (float) (((Class145_Sub4_Sub1) class145_sub4_sub1).anInt10446));
			float f_117_ = (float) i_107_ - (float) i;
			float f_118_ = (float) i_108_ - (float) i_106_;
			float f_119_ = (float) (1.0 / Math.sqrt((double) (f_117_ * f_117_ + f_118_ * f_118_)));
			f_117_ *= f_119_;
			f_118_ *= f_119_;
			OpenGL.glColor4ub((byte) (i_109_ >> 16), (byte) (i_109_ >> 8), (byte) i_109_, (byte) (i_109_ >> 24));
			i_115_ %= i_114_ + i_113_;
			float f_120_ = f_117_ * (float) i_113_;
			float f_121_ = f_118_ * (float) i_113_;
			float f_122_ = 0.0F;
			float f_123_ = 0.0F;
			float f_124_ = f_120_;
			float f_125_ = f_121_;
			if (i_115_ > i_113_) {
				f_122_ = f_117_ * (float) (i_113_ + i_114_ - i_115_);
				f_123_ = f_118_ * (float) (i_113_ + i_114_ - i_115_);
			} else {
				f_124_ = f_117_ * (float) (i_113_ - i_115_);
				f_125_ = f_118_ * (float) (i_113_ - i_115_);
			}
			float f_126_ = (float) i + 0.35F + f_122_;
			float f_127_ = (float) i_106_ + 0.35F + f_123_;
			float f_128_ = f_117_ * (float) i_114_;
			float f_129_ = f_118_ * (float) i_114_;
			for (;;) {
				if (i_107_ > i) {
					if (f_126_ > (float) i_107_ + 0.35F)
						break;
					if (f_126_ + f_124_ > (float) i_107_)
						f_124_ = (float) i_107_ - f_126_;
				} else {
					if (f_126_ < (float) i_107_ + 0.35F)
						break;
					if (f_126_ + f_124_ < (float) i_107_)
						f_124_ = (float) i_107_ - f_126_;
				}
				if (i_108_ > i_106_) {
					if (f_127_ > (float) i_108_ + 0.35F)
						break;
					if (f_127_ + f_125_ > (float) i_108_)
						f_125_ = (float) i_108_ - f_127_;
				} else {
					if (f_127_ < (float) i_108_ + 0.35F)
						break;
					if (f_127_ + f_125_ < (float) i_108_)
						f_125_ = (float) i_108_ - f_127_;
				}
				OpenGL.glBegin(1);
				OpenGL.glTexCoord2f(f * (f_126_ - (float) i_111_), f_116_ * (f_127_ - (float) i_112_));
				OpenGL.glVertex2f(f_126_, f_127_);
				OpenGL.glTexCoord2f(f * (f_126_ + f_124_ - (float) i_111_), f_116_ * (f_127_ + f_125_ - (float) i_112_));
				OpenGL.glVertex2f(f_126_ + f_124_, f_127_ + f_125_);
				OpenGL.glEnd();
				f_126_ += f_128_ + f_124_;
				f_127_ += f_129_ + f_125_;
				f_124_ = f_120_;
				f_125_ = f_121_;
			}
			method15444(0, 5890, 768);
		}
	}

	public void method2212(int i, int i_130_, int i_131_, int i_132_, int i_133_, int i_134_, int i_135_) {
		OpenGL.glLineWidth((float) i_134_);
		method1913(i, i_130_, i_131_, i_132_, i_133_, i_135_);
		OpenGL.glLineWidth(1.0F);
	}

	public void method1981(float f, float f_136_, float f_137_, float[] fs) {
		float f_138_ = (((Class84_Sub3) this).aClass288_9375.aFloatArray4285[15] + ((Class84_Sub3) this).aClass288_9375.aFloatArray4285[3] * f + (((Class84_Sub3) this).aClass288_9375.aFloatArray4285[7] * f_136_) + (((Class84_Sub3) this).aClass288_9375.aFloatArray4285[11] * f_137_));
		float f_139_ = (((Class84_Sub3) this).aClass288_9375.aFloatArray4285[12] + ((Class84_Sub3) this).aClass288_9375.aFloatArray4285[0] * f + (((Class84_Sub3) this).aClass288_9375.aFloatArray4285[4] * f_136_) + (((Class84_Sub3) this).aClass288_9375.aFloatArray4285[8] * f_137_));
		float f_140_ = (((Class84_Sub3) this).aClass288_9375.aFloatArray4285[13] + ((Class84_Sub3) this).aClass288_9375.aFloatArray4285[1] * f + (((Class84_Sub3) this).aClass288_9375.aFloatArray4285[5] * f_136_) + (((Class84_Sub3) this).aClass288_9375.aFloatArray4285[9] * f_137_));
		float f_141_ = (((Class84_Sub3) this).aClass288_9371.aFloatArray4285[14] + ((Class84_Sub3) this).aClass288_9371.aFloatArray4285[2] * f + (((Class84_Sub3) this).aClass288_9371.aFloatArray4285[6] * f_136_) + (((Class84_Sub3) this).aClass288_9371.aFloatArray4285[10] * f_137_));
		fs[0] = (((Class84_Sub3) this).aFloat9361 + ((Class84_Sub3) this).aFloat9379 * f_139_ / f_138_);
		fs[1] = (((Class84_Sub3) this).aFloat9380 + ((Class84_Sub3) this).aFloat9381 * f_140_ / f_138_);
		fs[2] = f_141_;
	}

	public void method1980(float f, float f_142_, float f_143_, float[] fs) {
		float f_144_ = (((Class84_Sub3) this).aClass288_9375.aFloatArray4285[14] + ((Class84_Sub3) this).aClass288_9375.aFloatArray4285[2] * f + (((Class84_Sub3) this).aClass288_9375.aFloatArray4285[6] * f_142_) + (((Class84_Sub3) this).aClass288_9375.aFloatArray4285[10] * f_143_));
		float f_145_ = (((Class84_Sub3) this).aClass288_9375.aFloatArray4285[15] + ((Class84_Sub3) this).aClass288_9375.aFloatArray4285[3] * f + (((Class84_Sub3) this).aClass288_9375.aFloatArray4285[7] * f_142_) + (((Class84_Sub3) this).aClass288_9375.aFloatArray4285[11] * f_143_));
		if (f_144_ < -f_145_ || f_144_ > f_145_) {
			float[] fs_146_ = fs;
			float[] fs_147_ = fs;
			fs[2] = Float.NaN;
			fs_147_[1] = Float.NaN;
			fs_146_[0] = Float.NaN;
		} else {
			float f_148_ = (((Class84_Sub3) this).aClass288_9375.aFloatArray4285[12] + (((Class84_Sub3) this).aClass288_9375.aFloatArray4285[0] * f) + (((Class84_Sub3) this).aClass288_9375.aFloatArray4285[4] * f_142_) + (((Class84_Sub3) this).aClass288_9375.aFloatArray4285[8] * f_143_));
			if (f_148_ < -f_145_ || f_148_ > f_145_) {
				float[] fs_149_ = fs;
				float[] fs_150_ = fs;
				fs[2] = Float.NaN;
				fs_150_[1] = Float.NaN;
				fs_149_[0] = Float.NaN;
			} else {
				float f_151_ = (((Class84_Sub3) this).aClass288_9375.aFloatArray4285[13] + (((Class84_Sub3) this).aClass288_9375.aFloatArray4285[1]) * f + (((Class84_Sub3) this).aClass288_9375.aFloatArray4285[5]) * f_142_ + (((Class84_Sub3) this).aClass288_9375.aFloatArray4285[9]) * f_143_);
				if (f_151_ < -f_145_ || f_151_ > f_145_) {
					float[] fs_152_ = fs;
					float[] fs_153_ = fs;
					fs[2] = Float.NaN;
					fs_153_[1] = Float.NaN;
					fs_152_[0] = Float.NaN;
				} else {
					float f_154_ = ((((Class84_Sub3) this).aClass288_9371.aFloatArray4285[14]) + (((Class84_Sub3) this).aClass288_9371.aFloatArray4285[2]) * f + (((Class84_Sub3) this).aClass288_9371.aFloatArray4285[6]) * f_142_ + (((Class84_Sub3) this).aClass288_9371.aFloatArray4285[10]) * f_143_);
					fs[0] = (((Class84_Sub3) this).aFloat9361 + (((Class84_Sub3) this).aFloat9379 * f_148_ / f_145_));
					fs[1] = (((Class84_Sub3) this).aFloat9380 + (((Class84_Sub3) this).aFloat9381 * f_151_ / f_145_));
					fs[2] = f_154_;
				}
			}
		}
	}

	public int method1931(int i, int i_155_, int i_156_, int i_157_, int i_158_, int i_159_) {
		int i_160_ = 0;
		float f = (((Class84_Sub3) this).aClass288_9375.aFloatArray4285[14] + (((Class84_Sub3) this).aClass288_9375.aFloatArray4285[2] * (float) i) + (((Class84_Sub3) this).aClass288_9375.aFloatArray4285[6] * (float) i_155_) + (((Class84_Sub3) this).aClass288_9375.aFloatArray4285[10] * (float) i_156_));
		float f_161_ = (((Class84_Sub3) this).aClass288_9375.aFloatArray4285[14] + (((Class84_Sub3) this).aClass288_9375.aFloatArray4285[2] * (float) i_157_) + (((Class84_Sub3) this).aClass288_9375.aFloatArray4285[6] * (float) i_158_) + (((Class84_Sub3) this).aClass288_9375.aFloatArray4285[10] * (float) i_159_));
		float f_162_ = (((Class84_Sub3) this).aClass288_9375.aFloatArray4285[15] + (((Class84_Sub3) this).aClass288_9375.aFloatArray4285[3] * (float) i) + (((Class84_Sub3) this).aClass288_9375.aFloatArray4285[7] * (float) i_155_) + (((Class84_Sub3) this).aClass288_9375.aFloatArray4285[11] * (float) i_156_));
		float f_163_ = (((Class84_Sub3) this).aClass288_9375.aFloatArray4285[15] + (((Class84_Sub3) this).aClass288_9375.aFloatArray4285[3] * (float) i_157_) + (((Class84_Sub3) this).aClass288_9375.aFloatArray4285[7] * (float) i_158_) + (((Class84_Sub3) this).aClass288_9375.aFloatArray4285[11] * (float) i_159_));
		if (f < -f_162_ && f_161_ < -f_163_)
			i_160_ |= 0x10;
		else if (f > f_162_ && f_161_ > f_163_)
			i_160_ |= 0x20;
		float f_164_ = (((Class84_Sub3) this).aClass288_9375.aFloatArray4285[12] + (((Class84_Sub3) this).aClass288_9375.aFloatArray4285[0] * (float) i) + (((Class84_Sub3) this).aClass288_9375.aFloatArray4285[4] * (float) i_155_) + (((Class84_Sub3) this).aClass288_9375.aFloatArray4285[8] * (float) i_156_));
		float f_165_ = (((Class84_Sub3) this).aClass288_9375.aFloatArray4285[12] + (((Class84_Sub3) this).aClass288_9375.aFloatArray4285[0] * (float) i_157_) + (((Class84_Sub3) this).aClass288_9375.aFloatArray4285[4] * (float) i_158_) + (((Class84_Sub3) this).aClass288_9375.aFloatArray4285[8] * (float) i_159_));
		if (f_164_ < -f_162_ && f_165_ < -f_163_)
			i_160_ |= 0x1;
		if (f_164_ > f_162_ && f_165_ > f_163_)
			i_160_ |= 0x2;
		float f_166_ = (((Class84_Sub3) this).aClass288_9375.aFloatArray4285[13] + (((Class84_Sub3) this).aClass288_9375.aFloatArray4285[1] * (float) i) + (((Class84_Sub3) this).aClass288_9375.aFloatArray4285[5] * (float) i_155_) + (((Class84_Sub3) this).aClass288_9375.aFloatArray4285[9] * (float) i_156_));
		float f_167_ = (((Class84_Sub3) this).aClass288_9375.aFloatArray4285[13] + (((Class84_Sub3) this).aClass288_9375.aFloatArray4285[1] * (float) i_157_) + (((Class84_Sub3) this).aClass288_9375.aFloatArray4285[5] * (float) i_158_) + (((Class84_Sub3) this).aClass288_9375.aFloatArray4285[9] * (float) i_159_));
		if (f_166_ < -f_162_ && f_167_ < -f_163_)
			i_160_ |= 0x4;
		if (f_166_ > f_162_ && f_167_ > f_163_)
			i_160_ |= 0x8;
		return i_160_;
	}

	void method15399() {
		int i;
		for (i = 0; i < ((Class84_Sub3) this).anInt9418; i++) {
			Class587_Sub12 class587_sub12 = ((Class84_Sub3) this).aClass587_Sub12Array9416[i];
			int i_168_ = 16386 + i;
			aFloatArray9480[0] = (float) class587_sub12.method15725((byte) 74);
			aFloatArray9480[1] = (float) class587_sub12.method15726(1401057828);
			aFloatArray9480[2] = (float) class587_sub12.method15747(1690425554);
			aFloatArray9480[3] = 1.0F;
			OpenGL.glLightfv(i_168_, 4611, aFloatArray9480, 0);
			int i_169_ = class587_sub12.method15729(-1800180257);
			float f = class587_sub12.method15742(1740765737) / 255.0F;
			aFloatArray9480[0] = (float) (i_169_ >> 16 & 0xff) * f;
			aFloatArray9480[1] = (float) (i_169_ >> 8 & 0xff) * f;
			aFloatArray9480[2] = (float) (i_169_ & 0xff) * f;
			OpenGL.glLightfv(i_168_, 4609, aFloatArray9480, 0);
			OpenGL.glLightf(i_168_, 4617, (1.0F / (float) (class587_sub12.method15728(-1676634181) * class587_sub12.method15728(-1325791213))));
			OpenGL.glEnable(i_168_);
		}
		for (/**/; i < ((Class84_Sub3) this).anInt9298; i++)
			OpenGL.glDisable(16386 + i);
		((Class84_Sub3) this).anInt9298 = ((Class84_Sub3) this).anInt9418;
	}

	final Interface9 method15400(int i, byte[] is, int i_170_, boolean bool) {
		if (((Class84_Sub3) this).aBool9322 && (!bool || ((Class84_Sub3) this).aBool9459))
			return new Class155_Sub1(this, i, is, i_170_, bool);
		return new Class156_Sub2(this, i, is, i_170_);
	}

	public Interface7 method2247(int i, int i_171_) {
		return new Class587_Sub34_Sub17(this, Class172.aClass172_2152, Class96.aClass96_1388, i, i_171_);
	}

	final Class145_Sub1 method15401() {
		return (((Class84_Sub3) this).aClass159_Sub2_9442 != null ? ((Class84_Sub3) this).aClass159_Sub2_9442.method15376() : null);
	}

	public Class135 method1936(int[] is, int i, int i_172_, int i_173_, int i_174_, boolean bool) {
		return new Class135_Sub1(this, i_173_, i_174_, is, i, i_172_);
	}

	public final void method2036(int[] is) {
		is[0] = ((Class84_Sub3) this).anInt9348;
		is[1] = ((Class84_Sub3) this).anInt9392;
		is[2] = ((Class84_Sub3) this).anInt9395;
		is[3] = ((Class84_Sub3) this).anInt9393;
	}

	final void method15402(Interface14 interface14) {
		if (((Class84_Sub3) this).anInterface14_9336 != interface14) {
			if (((Class84_Sub3) this).aBool9322)
				OpenGL.glBindBufferARB(34963, interface14.method51());
			((Class84_Sub3) this).anInterface14_9336 = interface14;
		}
	}

	static int method15403(Class172 class172) {
		switch (class172.anInt2143 * 1259837281) {
		case 0:
			return 6409;
		case 8:
			return 6410;
		case 5:
			return 6406;
		default:
			throw new IllegalStateException();
		case 9:
			return 6408;
		case 4:
			return 6407;
		case 7:
			return 6402;
		}
	}

	public Class106 method1945(Class611 class611, Class100_Sub1[] class100_sub1s, boolean bool) {
		return new Class106_Sub1(this, class611, class100_sub1s, bool);
	}

	public void method1948(int i) {
		/* empty */
	}

	public Class163 method1949(Class94 class94, int i, int i_175_, int i_176_, int i_177_) {
		return new Class163_Sub1(this, class94, i, i_176_, i_177_, i_175_);
	}

	public int method2149(int i, int i_178_) {
		return i & i_178_ ^ i_178_;
	}

	public int method1951(int i, int i_179_) {
		return i | i_179_;
	}

	public Class176 method2220(int i, int i_180_, int[][] is, int[][] is_181_, int i_182_, int i_183_, int i_184_) {
		return new Class176_Sub1(this, i_183_, i_184_, i, i_180_, is, is_181_, i_182_);
	}

	public void method1978(int i, Class98 class98) {
		if (!((Class84_Sub3) this).aBool9429)
			throw new RuntimeException("");
		((Class84_Sub3) this).anInt9394 = i;
		((Class84_Sub3) this).aClass98_9482 = class98;
		if (((Class84_Sub3) this).aBool9430) {
			((Class137) ((Class84_Sub3) this).aClass137_9337).aClass150_Sub4_1740.method16454();
			((Class137) ((Class84_Sub3) this).aClass137_9337).aClass150_Sub4_1740.method16455();
		}
	}

	public void method2083(int i, Class134 class134, int i_185_, int i_186_) {
		Class134_Sub3 class134_sub3 = (Class134_Sub3) class134;
		Class145_Sub4_Sub1 class145_sub4_sub1 = ((Class134_Sub3) class134_sub3).aClass145_Sub4_Sub1_9608;
		method15435();
		method15440(((Class134_Sub3) class134_sub3).aClass145_Sub4_Sub1_9608);
		method15409(1);
		method15443(7681, 8448);
		method15444(0, 34167, 768);
		float f = (((Class145_Sub4_Sub1) class145_sub4_sub1).aFloat10447 / (float) ((Class145_Sub4_Sub1) class145_sub4_sub1).anInt10449);
		float f_187_ = (((Class145_Sub4_Sub1) class145_sub4_sub1).aFloat10448 / (float) ((Class145_Sub4_Sub1) class145_sub4_sub1).anInt10446);
		OpenGL.glColor4ub((byte) (i >> 16), (byte) (i >> 8), (byte) i, (byte) (i >> 24));
		OpenGL.glBegin(7);
		OpenGL.glTexCoord2f(f * (float) (((Class84_Sub3) this).anInt9348 - i_185_), f_187_ * (float) (((Class84_Sub3) this).anInt9392 - i_186_));
		OpenGL.glVertex2i(((Class84_Sub3) this).anInt9348, ((Class84_Sub3) this).anInt9392);
		OpenGL.glTexCoord2f(f * (float) (((Class84_Sub3) this).anInt9348 - i_185_), f_187_ * (float) (((Class84_Sub3) this).anInt9393 - i_186_));
		OpenGL.glVertex2i(((Class84_Sub3) this).anInt9348, ((Class84_Sub3) this).anInt9393);
		OpenGL.glTexCoord2f(f * (float) (((Class84_Sub3) this).anInt9395 - i_185_), f_187_ * (float) (((Class84_Sub3) this).anInt9393 - i_186_));
		OpenGL.glVertex2i(((Class84_Sub3) this).anInt9395, ((Class84_Sub3) this).anInt9393);
		OpenGL.glTexCoord2f(f * (float) (((Class84_Sub3) this).anInt9395 - i_185_), f_187_ * (float) (((Class84_Sub3) this).anInt9392 - i_186_));
		OpenGL.glVertex2i(((Class84_Sub3) this).anInt9395, ((Class84_Sub3) this).anInt9392);
		OpenGL.glEnd();
		method15444(0, 5890, 768);
	}

	public void method1988(Class160 class160) {
		((Class84_Sub3) this).aClass143_9340.method3303(this, class160);
	}

	public void method2241(int i, Class98 class98) {
		((Class84_Sub3) this).anInt9394 = i;
		((Class84_Sub3) this).aClass98_9482 = class98;
		((Class84_Sub3) this).aBool9429 = true;
	}

	final void method15404(int i) {
		if (((Class84_Sub3) this).anInt9439 != i) {
			OpenGL.glActiveTexture(33984 + i);
			((Class84_Sub3) this).anInt9439 = i;
		}
	}

	static int method15405(Class172 class172, Class96 class96) {
		if (class96 == Class96.aClass96_1386) {
			switch (class172.anInt2143 * 1259837281) {
			case 4:
				return 6407;
			case 5:
				return 6406;
			case 9:
				return 6408;
			case 0:
				return 6409;
			case 8:
				return 6410;
			default:
				throw new IllegalArgumentException();
			}
		}
		if (class96 == Class96.aClass96_1389) {
			switch (class172.anInt2143 * 1259837281) {
			case 8:
				return 36219;
			default:
				throw new IllegalArgumentException();
			case 9:
				return 32859;
			case 7:
				return 33189;
			case 0:
				return 32834;
			case 4:
				return 32852;
			case 5:
				return 32830;
			}
		}
		if (class96 == Class96.aClass96_1388) {
			switch (class172.anInt2143 * 1259837281) {
			case 7:
				return 33190;
			default:
				throw new IllegalArgumentException();
			}
		}
		if (class96 == Class96.aClass96_1390) {
			switch (class172.anInt2143 * 1259837281) {
			case 0:
				return 34846;
			case 9:
				return 34842;
			case 5:
				return 34844;
			case 4:
				return 34843;
			default:
				throw new IllegalArgumentException();
			case 8:
				return 34847;
			}
		}
		if (class96 == Class96.aClass96_1393) {
			switch (class172.anInt2143 * 1259837281) {
			case 8:
				return 34841;
			case 5:
				return 34838;
			case 9:
				return 34836;
			case 4:
				return 34837;
			default:
				throw new IllegalArgumentException();
			case 0:
				return 34840;
			}
		}
		throw new IllegalArgumentException();
	}

	public void method1904() {
		((Class84_Sub3) this).anInt9398 = 0;
		((Class84_Sub3) this).anInt9399 = 0;
		((Class84_Sub3) this).anInt9400 = aClass171_1190.method3754();
		((Class84_Sub3) this).anInt9401 = aClass171_1190.method3755();
		method15411();
	}

	final synchronized void method15406(int i) {
		Class587 class587 = new Class587();
		class587.aLong7674 = (long) i * 7798553346842421701L;
		((Class84_Sub3) this).aClass413_9359.method7337(class587, -207990216);
	}

	public void method1906(float f, float f_188_) {
		((Class84_Sub3) this).aFloat9382 = f;
		((Class84_Sub3) this).aFloat9367 = f_188_;
		method15412();
	}

	void method15407() {
		method15393(-2);
		for (int i = ((Class84_Sub3) this).anInt9450 - 1; i >= 0; i--) {
			method15439(i);
			method15440(null);
			OpenGL.glTexEnvi(8960, 8704, 34160);
		}
		method15443(8448, 8448);
		method15444(2, 34168, 770);
		method15448();
		((Class84_Sub3) this).anInt9364 = 1;
		OpenGL.glEnable(3042);
		OpenGL.glBlendFunc(770, 771);
		((Class84_Sub3) this).anInt9365 = 1;
		OpenGL.glEnable(3008);
		OpenGL.glAlphaFunc(516, 0.0F);
		((Class84_Sub3) this).aBool9462 = true;
		OpenGL.glColorMask(true, true, true, true);
		((Class84_Sub3) this).aBool9366 = true;
		method15449(true);
		method15489(true);
		method15484(true);
		method15451(true);
		method1906(0.0F, 1.0F);
		method15543();
		((Class84_Sub3) this).anOpenGL9334.setSwapInterval(0);
		OpenGL.glShadeModel(7425);
		OpenGL.glClearDepth(1.0F);
		OpenGL.glDepthFunc(515);
		OpenGL.glPolygonMode(1028, 6914);
		OpenGL.glEnable(2884);
		OpenGL.glCullFace(1029);
		OpenGL.glMatrixMode(5888);
		OpenGL.glLoadIdentity();
		OpenGL.glColorMaterial(1028, 5634);
		OpenGL.glEnable(2903);
		float[] fs = { 0.0F, 0.0F, 0.0F, 1.0F };
		for (int i = 0; i < 8; i++) {
			int i_189_ = 16384 + i;
			OpenGL.glLightfv(i_189_, 4608, fs, 0);
			OpenGL.glLightf(i_189_, 4615, 0.0F);
			OpenGL.glLightf(i_189_, 4616, 0.0F);
		}
		OpenGL.glEnable(16384);
		OpenGL.glEnable(16385);
		OpenGL.glFogf(2914, 0.95F);
		OpenGL.glFogi(2917, 9729);
		OpenGL.glHint(3156, 4353);
		if (((Class84_Sub3) this).aBool9433)
			OpenGL.glEnable(34895);
		((Class84_Sub3) this).anInt9422 = -1;
		((Class84_Sub3) this).anInt9409 = -1;
		method1904();
		method1917();
	}

	boolean method15408() {
		return ((Class84_Sub3) this).aClass137_9337.method3176(3);
	}

	public final void method1907(int i, int i_190_, int i_191_, int i_192_) {
		if (aClass171_1190 != null) {
			if (i < 0)
				i = 0;
			if (i_191_ > aClass171_1190.method3754())
				i_191_ = aClass171_1190.method3754();
			if (i_190_ < 0)
				i_190_ = 0;
			if (i_192_ > aClass171_1190.method3755())
				i_192_ = aClass171_1190.method3755();
			((Class84_Sub3) this).anInt9348 = i;
			((Class84_Sub3) this).anInt9392 = i_190_;
			((Class84_Sub3) this).anInt9395 = i_191_;
			((Class84_Sub3) this).anInt9393 = i_192_;
			OpenGL.glEnable(3089);
			method15483();
		}
	}

	final void method15409(int i) {
		if (((Class84_Sub3) this).anInt9364 != i) {
			int i_193_;
			boolean bool;
			boolean bool_194_;
			if (i == 1) {
				i_193_ = 1;
				bool = true;
				bool_194_ = true;
			} else if (i == 2) {
				i_193_ = 2;
				bool = true;
				bool_194_ = false;
			} else if (i == 128) {
				i_193_ = 3;
				bool = true;
				bool_194_ = true;
			} else {
				i_193_ = 0;
				bool = true;
				bool_194_ = false;
			}
			if (bool != ((Class84_Sub3) this).aBool9366) {
				OpenGL.glColorMask(bool, bool, bool, true);
				((Class84_Sub3) this).aBool9366 = bool;
			}
			if (bool_194_ != ((Class84_Sub3) this).aBool9462) {
				if (bool_194_)
					OpenGL.glEnable(3008);
				else
					OpenGL.glDisable(3008);
				((Class84_Sub3) this).aBool9462 = bool_194_;
			}
			if (i_193_ != ((Class84_Sub3) this).anInt9365) {
				if (i_193_ == 1) {
					OpenGL.glEnable(3042);
					OpenGL.glBlendFunc(770, 771);
				} else if (i_193_ == 2) {
					OpenGL.glEnable(3042);
					OpenGL.glBlendFunc(1, 1);
				} else if (i_193_ == 3) {
					OpenGL.glEnable(3042);
					OpenGL.glBlendFunc(774, 1);
				} else
					OpenGL.glDisable(3042);
				((Class84_Sub3) this).anInt9365 = i_193_;
			}
			((Class84_Sub3) this).anInt9364 = i;
			((Class84_Sub3) this).anInt9378 &= ~0xc;
		}
	}

	final void method15410(int i, int i_195_) {
		((Class84_Sub3) this).anInt9396 = i;
		((Class84_Sub3) this).anInt9397 = i_195_;
		method15411();
		method15483();
	}

	final void method15411() {
		if (aClass171_1190 != null) {
			int i;
			int i_196_;
			int i_197_;
			int i_198_;
			if (((Class84_Sub3) this).anInt9390 == 2) {
				i = ((Class84_Sub3) this).anInt9398;
				i_196_ = ((Class84_Sub3) this).anInt9399;
				i_197_ = ((Class84_Sub3) this).anInt9400;
				i_198_ = ((Class84_Sub3) this).anInt9401;
			} else {
				i = 0;
				i_196_ = 0;
				i_197_ = aClass171_1190.method3754();
				i_198_ = aClass171_1190.method3755();
			}
			if (i_197_ < 1)
				i_197_ = 1;
			if (i_198_ < 1)
				i_198_ = 1;
			OpenGL.glViewport(((Class84_Sub3) this).anInt9396 + i, (((Class84_Sub3) this).anInt9397 + aClass171_1190.method3755() - i_196_ - i_198_), i_197_, i_198_);
			((Class84_Sub3) this).aFloat9379 = (float) ((Class84_Sub3) this).anInt9400 / 2.0F;
			((Class84_Sub3) this).aFloat9381 = (float) ((Class84_Sub3) this).anInt9401 / 2.0F;
			((Class84_Sub3) this).aFloat9361 = ((float) ((Class84_Sub3) this).anInt9398 + ((Class84_Sub3) this).aFloat9379);
			((Class84_Sub3) this).aFloat9380 = ((float) ((Class84_Sub3) this).anInt9399 + ((Class84_Sub3) this).aFloat9381);
		}
	}

	final void method15412() {
		if (((Class84_Sub3) this).anInt9390 == 2)
			OpenGL.glDepthRange(((Class84_Sub3) this).aFloat9382, ((Class84_Sub3) this).aFloat9367);
		else
			OpenGL.glDepthRange(0.0F, 1.0F);
	}

	void method15413() {
		aFloatArray9479[0] = (((Class84_Sub3) this).aFloat9413 * ((Class84_Sub3) this).aFloat9465);
		aFloatArray9479[1] = (((Class84_Sub3) this).aFloat9413 * ((Class84_Sub3) this).aFloat9411);
		aFloatArray9479[2] = (((Class84_Sub3) this).aFloat9413 * ((Class84_Sub3) this).aFloat9370);
		aFloatArray9479[3] = 1.0F;
		OpenGL.glLightModelfv(2899, aFloatArray9479, 0);
	}

	public void method2227(int i, int i_199_, int i_200_, int i_201_, int i_202_, int i_203_) {
		float f = (float) i + 0.35F;
		float f_204_ = (float) i_199_ + 0.35F;
		float f_205_ = f + (float) i_200_;
		float f_206_ = f_204_ + (float) i_201_;
		method15425();
		method15409(i_203_);
		OpenGL.glColor4ub((byte) (i_202_ >> 16), (byte) (i_202_ >> 8), (byte) i_202_, (byte) (i_202_ >> 24));
		if (((Class84_Sub3) this).aBool9456)
			OpenGL.glDisable(32925);
		OpenGL.glBegin(7);
		OpenGL.glVertex2f(f, f_204_);
		OpenGL.glVertex2f(f, f_206_);
		OpenGL.glVertex2f(f_205_, f_206_);
		OpenGL.glVertex2f(f_205_, f_204_);
		OpenGL.glEnd();
		if (((Class84_Sub3) this).aBool9456)
			OpenGL.glEnable(32925);
	}

	final void method15414(Class288 class288) {
		OpenGL.glPushMatrix();
		OpenGL.glMultMatrixf(class288.aFloatArray4285, 0);
	}

	final void method15415(Interface14 interface14, int i, int i_207_, int i_208_) {
		method15431(interface14);
		OpenGL.glDrawElements(i, i_208_, 5123, interface14.method110() + (long) (i_207_ * 2));
	}

	final void method15416(int i, boolean bool, boolean bool_209_) {
		if (i != ((Class84_Sub3) this).anInt9435 || (((Class84_Sub3) this).aBool9430 != ((Class84_Sub3) this).aBool9429)) {
			Class145_Sub4 class145_sub4 = null;
			byte i_210_ = 0;
			byte i_211_ = 0;
			int i_212_ = 0;
			byte i_213_ = ((Class84_Sub3) this).aBool9429 ? (byte) 3 : (byte) 0;
			if (i >= 0) {
				Class104 class104 = aClass101_1178.method2491(i, 1559738884);
				if (class104.anInt1488 * -1560548051 != -1) {
					class145_sub4 = ((Class84_Sub3) this).aClass161_9406.method3480(class104);
					if (class104.aByte1492 != 0 || class104.aByte1493 != 0)
						method15447(((float) (((Class84_Sub3) this).anInt9327 % 128000) / 1000.0F * (float) class104.aByte1492 / 64.0F % 1.0F), ((float) (((Class84_Sub3) this).anInt9327 % 128000) / 1000.0F * (float) class104.aByte1493 / 64.0F % 1.0F), 0.0F);
					else
						method15448();
					if (!((Class84_Sub3) this).aBool9429) {
						i_211_ = class104.aByte1510;
						i_212_ = class104.anInt1513 * -121348933;
						i_213_ = class104.aByte1511;
					}
					i_210_ = class104.aByte1519;
				} else
					method15448();
			} else
				method15448();
			((Class84_Sub3) this).aClass137_9337.method3174(i_213_, i_211_, i_212_, bool, bool_209_);
			if (!((Class84_Sub3) this).aClass137_9337.method3179(class145_sub4, i_210_)) {
				method15440(class145_sub4);
				method15467(i_210_);
			}
			((Class84_Sub3) this).aBool9430 = ((Class84_Sub3) this).aBool9429;
			((Class84_Sub3) this).anInt9435 = i;
		}
		((Class84_Sub3) this).anInt9378 &= ~0x7;
	}

	public final void method1955(Class346 class346) {
		((Class84_Sub3) this).aClass346_9407.method6507(class346);
		((Class84_Sub3) this).aClass288_9371.method5846(((Class84_Sub3) this).aClass346_9407);
		((Class84_Sub3) this).aClass346_9386.method6507(class346);
		((Class84_Sub3) this).aClass346_9386.method6549();
		((Class84_Sub3) this).aClass288_9307.method5846(((Class84_Sub3) this).aClass346_9386);
		method15419();
		if (((Class84_Sub3) this).anInt9390 != 1)
			method15511();
	}

	public Class176 method2071(int i, int i_214_, int[][] is, int[][] is_215_, int i_216_, int i_217_, int i_218_) {
		return new Class176_Sub1(this, i_217_, i_218_, i, i_214_, is, is_215_, i_216_);
	}

	public boolean method1888() {
		return true;
	}

	public void method1922(int i, int i_219_, float f, int i_220_, int i_221_, float f_222_, int i_223_, int i_224_, float f_225_, int i_226_, int i_227_, int i_228_, int i_229_) {
		method15425();
		method15409(i_229_);
		OpenGL.glBegin(4);
		OpenGL.glColor4ub((byte) (i_226_ >> 16), (byte) (i_226_ >> 8), (byte) i_226_, (byte) (i_226_ >> 24));
		OpenGL.glVertex3f((float) i + 0.35F, (float) i_219_ + 0.35F, f);
		OpenGL.glColor4ub((byte) (i_227_ >> 16), (byte) (i_227_ >> 8), (byte) i_227_, (byte) (i_227_ >> 24));
		OpenGL.glVertex3f((float) i_220_ + 0.35F, (float) i_221_ + 0.35F, f_222_);
		OpenGL.glColor4ub((byte) (i_228_ >> 16), (byte) (i_228_ >> 8), (byte) i_228_, (byte) (i_228_ >> 24));
		OpenGL.glVertex3f((float) i_223_ + 0.35F, (float) i_224_ + 0.35F, f_225_);
		OpenGL.glEnd();
	}

	public final Class288 method1959() {
		return new Class288(((Class84_Sub3) this).aClass288_9295);
	}

	final void method15417(Class145 class145) {
		Class145 class145_230_ = (((Class84_Sub3) this).aClass145Array9344[((Class84_Sub3) this).anInt9439]);
		if (class145_230_ != class145) {
			if (class145 != null) {
				if (class145_230_ != null) {
					if (((Class145) class145).anInt1791 != ((Class145) class145_230_).anInt1791) {
						OpenGL.glDisable(((Class145) class145_230_).anInt1791);
						OpenGL.glEnable(((Class145) class145).anInt1791);
					}
				} else
					OpenGL.glEnable(((Class145) class145).anInt1791);
				OpenGL.glBindTexture(((Class145) class145).anInt1791, ((Class145) class145).anInt1790);
			} else
				OpenGL.glDisable(((Class145) class145_230_).anInt1791);
			((Class84_Sub3) this).aClass145Array9344[(((Class84_Sub3) this).anInt9439)] = class145;
		}
		((Class84_Sub3) this).anInt9378 &= ~0x1;
	}

	public int[] method2017(int i, int i_231_, int i_232_, int i_233_) {
		if (aClass171_1190 != null) {
			int[] is = new int[i_232_ * i_233_];
			int i_234_ = aClass171_1190.method3755();
			for (int i_235_ = 0; i_235_ < i_233_; i_235_++)
				OpenGL.glReadPixelsi(i, i_234_ - i_231_ - i_235_ - 1, i_232_, 1, 32993, ((Class84_Sub3) this).anInt9470, is, i_235_ * i_232_);
			return is;
		}
		return null;
	}

	final void method15418() {
		if (((Class84_Sub3) this).anInt9390 != 2) {
			((Class84_Sub3) this).anInt9390 = 2;
			method15420(((Class84_Sub3) this).aClass288_9295.aFloatArray4285);
			method15511();
			method15411();
			method15412();
			((Class84_Sub3) this).anInt9378 &= ~0x7;
		}
	}

	public Class135 method2128(int i, int i_236_, int i_237_, int i_238_, boolean bool) {
		return new Class135_Sub1(this, i, i_236_, i_237_, i_238_);
	}

	final void method15419() {
		((Class84_Sub3) this).aClass288_9375.method5825(((Class84_Sub3) this).aClass288_9371);
		((Class84_Sub3) this).aClass288_9375.method5835(((Class84_Sub3) this).aClass288_9295);
		((Class84_Sub3) this).aClass288_9375.method5763(((Class84_Sub3) this).aFloatArrayArray9333[0]);
		((Class84_Sub3) this).aClass288_9375.method5769(((Class84_Sub3) this).aFloatArrayArray9333[1]);
		((Class84_Sub3) this).aClass288_9375.method5777(((Class84_Sub3) this).aFloatArrayArray9333[2]);
		((Class84_Sub3) this).aClass288_9375.method5765(((Class84_Sub3) this).aFloatArrayArray9333[3]);
		((Class84_Sub3) this).aClass288_9375.method5766(((Class84_Sub3) this).aFloatArrayArray9333[4]);
		((Class84_Sub3) this).aClass288_9375.method5816(((Class84_Sub3) this).aFloatArrayArray9333[5]);
	}

	final void method15420(float[] fs) {
		float[] fs_239_ = new float[16];
		System.arraycopy(fs, 0, fs_239_, 0, 16);
		fs_239_[1] = -fs_239_[1];
		fs_239_[5] = -fs_239_[5];
		fs_239_[9] = -fs_239_[9];
		fs_239_[13] = -fs_239_[13];
		OpenGL.glMatrixMode(5889);
		OpenGL.glLoadMatrixf(fs_239_, 0);
		OpenGL.glMatrixMode(5888);
	}

	public void method1957(boolean bool) {
		((Class84_Sub3) this).aBool9391 = bool;
		method15452();
	}

	public int method1915() {
		return 4;
	}

	public void method1966(int i, Class587_Sub12[] class587_sub12s) {
		for (int i_240_ = 0; i_240_ < i; i_240_++)
			((Class84_Sub3) this).aClass587_Sub12Array9416[i_240_] = class587_sub12s[i_240_];
		((Class84_Sub3) this).anInt9418 = i;
		if (((Class84_Sub3) this).anInt9390 != 1)
			method15399();
	}

	public void method2065(Class587_Sub25 class587_sub25) {
		((Class84_Sub3) this).aNativeHeap9405 = (((Class587_Sub25_Sub1) (Class587_Sub25_Sub1) class587_sub25).aNativeHeap10338);
		if (((Class84_Sub3) this).anInterface9_9387 == null) {
			Class587_Sub4_Sub2 class587_sub4_sub2 = new Class587_Sub4_Sub2(80);
			if (((Class84_Sub3) this).aBool9448) {
				class587_sub4_sub2.method16801(-1.0F);
				class587_sub4_sub2.method16801(-1.0F);
				class587_sub4_sub2.method16801(0.0F);
				class587_sub4_sub2.method16801(0.0F);
				class587_sub4_sub2.method16801(0.0F);
				class587_sub4_sub2.method16801(-1.0F);
				class587_sub4_sub2.method16801(1.0F);
				class587_sub4_sub2.method16801(0.0F);
				class587_sub4_sub2.method16801(0.0F);
				class587_sub4_sub2.method16801(1.0F);
				class587_sub4_sub2.method16801(1.0F);
				class587_sub4_sub2.method16801(1.0F);
				class587_sub4_sub2.method16801(0.0F);
				class587_sub4_sub2.method16801(1.0F);
				class587_sub4_sub2.method16801(1.0F);
				class587_sub4_sub2.method16801(1.0F);
				class587_sub4_sub2.method16801(-1.0F);
				class587_sub4_sub2.method16801(0.0F);
				class587_sub4_sub2.method16801(1.0F);
				class587_sub4_sub2.method16801(0.0F);
			} else {
				class587_sub4_sub2.method16802(-1.0F);
				class587_sub4_sub2.method16802(-1.0F);
				class587_sub4_sub2.method16802(0.0F);
				class587_sub4_sub2.method16802(0.0F);
				class587_sub4_sub2.method16802(0.0F);
				class587_sub4_sub2.method16802(-1.0F);
				class587_sub4_sub2.method16802(1.0F);
				class587_sub4_sub2.method16802(0.0F);
				class587_sub4_sub2.method16802(0.0F);
				class587_sub4_sub2.method16802(1.0F);
				class587_sub4_sub2.method16802(1.0F);
				class587_sub4_sub2.method16802(1.0F);
				class587_sub4_sub2.method16802(0.0F);
				class587_sub4_sub2.method16802(1.0F);
				class587_sub4_sub2.method16802(1.0F);
				class587_sub4_sub2.method16802(1.0F);
				class587_sub4_sub2.method16802(-1.0F);
				class587_sub4_sub2.method16802(0.0F);
				class587_sub4_sub2.method16802(1.0F);
				class587_sub4_sub2.method16802(0.0F);
			}
			((Class84_Sub3) this).anInterface9_9387 = method15482(20, class587_sub4_sub2.aByteArray8460, class587_sub4_sub2.anInt8458 * -1961774223, false);
			((Class84_Sub3) this).aClass152_9476 = new Class152(((Class84_Sub3) this).anInterface9_9387, 5126, 3, 0);
			((Class84_Sub3) this).aClass152_9477 = new Class152(((Class84_Sub3) this).anInterface9_9387, 5126, 2, 12);
			((Class84_Sub3) this).aClass143_9340.method3314(this);
		}
	}

	final synchronized void method15421(int i, int i_241_) {
		Class587_Sub17 class587_sub17 = new Class587_Sub17(i_241_);
		class587_sub17.aLong7674 = (long) i * 7798553346842421701L;
		((Class84_Sub3) this).aClass413_9355.method7337(class587_sub17, -744852435);
	}

	public Class134 method2211(int i, int i_242_, int[] is, int[] is_243_) {
		return Class134_Sub3.method15720(this, i, i_242_, is, is_243_);
	}

	public final void method1942(int i) {
		((Class84_Sub3) this).anInt9347 = 0;
		for (/**/; i > 1; i >>= 1)
			((Class84_Sub3) this).anInt9347++;
		((Class84_Sub3) this).anInt9484 = 1 << ((Class84_Sub3) this).anInt9347;
	}

	public final void method1963(int i, int i_244_, int i_245_) {
		if (((Class84_Sub3) this).anInt9422 != i || ((Class84_Sub3) this).anInt9423 != i_244_ || ((Class84_Sub3) this).anInt9424 != i_245_) {
			((Class84_Sub3) this).anInt9422 = i;
			((Class84_Sub3) this).anInt9423 = i_244_;
			((Class84_Sub3) this).anInt9424 = i_245_;
			method15536();
			method15424();
		}
	}

	final void method15422(float f, float f_246_) {
		((Class84_Sub3) this).aFloat9427 = f;
		((Class84_Sub3) this).aFloat9485 = f_246_;
		method15536();
	}

	public void method2043(int i, int i_247_, int i_248_, int i_249_, int i_250_, int i_251_) {
		float f = (float) i + 0.35F;
		float f_252_ = (float) i_247_ + 0.35F;
		float f_253_ = f + (float) i_248_ - 1.0F;
		float f_254_ = f_252_ + (float) i_249_ - 1.0F;
		method15425();
		method15409(i_251_);
		OpenGL.glColor4ub((byte) (i_250_ >> 16), (byte) (i_250_ >> 8), (byte) i_250_, (byte) (i_250_ >> 24));
		if (((Class84_Sub3) this).aBool9456)
			OpenGL.glDisable(32925);
		OpenGL.glBegin(2);
		OpenGL.glVertex2f(f, f_252_);
		OpenGL.glVertex2f(f, f_254_);
		OpenGL.glVertex2f(f_253_, f_254_);
		OpenGL.glVertex2f(f_253_, f_252_);
		OpenGL.glEnd();
		if (((Class84_Sub3) this).aBool9456)
			OpenGL.glEnable(32925);
	}

	void method15423() {
		aFloatArray9479[0] = (((Class84_Sub3) this).aFloat9414 * ((Class84_Sub3) this).aFloat9465);
		aFloatArray9479[1] = (((Class84_Sub3) this).aFloat9414 * ((Class84_Sub3) this).aFloat9411);
		aFloatArray9479[2] = (((Class84_Sub3) this).aFloat9414 * ((Class84_Sub3) this).aFloat9370);
		aFloatArray9479[3] = 1.0F;
		OpenGL.glLightfv(16384, 4609, aFloatArray9479, 0);
		aFloatArray9479[0] = (-((Class84_Sub3) this).aFloat9415 * ((Class84_Sub3) this).aFloat9465);
		aFloatArray9479[1] = (-((Class84_Sub3) this).aFloat9415 * ((Class84_Sub3) this).aFloat9411);
		aFloatArray9479[2] = (-((Class84_Sub3) this).aFloat9415 * ((Class84_Sub3) this).aFloat9370);
		aFloatArray9479[3] = 1.0F;
		OpenGL.glLightfv(16385, 4609, aFloatArray9479, 0);
	}

	final void method2161(float f, float f_255_, float f_256_, float f_257_, float f_258_, float f_259_) {
		Class587_Sub23_Sub1.aFloat10314 = f;
		Class587_Sub23_Sub1.aFloat10313 = f_255_;
		Class587_Sub23_Sub1.aFloat10311 = f_256_;
	}

	void method15424() {
		if (((Class84_Sub3) this).aBool9421 && ((Class84_Sub3) this).anInt9423 >= 0)
			OpenGL.glEnable(2912);
		else
			OpenGL.glDisable(2912);
	}

	public void method2077() {
		((Class84_Sub3) this).aBool9429 = false;
	}

	public Class159 method2055(int i) {
		return (((Class84_Sub3) this).aBool9461 ? new Class159_Sub2_Sub2(this, i) : null);
	}

	public void method1971(int i) {
		/* empty */
	}

	public final void method2037(int[] is) {
		is[0] = ((Class84_Sub3) this).anInt9348;
		is[1] = ((Class84_Sub3) this).anInt9392;
		is[2] = ((Class84_Sub3) this).anInt9395;
		is[3] = ((Class84_Sub3) this).anInt9393;
	}

	final void method15425() {
		if (((Class84_Sub3) this).anInt9378 != 1) {
			method15545();
			method15449(false);
			method15489(false);
			method15484(false);
			method15451(false);
			method15440(null);
			method15393(-2);
			method15467(1);
			((Class84_Sub3) this).anInt9378 = 1;
		}
	}

	public final void method2078(int i, int i_260_, int i_261_, int i_262_) {
		if (aClass171_1190 != null) {
			if (i < 0)
				i = 0;
			if (i_261_ > aClass171_1190.method3754())
				i_261_ = aClass171_1190.method3754();
			if (i_260_ < 0)
				i_260_ = 0;
			if (i_262_ > aClass171_1190.method3755())
				i_262_ = aClass171_1190.method3755();
			((Class84_Sub3) this).anInt9348 = i;
			((Class84_Sub3) this).anInt9392 = i_260_;
			((Class84_Sub3) this).anInt9395 = i_261_;
			((Class84_Sub3) this).anInt9393 = i_262_;
			OpenGL.glEnable(3089);
			method15483();
		}
	}

	public final void method2226() {
		if (((Class84_Sub3) this).aClass587_Sub23_Sub1_9339 != null && ((Class84_Sub3) this).aClass587_Sub23_Sub1_9339.method15844()) {
			((Class84_Sub3) this).aClass147_9338.method3364(((Class84_Sub3) this).aClass587_Sub23_Sub1_9339);
			((Class84_Sub3) this).aClass161_9406.method3487();
		}
	}

	public final boolean method1972() {
		return (((Class84_Sub3) this).aClass587_Sub23_Sub1_9339 != null && ((Class84_Sub3) this).aClass587_Sub23_Sub1_9339.method15844());
	}

	final synchronized void method15426(int i, int i_263_) {
		Class587_Sub17 class587_sub17 = new Class587_Sub17(i_263_);
		class587_sub17.aLong7674 = (long) i * 7798553346842421701L;
		((Class84_Sub3) this).aClass413_9328.method7337(class587_sub17, -2121183465);
	}

	public final void method2219(int i, int i_264_, int i_265_, int i_266_) {
		((Class84_Sub3) this).aClass147_9338.method3367(i, i_264_, i_265_, i_266_);
	}

	public final void method1976() {
		((Class84_Sub3) this).aClass147_9338.method3370();
	}

	final void method15427(Class288 class288) {
		OpenGL.glPushMatrix();
		OpenGL.glMultMatrixf(class288.aFloatArray4285, 0);
	}

	public Interface7 method1900(int i, int i_267_) {
		return new Class587_Sub34_Sub17(this, Class172.aClass172_2152, Class96.aClass96_1388, i, i_267_);
	}

	public boolean method2105() {
		return true;
	}

	public Interface11 method1899(int i, int i_268_, Class172 class172, Class96 class96, int i_269_) {
		return new Class587_Sub34_Sub17(this, class172, class96, i, i_268_, i_269_);
	}

	final Interface14 method15428(int i, byte[] is, int i_270_, boolean bool) {
		if (((Class84_Sub3) this).aBool9322 && (!bool || ((Class84_Sub3) this).aBool9459))
			return new Class155_Sub2(this, i, is, i_270_, bool);
		return new Class156_Sub1(this, i, is, i_270_);
	}

	public Class346 method1998() {
		return new Class346(((Class84_Sub3) this).aClass346_9407);
	}

	final Interface9 method15429(int i, Buffer buffer, int i_271_, boolean bool) {
		if (((Class84_Sub3) this).aBool9322 && (!bool || ((Class84_Sub3) this).aBool9459))
			return new Class155_Sub1(this, i, buffer, i_271_, bool);
		return new Class156_Sub2(this, i, buffer);
	}

	final void method15430(Interface9 interface9) {
		if (((Class84_Sub3) this).anInterface9_9473 != interface9) {
			if (((Class84_Sub3) this).aBool9322)
				OpenGL.glBindBufferARB(34962, interface9.method51());
			((Class84_Sub3) this).anInterface9_9473 = interface9;
		}
	}

	final void method15431(Interface14 interface14) {
		if (((Class84_Sub3) this).anInterface14_9336 != interface14) {
			if (((Class84_Sub3) this).aBool9322)
				OpenGL.glBindBufferARB(34963, interface14.method51());
			((Class84_Sub3) this).anInterface14_9336 = interface14;
		}
	}

	final void method15432(Class152 class152, Class152 class152_272_, Class152 class152_273_, Class152 class152_274_) {
		if (class152 != null) {
			method15430(((Class152) class152).anInterface9_1853);
			OpenGL.glVertexPointer(((Class152) class152).aByte1851, ((Class152) class152).aShort1852, ((Class84_Sub3) this).anInterface9_9473.method49(), (((Class84_Sub3) this).anInterface9_9473.method60() + (long) ((Class152) class152).aByte1850));
			OpenGL.glEnableClientState(32884);
		} else
			OpenGL.glDisableClientState(32884);
		if (class152_272_ != null) {
			method15430(((Class152) class152_272_).anInterface9_1853);
			OpenGL.glNormalPointer(((Class152) class152_272_).aShort1852, ((Class84_Sub3) this).anInterface9_9473.method49(), (((Class84_Sub3) this).anInterface9_9473.method60() + (long) ((Class152) class152_272_).aByte1850));
			OpenGL.glEnableClientState(32885);
		} else
			OpenGL.glDisableClientState(32885);
		if (class152_273_ != null) {
			method15430(((Class152) class152_273_).anInterface9_1853);
			OpenGL.glColorPointer(((Class152) class152_273_).aByte1851, ((Class152) class152_273_).aShort1852, ((Class84_Sub3) this).anInterface9_9473.method49(), (((Class84_Sub3) this).anInterface9_9473.method60() + (long) ((Class152) class152_273_).aByte1850));
			OpenGL.glEnableClientState(32886);
		} else
			OpenGL.glDisableClientState(32886);
		if (class152_274_ != null) {
			method15430(((Class152) class152_274_).anInterface9_1853);
			OpenGL.glTexCoordPointer(((Class152) class152_274_).aByte1851, ((Class152) class152_274_).aShort1852, ((Class84_Sub3) this).anInterface9_9473.method49(), (((Class84_Sub3) this).anInterface9_9473.method60() + (long) ((Class152) class152_274_).aByte1850));
			OpenGL.glEnableClientState(32888);
		} else
			OpenGL.glDisableClientState(32888);
	}

	final void method15433(int i, int i_275_, int i_276_) {
		OpenGL.glDrawArrays(i, i_275_, i_276_);
	}

	final void method15434(Interface14 interface14, int i, int i_277_, int i_278_) {
		method15431(interface14);
		OpenGL.glDrawElements(i, i_278_, 5123, interface14.method110() + (long) (i_277_ * 2));
	}

	public boolean method2040() {
		return true;
	}

	final void method15435() {
		if (((Class84_Sub3) this).anInt9378 != 2) {
			method15545();
			method15449(false);
			method15489(false);
			method15484(false);
			method15451(false);
			method15393(-2);
			((Class84_Sub3) this).anInt9378 = 2;
		}
	}

	final void method15436() {
		if (((Class84_Sub3) this).anInt9378 != 4) {
			method15545();
			method15449(false);
			method15489(false);
			method15484(false);
			method15451(false);
			method15393(-2);
			method15409(1);
			((Class84_Sub3) this).anInt9378 = 4;
		}
	}

	final void method15437() {
		if (((Class84_Sub3) this).anInt9378 != 8) {
			method15418();
			method15449(true);
			method15484(true);
			method15451(true);
			method15409(1);
			((Class84_Sub3) this).anInt9378 = 8;
		}
	}

	public Class346 method1947() {
		return ((Class84_Sub3) this).aClass346_9343;
	}

	Class171_Sub2 method2170(Canvas canvas, int i, int i_279_) {
		return new Class171_Sub2_Sub1(this, canvas);
	}

	final synchronized void method15438(long l) {
		Class587 class587 = new Class587();
		class587.aLong7674 = l * 7798553346842421701L;
		((Class84_Sub3) this).aClass413_9360.method7337(class587, -1345388582);
	}

	final void method15439(int i) {
		if (((Class84_Sub3) this).anInt9439 != i) {
			OpenGL.glActiveTexture(33984 + i);
			((Class84_Sub3) this).anInt9439 = i;
		}
	}

	final void method15440(Class145 class145) {
		Class145 class145_280_ = (((Class84_Sub3) this).aClass145Array9344[((Class84_Sub3) this).anInt9439]);
		if (class145_280_ != class145) {
			if (class145 != null) {
				if (class145_280_ != null) {
					if (((Class145) class145).anInt1791 != ((Class145) class145_280_).anInt1791) {
						OpenGL.glDisable(((Class145) class145_280_).anInt1791);
						OpenGL.glEnable(((Class145) class145).anInt1791);
					}
				} else
					OpenGL.glEnable(((Class145) class145).anInt1791);
				OpenGL.glBindTexture(((Class145) class145).anInt1791, ((Class145) class145).anInt1790);
			} else
				OpenGL.glDisable(((Class145) class145_280_).anInt1791);
			((Class84_Sub3) this).aClass145Array9344[(((Class84_Sub3) this).anInt9439)] = class145;
		}
		((Class84_Sub3) this).anInt9378 &= ~0x1;
	}

	boolean method15441() {
		return ((Class84_Sub3) this).aClass137_9337.method3176(3);
	}

	final int method15442(int i) {
		if (i == 1)
			return 7681;
		if (i == 0)
			return 8448;
		if (i == 2)
			return 34165;
		if (i == 3)
			return 260;
		if (i == 4)
			return 34023;
		throw new IllegalArgumentException();
	}

	final void method15443(int i, int i_281_) {
		if (((Class84_Sub3) this).anInt9439 == 0) {
			boolean bool = false;
			if (((Class84_Sub3) this).anInt9455 != i) {
				OpenGL.glTexEnvi(8960, 34161, i);
				((Class84_Sub3) this).anInt9455 = i;
				bool = true;
			}
			if (((Class84_Sub3) this).anInt9437 != i_281_) {
				OpenGL.glTexEnvi(8960, 34162, i_281_);
				((Class84_Sub3) this).anInt9437 = i_281_;
				bool = true;
			}
			if (bool)
				((Class84_Sub3) this).anInt9378 &= ~0xd;
		} else {
			OpenGL.glTexEnvi(8960, 34161, i);
			OpenGL.glTexEnvi(8960, 34162, i_281_);
		}
	}

	final void method15444(int i, int i_282_, int i_283_) {
		OpenGL.glTexEnvi(8960, 34176 + i, i_282_);
		OpenGL.glTexEnvi(8960, 34192 + i, i_283_);
	}

	final void method15445(int i, int i_284_, int i_285_) {
		OpenGL.glTexEnvi(8960, 34184 + i, i_284_);
		OpenGL.glTexEnvi(8960, 34200 + i, i_285_);
	}

	void method1990() {
		for (Class587 class587 = ((Class84_Sub3) this).aClass413_9350.method7361(1967321390); class587 != null; class587 = ((Class84_Sub3) this).aClass413_9350.method7344(-1240818367))
			((Class587_Sub25_Sub1) class587).method16542();
		if (((Class84_Sub3) this).aClass147_9338 != null)
			((Class84_Sub3) this).aClass147_9338.method3365();
		if (((Class84_Sub3) this).aBool9329) {
			Class530.method11767(false, true, (short) -17834);
			((Class84_Sub3) this).aBool9329 = false;
		}
	}

	final void method15446(float f, float f_286_, float f_287_, float f_288_) {
		aFloatArray9479[0] = f;
		aFloatArray9479[1] = f_286_;
		aFloatArray9479[2] = f_287_;
		aFloatArray9479[3] = f_288_;
		OpenGL.glTexEnvfv(8960, 8705, aFloatArray9479, 0);
	}

	final void method15447(float f, float f_289_, float f_290_) {
		OpenGL.glMatrixMode(5890);
		if (((Class84_Sub3) this).aBool9438)
			OpenGL.glLoadIdentity();
		OpenGL.glTranslatef(f, f_289_, f_290_);
		OpenGL.glMatrixMode(5888);
		((Class84_Sub3) this).aBool9438 = true;
	}

	final void method15448() {
		if (((Class84_Sub3) this).aBool9438) {
			OpenGL.glMatrixMode(5890);
			OpenGL.glLoadIdentity();
			OpenGL.glMatrixMode(5888);
			((Class84_Sub3) this).aBool9438 = false;
		}
	}

	final void method15449(boolean bool) {
		if (bool != ((Class84_Sub3) this).aBool9421) {
			((Class84_Sub3) this).aBool9421 = bool;
			method15424();
			((Class84_Sub3) this).anInt9378 &= ~0xf;
		}
	}

	final synchronized void method15450(long l) {
		Class587 class587 = new Class587();
		class587.aLong7674 = l * 7798553346842421701L;
		((Class84_Sub3) this).aClass413_9360.method7337(class587, -2106508037);
	}

	public final void method1887(Class159 class159) {
		((Class84_Sub3) this).aClass159_Sub2_9442 = (Class159_Sub2) class159;
	}

	public Interface7 method2164(int i, int i_291_, int i_292_) {
		return new Class587_Sub34_Sub17(this, Class172.aClass172_2152, Class96.aClass96_1388, i, i_291_, i_292_);
	}

	public void method1962(boolean bool) {
		/* empty */
	}

	final void method15451(boolean bool) {
		if (bool != ((Class84_Sub3) this).aBool9369) {
			((Class84_Sub3) this).aBool9369 = bool;
			method15452();
			((Class84_Sub3) this).anInt9378 &= ~0xf;
		}
	}

	final void method15452() {
		OpenGL.glDepthMask(((Class84_Sub3) this).aBool9369 && ((Class84_Sub3) this).aBool9391);
	}

	final void method15453(int i, int i_293_) {
		if (((Class84_Sub3) this).anInt9439 == 0) {
			boolean bool = false;
			if (((Class84_Sub3) this).anInt9455 != i) {
				OpenGL.glTexEnvi(8960, 34161, i);
				((Class84_Sub3) this).anInt9455 = i;
				bool = true;
			}
			if (((Class84_Sub3) this).anInt9437 != i_293_) {
				OpenGL.glTexEnvi(8960, 34162, i_293_);
				((Class84_Sub3) this).anInt9437 = i_293_;
				bool = true;
			}
			if (bool)
				((Class84_Sub3) this).anInt9378 &= ~0xd;
		} else {
			OpenGL.glTexEnvi(8960, 34161, i);
			OpenGL.glTexEnvi(8960, 34162, i_293_);
		}
	}

	public final int method1877() {
		return (((Class84_Sub3) this).anInt9352 + ((Class84_Sub3) this).anInt9345 + ((Class84_Sub3) this).anInt9441);
	}

	final void method15454() {
		((Class84_Sub3) this).aFloat9385 = ((Class84_Sub3) this).aClass288_9295.method5767();
		((Class84_Sub3) this).aFloat9384 = ((Class84_Sub3) this).aClass288_9295.method5762();
		method15536();
		if (((Class84_Sub3) this).anInt9390 == 2)
			method15420(((Class84_Sub3) this).aClass288_9295.aFloatArray4285);
		else if (((Class84_Sub3) this).anInt9390 == 1)
			method15420(((Class84_Sub3) this).aClass288_9374.aFloatArray4285);
	}

	final synchronized void method15455(int i, int i_294_) {
		Class587_Sub17 class587_sub17 = new Class587_Sub17(i_294_);
		class587_sub17.aLong7674 = (long) i * 7798553346842421701L;
		((Class84_Sub3) this).aClass413_9355.method7337(class587_sub17, -6940982);
	}

	public boolean method2008() {
		return true;
	}

	final synchronized void method15456(int i) {
		Class587_Sub17 class587_sub17 = new Class587_Sub17(i);
		((Class84_Sub3) this).aClass413_9291.method7337(class587_sub17, -1726073204);
	}

	final synchronized void method15457(int i, int i_295_) {
		Class587_Sub17 class587_sub17 = new Class587_Sub17(i_295_);
		class587_sub17.aLong7674 = (long) i * 7798553346842421701L;
		((Class84_Sub3) this).aClass413_9358.method7337(class587_sub17, -170271728);
	}

	final synchronized void method15458(long l) {
		Class587 class587 = new Class587();
		class587.aLong7674 = l * 7798553346842421701L;
		((Class84_Sub3) this).aClass413_9360.method7337(class587, -768803823);
	}

	final synchronized void method15459(int i) {
		Class587 class587 = new Class587();
		class587.aLong7674 = (long) i * 7798553346842421701L;
		((Class84_Sub3) this).aClass413_9359.method7337(class587, 113247136);
	}

	public Class135 method2073(Class100 class100, boolean bool) {
		int[] is = class100.method2454(false);
		Class135 class135 = method1937(is, 0, class100.method2439(), class100.method2439(), class100.method2440(), -2018149970);
		class135.method3115(class100.method2453(), class100.method2443(), class100.method2484(), class100.method2444());
		return class135;
	}

	static int method15460(Class172 class172, Class96 class96) {
		if (class96 == Class96.aClass96_1386) {
			switch (class172.anInt2143 * 1259837281) {
			case 4:
				return 6407;
			case 5:
				return 6406;
			case 9:
				return 6408;
			case 0:
				return 6409;
			case 8:
				return 6410;
			default:
				throw new IllegalArgumentException();
			}
		}
		if (class96 == Class96.aClass96_1389) {
			switch (class172.anInt2143 * 1259837281) {
			case 8:
				return 36219;
			default:
				throw new IllegalArgumentException();
			case 9:
				return 32859;
			case 7:
				return 33189;
			case 0:
				return 32834;
			case 4:
				return 32852;
			case 5:
				return 32830;
			}
		}
		if (class96 == Class96.aClass96_1388) {
			switch (class172.anInt2143 * 1259837281) {
			case 7:
				return 33190;
			default:
				throw new IllegalArgumentException();
			}
		}
		if (class96 == Class96.aClass96_1390) {
			switch (class172.anInt2143 * 1259837281) {
			case 0:
				return 34846;
			case 9:
				return 34842;
			case 5:
				return 34844;
			case 4:
				return 34843;
			default:
				throw new IllegalArgumentException();
			case 8:
				return 34847;
			}
		}
		if (class96 == Class96.aClass96_1393) {
			switch (class172.anInt2143 * 1259837281) {
			case 8:
				return 34841;
			case 5:
				return 34838;
			case 9:
				return 34836;
			case 4:
				return 34837;
			default:
				throw new IllegalArgumentException();
			case 0:
				return 34840;
			}
		}
		throw new IllegalArgumentException();
	}

	public Interface11 method2103(int i, int i_296_, Class172 class172, Class96 class96, int i_297_) {
		return new Class587_Sub34_Sub17(this, class172, class96, i, i_296_, i_297_);
	}

	static {
		anInt9326 = 4;
		aFloatArray9479 = new float[4];
		aFloatArray9480 = new float[4];
	}

	public void method1933(Class587_Sub25 class587_sub25) {
		((Class84_Sub3) this).aNativeHeap9405 = (((Class587_Sub25_Sub1) (Class587_Sub25_Sub1) class587_sub25).aNativeHeap10338);
		if (((Class84_Sub3) this).anInterface9_9387 == null) {
			Class587_Sub4_Sub2 class587_sub4_sub2 = new Class587_Sub4_Sub2(80);
			if (((Class84_Sub3) this).aBool9448) {
				class587_sub4_sub2.method16801(-1.0F);
				class587_sub4_sub2.method16801(-1.0F);
				class587_sub4_sub2.method16801(0.0F);
				class587_sub4_sub2.method16801(0.0F);
				class587_sub4_sub2.method16801(0.0F);
				class587_sub4_sub2.method16801(-1.0F);
				class587_sub4_sub2.method16801(1.0F);
				class587_sub4_sub2.method16801(0.0F);
				class587_sub4_sub2.method16801(0.0F);
				class587_sub4_sub2.method16801(1.0F);
				class587_sub4_sub2.method16801(1.0F);
				class587_sub4_sub2.method16801(1.0F);
				class587_sub4_sub2.method16801(0.0F);
				class587_sub4_sub2.method16801(1.0F);
				class587_sub4_sub2.method16801(1.0F);
				class587_sub4_sub2.method16801(1.0F);
				class587_sub4_sub2.method16801(-1.0F);
				class587_sub4_sub2.method16801(0.0F);
				class587_sub4_sub2.method16801(1.0F);
				class587_sub4_sub2.method16801(0.0F);
			} else {
				class587_sub4_sub2.method16802(-1.0F);
				class587_sub4_sub2.method16802(-1.0F);
				class587_sub4_sub2.method16802(0.0F);
				class587_sub4_sub2.method16802(0.0F);
				class587_sub4_sub2.method16802(0.0F);
				class587_sub4_sub2.method16802(-1.0F);
				class587_sub4_sub2.method16802(1.0F);
				class587_sub4_sub2.method16802(0.0F);
				class587_sub4_sub2.method16802(0.0F);
				class587_sub4_sub2.method16802(1.0F);
				class587_sub4_sub2.method16802(1.0F);
				class587_sub4_sub2.method16802(1.0F);
				class587_sub4_sub2.method16802(0.0F);
				class587_sub4_sub2.method16802(1.0F);
				class587_sub4_sub2.method16802(1.0F);
				class587_sub4_sub2.method16802(1.0F);
				class587_sub4_sub2.method16802(-1.0F);
				class587_sub4_sub2.method16802(0.0F);
				class587_sub4_sub2.method16802(1.0F);
				class587_sub4_sub2.method16802(0.0F);
			}
			((Class84_Sub3) this).anInterface9_9387 = method15482(20, class587_sub4_sub2.aByteArray8460, class587_sub4_sub2.anInt8458 * -1961774223, false);
			((Class84_Sub3) this).aClass152_9476 = new Class152(((Class84_Sub3) this).anInterface9_9387, 5126, 3, 0);
			((Class84_Sub3) this).aClass152_9477 = new Class152(((Class84_Sub3) this).anInterface9_9387, 5126, 2, 12);
			((Class84_Sub3) this).aClass143_9340.method3314(this);
		}
	}

	void method1991() {
		for (Class587 class587 = ((Class84_Sub3) this).aClass413_9350.method7361(1688994051); class587 != null; class587 = ((Class84_Sub3) this).aClass413_9350.method7344(-111779235))
			((Class587_Sub25_Sub1) class587).method16542();
		if (((Class84_Sub3) this).aClass147_9338 != null)
			((Class84_Sub3) this).aClass147_9338.method3365();
		if (((Class84_Sub3) this).aBool9329) {
			Class530.method11767(false, true, (short) -5388);
			((Class84_Sub3) this).aBool9329 = false;
		}
	}

	public int method1969(int i, int i_298_) {
		return i | i_298_;
	}

	public Class587_Sub25 method2173(int i) {
		Class587_Sub25_Sub1 class587_sub25_sub1 = new Class587_Sub25_Sub1(i);
		((Class84_Sub3) this).aClass413_9350.method7337(class587_sub25_sub1, -1997179565);
		return class587_sub25_sub1;
	}

	final void method15461(int i, boolean bool) {
		method15416(i, bool, true);
	}

	public Class587_Sub25 method2172(int i) {
		Class587_Sub25_Sub1 class587_sub25_sub1 = new Class587_Sub25_Sub1(i);
		((Class84_Sub3) this).aClass413_9350.method7337(class587_sub25_sub1, -1982377921);
		return class587_sub25_sub1;
	}

	public final void method2033(int i, int i_299_, int i_300_, int i_301_) {
		if (aClass171_1190 != null) {
			if (i < 0)
				i = 0;
			if (i_300_ > aClass171_1190.method3754())
				i_300_ = aClass171_1190.method3754();
			if (i_299_ < 0)
				i_299_ = 0;
			if (i_301_ > aClass171_1190.method3755())
				i_301_ = aClass171_1190.method3755();
			((Class84_Sub3) this).anInt9348 = i;
			((Class84_Sub3) this).anInt9392 = i_299_;
			((Class84_Sub3) this).anInt9395 = i_300_;
			((Class84_Sub3) this).anInt9393 = i_301_;
			OpenGL.glEnable(3089);
			method15483();
		}
	}

	final synchronized void method15462(int i, int i_302_) {
		Class587_Sub17 class587_sub17 = new Class587_Sub17(i_302_);
		class587_sub17.aLong7674 = (long) i * 7798553346842421701L;
		((Class84_Sub3) this).aClass413_9358.method7337(class587_sub17, -1439683091);
	}

	public final synchronized void method1992(int i) {
		int i_303_ = 0;
		i &= 0x7fffffff;
		while (!((Class84_Sub3) this).aClass413_9355.method7383(-534585789)) {
			Class587_Sub17 class587_sub17 = ((Class587_Sub17) ((Class84_Sub3) this).aClass413_9355.method7338(712539335));
			anIntArray9451[i_303_++] = (int) (class587_sub17.aLong7674 * 3401098856066297101L);
			((Class84_Sub3) this).anInt9352 -= class587_sub17.anInt9630 * -1022666323;
			if (i_303_ == 1000) {
				OpenGL.glDeleteBuffersARB(i_303_, anIntArray9451, 0);
				i_303_ = 0;
			}
		}
		if (i_303_ > 0) {
			OpenGL.glDeleteBuffersARB(i_303_, anIntArray9451, 0);
			i_303_ = 0;
		}
		while (!((Class84_Sub3) this).aClass413_9328.method7383(-1754510058)) {
			Class587_Sub17 class587_sub17 = (Class587_Sub17) ((Class84_Sub3) this).aClass413_9328.method7338(-727743402);
			anIntArray9451[i_303_++] = (int) (class587_sub17.aLong7674 * 3401098856066297101L);
			((Class84_Sub3) this).anInt9345 -= class587_sub17.anInt9630 * -1022666323;
			if (i_303_ == 1000) {
				OpenGL.glDeleteTextures(i_303_, anIntArray9451, 0);
				i_303_ = 0;
			}
		}
		if (i_303_ > 0) {
			OpenGL.glDeleteTextures(i_303_, anIntArray9451, 0);
			i_303_ = 0;
		}
		while (!((Class84_Sub3) this).aClass413_9291.method7383(696733422)) {
			Class587_Sub17 class587_sub17 = (Class587_Sub17) ((Class84_Sub3) this).aClass413_9291.method7338(-2016236220);
			anIntArray9451[i_303_++] = class587_sub17.anInt9630 * -1022666323;
			if (i_303_ == 1000) {
				OpenGL.glDeleteFramebuffersEXT(i_303_, anIntArray9451, 0);
				i_303_ = 0;
			}
		}
		if (i_303_ > 0) {
			OpenGL.glDeleteFramebuffersEXT(i_303_, anIntArray9451, 0);
			i_303_ = 0;
		}
		while (!((Class84_Sub3) this).aClass413_9358.method7383(312624538)) {
			Class587_Sub17 class587_sub17 = (Class587_Sub17) ((Class84_Sub3) this).aClass413_9358.method7338(-1243342169);
			anIntArray9451[i_303_++] = (int) (class587_sub17.aLong7674 * 3401098856066297101L);
			((Class84_Sub3) this).anInt9441 -= class587_sub17.anInt9630 * -1022666323;
			if (i_303_ == 1000) {
				OpenGL.glDeleteRenderbuffersEXT(i_303_, anIntArray9451, 0);
				i_303_ = 0;
			}
		}
		if (i_303_ > 0) {
			OpenGL.glDeleteRenderbuffersEXT(i_303_, anIntArray9451, 0);
			boolean bool = false;
		}
		while (!((Class84_Sub3) this).aClass413_9354.method7383(89529669)) {
			Class587_Sub17 class587_sub17 = (Class587_Sub17) ((Class84_Sub3) this).aClass413_9354.method7338(-888754875);
			OpenGL.glDeleteLists((int) (class587_sub17.aLong7674 * 3401098856066297101L), class587_sub17.anInt9630 * -1022666323);
		}
		while (!((Class84_Sub3) this).aClass413_9359.method7383(-1121700064)) {
			Class587 class587 = ((Class84_Sub3) this).aClass413_9359.method7338(-329245952);
			OpenGL.glDeleteProgramARB((int) (class587.aLong7674 * 3401098856066297101L));
		}
		while (!((Class84_Sub3) this).aClass413_9360.method7383(-420080679)) {
			Class587 class587 = ((Class84_Sub3) this).aClass413_9360.method7338(-846149873);
			OpenGL.glDeleteShader((int) (class587.aLong7674 * 3401098856066297101L));
		}
		while (!((Class84_Sub3) this).aClass413_9354.method7383(559084547)) {
			Class587_Sub17 class587_sub17 = (Class587_Sub17) ((Class84_Sub3) this).aClass413_9354.method7338(-1655883906);
			OpenGL.glDeleteLists((int) (class587_sub17.aLong7674 * 3401098856066297101L), class587_sub17.anInt9630 * -1022666323);
		}
		((Class84_Sub3) this).aClass161_9406.method3483();
		if (method1877() > 100663296 && (Class121.method2891(-1741397663) > ((Class84_Sub3) this).aLong9468 + 60000L)) {
			System.gc();
			((Class84_Sub3) this).aLong9468 = Class121.method2891(344556638);
		}
		((Class84_Sub3) this).anInt9327 = i;
	}

	public final synchronized void method1993(int i) {
		int i_304_ = 0;
		i &= 0x7fffffff;
		while (!((Class84_Sub3) this).aClass413_9355.method7383(-1655512677)) {
			Class587_Sub17 class587_sub17 = (Class587_Sub17) ((Class84_Sub3) this).aClass413_9355.method7338(-2084669131);
			anIntArray9451[i_304_++] = (int) (class587_sub17.aLong7674 * 3401098856066297101L);
			((Class84_Sub3) this).anInt9352 -= class587_sub17.anInt9630 * -1022666323;
			if (i_304_ == 1000) {
				OpenGL.glDeleteBuffersARB(i_304_, anIntArray9451, 0);
				i_304_ = 0;
			}
		}
		if (i_304_ > 0) {
			OpenGL.glDeleteBuffersARB(i_304_, anIntArray9451, 0);
			i_304_ = 0;
		}
		while (!((Class84_Sub3) this).aClass413_9328.method7383(-1965253956)) {
			Class587_Sub17 class587_sub17 = (Class587_Sub17) ((Class84_Sub3) this).aClass413_9328.method7338(-1444511470);
			anIntArray9451[i_304_++] = (int) (class587_sub17.aLong7674 * 3401098856066297101L);
			((Class84_Sub3) this).anInt9345 -= class587_sub17.anInt9630 * -1022666323;
			if (i_304_ == 1000) {
				OpenGL.glDeleteTextures(i_304_, anIntArray9451, 0);
				i_304_ = 0;
			}
		}
		if (i_304_ > 0) {
			OpenGL.glDeleteTextures(i_304_, anIntArray9451, 0);
			i_304_ = 0;
		}
		while (!((Class84_Sub3) this).aClass413_9291.method7383(-689577305)) {
			Class587_Sub17 class587_sub17 = (Class587_Sub17) ((Class84_Sub3) this).aClass413_9291.method7338(-884043068);
			anIntArray9451[i_304_++] = class587_sub17.anInt9630 * -1022666323;
			if (i_304_ == 1000) {
				OpenGL.glDeleteFramebuffersEXT(i_304_, anIntArray9451, 0);
				i_304_ = 0;
			}
		}
		if (i_304_ > 0) {
			OpenGL.glDeleteFramebuffersEXT(i_304_, anIntArray9451, 0);
			i_304_ = 0;
		}
		while (!((Class84_Sub3) this).aClass413_9358.method7383(338629439)) {
			Class587_Sub17 class587_sub17 = (Class587_Sub17) ((Class84_Sub3) this).aClass413_9358.method7338(-1305548697);
			anIntArray9451[i_304_++] = (int) (class587_sub17.aLong7674 * 3401098856066297101L);
			((Class84_Sub3) this).anInt9441 -= class587_sub17.anInt9630 * -1022666323;
			if (i_304_ == 1000) {
				OpenGL.glDeleteRenderbuffersEXT(i_304_, anIntArray9451, 0);
				i_304_ = 0;
			}
		}
		if (i_304_ > 0) {
			OpenGL.glDeleteRenderbuffersEXT(i_304_, anIntArray9451, 0);
			boolean bool = false;
		}
		while (!((Class84_Sub3) this).aClass413_9354.method7383(1552983577)) {
			Class587_Sub17 class587_sub17 = (Class587_Sub17) ((Class84_Sub3) this).aClass413_9354.method7338(-1393628448);
			OpenGL.glDeleteLists((int) (class587_sub17.aLong7674 * 3401098856066297101L), class587_sub17.anInt9630 * -1022666323);
		}
		while (!((Class84_Sub3) this).aClass413_9359.method7383(-1051520703)) {
			Class587 class587 = ((Class84_Sub3) this).aClass413_9359.method7338(857470012);
			OpenGL.glDeleteProgramARB((int) (class587.aLong7674 * 3401098856066297101L));
		}
		while (!((Class84_Sub3) this).aClass413_9360.method7383(-1048051500)) {
			Class587 class587 = ((Class84_Sub3) this).aClass413_9360.method7338(-1417605140);
			OpenGL.glDeleteShader((int) (class587.aLong7674 * 3401098856066297101L));
		}
		while (!((Class84_Sub3) this).aClass413_9354.method7383(605219725)) {
			Class587_Sub17 class587_sub17 = (Class587_Sub17) ((Class84_Sub3) this).aClass413_9354.method7338(-1234773138);
			OpenGL.glDeleteLists((int) (class587_sub17.aLong7674 * 3401098856066297101L), class587_sub17.anInt9630 * -1022666323);
		}
		((Class84_Sub3) this).aClass161_9406.method3483();
		if (method1877() > 100663296 && (Class121.method2891(-1974031823) > ((Class84_Sub3) this).aLong9468 + 60000L)) {
			System.gc();
			((Class84_Sub3) this).aLong9468 = Class121.method2891(-1220619841);
		}
		((Class84_Sub3) this).anInt9327 = i;
	}

	final void method15463(Interface14 interface14) {
		if (((Class84_Sub3) this).anInterface14_9336 != interface14) {
			if (((Class84_Sub3) this).aBool9322)
				OpenGL.glBindBufferARB(34963, interface14.method51());
			((Class84_Sub3) this).anInterface14_9336 = interface14;
		}
	}

	public boolean method1995() {
		return true;
	}

	public boolean method1996() {
		return true;
	}

	public Interface7 method2167(int i, int i_305_, int i_306_) {
		return new Class587_Sub34_Sub17(this, Class172.aClass172_2152, Class96.aClass96_1388, i, i_305_, i_306_);
	}

	public Class288 method1946() {
		return ((Class84_Sub3) this).aClass288_9341;
	}

	public boolean method1950() {
		return true;
	}

	public boolean method2000() {
		return (((Class84_Sub3) this).aClass587_Sub23_Sub1_9339 != null && (((Class84_Sub3) this).anInt9432 <= 1 || ((Class84_Sub3) this).aBool9313));
	}

	public boolean method2013() {
		return (((Class84_Sub3) this).aClass587_Sub23_Sub1_9339 != null && (((Class84_Sub3) this).anInt9432 <= 1 || ((Class84_Sub3) this).aBool9313));
	}

	void method15464() {
		if (((Class84_Sub3) this).aBool9403 && !((Class84_Sub3) this).aBool9404)
			OpenGL.glEnable(2896);
		else
			OpenGL.glDisable(2896);
	}

	public Class170 method1984() {
		int i = -1;
		if (((Class84_Sub3) this).aString9315.indexOf("nvidia") != -1)
			i = 4318;
		else if (((Class84_Sub3) this).aString9315.indexOf("intel") != -1)
			i = 32902;
		else if (((Class84_Sub3) this).aString9315.indexOf("ati") != -1)
			i = 4098;
		return new Class170(i, "OpenGL", ((Class84_Sub3) this).anInt9447, ((Class84_Sub3) this).aString9457, 0L);
	}

	public boolean method2004() {
		return true;
	}

	final synchronized void method15465(int i) {
		Class587 class587 = new Class587();
		class587.aLong7674 = (long) i * 7798553346842421701L;
		((Class84_Sub3) this).aClass413_9359.method7337(class587, -1524281653);
	}

	public boolean method2100() {
		return true;
	}

	public boolean method2007() {
		return true;
	}

	public void method2046(int i, int i_307_, int i_308_, int i_309_, int i_310_, int i_311_, byte[] is, int i_312_, int i_313_) {
		float f;
		float f_314_;
		if (((Class84_Sub3) this).aClass145_Sub4_Sub1_9443 == null || (((Class145_Sub4_Sub1) ((Class84_Sub3) this).aClass145_Sub4_Sub1_9443).anInt10271 < i_308_) || (((Class145_Sub4_Sub1) ((Class84_Sub3) this).aClass145_Sub4_Sub1_9443).anInt10272 < i_309_)) {
			((Class84_Sub3) this).aClass145_Sub4_Sub1_9443 = Class145_Sub4_Sub1.method16670(this, Class172.aClass172_2144, Class96.aClass96_1386, i_308_, i_309_, false, is, Class172.aClass172_2144);
			((Class84_Sub3) this).aClass145_Sub4_Sub1_9443.method16492(false, false);
			f = ((Class145_Sub4_Sub1) ((Class84_Sub3) this).aClass145_Sub4_Sub1_9443).aFloat10448;
			f_314_ = ((Class145_Sub4_Sub1) ((Class84_Sub3) this).aClass145_Sub4_Sub1_9443).aFloat10447;
		} else {
			((Class84_Sub3) this).aClass145_Sub4_Sub1_9443.method16493(0, 0, i_308_, i_309_, is, Class172.aClass172_2144, 0, 0, false);
			f = (((Class145_Sub4_Sub1) ((Class84_Sub3) this).aClass145_Sub4_Sub1_9443).aFloat10448 * (float) i_309_ / (float) (((Class145_Sub4_Sub1) ((Class84_Sub3) this).aClass145_Sub4_Sub1_9443).anInt10272));
			f_314_ = (((Class145_Sub4_Sub1) ((Class84_Sub3) this).aClass145_Sub4_Sub1_9443).aFloat10447 * (float) i_308_ / (float) (((Class145_Sub4_Sub1) ((Class84_Sub3) this).aClass145_Sub4_Sub1_9443).anInt10271));
		}
		method15435();
		method15440(((Class84_Sub3) this).aClass145_Sub4_Sub1_9443);
		method15409(i_313_);
		OpenGL.glColor4ub((byte) (i_310_ >> 16), (byte) (i_310_ >> 8), (byte) i_310_, (byte) (i_310_ >> 24));
		method15476(i_311_);
		method15443(34165, 34165);
		method15444(0, 34166, 768);
		method15444(2, 5890, 770);
		method15445(0, 34166, 770);
		method15445(2, 5890, 770);
		float f_315_ = (float) i;
		float f_316_ = (float) i_307_;
		float f_317_ = f_315_ + (float) i_308_;
		float f_318_ = f_316_ + (float) i_309_;
		OpenGL.glBegin(7);
		OpenGL.glTexCoord2f(0.0F, 0.0F);
		OpenGL.glVertex2f(f_315_, f_316_);
		OpenGL.glTexCoord2f(0.0F, f_314_);
		OpenGL.glVertex2f(f_315_, f_318_);
		OpenGL.glTexCoord2f(f, f_314_);
		OpenGL.glVertex2f(f_317_, f_318_);
		OpenGL.glTexCoord2f(f, 0.0F);
		OpenGL.glVertex2f(f_317_, f_316_);
		OpenGL.glEnd();
		method15444(0, 5890, 768);
		method15444(2, 34166, 770);
		method15445(0, 5890, 770);
		method15445(2, 34166, 770);
	}

	public boolean method1923() {
		return true;
	}

	void method15466() {
		((Class84_Sub3) this).aClass145Array9344 = new Class145[((Class84_Sub3) this).anInt9450];
		((Class84_Sub3) this).aClass145_Sub4_9357 = new Class145_Sub4(this, 3553, Class172.aClass172_2145, Class96.aClass96_1386, 1, 1);
		new Class145_Sub4(this, 3553, Class172.aClass172_2145, Class96.aClass96_1386, 1, 1);
		new Class145_Sub4(this, 3553, Class172.aClass172_2145, Class96.aClass96_1386, 1, 1);
		for (int i = 0; i < 7; i++) {
			((Class84_Sub3) this).aClass163_Sub1Array9431[i] = new Class163_Sub1(this);
			((Class84_Sub3) this).aClass163_Sub1Array9474[i] = new Class163_Sub1(this);
		}
		if (((Class84_Sub3) this).aBool9453) {
			((Class84_Sub3) this).aClass171_Sub1_Sub3_9475 = new Class171_Sub1_Sub3(this);
			new Class171_Sub1_Sub3(this);
		}
	}

	public void method1905(int i, int i_319_, int i_320_, int i_321_) {
		((Class84_Sub3) this).anInt9398 = i;
		((Class84_Sub3) this).anInt9399 = i_319_;
		((Class84_Sub3) this).anInt9400 = i_320_;
		((Class84_Sub3) this).anInt9401 = i_321_;
		method15411();
	}

	public Class171_Sub1 method1898() {
		return new Class171_Sub1_Sub3(this);
	}

	public boolean method2195() {
		return true;
	}

	public boolean method1878() {
		return true;
	}

	public boolean method2015() {
		return false;
	}

	final void method15467(int i) {
		if (i == 1)
			method15443(7681, 7681);
		else if (i == 0)
			method15443(8448, 8448);
		else if (i == 2)
			method15443(34165, 7681);
		else if (i == 3)
			method15443(260, 8448);
		else if (i == 4)
			method15443(34023, 34023);
	}

	final void method15468(boolean bool) {
		if (bool != ((Class84_Sub3) this).aBool9404) {
			((Class84_Sub3) this).aBool9404 = bool;
			method15464();
		}
	}

	public void method1977() {
		if (((Class84_Sub3) this).aBool9469 && aClass171_1190 != null) {
			int i = ((Class84_Sub3) this).anInt9348;
			int i_322_ = ((Class84_Sub3) this).anInt9395;
			int i_323_ = ((Class84_Sub3) this).anInt9392;
			int i_324_ = ((Class84_Sub3) this).anInt9393;
			method1917();
			int i_325_ = ((Class84_Sub3) this).anInt9398;
			int i_326_ = ((Class84_Sub3) this).anInt9399;
			int i_327_ = ((Class84_Sub3) this).anInt9400;
			int i_328_ = ((Class84_Sub3) this).anInt9401;
			method1904();
			OpenGL.glReadBuffer(1028);
			OpenGL.glDrawBuffer(1029);
			method15543();
			method15449(false);
			method15489(false);
			method15484(false);
			method15451(false);
			method15440(null);
			method15393(-2);
			method15467(1);
			method15409(0);
			OpenGL.glMatrixMode(5889);
			OpenGL.glLoadIdentity();
			OpenGL.glOrtho(0.0, 1.0, 0.0, 1.0, -1.0, 1.0);
			OpenGL.glMatrixMode(5888);
			OpenGL.glLoadIdentity();
			OpenGL.glRasterPos2i(0, 0);
			OpenGL.glCopyPixels(0, 0, aClass171_1190.method3754(), aClass171_1190.method3755(), 6144);
			OpenGL.glFlush();
			OpenGL.glReadBuffer(1029);
			OpenGL.glDrawBuffer(1029);
			method1907(i, i_323_, i_322_, i_324_);
			method1905(i_325_, i_326_, i_327_, i_328_);
		}
	}

	public void method1884() {
		if (((Class84_Sub3) this).aBool9469 && aClass171_1190 != null) {
			int i = ((Class84_Sub3) this).anInt9348;
			int i_329_ = ((Class84_Sub3) this).anInt9395;
			int i_330_ = ((Class84_Sub3) this).anInt9392;
			int i_331_ = ((Class84_Sub3) this).anInt9393;
			method1917();
			int i_332_ = ((Class84_Sub3) this).anInt9398;
			int i_333_ = ((Class84_Sub3) this).anInt9399;
			int i_334_ = ((Class84_Sub3) this).anInt9400;
			int i_335_ = ((Class84_Sub3) this).anInt9401;
			method1904();
			OpenGL.glReadBuffer(1028);
			OpenGL.glDrawBuffer(1029);
			method15543();
			method15449(false);
			method15489(false);
			method15484(false);
			method15451(false);
			method15440(null);
			method15393(-2);
			method15467(1);
			method15409(0);
			OpenGL.glMatrixMode(5889);
			OpenGL.glLoadIdentity();
			OpenGL.glOrtho(0.0, 1.0, 0.0, 1.0, -1.0, 1.0);
			OpenGL.glMatrixMode(5888);
			OpenGL.glLoadIdentity();
			OpenGL.glRasterPos2i(0, 0);
			OpenGL.glCopyPixels(0, 0, aClass171_1190.method3754(), aClass171_1190.method3755(), 6144);
			OpenGL.glFlush();
			OpenGL.glReadBuffer(1029);
			OpenGL.glDrawBuffer(1029);
			method1907(i, i_330_, i_329_, i_331_);
			method1905(i_332_, i_333_, i_334_, i_335_);
		}
	}

	public Class288 method2147() {
		return ((Class84_Sub3) this).aClass288_9341;
	}

	public void method2024(int i, int i_336_, int i_337_, int i_338_) {
		((Class84_Sub3) this).anInt9398 = i;
		((Class84_Sub3) this).anInt9399 = i_336_;
		((Class84_Sub3) this).anInt9400 = i_337_;
		((Class84_Sub3) this).anInt9401 = i_338_;
		method15411();
	}

	public void method2025(float f, float f_339_) {
		((Class84_Sub3) this).aFloat9382 = f;
		((Class84_Sub3) this).aFloat9367 = f_339_;
		method15412();
	}

	public Class135 method2038(int i, int i_340_, boolean bool, boolean bool_341_) {
		return new Class135_Sub1(this, i, i_340_, bool);
	}

	public void method2023(boolean bool) {
		((Class84_Sub3) this).aBool9391 = bool;
		method15452();
	}

	public final void method2028() {
		if (aClass171_1190 != null) {
			((Class84_Sub3) this).anInt9348 = 0;
			((Class84_Sub3) this).anInt9392 = 0;
			((Class84_Sub3) this).anInt9395 = aClass171_1190.method3754();
			((Class84_Sub3) this).anInt9393 = aClass171_1190.method3755();
			OpenGL.glDisable(3089);
		}
	}

	public final void method2029() {
		if (aClass171_1190 != null) {
			((Class84_Sub3) this).anInt9348 = 0;
			((Class84_Sub3) this).anInt9392 = 0;
			((Class84_Sub3) this).anInt9395 = aClass171_1190.method3754();
			((Class84_Sub3) this).anInt9393 = aClass171_1190.method3755();
			OpenGL.glDisable(3089);
		}
	}

	public final void method2061() {
		if (aClass171_1190 != null) {
			((Class84_Sub3) this).anInt9348 = 0;
			((Class84_Sub3) this).anInt9392 = 0;
			((Class84_Sub3) this).anInt9395 = aClass171_1190.method3754();
			((Class84_Sub3) this).anInt9393 = aClass171_1190.method3755();
			OpenGL.glDisable(3089);
		}
	}

	public int method2088(int i, int i_342_) {
		return i | i_342_;
	}

	public final void method2032(int i, int i_343_, int i_344_, int i_345_) {
		if (aClass171_1190 != null) {
			if (i < 0)
				i = 0;
			if (i_344_ > aClass171_1190.method3754())
				i_344_ = aClass171_1190.method3754();
			if (i_343_ < 0)
				i_343_ = 0;
			if (i_345_ > aClass171_1190.method3755())
				i_345_ = aClass171_1190.method3755();
			((Class84_Sub3) this).anInt9348 = i;
			((Class84_Sub3) this).anInt9392 = i_343_;
			((Class84_Sub3) this).anInt9395 = i_344_;
			((Class84_Sub3) this).anInt9393 = i_345_;
			OpenGL.glEnable(3089);
			method15483();
		}
	}

	public Interface7 method1901(int i, int i_346_, int i_347_) {
		return new Class587_Sub34_Sub17(this, Class172.aClass172_2152, Class96.aClass96_1388, i, i_346_, i_347_);
	}

	public final void method1911(int[] is) {
		is[0] = ((Class84_Sub3) this).anInt9348;
		is[1] = ((Class84_Sub3) this).anInt9392;
		is[2] = ((Class84_Sub3) this).anInt9395;
		is[3] = ((Class84_Sub3) this).anInt9393;
	}

	public final void method2121(int i) {
		((Class84_Sub3) this).anInt9347 = 0;
		for (/**/; i > 1; i >>= 1)
			((Class84_Sub3) this).anInt9347++;
		((Class84_Sub3) this).anInt9484 = 1 << ((Class84_Sub3) this).anInt9347;
	}

	public final void method2122(int i) {
		((Class84_Sub3) this).anInt9347 = 0;
		for (/**/; i > 1; i >>= 1)
			((Class84_Sub3) this).anInt9347++;
		((Class84_Sub3) this).anInt9484 = 1 << ((Class84_Sub3) this).anInt9347;
	}

	public Interface11 method2159(int i, int i_348_, Class172 class172, Class96 class96, int i_349_) {
		return new Class587_Sub34_Sub17(this, class172, class96, i, i_348_, i_349_);
	}

	void method15469() {
		aFloatArray9479[0] = (((Class84_Sub3) this).aFloat9413 * ((Class84_Sub3) this).aFloat9465);
		aFloatArray9479[1] = (((Class84_Sub3) this).aFloat9413 * ((Class84_Sub3) this).aFloat9411);
		aFloatArray9479[2] = (((Class84_Sub3) this).aFloat9413 * ((Class84_Sub3) this).aFloat9370);
		aFloatArray9479[3] = 1.0F;
		OpenGL.glLightModelfv(2899, aFloatArray9479, 0);
	}

	public void method2039(int i, int i_350_) {
		int i_351_ = 0;
		if ((i & 0x1) != 0) {
			OpenGL.glClearColor((float) (i_350_ & 0xff0000) / 1.671168E7F, (float) (i_350_ & 0xff00) / 65280.0F, (float) (i_350_ & 0xff) / 255.0F, (float) (i_350_ >>> 24) / 255.0F);
			i_351_ = 16384;
		}
		if ((i & 0x2) != 0) {
			method15451(true);
			i_351_ |= 0x100;
		}
		if ((i & 0x4) != 0)
			i_351_ |= 0x400;
		OpenGL.glClear(i_351_);
	}

	public void method2203(int i, int i_352_) {
		int i_353_ = 0;
		if ((i & 0x1) != 0) {
			OpenGL.glClearColor((float) (i_352_ & 0xff0000) / 1.671168E7F, (float) (i_352_ & 0xff00) / 65280.0F, (float) (i_352_ & 0xff) / 255.0F, (float) (i_352_ >>> 24) / 255.0F);
			i_353_ = 16384;
		}
		if ((i & 0x2) != 0) {
			method15451(true);
			i_353_ |= 0x100;
		}
		if ((i & 0x4) != 0)
			i_353_ |= 0x400;
		OpenGL.glClear(i_353_);
	}

	public void method2041(int i, int i_354_, int i_355_, int i_356_, int i_357_, int i_358_) {
		float f = (float) i + 0.35F;
		float f_359_ = (float) i_354_ + 0.35F;
		float f_360_ = f + (float) i_355_ - 1.0F;
		float f_361_ = f_359_ + (float) i_356_ - 1.0F;
		method15425();
		method15409(i_358_);
		OpenGL.glColor4ub((byte) (i_357_ >> 16), (byte) (i_357_ >> 8), (byte) i_357_, (byte) (i_357_ >> 24));
		if (((Class84_Sub3) this).aBool9456)
			OpenGL.glDisable(32925);
		OpenGL.glBegin(2);
		OpenGL.glVertex2f(f, f_359_);
		OpenGL.glVertex2f(f, f_361_);
		OpenGL.glVertex2f(f_360_, f_361_);
		OpenGL.glVertex2f(f_360_, f_359_);
		OpenGL.glEnd();
		if (((Class84_Sub3) this).aBool9456)
			OpenGL.glEnable(32925);
	}

	final void method15470(int i, int i_362_, int i_363_) {
		OpenGL.glDrawArrays(i, i_362_, i_363_);
	}

	public Class170 method1914() {
		int i = -1;
		if (((Class84_Sub3) this).aString9315.indexOf("nvidia") != -1)
			i = 4318;
		else if (((Class84_Sub3) this).aString9315.indexOf("intel") != -1)
			i = 32902;
		else if (((Class84_Sub3) this).aString9315.indexOf("ati") != -1)
			i = 4098;
		return new Class170(i, "OpenGL", ((Class84_Sub3) this).anInt9447, ((Class84_Sub3) this).aString9457, 0L);
	}

	public void method2044(int i, int i_364_, int i_365_, int i_366_, int i_367_, int i_368_) {
		float f = (float) i + 0.35F;
		float f_369_ = (float) i_364_ + 0.35F;
		float f_370_ = f + (float) i_365_;
		float f_371_ = f_369_ + (float) i_366_;
		method15425();
		method15409(i_368_);
		OpenGL.glColor4ub((byte) (i_367_ >> 16), (byte) (i_367_ >> 8), (byte) i_367_, (byte) (i_367_ >> 24));
		if (((Class84_Sub3) this).aBool9456)
			OpenGL.glDisable(32925);
		OpenGL.glBegin(7);
		OpenGL.glVertex2f(f, f_369_);
		OpenGL.glVertex2f(f, f_371_);
		OpenGL.glVertex2f(f_370_, f_371_);
		OpenGL.glVertex2f(f_370_, f_369_);
		OpenGL.glEnd();
		if (((Class84_Sub3) this).aBool9456)
			OpenGL.glEnable(32925);
	}

	public void method2045(int i, int i_372_, int i_373_, int i_374_, int i_375_, int i_376_, byte[] is, int i_377_, int i_378_) {
		float f;
		float f_379_;
		if (((Class84_Sub3) this).aClass145_Sub4_Sub1_9443 == null || (((Class145_Sub4_Sub1) ((Class84_Sub3) this).aClass145_Sub4_Sub1_9443).anInt10271 < i_373_) || (((Class145_Sub4_Sub1) ((Class84_Sub3) this).aClass145_Sub4_Sub1_9443).anInt10272 < i_374_)) {
			((Class84_Sub3) this).aClass145_Sub4_Sub1_9443 = Class145_Sub4_Sub1.method16670(this, Class172.aClass172_2144, Class96.aClass96_1386, i_373_, i_374_, false, is, Class172.aClass172_2144);
			((Class84_Sub3) this).aClass145_Sub4_Sub1_9443.method16492(false, false);
			f = ((Class145_Sub4_Sub1) ((Class84_Sub3) this).aClass145_Sub4_Sub1_9443).aFloat10448;
			f_379_ = ((Class145_Sub4_Sub1) ((Class84_Sub3) this).aClass145_Sub4_Sub1_9443).aFloat10447;
		} else {
			((Class84_Sub3) this).aClass145_Sub4_Sub1_9443.method16493(0, 0, i_373_, i_374_, is, Class172.aClass172_2144, 0, 0, false);
			f = (((Class145_Sub4_Sub1) ((Class84_Sub3) this).aClass145_Sub4_Sub1_9443).aFloat10448 * (float) i_374_ / (float) (((Class145_Sub4_Sub1) ((Class84_Sub3) this).aClass145_Sub4_Sub1_9443).anInt10272));
			f_379_ = (((Class145_Sub4_Sub1) ((Class84_Sub3) this).aClass145_Sub4_Sub1_9443).aFloat10447 * (float) i_373_ / (float) (((Class145_Sub4_Sub1) ((Class84_Sub3) this).aClass145_Sub4_Sub1_9443).anInt10271));
		}
		method15435();
		method15440(((Class84_Sub3) this).aClass145_Sub4_Sub1_9443);
		method15409(i_378_);
		OpenGL.glColor4ub((byte) (i_375_ >> 16), (byte) (i_375_ >> 8), (byte) i_375_, (byte) (i_375_ >> 24));
		method15476(i_376_);
		method15443(34165, 34165);
		method15444(0, 34166, 768);
		method15444(2, 5890, 770);
		method15445(0, 34166, 770);
		method15445(2, 5890, 770);
		float f_380_ = (float) i;
		float f_381_ = (float) i_372_;
		float f_382_ = f_380_ + (float) i_373_;
		float f_383_ = f_381_ + (float) i_374_;
		OpenGL.glBegin(7);
		OpenGL.glTexCoord2f(0.0F, 0.0F);
		OpenGL.glVertex2f(f_380_, f_381_);
		OpenGL.glTexCoord2f(0.0F, f_379_);
		OpenGL.glVertex2f(f_380_, f_383_);
		OpenGL.glTexCoord2f(f, f_379_);
		OpenGL.glVertex2f(f_382_, f_383_);
		OpenGL.glTexCoord2f(f, 0.0F);
		OpenGL.glVertex2f(f_382_, f_381_);
		OpenGL.glEnd();
		method15444(0, 5890, 768);
		method15444(2, 34166, 770);
		method15445(0, 5890, 770);
		method15445(2, 34166, 770);
	}

	public Class170 method1985() {
		int i = -1;
		if (((Class84_Sub3) this).aString9315.indexOf("nvidia") != -1)
			i = 4318;
		else if (((Class84_Sub3) this).aString9315.indexOf("intel") != -1)
			i = 32902;
		else if (((Class84_Sub3) this).aString9315.indexOf("ati") != -1)
			i = 4098;
		return new Class170(i, "OpenGL", ((Class84_Sub3) this).anInt9447, ((Class84_Sub3) this).aString9457, 0L);
	}

	public void method2081(int i, int i_384_, int i_385_, int i_386_, int i_387_, int i_388_, byte[] is, int i_389_, int i_390_) {
		float f;
		float f_391_;
		if (((Class84_Sub3) this).aClass145_Sub4_Sub1_9443 == null || (((Class145_Sub4_Sub1) ((Class84_Sub3) this).aClass145_Sub4_Sub1_9443).anInt10271 < i_385_) || (((Class145_Sub4_Sub1) ((Class84_Sub3) this).aClass145_Sub4_Sub1_9443).anInt10272 < i_386_)) {
			((Class84_Sub3) this).aClass145_Sub4_Sub1_9443 = Class145_Sub4_Sub1.method16670(this, Class172.aClass172_2144, Class96.aClass96_1386, i_385_, i_386_, false, is, Class172.aClass172_2144);
			((Class84_Sub3) this).aClass145_Sub4_Sub1_9443.method16492(false, false);
			f = ((Class145_Sub4_Sub1) ((Class84_Sub3) this).aClass145_Sub4_Sub1_9443).aFloat10448;
			f_391_ = ((Class145_Sub4_Sub1) ((Class84_Sub3) this).aClass145_Sub4_Sub1_9443).aFloat10447;
		} else {
			((Class84_Sub3) this).aClass145_Sub4_Sub1_9443.method16493(0, 0, i_385_, i_386_, is, Class172.aClass172_2144, 0, 0, false);
			f = (((Class145_Sub4_Sub1) ((Class84_Sub3) this).aClass145_Sub4_Sub1_9443).aFloat10448 * (float) i_386_ / (float) (((Class145_Sub4_Sub1) ((Class84_Sub3) this).aClass145_Sub4_Sub1_9443).anInt10272));
			f_391_ = (((Class145_Sub4_Sub1) ((Class84_Sub3) this).aClass145_Sub4_Sub1_9443).aFloat10447 * (float) i_385_ / (float) (((Class145_Sub4_Sub1) ((Class84_Sub3) this).aClass145_Sub4_Sub1_9443).anInt10271));
		}
		method15435();
		method15440(((Class84_Sub3) this).aClass145_Sub4_Sub1_9443);
		method15409(i_390_);
		OpenGL.glColor4ub((byte) (i_387_ >> 16), (byte) (i_387_ >> 8), (byte) i_387_, (byte) (i_387_ >> 24));
		method15476(i_388_);
		method15443(34165, 34165);
		method15444(0, 34166, 768);
		method15444(2, 5890, 770);
		method15445(0, 34166, 770);
		method15445(2, 5890, 770);
		float f_392_ = (float) i;
		float f_393_ = (float) i_384_;
		float f_394_ = f_392_ + (float) i_385_;
		float f_395_ = f_393_ + (float) i_386_;
		OpenGL.glBegin(7);
		OpenGL.glTexCoord2f(0.0F, 0.0F);
		OpenGL.glVertex2f(f_392_, f_393_);
		OpenGL.glTexCoord2f(0.0F, f_391_);
		OpenGL.glVertex2f(f_392_, f_395_);
		OpenGL.glTexCoord2f(f, f_391_);
		OpenGL.glVertex2f(f_394_, f_395_);
		OpenGL.glTexCoord2f(f, 0.0F);
		OpenGL.glVertex2f(f_394_, f_393_);
		OpenGL.glEnd();
		method15444(0, 5890, 768);
		method15444(2, 34166, 770);
		method15445(0, 5890, 770);
		method15445(2, 34166, 770);
	}

	public void method2139(int i, int i_396_, int i_397_, int i_398_, int i_399_, int i_400_, byte[] is, int i_401_, int i_402_) {
		float f;
		float f_403_;
		if (((Class84_Sub3) this).aClass145_Sub4_Sub1_9443 == null || (((Class145_Sub4_Sub1) ((Class84_Sub3) this).aClass145_Sub4_Sub1_9443).anInt10271 < i_397_) || (((Class145_Sub4_Sub1) ((Class84_Sub3) this).aClass145_Sub4_Sub1_9443).anInt10272 < i_398_)) {
			((Class84_Sub3) this).aClass145_Sub4_Sub1_9443 = Class145_Sub4_Sub1.method16670(this, Class172.aClass172_2144, Class96.aClass96_1386, i_397_, i_398_, false, is, Class172.aClass172_2144);
			((Class84_Sub3) this).aClass145_Sub4_Sub1_9443.method16492(false, false);
			f = ((Class145_Sub4_Sub1) ((Class84_Sub3) this).aClass145_Sub4_Sub1_9443).aFloat10448;
			f_403_ = ((Class145_Sub4_Sub1) ((Class84_Sub3) this).aClass145_Sub4_Sub1_9443).aFloat10447;
		} else {
			((Class84_Sub3) this).aClass145_Sub4_Sub1_9443.method16493(0, 0, i_397_, i_398_, is, Class172.aClass172_2144, 0, 0, false);
			f = (((Class145_Sub4_Sub1) ((Class84_Sub3) this).aClass145_Sub4_Sub1_9443).aFloat10448 * (float) i_398_ / (float) (((Class145_Sub4_Sub1) ((Class84_Sub3) this).aClass145_Sub4_Sub1_9443).anInt10272));
			f_403_ = (((Class145_Sub4_Sub1) ((Class84_Sub3) this).aClass145_Sub4_Sub1_9443).aFloat10447 * (float) i_397_ / (float) (((Class145_Sub4_Sub1) ((Class84_Sub3) this).aClass145_Sub4_Sub1_9443).anInt10271));
		}
		method15435();
		method15440(((Class84_Sub3) this).aClass145_Sub4_Sub1_9443);
		method15409(i_402_);
		OpenGL.glColor4ub((byte) (i_399_ >> 16), (byte) (i_399_ >> 8), (byte) i_399_, (byte) (i_399_ >> 24));
		method15476(i_400_);
		method15443(34165, 34165);
		method15444(0, 34166, 768);
		method15444(2, 5890, 770);
		method15445(0, 34166, 770);
		method15445(2, 5890, 770);
		float f_404_ = (float) i;
		float f_405_ = (float) i_396_;
		float f_406_ = f_404_ + (float) i_397_;
		float f_407_ = f_405_ + (float) i_398_;
		OpenGL.glBegin(7);
		OpenGL.glTexCoord2f(0.0F, 0.0F);
		OpenGL.glVertex2f(f_404_, f_405_);
		OpenGL.glTexCoord2f(0.0F, f_403_);
		OpenGL.glVertex2f(f_404_, f_407_);
		OpenGL.glTexCoord2f(f, f_403_);
		OpenGL.glVertex2f(f_406_, f_407_);
		OpenGL.glTexCoord2f(f, 0.0F);
		OpenGL.glVertex2f(f_406_, f_405_);
		OpenGL.glEnd();
		method15444(0, 5890, 768);
		method15444(2, 34166, 770);
		method15445(0, 5890, 770);
		method15445(2, 34166, 770);
	}

	public final void method1960(float f) {
		if (((Class84_Sub3) this).aFloat9413 != f) {
			((Class84_Sub3) this).aFloat9413 = f;
			method15413();
		}
	}

	void method2050(int i, int i_408_, int i_409_, int i_410_, int i_411_) {
		if (i_409_ < 0)
			i_409_ = -i_409_;
		if (i + i_409_ >= ((Class84_Sub3) this).anInt9348 && i - i_409_ <= ((Class84_Sub3) this).anInt9395 && i_408_ + i_409_ >= ((Class84_Sub3) this).anInt9392 && i_408_ - i_409_ <= ((Class84_Sub3) this).anInt9393) {
			method15425();
			method15409(i_411_);
			OpenGL.glColor4ub((byte) (i_410_ >> 16), (byte) (i_410_ >> 8), (byte) i_410_, (byte) (i_410_ >> 24));
			float f = (float) i + 0.35F;
			float f_412_ = (float) i_408_ + 0.35F;
			int i_413_ = i_409_ << 1;
			if ((float) i_413_ < ((Class84_Sub3) this).aFloat9472) {
				OpenGL.glBegin(7);
				OpenGL.glVertex2f(f + 1.0F, f_412_ + 1.0F);
				OpenGL.glVertex2f(f + 1.0F, f_412_ - 1.0F);
				OpenGL.glVertex2f(f - 1.0F, f_412_ - 1.0F);
				OpenGL.glVertex2f(f - 1.0F, f_412_ + 1.0F);
				OpenGL.glEnd();
			} else if ((float) i_413_ <= ((Class84_Sub3) this).aFloat9320) {
				OpenGL.glEnable(2832);
				OpenGL.glPointSize((float) i_413_);
				OpenGL.glBegin(0);
				OpenGL.glVertex2f(f, f_412_);
				OpenGL.glEnd();
				OpenGL.glDisable(2832);
			} else {
				OpenGL.glBegin(6);
				OpenGL.glVertex2f(f, f_412_);
				int i_414_ = 262144 / (6 * i_409_);
				if (i_414_ <= 64)
					i_414_ = 64;
				else if (i_414_ > 512)
					i_414_ = 512;
				i_414_ = Class410_Sub1.method14173(i_414_, -1057144024);
				OpenGL.glVertex2f(f + (float) i_409_, f_412_);
				for (int i_415_ = 16384 - i_414_; i_415_ > 0; i_415_ -= i_414_)
					OpenGL.glVertex2f(f + (Class136.aFloatArray1738[i_415_] * (float) i_409_), f_412_ + (Class136.aFloatArray1739[i_415_]) * (float) i_409_);
				OpenGL.glVertex2f(f + (float) i_409_, f_412_);
				OpenGL.glEnd();
			}
		}
	}

	void method2051(int i, int i_416_, int i_417_, int i_418_, int i_419_) {
		if (i_417_ < 0)
			i_417_ = -i_417_;
		if (i + i_417_ >= ((Class84_Sub3) this).anInt9348 && i - i_417_ <= ((Class84_Sub3) this).anInt9395 && i_416_ + i_417_ >= ((Class84_Sub3) this).anInt9392 && i_416_ - i_417_ <= ((Class84_Sub3) this).anInt9393) {
			method15425();
			method15409(i_419_);
			OpenGL.glColor4ub((byte) (i_418_ >> 16), (byte) (i_418_ >> 8), (byte) i_418_, (byte) (i_418_ >> 24));
			float f = (float) i + 0.35F;
			float f_420_ = (float) i_416_ + 0.35F;
			int i_421_ = i_417_ << 1;
			if ((float) i_421_ < ((Class84_Sub3) this).aFloat9472) {
				OpenGL.glBegin(7);
				OpenGL.glVertex2f(f + 1.0F, f_420_ + 1.0F);
				OpenGL.glVertex2f(f + 1.0F, f_420_ - 1.0F);
				OpenGL.glVertex2f(f - 1.0F, f_420_ - 1.0F);
				OpenGL.glVertex2f(f - 1.0F, f_420_ + 1.0F);
				OpenGL.glEnd();
			} else if ((float) i_421_ <= ((Class84_Sub3) this).aFloat9320) {
				OpenGL.glEnable(2832);
				OpenGL.glPointSize((float) i_421_);
				OpenGL.glBegin(0);
				OpenGL.glVertex2f(f, f_420_);
				OpenGL.glEnd();
				OpenGL.glDisable(2832);
			} else {
				OpenGL.glBegin(6);
				OpenGL.glVertex2f(f, f_420_);
				int i_422_ = 262144 / (6 * i_417_);
				if (i_422_ <= 64)
					i_422_ = 64;
				else if (i_422_ > 512)
					i_422_ = 512;
				i_422_ = Class410_Sub1.method14173(i_422_, 114190933);
				OpenGL.glVertex2f(f + (float) i_417_, f_420_);
				for (int i_423_ = 16384 - i_422_; i_423_ > 0; i_423_ -= i_422_)
					OpenGL.glVertex2f(f + (Class136.aFloatArray1738[i_423_] * (float) i_417_), f_420_ + (Class136.aFloatArray1739[i_423_]) * (float) i_417_);
				OpenGL.glVertex2f(f + (float) i_417_, f_420_);
				OpenGL.glEnd();
			}
		}
	}

	final void method15471(int i, int i_424_, int i_425_) {
		OpenGL.glTexEnvi(8960, 34184 + i, i_424_);
		OpenGL.glTexEnvi(8960, 34200 + i, i_425_);
	}

	public void method2053(int i, int i_426_, int i_427_, int i_428_, int i_429_) {
		method15425();
		method15409(i_429_);
		float f = (float) i + 0.35F;
		float f_430_ = (float) i_426_ + 0.35F;
		OpenGL.glColor4ub((byte) (i_428_ >> 16), (byte) (i_428_ >> 8), (byte) i_428_, (byte) (i_428_ >> 24));
		OpenGL.glBegin(1);
		OpenGL.glVertex2f(f, f_430_);
		OpenGL.glVertex2f(f + (float) i_427_, f_430_);
		OpenGL.glEnd();
	}

	public void method1880(int i, int i_431_, int i_432_, int i_433_, int i_434_) {
		method15425();
		method15409(i_434_);
		float f = (float) i + 0.35F;
		float f_435_ = (float) i_431_ + 0.35F;
		OpenGL.glColor4ub((byte) (i_433_ >> 16), (byte) (i_433_ >> 8), (byte) i_433_, (byte) (i_433_ >> 24));
		OpenGL.glBegin(1);
		OpenGL.glVertex2f(f, f_435_);
		OpenGL.glVertex2f(f, f_435_ + (float) i_432_);
		OpenGL.glEnd();
	}

	public void method2186(int i, int i_436_, int i_437_, int i_438_, int i_439_) {
		method15425();
		method15409(i_439_);
		float f = (float) i + 0.35F;
		float f_440_ = (float) i_436_ + 0.35F;
		OpenGL.glColor4ub((byte) (i_438_ >> 16), (byte) (i_438_ >> 8), (byte) i_438_, (byte) (i_438_ >> 24));
		OpenGL.glBegin(1);
		OpenGL.glVertex2f(f, f_440_);
		OpenGL.glVertex2f(f, f_440_ + (float) i_437_);
		OpenGL.glEnd();
	}

	public void method2056(int i, int i_441_, int i_442_, int i_443_, int i_444_) {
		method15425();
		method15409(i_444_);
		float f = (float) i + 0.35F;
		float f_445_ = (float) i_441_ + 0.35F;
		OpenGL.glColor4ub((byte) (i_443_ >> 16), (byte) (i_443_ >> 8), (byte) i_443_, (byte) (i_443_ >> 24));
		OpenGL.glBegin(1);
		OpenGL.glVertex2f(f, f_445_);
		OpenGL.glVertex2f(f, f_445_ + (float) i_442_);
		OpenGL.glEnd();
	}

	void method15472() {
		int i = aClass171_1190.method3754();
		int i_446_ = aClass171_1190.method3755();
		((Class84_Sub3) this).aClass288_9374.method5757(0.0F, (float) i, 0.0F, (float) i_446_, -1.0F, 1.0F);
		method1904();
		method15543();
		method1917();
	}

	public void method2058(int i, int i_447_, int i_448_, int i_449_, int i_450_, int i_451_, int i_452_, int i_453_, int i_454_) {
		if (i != i_448_ || i_447_ != i_449_) {
			method15425();
			method15409(i_451_);
			float f = (float) i_448_ - (float) i;
			float f_455_ = (float) i_449_ - (float) i_447_;
			float f_456_ = (float) (1.0 / Math.sqrt((double) (f * f + f_455_ * f_455_)));
			f *= f_456_;
			f_455_ *= f_456_;
			OpenGL.glColor4ub((byte) (i_450_ >> 16), (byte) (i_450_ >> 8), (byte) i_450_, (byte) (i_450_ >> 24));
			i_454_ %= i_453_ + i_452_;
			float f_457_ = f * (float) i_452_;
			float f_458_ = f_455_ * (float) i_452_;
			float f_459_ = 0.0F;
			float f_460_ = 0.0F;
			float f_461_ = f_457_;
			float f_462_ = f_458_;
			if (i_454_ > i_452_) {
				f_459_ = f * (float) (i_452_ + i_453_ - i_454_);
				f_460_ = f_455_ * (float) (i_452_ + i_453_ - i_454_);
			} else {
				f_461_ = f * (float) (i_452_ - i_454_);
				f_462_ = f_455_ * (float) (i_452_ - i_454_);
			}
			float f_463_ = (float) i + 0.35F + f_459_;
			float f_464_ = (float) i_447_ + 0.35F + f_460_;
			float f_465_ = f * (float) i_453_;
			float f_466_ = f_455_ * (float) i_453_;
			for (;;) {
				if (i_448_ > i) {
					if (f_463_ > (float) i_448_ + 0.35F)
						break;
					if (f_463_ + f_461_ > (float) i_448_)
						f_461_ = (float) i_448_ - f_463_;
				} else {
					if (f_463_ < (float) i_448_ + 0.35F)
						break;
					if (f_463_ + f_461_ < (float) i_448_)
						f_461_ = (float) i_448_ - f_463_;
				}
				if (i_449_ > i_447_) {
					if (f_464_ > (float) i_449_ + 0.35F)
						break;
					if (f_464_ + f_462_ > (float) i_449_)
						f_462_ = (float) i_449_ - f_464_;
				} else {
					if (f_464_ < (float) i_449_ + 0.35F)
						break;
					if (f_464_ + f_462_ < (float) i_449_)
						f_462_ = (float) i_449_ - f_464_;
				}
				OpenGL.glBegin(1);
				OpenGL.glVertex2f(f_463_, f_464_);
				OpenGL.glVertex2f(f_463_ + f_461_, f_464_ + f_462_);
				OpenGL.glEnd();
				f_463_ += f_465_ + f_461_;
				f_464_ += f_466_ + f_462_;
				f_461_ = f_457_;
				f_462_ = f_458_;
			}
		}
	}

	public void method2059(int i, int i_467_, int i_468_, int i_469_, int i_470_, int i_471_, int i_472_, int i_473_, int i_474_) {
		if (i != i_468_ || i_467_ != i_469_) {
			method15425();
			method15409(i_471_);
			float f = (float) i_468_ - (float) i;
			float f_475_ = (float) i_469_ - (float) i_467_;
			float f_476_ = (float) (1.0 / Math.sqrt((double) (f * f + f_475_ * f_475_)));
			f *= f_476_;
			f_475_ *= f_476_;
			OpenGL.glColor4ub((byte) (i_470_ >> 16), (byte) (i_470_ >> 8), (byte) i_470_, (byte) (i_470_ >> 24));
			i_474_ %= i_473_ + i_472_;
			float f_477_ = f * (float) i_472_;
			float f_478_ = f_475_ * (float) i_472_;
			float f_479_ = 0.0F;
			float f_480_ = 0.0F;
			float f_481_ = f_477_;
			float f_482_ = f_478_;
			if (i_474_ > i_472_) {
				f_479_ = f * (float) (i_472_ + i_473_ - i_474_);
				f_480_ = f_475_ * (float) (i_472_ + i_473_ - i_474_);
			} else {
				f_481_ = f * (float) (i_472_ - i_474_);
				f_482_ = f_475_ * (float) (i_472_ - i_474_);
			}
			float f_483_ = (float) i + 0.35F + f_479_;
			float f_484_ = (float) i_467_ + 0.35F + f_480_;
			float f_485_ = f * (float) i_473_;
			float f_486_ = f_475_ * (float) i_473_;
			for (;;) {
				if (i_468_ > i) {
					if (f_483_ > (float) i_468_ + 0.35F)
						break;
					if (f_483_ + f_481_ > (float) i_468_)
						f_481_ = (float) i_468_ - f_483_;
				} else {
					if (f_483_ < (float) i_468_ + 0.35F)
						break;
					if (f_483_ + f_481_ < (float) i_468_)
						f_481_ = (float) i_468_ - f_483_;
				}
				if (i_469_ > i_467_) {
					if (f_484_ > (float) i_469_ + 0.35F)
						break;
					if (f_484_ + f_482_ > (float) i_469_)
						f_482_ = (float) i_469_ - f_484_;
				} else {
					if (f_484_ < (float) i_469_ + 0.35F)
						break;
					if (f_484_ + f_482_ < (float) i_469_)
						f_482_ = (float) i_469_ - f_484_;
				}
				OpenGL.glBegin(1);
				OpenGL.glVertex2f(f_483_, f_484_);
				OpenGL.glVertex2f(f_483_ + f_481_, f_484_ + f_482_);
				OpenGL.glEnd();
				f_483_ += f_485_ + f_481_;
				f_484_ += f_486_ + f_482_;
				f_481_ = f_477_;
				f_482_ = f_478_;
			}
		}
	}

	public void method2060(int i, int i_487_, int i_488_, int i_489_, int i_490_, int i_491_, int i_492_, int i_493_, int i_494_) {
		if (i != i_488_ || i_487_ != i_489_) {
			method15425();
			method15409(i_491_);
			float f = (float) i_488_ - (float) i;
			float f_495_ = (float) i_489_ - (float) i_487_;
			float f_496_ = (float) (1.0 / Math.sqrt((double) (f * f + f_495_ * f_495_)));
			f *= f_496_;
			f_495_ *= f_496_;
			OpenGL.glColor4ub((byte) (i_490_ >> 16), (byte) (i_490_ >> 8), (byte) i_490_, (byte) (i_490_ >> 24));
			i_494_ %= i_493_ + i_492_;
			float f_497_ = f * (float) i_492_;
			float f_498_ = f_495_ * (float) i_492_;
			float f_499_ = 0.0F;
			float f_500_ = 0.0F;
			float f_501_ = f_497_;
			float f_502_ = f_498_;
			if (i_494_ > i_492_) {
				f_499_ = f * (float) (i_492_ + i_493_ - i_494_);
				f_500_ = f_495_ * (float) (i_492_ + i_493_ - i_494_);
			} else {
				f_501_ = f * (float) (i_492_ - i_494_);
				f_502_ = f_495_ * (float) (i_492_ - i_494_);
			}
			float f_503_ = (float) i + 0.35F + f_499_;
			float f_504_ = (float) i_487_ + 0.35F + f_500_;
			float f_505_ = f * (float) i_493_;
			float f_506_ = f_495_ * (float) i_493_;
			for (;;) {
				if (i_488_ > i) {
					if (f_503_ > (float) i_488_ + 0.35F)
						break;
					if (f_503_ + f_501_ > (float) i_488_)
						f_501_ = (float) i_488_ - f_503_;
				} else {
					if (f_503_ < (float) i_488_ + 0.35F)
						break;
					if (f_503_ + f_501_ < (float) i_488_)
						f_501_ = (float) i_488_ - f_503_;
				}
				if (i_489_ > i_487_) {
					if (f_504_ > (float) i_489_ + 0.35F)
						break;
					if (f_504_ + f_502_ > (float) i_489_)
						f_502_ = (float) i_489_ - f_504_;
				} else {
					if (f_504_ < (float) i_489_ + 0.35F)
						break;
					if (f_504_ + f_502_ < (float) i_489_)
						f_502_ = (float) i_489_ - f_504_;
				}
				OpenGL.glBegin(1);
				OpenGL.glVertex2f(f_503_, f_504_);
				OpenGL.glVertex2f(f_503_ + f_501_, f_504_ + f_502_);
				OpenGL.glEnd();
				f_503_ += f_505_ + f_501_;
				f_504_ += f_506_ + f_502_;
				f_501_ = f_497_;
				f_502_ = f_498_;
			}
		}
	}

	public void method1882(int i, int i_507_, int i_508_, int i_509_, int i_510_, int i_511_, Class134 class134, int i_512_, int i_513_) {
		Class134_Sub3 class134_sub3 = (Class134_Sub3) class134;
		Class145_Sub4_Sub1 class145_sub4_sub1 = ((Class134_Sub3) class134_sub3).aClass145_Sub4_Sub1_9608;
		method15435();
		method15440(((Class134_Sub3) class134_sub3).aClass145_Sub4_Sub1_9608);
		method15409(i_511_);
		method15443(7681, 8448);
		method15444(0, 34167, 768);
		float f = (((Class145_Sub4_Sub1) class145_sub4_sub1).aFloat10447 / (float) ((Class145_Sub4_Sub1) class145_sub4_sub1).anInt10449);
		float f_514_ = (((Class145_Sub4_Sub1) class145_sub4_sub1).aFloat10448 / (float) ((Class145_Sub4_Sub1) class145_sub4_sub1).anInt10446);
		float f_515_ = (float) i_508_ - (float) i;
		float f_516_ = (float) i_509_ - (float) i_507_;
		float f_517_ = (float) (1.0 / Math.sqrt((double) (f_515_ * f_515_ + f_516_ * f_516_)));
		f_515_ *= f_517_;
		f_516_ *= f_517_;
		OpenGL.glColor4ub((byte) (i_510_ >> 16), (byte) (i_510_ >> 8), (byte) i_510_, (byte) (i_510_ >> 24));
		OpenGL.glBegin(1);
		OpenGL.glTexCoord2f(f * (float) (i - i_512_), f_514_ * (float) (i_507_ - i_513_));
		OpenGL.glVertex2f((float) i + 0.35F, (float) i_507_ + 0.35F);
		OpenGL.glTexCoord2f(f * (float) (i_508_ - i_512_), f_514_ * (float) (i_509_ - i_513_));
		OpenGL.glVertex2f((float) i_508_ + f_515_ + 0.35F, (float) i_509_ + f_516_ + 0.35F);
		OpenGL.glEnd();
		method15444(0, 5890, 768);
	}

	public void method2062(int i, int i_518_, int i_519_, int i_520_, int i_521_, int i_522_, Class134 class134, int i_523_, int i_524_, int i_525_, int i_526_, int i_527_) {
		if (i != i_519_ || i_518_ != i_520_) {
			Class134_Sub3 class134_sub3 = (Class134_Sub3) class134;
			Class145_Sub4_Sub1 class145_sub4_sub1 = ((Class134_Sub3) class134_sub3).aClass145_Sub4_Sub1_9608;
			method15435();
			method15440(((Class134_Sub3) class134_sub3).aClass145_Sub4_Sub1_9608);
			method15409(i_522_);
			method15443(7681, 8448);
			method15444(0, 34167, 768);
			float f = (((Class145_Sub4_Sub1) class145_sub4_sub1).aFloat10447 / (float) (((Class145_Sub4_Sub1) class145_sub4_sub1).anInt10449));
			float f_528_ = (((Class145_Sub4_Sub1) class145_sub4_sub1).aFloat10448 / (float) (((Class145_Sub4_Sub1) class145_sub4_sub1).anInt10446));
			float f_529_ = (float) i_519_ - (float) i;
			float f_530_ = (float) i_520_ - (float) i_518_;
			float f_531_ = (float) (1.0 / Math.sqrt((double) (f_529_ * f_529_ + f_530_ * f_530_)));
			f_529_ *= f_531_;
			f_530_ *= f_531_;
			OpenGL.glColor4ub((byte) (i_521_ >> 16), (byte) (i_521_ >> 8), (byte) i_521_, (byte) (i_521_ >> 24));
			i_527_ %= i_526_ + i_525_;
			float f_532_ = f_529_ * (float) i_525_;
			float f_533_ = f_530_ * (float) i_525_;
			float f_534_ = 0.0F;
			float f_535_ = 0.0F;
			float f_536_ = f_532_;
			float f_537_ = f_533_;
			if (i_527_ > i_525_) {
				f_534_ = f_529_ * (float) (i_525_ + i_526_ - i_527_);
				f_535_ = f_530_ * (float) (i_525_ + i_526_ - i_527_);
			} else {
				f_536_ = f_529_ * (float) (i_525_ - i_527_);
				f_537_ = f_530_ * (float) (i_525_ - i_527_);
			}
			float f_538_ = (float) i + 0.35F + f_534_;
			float f_539_ = (float) i_518_ + 0.35F + f_535_;
			float f_540_ = f_529_ * (float) i_526_;
			float f_541_ = f_530_ * (float) i_526_;
			for (;;) {
				if (i_519_ > i) {
					if (f_538_ > (float) i_519_ + 0.35F)
						break;
					if (f_538_ + f_536_ > (float) i_519_)
						f_536_ = (float) i_519_ - f_538_;
				} else {
					if (f_538_ < (float) i_519_ + 0.35F)
						break;
					if (f_538_ + f_536_ < (float) i_519_)
						f_536_ = (float) i_519_ - f_538_;
				}
				if (i_520_ > i_518_) {
					if (f_539_ > (float) i_520_ + 0.35F)
						break;
					if (f_539_ + f_537_ > (float) i_520_)
						f_537_ = (float) i_520_ - f_539_;
				} else {
					if (f_539_ < (float) i_520_ + 0.35F)
						break;
					if (f_539_ + f_537_ < (float) i_520_)
						f_537_ = (float) i_520_ - f_539_;
				}
				OpenGL.glBegin(1);
				OpenGL.glTexCoord2f(f * (f_538_ - (float) i_523_), f_528_ * (f_539_ - (float) i_524_));
				OpenGL.glVertex2f(f_538_, f_539_);
				OpenGL.glTexCoord2f(f * (f_538_ + f_536_ - (float) i_523_), f_528_ * (f_539_ + f_537_ - (float) i_524_));
				OpenGL.glVertex2f(f_538_ + f_536_, f_539_ + f_537_);
				OpenGL.glEnd();
				f_538_ += f_540_ + f_536_;
				f_539_ += f_541_ + f_537_;
				f_536_ = f_532_;
				f_537_ = f_533_;
			}
			method15444(0, 5890, 768);
		}
	}

	public int method1871(int i, int i_542_, int i_543_, int i_544_, int i_545_, int i_546_) {
		int i_547_ = 0;
		float f = (((Class84_Sub3) this).aClass288_9375.aFloatArray4285[14] + (((Class84_Sub3) this).aClass288_9375.aFloatArray4285[2] * (float) i) + (((Class84_Sub3) this).aClass288_9375.aFloatArray4285[6] * (float) i_542_) + (((Class84_Sub3) this).aClass288_9375.aFloatArray4285[10] * (float) i_543_));
		float f_548_ = (((Class84_Sub3) this).aClass288_9375.aFloatArray4285[14] + (((Class84_Sub3) this).aClass288_9375.aFloatArray4285[2] * (float) i_544_) + (((Class84_Sub3) this).aClass288_9375.aFloatArray4285[6] * (float) i_545_) + (((Class84_Sub3) this).aClass288_9375.aFloatArray4285[10] * (float) i_546_));
		float f_549_ = (((Class84_Sub3) this).aClass288_9375.aFloatArray4285[15] + (((Class84_Sub3) this).aClass288_9375.aFloatArray4285[3] * (float) i) + (((Class84_Sub3) this).aClass288_9375.aFloatArray4285[7] * (float) i_542_) + (((Class84_Sub3) this).aClass288_9375.aFloatArray4285[11] * (float) i_543_));
		float f_550_ = (((Class84_Sub3) this).aClass288_9375.aFloatArray4285[15] + (((Class84_Sub3) this).aClass288_9375.aFloatArray4285[3] * (float) i_544_) + (((Class84_Sub3) this).aClass288_9375.aFloatArray4285[7] * (float) i_545_) + (((Class84_Sub3) this).aClass288_9375.aFloatArray4285[11] * (float) i_546_));
		if (f < -f_549_ && f_548_ < -f_550_)
			i_547_ |= 0x10;
		else if (f > f_549_ && f_548_ > f_550_)
			i_547_ |= 0x20;
		float f_551_ = (((Class84_Sub3) this).aClass288_9375.aFloatArray4285[12] + (((Class84_Sub3) this).aClass288_9375.aFloatArray4285[0] * (float) i) + (((Class84_Sub3) this).aClass288_9375.aFloatArray4285[4] * (float) i_542_) + (((Class84_Sub3) this).aClass288_9375.aFloatArray4285[8] * (float) i_543_));
		float f_552_ = (((Class84_Sub3) this).aClass288_9375.aFloatArray4285[12] + (((Class84_Sub3) this).aClass288_9375.aFloatArray4285[0] * (float) i_544_) + (((Class84_Sub3) this).aClass288_9375.aFloatArray4285[4] * (float) i_545_) + (((Class84_Sub3) this).aClass288_9375.aFloatArray4285[8] * (float) i_546_));
		if (f_551_ < -f_549_ && f_552_ < -f_550_)
			i_547_ |= 0x1;
		if (f_551_ > f_549_ && f_552_ > f_550_)
			i_547_ |= 0x2;
		float f_553_ = (((Class84_Sub3) this).aClass288_9375.aFloatArray4285[13] + (((Class84_Sub3) this).aClass288_9375.aFloatArray4285[1] * (float) i) + (((Class84_Sub3) this).aClass288_9375.aFloatArray4285[5] * (float) i_542_) + (((Class84_Sub3) this).aClass288_9375.aFloatArray4285[9] * (float) i_543_));
		float f_554_ = (((Class84_Sub3) this).aClass288_9375.aFloatArray4285[13] + (((Class84_Sub3) this).aClass288_9375.aFloatArray4285[1] * (float) i_544_) + (((Class84_Sub3) this).aClass288_9375.aFloatArray4285[5] * (float) i_545_) + (((Class84_Sub3) this).aClass288_9375.aFloatArray4285[9] * (float) i_546_));
		if (f_553_ < -f_549_ && f_554_ < -f_550_)
			i_547_ |= 0x4;
		if (f_553_ > f_549_ && f_554_ > f_550_)
			i_547_ |= 0x8;
		return i_547_;
	}

	public int method2064(int i, int i_555_, int i_556_, int i_557_, int i_558_, int i_559_) {
		int i_560_ = 0;
		float f = (((Class84_Sub3) this).aClass288_9375.aFloatArray4285[14] + (((Class84_Sub3) this).aClass288_9375.aFloatArray4285[2] * (float) i) + (((Class84_Sub3) this).aClass288_9375.aFloatArray4285[6] * (float) i_555_) + (((Class84_Sub3) this).aClass288_9375.aFloatArray4285[10] * (float) i_556_));
		float f_561_ = (((Class84_Sub3) this).aClass288_9375.aFloatArray4285[14] + (((Class84_Sub3) this).aClass288_9375.aFloatArray4285[2] * (float) i_557_) + (((Class84_Sub3) this).aClass288_9375.aFloatArray4285[6] * (float) i_558_) + (((Class84_Sub3) this).aClass288_9375.aFloatArray4285[10] * (float) i_559_));
		float f_562_ = (((Class84_Sub3) this).aClass288_9375.aFloatArray4285[15] + (((Class84_Sub3) this).aClass288_9375.aFloatArray4285[3] * (float) i) + (((Class84_Sub3) this).aClass288_9375.aFloatArray4285[7] * (float) i_555_) + (((Class84_Sub3) this).aClass288_9375.aFloatArray4285[11] * (float) i_556_));
		float f_563_ = (((Class84_Sub3) this).aClass288_9375.aFloatArray4285[15] + (((Class84_Sub3) this).aClass288_9375.aFloatArray4285[3] * (float) i_557_) + (((Class84_Sub3) this).aClass288_9375.aFloatArray4285[7] * (float) i_558_) + (((Class84_Sub3) this).aClass288_9375.aFloatArray4285[11] * (float) i_559_));
		if (f < -f_562_ && f_561_ < -f_563_)
			i_560_ |= 0x10;
		else if (f > f_562_ && f_561_ > f_563_)
			i_560_ |= 0x20;
		float f_564_ = (((Class84_Sub3) this).aClass288_9375.aFloatArray4285[12] + (((Class84_Sub3) this).aClass288_9375.aFloatArray4285[0] * (float) i) + (((Class84_Sub3) this).aClass288_9375.aFloatArray4285[4] * (float) i_555_) + (((Class84_Sub3) this).aClass288_9375.aFloatArray4285[8] * (float) i_556_));
		float f_565_ = (((Class84_Sub3) this).aClass288_9375.aFloatArray4285[12] + (((Class84_Sub3) this).aClass288_9375.aFloatArray4285[0] * (float) i_557_) + (((Class84_Sub3) this).aClass288_9375.aFloatArray4285[4] * (float) i_558_) + (((Class84_Sub3) this).aClass288_9375.aFloatArray4285[8] * (float) i_559_));
		if (f_564_ < -f_562_ && f_565_ < -f_563_)
			i_560_ |= 0x1;
		if (f_564_ > f_562_ && f_565_ > f_563_)
			i_560_ |= 0x2;
		float f_566_ = (((Class84_Sub3) this).aClass288_9375.aFloatArray4285[13] + (((Class84_Sub3) this).aClass288_9375.aFloatArray4285[1] * (float) i) + (((Class84_Sub3) this).aClass288_9375.aFloatArray4285[5] * (float) i_555_) + (((Class84_Sub3) this).aClass288_9375.aFloatArray4285[9] * (float) i_556_));
		float f_567_ = (((Class84_Sub3) this).aClass288_9375.aFloatArray4285[13] + (((Class84_Sub3) this).aClass288_9375.aFloatArray4285[1] * (float) i_557_) + (((Class84_Sub3) this).aClass288_9375.aFloatArray4285[5] * (float) i_558_) + (((Class84_Sub3) this).aClass288_9375.aFloatArray4285[9] * (float) i_559_));
		if (f_566_ < -f_562_ && f_567_ < -f_563_)
			i_560_ |= 0x4;
		if (f_566_ > f_562_ && f_567_ > f_563_)
			i_560_ |= 0x8;
		return i_560_;
	}

	public Class163 method2086(Class94 class94, int i, int i_568_, int i_569_, int i_570_) {
		return new Class163_Sub1(this, class94, i, i_569_, i_570_, i_568_);
	}

	public void method1889(Class587_Sub25 class587_sub25) {
		((Class84_Sub3) this).aNativeHeap9405 = (((Class587_Sub25_Sub1) (Class587_Sub25_Sub1) class587_sub25).aNativeHeap10338);
		if (((Class84_Sub3) this).anInterface9_9387 == null) {
			Class587_Sub4_Sub2 class587_sub4_sub2 = new Class587_Sub4_Sub2(80);
			if (((Class84_Sub3) this).aBool9448) {
				class587_sub4_sub2.method16801(-1.0F);
				class587_sub4_sub2.method16801(-1.0F);
				class587_sub4_sub2.method16801(0.0F);
				class587_sub4_sub2.method16801(0.0F);
				class587_sub4_sub2.method16801(0.0F);
				class587_sub4_sub2.method16801(-1.0F);
				class587_sub4_sub2.method16801(1.0F);
				class587_sub4_sub2.method16801(0.0F);
				class587_sub4_sub2.method16801(0.0F);
				class587_sub4_sub2.method16801(1.0F);
				class587_sub4_sub2.method16801(1.0F);
				class587_sub4_sub2.method16801(1.0F);
				class587_sub4_sub2.method16801(0.0F);
				class587_sub4_sub2.method16801(1.0F);
				class587_sub4_sub2.method16801(1.0F);
				class587_sub4_sub2.method16801(1.0F);
				class587_sub4_sub2.method16801(-1.0F);
				class587_sub4_sub2.method16801(0.0F);
				class587_sub4_sub2.method16801(1.0F);
				class587_sub4_sub2.method16801(0.0F);
			} else {
				class587_sub4_sub2.method16802(-1.0F);
				class587_sub4_sub2.method16802(-1.0F);
				class587_sub4_sub2.method16802(0.0F);
				class587_sub4_sub2.method16802(0.0F);
				class587_sub4_sub2.method16802(0.0F);
				class587_sub4_sub2.method16802(-1.0F);
				class587_sub4_sub2.method16802(1.0F);
				class587_sub4_sub2.method16802(0.0F);
				class587_sub4_sub2.method16802(0.0F);
				class587_sub4_sub2.method16802(1.0F);
				class587_sub4_sub2.method16802(1.0F);
				class587_sub4_sub2.method16802(1.0F);
				class587_sub4_sub2.method16802(0.0F);
				class587_sub4_sub2.method16802(1.0F);
				class587_sub4_sub2.method16802(1.0F);
				class587_sub4_sub2.method16802(1.0F);
				class587_sub4_sub2.method16802(-1.0F);
				class587_sub4_sub2.method16802(0.0F);
				class587_sub4_sub2.method16802(1.0F);
				class587_sub4_sub2.method16802(0.0F);
			}
			((Class84_Sub3) this).anInterface9_9387 = method15482(20, class587_sub4_sub2.aByteArray8460, class587_sub4_sub2.anInt8458 * -1961774223, false);
			((Class84_Sub3) this).aClass152_9476 = new Class152(((Class84_Sub3) this).anInterface9_9387, 5126, 3, 0);
			((Class84_Sub3) this).aClass152_9477 = new Class152(((Class84_Sub3) this).anInterface9_9387, 5126, 2, 12);
			((Class84_Sub3) this).aClass143_9340.method3314(this);
		}
	}

	public void method2067(Class587_Sub25 class587_sub25) {
		((Class84_Sub3) this).aNativeHeap9405 = (((Class587_Sub25_Sub1) (Class587_Sub25_Sub1) class587_sub25).aNativeHeap10338);
		if (((Class84_Sub3) this).anInterface9_9387 == null) {
			Class587_Sub4_Sub2 class587_sub4_sub2 = new Class587_Sub4_Sub2(80);
			if (((Class84_Sub3) this).aBool9448) {
				class587_sub4_sub2.method16801(-1.0F);
				class587_sub4_sub2.method16801(-1.0F);
				class587_sub4_sub2.method16801(0.0F);
				class587_sub4_sub2.method16801(0.0F);
				class587_sub4_sub2.method16801(0.0F);
				class587_sub4_sub2.method16801(-1.0F);
				class587_sub4_sub2.method16801(1.0F);
				class587_sub4_sub2.method16801(0.0F);
				class587_sub4_sub2.method16801(0.0F);
				class587_sub4_sub2.method16801(1.0F);
				class587_sub4_sub2.method16801(1.0F);
				class587_sub4_sub2.method16801(1.0F);
				class587_sub4_sub2.method16801(0.0F);
				class587_sub4_sub2.method16801(1.0F);
				class587_sub4_sub2.method16801(1.0F);
				class587_sub4_sub2.method16801(1.0F);
				class587_sub4_sub2.method16801(-1.0F);
				class587_sub4_sub2.method16801(0.0F);
				class587_sub4_sub2.method16801(1.0F);
				class587_sub4_sub2.method16801(0.0F);
			} else {
				class587_sub4_sub2.method16802(-1.0F);
				class587_sub4_sub2.method16802(-1.0F);
				class587_sub4_sub2.method16802(0.0F);
				class587_sub4_sub2.method16802(0.0F);
				class587_sub4_sub2.method16802(0.0F);
				class587_sub4_sub2.method16802(-1.0F);
				class587_sub4_sub2.method16802(1.0F);
				class587_sub4_sub2.method16802(0.0F);
				class587_sub4_sub2.method16802(0.0F);
				class587_sub4_sub2.method16802(1.0F);
				class587_sub4_sub2.method16802(1.0F);
				class587_sub4_sub2.method16802(1.0F);
				class587_sub4_sub2.method16802(0.0F);
				class587_sub4_sub2.method16802(1.0F);
				class587_sub4_sub2.method16802(1.0F);
				class587_sub4_sub2.method16802(1.0F);
				class587_sub4_sub2.method16802(-1.0F);
				class587_sub4_sub2.method16802(0.0F);
				class587_sub4_sub2.method16802(1.0F);
				class587_sub4_sub2.method16802(0.0F);
			}
			((Class84_Sub3) this).anInterface9_9387 = method15482(20, class587_sub4_sub2.aByteArray8460, class587_sub4_sub2.anInt8458 * -1961774223, false);
			((Class84_Sub3) this).aClass152_9476 = new Class152(((Class84_Sub3) this).anInterface9_9387, 5126, 3, 0);
			((Class84_Sub3) this).aClass152_9477 = new Class152(((Class84_Sub3) this).anInterface9_9387, 5126, 2, 12);
			((Class84_Sub3) this).aClass143_9340.method3314(this);
		}
	}

	public Class135 method2068(int i, int i_571_, boolean bool, boolean bool_572_) {
		return new Class135_Sub1(this, i, i_571_, bool);
	}

	public Class135 method2069(int i, int i_573_, boolean bool, boolean bool_574_) {
		return new Class135_Sub1(this, i, i_573_, bool);
	}

	public Class135 method2070(int i, int i_575_, boolean bool, boolean bool_576_) {
		return new Class135_Sub1(this, i, i_575_, bool);
	}

	public final int method2014() {
		return (((Class84_Sub3) this).anInt9352 + ((Class84_Sub3) this).anInt9345 + ((Class84_Sub3) this).anInt9441);
	}

	public Class135 method2072(int[] is, int i, int i_577_, int i_578_, int i_579_, boolean bool) {
		return new Class135_Sub1(this, i_578_, i_579_, is, i, i_577_);
	}

	void method15473() {
		method15472();
	}

	public Class135 method2074(Class100 class100, boolean bool) {
		int[] is = class100.method2454(false);
		Class135 class135 = method1937(is, 0, class100.method2439(), class100.method2439(), class100.method2440(), -2127726236);
		class135.method3115(class100.method2453(), class100.method2443(), class100.method2484(), class100.method2444());
		return class135;
	}

	public Class135 method2075(Class100 class100, boolean bool) {
		int[] is = class100.method2454(false);
		Class135 class135 = method1937(is, 0, class100.method2439(), class100.method2439(), class100.method2440(), -2107340785);
		class135.method3115(class100.method2453(), class100.method2443(), class100.method2484(), class100.method2444());
		return class135;
	}

	void method15474() {
		OpenGL.glLightfv(16384, 4611, ((Class84_Sub3) this).aFloatArray9314, 0);
		OpenGL.glLightfv(16385, 4611, ((Class84_Sub3) this).aFloatArray9408, 0);
	}

	final void method15475(boolean bool) {
		if (bool != ((Class84_Sub3) this).aBool9404) {
			((Class84_Sub3) this).aBool9404 = bool;
			method15464();
		}
	}

	public Class134 method2205(int i, int i_580_, int[] is, int[] is_581_) {
		return Class134_Sub3.method15720(this, i, i_580_, is, is_581_);
	}

	public Class134 method2079(int i, int i_582_, int[] is, int[] is_583_) {
		return Class134_Sub3.method15720(this, i, i_582_, is, is_583_);
	}

	public Class134 method1885(int i, int i_584_, int[] is, int[] is_585_) {
		return Class134_Sub3.method15720(this, i, i_584_, is, is_585_);
	}

	public Class134 method1983(int i, int i_586_, int[] is, int[] is_587_) {
		return Class134_Sub3.method15720(this, i, i_586_, is, is_587_);
	}

	public void method2082(int i, Class134 class134, int i_588_, int i_589_) {
		Class134_Sub3 class134_sub3 = (Class134_Sub3) class134;
		Class145_Sub4_Sub1 class145_sub4_sub1 = ((Class134_Sub3) class134_sub3).aClass145_Sub4_Sub1_9608;
		method15435();
		method15440(((Class134_Sub3) class134_sub3).aClass145_Sub4_Sub1_9608);
		method15409(1);
		method15443(7681, 8448);
		method15444(0, 34167, 768);
		float f = (((Class145_Sub4_Sub1) class145_sub4_sub1).aFloat10447 / (float) ((Class145_Sub4_Sub1) class145_sub4_sub1).anInt10449);
		float f_590_ = (((Class145_Sub4_Sub1) class145_sub4_sub1).aFloat10448 / (float) ((Class145_Sub4_Sub1) class145_sub4_sub1).anInt10446);
		OpenGL.glColor4ub((byte) (i >> 16), (byte) (i >> 8), (byte) i, (byte) (i >> 24));
		OpenGL.glBegin(7);
		OpenGL.glTexCoord2f(f * (float) (((Class84_Sub3) this).anInt9348 - i_588_), f_590_ * (float) (((Class84_Sub3) this).anInt9392 - i_589_));
		OpenGL.glVertex2i(((Class84_Sub3) this).anInt9348, ((Class84_Sub3) this).anInt9392);
		OpenGL.glTexCoord2f(f * (float) (((Class84_Sub3) this).anInt9348 - i_588_), f_590_ * (float) (((Class84_Sub3) this).anInt9393 - i_589_));
		OpenGL.glVertex2i(((Class84_Sub3) this).anInt9348, ((Class84_Sub3) this).anInt9393);
		OpenGL.glTexCoord2f(f * (float) (((Class84_Sub3) this).anInt9395 - i_588_), f_590_ * (float) (((Class84_Sub3) this).anInt9393 - i_589_));
		OpenGL.glVertex2i(((Class84_Sub3) this).anInt9395, ((Class84_Sub3) this).anInt9393);
		OpenGL.glTexCoord2f(f * (float) (((Class84_Sub3) this).anInt9395 - i_588_), f_590_ * (float) (((Class84_Sub3) this).anInt9392 - i_589_));
		OpenGL.glVertex2i(((Class84_Sub3) this).anInt9395, ((Class84_Sub3) this).anInt9392);
		OpenGL.glEnd();
		method15444(0, 5890, 768);
	}

	final void method15476(int i) {
		aFloatArray9479[0] = (float) (i & 0xff0000) / 1.671168E7F;
		aFloatArray9479[1] = (float) (i & 0xff00) / 65280.0F;
		aFloatArray9479[2] = (float) (i & 0xff) / 255.0F;
		aFloatArray9479[3] = (float) (i >>> 24) / 255.0F;
		OpenGL.glTexEnvfv(8960, 8705, aFloatArray9479, 0);
	}

	public Class106 method2178(Class611 class611, Class100_Sub1[] class100_sub1s, boolean bool) {
		return new Class106_Sub1(this, class611, class100_sub1s, bool);
	}

	public Class106 method2158(Class611 class611, Class100_Sub1[] class100_sub1s, boolean bool) {
		return new Class106_Sub1(this, class611, class100_sub1s, bool);
	}

	public void method2246(int i, int i_591_, int i_592_, int i_593_, int i_594_, int i_595_, int i_596_) {
		OpenGL.glLineWidth((float) i_595_);
		method1913(i, i_591_, i_592_, i_593_, i_594_, i_596_);
		OpenGL.glLineWidth(1.0F);
	}

	public int method2087(int i, int i_597_) {
		return i & i_597_ ^ i_597_;
	}

	final void method15477() {
		if (((Class84_Sub3) this).anInt9378 != 4) {
			method15545();
			method15449(false);
			method15489(false);
			method15484(false);
			method15451(false);
			method15393(-2);
			method15409(1);
			((Class84_Sub3) this).anInt9378 = 4;
		}
	}

	final void method15478(Interface14 interface14, int i, int i_598_, int i_599_) {
		method15431(interface14);
		OpenGL.glDrawElements(i, i_599_, 5123, interface14.method110() + (long) (i_598_ * 2));
	}

	public void method1919(Class160 class160) {
		((Class84_Sub3) this).aClass143_9340.method3303(this, class160);
	}

	public void method2244(int i, int i_600_, int i_601_, int i_602_, int i_603_, int i_604_, int i_605_) {
		OpenGL.glLineWidth((float) i_604_);
		method1913(i, i_600_, i_601_, i_602_, i_603_, i_605_);
		OpenGL.glLineWidth(1.0F);
	}

	public Class176 method2092(int i, int i_606_, int[][] is, int[][] is_607_, int i_608_, int i_609_, int i_610_) {
		return new Class176_Sub1(this, i_609_, i_610_, i, i_606_, is, is_607_, i_608_);
	}

	public Class176 method2093(int i, int i_611_, int[][] is, int[][] is_612_, int i_613_, int i_614_, int i_615_) {
		return new Class176_Sub1(this, i_614_, i_615_, i, i_611_, is, is_612_, i_613_);
	}

	public Class346 method1869() {
		return ((Class84_Sub3) this).aClass346_9343;
	}

	public int method2095() {
		return 4;
	}

	public void method2018(int i, int i_616_) {
		int i_617_ = 0;
		if ((i & 0x1) != 0) {
			OpenGL.glClearColor((float) (i_616_ & 0xff0000) / 1.671168E7F, (float) (i_616_ & 0xff00) / 65280.0F, (float) (i_616_ & 0xff) / 255.0F, (float) (i_616_ >>> 24) / 255.0F);
			i_617_ = 16384;
		}
		if ((i & 0x2) != 0) {
			method15451(true);
			i_617_ |= 0x100;
		}
		if ((i & 0x4) != 0)
			i_617_ |= 0x400;
		OpenGL.glClear(i_617_);
	}

	public int method2097() {
		return 4;
	}

	public int method2098() {
		return 4;
	}

	public void method2102(int i, Class587_Sub12[] class587_sub12s) {
		for (int i_618_ = 0; i_618_ < i; i_618_++)
			((Class84_Sub3) this).aClass587_Sub12Array9416[i_618_] = class587_sub12s[i_618_];
		((Class84_Sub3) this).anInt9418 = i;
		if (((Class84_Sub3) this).anInt9390 != 1)
			method15399();
	}

	public void method2229(int i, Class587_Sub12[] class587_sub12s) {
		for (int i_619_ = 0; i_619_ < i; i_619_++)
			((Class84_Sub3) this).aClass587_Sub12Array9416[i_619_] = class587_sub12s[i_619_];
		((Class84_Sub3) this).anInt9418 = i;
		if (((Class84_Sub3) this).anInt9390 != 1)
			method15399();
	}

	public void method2104(int i, Class587_Sub12[] class587_sub12s) {
		for (int i_620_ = 0; i_620_ < i; i_620_++)
			((Class84_Sub3) this).aClass587_Sub12Array9416[i_620_] = class587_sub12s[i_620_];
		((Class84_Sub3) this).anInt9418 = i;
		if (((Class84_Sub3) this).anInt9390 != 1)
			method15399();
	}

	public void method2140(int i, Class587_Sub12[] class587_sub12s) {
		for (int i_621_ = 0; i_621_ < i; i_621_++)
			((Class84_Sub3) this).aClass587_Sub12Array9416[i_621_] = class587_sub12s[i_621_];
		((Class84_Sub3) this).anInt9418 = i;
		if (((Class84_Sub3) this).anInt9390 != 1)
			method15399();
	}

	public void method2106(Class160 class160) {
		((Class84_Sub3) this).aClass143_9340.method3303(this, class160);
	}

	public boolean method2003() {
		return true;
	}

	public void method2107(Class160 class160) {
		((Class84_Sub3) this).aClass143_9340.method3303(this, class160);
	}

	public void method2108(Class160 class160) {
		((Class84_Sub3) this).aClass143_9340.method3303(this, class160);
	}

	public void method2109(Class160 class160) {
		((Class84_Sub3) this).aClass143_9340.method3303(this, class160);
	}

	public void method2110(Class160 class160) {
		((Class84_Sub3) this).aClass143_9340.method3303(this, class160);
	}

	public final void method2111(Class346 class346) {
		((Class84_Sub3) this).aClass346_9407.method6507(class346);
		((Class84_Sub3) this).aClass288_9371.method5846(((Class84_Sub3) this).aClass346_9407);
		((Class84_Sub3) this).aClass346_9386.method6507(class346);
		((Class84_Sub3) this).aClass346_9386.method6549();
		((Class84_Sub3) this).aClass288_9307.method5846(((Class84_Sub3) this).aClass346_9386);
		method15419();
		if (((Class84_Sub3) this).anInt9390 != 1)
			method15511();
	}

	public final void method2112(Class346 class346) {
		((Class84_Sub3) this).aClass346_9407.method6507(class346);
		((Class84_Sub3) this).aClass288_9371.method5846(((Class84_Sub3) this).aClass346_9407);
		((Class84_Sub3) this).aClass346_9386.method6507(class346);
		((Class84_Sub3) this).aClass346_9386.method6549();
		((Class84_Sub3) this).aClass288_9307.method5846(((Class84_Sub3) this).aClass346_9386);
		method15419();
		if (((Class84_Sub3) this).anInt9390 != 1)
			method15511();
	}

	final void method15479(int i, boolean bool) {
		method15416(i, bool, true);
	}

	public Class346 method2114() {
		return new Class346(((Class84_Sub3) this).aClass346_9407);
	}

	public final Class288 method2115() {
		return new Class288(((Class84_Sub3) this).aClass288_9295);
	}

	public boolean method2168() {
		return true;
	}

	final void method15480() {
		if (((Class84_Sub3) this).anInt9378 != 1) {
			method15545();
			method15449(false);
			method15489(false);
			method15484(false);
			method15451(false);
			method15440(null);
			method15393(-2);
			method15467(1);
			((Class84_Sub3) this).anInt9378 = 1;
		}
	}

	public final void method2118(float f) {
		if (((Class84_Sub3) this).aFloat9413 != f) {
			((Class84_Sub3) this).aFloat9413 = f;
			method15413();
		}
	}

	public final void method2177(float f) {
		if (((Class84_Sub3) this).aFloat9413 != f) {
			((Class84_Sub3) this).aFloat9413 = f;
			method15413();
		}
	}

	void method15481() {
		method15393(-2);
		for (int i = ((Class84_Sub3) this).anInt9450 - 1; i >= 0; i--) {
			method15439(i);
			method15440(null);
			OpenGL.glTexEnvi(8960, 8704, 34160);
		}
		method15443(8448, 8448);
		method15444(2, 34168, 770);
		method15448();
		((Class84_Sub3) this).anInt9364 = 1;
		OpenGL.glEnable(3042);
		OpenGL.glBlendFunc(770, 771);
		((Class84_Sub3) this).anInt9365 = 1;
		OpenGL.glEnable(3008);
		OpenGL.glAlphaFunc(516, 0.0F);
		((Class84_Sub3) this).aBool9462 = true;
		OpenGL.glColorMask(true, true, true, true);
		((Class84_Sub3) this).aBool9366 = true;
		method15449(true);
		method15489(true);
		method15484(true);
		method15451(true);
		method1906(0.0F, 1.0F);
		method15543();
		((Class84_Sub3) this).anOpenGL9334.setSwapInterval(0);
		OpenGL.glShadeModel(7425);
		OpenGL.glClearDepth(1.0F);
		OpenGL.glDepthFunc(515);
		OpenGL.glPolygonMode(1028, 6914);
		OpenGL.glEnable(2884);
		OpenGL.glCullFace(1029);
		OpenGL.glMatrixMode(5888);
		OpenGL.glLoadIdentity();
		OpenGL.glColorMaterial(1028, 5634);
		OpenGL.glEnable(2903);
		float[] fs = { 0.0F, 0.0F, 0.0F, 1.0F };
		for (int i = 0; i < 8; i++) {
			int i_622_ = 16384 + i;
			OpenGL.glLightfv(i_622_, 4608, fs, 0);
			OpenGL.glLightf(i_622_, 4615, 0.0F);
			OpenGL.glLightf(i_622_, 4616, 0.0F);
		}
		OpenGL.glEnable(16384);
		OpenGL.glEnable(16385);
		OpenGL.glFogf(2914, 0.95F);
		OpenGL.glFogi(2917, 9729);
		OpenGL.glHint(3156, 4353);
		if (((Class84_Sub3) this).aBool9433)
			OpenGL.glEnable(34895);
		((Class84_Sub3) this).anInt9422 = -1;
		((Class84_Sub3) this).anInt9409 = -1;
		method1904();
		method1917();
	}

	final Interface9 method15482(int i, byte[] is, int i_623_, boolean bool) {
		if (((Class84_Sub3) this).aBool9322 && (!bool || ((Class84_Sub3) this).aBool9459))
			return new Class155_Sub1(this, i, is, i_623_, bool);
		return new Class156_Sub2(this, i, is, i_623_);
	}

	final void method15483() {
		if (aClass171_1190 != null && (((Class84_Sub3) this).anInt9348 < ((Class84_Sub3) this).anInt9395) && (((Class84_Sub3) this).anInt9392 < ((Class84_Sub3) this).anInt9393))
			OpenGL.glScissor((((Class84_Sub3) this).anInt9396 + ((Class84_Sub3) this).anInt9348), (((Class84_Sub3) this).anInt9397 + aClass171_1190.method3755() - ((Class84_Sub3) this).anInt9393), (((Class84_Sub3) this).anInt9395 - ((Class84_Sub3) this).anInt9348), (((Class84_Sub3) this).anInt9393 - ((Class84_Sub3) this).anInt9392));
		else
			OpenGL.glScissor(0, 0, 0, 0);
	}

	public final void method2169(int i) {
		((Class84_Sub3) this).anInt9347 = 0;
		for (/**/; i > 1; i >>= 1)
			((Class84_Sub3) this).anInt9347++;
		((Class84_Sub3) this).anInt9484 = 1 << ((Class84_Sub3) this).anInt9347;
	}

	public Class159 method2124(int i) {
		return (((Class84_Sub3) this).aBool9461 ? new Class159_Sub2_Sub2(this, i) : null);
	}

	public Class159 method2125(int i) {
		return (((Class84_Sub3) this).aBool9461 ? new Class159_Sub2_Sub2(this, i) : null);
	}

	public Class159 method1935(int i) {
		return (((Class84_Sub3) this).aBool9461 ? new Class159_Sub2_Sub2(this, i) : null);
	}

	public Class159 method2127(int i) {
		return (((Class84_Sub3) this).aBool9461 ? new Class159_Sub2_Sub2(this, i) : null);
	}

	public Class159 method2030(Class159 class159, Class159 class159_624_, float f, Class159 class159_625_) {
		if (class159 != null && class159_624_ != null && ((Class84_Sub3) this).aBool9461 && ((Class84_Sub3) this).aBool9453) {
			Class159_Sub2_Sub1 class159_sub2_sub1 = null;
			Class159_Sub2 class159_sub2 = (Class159_Sub2) class159;
			Class159_Sub2 class159_sub2_626_ = (Class159_Sub2) class159_624_;
			Class145_Sub1 class145_sub1 = class159_sub2.method15376();
			Class145_Sub1 class145_sub1_627_ = class159_sub2_626_.method15376();
			if (class145_sub1 != null && class145_sub1_627_ != null) {
				int i = ((((Class145_Sub1) class145_sub1).anInt10264 > ((Class145_Sub1) class145_sub1_627_).anInt10264) ? ((Class145_Sub1) class145_sub1).anInt10264 : ((Class145_Sub1) class145_sub1_627_).anInt10264);
				if (class159 != class159_625_ && class159_624_ != class159_625_ && class159_625_ instanceof Class159_Sub2_Sub1) {
					Class159_Sub2_Sub1 class159_sub2_sub1_628_ = (Class159_Sub2_Sub1) class159_625_;
					if (class159_sub2_sub1_628_.method16689() == i)
						class159_sub2_sub1 = class159_sub2_sub1_628_;
				}
				if (class159_sub2_sub1 == null)
					class159_sub2_sub1 = new Class159_Sub2_Sub1(this, i);
				if (class159_sub2_sub1.method16691(class145_sub1, class145_sub1_627_, f))
					return class159_sub2_sub1;
			}
		}
		return f < 0.5F ? class159 : class159_624_;
	}

	public Class159 method2129(Class159 class159, Class159 class159_629_, float f, Class159 class159_630_) {
		if (class159 != null && class159_629_ != null && ((Class84_Sub3) this).aBool9461 && ((Class84_Sub3) this).aBool9453) {
			Class159_Sub2_Sub1 class159_sub2_sub1 = null;
			Class159_Sub2 class159_sub2 = (Class159_Sub2) class159;
			Class159_Sub2 class159_sub2_631_ = (Class159_Sub2) class159_629_;
			Class145_Sub1 class145_sub1 = class159_sub2.method15376();
			Class145_Sub1 class145_sub1_632_ = class159_sub2_631_.method15376();
			if (class145_sub1 != null && class145_sub1_632_ != null) {
				int i = ((((Class145_Sub1) class145_sub1).anInt10264 > ((Class145_Sub1) class145_sub1_632_).anInt10264) ? ((Class145_Sub1) class145_sub1).anInt10264 : ((Class145_Sub1) class145_sub1_632_).anInt10264);
				if (class159 != class159_630_ && class159_629_ != class159_630_ && class159_630_ instanceof Class159_Sub2_Sub1) {
					Class159_Sub2_Sub1 class159_sub2_sub1_633_ = (Class159_Sub2_Sub1) class159_630_;
					if (class159_sub2_sub1_633_.method16689() == i)
						class159_sub2_sub1 = class159_sub2_sub1_633_;
				}
				if (class159_sub2_sub1 == null)
					class159_sub2_sub1 = new Class159_Sub2_Sub1(this, i);
				if (class159_sub2_sub1.method16691(class145_sub1, class145_sub1_632_, f))
					return class159_sub2_sub1;
			}
		}
		return f < 0.5F ? class159 : class159_629_;
	}

	public final boolean method2130() {
		if (((Class84_Sub3) this).aClass587_Sub23_Sub1_9339 != null) {
			if (!((Class84_Sub3) this).aClass587_Sub23_Sub1_9339.method15844()) {
				if (((Class84_Sub3) this).aClass147_9338.method3369(((Class84_Sub3) this).aClass587_Sub23_Sub1_9339))
					((Class84_Sub3) this).aClass161_9406.method3487();
				else
					return false;
			}
			return true;
		}
		return false;
	}

	public final boolean method2131() {
		if (((Class84_Sub3) this).aClass587_Sub23_Sub1_9339 != null) {
			if (!((Class84_Sub3) this).aClass587_Sub23_Sub1_9339.method15844()) {
				if (((Class84_Sub3) this).aClass147_9338.method3369(((Class84_Sub3) this).aClass587_Sub23_Sub1_9339))
					((Class84_Sub3) this).aClass161_9406.method3487();
				else
					return false;
			}
			return true;
		}
		return false;
	}

	public final boolean method2180() {
		if (((Class84_Sub3) this).aClass587_Sub23_Sub1_9339 != null) {
			if (!((Class84_Sub3) this).aClass587_Sub23_Sub1_9339.method15844()) {
				if (((Class84_Sub3) this).aClass147_9338.method3369(((Class84_Sub3) this).aClass587_Sub23_Sub1_9339))
					((Class84_Sub3) this).aClass161_9406.method3487();
				else
					return false;
			}
			return true;
		}
		return false;
	}

	public final boolean method2133() {
		if (((Class84_Sub3) this).aClass587_Sub23_Sub1_9339 != null) {
			if (!((Class84_Sub3) this).aClass587_Sub23_Sub1_9339.method15844()) {
				if (((Class84_Sub3) this).aClass147_9338.method3369(((Class84_Sub3) this).aClass587_Sub23_Sub1_9339))
					((Class84_Sub3) this).aClass161_9406.method3487();
				else
					return false;
			}
			return true;
		}
		return false;
	}

	public final boolean method2134() {
		if (((Class84_Sub3) this).aClass587_Sub23_Sub1_9339 != null) {
			if (!((Class84_Sub3) this).aClass587_Sub23_Sub1_9339.method15844()) {
				if (((Class84_Sub3) this).aClass147_9338.method3369(((Class84_Sub3) this).aClass587_Sub23_Sub1_9339))
					((Class84_Sub3) this).aClass161_9406.method3487();
				else
					return false;
			}
			return true;
		}
		return false;
	}

	final void method15484(boolean bool) {
		if (bool != ((Class84_Sub3) this).aBool9335) {
			if (bool)
				OpenGL.glEnable(2929);
			else
				OpenGL.glDisable(2929);
			((Class84_Sub3) this).aBool9335 = bool;
			((Class84_Sub3) this).anInt9378 &= ~0xf;
		}
	}

	public final void method2136() {
		if (((Class84_Sub3) this).aClass587_Sub23_Sub1_9339 != null && ((Class84_Sub3) this).aClass587_Sub23_Sub1_9339.method15844()) {
			((Class84_Sub3) this).aClass147_9338.method3364(((Class84_Sub3) this).aClass587_Sub23_Sub1_9339);
			((Class84_Sub3) this).aClass161_9406.method3487();
		}
	}

	public Class587_Sub25 method1932(int i) {
		Class587_Sub25_Sub1 class587_sub25_sub1 = new Class587_Sub25_Sub1(i);
		((Class84_Sub3) this).aClass413_9350.method7337(class587_sub25_sub1, -2070341238);
		return class587_sub25_sub1;
	}

	void method15485() {
		int i = 0;
		while (!((Class84_Sub3) this).anOpenGL9334.method3469()) {
			if (i++ > 5)
				throw new RuntimeException("");
			Class489.method11114(1000L);
		}
	}

	public final boolean method2152() {
		return (((Class84_Sub3) this).aClass587_Sub23_Sub1_9339 != null && ((Class84_Sub3) this).aClass587_Sub23_Sub1_9339.method15844());
	}

	public final Class288 method2117() {
		return new Class288(((Class84_Sub3) this).aClass288_9295);
	}

	public final void method2141(int i, int i_634_, int i_635_, int i_636_) {
		((Class84_Sub3) this).aClass147_9338.method3367(i, i_634_, i_635_, i_636_);
	}

	public final void method2142(int i, int i_637_, int i_638_, int i_639_) {
		((Class84_Sub3) this).aClass147_9338.method3367(i, i_637_, i_638_, i_639_);
	}

	public final void method2143(int i, int i_640_, int i_641_, int i_642_) {
		((Class84_Sub3) this).aClass147_9338.method3367(i, i_640_, i_641_, i_642_);
	}

	public final void method2144(int i, int i_643_, int i_644_, int i_645_) {
		((Class84_Sub3) this).aClass147_9338.method3367(i, i_643_, i_644_, i_645_);
	}

	public final void method2145(int i, int i_646_, int i_647_, int i_648_) {
		((Class84_Sub3) this).aClass147_9338.method3367(i, i_646_, i_647_, i_648_);
	}

	public final void method2146() {
		((Class84_Sub3) this).aClass147_9338.method3370();
	}

	public final void method1943() {
		((Class84_Sub3) this).aClass147_9338.method3370();
	}

	public void method2204(int i, Class98 class98) {
		((Class84_Sub3) this).anInt9394 = i;
		((Class84_Sub3) this).aClass98_9482 = class98;
		((Class84_Sub3) this).aBool9429 = true;
	}

	public void method1912(int i, int i_649_) {
		int i_650_ = 0;
		if ((i & 0x1) != 0) {
			OpenGL.glClearColor((float) (i_649_ & 0xff0000) / 1.671168E7F, (float) (i_649_ & 0xff00) / 65280.0F, (float) (i_649_ & 0xff) / 255.0F, (float) (i_649_ >>> 24) / 255.0F);
			i_650_ = 16384;
		}
		if ((i & 0x2) != 0) {
			method15451(true);
			i_650_ |= 0x100;
		}
		if ((i & 0x4) != 0)
			i_650_ |= 0x400;
		OpenGL.glClear(i_650_);
	}

	public void method2182(int i, Class98 class98) {
		if (!((Class84_Sub3) this).aBool9429)
			throw new RuntimeException("");
		((Class84_Sub3) this).anInt9394 = i;
		((Class84_Sub3) this).aClass98_9482 = class98;
		if (((Class84_Sub3) this).aBool9430) {
			((Class137) ((Class84_Sub3) this).aClass137_9337).aClass150_Sub4_1740.method16454();
			((Class137) ((Class84_Sub3) this).aClass137_9337).aClass150_Sub4_1740.method16455();
		}
	}

	public void method2150(int i, Class98 class98) {
		if (!((Class84_Sub3) this).aBool9429)
			throw new RuntimeException("");
		((Class84_Sub3) this).anInt9394 = i;
		((Class84_Sub3) this).aClass98_9482 = class98;
		if (((Class84_Sub3) this).aBool9430) {
			((Class137) ((Class84_Sub3) this).aClass137_9337).aClass150_Sub4_1740.method16454();
			((Class137) ((Class84_Sub3) this).aClass137_9337).aClass150_Sub4_1740.method16455();
		}
	}

	void method15486() {
		OpenGL.glLightfv(16384, 4611, ((Class84_Sub3) this).aFloatArray9314, 0);
		OpenGL.glLightfv(16385, 4611, ((Class84_Sub3) this).aFloatArray9408, 0);
	}

	public void method2160() {
		((Class84_Sub3) this).aBool9429 = false;
	}

	void method15487() {
		aFloatArray9479[0] = (((Class84_Sub3) this).aFloat9414 * ((Class84_Sub3) this).aFloat9465);
		aFloatArray9479[1] = (((Class84_Sub3) this).aFloat9414 * ((Class84_Sub3) this).aFloat9411);
		aFloatArray9479[2] = (((Class84_Sub3) this).aFloat9414 * ((Class84_Sub3) this).aFloat9370);
		aFloatArray9479[3] = 1.0F;
		OpenGL.glLightfv(16384, 4609, aFloatArray9479, 0);
		aFloatArray9479[0] = (-((Class84_Sub3) this).aFloat9415 * ((Class84_Sub3) this).aFloat9465);
		aFloatArray9479[1] = (-((Class84_Sub3) this).aFloat9415 * ((Class84_Sub3) this).aFloat9411);
		aFloatArray9479[2] = (-((Class84_Sub3) this).aFloat9415 * ((Class84_Sub3) this).aFloat9370);
		aFloatArray9479[3] = 1.0F;
		OpenGL.glLightfv(16385, 4609, aFloatArray9479, 0);
	}

	public void method2154(float f, float f_651_, float f_652_, float[] fs) {
		float f_653_ = (((Class84_Sub3) this).aClass288_9375.aFloatArray4285[15] + ((Class84_Sub3) this).aClass288_9375.aFloatArray4285[3] * f + (((Class84_Sub3) this).aClass288_9375.aFloatArray4285[7] * f_651_) + (((Class84_Sub3) this).aClass288_9375.aFloatArray4285[11] * f_652_));
		float f_654_ = (((Class84_Sub3) this).aClass288_9375.aFloatArray4285[12] + ((Class84_Sub3) this).aClass288_9375.aFloatArray4285[0] * f + (((Class84_Sub3) this).aClass288_9375.aFloatArray4285[4] * f_651_) + (((Class84_Sub3) this).aClass288_9375.aFloatArray4285[8] * f_652_));
		float f_655_ = (((Class84_Sub3) this).aClass288_9375.aFloatArray4285[13] + ((Class84_Sub3) this).aClass288_9375.aFloatArray4285[1] * f + (((Class84_Sub3) this).aClass288_9375.aFloatArray4285[5] * f_651_) + (((Class84_Sub3) this).aClass288_9375.aFloatArray4285[9] * f_652_));
		float f_656_ = (((Class84_Sub3) this).aClass288_9371.aFloatArray4285[14] + ((Class84_Sub3) this).aClass288_9371.aFloatArray4285[2] * f + (((Class84_Sub3) this).aClass288_9371.aFloatArray4285[6] * f_651_) + (((Class84_Sub3) this).aClass288_9371.aFloatArray4285[10] * f_652_));
		fs[0] = (((Class84_Sub3) this).aFloat9361 + ((Class84_Sub3) this).aFloat9379 * f_654_ / f_653_);
		fs[1] = (((Class84_Sub3) this).aFloat9380 + ((Class84_Sub3) this).aFloat9381 * f_655_ / f_653_);
		fs[2] = f_656_;
	}

	final void method15488() {
		if (aClass171_1190 != null) {
			int i;
			int i_657_;
			int i_658_;
			int i_659_;
			if (((Class84_Sub3) this).anInt9390 == 2) {
				i = ((Class84_Sub3) this).anInt9398;
				i_657_ = ((Class84_Sub3) this).anInt9399;
				i_658_ = ((Class84_Sub3) this).anInt9400;
				i_659_ = ((Class84_Sub3) this).anInt9401;
			} else {
				i = 0;
				i_657_ = 0;
				i_658_ = aClass171_1190.method3754();
				i_659_ = aClass171_1190.method3755();
			}
			if (i_658_ < 1)
				i_658_ = 1;
			if (i_659_ < 1)
				i_659_ = 1;
			OpenGL.glViewport(((Class84_Sub3) this).anInt9396 + i, (((Class84_Sub3) this).anInt9397 + aClass171_1190.method3755() - i_657_ - i_659_), i_658_, i_659_);
			((Class84_Sub3) this).aFloat9379 = (float) ((Class84_Sub3) this).anInt9400 / 2.0F;
			((Class84_Sub3) this).aFloat9381 = (float) ((Class84_Sub3) this).anInt9401 / 2.0F;
			((Class84_Sub3) this).aFloat9361 = ((float) ((Class84_Sub3) this).anInt9398 + ((Class84_Sub3) this).aFloat9379);
			((Class84_Sub3) this).aFloat9380 = ((float) ((Class84_Sub3) this).anInt9399 + ((Class84_Sub3) this).aFloat9381);
		}
	}

	public Class171_Sub1 method2156() {
		return new Class171_Sub1_Sub3(this);
	}

	public Interface11 method2157(int i, int i_660_, Class172 class172, Class96 class96, int i_661_) {
		return new Class587_Sub34_Sub17(this, class172, class96, i, i_660_, i_661_);
	}

	public boolean method2010() {
		return (((Class84_Sub3) this).aBool9456 && (!method1972() || ((Class84_Sub3) this).aBool9313));
	}

	final void method15489(boolean bool) {
		if (bool != ((Class84_Sub3) this).aBool9403) {
			((Class84_Sub3) this).aBool9403 = bool;
			method15464();
			((Class84_Sub3) this).anInt9378 &= ~0x7;
		}
	}

	public final boolean method1897() {
		return (((Class84_Sub3) this).aClass587_Sub23_Sub1_9339 != null && ((Class84_Sub3) this).aClass587_Sub23_Sub1_9339.method15844());
	}

	public Interface7 method2132(int i, int i_662_) {
		return new Class587_Sub34_Sub17(this, Class172.aClass172_2152, Class96.aClass96_1388, i, i_662_);
	}

	final void method15490(Interface14 interface14) {
		if (((Class84_Sub3) this).anInterface14_9336 != interface14) {
			if (((Class84_Sub3) this).aBool9322)
				OpenGL.glBindBufferARB(34963, interface14.method51());
			((Class84_Sub3) this).anInterface14_9336 = interface14;
		}
	}

	final void method15491(float f, float f_663_, float f_664_) {
		OpenGL.glMatrixMode(5890);
		if (((Class84_Sub3) this).aBool9438)
			OpenGL.glLoadIdentity();
		OpenGL.glTranslatef(f, f_663_, f_664_);
		OpenGL.glMatrixMode(5888);
		((Class84_Sub3) this).aBool9438 = true;
	}

	void method15492() {
		if (((Class84_Sub3) this).aBool9421 && ((Class84_Sub3) this).anInt9423 >= 0)
			OpenGL.glEnable(2912);
		else
			OpenGL.glDisable(2912);
	}

	public Interface7 method2165(int i, int i_665_, int i_666_) {
		return new Class587_Sub34_Sub17(this, Class172.aClass172_2152, Class96.aClass96_1388, i, i_665_, i_666_);
	}

	public Interface7 method2166(int i, int i_667_, int i_668_) {
		return new Class587_Sub34_Sub17(this, Class172.aClass172_2152, Class96.aClass96_1388, i, i_667_, i_668_);
	}

	public final void method2035(int i, int i_669_, int i_670_, int i_671_) {
		if (((Class84_Sub3) this).anInt9348 < i)
			((Class84_Sub3) this).anInt9348 = i;
		if (((Class84_Sub3) this).anInt9395 > i_670_)
			((Class84_Sub3) this).anInt9395 = i_670_;
		if (((Class84_Sub3) this).anInt9392 < i_669_)
			((Class84_Sub3) this).anInt9392 = i_669_;
		if (((Class84_Sub3) this).anInt9393 > i_671_)
			((Class84_Sub3) this).anInt9393 = i_671_;
		OpenGL.glEnable(3089);
		method15483();
	}

	void method15493() {
		int i = 0;
		while (!((Class84_Sub3) this).anOpenGL9334.method3469()) {
			if (i++ > 5)
				throw new RuntimeException("");
			Class489.method11114(1000L);
		}
	}

	void method15494() {
		int i = 0;
		while (!((Class84_Sub3) this).anOpenGL9334.method3469()) {
			if (i++ > 5)
				throw new RuntimeException("");
			Class489.method11114(1000L);
		}
	}

	void method15495() {
		int i = 0;
		while (!((Class84_Sub3) this).anOpenGL9334.method3469()) {
			if (i++ > 5)
				throw new RuntimeException("");
			Class489.method11114(1000L);
		}
	}

	final synchronized void method15496(int i, int i_672_) {
		Class587_Sub17 class587_sub17 = new Class587_Sub17(i_672_);
		class587_sub17.aLong7674 = (long) i * 7798553346842421701L;
		((Class84_Sub3) this).aClass413_9355.method7337(class587_sub17, -54627589);
	}

	int method15497() {
		int i = 0;
		((Class84_Sub3) this).aString9315 = OpenGL.glGetString(7936).toLowerCase();
		((Class84_Sub3) this).aString9457 = OpenGL.glGetString(7937).toLowerCase();
		if (((Class84_Sub3) this).aString9315.indexOf("microsoft") != -1)
			i |= 0x1;
		if (((Class84_Sub3) this).aString9315.indexOf("brian paul") != -1 || ((Class84_Sub3) this).aString9315.indexOf("mesa") != -1)
			i |= 0x1;
		String string = OpenGL.glGetString(7938);
		String[] strings = Class490.method11125(string.replace('.', ' '), ' ', 1738526254);
		if (strings.length >= 2) {
			try {
				int i_673_ = Class508.method11501(strings[0], -1177633512);
				int i_674_ = Class508.method11501(strings[1], 1510256798);
				((Class84_Sub3) this).anInt9447 = i_673_ * 10 + i_674_;
			} catch (NumberFormatException numberformatexception) {
				i |= 0x4;
			}
		} else
			i |= 0x4;
		if (((Class84_Sub3) this).anInt9447 < 12)
			i |= 0x2;
		if (!((Class84_Sub3) this).anOpenGL9334.method3468("GL_ARB_multitexture"))
			i |= 0x8;
		if (!((Class84_Sub3) this).anOpenGL9334.method3468("GL_ARB_texture_env_combine"))
			i |= 0x20;
		int[] is = new int[1];
		OpenGL.glGetIntegerv(34018, is, 0);
		((Class84_Sub3) this).anInt9450 = is[0];
		OpenGL.glGetIntegerv(34929, is, 0);
		((Class84_Sub3) this).anInt9353 = is[0];
		OpenGL.glGetIntegerv(34930, is, 0);
		((Class84_Sub3) this).anInt9452 = is[0];
		if (((Class84_Sub3) this).anInt9450 < 2 || ((Class84_Sub3) this).anInt9353 < 2 || ((Class84_Sub3) this).anInt9452 < 2)
			i |= 0x10;
		((Class84_Sub3) this).aBool9448 = Stream.method3872();
		((Class84_Sub3) this).aBool9322 = ((Class84_Sub3) this).anOpenGL9334.method3468("GL_ARB_vertex_buffer_object");
		((Class84_Sub3) this).aBool9456 = ((Class84_Sub3) this).anOpenGL9334.method3468("GL_ARB_multisample");
		((Class84_Sub3) this).aBool9466 = ((Class84_Sub3) this).anOpenGL9334.method3468("GL_ARB_vertex_program");
		((Class84_Sub3) this).anOpenGL9334.method3468("GL_ARB_fragment_program");
		((Class84_Sub3) this).aBool9467 = ((Class84_Sub3) this).anOpenGL9334.method3468("GL_ARB_vertex_shader");
		((Class84_Sub3) this).aBool9368 = ((Class84_Sub3) this).anOpenGL9334.method3468("GL_ARB_fragment_shader");
		((Class84_Sub3) this).aBool9460 = ((Class84_Sub3) this).anOpenGL9334.method3468("GL_EXT_texture3D");
		((Class84_Sub3) this).aBool9463 = ((Class84_Sub3) this).anOpenGL9334.method3468("GL_ARB_texture_rectangle");
		((Class84_Sub3) this).aBool9461 = ((Class84_Sub3) this).anOpenGL9334.method3468("GL_ARB_texture_cube_map");
		((Class84_Sub3) this).aBool9433 = ((Class84_Sub3) this).anOpenGL9334.method3468("GL_ARB_seamless_cube_map");
		((Class84_Sub3) this).aBool9464 = ((Class84_Sub3) this).anOpenGL9334.method3468("GL_ARB_texture_float");
		((Class84_Sub3) this).aBool9428 = false;
		((Class84_Sub3) this).aBool9453 = ((Class84_Sub3) this).anOpenGL9334.method3468("GL_EXT_framebuffer_object");
		((Class84_Sub3) this).aBool9300 = ((Class84_Sub3) this).anOpenGL9334.method3468("GL_EXT_framebuffer_blit");
		((Class84_Sub3) this).aBool9417 = ((Class84_Sub3) this).anOpenGL9334.method3468("GL_EXT_framebuffer_multisample");
		((Class84_Sub3) this).aBool9313 = (((Class84_Sub3) this).aBool9300 & ((Class84_Sub3) this).aBool9417);
		((Class84_Sub3) this).aBool9449 = Class234.aString2730.startsWith("mac");
		OpenGL.glGetFloatv(2834, aFloatArray9479, 0);
		((Class84_Sub3) this).aFloat9472 = aFloatArray9479[0];
		((Class84_Sub3) this).aFloat9320 = aFloatArray9479[1];
		return i != 0 ? i : 0;
	}

	void method15498() {
		((Class84_Sub3) this).aClass145Array9344 = new Class145[((Class84_Sub3) this).anInt9450];
		((Class84_Sub3) this).aClass145_Sub4_9357 = new Class145_Sub4(this, 3553, Class172.aClass172_2145, Class96.aClass96_1386, 1, 1);
		new Class145_Sub4(this, 3553, Class172.aClass172_2145, Class96.aClass96_1386, 1, 1);
		new Class145_Sub4(this, 3553, Class172.aClass172_2145, Class96.aClass96_1386, 1, 1);
		for (int i = 0; i < 7; i++) {
			((Class84_Sub3) this).aClass163_Sub1Array9431[i] = new Class163_Sub1(this);
			((Class84_Sub3) this).aClass163_Sub1Array9474[i] = new Class163_Sub1(this);
		}
		if (((Class84_Sub3) this).aBool9453) {
			((Class84_Sub3) this).aClass171_Sub1_Sub3_9475 = new Class171_Sub1_Sub3(this);
			new Class171_Sub1_Sub3(this);
		}
	}

	void method15499() {
		((Class84_Sub3) this).aClass145Array9344 = new Class145[((Class84_Sub3) this).anInt9450];
		((Class84_Sub3) this).aClass145_Sub4_9357 = new Class145_Sub4(this, 3553, Class172.aClass172_2145, Class96.aClass96_1386, 1, 1);
		new Class145_Sub4(this, 3553, Class172.aClass172_2145, Class96.aClass96_1386, 1, 1);
		new Class145_Sub4(this, 3553, Class172.aClass172_2145, Class96.aClass96_1386, 1, 1);
		for (int i = 0; i < 7; i++) {
			((Class84_Sub3) this).aClass163_Sub1Array9431[i] = new Class163_Sub1(this);
			((Class84_Sub3) this).aClass163_Sub1Array9474[i] = new Class163_Sub1(this);
		}
		if (((Class84_Sub3) this).aBool9453) {
			((Class84_Sub3) this).aClass171_Sub1_Sub3_9475 = new Class171_Sub1_Sub3(this);
			new Class171_Sub1_Sub3(this);
		}
	}

	final synchronized void method15500(int i, int i_675_) {
		Class587_Sub17 class587_sub17 = new Class587_Sub17(i_675_);
		class587_sub17.aLong7674 = (long) i * 7798553346842421701L;
		((Class84_Sub3) this).aClass413_9328.method7337(class587_sub17, -1334388728);
	}

	public final void method2031() {
		if (aClass171_1190 != null) {
			((Class84_Sub3) this).anInt9348 = 0;
			((Class84_Sub3) this).anInt9392 = 0;
			((Class84_Sub3) this).anInt9395 = aClass171_1190.method3754();
			((Class84_Sub3) this).anInt9393 = aClass171_1190.method3755();
			OpenGL.glDisable(3089);
		}
	}

	void method15501() {
		method15393(-2);
		for (int i = ((Class84_Sub3) this).anInt9450 - 1; i >= 0; i--) {
			method15439(i);
			method15440(null);
			OpenGL.glTexEnvi(8960, 8704, 34160);
		}
		method15443(8448, 8448);
		method15444(2, 34168, 770);
		method15448();
		((Class84_Sub3) this).anInt9364 = 1;
		OpenGL.glEnable(3042);
		OpenGL.glBlendFunc(770, 771);
		((Class84_Sub3) this).anInt9365 = 1;
		OpenGL.glEnable(3008);
		OpenGL.glAlphaFunc(516, 0.0F);
		((Class84_Sub3) this).aBool9462 = true;
		OpenGL.glColorMask(true, true, true, true);
		((Class84_Sub3) this).aBool9366 = true;
		method15449(true);
		method15489(true);
		method15484(true);
		method15451(true);
		method1906(0.0F, 1.0F);
		method15543();
		((Class84_Sub3) this).anOpenGL9334.setSwapInterval(0);
		OpenGL.glShadeModel(7425);
		OpenGL.glClearDepth(1.0F);
		OpenGL.glDepthFunc(515);
		OpenGL.glPolygonMode(1028, 6914);
		OpenGL.glEnable(2884);
		OpenGL.glCullFace(1029);
		OpenGL.glMatrixMode(5888);
		OpenGL.glLoadIdentity();
		OpenGL.glColorMaterial(1028, 5634);
		OpenGL.glEnable(2903);
		float[] fs = { 0.0F, 0.0F, 0.0F, 1.0F };
		for (int i = 0; i < 8; i++) {
			int i_676_ = 16384 + i;
			OpenGL.glLightfv(i_676_, 4608, fs, 0);
			OpenGL.glLightf(i_676_, 4615, 0.0F);
			OpenGL.glLightf(i_676_, 4616, 0.0F);
		}
		OpenGL.glEnable(16384);
		OpenGL.glEnable(16385);
		OpenGL.glFogf(2914, 0.95F);
		OpenGL.glFogi(2917, 9729);
		OpenGL.glHint(3156, 4353);
		if (((Class84_Sub3) this).aBool9433)
			OpenGL.glEnable(34895);
		((Class84_Sub3) this).anInt9422 = -1;
		((Class84_Sub3) this).anInt9409 = -1;
		method1904();
		method1917();
	}

	void method15502() {
		method15393(-2);
		for (int i = ((Class84_Sub3) this).anInt9450 - 1; i >= 0; i--) {
			method15439(i);
			method15440(null);
			OpenGL.glTexEnvi(8960, 8704, 34160);
		}
		method15443(8448, 8448);
		method15444(2, 34168, 770);
		method15448();
		((Class84_Sub3) this).anInt9364 = 1;
		OpenGL.glEnable(3042);
		OpenGL.glBlendFunc(770, 771);
		((Class84_Sub3) this).anInt9365 = 1;
		OpenGL.glEnable(3008);
		OpenGL.glAlphaFunc(516, 0.0F);
		((Class84_Sub3) this).aBool9462 = true;
		OpenGL.glColorMask(true, true, true, true);
		((Class84_Sub3) this).aBool9366 = true;
		method15449(true);
		method15489(true);
		method15484(true);
		method15451(true);
		method1906(0.0F, 1.0F);
		method15543();
		((Class84_Sub3) this).anOpenGL9334.setSwapInterval(0);
		OpenGL.glShadeModel(7425);
		OpenGL.glClearDepth(1.0F);
		OpenGL.glDepthFunc(515);
		OpenGL.glPolygonMode(1028, 6914);
		OpenGL.glEnable(2884);
		OpenGL.glCullFace(1029);
		OpenGL.glMatrixMode(5888);
		OpenGL.glLoadIdentity();
		OpenGL.glColorMaterial(1028, 5634);
		OpenGL.glEnable(2903);
		float[] fs = { 0.0F, 0.0F, 0.0F, 1.0F };
		for (int i = 0; i < 8; i++) {
			int i_677_ = 16384 + i;
			OpenGL.glLightfv(i_677_, 4608, fs, 0);
			OpenGL.glLightf(i_677_, 4615, 0.0F);
			OpenGL.glLightf(i_677_, 4616, 0.0F);
		}
		OpenGL.glEnable(16384);
		OpenGL.glEnable(16385);
		OpenGL.glFogf(2914, 0.95F);
		OpenGL.glFogi(2917, 9729);
		OpenGL.glHint(3156, 4353);
		if (((Class84_Sub3) this).aBool9433)
			OpenGL.glEnable(34895);
		((Class84_Sub3) this).anInt9422 = -1;
		((Class84_Sub3) this).anInt9409 = -1;
		method1904();
		method1917();
	}

	boolean method15503() {
		return ((Class84_Sub3) this).aClass137_9337.method3176(3);
	}

	public final Class288 method1982() {
		return new Class288(((Class84_Sub3) this).aClass288_9295);
	}

	boolean method15504() {
		return ((Class84_Sub3) this).aClass137_9337.method3176(3);
	}

	public void method1944(int i, Class134 class134, int i_678_, int i_679_) {
		Class134_Sub3 class134_sub3 = (Class134_Sub3) class134;
		Class145_Sub4_Sub1 class145_sub4_sub1 = ((Class134_Sub3) class134_sub3).aClass145_Sub4_Sub1_9608;
		method15435();
		method15440(((Class134_Sub3) class134_sub3).aClass145_Sub4_Sub1_9608);
		method15409(1);
		method15443(7681, 8448);
		method15444(0, 34167, 768);
		float f = (((Class145_Sub4_Sub1) class145_sub4_sub1).aFloat10447 / (float) ((Class145_Sub4_Sub1) class145_sub4_sub1).anInt10449);
		float f_680_ = (((Class145_Sub4_Sub1) class145_sub4_sub1).aFloat10448 / (float) ((Class145_Sub4_Sub1) class145_sub4_sub1).anInt10446);
		OpenGL.glColor4ub((byte) (i >> 16), (byte) (i >> 8), (byte) i, (byte) (i >> 24));
		OpenGL.glBegin(7);
		OpenGL.glTexCoord2f(f * (float) (((Class84_Sub3) this).anInt9348 - i_678_), f_680_ * (float) (((Class84_Sub3) this).anInt9392 - i_679_));
		OpenGL.glVertex2i(((Class84_Sub3) this).anInt9348, ((Class84_Sub3) this).anInt9392);
		OpenGL.glTexCoord2f(f * (float) (((Class84_Sub3) this).anInt9348 - i_678_), f_680_ * (float) (((Class84_Sub3) this).anInt9393 - i_679_));
		OpenGL.glVertex2i(((Class84_Sub3) this).anInt9348, ((Class84_Sub3) this).anInt9393);
		OpenGL.glTexCoord2f(f * (float) (((Class84_Sub3) this).anInt9395 - i_678_), f_680_ * (float) (((Class84_Sub3) this).anInt9393 - i_679_));
		OpenGL.glVertex2i(((Class84_Sub3) this).anInt9395, ((Class84_Sub3) this).anInt9393);
		OpenGL.glTexCoord2f(f * (float) (((Class84_Sub3) this).anInt9395 - i_678_), f_680_ * (float) (((Class84_Sub3) this).anInt9392 - i_679_));
		OpenGL.glVertex2i(((Class84_Sub3) this).anInt9395, ((Class84_Sub3) this).anInt9392);
		OpenGL.glEnd();
		method15444(0, 5890, 768);
	}

	public void method2185() {
		OpenGL.glFinish();
	}

	final void method15505(Class288 class288) {
		OpenGL.glLoadMatrixf(class288.aFloatArray4285, 0);
	}

	Class171_Sub2 method1894(Canvas canvas, int i, int i_681_) {
		return new Class171_Sub2_Sub1(this, canvas);
	}

	void method15506() {
		method15472();
	}

	void method15507() {
		method15472();
	}

	void method15508() {
		method15472();
	}

	void method1872(int i, int i_682_) throws Exception_Sub7 {
		try {
			aClass171_Sub2_1188.method15383();
		} catch (Exception exception) {
			/* empty */
		}
		if (anInterface5_1177 != null)
			anInterface5_1177.method37(-791415002);
	}

	void method15509() {
		int i = aClass171_1190.method3754();
		int i_683_ = aClass171_1190.method3755();
		((Class84_Sub3) this).aClass288_9374.method5757(0.0F, (float) i, 0.0F, (float) i_683_, -1.0F, 1.0F);
		method1904();
		method15543();
		method1917();
	}

	public final synchronized void method1883(int i) {
		int i_684_ = 0;
		i &= 0x7fffffff;
		while (!((Class84_Sub3) this).aClass413_9355.method7383(339853313)) {
			Class587_Sub17 class587_sub17 = (Class587_Sub17) ((Class84_Sub3) this).aClass413_9355.method7338(-1578934717);
			anIntArray9451[i_684_++] = (int) (class587_sub17.aLong7674 * 3401098856066297101L);
			((Class84_Sub3) this).anInt9352 -= class587_sub17.anInt9630 * -1022666323;
			if (i_684_ == 1000) {
				OpenGL.glDeleteBuffersARB(i_684_, anIntArray9451, 0);
				i_684_ = 0;
			}
		}
		if (i_684_ > 0) {
			OpenGL.glDeleteBuffersARB(i_684_, anIntArray9451, 0);
			i_684_ = 0;
		}
		while (!((Class84_Sub3) this).aClass413_9328.method7383(-1525098005)) {
			Class587_Sub17 class587_sub17 = (Class587_Sub17) ((Class84_Sub3) this).aClass413_9328.method7338(-852334145);
			anIntArray9451[i_684_++] = (int) (class587_sub17.aLong7674 * 3401098856066297101L);
			((Class84_Sub3) this).anInt9345 -= class587_sub17.anInt9630 * -1022666323;
			if (i_684_ == 1000) {
				OpenGL.glDeleteTextures(i_684_, anIntArray9451, 0);
				i_684_ = 0;
			}
		}
		if (i_684_ > 0) {
			OpenGL.glDeleteTextures(i_684_, anIntArray9451, 0);
			i_684_ = 0;
		}
		while (!((Class84_Sub3) this).aClass413_9291.method7383(-1274730263)) {
			Class587_Sub17 class587_sub17 = (Class587_Sub17) ((Class84_Sub3) this).aClass413_9291.method7338(-2012694977);
			anIntArray9451[i_684_++] = class587_sub17.anInt9630 * -1022666323;
			if (i_684_ == 1000) {
				OpenGL.glDeleteFramebuffersEXT(i_684_, anIntArray9451, 0);
				i_684_ = 0;
			}
		}
		if (i_684_ > 0) {
			OpenGL.glDeleteFramebuffersEXT(i_684_, anIntArray9451, 0);
			i_684_ = 0;
		}
		while (!((Class84_Sub3) this).aClass413_9358.method7383(678788308)) {
			Class587_Sub17 class587_sub17 = (Class587_Sub17) ((Class84_Sub3) this).aClass413_9358.method7338(-535701733);
			anIntArray9451[i_684_++] = (int) (class587_sub17.aLong7674 * 3401098856066297101L);
			((Class84_Sub3) this).anInt9441 -= class587_sub17.anInt9630 * -1022666323;
			if (i_684_ == 1000) {
				OpenGL.glDeleteRenderbuffersEXT(i_684_, anIntArray9451, 0);
				i_684_ = 0;
			}
		}
		if (i_684_ > 0) {
			OpenGL.glDeleteRenderbuffersEXT(i_684_, anIntArray9451, 0);
			boolean bool = false;
		}
		while (!((Class84_Sub3) this).aClass413_9354.method7383(-1861462126)) {
			Class587_Sub17 class587_sub17 = (Class587_Sub17) ((Class84_Sub3) this).aClass413_9354.method7338(-860685134);
			OpenGL.glDeleteLists((int) (class587_sub17.aLong7674 * 3401098856066297101L), class587_sub17.anInt9630 * -1022666323);
		}
		while (!((Class84_Sub3) this).aClass413_9359.method7383(1944235414)) {
			Class587 class587 = ((Class84_Sub3) this).aClass413_9359.method7338(193749793);
			OpenGL.glDeleteProgramARB((int) (class587.aLong7674 * 3401098856066297101L));
		}
		while (!((Class84_Sub3) this).aClass413_9360.method7383(824052028)) {
			Class587 class587 = ((Class84_Sub3) this).aClass413_9360.method7338(-687493500);
			OpenGL.glDeleteShader((int) (class587.aLong7674 * 3401098856066297101L));
		}
		while (!((Class84_Sub3) this).aClass413_9354.method7383(1259765524)) {
			Class587_Sub17 class587_sub17 = (Class587_Sub17) ((Class84_Sub3) this).aClass413_9354.method7338(-246195484);
			OpenGL.glDeleteLists((int) (class587_sub17.aLong7674 * 3401098856066297101L), class587_sub17.anInt9630 * -1022666323);
		}
		((Class84_Sub3) this).aClass161_9406.method3483();
		if (method1877() > 100663296 && (Class121.method2891(-1096903757) > ((Class84_Sub3) this).aLong9468 + 60000L)) {
			System.gc();
			((Class84_Sub3) this).aLong9468 = Class121.method2891(408613290);
		}
		((Class84_Sub3) this).anInt9327 = i;
	}

	final void method2080(float f, float f_685_, float f_686_, float f_687_, float f_688_, float f_689_) {
		Class587_Sub23_Sub1.aFloat10314 = f;
		Class587_Sub23_Sub1.aFloat10313 = f_685_;
		Class587_Sub23_Sub1.aFloat10311 = f_686_;
	}

	public void method2174(int i) {
		/* empty */
	}

	public void method2175(int i) {
		/* empty */
	}

	final void method15510() {
		OpenGL.glPushMatrix();
	}

	final void method15511() {
		OpenGL.glLoadIdentity();
		OpenGL.glMultMatrixf((((Class84_Sub3) this).aClass288_9371.aFloatArray4285), 0);
		if (((Class84_Sub3) this).aBool9430)
			((Class137) ((Class84_Sub3) this).aClass137_9337).aClass150_Sub4_1740.method16454();
		method15486();
		method15399();
	}

	public Class288 method1920() {
		return ((Class84_Sub3) this).aClass288_9341;
	}

	public Class288 method2179() {
		return ((Class84_Sub3) this).aClass288_9341;
	}

	public Class288 method1954() {
		return ((Class84_Sub3) this).aClass288_9341;
	}

	public void method2181() {
		((Class84_Sub3) this).anInt9398 = 0;
		((Class84_Sub3) this).anInt9399 = 0;
		((Class84_Sub3) this).anInt9400 = aClass171_1190.method3754();
		((Class84_Sub3) this).anInt9401 = aClass171_1190.method3755();
		method15411();
	}

	final void method15512(boolean bool) {
		if (bool != ((Class84_Sub3) this).aBool9403) {
			((Class84_Sub3) this).aBool9403 = bool;
			method15464();
			((Class84_Sub3) this).anInt9378 &= ~0x7;
		}
	}

	public void method2084() {
		((Class84_Sub3) this).anInt9398 = 0;
		((Class84_Sub3) this).anInt9399 = 0;
		((Class84_Sub3) this).anInt9400 = aClass171_1190.method3754();
		((Class84_Sub3) this).anInt9401 = aClass171_1190.method3755();
		method15411();
	}

	public void method2184() {
		((Class84_Sub3) this).anInt9398 = 0;
		((Class84_Sub3) this).anInt9399 = 0;
		((Class84_Sub3) this).anInt9400 = aClass171_1190.method3754();
		((Class84_Sub3) this).anInt9401 = aClass171_1190.method3755();
		method15411();
	}

	public void method2190() {
		((Class84_Sub3) this).anInt9398 = 0;
		((Class84_Sub3) this).anInt9399 = 0;
		((Class84_Sub3) this).anInt9400 = aClass171_1190.method3754();
		((Class84_Sub3) this).anInt9401 = aClass171_1190.method3755();
		method15411();
	}

	final void method15513(int i, int i_690_) {
		((Class84_Sub3) this).anInt9396 = i;
		((Class84_Sub3) this).anInt9397 = i_690_;
		method15411();
		method15483();
	}

	final void method15514(int i, int i_691_) {
		((Class84_Sub3) this).anInt9396 = i;
		((Class84_Sub3) this).anInt9397 = i_691_;
		method15411();
		method15483();
	}

	final void method15515() {
		if (aClass171_1190 != null) {
			int i;
			int i_692_;
			int i_693_;
			int i_694_;
			if (((Class84_Sub3) this).anInt9390 == 2) {
				i = ((Class84_Sub3) this).anInt9398;
				i_692_ = ((Class84_Sub3) this).anInt9399;
				i_693_ = ((Class84_Sub3) this).anInt9400;
				i_694_ = ((Class84_Sub3) this).anInt9401;
			} else {
				i = 0;
				i_692_ = 0;
				i_693_ = aClass171_1190.method3754();
				i_694_ = aClass171_1190.method3755();
			}
			if (i_693_ < 1)
				i_693_ = 1;
			if (i_694_ < 1)
				i_694_ = 1;
			OpenGL.glViewport(((Class84_Sub3) this).anInt9396 + i, (((Class84_Sub3) this).anInt9397 + aClass171_1190.method3755() - i_692_ - i_694_), i_693_, i_694_);
			((Class84_Sub3) this).aFloat9379 = (float) ((Class84_Sub3) this).anInt9400 / 2.0F;
			((Class84_Sub3) this).aFloat9381 = (float) ((Class84_Sub3) this).anInt9401 / 2.0F;
			((Class84_Sub3) this).aFloat9361 = ((float) ((Class84_Sub3) this).anInt9398 + ((Class84_Sub3) this).aFloat9379);
			((Class84_Sub3) this).aFloat9380 = ((float) ((Class84_Sub3) this).anInt9399 + ((Class84_Sub3) this).aFloat9381);
		}
	}

	public final boolean method2052() {
		if (((Class84_Sub3) this).aClass587_Sub23_Sub1_9339 != null) {
			if (!((Class84_Sub3) this).aClass587_Sub23_Sub1_9339.method15844()) {
				if (((Class84_Sub3) this).aClass147_9338.method3369(((Class84_Sub3) this).aClass587_Sub23_Sub1_9339))
					((Class84_Sub3) this).aClass161_9406.method3487();
				else
					return false;
			}
			return true;
		}
		return false;
	}

	final void method15516() {
		if (aClass171_1190 != null && (((Class84_Sub3) this).anInt9348 < ((Class84_Sub3) this).anInt9395) && (((Class84_Sub3) this).anInt9392 < ((Class84_Sub3) this).anInt9393))
			OpenGL.glScissor((((Class84_Sub3) this).anInt9396 + ((Class84_Sub3) this).anInt9348), (((Class84_Sub3) this).anInt9397 + aClass171_1190.method3755() - ((Class84_Sub3) this).anInt9393), (((Class84_Sub3) this).anInt9395 - ((Class84_Sub3) this).anInt9348), (((Class84_Sub3) this).anInt9393 - ((Class84_Sub3) this).anInt9392));
		else
			OpenGL.glScissor(0, 0, 0, 0);
	}

	final void method15517() {
		OpenGL.glPushMatrix();
	}

	final void method15518() {
		OpenGL.glPushMatrix();
	}

	public void method2012(int i, int i_695_, int i_696_, int i_697_, int i_698_) {
		method15425();
		method15409(i_698_);
		float f = (float) i + 0.35F;
		float f_699_ = (float) i_695_ + 0.35F;
		OpenGL.glColor4ub((byte) (i_697_ >> 16), (byte) (i_697_ >> 8), (byte) i_697_, (byte) (i_697_ >> 24));
		OpenGL.glBegin(1);
		OpenGL.glVertex2f(f, f_699_);
		OpenGL.glVertex2f(f + (float) i_696_, f_699_);
		OpenGL.glEnd();
	}

	public void method1979() {
		((Class84_Sub3) this).aBool9429 = false;
	}

	final void method15519(Class288 class288) {
		OpenGL.glLoadMatrixf(class288.aFloatArray4285, 0);
	}

	public boolean method2002() {
		return true;
	}

	final void method15520() {
		OpenGL.glLoadIdentity();
		OpenGL.glMultMatrixf((((Class84_Sub3) this).aClass288_9371.aFloatArray4285), 0);
		if (((Class84_Sub3) this).aBool9430)
			((Class137) ((Class84_Sub3) this).aClass137_9337).aClass150_Sub4_1740.method16454();
		method15486();
		method15399();
	}

	public final void method1868(Class288 class288) {
		((Class84_Sub3) this).aClass288_9295.method5825(class288);
		method15419();
		method15454();
	}

	public final void method2187(Class288 class288) {
		((Class84_Sub3) this).aClass288_9295.method5825(class288);
		method15419();
		method15454();
	}

	public final void method2188(Class288 class288) {
		((Class84_Sub3) this).aClass288_9295.method5825(class288);
		method15419();
		method15454();
	}

	final void method15521() {
		if (((Class84_Sub3) this).anInt9390 != 0) {
			((Class84_Sub3) this).anInt9390 = 0;
			method15411();
			method15412();
			((Class84_Sub3) this).anInt9378 &= ~0xf;
		}
	}

	final void method15522() {
		if (((Class84_Sub3) this).anInt9390 != 0) {
			((Class84_Sub3) this).anInt9390 = 0;
			method15411();
			method15412();
			((Class84_Sub3) this).anInt9378 &= ~0xf;
		}
	}

	final void method15523() {
		if (((Class84_Sub3) this).anInt9390 != 1) {
			((Class84_Sub3) this).anInt9390 = 1;
			method15454();
			method15411();
			method15412();
			OpenGL.glMatrixMode(5888);
			OpenGL.glLoadIdentity();
			((Class84_Sub3) this).anInt9378 &= ~0x8;
		}
	}

	final void method15524() {
		if (((Class84_Sub3) this).anInt9390 != 1) {
			((Class84_Sub3) this).anInt9390 = 1;
			method15454();
			method15411();
			method15412();
			OpenGL.glMatrixMode(5888);
			OpenGL.glLoadIdentity();
			((Class84_Sub3) this).anInt9378 &= ~0x8;
		}
	}

	final void method15525() {
		if (((Class84_Sub3) this).anInt9390 != 2) {
			((Class84_Sub3) this).anInt9390 = 2;
			method15420(((Class84_Sub3) this).aClass288_9295.aFloatArray4285);
			method15511();
			method15411();
			method15412();
			((Class84_Sub3) this).anInt9378 &= ~0x7;
		}
	}

	final void method15526() {
		OpenGL.glPushMatrix();
	}

	final void method15527() {
		((Class84_Sub3) this).aClass288_9375.method5825(((Class84_Sub3) this).aClass288_9371);
		((Class84_Sub3) this).aClass288_9375.method5835(((Class84_Sub3) this).aClass288_9295);
		((Class84_Sub3) this).aClass288_9375.method5763(((Class84_Sub3) this).aFloatArrayArray9333[0]);
		((Class84_Sub3) this).aClass288_9375.method5769(((Class84_Sub3) this).aFloatArrayArray9333[1]);
		((Class84_Sub3) this).aClass288_9375.method5777(((Class84_Sub3) this).aFloatArrayArray9333[2]);
		((Class84_Sub3) this).aClass288_9375.method5765(((Class84_Sub3) this).aFloatArrayArray9333[3]);
		((Class84_Sub3) this).aClass288_9375.method5766(((Class84_Sub3) this).aFloatArrayArray9333[4]);
		((Class84_Sub3) this).aClass288_9375.method5816(((Class84_Sub3) this).aFloatArrayArray9333[5]);
	}

	final void method15528() {
		((Class84_Sub3) this).aClass288_9375.method5825(((Class84_Sub3) this).aClass288_9371);
		((Class84_Sub3) this).aClass288_9375.method5835(((Class84_Sub3) this).aClass288_9295);
		((Class84_Sub3) this).aClass288_9375.method5763(((Class84_Sub3) this).aFloatArrayArray9333[0]);
		((Class84_Sub3) this).aClass288_9375.method5769(((Class84_Sub3) this).aFloatArrayArray9333[1]);
		((Class84_Sub3) this).aClass288_9375.method5777(((Class84_Sub3) this).aFloatArrayArray9333[2]);
		((Class84_Sub3) this).aClass288_9375.method5765(((Class84_Sub3) this).aFloatArrayArray9333[3]);
		((Class84_Sub3) this).aClass288_9375.method5766(((Class84_Sub3) this).aFloatArrayArray9333[4]);
		((Class84_Sub3) this).aClass288_9375.method5816(((Class84_Sub3) this).aFloatArrayArray9333[5]);
	}

	public final void method1870(int i, int i_700_, int i_701_, int i_702_) {
		if (((Class84_Sub3) this).anInt9348 < i)
			((Class84_Sub3) this).anInt9348 = i;
		if (((Class84_Sub3) this).anInt9395 > i_701_)
			((Class84_Sub3) this).anInt9395 = i_701_;
		if (((Class84_Sub3) this).anInt9392 < i_700_)
			((Class84_Sub3) this).anInt9392 = i_700_;
		if (((Class84_Sub3) this).anInt9393 > i_702_)
			((Class84_Sub3) this).anInt9393 = i_702_;
		OpenGL.glEnable(3089);
		method15483();
	}

	final void method15529(float[] fs) {
		float[] fs_703_ = new float[16];
		System.arraycopy(fs, 0, fs_703_, 0, 16);
		fs_703_[1] = -fs_703_[1];
		fs_703_[5] = -fs_703_[5];
		fs_703_[9] = -fs_703_[9];
		fs_703_[13] = -fs_703_[13];
		OpenGL.glMatrixMode(5889);
		OpenGL.glLoadMatrixf(fs_703_, 0);
		OpenGL.glMatrixMode(5888);
	}

	final void method15530(float[] fs) {
		float[] fs_704_ = new float[16];
		System.arraycopy(fs, 0, fs_704_, 0, 16);
		fs_704_[1] = -fs_704_[1];
		fs_704_[5] = -fs_704_[5];
		fs_704_[9] = -fs_704_[9];
		fs_704_[13] = -fs_704_[13];
		OpenGL.glMatrixMode(5889);
		OpenGL.glLoadMatrixf(fs_704_, 0);
		OpenGL.glMatrixMode(5888);
	}

	final void method15531(float[] fs) {
		float[] fs_705_ = new float[16];
		System.arraycopy(fs, 0, fs_705_, 0, 16);
		fs_705_[1] = -fs_705_[1];
		fs_705_[5] = -fs_705_[5];
		fs_705_[9] = -fs_705_[9];
		fs_705_[13] = -fs_705_[13];
		OpenGL.glMatrixMode(5889);
		OpenGL.glLoadMatrixf(fs_705_, 0);
		OpenGL.glMatrixMode(5888);
	}

	final void method15532(float[] fs) {
		float[] fs_706_ = new float[16];
		System.arraycopy(fs, 0, fs_706_, 0, 16);
		fs_706_[1] = -fs_706_[1];
		fs_706_[5] = -fs_706_[5];
		fs_706_[9] = -fs_706_[9];
		fs_706_[13] = -fs_706_[13];
		OpenGL.glMatrixMode(5889);
		OpenGL.glLoadMatrixf(fs_706_, 0);
		OpenGL.glMatrixMode(5888);
	}

	final void method15533(float[] fs) {
		float[] fs_707_ = new float[16];
		System.arraycopy(fs, 0, fs_707_, 0, 16);
		fs_707_[1] = -fs_707_[1];
		fs_707_[5] = -fs_707_[5];
		fs_707_[9] = -fs_707_[9];
		fs_707_[13] = -fs_707_[13];
		OpenGL.glMatrixMode(5889);
		OpenGL.glLoadMatrixf(fs_707_, 0);
		OpenGL.glMatrixMode(5888);
	}

	void method15534() {
		int i;
		for (i = 0; i < ((Class84_Sub3) this).anInt9418; i++) {
			Class587_Sub12 class587_sub12 = ((Class84_Sub3) this).aClass587_Sub12Array9416[i];
			int i_708_ = 16386 + i;
			aFloatArray9480[0] = (float) class587_sub12.method15725((byte) 32);
			aFloatArray9480[1] = (float) class587_sub12.method15726(1960289127);
			aFloatArray9480[2] = (float) class587_sub12.method15747(1006193683);
			aFloatArray9480[3] = 1.0F;
			OpenGL.glLightfv(i_708_, 4611, aFloatArray9480, 0);
			int i_709_ = class587_sub12.method15729(-1075972586);
			float f = class587_sub12.method15742(2098000106) / 255.0F;
			aFloatArray9480[0] = (float) (i_709_ >> 16 & 0xff) * f;
			aFloatArray9480[1] = (float) (i_709_ >> 8 & 0xff) * f;
			aFloatArray9480[2] = (float) (i_709_ & 0xff) * f;
			OpenGL.glLightfv(i_708_, 4609, aFloatArray9480, 0);
			OpenGL.glLightf(i_708_, 4617, (1.0F / (float) (class587_sub12.method15728(-1026112353) * class587_sub12.method15728(-1156763090))));
			OpenGL.glEnable(i_708_);
		}
		for (/**/; i < ((Class84_Sub3) this).anInt9298; i++)
			OpenGL.glDisable(16386 + i);
		((Class84_Sub3) this).anInt9298 = ((Class84_Sub3) this).anInt9418;
	}

	void method15535() {
		int i;
		for (i = 0; i < ((Class84_Sub3) this).anInt9418; i++) {
			Class587_Sub12 class587_sub12 = ((Class84_Sub3) this).aClass587_Sub12Array9416[i];
			int i_710_ = 16386 + i;
			aFloatArray9480[0] = (float) class587_sub12.method15725((byte) 9);
			aFloatArray9480[1] = (float) class587_sub12.method15726(354447983);
			aFloatArray9480[2] = (float) class587_sub12.method15747(1226747445);
			aFloatArray9480[3] = 1.0F;
			OpenGL.glLightfv(i_710_, 4611, aFloatArray9480, 0);
			int i_711_ = class587_sub12.method15729(-1368328208);
			float f = class587_sub12.method15742(588938270) / 255.0F;
			aFloatArray9480[0] = (float) (i_711_ >> 16 & 0xff) * f;
			aFloatArray9480[1] = (float) (i_711_ >> 8 & 0xff) * f;
			aFloatArray9480[2] = (float) (i_711_ & 0xff) * f;
			OpenGL.glLightfv(i_710_, 4609, aFloatArray9480, 0);
			OpenGL.glLightf(i_710_, 4617, (1.0F / (float) (class587_sub12.method15728(-534406513) * class587_sub12.method15728(-1550621047))));
			OpenGL.glEnable(i_710_);
		}
		for (/**/; i < ((Class84_Sub3) this).anInt9298; i++)
			OpenGL.glDisable(16386 + i);
		((Class84_Sub3) this).anInt9298 = ((Class84_Sub3) this).anInt9418;
	}

	public final void method2189(int i, int i_712_, int i_713_) {
		if (((Class84_Sub3) this).anInt9422 != i || ((Class84_Sub3) this).anInt9423 != i_712_ || ((Class84_Sub3) this).anInt9424 != i_713_) {
			((Class84_Sub3) this).anInt9422 = i;
			((Class84_Sub3) this).anInt9423 = i_712_;
			((Class84_Sub3) this).anInt9424 = i_713_;
			method15536();
			method15424();
		}
	}

	void method15536() {
		((Class84_Sub3) this).aFloat9346 = (((Class84_Sub3) this).aFloat9385 - (float) ((Class84_Sub3) this).anInt9424 - ((Class84_Sub3) this).aFloat9485);
		((Class84_Sub3) this).aFloat9425 = (((Class84_Sub3) this).aFloat9346 - ((float) ((Class84_Sub3) this).anInt9423 * ((Class84_Sub3) this).aFloat9427));
		if (((Class84_Sub3) this).aFloat9425 < ((Class84_Sub3) this).aFloat9384)
			((Class84_Sub3) this).aFloat9425 = ((Class84_Sub3) this).aFloat9384;
		OpenGL.glFogf(2915, ((Class84_Sub3) this).aFloat9425);
		OpenGL.glFogf(2916, ((Class84_Sub3) this).aFloat9346);
		aFloatArray9479[0] = (float) (((Class84_Sub3) this).anInt9422 & 0xff0000) / 1.671168E7F;
		aFloatArray9479[1] = (float) (((Class84_Sub3) this).anInt9422 & 0xff00) / 65280.0F;
		aFloatArray9479[2] = (float) (((Class84_Sub3) this).anInt9422 & 0xff) / 255.0F;
		OpenGL.glFogfv(2918, aFloatArray9479, 0);
	}

	public Class176 method1994(int i, int i_714_, int[][] is, int[][] is_715_, int i_716_, int i_717_, int i_718_) {
		return new Class176_Sub1(this, i_717_, i_718_, i, i_714_, is, is_715_, i_716_);
	}

	void method15537() {
		aFloatArray9479[0] = (((Class84_Sub3) this).aFloat9413 * ((Class84_Sub3) this).aFloat9465);
		aFloatArray9479[1] = (((Class84_Sub3) this).aFloat9413 * ((Class84_Sub3) this).aFloat9411);
		aFloatArray9479[2] = (((Class84_Sub3) this).aFloat9413 * ((Class84_Sub3) this).aFloat9370);
		aFloatArray9479[3] = 1.0F;
		OpenGL.glLightModelfv(2899, aFloatArray9479, 0);
	}

	void method15538() {
		aFloatArray9479[0] = (((Class84_Sub3) this).aFloat9414 * ((Class84_Sub3) this).aFloat9465);
		aFloatArray9479[1] = (((Class84_Sub3) this).aFloat9414 * ((Class84_Sub3) this).aFloat9411);
		aFloatArray9479[2] = (((Class84_Sub3) this).aFloat9414 * ((Class84_Sub3) this).aFloat9370);
		aFloatArray9479[3] = 1.0F;
		OpenGL.glLightfv(16384, 4609, aFloatArray9479, 0);
		aFloatArray9479[0] = (-((Class84_Sub3) this).aFloat9415 * ((Class84_Sub3) this).aFloat9465);
		aFloatArray9479[1] = (-((Class84_Sub3) this).aFloat9415 * ((Class84_Sub3) this).aFloat9411);
		aFloatArray9479[2] = (-((Class84_Sub3) this).aFloat9415 * ((Class84_Sub3) this).aFloat9370);
		aFloatArray9479[3] = 1.0F;
		OpenGL.glLightfv(16385, 4609, aFloatArray9479, 0);
	}

	void method15539() {
		aFloatArray9479[0] = (((Class84_Sub3) this).aFloat9414 * ((Class84_Sub3) this).aFloat9465);
		aFloatArray9479[1] = (((Class84_Sub3) this).aFloat9414 * ((Class84_Sub3) this).aFloat9411);
		aFloatArray9479[2] = (((Class84_Sub3) this).aFloat9414 * ((Class84_Sub3) this).aFloat9370);
		aFloatArray9479[3] = 1.0F;
		OpenGL.glLightfv(16384, 4609, aFloatArray9479, 0);
		aFloatArray9479[0] = (-((Class84_Sub3) this).aFloat9415 * ((Class84_Sub3) this).aFloat9465);
		aFloatArray9479[1] = (-((Class84_Sub3) this).aFloat9415 * ((Class84_Sub3) this).aFloat9411);
		aFloatArray9479[2] = (-((Class84_Sub3) this).aFloat9415 * ((Class84_Sub3) this).aFloat9370);
		aFloatArray9479[3] = 1.0F;
		OpenGL.glLightfv(16385, 4609, aFloatArray9479, 0);
	}

	public final boolean method2138() {
		return (((Class84_Sub3) this).aClass587_Sub23_Sub1_9339 != null && ((Class84_Sub3) this).aClass587_Sub23_Sub1_9339.method15844());
	}

	void method15540() {
		OpenGL.glLightfv(16384, 4611, ((Class84_Sub3) this).aFloatArray9314, 0);
		OpenGL.glLightfv(16385, 4611, ((Class84_Sub3) this).aFloatArray9408, 0);
	}

	void method15541() {
		OpenGL.glLightfv(16384, 4611, ((Class84_Sub3) this).aFloatArray9314, 0);
		OpenGL.glLightfv(16385, 4611, ((Class84_Sub3) this).aFloatArray9408, 0);
	}

	final int method15542(int i) {
		if (i == 1)
			return 7681;
		if (i == 0)
			return 8448;
		if (i == 2)
			return 34165;
		if (i == 3)
			return 260;
		if (i == 4)
			return 34023;
		throw new IllegalArgumentException();
	}

	final void method15543() {
		if (((Class84_Sub3) this).anInt9390 != 0) {
			((Class84_Sub3) this).anInt9390 = 0;
			method15411();
			method15412();
			((Class84_Sub3) this).anInt9378 &= ~0xf;
		}
	}

	void method15544() {
		((Class84_Sub3) this).aFloat9346 = (((Class84_Sub3) this).aFloat9385 - (float) ((Class84_Sub3) this).anInt9424 - ((Class84_Sub3) this).aFloat9485);
		((Class84_Sub3) this).aFloat9425 = (((Class84_Sub3) this).aFloat9346 - ((float) ((Class84_Sub3) this).anInt9423 * ((Class84_Sub3) this).aFloat9427));
		if (((Class84_Sub3) this).aFloat9425 < ((Class84_Sub3) this).aFloat9384)
			((Class84_Sub3) this).aFloat9425 = ((Class84_Sub3) this).aFloat9384;
		OpenGL.glFogf(2915, ((Class84_Sub3) this).aFloat9425);
		OpenGL.glFogf(2916, ((Class84_Sub3) this).aFloat9346);
		aFloatArray9479[0] = (float) (((Class84_Sub3) this).anInt9422 & 0xff0000) / 1.671168E7F;
		aFloatArray9479[1] = (float) (((Class84_Sub3) this).anInt9422 & 0xff00) / 65280.0F;
		aFloatArray9479[2] = (float) (((Class84_Sub3) this).anInt9422 & 0xff) / 255.0F;
		OpenGL.glFogfv(2918, aFloatArray9479, 0);
	}

	final void method15545() {
		if (((Class84_Sub3) this).anInt9390 != 1) {
			((Class84_Sub3) this).anInt9390 = 1;
			method15454();
			method15411();
			method15412();
			OpenGL.glMatrixMode(5888);
			OpenGL.glLoadIdentity();
			((Class84_Sub3) this).anInt9378 &= ~0x8;
		}
	}

	public final void method2192(Class159 class159) {
		((Class84_Sub3) this).aClass159_Sub2_9442 = (Class159_Sub2) class159;
	}

	final Class145_Sub1 method15546() {
		return (((Class84_Sub3) this).aClass159_Sub2_9442 != null ? ((Class84_Sub3) this).aClass159_Sub2_9442.method15376() : null);
	}

	final Class145_Sub1 method15547() {
		return (((Class84_Sub3) this).aClass159_Sub2_9442 != null ? ((Class84_Sub3) this).aClass159_Sub2_9442.method15376() : null);
	}

	public boolean method1997() {
		return true;
	}

	final Class145_Sub1 method15548() {
		return (((Class84_Sub3) this).aClass159_Sub2_9442 != null ? ((Class84_Sub3) this).aClass159_Sub2_9442.method15376() : null);
	}

	final Interface9 method15549(int i, byte[] is, int i_719_, boolean bool) {
		if (((Class84_Sub3) this).aBool9322 && (!bool || ((Class84_Sub3) this).aBool9459))
			return new Class155_Sub1(this, i, is, i_719_, bool);
		return new Class156_Sub2(this, i, is, i_719_);
	}

	public void method2148(int i, Class98 class98) {
		if (!((Class84_Sub3) this).aBool9429)
			throw new RuntimeException("");
		((Class84_Sub3) this).anInt9394 = i;
		((Class84_Sub3) this).aClass98_9482 = class98;
		if (((Class84_Sub3) this).aBool9430) {
			((Class137) ((Class84_Sub3) this).aClass137_9337).aClass150_Sub4_1740.method16454();
			((Class137) ((Class84_Sub3) this).aClass137_9337).aClass150_Sub4_1740.method16455();
		}
	}

	public Class135 method1967(int i, int i_720_, int i_721_, int i_722_, boolean bool) {
		return new Class135_Sub1(this, i, i_720_, i_721_, i_722_);
	}

	final Interface9 method15550(int i, Buffer buffer, int i_723_, boolean bool) {
		if (((Class84_Sub3) this).aBool9322 && (!bool || ((Class84_Sub3) this).aBool9459))
			return new Class155_Sub1(this, i, buffer, i_723_, bool);
		return new Class156_Sub2(this, i, buffer);
	}

	final void method15551(Interface9 interface9) {
		if (((Class84_Sub3) this).anInterface9_9473 != interface9) {
			if (((Class84_Sub3) this).aBool9322)
				OpenGL.glBindBufferARB(34962, interface9.method51());
			((Class84_Sub3) this).anInterface9_9473 = interface9;
		}
	}

	final void method15552() {
		OpenGL.glLoadIdentity();
		OpenGL.glMultMatrixf((((Class84_Sub3) this).aClass288_9371.aFloatArray4285), 0);
		if (((Class84_Sub3) this).aBool9430)
			((Class137) ((Class84_Sub3) this).aClass137_9337).aClass150_Sub4_1740.method16454();
		method15486();
		method15399();
	}

	Class84_Sub3(Canvas canvas, Class101 class101, Interface5 interface5, int i) {
		super(class101, interface5);
		((Class84_Sub3) this).anInt9347 = 3;
		((Class84_Sub3) this).aBool9329 = false;
		((Class84_Sub3) this).aClass413_9350 = new Class413();
		((Class84_Sub3) this).aClass413_9354 = new Class413();
		((Class84_Sub3) this).aClass413_9355 = new Class413();
		((Class84_Sub3) this).aClass413_9328 = new Class413();
		((Class84_Sub3) this).aClass413_9291 = new Class413();
		((Class84_Sub3) this).aClass413_9358 = new Class413();
		((Class84_Sub3) this).aClass413_9359 = new Class413();
		((Class84_Sub3) this).aClass413_9360 = new Class413();
		((Class84_Sub3) this).aClass346_9407 = new Class346();
		((Class84_Sub3) this).aClass288_9371 = new Class288();
		((Class84_Sub3) this).aClass288_9307 = new Class288();
		((Class84_Sub3) this).aClass288_9295 = new Class288();
		((Class84_Sub3) this).aClass288_9374 = new Class288();
		((Class84_Sub3) this).aClass288_9375 = new Class288();
		((Class84_Sub3) this).aFloatArrayArray9333 = new float[6][4];
		((Class84_Sub3) this).aFloatArray9377 = new float[4];
		((Class84_Sub3) this).aFloat9382 = 0.0F;
		((Class84_Sub3) this).aFloat9367 = 1.0F;
		((Class84_Sub3) this).aFloat9384 = 0.0F;
		((Class84_Sub3) this).aFloat9385 = -1.0F;
		((Class84_Sub3) this).aClass346_9386 = new Class346();
		((Class84_Sub3) this).aClass288_9434 = new Class288();
		((Class84_Sub3) this).aClass288_9388 = new Class288();
		((Class84_Sub3) this).aFloatArray9389 = new float[16];
		((Class84_Sub3) this).aBool9391 = true;
		((Class84_Sub3) this).anInt9392 = 0;
		((Class84_Sub3) this).anInt9393 = 0;
		((Class84_Sub3) this).anInt9348 = 0;
		((Class84_Sub3) this).anInt9395 = 0;
		((Class84_Sub3) this).anInt9396 = 0;
		((Class84_Sub3) this).anInt9397 = 0;
		((Class84_Sub3) this).aFloatArray9362 = new float[4];
		((Class84_Sub3) this).aFloatArray9383 = new float[4];
		((Class84_Sub3) this).aFloatArray9314 = new float[4];
		((Class84_Sub3) this).aFloatArray9408 = new float[4];
		((Class84_Sub3) this).anInt9409 = -1;
		((Class84_Sub3) this).aFloat9465 = 1.0F;
		((Class84_Sub3) this).aFloat9411 = 1.0F;
		((Class84_Sub3) this).aFloat9370 = 1.0F;
		((Class84_Sub3) this).aFloat9414 = -1.0F;
		((Class84_Sub3) this).aFloat9415 = -1.0F;
		((Class84_Sub3) this).aClass587_Sub12Array9416 = new Class587_Sub12[anInt9326];
		((Class84_Sub3) this).anInt9422 = -1;
		((Class84_Sub3) this).anInt9423 = -1;
		((Class84_Sub3) this).anInt9424 = 0;
		((Class84_Sub3) this).aFloat9427 = 1.0F;
		((Class84_Sub3) this).aFloat9485 = 0.0F;
		((Class84_Sub3) this).aBool9430 = false;
		((Class84_Sub3) this).anInt9455 = 8448;
		((Class84_Sub3) this).anInt9437 = 8448;
		((Class84_Sub3) this).aFloat9320 = -1.0F;
		((Class84_Sub3) this).aFloat9472 = -1.0F;
		((Class84_Sub3) this).aClass163_Sub1Array9431 = new Class163_Sub1[7];
		((Class84_Sub3) this).aClass163_Sub1Array9474 = new Class163_Sub1[7];
		((Class84_Sub3) this).aClass587_Sub4_Sub2_9481 = new Class587_Sub4_Sub2(8192);
		((Class84_Sub3) this).anIntArray9372 = new int[1];
		((Class84_Sub3) this).anIntArray9483 = new int[1];
		((Class84_Sub3) this).anIntArray9351 = new int[1];
		((Class84_Sub3) this).aByteArray9311 = new byte[16384];
		try {
			((Class84_Sub3) this).anInt9432 = i;
			Class106_Sub3.method14645(6838043).method117("jaclib", -1379094402);
			Class106_Sub3.method14645(6838043).method117("jaggl", -1109864368);
			((Class84_Sub3) this).anOpenGL9334 = new OpenGL();
			long l = ((Class84_Sub3) this).anOpenGL9334.init(canvas, 8, 8, 8, 24, 0, ((Class84_Sub3) this).anInt9432);
			if (l == 0L)
				throw new RuntimeException("");
			method15390();
			int i_724_ = method15391();
			if (i_724_ != 0)
				throw new RuntimeException("");
			((Class84_Sub3) this).anInt9470 = ((Class84_Sub3) this).aBool9448 ? 33639 : 5121;
			if (((Class84_Sub3) this).aString9457.indexOf("radeon") != -1) {
				int i_725_ = 0;
				boolean bool = false;
				boolean bool_726_ = false;
				String[] strings = Class490.method11125(((Class84_Sub3) this).aString9457.replace('/', ' '), ' ', 1738526254);
				for (int i_727_ = 0; i_727_ < strings.length; i_727_++) {
					String string = strings[i_727_];
					try {
						if (string.length() <= 0)
							continue;
						if (string.charAt(0) == 'x' && string.length() >= 3 && Class203.method4135(string.substring(1, 3), 19463209)) {
							string = string.substring(1);
							bool_726_ = true;
						}
						if (string.equals("hd")) {
							bool = true;
							continue;
						}
						if (string.startsWith("hd")) {
							string = string.substring(2);
							bool = true;
						}
						if (string.length() < 4 || !Class203.method4135(string.substring(0, 4), 19463209))
							continue;
						i_725_ = Class508.method11501(string.substring(0, 4), 630327680);
					} catch (Exception exception) {
						continue;
					}
					break;
				}
				if (!bool_726_ && !bool) {
					if (i_725_ >= 7000 && i_725_ <= 7999)
						((Class84_Sub3) this).aBool9322 = false;
					if (i_725_ >= 7000 && i_725_ <= 9250)
						((Class84_Sub3) this).aBool9460 = false;
				}
				if (!bool || i_725_ < 4000)
					((Class84_Sub3) this).aBool9464 = false;
				((Class84_Sub3) this).aBool9463 &= ((Class84_Sub3) this).anOpenGL9334.method3468("GL_ARB_half_float_pixel");
				((Class84_Sub3) this).aBool9459 = ((Class84_Sub3) this).aBool9322;
				((Class84_Sub3) this).aBool9412 = true;
			}
			if (((Class84_Sub3) this).aString9315.indexOf("intel") != -1)
				((Class84_Sub3) this).aBool9453 = false;
			((Class84_Sub3) this).aBool9469 = !((Class84_Sub3) this).aString9315.equals("s3 graphics");
			if (((Class84_Sub3) this).aBool9322) {
				try {
					int[] is = new int[1];
					OpenGL.glGenBuffersARB(1, is, 0);
				} catch (Throwable throwable) {
					throw new RuntimeException("");
				}
			}
			Class587_Sub26.method15884(false, true, -74390965);
			((Class84_Sub3) this).aBool9329 = true;
			((Class84_Sub3) this).aClass161_9406 = new Class161(this, anInterface5_1177);
			method15466();
			((Class84_Sub3) this).aClass138_9458 = new Class138(this);
			((Class84_Sub3) this).aClass147_9338 = new Class147(this);
			if (((Class84_Sub3) this).aClass147_9338.method3374()) {
				((Class84_Sub3) this).aClass587_Sub23_Sub1_9339 = new Class587_Sub23_Sub1(this);
				if (!((Class84_Sub3) this).aClass587_Sub23_Sub1_9339.method16536()) {
					((Class84_Sub3) this).aClass587_Sub23_Sub1_9339.method15824();
					((Class84_Sub3) this).aClass587_Sub23_Sub1_9339 = null;
				}
			}
			method1891(canvas, new Class171_Sub2_Sub1(this, canvas, l), -1463040510);
			method1893(canvas, -1969989377);
			((Class84_Sub3) this).aClass137_9337 = new Class137(this);
			method15407();
			method1903();
		} catch (Throwable throwable) {
			throwable.printStackTrace();
			method2135((byte) 20);
			if (throwable instanceof OutOfMemoryError)
				throw (OutOfMemoryError) throwable;
			throw new RuntimeException("");
		}
	}

	final void method15553() {
		((Class84_Sub3) this).aFloat9385 = ((Class84_Sub3) this).aClass288_9295.method5767();
		((Class84_Sub3) this).aFloat9384 = ((Class84_Sub3) this).aClass288_9295.method5762();
		method15536();
		if (((Class84_Sub3) this).anInt9390 == 2)
			method15420(((Class84_Sub3) this).aClass288_9295.aFloatArray4285);
		else if (((Class84_Sub3) this).anInt9390 == 1)
			method15420(((Class84_Sub3) this).aClass288_9374.aFloatArray4285);
	}

	final void method15554(Class152 class152, Class152 class152_728_, Class152 class152_729_, Class152 class152_730_) {
		if (class152 != null) {
			method15430(((Class152) class152).anInterface9_1853);
			OpenGL.glVertexPointer(((Class152) class152).aByte1851, ((Class152) class152).aShort1852, ((Class84_Sub3) this).anInterface9_9473.method49(), (((Class84_Sub3) this).anInterface9_9473.method60() + (long) ((Class152) class152).aByte1850));
			OpenGL.glEnableClientState(32884);
		} else
			OpenGL.glDisableClientState(32884);
		if (class152_728_ != null) {
			method15430(((Class152) class152_728_).anInterface9_1853);
			OpenGL.glNormalPointer(((Class152) class152_728_).aShort1852, ((Class84_Sub3) this).anInterface9_9473.method49(), (((Class84_Sub3) this).anInterface9_9473.method60() + (long) ((Class152) class152_728_).aByte1850));
			OpenGL.glEnableClientState(32885);
		} else
			OpenGL.glDisableClientState(32885);
		if (class152_729_ != null) {
			method15430(((Class152) class152_729_).anInterface9_1853);
			OpenGL.glColorPointer(((Class152) class152_729_).aByte1851, ((Class152) class152_729_).aShort1852, ((Class84_Sub3) this).anInterface9_9473.method49(), (((Class84_Sub3) this).anInterface9_9473.method60() + (long) ((Class152) class152_729_).aByte1850));
			OpenGL.glEnableClientState(32886);
		} else
			OpenGL.glDisableClientState(32886);
		if (class152_730_ != null) {
			method15430(((Class152) class152_730_).anInterface9_1853);
			OpenGL.glTexCoordPointer(((Class152) class152_730_).aByte1851, ((Class152) class152_730_).aShort1852, ((Class84_Sub3) this).anInterface9_9473.method49(), (((Class84_Sub3) this).anInterface9_9473.method60() + (long) ((Class152) class152_730_).aByte1850));
			OpenGL.glEnableClientState(32888);
		} else
			OpenGL.glDisableClientState(32888);
	}

	public boolean method2047() {
		return true;
	}

	final void method15555(Class152 class152, Class152 class152_731_, Class152 class152_732_, Class152 class152_733_) {
		if (class152 != null) {
			method15430(((Class152) class152).anInterface9_1853);
			OpenGL.glVertexPointer(((Class152) class152).aByte1851, ((Class152) class152).aShort1852, ((Class84_Sub3) this).anInterface9_9473.method49(), (((Class84_Sub3) this).anInterface9_9473.method60() + (long) ((Class152) class152).aByte1850));
			OpenGL.glEnableClientState(32884);
		} else
			OpenGL.glDisableClientState(32884);
		if (class152_731_ != null) {
			method15430(((Class152) class152_731_).anInterface9_1853);
			OpenGL.glNormalPointer(((Class152) class152_731_).aShort1852, ((Class84_Sub3) this).anInterface9_9473.method49(), (((Class84_Sub3) this).anInterface9_9473.method60() + (long) ((Class152) class152_731_).aByte1850));
			OpenGL.glEnableClientState(32885);
		} else
			OpenGL.glDisableClientState(32885);
		if (class152_732_ != null) {
			method15430(((Class152) class152_732_).anInterface9_1853);
			OpenGL.glColorPointer(((Class152) class152_732_).aByte1851, ((Class152) class152_732_).aShort1852, ((Class84_Sub3) this).anInterface9_9473.method49(), (((Class84_Sub3) this).anInterface9_9473.method60() + (long) ((Class152) class152_732_).aByte1850));
			OpenGL.glEnableClientState(32886);
		} else
			OpenGL.glDisableClientState(32886);
		if (class152_733_ != null) {
			method15430(((Class152) class152_733_).anInterface9_1853);
			OpenGL.glTexCoordPointer(((Class152) class152_733_).aByte1851, ((Class152) class152_733_).aShort1852, ((Class84_Sub3) this).anInterface9_9473.method49(), (((Class84_Sub3) this).anInterface9_9473.method60() + (long) ((Class152) class152_733_).aByte1850));
			OpenGL.glEnableClientState(32888);
		} else
			OpenGL.glDisableClientState(32888);
	}

	final void method15556(int i, int i_734_, int i_735_) {
		OpenGL.glDrawArrays(i, i_734_, i_735_);
	}

	final void method15557(int i, int i_736_, int i_737_) {
		OpenGL.glDrawArrays(i, i_736_, i_737_);
	}

	public final void method1961(int i, float f, float f_738_, float f_739_, float f_740_, float f_741_) {
		boolean bool = ((Class84_Sub3) this).anInt9409 != i;
		if (bool || ((Class84_Sub3) this).aFloat9414 != f || ((Class84_Sub3) this).aFloat9415 != f_738_) {
			((Class84_Sub3) this).anInt9409 = i;
			((Class84_Sub3) this).aFloat9414 = f;
			((Class84_Sub3) this).aFloat9415 = f_738_;
			if (bool) {
				((Class84_Sub3) this).aFloat9465 = ((float) (((Class84_Sub3) this).anInt9409 & 0xff0000) / 1.671168E7F);
				((Class84_Sub3) this).aFloat9411 = ((float) (((Class84_Sub3) this).anInt9409 & 0xff00) / 65280.0F);
				((Class84_Sub3) this).aFloat9370 = ((float) (((Class84_Sub3) this).anInt9409 & 0xff) / 255.0F);
				method15413();
			}
			method15423();
		}
		if (((Class84_Sub3) this).aFloatArray9362[0] != f_739_ || ((Class84_Sub3) this).aFloatArray9362[1] != f_740_ || ((Class84_Sub3) this).aFloatArray9362[2] != f_741_) {
			((Class84_Sub3) this).aFloatArray9362[0] = f_739_;
			((Class84_Sub3) this).aFloatArray9362[1] = f_740_;
			((Class84_Sub3) this).aFloatArray9362[2] = f_741_;
			((Class84_Sub3) this).aFloatArray9383[0] = -f_739_;
			((Class84_Sub3) this).aFloatArray9383[1] = -f_740_;
			((Class84_Sub3) this).aFloatArray9383[2] = -f_741_;
			float f_742_ = (float) (1.0 / Math.sqrt((double) (f_739_ * f_739_ + f_740_ * f_740_ + f_741_ * f_741_)));
			((Class84_Sub3) this).aFloatArray9314[0] = f_739_ * f_742_;
			((Class84_Sub3) this).aFloatArray9314[1] = f_740_ * f_742_;
			((Class84_Sub3) this).aFloatArray9314[2] = f_741_ * f_742_;
			((Class84_Sub3) this).aFloatArray9408[0] = -((Class84_Sub3) this).aFloatArray9314[0];
			((Class84_Sub3) this).aFloatArray9408[1] = -((Class84_Sub3) this).aFloatArray9314[1];
			((Class84_Sub3) this).aFloatArray9408[2] = -((Class84_Sub3) this).aFloatArray9314[2];
			method15486();
			((Class84_Sub3) this).anInt9419 = (int) (f_739_ * 256.0F / f_740_);
			((Class84_Sub3) this).anInt9420 = (int) (f_741_ * 256.0F / f_740_);
		}
	}

	public boolean method2011() {
		return true;
	}

	final void method15558(boolean bool) {
		if (bool != ((Class84_Sub3) this).aBool9335) {
			if (bool)
				OpenGL.glEnable(2929);
			else
				OpenGL.glDisable(2929);
			((Class84_Sub3) this).aBool9335 = bool;
			((Class84_Sub3) this).anInt9378 &= ~0xf;
		}
	}

	final void method15559(Interface14 interface14, int i, int i_743_, int i_744_) {
		method15431(interface14);
		OpenGL.glDrawElements(i, i_744_, 5123, interface14.method110() + (long) (i_743_ * 2));
	}

	final void method15560() {
		if (((Class84_Sub3) this).anInt9378 != 1) {
			method15545();
			method15449(false);
			method15489(false);
			method15484(false);
			method15451(false);
			method15440(null);
			method15393(-2);
			method15467(1);
			((Class84_Sub3) this).anInt9378 = 1;
		}
	}

	public void method1925(int i, int i_745_, int i_746_, int i_747_, int i_748_) {
		method15425();
		method15409(i_748_);
		float f = (float) i + 0.35F;
		float f_749_ = (float) i_745_ + 0.35F;
		OpenGL.glColor4ub((byte) (i_747_ >> 16), (byte) (i_747_ >> 8), (byte) i_747_, (byte) (i_747_ >> 24));
		OpenGL.glBegin(1);
		OpenGL.glVertex2f(f, f_749_);
		OpenGL.glVertex2f(f, f_749_ + (float) i_746_);
		OpenGL.glEnd();
	}

	final void method15561() {
		if (((Class84_Sub3) this).anInt9378 != 2) {
			method15545();
			method15449(false);
			method15489(false);
			method15484(false);
			method15451(false);
			method15393(-2);
			((Class84_Sub3) this).anInt9378 = 2;
		}
	}

	public void method2016(boolean bool) {
		/* empty */
	}

	final void method15562() {
		if (((Class84_Sub3) this).anInt9378 != 4) {
			method15545();
			method15449(false);
			method15489(false);
			method15484(false);
			method15451(false);
			method15393(-2);
			method15409(1);
			((Class84_Sub3) this).anInt9378 = 4;
		}
	}

	final void method15563() {
		if (((Class84_Sub3) this).anInt9378 != 8) {
			method15418();
			method15449(true);
			method15484(true);
			method15451(true);
			method15409(1);
			((Class84_Sub3) this).anInt9378 = 8;
		}
	}

	final void method15564() {
		if (((Class84_Sub3) this).anInt9378 != 8) {
			method15418();
			method15449(true);
			method15484(true);
			method15451(true);
			method15409(1);
			((Class84_Sub3) this).anInt9378 = 8;
		}
	}

	final void method15565() {
		if (((Class84_Sub3) this).anInt9378 != 8) {
			method15418();
			method15449(true);
			method15484(true);
			method15451(true);
			method15409(1);
			((Class84_Sub3) this).anInt9378 = 8;
		}
	}

	final void method15566() {
		((Class84_Sub3) this).aClass288_9375.method5825(((Class84_Sub3) this).aClass288_9371);
		((Class84_Sub3) this).aClass288_9375.method5835(((Class84_Sub3) this).aClass288_9295);
		((Class84_Sub3) this).aClass288_9375.method5763(((Class84_Sub3) this).aFloatArrayArray9333[0]);
		((Class84_Sub3) this).aClass288_9375.method5769(((Class84_Sub3) this).aFloatArrayArray9333[1]);
		((Class84_Sub3) this).aClass288_9375.method5777(((Class84_Sub3) this).aFloatArrayArray9333[2]);
		((Class84_Sub3) this).aClass288_9375.method5765(((Class84_Sub3) this).aFloatArrayArray9333[3]);
		((Class84_Sub3) this).aClass288_9375.method5766(((Class84_Sub3) this).aFloatArrayArray9333[4]);
		((Class84_Sub3) this).aClass288_9375.method5816(((Class84_Sub3) this).aFloatArrayArray9333[5]);
	}

	final void method15567(int i) {
		method15479(i, true);
	}

	public void method1964() {
		((Class84_Sub3) this).anInt9398 = 0;
		((Class84_Sub3) this).anInt9399 = 0;
		((Class84_Sub3) this).anInt9400 = aClass171_1190.method3754();
		((Class84_Sub3) this).anInt9401 = aClass171_1190.method3755();
		method15411();
	}

	final void method15568(int i, boolean bool, boolean bool_750_) {
		if (i != ((Class84_Sub3) this).anInt9435 || (((Class84_Sub3) this).aBool9430 != ((Class84_Sub3) this).aBool9429)) {
			Class145_Sub4 class145_sub4 = null;
			byte i_751_ = 0;
			byte i_752_ = 0;
			int i_753_ = 0;
			byte i_754_ = ((Class84_Sub3) this).aBool9429 ? (byte) 3 : (byte) 0;
			if (i >= 0) {
				Class104 class104 = aClass101_1178.method2491(i, 1629104559);
				if (class104.anInt1488 * -1560548051 != -1) {
					class145_sub4 = ((Class84_Sub3) this).aClass161_9406.method3480(class104);
					if (class104.aByte1492 != 0 || class104.aByte1493 != 0)
						method15447(((float) (((Class84_Sub3) this).anInt9327 % 128000) / 1000.0F * (float) class104.aByte1492 / 64.0F % 1.0F), ((float) (((Class84_Sub3) this).anInt9327 % 128000) / 1000.0F * (float) class104.aByte1493 / 64.0F % 1.0F), 0.0F);
					else
						method15448();
					if (!((Class84_Sub3) this).aBool9429) {
						i_752_ = class104.aByte1510;
						i_753_ = class104.anInt1513 * -121348933;
						i_754_ = class104.aByte1511;
					}
					i_751_ = class104.aByte1519;
				} else
					method15448();
			} else
				method15448();
			((Class84_Sub3) this).aClass137_9337.method3174(i_754_, i_752_, i_753_, bool, bool_750_);
			if (!((Class84_Sub3) this).aClass137_9337.method3179(class145_sub4, i_751_)) {
				method15440(class145_sub4);
				method15467(i_751_);
			}
			((Class84_Sub3) this).aBool9430 = ((Class84_Sub3) this).aBool9429;
			((Class84_Sub3) this).anInt9435 = i;
		}
		((Class84_Sub3) this).anInt9378 &= ~0x7;
	}

	public final boolean method2215() {
		if (((Class84_Sub3) this).aClass587_Sub23_Sub1_9339 != null) {
			if (!((Class84_Sub3) this).aClass587_Sub23_Sub1_9339.method15844()) {
				if (((Class84_Sub3) this).aClass147_9338.method3369(((Class84_Sub3) this).aClass587_Sub23_Sub1_9339))
					((Class84_Sub3) this).aClass161_9406.method3487();
				else
					return false;
			}
			return true;
		}
		return false;
	}

	final void method15569(int i) {
		if (((Class84_Sub3) this).anInt9439 != i) {
			OpenGL.glActiveTexture(33984 + i);
			((Class84_Sub3) this).anInt9439 = i;
		}
	}

	final void method15570(int i) {
		if (((Class84_Sub3) this).anInt9439 != i) {
			OpenGL.glActiveTexture(33984 + i);
			((Class84_Sub3) this).anInt9439 = i;
		}
	}

	final void method15571(Class145 class145) {
		Class145 class145_755_ = (((Class84_Sub3) this).aClass145Array9344[((Class84_Sub3) this).anInt9439]);
		if (class145_755_ != class145) {
			if (class145 != null) {
				if (class145_755_ != null) {
					if (((Class145) class145).anInt1791 != ((Class145) class145_755_).anInt1791) {
						OpenGL.glDisable(((Class145) class145_755_).anInt1791);
						OpenGL.glEnable(((Class145) class145).anInt1791);
					}
				} else
					OpenGL.glEnable(((Class145) class145).anInt1791);
				OpenGL.glBindTexture(((Class145) class145).anInt1791, ((Class145) class145).anInt1790);
			} else
				OpenGL.glDisable(((Class145) class145_755_).anInt1791);
			((Class84_Sub3) this).aClass145Array9344[(((Class84_Sub3) this).anInt9439)] = class145;
		}
		((Class84_Sub3) this).anInt9378 &= ~0x1;
	}

	public Class135 method1939(int i, int i_756_, int i_757_, int i_758_, boolean bool) {
		return new Class135_Sub1(this, i, i_756_, i_757_, i_758_);
	}

	final void method15572(Class145 class145) {
		Class145 class145_759_ = (((Class84_Sub3) this).aClass145Array9344[((Class84_Sub3) this).anInt9439]);
		if (class145_759_ != class145) {
			if (class145 != null) {
				if (class145_759_ != null) {
					if (((Class145) class145).anInt1791 != ((Class145) class145_759_).anInt1791) {
						OpenGL.glDisable(((Class145) class145_759_).anInt1791);
						OpenGL.glEnable(((Class145) class145).anInt1791);
					}
				} else
					OpenGL.glEnable(((Class145) class145).anInt1791);
				OpenGL.glBindTexture(((Class145) class145).anInt1791, ((Class145) class145).anInt1790);
			} else
				OpenGL.glDisable(((Class145) class145_759_).anInt1791);
			((Class84_Sub3) this).aClass145Array9344[(((Class84_Sub3) this).anInt9439)] = class145;
		}
		((Class84_Sub3) this).anInt9378 &= ~0x1;
	}

	final void method15573(Class145 class145) {
		Class145 class145_760_ = (((Class84_Sub3) this).aClass145Array9344[((Class84_Sub3) this).anInt9439]);
		if (class145_760_ != class145) {
			if (class145 != null) {
				if (class145_760_ != null) {
					if (((Class145) class145).anInt1791 != ((Class145) class145_760_).anInt1791) {
						OpenGL.glDisable(((Class145) class145_760_).anInt1791);
						OpenGL.glEnable(((Class145) class145).anInt1791);
					}
				} else
					OpenGL.glEnable(((Class145) class145).anInt1791);
				OpenGL.glBindTexture(((Class145) class145).anInt1791, ((Class145) class145).anInt1790);
			} else
				OpenGL.glDisable(((Class145) class145_760_).anInt1791);
			((Class84_Sub3) this).aClass145Array9344[(((Class84_Sub3) this).anInt9439)] = class145;
		}
		((Class84_Sub3) this).anInt9378 &= ~0x1;
	}

	final void method15574(Class145 class145) {
		Class145 class145_761_ = (((Class84_Sub3) this).aClass145Array9344[((Class84_Sub3) this).anInt9439]);
		if (class145_761_ != class145) {
			if (class145 != null) {
				if (class145_761_ != null) {
					if (((Class145) class145).anInt1791 != ((Class145) class145_761_).anInt1791) {
						OpenGL.glDisable(((Class145) class145_761_).anInt1791);
						OpenGL.glEnable(((Class145) class145).anInt1791);
					}
				} else
					OpenGL.glEnable(((Class145) class145).anInt1791);
				OpenGL.glBindTexture(((Class145) class145).anInt1791, ((Class145) class145).anInt1790);
			} else
				OpenGL.glDisable(((Class145) class145_761_).anInt1791);
			((Class84_Sub3) this).aClass145Array9344[(((Class84_Sub3) this).anInt9439)] = class145;
		}
		((Class84_Sub3) this).anInt9378 &= ~0x1;
	}

	final void method15575(int i) {
		if (i == 1)
			method15443(7681, 7681);
		else if (i == 0)
			method15443(8448, 8448);
		else if (i == 2)
			method15443(34165, 7681);
		else if (i == 3)
			method15443(260, 8448);
		else if (i == 4)
			method15443(34023, 34023);
	}

	final void method15576(int i) {
		if (i == 1)
			method15443(7681, 7681);
		else if (i == 0)
			method15443(8448, 8448);
		else if (i == 2)
			method15443(34165, 7681);
		else if (i == 3)
			method15443(260, 8448);
		else if (i == 4)
			method15443(34023, 34023);
	}

	public void method2049(int i, int i_762_, int i_763_, int i_764_, int i_765_, int i_766_, byte[] is, int i_767_, int i_768_) {
		float f;
		float f_769_;
		if (((Class84_Sub3) this).aClass145_Sub4_Sub1_9443 == null || (((Class145_Sub4_Sub1) ((Class84_Sub3) this).aClass145_Sub4_Sub1_9443).anInt10271 < i_763_) || (((Class145_Sub4_Sub1) ((Class84_Sub3) this).aClass145_Sub4_Sub1_9443).anInt10272 < i_764_)) {
			((Class84_Sub3) this).aClass145_Sub4_Sub1_9443 = Class145_Sub4_Sub1.method16670(this, Class172.aClass172_2144, Class96.aClass96_1386, i_763_, i_764_, false, is, Class172.aClass172_2144);
			((Class84_Sub3) this).aClass145_Sub4_Sub1_9443.method16492(false, false);
			f = ((Class145_Sub4_Sub1) ((Class84_Sub3) this).aClass145_Sub4_Sub1_9443).aFloat10448;
			f_769_ = ((Class145_Sub4_Sub1) ((Class84_Sub3) this).aClass145_Sub4_Sub1_9443).aFloat10447;
		} else {
			((Class84_Sub3) this).aClass145_Sub4_Sub1_9443.method16493(0, 0, i_763_, i_764_, is, Class172.aClass172_2144, 0, 0, false);
			f = (((Class145_Sub4_Sub1) ((Class84_Sub3) this).aClass145_Sub4_Sub1_9443).aFloat10448 * (float) i_764_ / (float) (((Class145_Sub4_Sub1) ((Class84_Sub3) this).aClass145_Sub4_Sub1_9443).anInt10272));
			f_769_ = (((Class145_Sub4_Sub1) ((Class84_Sub3) this).aClass145_Sub4_Sub1_9443).aFloat10447 * (float) i_763_ / (float) (((Class145_Sub4_Sub1) ((Class84_Sub3) this).aClass145_Sub4_Sub1_9443).anInt10271));
		}
		method15435();
		method15440(((Class84_Sub3) this).aClass145_Sub4_Sub1_9443);
		method15409(i_768_);
		OpenGL.glColor4ub((byte) (i_765_ >> 16), (byte) (i_765_ >> 8), (byte) i_765_, (byte) (i_765_ >> 24));
		method15476(i_766_);
		method15443(34165, 34165);
		method15444(0, 34166, 768);
		method15444(2, 5890, 770);
		method15445(0, 34166, 770);
		method15445(2, 5890, 770);
		float f_770_ = (float) i;
		float f_771_ = (float) i_762_;
		float f_772_ = f_770_ + (float) i_763_;
		float f_773_ = f_771_ + (float) i_764_;
		OpenGL.glBegin(7);
		OpenGL.glTexCoord2f(0.0F, 0.0F);
		OpenGL.glVertex2f(f_770_, f_771_);
		OpenGL.glTexCoord2f(0.0F, f_769_);
		OpenGL.glVertex2f(f_770_, f_773_);
		OpenGL.glTexCoord2f(f, f_769_);
		OpenGL.glVertex2f(f_772_, f_773_);
		OpenGL.glTexCoord2f(f, 0.0F);
		OpenGL.glVertex2f(f_772_, f_771_);
		OpenGL.glEnd();
		method15444(0, 5890, 768);
		method15444(2, 34166, 770);
		method15445(0, 5890, 770);
		method15445(2, 34166, 770);
	}

	final int method15577(int i) {
		if (i == 1)
			return 7681;
		if (i == 0)
			return 8448;
		if (i == 2)
			return 34165;
		if (i == 3)
			return 260;
		if (i == 4)
			return 34023;
		throw new IllegalArgumentException();
	}

	final int method15578(int i) {
		if (i == 1)
			return 7681;
		if (i == 0)
			return 8448;
		if (i == 2)
			return 34165;
		if (i == 3)
			return 260;
		if (i == 4)
			return 34023;
		throw new IllegalArgumentException();
	}

	final void method15579(int i, int i_774_) {
		if (((Class84_Sub3) this).anInt9439 == 0) {
			boolean bool = false;
			if (((Class84_Sub3) this).anInt9455 != i) {
				OpenGL.glTexEnvi(8960, 34161, i);
				((Class84_Sub3) this).anInt9455 = i;
				bool = true;
			}
			if (((Class84_Sub3) this).anInt9437 != i_774_) {
				OpenGL.glTexEnvi(8960, 34162, i_774_);
				((Class84_Sub3) this).anInt9437 = i_774_;
				bool = true;
			}
			if (bool)
				((Class84_Sub3) this).anInt9378 &= ~0xd;
		} else {
			OpenGL.glTexEnvi(8960, 34161, i);
			OpenGL.glTexEnvi(8960, 34162, i_774_);
		}
	}

	public void method2026(float f, float f_775_) {
		((Class84_Sub3) this).aFloat9382 = f;
		((Class84_Sub3) this).aFloat9367 = f_775_;
		method15412();
	}

	final void method15580(int i, int i_776_) {
		if (((Class84_Sub3) this).anInt9439 == 0) {
			boolean bool = false;
			if (((Class84_Sub3) this).anInt9455 != i) {
				OpenGL.glTexEnvi(8960, 34161, i);
				((Class84_Sub3) this).anInt9455 = i;
				bool = true;
			}
			if (((Class84_Sub3) this).anInt9437 != i_776_) {
				OpenGL.glTexEnvi(8960, 34162, i_776_);
				((Class84_Sub3) this).anInt9437 = i_776_;
				bool = true;
			}
			if (bool)
				((Class84_Sub3) this).anInt9378 &= ~0xd;
		} else {
			OpenGL.glTexEnvi(8960, 34161, i);
			OpenGL.glTexEnvi(8960, 34162, i_776_);
		}
	}

	final void method15581(int i, int i_777_, int i_778_) {
		OpenGL.glTexEnvi(8960, 34176 + i, i_777_);
		OpenGL.glTexEnvi(8960, 34192 + i, i_778_);
	}

	final void method15582(int i, int i_779_, int i_780_) {
		OpenGL.glTexEnvi(8960, 34184 + i, i_779_);
		OpenGL.glTexEnvi(8960, 34200 + i, i_780_);
	}

	public Class135 method1938(Class100 class100, boolean bool) {
		int[] is = class100.method2454(false);
		Class135 class135 = method1937(is, 0, class100.method2439(), class100.method2439(), class100.method2440(), -2121669987);
		class135.method3115(class100.method2453(), class100.method2443(), class100.method2484(), class100.method2444());
		return class135;
	}

	final void method15583(float f, float f_781_, float f_782_) {
		OpenGL.glMatrixMode(5890);
		if (((Class84_Sub3) this).aBool9438)
			OpenGL.glLoadIdentity();
		OpenGL.glTranslatef(f, f_781_, f_782_);
		OpenGL.glMatrixMode(5888);
		((Class84_Sub3) this).aBool9438 = true;
	}

	public int method1874() {
		return 4;
	}

	final void method15584(float f, float f_783_, float f_784_) {
		OpenGL.glMatrixMode(5890);
		if (((Class84_Sub3) this).aBool9438)
			OpenGL.glLoadIdentity();
		OpenGL.glTranslatef(f, f_783_, f_784_);
		OpenGL.glMatrixMode(5888);
		((Class84_Sub3) this).aBool9438 = true;
	}

	final void method15585(boolean bool) {
		if (bool != ((Class84_Sub3) this).aBool9421) {
			((Class84_Sub3) this).aBool9421 = bool;
			method15424();
			((Class84_Sub3) this).anInt9378 &= ~0xf;
		}
	}

	public boolean method1879() {
		return true;
	}

	static int method15586(Class172 class172) {
		switch (class172.anInt2143 * 1259837281) {
		case 0:
			return 6409;
		case 8:
			return 6410;
		case 5:
			return 6406;
		default:
			throw new IllegalStateException();
		case 9:
			return 6408;
		case 4:
			return 6407;
		case 7:
			return 6402;
		}
	}

	void method15587() {
		if (((Class84_Sub3) this).aBool9403 && !((Class84_Sub3) this).aBool9404)
			OpenGL.glEnable(2896);
		else
			OpenGL.glDisable(2896);
	}

	void method15588() {
		if (((Class84_Sub3) this).aBool9403 && !((Class84_Sub3) this).aBool9404)
			OpenGL.glEnable(2896);
		else
			OpenGL.glDisable(2896);
	}

	public Class170 method1987() {
		int i = -1;
		if (((Class84_Sub3) this).aString9315.indexOf("nvidia") != -1)
			i = 4318;
		else if (((Class84_Sub3) this).aString9315.indexOf("intel") != -1)
			i = 32902;
		else if (((Class84_Sub3) this).aString9315.indexOf("ati") != -1)
			i = 4098;
		return new Class170(i, "OpenGL", ((Class84_Sub3) this).anInt9447, ((Class84_Sub3) this).aString9457, 0L);
	}

	final void method15589(boolean bool) {
		if (bool != ((Class84_Sub3) this).aBool9335) {
			if (bool)
				OpenGL.glEnable(2929);
			else
				OpenGL.glDisable(2929);
			((Class84_Sub3) this).aBool9335 = bool;
			((Class84_Sub3) this).anInt9378 &= ~0xf;
		}
	}

	void method1909(int i, int i_785_) throws Exception_Sub7 {
		try {
			aClass171_Sub2_1188.method15383();
		} catch (Exception exception) {
			/* empty */
		}
		if (anInterface5_1177 != null)
			anInterface5_1177.method37(124760207);
	}

	final void method15590(boolean bool) {
		if (bool != ((Class84_Sub3) this).aBool9369) {
			((Class84_Sub3) this).aBool9369 = bool;
			method15452();
			((Class84_Sub3) this).anInt9378 &= ~0xf;
		}
	}

	final void method15591() {
		OpenGL.glDepthMask(((Class84_Sub3) this).aBool9369 && ((Class84_Sub3) this).aBool9391);
	}

	final void method15592() {
		OpenGL.glDepthMask(((Class84_Sub3) this).aBool9369 && ((Class84_Sub3) this).aBool9391);
	}

	public final int method2191() {
		return (((Class84_Sub3) this).anInt9352 + ((Class84_Sub3) this).anInt9345 + ((Class84_Sub3) this).anInt9441);
	}

	public boolean method2005() {
		return true;
	}

	public final int method2193() {
		return (((Class84_Sub3) this).anInt9352 + ((Class84_Sub3) this).anInt9345 + ((Class84_Sub3) this).anInt9441);
	}

	public Class135 method2009(int[] is, int i, int i_786_, int i_787_, int i_788_, boolean bool) {
		return new Class135_Sub1(this, i_787_, i_788_, is, i, i_786_);
	}

	final void method15593(Class152 class152, Class152 class152_789_, Class152 class152_790_, Class152 class152_791_) {
		if (class152 != null) {
			method15430(((Class152) class152).anInterface9_1853);
			OpenGL.glVertexPointer(((Class152) class152).aByte1851, ((Class152) class152).aShort1852, ((Class84_Sub3) this).anInterface9_9473.method49(), (((Class84_Sub3) this).anInterface9_9473.method60() + (long) ((Class152) class152).aByte1850));
			OpenGL.glEnableClientState(32884);
		} else
			OpenGL.glDisableClientState(32884);
		if (class152_789_ != null) {
			method15430(((Class152) class152_789_).anInterface9_1853);
			OpenGL.glNormalPointer(((Class152) class152_789_).aShort1852, ((Class84_Sub3) this).anInterface9_9473.method49(), (((Class84_Sub3) this).anInterface9_9473.method60() + (long) ((Class152) class152_789_).aByte1850));
			OpenGL.glEnableClientState(32885);
		} else
			OpenGL.glDisableClientState(32885);
		if (class152_790_ != null) {
			method15430(((Class152) class152_790_).anInterface9_1853);
			OpenGL.glColorPointer(((Class152) class152_790_).aByte1851, ((Class152) class152_790_).aShort1852, ((Class84_Sub3) this).anInterface9_9473.method49(), (((Class84_Sub3) this).anInterface9_9473.method60() + (long) ((Class152) class152_790_).aByte1850));
			OpenGL.glEnableClientState(32886);
		} else
			OpenGL.glDisableClientState(32886);
		if (class152_791_ != null) {
			method15430(((Class152) class152_791_).anInterface9_1853);
			OpenGL.glTexCoordPointer(((Class152) class152_791_).aByte1851, ((Class152) class152_791_).aShort1852, ((Class84_Sub3) this).anInterface9_9473.method49(), (((Class84_Sub3) this).anInterface9_9473.method60() + (long) ((Class152) class152_791_).aByte1850));
			OpenGL.glEnableClientState(32888);
		} else
			OpenGL.glDisableClientState(32888);
	}

	void method15594() {
		((Class84_Sub3) this).aFloat9346 = (((Class84_Sub3) this).aFloat9385 - (float) ((Class84_Sub3) this).anInt9424 - ((Class84_Sub3) this).aFloat9485);
		((Class84_Sub3) this).aFloat9425 = (((Class84_Sub3) this).aFloat9346 - ((float) ((Class84_Sub3) this).anInt9423 * ((Class84_Sub3) this).aFloat9427));
		if (((Class84_Sub3) this).aFloat9425 < ((Class84_Sub3) this).aFloat9384)
			((Class84_Sub3) this).aFloat9425 = ((Class84_Sub3) this).aFloat9384;
		OpenGL.glFogf(2915, ((Class84_Sub3) this).aFloat9425);
		OpenGL.glFogf(2916, ((Class84_Sub3) this).aFloat9346);
		aFloatArray9479[0] = (float) (((Class84_Sub3) this).anInt9422 & 0xff0000) / 1.671168E7F;
		aFloatArray9479[1] = (float) (((Class84_Sub3) this).anInt9422 & 0xff00) / 65280.0F;
		aFloatArray9479[2] = (float) (((Class84_Sub3) this).anInt9422 & 0xff) / 255.0F;
		OpenGL.glFogfv(2918, aFloatArray9479, 0);
	}

	final synchronized void method15595(int i) {
		Class587_Sub17 class587_sub17 = new Class587_Sub17(i);
		((Class84_Sub3) this).aClass413_9291.method7337(class587_sub17, -1685101788);
	}

	final synchronized void method15596(int i) {
		Class587_Sub17 class587_sub17 = new Class587_Sub17(i);
		((Class84_Sub3) this).aClass413_9291.method7337(class587_sub17, -1278193177);
	}

	final synchronized void method15597(int i) {
		Class587_Sub17 class587_sub17 = new Class587_Sub17(i);
		((Class84_Sub3) this).aClass413_9291.method7337(class587_sub17, -1864168272);
	}

	public boolean method1916() {
		return false;
	}

	boolean method15598() {
		return ((Class84_Sub3) this).aClass137_9337.method3176(3);
	}

	final synchronized void method15599(long l) {
		Class587 class587 = new Class587();
		class587.aLong7674 = l * 7798553346842421701L;
		((Class84_Sub3) this).aClass413_9360.method7337(class587, -1715676856);
	}

	public void method2155(float f, float f_792_, float f_793_, float[] fs) {
		float f_794_ = (((Class84_Sub3) this).aClass288_9375.aFloatArray4285[14] + ((Class84_Sub3) this).aClass288_9375.aFloatArray4285[2] * f + (((Class84_Sub3) this).aClass288_9375.aFloatArray4285[6] * f_792_) + (((Class84_Sub3) this).aClass288_9375.aFloatArray4285[10] * f_793_));
		float f_795_ = (((Class84_Sub3) this).aClass288_9375.aFloatArray4285[15] + ((Class84_Sub3) this).aClass288_9375.aFloatArray4285[3] * f + (((Class84_Sub3) this).aClass288_9375.aFloatArray4285[7] * f_792_) + (((Class84_Sub3) this).aClass288_9375.aFloatArray4285[11] * f_793_));
		if (f_794_ < -f_795_ || f_794_ > f_795_) {
			float[] fs_796_ = fs;
			float[] fs_797_ = fs;
			fs[2] = Float.NaN;
			fs_797_[1] = Float.NaN;
			fs_796_[0] = Float.NaN;
		} else {
			float f_798_ = (((Class84_Sub3) this).aClass288_9375.aFloatArray4285[12] + (((Class84_Sub3) this).aClass288_9375.aFloatArray4285[0] * f) + (((Class84_Sub3) this).aClass288_9375.aFloatArray4285[4] * f_792_) + (((Class84_Sub3) this).aClass288_9375.aFloatArray4285[8] * f_793_));
			if (f_798_ < -f_795_ || f_798_ > f_795_) {
				float[] fs_799_ = fs;
				float[] fs_800_ = fs;
				fs[2] = Float.NaN;
				fs_800_[1] = Float.NaN;
				fs_799_[0] = Float.NaN;
			} else {
				float f_801_ = (((Class84_Sub3) this).aClass288_9375.aFloatArray4285[13] + (((Class84_Sub3) this).aClass288_9375.aFloatArray4285[1]) * f + (((Class84_Sub3) this).aClass288_9375.aFloatArray4285[5]) * f_792_ + (((Class84_Sub3) this).aClass288_9375.aFloatArray4285[9]) * f_793_);
				if (f_801_ < -f_795_ || f_801_ > f_795_) {
					float[] fs_802_ = fs;
					float[] fs_803_ = fs;
					fs[2] = Float.NaN;
					fs_803_[1] = Float.NaN;
					fs_802_[0] = Float.NaN;
				} else {
					float f_804_ = ((((Class84_Sub3) this).aClass288_9371.aFloatArray4285[14]) + (((Class84_Sub3) this).aClass288_9371.aFloatArray4285[2]) * f + (((Class84_Sub3) this).aClass288_9371.aFloatArray4285[6]) * f_792_ + (((Class84_Sub3) this).aClass288_9371.aFloatArray4285[10]) * f_793_);
					fs[0] = (((Class84_Sub3) this).aFloat9361 + (((Class84_Sub3) this).aFloat9379 * f_798_ / f_795_));
					fs[1] = (((Class84_Sub3) this).aFloat9380 + (((Class84_Sub3) this).aFloat9381 * f_801_ / f_795_));
					fs[2] = f_804_;
				}
			}
		}
	}

	final synchronized void method15600(long l) {
		Class587 class587 = new Class587();
		class587.aLong7674 = l * 7798553346842421701L;
		((Class84_Sub3) this).aClass413_9360.method7337(class587, -824815671);
	}

	final Interface9 method15601(int i, byte[] is, int i_805_, boolean bool) {
		if (((Class84_Sub3) this).aBool9322 && (!bool || ((Class84_Sub3) this).aBool9459))
			return new Class155_Sub1(this, i, is, i_805_, bool);
		return new Class156_Sub2(this, i, is, i_805_);
	}

	final synchronized void method15602(int i) {
		Class587 class587 = new Class587();
		class587.aLong7674 = (long) i * 7798553346842421701L;
		((Class84_Sub3) this).aClass413_9359.method7337(class587, -240753010);
	}

	void method15603() {
		((Class84_Sub3) this).aClass145Array9344 = new Class145[((Class84_Sub3) this).anInt9450];
		((Class84_Sub3) this).aClass145_Sub4_9357 = new Class145_Sub4(this, 3553, Class172.aClass172_2145, Class96.aClass96_1386, 1, 1);
		new Class145_Sub4(this, 3553, Class172.aClass172_2145, Class96.aClass96_1386, 1, 1);
		new Class145_Sub4(this, 3553, Class172.aClass172_2145, Class96.aClass96_1386, 1, 1);
		for (int i = 0; i < 7; i++) {
			((Class84_Sub3) this).aClass163_Sub1Array9431[i] = new Class163_Sub1(this);
			((Class84_Sub3) this).aClass163_Sub1Array9474[i] = new Class163_Sub1(this);
		}
		if (((Class84_Sub3) this).aBool9453) {
			((Class84_Sub3) this).aClass171_Sub1_Sub3_9475 = new Class171_Sub1_Sub3(this);
			new Class171_Sub1_Sub3(this);
		}
	}

	final synchronized void method15604(int i) {
		Class587 class587 = new Class587();
		class587.aLong7674 = (long) i * 7798553346842421701L;
		((Class84_Sub3) this).aClass413_9359.method7337(class587, -275719922);
	}

	public Class159 method1968(Class159 class159, Class159 class159_806_, float f, Class159 class159_807_) {
		if (class159 != null && class159_806_ != null && ((Class84_Sub3) this).aBool9461 && ((Class84_Sub3) this).aBool9453) {
			Class159_Sub2_Sub1 class159_sub2_sub1 = null;
			Class159_Sub2 class159_sub2 = (Class159_Sub2) class159;
			Class159_Sub2 class159_sub2_808_ = (Class159_Sub2) class159_806_;
			Class145_Sub1 class145_sub1 = class159_sub2.method15376();
			Class145_Sub1 class145_sub1_809_ = class159_sub2_808_.method15376();
			if (class145_sub1 != null && class145_sub1_809_ != null) {
				int i = ((((Class145_Sub1) class145_sub1).anInt10264 > ((Class145_Sub1) class145_sub1_809_).anInt10264) ? ((Class145_Sub1) class145_sub1).anInt10264 : ((Class145_Sub1) class145_sub1_809_).anInt10264);
				if (class159 != class159_807_ && class159_806_ != class159_807_ && class159_807_ instanceof Class159_Sub2_Sub1) {
					Class159_Sub2_Sub1 class159_sub2_sub1_810_ = (Class159_Sub2_Sub1) class159_807_;
					if (class159_sub2_sub1_810_.method16689() == i)
						class159_sub2_sub1 = class159_sub2_sub1_810_;
				}
				if (class159_sub2_sub1 == null)
					class159_sub2_sub1 = new Class159_Sub2_Sub1(this, i);
				if (class159_sub2_sub1.method16691(class145_sub1, class145_sub1_809_, f))
					return class159_sub2_sub1;
			}
		}
		return f < 0.5F ? class159 : class159_806_;
	}

	public final void method2091(int i, float f, float f_811_, float f_812_, float f_813_, float f_814_) {
		boolean bool = ((Class84_Sub3) this).anInt9409 != i;
		if (bool || ((Class84_Sub3) this).aFloat9414 != f || ((Class84_Sub3) this).aFloat9415 != f_811_) {
			((Class84_Sub3) this).anInt9409 = i;
			((Class84_Sub3) this).aFloat9414 = f;
			((Class84_Sub3) this).aFloat9415 = f_811_;
			if (bool) {
				((Class84_Sub3) this).aFloat9465 = ((float) (((Class84_Sub3) this).anInt9409 & 0xff0000) / 1.671168E7F);
				((Class84_Sub3) this).aFloat9411 = ((float) (((Class84_Sub3) this).anInt9409 & 0xff00) / 65280.0F);
				((Class84_Sub3) this).aFloat9370 = ((float) (((Class84_Sub3) this).anInt9409 & 0xff) / 255.0F);
				method15413();
			}
			method15423();
		}
		if (((Class84_Sub3) this).aFloatArray9362[0] != f_812_ || ((Class84_Sub3) this).aFloatArray9362[1] != f_813_ || ((Class84_Sub3) this).aFloatArray9362[2] != f_814_) {
			((Class84_Sub3) this).aFloatArray9362[0] = f_812_;
			((Class84_Sub3) this).aFloatArray9362[1] = f_813_;
			((Class84_Sub3) this).aFloatArray9362[2] = f_814_;
			((Class84_Sub3) this).aFloatArray9383[0] = -f_812_;
			((Class84_Sub3) this).aFloatArray9383[1] = -f_813_;
			((Class84_Sub3) this).aFloatArray9383[2] = -f_814_;
			float f_815_ = (float) (1.0 / Math.sqrt((double) (f_812_ * f_812_ + f_813_ * f_813_ + f_814_ * f_814_)));
			((Class84_Sub3) this).aFloatArray9314[0] = f_812_ * f_815_;
			((Class84_Sub3) this).aFloatArray9314[1] = f_813_ * f_815_;
			((Class84_Sub3) this).aFloatArray9314[2] = f_814_ * f_815_;
			((Class84_Sub3) this).aFloatArray9408[0] = -((Class84_Sub3) this).aFloatArray9314[0];
			((Class84_Sub3) this).aFloatArray9408[1] = -((Class84_Sub3) this).aFloatArray9314[1];
			((Class84_Sub3) this).aFloatArray9408[2] = -((Class84_Sub3) this).aFloatArray9314[2];
			method15486();
			((Class84_Sub3) this).anInt9419 = (int) (f_812_ * 256.0F / f_813_);
			((Class84_Sub3) this).anInt9420 = (int) (f_814_ * 256.0F / f_813_);
		}
	}

	final Class145_Sub1 method15605() {
		return (((Class84_Sub3) this).aClass159_Sub2_9442 != null ? ((Class84_Sub3) this).aClass159_Sub2_9442.method15376() : null);
	}

	static int method15606(Class172 class172, Class96 class96) {
		if (class96 == Class96.aClass96_1386) {
			switch (class172.anInt2143 * 1259837281) {
			case 4:
				return 6407;
			case 5:
				return 6406;
			case 9:
				return 6408;
			case 0:
				return 6409;
			case 8:
				return 6410;
			default:
				throw new IllegalArgumentException();
			}
		}
		if (class96 == Class96.aClass96_1389) {
			switch (class172.anInt2143 * 1259837281) {
			case 8:
				return 36219;
			default:
				throw new IllegalArgumentException();
			case 9:
				return 32859;
			case 7:
				return 33189;
			case 0:
				return 32834;
			case 4:
				return 32852;
			case 5:
				return 32830;
			}
		}
		if (class96 == Class96.aClass96_1388) {
			switch (class172.anInt2143 * 1259837281) {
			case 7:
				return 33190;
			default:
				throw new IllegalArgumentException();
			}
		}
		if (class96 == Class96.aClass96_1390) {
			switch (class172.anInt2143 * 1259837281) {
			case 0:
				return 34846;
			case 9:
				return 34842;
			case 5:
				return 34844;
			case 4:
				return 34843;
			default:
				throw new IllegalArgumentException();
			case 8:
				return 34847;
			}
		}
		if (class96 == Class96.aClass96_1393) {
			switch (class172.anInt2143 * 1259837281) {
			case 8:
				return 34841;
			case 5:
				return 34838;
			case 9:
				return 34836;
			case 4:
				return 34837;
			default:
				throw new IllegalArgumentException();
			case 0:
				return 34840;
			}
		}
		throw new IllegalArgumentException();
	}

	public Class170 method1930() {
		int i = -1;
		if (((Class84_Sub3) this).aString9315.indexOf("nvidia") != -1)
			i = 4318;
		else if (((Class84_Sub3) this).aString9315.indexOf("intel") != -1)
			i = 32902;
		else if (((Class84_Sub3) this).aString9315.indexOf("ati") != -1)
			i = 4098;
		return new Class170(i, "OpenGL", ((Class84_Sub3) this).anInt9447, ((Class84_Sub3) this).aString9457, 0L);
	}

	public void method2245(int i, int i_816_, int i_817_, int i_818_, int i_819_, int i_820_, int i_821_) {
		OpenGL.glLineWidth((float) i_820_);
		method1913(i, i_816_, i_817_, i_818_, i_819_, i_821_);
		OpenGL.glLineWidth(1.0F);
	}

	public void method2153(int i, int i_822_, float f, int i_823_, int i_824_, float f_825_, int i_826_, int i_827_, float f_828_, int i_829_, int i_830_, int i_831_, int i_832_) {
		method15425();
		method15409(i_832_);
		OpenGL.glBegin(4);
		OpenGL.glColor4ub((byte) (i_829_ >> 16), (byte) (i_829_ >> 8), (byte) i_829_, (byte) (i_829_ >> 24));
		OpenGL.glVertex3f((float) i + 0.35F, (float) i_822_ + 0.35F, f);
		OpenGL.glColor4ub((byte) (i_830_ >> 16), (byte) (i_830_ >> 8), (byte) i_830_, (byte) (i_830_ >> 24));
		OpenGL.glVertex3f((float) i_823_ + 0.35F, (float) i_824_ + 0.35F, f_825_);
		OpenGL.glColor4ub((byte) (i_831_ >> 16), (byte) (i_831_ >> 8), (byte) i_831_, (byte) (i_831_ >> 24));
		OpenGL.glVertex3f((float) i_826_ + 0.35F, (float) i_827_ + 0.35F, f_828_);
		OpenGL.glEnd();
	}
}
