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

public class Class118_Sub1 extends Class118
{
    boolean aBool10271;
    int anInt10272;
    float[] aFloatArray10273;
    Class87_Sub2_Sub2 aClass87_Sub2_Sub2_10274;
    Class37_Sub2 aClass37_Sub2_10275;
    int[] anIntArray10276;
    float[] aFloatArray10277;
    int anInt10278;
    String aString10279;
    int[] anIntArray10280;
    static int[] anIntArray10281;
    static float[] aFloatArray10282;
    static final int anInt10283 = 35633;
    int anInt10284 = 0;
    static final int anInt10285 = 35632;
    static final int anInt10286 = 13;
    float[] aFloatArray10287;
    float[] aFloatArray10288;
    String aString10289;
    static boolean $assertionsDisabled
	= !Class118_Sub1.class.desiredAssertionStatus();
    
    public void method23() {
	if (((Class118_Sub1) this).anInt10284 != 0) {
	    ((Class118_Sub1) this).aClass87_Sub2_Sub2_10274
		.method17490(((Class118_Sub1) this).anInt10284);
	    if (((Class118_Sub1) this).anInt10272 != 0)
		((Class118_Sub1) this).aClass87_Sub2_Sub2_10274
		    .method17495((long) ((Class118_Sub1) this).anInt10272);
	    if (((Class118_Sub1) this).anInt10278 != 0)
		((Class118_Sub1) this).aClass87_Sub2_Sub2_10274
		    .method17495((long) ((Class118_Sub1) this).anInt10278);
	    ((Class118_Sub1) this).anInt10284 = 0;
	    ((Class118_Sub1) this).anInt10272 = 0;
	    ((Class118_Sub1) this).anInt10278 = 0;
	}
    }
    
    Class118_Sub1(Class87_Sub2_Sub2 class87_sub2_sub2, Class49 class49) {
	((Class118_Sub1) this).anInt10272 = 0;
	((Class118_Sub1) this).anInt10278 = 0;
	((Class118_Sub1) this).aBool10271 = false;
	((Class118_Sub1) this).anIntArray10280 = new int[13];
	aString1543 = class49.aString636;
	StringBuilder stringbuilder = new StringBuilder();
	if (class49.aString638 != null) {
	    aString1541 = class49.aString638;
	    if (class49.aClass55Array639 != null) {
		Class55[] class55s = class49.aClass55Array639;
		for (int i = 0; i < class55s.length; i++) {
		    Class55 class55 = class55s[i];
		    stringbuilder.append(new StringBuilder().append
					     ("#define ").append
					     (class55.aString706).append
					     (" ").append
					     (class55.aString707).append
					     ('\n').toString());
		}
	    }
	    stringbuilder.append(new String(class87_sub2_sub2
						.method17477(aString1541)));
	    ((Class118_Sub1) this).aString10279 = stringbuilder.toString();
	}
	if (class49.aString637 != null) {
	    aString1542 = class49.aString637;
	    stringbuilder.setLength(0);
	    if (class49.aClass55Array635 != null) {
		Class55[] class55s = class49.aClass55Array635;
		for (int i = 0; i < class55s.length; i++) {
		    Class55 class55 = class55s[i];
		    stringbuilder.append(new StringBuilder().append
					     ("#define ").append
					     (class55.aString706).append
					     (" ").append
					     (class55.aString707).append
					     ('\n').toString());
		}
	    }
	    stringbuilder.append(new String(class87_sub2_sub2
						.method17477(aString1542)));
	    ((Class118_Sub1) this).aString10289 = stringbuilder.toString();
	}
	Class438.method7836(((Class118_Sub1) this).anIntArray10280, 0,
			    ((Class118_Sub1) this).anIntArray10280.length, -1);
    }
    
    void method2962(Class243_Sub41_Sub1 class243_sub41_sub1,
		    Class276 class276) {
	if (!$assertionsDisabled
	    && (class243_sub41_sub1.method17447((byte) -99)
		!= Class38.aClass38_505))
	    throw new AssertionError();
	int i = ((Class243_Sub41_Sub1_Sub2) class243_sub41_sub1).method17633();
	if (i != -1)
	    OpenGL.glUniform2fv(i, 4, class276.method5485(aFloatArray10282),
				0);
    }
    
    public boolean method2985() {
	if (((Class118_Sub1) this).aBool10271)
	    return true;
	((Class87_Sub2_Sub2) ((Class118_Sub1) this).aClass87_Sub2_Sub2_10274)
	    .aClass118_Sub1_11005
	    = null;
	((Class118_Sub1) this).anInt10272
	    = method16706(35633, ((Class118_Sub1) this).aString10279,
			  aString1541);
	((Class118_Sub1) this).anInt10278
	    = method16706(35632, ((Class118_Sub1) this).aString10289,
			  aString1542);
	if (((Class118_Sub1) this).anInt10272 == 0
	    || ((Class118_Sub1) this).anInt10278 == 0) {
	    if (((Class118_Sub1) this).anInt10272 != 0)
		OpenGL.glDeleteShader(((Class118_Sub1) this).anInt10272);
	    if (((Class118_Sub1) this).anInt10278 != 0)
		OpenGL.glDeleteShader(((Class118_Sub1) this).anInt10278);
	    return false;
	}
	((Class118_Sub1) this).anInt10284 = OpenGL.glCreateProgram();
	if (((Class118_Sub1) this).anInt10272 != 0)
	    OpenGL.glAttachShader(((Class118_Sub1) this).anInt10284,
				  ((Class118_Sub1) this).anInt10272);
	if (((Class118_Sub1) this).anInt10278 != 0)
	    OpenGL.glAttachShader(((Class118_Sub1) this).anInt10284,
				  ((Class118_Sub1) this).anInt10278);
	OpenGL.glLinkProgram(((Class118_Sub1) this).anInt10284);
	OpenGL.glGetProgramiv(((Class118_Sub1) this).anInt10284, 35714,
			      anIntArray10281, 0);
	if (anIntArray10281[0] == 0) {
	    if (((Class118_Sub1) this).anInt10272 != 0) {
		OpenGL.glDetachShader(((Class118_Sub1) this).anInt10284,
				      ((Class118_Sub1) this).anInt10272);
		OpenGL.glDeleteShader(((Class118_Sub1) this).anInt10272);
	    }
	    if (((Class118_Sub1) this).anInt10278 != 0) {
		OpenGL.glDetachShader(((Class118_Sub1) this).anInt10284,
				      ((Class118_Sub1) this).anInt10278);
		OpenGL.glDeleteShader(((Class118_Sub1) this).anInt10278);
	    }
	    OpenGL.glDeleteProgram(((Class118_Sub1) this).anInt10284);
	    return false;
	}
	OpenGL.glUseProgram(((Class118_Sub1) this).anInt10284);
	int i = -1;
	for (int i_0_ = 0; i_0_ < ((Class118_Sub1) this)
				      .aClass37_Sub2_10275
				      .method1071(1341883248); i_0_++) {
	    if (((Class118_Sub1) this).aClass37_Sub2_10275
		    .method1072(i_0_, -1112947583)
		== this) {
		i = i_0_;
		break;
	    }
	}
	if (i == -1)
	    return false;
	int i_1_ = 0;
	int i_2_ = 0;
	for (int i_3_ = 0; i_3_ < ((Class118_Sub1) this)
				      .aClass37_Sub2_10275
				      .method1102((byte) 2); i_3_++) {
	    Class243_Sub41_Sub1 class243_sub41_sub1
		= ((Class118_Sub1) this).aClass37_Sub2_10275
		      .method1103(i_3_, 1406381974);
	    if (class243_sub41_sub1 != null) {
		class243_sub41_sub1.method17445(i);
		Class38 class38 = class243_sub41_sub1.method17447((byte) -64);
		int i_4_ = (((Class243_Sub41_Sub1_Sub2)
			     (Class243_Sub41_Sub1_Sub2) class243_sub41_sub1)
			    .anIntArray11108[i]);
		if (class38 == Class38.aClass38_523
		    || class38 == Class38.aClass38_589
		    || class38 == Class38.aClass38_546
		    || class38 == Class38.aClass38_469
		    || class38 == Class38.aClass38_502)
		    i_1_ = Math.max(i_4_, i_1_);
		else
		    i_2_ = Math.max(i_4_, i_2_);
	    }
	}
	for (int i_5_ = 0; i_5_ < ((Class118_Sub1) this)
				      .aClass37_Sub2_10275
				      .method1081((byte) 37); i_5_++) {
	    Class243_Sub41_Sub1 class243_sub41_sub1
		= ((Class118_Sub1) this).aClass37_Sub2_10275
		      .method1100(i_5_, (byte) 9);
	    if (class243_sub41_sub1 != null) {
		class243_sub41_sub1.method17445(i);
		Class38 class38 = class243_sub41_sub1.method17447((byte) 80);
		int i_6_ = (((Class243_Sub41_Sub1_Sub2)
			     (Class243_Sub41_Sub1_Sub2) class243_sub41_sub1)
			    .anIntArray11108[i]);
		if (class38 == Class38.aClass38_523
		    || class38 == Class38.aClass38_589
		    || class38 == Class38.aClass38_546
		    || class38 == Class38.aClass38_469
		    || class38 == Class38.aClass38_502)
		    i_1_ = Math.max(i_6_, i_1_);
		else
		    i_2_ = Math.max(i_6_, i_2_);
	    }
	}
	((Class118_Sub1) this).aFloatArray10277 = new float[i_1_ + 1];
	((Class118_Sub1) this).aFloatArray10288 = new float[i_1_ + 1];
	((Class118_Sub1) this).aFloatArray10273 = new float[i_1_ + 1];
	((Class118_Sub1) this).aFloatArray10287 = new float[i_1_ + 1];
	((Class118_Sub1) this).anIntArray10276 = new int[i_2_ + 1];
	for (int i_7_ = 0;
	     i_7_ < ((Class118_Sub1) this).anIntArray10276.length; i_7_++)
	    ((Class118_Sub1) this).anIntArray10276[i_7_] = -1;
	((Class118_Sub1) this).aString10279 = null;
	((Class118_Sub1) this).aString10289 = null;
	((Class118_Sub1) this).aBool10271 = true;
	return true;
    }
    
    void method3005(Class243_Sub41_Sub1 class243_sub41_sub1, float f) {
	int i = ((Class243_Sub41_Sub1_Sub2) class243_sub41_sub1).method17633();
	if (i != -1) {
	    if (((Class118_Sub1) this).aFloatArray10277[i] != f) {
		((Class118_Sub1) this).aFloatArray10277[i] = f;
		if ((class243_sub41_sub1.method17447((byte) -86)
		     != Class38.aClass38_523)
		    && (class243_sub41_sub1.method17447((byte) -7)
			!= Class38.aClass38_589))
		    throw new IllegalArgumentException_Sub1
			      (class243_sub41_sub1, "");
		OpenGL.glUniform1f(i, f);
	    }
	}
    }
    
    void method2958(Class243_Sub41_Sub1 class243_sub41_sub1, float f,
		    float f_8_) {
	int i = ((Class243_Sub41_Sub1_Sub2) class243_sub41_sub1).method17633();
	if (i != -1) {
	    if (((Class118_Sub1) this).aFloatArray10277[i] != f
		|| ((Class118_Sub1) this).aFloatArray10288[i] != f_8_) {
		((Class118_Sub1) this).aFloatArray10277[i] = f;
		((Class118_Sub1) this).aFloatArray10288[i] = f_8_;
		if (class243_sub41_sub1.method17447((byte) 27)
		    != Class38.aClass38_546)
		    throw new IllegalArgumentException_Sub1
			      (class243_sub41_sub1, "");
		OpenGL.glUniform2f(i, f, f_8_);
	    }
	}
    }
    
    void method2959(Class243_Sub41_Sub1 class243_sub41_sub1, float f,
		    float f_9_, float f_10_) {
	int i = ((Class243_Sub41_Sub1_Sub2) class243_sub41_sub1).method17633();
	if (i != -1) {
	    if (((Class118_Sub1) this).aFloatArray10277[i] != f
		|| ((Class118_Sub1) this).aFloatArray10288[i] != f_9_
		|| ((Class118_Sub1) this).aFloatArray10273[i] != f_10_) {
		((Class118_Sub1) this).aFloatArray10277[i] = f;
		((Class118_Sub1) this).aFloatArray10288[i] = f_9_;
		((Class118_Sub1) this).aFloatArray10273[i] = f_10_;
		if (class243_sub41_sub1.method17447((byte) -47)
		    != Class38.aClass38_469)
		    throw new IllegalArgumentException_Sub1
			      (class243_sub41_sub1, "");
		OpenGL.glUniform3f(i, f, f_9_, f_10_);
	    }
	}
    }
    
    void method2995(Class243_Sub41_Sub1 class243_sub41_sub1, int i,
		    Interface44 interface44) {
	int i_11_
	    = ((Class243_Sub41_Sub1_Sub2) class243_sub41_sub1).method17633();
	if (i_11_ != -1) {
	    if (interface44 == null)
		interface44 = (((Class118_Sub1) this).aClass87_Sub2_Sub2_10274
			       .anInterface40_9233);
	    if (i
		< ((Class118_Sub1) this).aClass87_Sub2_Sub2_10274.anInt9276) {
		((Class118_Sub1) this).aClass87_Sub2_Sub2_10274.method15623(i);
		((Class118_Sub1) this).aClass87_Sub2_Sub2_10274
		    .method15448(interface44);
	    } else {
		OpenGL.glActiveTexture(33984 + i);
		OpenGL.glBindTexture((((Class220) (Class220) interface44)
				      .anInt2533),
				     (((Class220) (Class220) interface44)
				      .anInt2532));
	    }
	    if (((Class118_Sub1) this).anIntArray10276[i_11_] != i) {
		((Class118_Sub1) this).anIntArray10276[i_11_] = i;
		OpenGL.glUniform1i(i_11_, i);
	    }
	}
    }
    
    void method2961(Class243_Sub41_Sub1 class243_sub41_sub1, float[] fs,
		    int i) {
	int i_12_
	    = ((Class243_Sub41_Sub1_Sub2) class243_sub41_sub1).method17633();
	if (i_12_ != -1)
	    OpenGL.glUniform4fv(i_12_, i, fs, 0);
    }
    
    void method2971(int i, Class276 class276) {
	OpenGL.glUniform2fv(i, 4, class276.method5485(aFloatArray10282), 0);
    }
    
    void method2963(Class243_Sub41_Sub1 class243_sub41_sub1,
		    Class276 class276) {
	if (!$assertionsDisabled
	    && (class243_sub41_sub1.method17447((byte) -87)
		!= Class38.aClass38_507))
	    throw new AssertionError();
	int i = ((Class243_Sub41_Sub1_Sub2) class243_sub41_sub1).method17633();
	if (i != -1)
	    OpenGL.glUniform4fv(i, 4, class276.method5481(aFloatArray10282),
				0);
    }
    
    void method2964(Class243_Sub41_Sub1 class243_sub41_sub1, int i,
		    Interface44 interface44) {
	int i_13_
	    = ((Class243_Sub41_Sub1_Sub2) class243_sub41_sub1).method17633();
	if (i_13_ != -1) {
	    if (interface44 == null)
		interface44 = (((Class118_Sub1) this).aClass87_Sub2_Sub2_10274
			       .anInterface40_9233);
	    if (i
		< ((Class118_Sub1) this).aClass87_Sub2_Sub2_10274.anInt9276) {
		((Class118_Sub1) this).aClass87_Sub2_Sub2_10274.method15623(i);
		((Class118_Sub1) this).aClass87_Sub2_Sub2_10274
		    .method15448(interface44);
	    } else {
		OpenGL.glActiveTexture(33984 + i);
		OpenGL.glBindTexture((((Class220) (Class220) interface44)
				      .anInt2533),
				     (((Class220) (Class220) interface44)
				      .anInt2532));
	    }
	    if (((Class118_Sub1) this).anIntArray10276[i_13_] != i) {
		((Class118_Sub1) this).anIntArray10276[i_13_] = i;
		OpenGL.glUniform1i(i_13_, i);
	    }
	}
    }
    
    void method16705() {
	method23();
    }
    
    void method2987(int i, float f, float f_14_, float f_15_, float f_16_) {
	OpenGL.glUniform4f(i, f, f_14_, f_15_, f_16_);
    }
    
    void method2967(int i, float[] fs, int i_17_) {
	OpenGL.glUniform4fv(i, i_17_, fs, 0);
    }
    
    void method2968(int i, Class276 class276) {
	OpenGL.glUniform3fv(i, 3, class276.method5499(aFloatArray10282), 0);
    }
    
    void method2970(int i, Class276 class276) {
	OpenGL.glUniform4fv(i, 4, class276.method5481(aFloatArray10282), 0);
    }
    
    void method3002(int i, float f, float f_18_, float f_19_, float f_20_) {
	OpenGL.glUniform4f(i, f, f_18_, f_19_, f_20_);
    }
    
    void method2956(int i, int i_21_, Interface44 interface44) {
	((Class118_Sub1) this).aClass87_Sub2_Sub2_10274.method15623(i_21_);
	((Class118_Sub1) this).aClass87_Sub2_Sub2_10274
	    .method15448(interface44);
	OpenGL.glUniform1i(i, i_21_);
    }
    
    void method2993(Class243_Sub41_Sub1 class243_sub41_sub1, int i,
		    Interface44 interface44) {
	int i_22_
	    = ((Class243_Sub41_Sub1_Sub2) class243_sub41_sub1).method17633();
	if (i_22_ != -1) {
	    if (interface44 == null)
		interface44 = (((Class118_Sub1) this).aClass87_Sub2_Sub2_10274
			       .anInterface40_9233);
	    if (i
		< ((Class118_Sub1) this).aClass87_Sub2_Sub2_10274.anInt9276) {
		((Class118_Sub1) this).aClass87_Sub2_Sub2_10274.method15623(i);
		((Class118_Sub1) this).aClass87_Sub2_Sub2_10274
		    .method15448(interface44);
	    } else {
		OpenGL.glActiveTexture(33984 + i);
		OpenGL.glBindTexture((((Class220) (Class220) interface44)
				      .anInt2533),
				     (((Class220) (Class220) interface44)
				      .anInt2532));
	    }
	    if (((Class118_Sub1) this).anIntArray10276[i_22_] != i) {
		((Class118_Sub1) this).anIntArray10276[i_22_] = i;
		OpenGL.glUniform1i(i_22_, i);
	    }
	}
    }
    
    public boolean method2986() {
	if (((Class118_Sub1) this).aBool10271)
	    return true;
	((Class87_Sub2_Sub2) ((Class118_Sub1) this).aClass87_Sub2_Sub2_10274)
	    .aClass118_Sub1_11005
	    = null;
	((Class118_Sub1) this).anInt10272
	    = method16706(35633, ((Class118_Sub1) this).aString10279,
			  aString1541);
	((Class118_Sub1) this).anInt10278
	    = method16706(35632, ((Class118_Sub1) this).aString10289,
			  aString1542);
	if (((Class118_Sub1) this).anInt10272 == 0
	    || ((Class118_Sub1) this).anInt10278 == 0) {
	    if (((Class118_Sub1) this).anInt10272 != 0)
		OpenGL.glDeleteShader(((Class118_Sub1) this).anInt10272);
	    if (((Class118_Sub1) this).anInt10278 != 0)
		OpenGL.glDeleteShader(((Class118_Sub1) this).anInt10278);
	    return false;
	}
	((Class118_Sub1) this).anInt10284 = OpenGL.glCreateProgram();
	if (((Class118_Sub1) this).anInt10272 != 0)
	    OpenGL.glAttachShader(((Class118_Sub1) this).anInt10284,
				  ((Class118_Sub1) this).anInt10272);
	if (((Class118_Sub1) this).anInt10278 != 0)
	    OpenGL.glAttachShader(((Class118_Sub1) this).anInt10284,
				  ((Class118_Sub1) this).anInt10278);
	OpenGL.glLinkProgram(((Class118_Sub1) this).anInt10284);
	OpenGL.glGetProgramiv(((Class118_Sub1) this).anInt10284, 35714,
			      anIntArray10281, 0);
	if (anIntArray10281[0] == 0) {
	    if (((Class118_Sub1) this).anInt10272 != 0) {
		OpenGL.glDetachShader(((Class118_Sub1) this).anInt10284,
				      ((Class118_Sub1) this).anInt10272);
		OpenGL.glDeleteShader(((Class118_Sub1) this).anInt10272);
	    }
	    if (((Class118_Sub1) this).anInt10278 != 0) {
		OpenGL.glDetachShader(((Class118_Sub1) this).anInt10284,
				      ((Class118_Sub1) this).anInt10278);
		OpenGL.glDeleteShader(((Class118_Sub1) this).anInt10278);
	    }
	    OpenGL.glDeleteProgram(((Class118_Sub1) this).anInt10284);
	    return false;
	}
	OpenGL.glUseProgram(((Class118_Sub1) this).anInt10284);
	int i = -1;
	for (int i_23_ = 0; i_23_ < ((Class118_Sub1) this)
					.aClass37_Sub2_10275
					.method1071(1560370910); i_23_++) {
	    if (((Class118_Sub1) this).aClass37_Sub2_10275
		    .method1072(i_23_, -1112947583)
		== this) {
		i = i_23_;
		break;
	    }
	}
	if (i == -1)
	    return false;
	int i_24_ = 0;
	int i_25_ = 0;
	for (int i_26_ = 0; i_26_ < ((Class118_Sub1) this)
					.aClass37_Sub2_10275
					.method1102((byte) 2); i_26_++) {
	    Class243_Sub41_Sub1 class243_sub41_sub1
		= ((Class118_Sub1) this).aClass37_Sub2_10275
		      .method1103(i_26_, -190436416);
	    if (class243_sub41_sub1 != null) {
		class243_sub41_sub1.method17445(i);
		Class38 class38 = class243_sub41_sub1.method17447((byte) 5);
		int i_27_ = (((Class243_Sub41_Sub1_Sub2)
			      (Class243_Sub41_Sub1_Sub2) class243_sub41_sub1)
			     .anIntArray11108[i]);
		if (class38 == Class38.aClass38_523
		    || class38 == Class38.aClass38_589
		    || class38 == Class38.aClass38_546
		    || class38 == Class38.aClass38_469
		    || class38 == Class38.aClass38_502)
		    i_24_ = Math.max(i_27_, i_24_);
		else
		    i_25_ = Math.max(i_27_, i_25_);
	    }
	}
	for (int i_28_ = 0; i_28_ < ((Class118_Sub1) this)
					.aClass37_Sub2_10275
					.method1081((byte) 31); i_28_++) {
	    Class243_Sub41_Sub1 class243_sub41_sub1
		= ((Class118_Sub1) this).aClass37_Sub2_10275
		      .method1100(i_28_, (byte) 9);
	    if (class243_sub41_sub1 != null) {
		class243_sub41_sub1.method17445(i);
		Class38 class38 = class243_sub41_sub1.method17447((byte) -67);
		int i_29_ = (((Class243_Sub41_Sub1_Sub2)
			      (Class243_Sub41_Sub1_Sub2) class243_sub41_sub1)
			     .anIntArray11108[i]);
		if (class38 == Class38.aClass38_523
		    || class38 == Class38.aClass38_589
		    || class38 == Class38.aClass38_546
		    || class38 == Class38.aClass38_469
		    || class38 == Class38.aClass38_502)
		    i_24_ = Math.max(i_29_, i_24_);
		else
		    i_25_ = Math.max(i_29_, i_25_);
	    }
	}
	((Class118_Sub1) this).aFloatArray10277 = new float[i_24_ + 1];
	((Class118_Sub1) this).aFloatArray10288 = new float[i_24_ + 1];
	((Class118_Sub1) this).aFloatArray10273 = new float[i_24_ + 1];
	((Class118_Sub1) this).aFloatArray10287 = new float[i_24_ + 1];
	((Class118_Sub1) this).anIntArray10276 = new int[i_25_ + 1];
	for (int i_30_ = 0;
	     i_30_ < ((Class118_Sub1) this).anIntArray10276.length; i_30_++)
	    ((Class118_Sub1) this).anIntArray10276[i_30_] = -1;
	((Class118_Sub1) this).aString10279 = null;
	((Class118_Sub1) this).aString10289 = null;
	((Class118_Sub1) this).aBool10271 = true;
	return true;
    }
    
    static {
	anIntArray10281 = new int[2];
	aFloatArray10282 = new float[16];
    }
    
    void method2980(Class243_Sub41_Sub1 class243_sub41_sub1, float f) {
	int i = ((Class243_Sub41_Sub1_Sub2) class243_sub41_sub1).method17633();
	if (i != -1) {
	    if (((Class118_Sub1) this).aFloatArray10277[i] != f) {
		((Class118_Sub1) this).aFloatArray10277[i] = f;
		if ((class243_sub41_sub1.method17447((byte) -111)
		     != Class38.aClass38_523)
		    && (class243_sub41_sub1.method17447((byte) -32)
			!= Class38.aClass38_589))
		    throw new IllegalArgumentException_Sub1
			      (class243_sub41_sub1, "");
		OpenGL.glUniform1f(i, f);
	    }
	}
    }
    
    void method2996(Class243_Sub41_Sub1 class243_sub41_sub1, int i,
		    Interface44 interface44) {
	int i_31_
	    = ((Class243_Sub41_Sub1_Sub2) class243_sub41_sub1).method17633();
	if (i_31_ != -1) {
	    if (interface44 == null)
		interface44 = (((Class118_Sub1) this).aClass87_Sub2_Sub2_10274
			       .anInterface40_9233);
	    if (i
		< ((Class118_Sub1) this).aClass87_Sub2_Sub2_10274.anInt9276) {
		((Class118_Sub1) this).aClass87_Sub2_Sub2_10274.method15623(i);
		((Class118_Sub1) this).aClass87_Sub2_Sub2_10274
		    .method15448(interface44);
	    } else {
		OpenGL.glActiveTexture(33984 + i);
		OpenGL.glBindTexture((((Class220) (Class220) interface44)
				      .anInt2533),
				     (((Class220) (Class220) interface44)
				      .anInt2532));
	    }
	    if (((Class118_Sub1) this).anIntArray10276[i_31_] != i) {
		((Class118_Sub1) this).anIntArray10276[i_31_] = i;
		OpenGL.glUniform1i(i_31_, i);
	    }
	}
    }
    
    public boolean method2975() {
	if (((Class118_Sub1) this).aBool10271)
	    return true;
	((Class87_Sub2_Sub2) ((Class118_Sub1) this).aClass87_Sub2_Sub2_10274)
	    .aClass118_Sub1_11005
	    = null;
	((Class118_Sub1) this).anInt10272
	    = method16706(35633, ((Class118_Sub1) this).aString10279,
			  aString1541);
	((Class118_Sub1) this).anInt10278
	    = method16706(35632, ((Class118_Sub1) this).aString10289,
			  aString1542);
	if (((Class118_Sub1) this).anInt10272 == 0
	    || ((Class118_Sub1) this).anInt10278 == 0) {
	    if (((Class118_Sub1) this).anInt10272 != 0)
		OpenGL.glDeleteShader(((Class118_Sub1) this).anInt10272);
	    if (((Class118_Sub1) this).anInt10278 != 0)
		OpenGL.glDeleteShader(((Class118_Sub1) this).anInt10278);
	    return false;
	}
	((Class118_Sub1) this).anInt10284 = OpenGL.glCreateProgram();
	if (((Class118_Sub1) this).anInt10272 != 0)
	    OpenGL.glAttachShader(((Class118_Sub1) this).anInt10284,
				  ((Class118_Sub1) this).anInt10272);
	if (((Class118_Sub1) this).anInt10278 != 0)
	    OpenGL.glAttachShader(((Class118_Sub1) this).anInt10284,
				  ((Class118_Sub1) this).anInt10278);
	OpenGL.glLinkProgram(((Class118_Sub1) this).anInt10284);
	OpenGL.glGetProgramiv(((Class118_Sub1) this).anInt10284, 35714,
			      anIntArray10281, 0);
	if (anIntArray10281[0] == 0) {
	    if (((Class118_Sub1) this).anInt10272 != 0) {
		OpenGL.glDetachShader(((Class118_Sub1) this).anInt10284,
				      ((Class118_Sub1) this).anInt10272);
		OpenGL.glDeleteShader(((Class118_Sub1) this).anInt10272);
	    }
	    if (((Class118_Sub1) this).anInt10278 != 0) {
		OpenGL.glDetachShader(((Class118_Sub1) this).anInt10284,
				      ((Class118_Sub1) this).anInt10278);
		OpenGL.glDeleteShader(((Class118_Sub1) this).anInt10278);
	    }
	    OpenGL.glDeleteProgram(((Class118_Sub1) this).anInt10284);
	    return false;
	}
	OpenGL.glUseProgram(((Class118_Sub1) this).anInt10284);
	int i = -1;
	for (int i_32_ = 0; i_32_ < ((Class118_Sub1) this)
					.aClass37_Sub2_10275
					.method1071(1777251616); i_32_++) {
	    if (((Class118_Sub1) this).aClass37_Sub2_10275
		    .method1072(i_32_, -1112947583)
		== this) {
		i = i_32_;
		break;
	    }
	}
	if (i == -1)
	    return false;
	int i_33_ = 0;
	int i_34_ = 0;
	for (int i_35_ = 0; i_35_ < ((Class118_Sub1) this)
					.aClass37_Sub2_10275
					.method1102((byte) 2); i_35_++) {
	    Class243_Sub41_Sub1 class243_sub41_sub1
		= ((Class118_Sub1) this).aClass37_Sub2_10275
		      .method1103(i_35_, 1665183780);
	    if (class243_sub41_sub1 != null) {
		class243_sub41_sub1.method17445(i);
		Class38 class38 = class243_sub41_sub1.method17447((byte) -8);
		int i_36_ = (((Class243_Sub41_Sub1_Sub2)
			      (Class243_Sub41_Sub1_Sub2) class243_sub41_sub1)
			     .anIntArray11108[i]);
		if (class38 == Class38.aClass38_523
		    || class38 == Class38.aClass38_589
		    || class38 == Class38.aClass38_546
		    || class38 == Class38.aClass38_469
		    || class38 == Class38.aClass38_502)
		    i_33_ = Math.max(i_36_, i_33_);
		else
		    i_34_ = Math.max(i_36_, i_34_);
	    }
	}
	for (int i_37_ = 0; i_37_ < ((Class118_Sub1) this)
					.aClass37_Sub2_10275
					.method1081((byte) 11); i_37_++) {
	    Class243_Sub41_Sub1 class243_sub41_sub1
		= ((Class118_Sub1) this).aClass37_Sub2_10275
		      .method1100(i_37_, (byte) 9);
	    if (class243_sub41_sub1 != null) {
		class243_sub41_sub1.method17445(i);
		Class38 class38 = class243_sub41_sub1.method17447((byte) 76);
		int i_38_ = (((Class243_Sub41_Sub1_Sub2)
			      (Class243_Sub41_Sub1_Sub2) class243_sub41_sub1)
			     .anIntArray11108[i]);
		if (class38 == Class38.aClass38_523
		    || class38 == Class38.aClass38_589
		    || class38 == Class38.aClass38_546
		    || class38 == Class38.aClass38_469
		    || class38 == Class38.aClass38_502)
		    i_33_ = Math.max(i_38_, i_33_);
		else
		    i_34_ = Math.max(i_38_, i_34_);
	    }
	}
	((Class118_Sub1) this).aFloatArray10277 = new float[i_33_ + 1];
	((Class118_Sub1) this).aFloatArray10288 = new float[i_33_ + 1];
	((Class118_Sub1) this).aFloatArray10273 = new float[i_33_ + 1];
	((Class118_Sub1) this).aFloatArray10287 = new float[i_33_ + 1];
	((Class118_Sub1) this).anIntArray10276 = new int[i_34_ + 1];
	for (int i_39_ = 0;
	     i_39_ < ((Class118_Sub1) this).anIntArray10276.length; i_39_++)
	    ((Class118_Sub1) this).anIntArray10276[i_39_] = -1;
	((Class118_Sub1) this).aString10279 = null;
	((Class118_Sub1) this).aString10289 = null;
	((Class118_Sub1) this).aBool10271 = true;
	return true;
    }
    
    public boolean method3013() {
	if (((Class118_Sub1) this).aBool10271)
	    return true;
	((Class87_Sub2_Sub2) ((Class118_Sub1) this).aClass87_Sub2_Sub2_10274)
	    .aClass118_Sub1_11005
	    = null;
	((Class118_Sub1) this).anInt10272
	    = method16706(35633, ((Class118_Sub1) this).aString10279,
			  aString1541);
	((Class118_Sub1) this).anInt10278
	    = method16706(35632, ((Class118_Sub1) this).aString10289,
			  aString1542);
	if (((Class118_Sub1) this).anInt10272 == 0
	    || ((Class118_Sub1) this).anInt10278 == 0) {
	    if (((Class118_Sub1) this).anInt10272 != 0)
		OpenGL.glDeleteShader(((Class118_Sub1) this).anInt10272);
	    if (((Class118_Sub1) this).anInt10278 != 0)
		OpenGL.glDeleteShader(((Class118_Sub1) this).anInt10278);
	    return false;
	}
	((Class118_Sub1) this).anInt10284 = OpenGL.glCreateProgram();
	if (((Class118_Sub1) this).anInt10272 != 0)
	    OpenGL.glAttachShader(((Class118_Sub1) this).anInt10284,
				  ((Class118_Sub1) this).anInt10272);
	if (((Class118_Sub1) this).anInt10278 != 0)
	    OpenGL.glAttachShader(((Class118_Sub1) this).anInt10284,
				  ((Class118_Sub1) this).anInt10278);
	OpenGL.glLinkProgram(((Class118_Sub1) this).anInt10284);
	OpenGL.glGetProgramiv(((Class118_Sub1) this).anInt10284, 35714,
			      anIntArray10281, 0);
	if (anIntArray10281[0] == 0) {
	    if (((Class118_Sub1) this).anInt10272 != 0) {
		OpenGL.glDetachShader(((Class118_Sub1) this).anInt10284,
				      ((Class118_Sub1) this).anInt10272);
		OpenGL.glDeleteShader(((Class118_Sub1) this).anInt10272);
	    }
	    if (((Class118_Sub1) this).anInt10278 != 0) {
		OpenGL.glDetachShader(((Class118_Sub1) this).anInt10284,
				      ((Class118_Sub1) this).anInt10278);
		OpenGL.glDeleteShader(((Class118_Sub1) this).anInt10278);
	    }
	    OpenGL.glDeleteProgram(((Class118_Sub1) this).anInt10284);
	    return false;
	}
	OpenGL.glUseProgram(((Class118_Sub1) this).anInt10284);
	int i = -1;
	for (int i_40_ = 0; i_40_ < ((Class118_Sub1) this)
					.aClass37_Sub2_10275
					.method1071(1315272136); i_40_++) {
	    if (((Class118_Sub1) this).aClass37_Sub2_10275
		    .method1072(i_40_, -1112947583)
		== this) {
		i = i_40_;
		break;
	    }
	}
	if (i == -1)
	    return false;
	int i_41_ = 0;
	int i_42_ = 0;
	for (int i_43_ = 0; i_43_ < ((Class118_Sub1) this)
					.aClass37_Sub2_10275
					.method1102((byte) 2); i_43_++) {
	    Class243_Sub41_Sub1 class243_sub41_sub1
		= ((Class118_Sub1) this).aClass37_Sub2_10275
		      .method1103(i_43_, 164926679);
	    if (class243_sub41_sub1 != null) {
		class243_sub41_sub1.method17445(i);
		Class38 class38 = class243_sub41_sub1.method17447((byte) 41);
		int i_44_ = (((Class243_Sub41_Sub1_Sub2)
			      (Class243_Sub41_Sub1_Sub2) class243_sub41_sub1)
			     .anIntArray11108[i]);
		if (class38 == Class38.aClass38_523
		    || class38 == Class38.aClass38_589
		    || class38 == Class38.aClass38_546
		    || class38 == Class38.aClass38_469
		    || class38 == Class38.aClass38_502)
		    i_41_ = Math.max(i_44_, i_41_);
		else
		    i_42_ = Math.max(i_44_, i_42_);
	    }
	}
	for (int i_45_ = 0; i_45_ < ((Class118_Sub1) this)
					.aClass37_Sub2_10275
					.method1081((byte) 67); i_45_++) {
	    Class243_Sub41_Sub1 class243_sub41_sub1
		= ((Class118_Sub1) this).aClass37_Sub2_10275
		      .method1100(i_45_, (byte) 9);
	    if (class243_sub41_sub1 != null) {
		class243_sub41_sub1.method17445(i);
		Class38 class38 = class243_sub41_sub1.method17447((byte) 16);
		int i_46_ = (((Class243_Sub41_Sub1_Sub2)
			      (Class243_Sub41_Sub1_Sub2) class243_sub41_sub1)
			     .anIntArray11108[i]);
		if (class38 == Class38.aClass38_523
		    || class38 == Class38.aClass38_589
		    || class38 == Class38.aClass38_546
		    || class38 == Class38.aClass38_469
		    || class38 == Class38.aClass38_502)
		    i_41_ = Math.max(i_46_, i_41_);
		else
		    i_42_ = Math.max(i_46_, i_42_);
	    }
	}
	((Class118_Sub1) this).aFloatArray10277 = new float[i_41_ + 1];
	((Class118_Sub1) this).aFloatArray10288 = new float[i_41_ + 1];
	((Class118_Sub1) this).aFloatArray10273 = new float[i_41_ + 1];
	((Class118_Sub1) this).aFloatArray10287 = new float[i_41_ + 1];
	((Class118_Sub1) this).anIntArray10276 = new int[i_42_ + 1];
	for (int i_47_ = 0;
	     i_47_ < ((Class118_Sub1) this).anIntArray10276.length; i_47_++)
	    ((Class118_Sub1) this).anIntArray10276[i_47_] = -1;
	((Class118_Sub1) this).aString10279 = null;
	((Class118_Sub1) this).aString10289 = null;
	((Class118_Sub1) this).aBool10271 = true;
	return true;
    }
    
    public boolean method2977() {
	if (((Class118_Sub1) this).aBool10271)
	    return true;
	((Class87_Sub2_Sub2) ((Class118_Sub1) this).aClass87_Sub2_Sub2_10274)
	    .aClass118_Sub1_11005
	    = null;
	((Class118_Sub1) this).anInt10272
	    = method16706(35633, ((Class118_Sub1) this).aString10279,
			  aString1541);
	((Class118_Sub1) this).anInt10278
	    = method16706(35632, ((Class118_Sub1) this).aString10289,
			  aString1542);
	if (((Class118_Sub1) this).anInt10272 == 0
	    || ((Class118_Sub1) this).anInt10278 == 0) {
	    if (((Class118_Sub1) this).anInt10272 != 0)
		OpenGL.glDeleteShader(((Class118_Sub1) this).anInt10272);
	    if (((Class118_Sub1) this).anInt10278 != 0)
		OpenGL.glDeleteShader(((Class118_Sub1) this).anInt10278);
	    return false;
	}
	((Class118_Sub1) this).anInt10284 = OpenGL.glCreateProgram();
	if (((Class118_Sub1) this).anInt10272 != 0)
	    OpenGL.glAttachShader(((Class118_Sub1) this).anInt10284,
				  ((Class118_Sub1) this).anInt10272);
	if (((Class118_Sub1) this).anInt10278 != 0)
	    OpenGL.glAttachShader(((Class118_Sub1) this).anInt10284,
				  ((Class118_Sub1) this).anInt10278);
	OpenGL.glLinkProgram(((Class118_Sub1) this).anInt10284);
	OpenGL.glGetProgramiv(((Class118_Sub1) this).anInt10284, 35714,
			      anIntArray10281, 0);
	if (anIntArray10281[0] == 0) {
	    if (((Class118_Sub1) this).anInt10272 != 0) {
		OpenGL.glDetachShader(((Class118_Sub1) this).anInt10284,
				      ((Class118_Sub1) this).anInt10272);
		OpenGL.glDeleteShader(((Class118_Sub1) this).anInt10272);
	    }
	    if (((Class118_Sub1) this).anInt10278 != 0) {
		OpenGL.glDetachShader(((Class118_Sub1) this).anInt10284,
				      ((Class118_Sub1) this).anInt10278);
		OpenGL.glDeleteShader(((Class118_Sub1) this).anInt10278);
	    }
	    OpenGL.glDeleteProgram(((Class118_Sub1) this).anInt10284);
	    return false;
	}
	OpenGL.glUseProgram(((Class118_Sub1) this).anInt10284);
	int i = -1;
	for (int i_48_ = 0; i_48_ < ((Class118_Sub1) this)
					.aClass37_Sub2_10275
					.method1071(2076321086); i_48_++) {
	    if (((Class118_Sub1) this).aClass37_Sub2_10275
		    .method1072(i_48_, -1112947583)
		== this) {
		i = i_48_;
		break;
	    }
	}
	if (i == -1)
	    return false;
	int i_49_ = 0;
	int i_50_ = 0;
	for (int i_51_ = 0; i_51_ < ((Class118_Sub1) this)
					.aClass37_Sub2_10275
					.method1102((byte) 2); i_51_++) {
	    Class243_Sub41_Sub1 class243_sub41_sub1
		= ((Class118_Sub1) this).aClass37_Sub2_10275
		      .method1103(i_51_, 665851953);
	    if (class243_sub41_sub1 != null) {
		class243_sub41_sub1.method17445(i);
		Class38 class38 = class243_sub41_sub1.method17447((byte) -62);
		int i_52_ = (((Class243_Sub41_Sub1_Sub2)
			      (Class243_Sub41_Sub1_Sub2) class243_sub41_sub1)
			     .anIntArray11108[i]);
		if (class38 == Class38.aClass38_523
		    || class38 == Class38.aClass38_589
		    || class38 == Class38.aClass38_546
		    || class38 == Class38.aClass38_469
		    || class38 == Class38.aClass38_502)
		    i_49_ = Math.max(i_52_, i_49_);
		else
		    i_50_ = Math.max(i_52_, i_50_);
	    }
	}
	for (int i_53_ = 0; i_53_ < ((Class118_Sub1) this)
					.aClass37_Sub2_10275
					.method1081((byte) 10); i_53_++) {
	    Class243_Sub41_Sub1 class243_sub41_sub1
		= ((Class118_Sub1) this).aClass37_Sub2_10275
		      .method1100(i_53_, (byte) 9);
	    if (class243_sub41_sub1 != null) {
		class243_sub41_sub1.method17445(i);
		Class38 class38 = class243_sub41_sub1.method17447((byte) -15);
		int i_54_ = (((Class243_Sub41_Sub1_Sub2)
			      (Class243_Sub41_Sub1_Sub2) class243_sub41_sub1)
			     .anIntArray11108[i]);
		if (class38 == Class38.aClass38_523
		    || class38 == Class38.aClass38_589
		    || class38 == Class38.aClass38_546
		    || class38 == Class38.aClass38_469
		    || class38 == Class38.aClass38_502)
		    i_49_ = Math.max(i_54_, i_49_);
		else
		    i_50_ = Math.max(i_54_, i_50_);
	    }
	}
	((Class118_Sub1) this).aFloatArray10277 = new float[i_49_ + 1];
	((Class118_Sub1) this).aFloatArray10288 = new float[i_49_ + 1];
	((Class118_Sub1) this).aFloatArray10273 = new float[i_49_ + 1];
	((Class118_Sub1) this).aFloatArray10287 = new float[i_49_ + 1];
	((Class118_Sub1) this).anIntArray10276 = new int[i_50_ + 1];
	for (int i_55_ = 0;
	     i_55_ < ((Class118_Sub1) this).anIntArray10276.length; i_55_++)
	    ((Class118_Sub1) this).anIntArray10276[i_55_] = -1;
	((Class118_Sub1) this).aString10279 = null;
	((Class118_Sub1) this).aString10289 = null;
	((Class118_Sub1) this).aBool10271 = true;
	return true;
    }
    
    public boolean method2978() {
	if (((Class118_Sub1) this).aBool10271)
	    return true;
	((Class87_Sub2_Sub2) ((Class118_Sub1) this).aClass87_Sub2_Sub2_10274)
	    .aClass118_Sub1_11005
	    = null;
	((Class118_Sub1) this).anInt10272
	    = method16706(35633, ((Class118_Sub1) this).aString10279,
			  aString1541);
	((Class118_Sub1) this).anInt10278
	    = method16706(35632, ((Class118_Sub1) this).aString10289,
			  aString1542);
	if (((Class118_Sub1) this).anInt10272 == 0
	    || ((Class118_Sub1) this).anInt10278 == 0) {
	    if (((Class118_Sub1) this).anInt10272 != 0)
		OpenGL.glDeleteShader(((Class118_Sub1) this).anInt10272);
	    if (((Class118_Sub1) this).anInt10278 != 0)
		OpenGL.glDeleteShader(((Class118_Sub1) this).anInt10278);
	    return false;
	}
	((Class118_Sub1) this).anInt10284 = OpenGL.glCreateProgram();
	if (((Class118_Sub1) this).anInt10272 != 0)
	    OpenGL.glAttachShader(((Class118_Sub1) this).anInt10284,
				  ((Class118_Sub1) this).anInt10272);
	if (((Class118_Sub1) this).anInt10278 != 0)
	    OpenGL.glAttachShader(((Class118_Sub1) this).anInt10284,
				  ((Class118_Sub1) this).anInt10278);
	OpenGL.glLinkProgram(((Class118_Sub1) this).anInt10284);
	OpenGL.glGetProgramiv(((Class118_Sub1) this).anInt10284, 35714,
			      anIntArray10281, 0);
	if (anIntArray10281[0] == 0) {
	    if (((Class118_Sub1) this).anInt10272 != 0) {
		OpenGL.glDetachShader(((Class118_Sub1) this).anInt10284,
				      ((Class118_Sub1) this).anInt10272);
		OpenGL.glDeleteShader(((Class118_Sub1) this).anInt10272);
	    }
	    if (((Class118_Sub1) this).anInt10278 != 0) {
		OpenGL.glDetachShader(((Class118_Sub1) this).anInt10284,
				      ((Class118_Sub1) this).anInt10278);
		OpenGL.glDeleteShader(((Class118_Sub1) this).anInt10278);
	    }
	    OpenGL.glDeleteProgram(((Class118_Sub1) this).anInt10284);
	    return false;
	}
	OpenGL.glUseProgram(((Class118_Sub1) this).anInt10284);
	int i = -1;
	for (int i_56_ = 0; i_56_ < ((Class118_Sub1) this)
					.aClass37_Sub2_10275
					.method1071(1773137614); i_56_++) {
	    if (((Class118_Sub1) this).aClass37_Sub2_10275
		    .method1072(i_56_, -1112947583)
		== this) {
		i = i_56_;
		break;
	    }
	}
	if (i == -1)
	    return false;
	int i_57_ = 0;
	int i_58_ = 0;
	for (int i_59_ = 0; i_59_ < ((Class118_Sub1) this)
					.aClass37_Sub2_10275
					.method1102((byte) 2); i_59_++) {
	    Class243_Sub41_Sub1 class243_sub41_sub1
		= ((Class118_Sub1) this).aClass37_Sub2_10275
		      .method1103(i_59_, -20544138);
	    if (class243_sub41_sub1 != null) {
		class243_sub41_sub1.method17445(i);
		Class38 class38 = class243_sub41_sub1.method17447((byte) -35);
		int i_60_ = (((Class243_Sub41_Sub1_Sub2)
			      (Class243_Sub41_Sub1_Sub2) class243_sub41_sub1)
			     .anIntArray11108[i]);
		if (class38 == Class38.aClass38_523
		    || class38 == Class38.aClass38_589
		    || class38 == Class38.aClass38_546
		    || class38 == Class38.aClass38_469
		    || class38 == Class38.aClass38_502)
		    i_57_ = Math.max(i_60_, i_57_);
		else
		    i_58_ = Math.max(i_60_, i_58_);
	    }
	}
	for (int i_61_ = 0; i_61_ < ((Class118_Sub1) this)
					.aClass37_Sub2_10275
					.method1081((byte) 31); i_61_++) {
	    Class243_Sub41_Sub1 class243_sub41_sub1
		= ((Class118_Sub1) this).aClass37_Sub2_10275
		      .method1100(i_61_, (byte) 9);
	    if (class243_sub41_sub1 != null) {
		class243_sub41_sub1.method17445(i);
		Class38 class38 = class243_sub41_sub1.method17447((byte) -64);
		int i_62_ = (((Class243_Sub41_Sub1_Sub2)
			      (Class243_Sub41_Sub1_Sub2) class243_sub41_sub1)
			     .anIntArray11108[i]);
		if (class38 == Class38.aClass38_523
		    || class38 == Class38.aClass38_589
		    || class38 == Class38.aClass38_546
		    || class38 == Class38.aClass38_469
		    || class38 == Class38.aClass38_502)
		    i_57_ = Math.max(i_62_, i_57_);
		else
		    i_58_ = Math.max(i_62_, i_58_);
	    }
	}
	((Class118_Sub1) this).aFloatArray10277 = new float[i_57_ + 1];
	((Class118_Sub1) this).aFloatArray10288 = new float[i_57_ + 1];
	((Class118_Sub1) this).aFloatArray10273 = new float[i_57_ + 1];
	((Class118_Sub1) this).aFloatArray10287 = new float[i_57_ + 1];
	((Class118_Sub1) this).anIntArray10276 = new int[i_58_ + 1];
	for (int i_63_ = 0;
	     i_63_ < ((Class118_Sub1) this).anIntArray10276.length; i_63_++)
	    ((Class118_Sub1) this).anIntArray10276[i_63_] = -1;
	((Class118_Sub1) this).aString10279 = null;
	((Class118_Sub1) this).aString10289 = null;
	((Class118_Sub1) this).aBool10271 = true;
	return true;
    }
    
    void method2965(int i, float f, float f_64_, float f_65_) {
	OpenGL.glUniform3f(i, f, f_64_, f_65_);
    }
    
    void method3000(Class243_Sub41_Sub1 class243_sub41_sub1,
		    Class276 class276) {
	if (!$assertionsDisabled
	    && (class243_sub41_sub1.method17447((byte) -10)
		!= Class38.aClass38_505))
	    throw new AssertionError();
	int i = ((Class243_Sub41_Sub1_Sub2) class243_sub41_sub1).method17633();
	if (i != -1)
	    OpenGL.glUniform2fv(i, 4, class276.method5485(aFloatArray10282),
				0);
    }
    
    void method2981(Class243_Sub41_Sub1 class243_sub41_sub1, float f,
		    float f_66_) {
	int i = ((Class243_Sub41_Sub1_Sub2) class243_sub41_sub1).method17633();
	if (i != -1) {
	    if (((Class118_Sub1) this).aFloatArray10277[i] != f
		|| ((Class118_Sub1) this).aFloatArray10288[i] != f_66_) {
		((Class118_Sub1) this).aFloatArray10277[i] = f;
		((Class118_Sub1) this).aFloatArray10288[i] = f_66_;
		if (class243_sub41_sub1.method17447((byte) -66)
		    != Class38.aClass38_546)
		    throw new IllegalArgumentException_Sub1
			      (class243_sub41_sub1, "");
		OpenGL.glUniform2f(i, f, f_66_);
	    }
	}
    }
    
    void method3006(int i, Class276 class276) {
	OpenGL.glUniform4fv(i, 4, class276.method5481(aFloatArray10282), 0);
    }
    
    void method2969(Class243_Sub41_Sub1 class243_sub41_sub1, float f,
		    float f_67_, float f_68_) {
	int i = ((Class243_Sub41_Sub1_Sub2) class243_sub41_sub1).method17633();
	if (i != -1) {
	    if (((Class118_Sub1) this).aFloatArray10277[i] != f
		|| ((Class118_Sub1) this).aFloatArray10288[i] != f_67_
		|| ((Class118_Sub1) this).aFloatArray10273[i] != f_68_) {
		((Class118_Sub1) this).aFloatArray10277[i] = f;
		((Class118_Sub1) this).aFloatArray10288[i] = f_67_;
		((Class118_Sub1) this).aFloatArray10273[i] = f_68_;
		if (class243_sub41_sub1.method17447((byte) -60)
		    != Class38.aClass38_469)
		    throw new IllegalArgumentException_Sub1
			      (class243_sub41_sub1, "");
		OpenGL.glUniform3f(i, f, f_67_, f_68_);
	    }
	}
    }
    
    void method2984(Class243_Sub41_Sub1 class243_sub41_sub1, float[] fs,
		    int i) {
	int i_69_
	    = ((Class243_Sub41_Sub1_Sub2) class243_sub41_sub1).method17633();
	if (i_69_ != -1)
	    OpenGL.glUniform4fv(i_69_, i, fs, 0);
    }
    
    void method3014(Class243_Sub41_Sub1 class243_sub41_sub1, float[] fs,
		    int i) {
	int i_70_
	    = ((Class243_Sub41_Sub1_Sub2) class243_sub41_sub1).method17633();
	if (i_70_ != -1)
	    OpenGL.glUniform4fv(i_70_, i, fs, 0);
    }
    
    void method3001(Class243_Sub41_Sub1 class243_sub41_sub1, float[] fs,
		    int i) {
	int i_71_
	    = ((Class243_Sub41_Sub1_Sub2) class243_sub41_sub1).method17633();
	if (i_71_ != -1)
	    OpenGL.glUniform4fv(i_71_, i, fs, 0);
    }
    
    void method3004(Class243_Sub41_Sub1 class243_sub41_sub1, float[] fs,
		    int i) {
	int i_72_
	    = ((Class243_Sub41_Sub1_Sub2) class243_sub41_sub1).method17633();
	if (i_72_ != -1)
	    OpenGL.glUniform4fv(i_72_, i, fs, 0);
    }
    
    void method2988(Class243_Sub41_Sub1 class243_sub41_sub1, float[] fs,
		    int i) {
	int i_73_
	    = ((Class243_Sub41_Sub1_Sub2) class243_sub41_sub1).method17633();
	if (i_73_ != -1)
	    OpenGL.glUniform4fv(i_73_, i, fs, 0);
    }
    
    void method2990(int i, Class276 class276) {
	OpenGL.glUniform4fv(i, 4, class276.method5481(aFloatArray10282), 0);
    }
    
    void method2983(Class243_Sub41_Sub1 class243_sub41_sub1,
		    Class276 class276) {
	if (!$assertionsDisabled
	    && (class243_sub41_sub1.method17447((byte) -28)
		!= Class38.aClass38_505))
	    throw new AssertionError();
	int i = ((Class243_Sub41_Sub1_Sub2) class243_sub41_sub1).method17633();
	if (i != -1)
	    OpenGL.glUniform2fv(i, 4, class276.method5485(aFloatArray10282),
				0);
    }
    
    void method2991(Class243_Sub41_Sub1 class243_sub41_sub1,
		    Class276 class276) {
	if (!$assertionsDisabled
	    && (class243_sub41_sub1.method17447((byte) -16)
		!= Class38.aClass38_507))
	    throw new AssertionError();
	int i = ((Class243_Sub41_Sub1_Sub2) class243_sub41_sub1).method17633();
	if (i != -1)
	    OpenGL.glUniform4fv(i, 4, class276.method5481(aFloatArray10282),
				0);
    }
    
    void method2992(Class243_Sub41_Sub1 class243_sub41_sub1, int i,
		    Interface44 interface44) {
	int i_74_
	    = ((Class243_Sub41_Sub1_Sub2) class243_sub41_sub1).method17633();
	if (i_74_ != -1) {
	    if (interface44 == null)
		interface44 = (((Class118_Sub1) this).aClass87_Sub2_Sub2_10274
			       .anInterface40_9233);
	    if (i
		< ((Class118_Sub1) this).aClass87_Sub2_Sub2_10274.anInt9276) {
		((Class118_Sub1) this).aClass87_Sub2_Sub2_10274.method15623(i);
		((Class118_Sub1) this).aClass87_Sub2_Sub2_10274
		    .method15448(interface44);
	    } else {
		OpenGL.glActiveTexture(33984 + i);
		OpenGL.glBindTexture((((Class220) (Class220) interface44)
				      .anInt2533),
				     (((Class220) (Class220) interface44)
				      .anInt2532));
	    }
	    if (((Class118_Sub1) this).anIntArray10276[i_74_] != i) {
		((Class118_Sub1) this).anIntArray10276[i_74_] = i;
		OpenGL.glUniform1i(i_74_, i);
	    }
	}
    }
    
    void method2976(int i, float f, float f_75_, float f_76_, float f_77_) {
	OpenGL.glUniform4f(i, f, f_75_, f_76_, f_77_);
    }
    
    void method2994(Class243_Sub41_Sub1 class243_sub41_sub1, int i,
		    Interface44 interface44) {
	int i_78_
	    = ((Class243_Sub41_Sub1_Sub2) class243_sub41_sub1).method17633();
	if (i_78_ != -1) {
	    if (interface44 == null)
		interface44 = (((Class118_Sub1) this).aClass87_Sub2_Sub2_10274
			       .anInterface40_9233);
	    if (i
		< ((Class118_Sub1) this).aClass87_Sub2_Sub2_10274.anInt9276) {
		((Class118_Sub1) this).aClass87_Sub2_Sub2_10274.method15623(i);
		((Class118_Sub1) this).aClass87_Sub2_Sub2_10274
		    .method15448(interface44);
	    } else {
		OpenGL.glActiveTexture(33984 + i);
		OpenGL.glBindTexture((((Class220) (Class220) interface44)
				      .anInt2533),
				     (((Class220) (Class220) interface44)
				      .anInt2532));
	    }
	    if (((Class118_Sub1) this).anIntArray10276[i_78_] != i) {
		((Class118_Sub1) this).anIntArray10276[i_78_] = i;
		OpenGL.glUniform1i(i_78_, i);
	    }
	}
    }
    
    void method2998(int i, Class276 class276) {
	OpenGL.glUniform3fv(i, 3, class276.method5499(aFloatArray10282), 0);
    }
    
    void method2960(Class243_Sub41_Sub1 class243_sub41_sub1, float f,
		    float f_79_, float f_80_, float f_81_) {
	int i = ((Class243_Sub41_Sub1_Sub2) class243_sub41_sub1).method17633();
	if (i != -1) {
	    if (((Class118_Sub1) this).aFloatArray10277[i] != f
		|| ((Class118_Sub1) this).aFloatArray10288[i] != f_79_
		|| ((Class118_Sub1) this).aFloatArray10273[i] != f_80_
		|| ((Class118_Sub1) this).aFloatArray10287[i] != f_81_) {
		((Class118_Sub1) this).aFloatArray10277[i] = f;
		((Class118_Sub1) this).aFloatArray10288[i] = f_79_;
		((Class118_Sub1) this).aFloatArray10273[i] = f_80_;
		((Class118_Sub1) this).aFloatArray10287[i] = f_81_;
		if (class243_sub41_sub1.method17447((byte) 43)
		    != Class38.aClass38_502)
		    throw new IllegalArgumentException_Sub1
			      (class243_sub41_sub1, "");
		OpenGL.glUniform4f(i, f, f_79_, f_80_, f_81_);
	    }
	}
    }
    
    void method2997(int i, float f, float f_82_, float f_83_) {
	OpenGL.glUniform3f(i, f, f_82_, f_83_);
    }
    
    void method3010(int i, float f, float f_84_, float f_85_) {
	OpenGL.glUniform3f(i, f, f_84_, f_85_);
    }
    
    void method2999(int i, float f, float f_86_, float f_87_, float f_88_) {
	OpenGL.glUniform4f(i, f, f_86_, f_87_, f_88_);
    }
    
    void method2989(int i, Class276 class276) {
	OpenGL.glUniform4fv(i, 4, class276.method5481(aFloatArray10282), 0);
    }
    
    void method2966(int i, float f, float f_89_, float f_90_, float f_91_) {
	OpenGL.glUniform4f(i, f, f_89_, f_90_, f_91_);
    }
    
    void method2982(Class243_Sub41_Sub1 class243_sub41_sub1, float f,
		    float f_92_, float f_93_) {
	int i = ((Class243_Sub41_Sub1_Sub2) class243_sub41_sub1).method17633();
	if (i != -1) {
	    if (((Class118_Sub1) this).aFloatArray10277[i] != f
		|| ((Class118_Sub1) this).aFloatArray10288[i] != f_92_
		|| ((Class118_Sub1) this).aFloatArray10273[i] != f_93_) {
		((Class118_Sub1) this).aFloatArray10277[i] = f;
		((Class118_Sub1) this).aFloatArray10288[i] = f_92_;
		((Class118_Sub1) this).aFloatArray10273[i] = f_93_;
		if (class243_sub41_sub1.method17447((byte) 36)
		    != Class38.aClass38_469)
		    throw new IllegalArgumentException_Sub1
			      (class243_sub41_sub1, "");
		OpenGL.glUniform3f(i, f, f_92_, f_93_);
	    }
	}
    }
    
    int method16706(int i, String string, String string_94_) {
	if (string == null)
	    return 0;
	int i_95_ = OpenGL.glCreateShader(i);
	OpenGL.glShaderSource(i_95_, string);
	OpenGL.glCompileShader(i_95_);
	OpenGL.glGetShaderiv(i_95_, 35713, anIntArray10281, 0);
	if (anIntArray10281[0] == 0) {
	    OpenGL.glDeleteShader(i_95_);
	    i_95_ = 0;
	}
	return i_95_;
    }
    
    public void method24() {
	if (((Class118_Sub1) this).anInt10284 != 0) {
	    ((Class118_Sub1) this).aClass87_Sub2_Sub2_10274
		.method17490(((Class118_Sub1) this).anInt10284);
	    if (((Class118_Sub1) this).anInt10272 != 0)
		((Class118_Sub1) this).aClass87_Sub2_Sub2_10274
		    .method17495((long) ((Class118_Sub1) this).anInt10272);
	    if (((Class118_Sub1) this).anInt10278 != 0)
		((Class118_Sub1) this).aClass87_Sub2_Sub2_10274
		    .method17495((long) ((Class118_Sub1) this).anInt10278);
	    ((Class118_Sub1) this).anInt10284 = 0;
	    ((Class118_Sub1) this).anInt10272 = 0;
	    ((Class118_Sub1) this).anInt10278 = 0;
	}
    }
    
    void method3003(int i, float f, float f_96_, float f_97_, float f_98_) {
	OpenGL.glUniform4f(i, f, f_96_, f_97_, f_98_);
    }
    
    public void finalize() {
	method23();
    }
    
    void method3007(int i, int i_99_, Interface44 interface44) {
	((Class118_Sub1) this).aClass87_Sub2_Sub2_10274.method15623(i_99_);
	((Class118_Sub1) this).aClass87_Sub2_Sub2_10274
	    .method15448(interface44);
	OpenGL.glUniform1i(i, i_99_);
    }
    
    void method3008(int i, int i_100_, Interface44 interface44) {
	((Class118_Sub1) this).aClass87_Sub2_Sub2_10274.method15623(i_100_);
	((Class118_Sub1) this).aClass87_Sub2_Sub2_10274
	    .method15448(interface44);
	OpenGL.glUniform1i(i, i_100_);
    }
    
    void method3009(int i, int i_101_, Interface44 interface44) {
	((Class118_Sub1) this).aClass87_Sub2_Sub2_10274.method15623(i_101_);
	((Class118_Sub1) this).aClass87_Sub2_Sub2_10274
	    .method15448(interface44);
	OpenGL.glUniform1i(i, i_101_);
    }
    
    void method2979(int i, int i_102_, Interface44 interface44) {
	((Class118_Sub1) this).aClass87_Sub2_Sub2_10274.method15623(i_102_);
	((Class118_Sub1) this).aClass87_Sub2_Sub2_10274
	    .method15448(interface44);
	OpenGL.glUniform1i(i, i_102_);
    }
    
    void method3011(Class243_Sub41_Sub1 class243_sub41_sub1, float f,
		    float f_103_, float f_104_, float f_105_) {
	int i = ((Class243_Sub41_Sub1_Sub2) class243_sub41_sub1).method17633();
	if (i != -1) {
	    if (((Class118_Sub1) this).aFloatArray10277[i] != f
		|| ((Class118_Sub1) this).aFloatArray10288[i] != f_103_
		|| ((Class118_Sub1) this).aFloatArray10273[i] != f_104_
		|| ((Class118_Sub1) this).aFloatArray10287[i] != f_105_) {
		((Class118_Sub1) this).aFloatArray10277[i] = f;
		((Class118_Sub1) this).aFloatArray10288[i] = f_103_;
		((Class118_Sub1) this).aFloatArray10273[i] = f_104_;
		((Class118_Sub1) this).aFloatArray10287[i] = f_105_;
		if (class243_sub41_sub1.method17447((byte) 19)
		    != Class38.aClass38_502)
		    throw new IllegalArgumentException_Sub1
			      (class243_sub41_sub1, "");
		OpenGL.glUniform4f(i, f, f_103_, f_104_, f_105_);
	    }
	}
    }
    
    void method3012(int i, Class276 class276) {
	OpenGL.glUniform3fv(i, 3, class276.method5499(aFloatArray10282), 0);
    }
    
    void method2957(int i, Class276 class276) {
	OpenGL.glUniform3fv(i, 3, class276.method5499(aFloatArray10282), 0);
    }
    
    Class118_Sub1(Class87_Sub2_Sub2 class87_sub2_sub2,
		  Class37_Sub2 class37_sub2, Class49 class49) {
	this(class87_sub2_sub2, class49);
	((Class118_Sub1) this).aClass37_Sub2_10275 = class37_sub2;
	((Class118_Sub1) this).aClass87_Sub2_Sub2_10274 = class87_sub2_sub2;
    }
    
    void method2954(int i, Class276 class276) {
	OpenGL.glUniform2fv(i, 4, class276.method5485(aFloatArray10282), 0);
    }
    
    void method3015(int i, Class276 class276) {
	OpenGL.glUniform2fv(i, 4, class276.method5485(aFloatArray10282), 0);
    }
    
    void method3016(int i, float[] fs, int i_106_) {
	OpenGL.glUniform4fv(i, i_106_, fs, 0);
    }
    
    void method3017(int i, float[] fs, int i_107_) {
	OpenGL.glUniform4fv(i, i_107_, fs, 0);
    }
    
    int method16707(int i, String string, String string_108_) {
	if (string == null)
	    return 0;
	int i_109_ = OpenGL.glCreateShader(i);
	OpenGL.glShaderSource(i_109_, string);
	OpenGL.glCompileShader(i_109_);
	OpenGL.glGetShaderiv(i_109_, 35713, anIntArray10281, 0);
	if (anIntArray10281[0] == 0) {
	    OpenGL.glDeleteShader(i_109_);
	    i_109_ = 0;
	}
	return i_109_;
    }
    
    int method16708(int i, String string, String string_110_) {
	if (string == null)
	    return 0;
	int i_111_ = OpenGL.glCreateShader(i);
	OpenGL.glShaderSource(i_111_, string);
	OpenGL.glCompileShader(i_111_);
	OpenGL.glGetShaderiv(i_111_, 35713, anIntArray10281, 0);
	if (anIntArray10281[0] == 0) {
	    OpenGL.glDeleteShader(i_111_);
	    i_111_ = 0;
	}
	return i_111_;
    }
}
