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

public class Class108_Sub8 extends Class108
{
    static final String aString8748
	= "!!ARBvp1.0\nOPTION  ARB_position_invariant;\nATTRIB  iPos         = vertex.position;\nATTRIB  iColour      = vertex.color;\nATTRIB  iTexCoord    = vertex.texcoord[0];\nOUTPUT  oColour      = result.color;\nOUTPUT  oTexCoord0   = result.texcoord[0];\nOUTPUT  oTexCoord1   = result.texcoord[1];\nOUTPUT  oFogCoord    = result.fogcoord;\nPARAM   time         = program.local[65];\nPARAM   turbulence   = program.local[64];\nPARAM   lightAmbient = program.local[66]; \nPARAM   pMatrix[4]   = { state.matrix.projection };\nPARAM   mvMatrix[4]  = { state.matrix.modelview };\nPARAM   ivMatrix[4]  = { state.matrix.texture[1] };\nPARAM   texMatrix[4]  = { state.matrix.texture[0] };\nPARAM   fNoise[64]   = { program.local[0..63] };\nTEMP    noise, viewPos, worldPos, texCoord;\nADDRESS noiseAddr;\nDP4   viewPos.x, mvMatrix[0], iPos;\nDP4   viewPos.y, mvMatrix[1], iPos;\nDP4   viewPos.z, mvMatrix[2], iPos;\nDP4   viewPos.w, mvMatrix[3], iPos;\nMOV   oFogCoord.x, viewPos.z;\nDP4   worldPos.x, ivMatrix[0], viewPos;\nDP4   worldPos.y, ivMatrix[1], viewPos;\nDP4   worldPos.z, ivMatrix[2], viewPos;\nDP4   worldPos.w, ivMatrix[3], viewPos;\nADD   noise.x, worldPos.x, worldPos.z;SUB   noise.y, worldPos.z, worldPos.x;MUL   noise, noise, 0.0001220703125;\nFRC   noise, noise;\nMUL   noise, noise, 64;\nARL   noiseAddr.x, noise.x;\nMOV   noise.x, fNoise[noiseAddr.x].x;\nARL   noiseAddr.x, noise.y;\nMOV   noise.y, fNoise[noiseAddr.x].y;\nMUL   noise, noise, turbulence.x;\nDP4   texCoord.x, texMatrix[0], iTexCoord;\nDP4   texCoord.y, texMatrix[1], iTexCoord;\nADD   oTexCoord0.xy, texCoord, noise;\nMOV   oTexCoord0.z, 0;\nMOV   oTexCoord0.w, 1;\nMUL   oTexCoord1.xy, texCoord, 0.125;\nMOV   oTexCoord1.zw, time.xxxw;\nMUL   oColour.xyz, iColour, lightAmbient;\nMOV   oColour.w, iColour.w;\nEND";
    static final char aChar8749 = '\0';
    static final char aChar8750 = '\001';
    Class95 aClass95_8751;
    int anInt8752;
    float[] aFloatArray8753;
    float aFloat8754;
    Class109 aClass109_8755;
    Class99 aClass99_8756;
    static float[] aFloatArray8757 = new float[4];
    
    boolean method1449() {
	return true;
    }
    
    void method1452(int i, int i_0_) {
	if (((Class108_Sub8) this).aClass95_8751 != null) {
	    ((Class108_Sub8) this).aClass151_Sub3_1429.method8590(1);
	    if ((i & 0x80) == 0) {
		if ((i_0_ & 0x1) == 1) {
		    if (!((Class99) ((Class108_Sub8) this).aClass99_8756)
			 .aBool1332) {
			int i_1_ = ((((Class151_Sub3) (((Class108_Sub8) this)
						       .aClass151_Sub3_1429))
				     .anInt9253)
				    % 4000 * 16 / 4000);
			((Class108_Sub8) this).aClass151_Sub3_1429.method8591
			    (((Class99) ((Class108_Sub8) this).aClass99_8756)
			     .aClass100_Sub3Array1330[i_1_]);
			OpenGL.glProgramLocalParameter4fARB(34336, 65, 0.0F,
							    0.0F, 0.0F, 1.0F);
		    } else {
			((Class108_Sub8) this).aClass151_Sub3_1429.method8591
			    (((Class99) ((Class108_Sub8) this).aClass99_8756)
			     .aClass100_Sub4_1338);
			OpenGL.glProgramLocalParameter4fARB(34336, 65,
							    ((Class108_Sub8)
							     this).aFloat8754,
							    0.0F, 0.0F, 1.0F);
		    }
		} else {
		    if (((Class99) ((Class108_Sub8) this).aClass99_8756)
			.aBool1332)
			((Class108_Sub8) this).aClass151_Sub3_1429.method8591
			    (((Class99) ((Class108_Sub8) this).aClass99_8756)
			     .aClass100_Sub4_1338);
		    else
			((Class108_Sub8) this).aClass151_Sub3_1429.method8591
			    (((Class99) ((Class108_Sub8) this).aClass99_8756)
			     .aClass100_Sub3Array1330[0]);
		    OpenGL.glProgramLocalParameter4fARB(34336, 65, 0.0F, 0.0F,
							0.0F, 1.0F);
		}
	    } else
		((Class108_Sub8) this).aClass151_Sub3_1429.method8591(null);
	    ((Class108_Sub8) this).aClass151_Sub3_1429.method8590(0);
	    if ((i & 0x40) == 0) {
		aFloatArray8757[0]
		    = (((Class151_Sub3)
			((Class108_Sub8) this).aClass151_Sub3_1429).aFloat9325
		       * ((Class151_Sub3) (((Class108_Sub8) this)
					   .aClass151_Sub3_1429)).aFloat9322);
		aFloatArray8757[1]
		    = (((Class151_Sub3)
			((Class108_Sub8) this).aClass151_Sub3_1429).aFloat9325
		       * ((Class151_Sub3) (((Class108_Sub8) this)
					   .aClass151_Sub3_1429)).aFloat9249);
		aFloatArray8757[2]
		    = (((Class151_Sub3)
			((Class108_Sub8) this).aClass151_Sub3_1429).aFloat9325
		       * ((Class151_Sub3) (((Class108_Sub8) this)
					   .aClass151_Sub3_1429)).aFloat9272);
		OpenGL.glProgramLocalParameter4fvARB(34336, 66,
						     aFloatArray8757, 0);
	    } else
		OpenGL.glProgramLocalParameter4fARB(34336, 66, 1.0F, 1.0F,
						    1.0F, 1.0F);
	    int i_2_ = i & 0x3;
	    if (i_2_ == 2)
		OpenGL.glProgramLocalParameter4fARB(34336, 64, 0.05F, 1.0F,
						    1.0F, 1.0F);
	    else if (i_2_ == 3)
		OpenGL.glProgramLocalParameter4fARB(34336, 64, 0.1F, 1.0F,
						    1.0F, 1.0F);
	    else
		OpenGL.glProgramLocalParameter4fARB(34336, 64, 0.025F, 1.0F,
						    1.0F, 1.0F);
	}
    }
    
    void method8141() {
	((Class108_Sub8) this).aClass95_8751
	    = new Class95(((Class108_Sub8) this).aClass151_Sub3_1429, 2);
	((Class108_Sub8) this).aClass95_8751.method1267(0);
	((Class108_Sub8) this).aClass151_Sub3_1429.method8590(1);
	((Class108_Sub8) this).aClass151_Sub3_1429.method8597(-16777216);
	((Class108_Sub8) this).aClass151_Sub3_1429.method8594(260, 7681);
	((Class108_Sub8) this).aClass151_Sub3_1429.method8596(0, 34166, 770);
	((Class108_Sub8) this).aClass151_Sub3_1429.method8590(0);
	OpenGL.glBindProgramARB(34336,
				((Class109) (((Class108_Sub8) this)
					     .aClass109_8755)).anInt1430);
	OpenGL.glEnable(34336);
	((Class108_Sub8) this).aClass95_8751.method1273();
	((Class108_Sub8) this).aClass95_8751.method1267(1);
	((Class108_Sub8) this).aClass151_Sub3_1429.method8590(1);
	OpenGL.glMatrixMode(5890);
	OpenGL.glLoadIdentity();
	OpenGL.glMatrixMode(5888);
	((Class108_Sub8) this).aClass151_Sub3_1429.method8592(0);
	((Class108_Sub8) this).aClass151_Sub3_1429.method8596(0, 5890, 770);
	((Class108_Sub8) this).aClass151_Sub3_1429.method8590(0);
	OpenGL.glBindProgramARB(34336, 0);
	OpenGL.glDisable(34336);
	((Class108_Sub8) this).aClass95_8751.method1273();
    }
    
    void method1450(boolean bool) {
	if (((Class108_Sub8) this).aClass95_8751 != null) {
	    ((Class108_Sub8) this).aClass95_8751.method1266('\0');
	    ((Class108_Sub8) this).aClass151_Sub3_1429.method8590(1);
	    OpenGL.glMatrixMode(5890);
	    OpenGL.glLoadMatrixf((((Class151_Sub3)
				   ((Class108_Sub8) this).aClass151_Sub3_1429)
				  .aClass403_9284.aFloatArray4592),
				 0);
	    OpenGL.glMatrixMode(5888);
	    ((Class108_Sub8) this).aClass151_Sub3_1429.method8590(0);
	    if (((Class108_Sub8) this).anInt8752
		!= ((Class151_Sub3)
		    ((Class108_Sub8) this).aClass151_Sub3_1429).anInt9253) {
		int i = (((Class151_Sub3)
			  ((Class108_Sub8) this).aClass151_Sub3_1429).anInt9253
			 % 5000 * 128 / 5000);
		for (int i_3_ = 0; i_3_ < 64; i_3_++) {
		    OpenGL.glProgramLocalParameter4fvARB(34336, i_3_,
							 (((Class108_Sub8)
							   this)
							  .aFloatArray8753),
							 i);
		    i += 2;
		}
		if (((Class99) ((Class108_Sub8) this).aClass99_8756).aBool1332)
		    ((Class108_Sub8) this).aFloat8754
			= (float) ((((Class151_Sub3) (((Class108_Sub8) this)
						      .aClass151_Sub3_1429))
				    .anInt9253)
				   % 4000) / 4000.0F;
		else
		    OpenGL.glProgramLocalParameter4fARB(34336, 65, 0.0F, 0.0F,
							0.0F, 1.0F);
		((Class108_Sub8) this).anInt8752
		    = ((Class151_Sub3)
		       ((Class108_Sub8) this).aClass151_Sub3_1429).anInt9253;
	    }
	}
    }
    
    void method1453(boolean bool) {
	/* empty */
    }
    
    void method1451() {
	if (((Class108_Sub8) this).aClass95_8751 != null) {
	    ((Class108_Sub8) this).aClass95_8751.method1266('\001');
	    ((Class108_Sub8) this).aClass151_Sub3_1429.method8590(1);
	    ((Class108_Sub8) this).aClass151_Sub3_1429.method8591(null);
	    ((Class108_Sub8) this).aClass151_Sub3_1429.method8590(0);
	}
    }
    
    void method1467(boolean bool) {
	/* empty */
    }
    
    void method1448(Class100 class100, int i) {
	((Class108_Sub8) this).aClass151_Sub3_1429.method8591(class100);
	((Class108_Sub8) this).aClass151_Sub3_1429.method8592(i);
    }
    
    void method1456(Class100 class100, int i) {
	((Class108_Sub8) this).aClass151_Sub3_1429.method8591(class100);
	((Class108_Sub8) this).aClass151_Sub3_1429.method8592(i);
    }
    
    boolean method1454() {
	return true;
    }
    
    boolean method1455() {
	return true;
    }
    
    void method1457(boolean bool) {
	if (((Class108_Sub8) this).aClass95_8751 != null) {
	    ((Class108_Sub8) this).aClass95_8751.method1266('\0');
	    ((Class108_Sub8) this).aClass151_Sub3_1429.method8590(1);
	    OpenGL.glMatrixMode(5890);
	    OpenGL.glLoadMatrixf((((Class151_Sub3)
				   ((Class108_Sub8) this).aClass151_Sub3_1429)
				  .aClass403_9284.aFloatArray4592),
				 0);
	    OpenGL.glMatrixMode(5888);
	    ((Class108_Sub8) this).aClass151_Sub3_1429.method8590(0);
	    if (((Class108_Sub8) this).anInt8752
		!= ((Class151_Sub3)
		    ((Class108_Sub8) this).aClass151_Sub3_1429).anInt9253) {
		int i = (((Class151_Sub3)
			  ((Class108_Sub8) this).aClass151_Sub3_1429).anInt9253
			 % 5000 * 128 / 5000);
		for (int i_4_ = 0; i_4_ < 64; i_4_++) {
		    OpenGL.glProgramLocalParameter4fvARB(34336, i_4_,
							 (((Class108_Sub8)
							   this)
							  .aFloatArray8753),
							 i);
		    i += 2;
		}
		if (((Class99) ((Class108_Sub8) this).aClass99_8756).aBool1332)
		    ((Class108_Sub8) this).aFloat8754
			= (float) ((((Class151_Sub3) (((Class108_Sub8) this)
						      .aClass151_Sub3_1429))
				    .anInt9253)
				   % 4000) / 4000.0F;
		else
		    OpenGL.glProgramLocalParameter4fARB(34336, 65, 0.0F, 0.0F,
							0.0F, 1.0F);
		((Class108_Sub8) this).anInt8752
		    = ((Class151_Sub3)
		       ((Class108_Sub8) this).aClass151_Sub3_1429).anInt9253;
	    }
	}
    }
    
    void method1460(boolean bool) {
	/* empty */
    }
    
    void method1469(boolean bool) {
	if (((Class108_Sub8) this).aClass95_8751 != null) {
	    ((Class108_Sub8) this).aClass95_8751.method1266('\0');
	    ((Class108_Sub8) this).aClass151_Sub3_1429.method8590(1);
	    OpenGL.glMatrixMode(5890);
	    OpenGL.glLoadMatrixf((((Class151_Sub3)
				   ((Class108_Sub8) this).aClass151_Sub3_1429)
				  .aClass403_9284.aFloatArray4592),
				 0);
	    OpenGL.glMatrixMode(5888);
	    ((Class108_Sub8) this).aClass151_Sub3_1429.method8590(0);
	    if (((Class108_Sub8) this).anInt8752
		!= ((Class151_Sub3)
		    ((Class108_Sub8) this).aClass151_Sub3_1429).anInt9253) {
		int i = (((Class151_Sub3)
			  ((Class108_Sub8) this).aClass151_Sub3_1429).anInt9253
			 % 5000 * 128 / 5000);
		for (int i_5_ = 0; i_5_ < 64; i_5_++) {
		    OpenGL.glProgramLocalParameter4fvARB(34336, i_5_,
							 (((Class108_Sub8)
							   this)
							  .aFloatArray8753),
							 i);
		    i += 2;
		}
		if (((Class99) ((Class108_Sub8) this).aClass99_8756).aBool1332)
		    ((Class108_Sub8) this).aFloat8754
			= (float) ((((Class151_Sub3) (((Class108_Sub8) this)
						      .aClass151_Sub3_1429))
				    .anInt9253)
				   % 4000) / 4000.0F;
		else
		    OpenGL.glProgramLocalParameter4fARB(34336, 65, 0.0F, 0.0F,
							0.0F, 1.0F);
		((Class108_Sub8) this).anInt8752
		    = ((Class151_Sub3)
		       ((Class108_Sub8) this).aClass151_Sub3_1429).anInt9253;
	    }
	}
    }
    
    void method1464(boolean bool) {
	/* empty */
    }
    
    void method8142() {
	((Class108_Sub8) this).aClass95_8751
	    = new Class95(((Class108_Sub8) this).aClass151_Sub3_1429, 2);
	((Class108_Sub8) this).aClass95_8751.method1267(0);
	((Class108_Sub8) this).aClass151_Sub3_1429.method8590(1);
	((Class108_Sub8) this).aClass151_Sub3_1429.method8597(-16777216);
	((Class108_Sub8) this).aClass151_Sub3_1429.method8594(260, 7681);
	((Class108_Sub8) this).aClass151_Sub3_1429.method8596(0, 34166, 770);
	((Class108_Sub8) this).aClass151_Sub3_1429.method8590(0);
	OpenGL.glBindProgramARB(34336,
				((Class109) (((Class108_Sub8) this)
					     .aClass109_8755)).anInt1430);
	OpenGL.glEnable(34336);
	((Class108_Sub8) this).aClass95_8751.method1273();
	((Class108_Sub8) this).aClass95_8751.method1267(1);
	((Class108_Sub8) this).aClass151_Sub3_1429.method8590(1);
	OpenGL.glMatrixMode(5890);
	OpenGL.glLoadIdentity();
	OpenGL.glMatrixMode(5888);
	((Class108_Sub8) this).aClass151_Sub3_1429.method8592(0);
	((Class108_Sub8) this).aClass151_Sub3_1429.method8596(0, 5890, 770);
	((Class108_Sub8) this).aClass151_Sub3_1429.method8590(0);
	OpenGL.glBindProgramARB(34336, 0);
	OpenGL.glDisable(34336);
	((Class108_Sub8) this).aClass95_8751.method1273();
    }
    
    void method1463() {
	if (((Class108_Sub8) this).aClass95_8751 != null) {
	    ((Class108_Sub8) this).aClass95_8751.method1266('\001');
	    ((Class108_Sub8) this).aClass151_Sub3_1429.method8590(1);
	    ((Class108_Sub8) this).aClass151_Sub3_1429.method8591(null);
	    ((Class108_Sub8) this).aClass151_Sub3_1429.method8590(0);
	}
    }
    
    void method1461() {
	if (((Class108_Sub8) this).aClass95_8751 != null) {
	    ((Class108_Sub8) this).aClass95_8751.method1266('\001');
	    ((Class108_Sub8) this).aClass151_Sub3_1429.method8590(1);
	    ((Class108_Sub8) this).aClass151_Sub3_1429.method8591(null);
	    ((Class108_Sub8) this).aClass151_Sub3_1429.method8590(0);
	}
    }
    
    void method1462() {
	if (((Class108_Sub8) this).aClass95_8751 != null) {
	    ((Class108_Sub8) this).aClass95_8751.method1266('\001');
	    ((Class108_Sub8) this).aClass151_Sub3_1429.method8590(1);
	    ((Class108_Sub8) this).aClass151_Sub3_1429.method8591(null);
	    ((Class108_Sub8) this).aClass151_Sub3_1429.method8590(0);
	}
    }
    
    Class108_Sub8(Class151_Sub3 class151_sub3, Class99 class99) {
	super(class151_sub3);
	((Class108_Sub8) this).aClass99_8756 = class99;
	if ((((Class151_Sub3) ((Class108_Sub8) this).aClass151_Sub3_1429)
	     .aBool9378)
	    && (((Class151_Sub3) ((Class108_Sub8) this).aClass151_Sub3_1429)
		.anInt9347) >= 2) {
	    ((Class108_Sub8) this).aClass109_8755
		= (Class109.method1471
		   (((Class108_Sub8) this).aClass151_Sub3_1429, 34336,
		    "!!ARBvp1.0\nOPTION  ARB_position_invariant;\nATTRIB  iPos         = vertex.position;\nATTRIB  iColour      = vertex.color;\nATTRIB  iTexCoord    = vertex.texcoord[0];\nOUTPUT  oColour      = result.color;\nOUTPUT  oTexCoord0   = result.texcoord[0];\nOUTPUT  oTexCoord1   = result.texcoord[1];\nOUTPUT  oFogCoord    = result.fogcoord;\nPARAM   time         = program.local[65];\nPARAM   turbulence   = program.local[64];\nPARAM   lightAmbient = program.local[66]; \nPARAM   pMatrix[4]   = { state.matrix.projection };\nPARAM   mvMatrix[4]  = { state.matrix.modelview };\nPARAM   ivMatrix[4]  = { state.matrix.texture[1] };\nPARAM   texMatrix[4]  = { state.matrix.texture[0] };\nPARAM   fNoise[64]   = { program.local[0..63] };\nTEMP    noise, viewPos, worldPos, texCoord;\nADDRESS noiseAddr;\nDP4   viewPos.x, mvMatrix[0], iPos;\nDP4   viewPos.y, mvMatrix[1], iPos;\nDP4   viewPos.z, mvMatrix[2], iPos;\nDP4   viewPos.w, mvMatrix[3], iPos;\nMOV   oFogCoord.x, viewPos.z;\nDP4   worldPos.x, ivMatrix[0], viewPos;\nDP4   worldPos.y, ivMatrix[1], viewPos;\nDP4   worldPos.z, ivMatrix[2], viewPos;\nDP4   worldPos.w, ivMatrix[3], viewPos;\nADD   noise.x, worldPos.x, worldPos.z;SUB   noise.y, worldPos.z, worldPos.x;MUL   noise, noise, 0.0001220703125;\nFRC   noise, noise;\nMUL   noise, noise, 64;\nARL   noiseAddr.x, noise.x;\nMOV   noise.x, fNoise[noiseAddr.x].x;\nARL   noiseAddr.x, noise.y;\nMOV   noise.y, fNoise[noiseAddr.x].y;\nMUL   noise, noise, turbulence.x;\nDP4   texCoord.x, texMatrix[0], iTexCoord;\nDP4   texCoord.y, texMatrix[1], iTexCoord;\nADD   oTexCoord0.xy, texCoord, noise;\nMOV   oTexCoord0.z, 0;\nMOV   oTexCoord0.w, 1;\nMUL   oTexCoord1.xy, texCoord, 0.125;\nMOV   oTexCoord1.zw, time.xxxw;\nMUL   oColour.xyz, iColour, lightAmbient;\nMOV   oColour.w, iColour.w;\nEND"));
	    if (((Class108_Sub8) this).aClass109_8755 != null) {
		int[][] is = Class248.method3506(64, 256, 0, 4, 4, 3, 0.4F,
						 false, -1325178284);
		int[][] is_6_ = Class248.method3506(64, 256, 8, 4, 4, 3, 0.4F,
						    false, -1625251047);
		int i = 0;
		((Class108_Sub8) this).aFloatArray8753 = new float[32768];
		for (int i_7_ = 0; i_7_ < 256; i_7_++) {
		    int[] is_8_ = is[i_7_];
		    int[] is_9_ = is_6_[i_7_];
		    for (int i_10_ = 0; i_10_ < 64; i_10_++) {
			((Class108_Sub8) this).aFloatArray8753[i++]
			    = (float) is_8_[i_10_] / 4096.0F;
			((Class108_Sub8) this).aFloatArray8753[i++]
			    = (float) is_9_[i_10_] / 4096.0F;
		    }
		}
		method8141();
	    }
	}
    }
    
    void method1459() {
	if (((Class108_Sub8) this).aClass95_8751 != null) {
	    ((Class108_Sub8) this).aClass95_8751.method1266('\001');
	    ((Class108_Sub8) this).aClass151_Sub3_1429.method8590(1);
	    ((Class108_Sub8) this).aClass151_Sub3_1429.method8591(null);
	    ((Class108_Sub8) this).aClass151_Sub3_1429.method8590(0);
	}
    }
    
    void method1465(int i, int i_11_) {
	if (((Class108_Sub8) this).aClass95_8751 != null) {
	    ((Class108_Sub8) this).aClass151_Sub3_1429.method8590(1);
	    if ((i & 0x80) == 0) {
		if ((i_11_ & 0x1) == 1) {
		    if (!((Class99) ((Class108_Sub8) this).aClass99_8756)
			 .aBool1332) {
			int i_12_ = ((((Class151_Sub3) (((Class108_Sub8) this)
							.aClass151_Sub3_1429))
				      .anInt9253)
				     % 4000 * 16 / 4000);
			((Class108_Sub8) this).aClass151_Sub3_1429.method8591
			    (((Class99) ((Class108_Sub8) this).aClass99_8756)
			     .aClass100_Sub3Array1330[i_12_]);
			OpenGL.glProgramLocalParameter4fARB(34336, 65, 0.0F,
							    0.0F, 0.0F, 1.0F);
		    } else {
			((Class108_Sub8) this).aClass151_Sub3_1429.method8591
			    (((Class99) ((Class108_Sub8) this).aClass99_8756)
			     .aClass100_Sub4_1338);
			OpenGL.glProgramLocalParameter4fARB(34336, 65,
							    ((Class108_Sub8)
							     this).aFloat8754,
							    0.0F, 0.0F, 1.0F);
		    }
		} else {
		    if (((Class99) ((Class108_Sub8) this).aClass99_8756)
			.aBool1332)
			((Class108_Sub8) this).aClass151_Sub3_1429.method8591
			    (((Class99) ((Class108_Sub8) this).aClass99_8756)
			     .aClass100_Sub4_1338);
		    else
			((Class108_Sub8) this).aClass151_Sub3_1429.method8591
			    (((Class99) ((Class108_Sub8) this).aClass99_8756)
			     .aClass100_Sub3Array1330[0]);
		    OpenGL.glProgramLocalParameter4fARB(34336, 65, 0.0F, 0.0F,
							0.0F, 1.0F);
		}
	    } else
		((Class108_Sub8) this).aClass151_Sub3_1429.method8591(null);
	    ((Class108_Sub8) this).aClass151_Sub3_1429.method8590(0);
	    if ((i & 0x40) == 0) {
		aFloatArray8757[0]
		    = (((Class151_Sub3)
			((Class108_Sub8) this).aClass151_Sub3_1429).aFloat9325
		       * ((Class151_Sub3) (((Class108_Sub8) this)
					   .aClass151_Sub3_1429)).aFloat9322);
		aFloatArray8757[1]
		    = (((Class151_Sub3)
			((Class108_Sub8) this).aClass151_Sub3_1429).aFloat9325
		       * ((Class151_Sub3) (((Class108_Sub8) this)
					   .aClass151_Sub3_1429)).aFloat9249);
		aFloatArray8757[2]
		    = (((Class151_Sub3)
			((Class108_Sub8) this).aClass151_Sub3_1429).aFloat9325
		       * ((Class151_Sub3) (((Class108_Sub8) this)
					   .aClass151_Sub3_1429)).aFloat9272);
		OpenGL.glProgramLocalParameter4fvARB(34336, 66,
						     aFloatArray8757, 0);
	    } else
		OpenGL.glProgramLocalParameter4fARB(34336, 66, 1.0F, 1.0F,
						    1.0F, 1.0F);
	    int i_13_ = i & 0x3;
	    if (i_13_ == 2)
		OpenGL.glProgramLocalParameter4fARB(34336, 64, 0.05F, 1.0F,
						    1.0F, 1.0F);
	    else if (i_13_ == 3)
		OpenGL.glProgramLocalParameter4fARB(34336, 64, 0.1F, 1.0F,
						    1.0F, 1.0F);
	    else
		OpenGL.glProgramLocalParameter4fARB(34336, 64, 0.025F, 1.0F,
						    1.0F, 1.0F);
	}
    }
    
    void method1466(int i, int i_14_) {
	if (((Class108_Sub8) this).aClass95_8751 != null) {
	    ((Class108_Sub8) this).aClass151_Sub3_1429.method8590(1);
	    if ((i & 0x80) == 0) {
		if ((i_14_ & 0x1) == 1) {
		    if (!((Class99) ((Class108_Sub8) this).aClass99_8756)
			 .aBool1332) {
			int i_15_ = ((((Class151_Sub3) (((Class108_Sub8) this)
							.aClass151_Sub3_1429))
				      .anInt9253)
				     % 4000 * 16 / 4000);
			((Class108_Sub8) this).aClass151_Sub3_1429.method8591
			    (((Class99) ((Class108_Sub8) this).aClass99_8756)
			     .aClass100_Sub3Array1330[i_15_]);
			OpenGL.glProgramLocalParameter4fARB(34336, 65, 0.0F,
							    0.0F, 0.0F, 1.0F);
		    } else {
			((Class108_Sub8) this).aClass151_Sub3_1429.method8591
			    (((Class99) ((Class108_Sub8) this).aClass99_8756)
			     .aClass100_Sub4_1338);
			OpenGL.glProgramLocalParameter4fARB(34336, 65,
							    ((Class108_Sub8)
							     this).aFloat8754,
							    0.0F, 0.0F, 1.0F);
		    }
		} else {
		    if (((Class99) ((Class108_Sub8) this).aClass99_8756)
			.aBool1332)
			((Class108_Sub8) this).aClass151_Sub3_1429.method8591
			    (((Class99) ((Class108_Sub8) this).aClass99_8756)
			     .aClass100_Sub4_1338);
		    else
			((Class108_Sub8) this).aClass151_Sub3_1429.method8591
			    (((Class99) ((Class108_Sub8) this).aClass99_8756)
			     .aClass100_Sub3Array1330[0]);
		    OpenGL.glProgramLocalParameter4fARB(34336, 65, 0.0F, 0.0F,
							0.0F, 1.0F);
		}
	    } else
		((Class108_Sub8) this).aClass151_Sub3_1429.method8591(null);
	    ((Class108_Sub8) this).aClass151_Sub3_1429.method8590(0);
	    if ((i & 0x40) == 0) {
		aFloatArray8757[0]
		    = (((Class151_Sub3)
			((Class108_Sub8) this).aClass151_Sub3_1429).aFloat9325
		       * ((Class151_Sub3) (((Class108_Sub8) this)
					   .aClass151_Sub3_1429)).aFloat9322);
		aFloatArray8757[1]
		    = (((Class151_Sub3)
			((Class108_Sub8) this).aClass151_Sub3_1429).aFloat9325
		       * ((Class151_Sub3) (((Class108_Sub8) this)
					   .aClass151_Sub3_1429)).aFloat9249);
		aFloatArray8757[2]
		    = (((Class151_Sub3)
			((Class108_Sub8) this).aClass151_Sub3_1429).aFloat9325
		       * ((Class151_Sub3) (((Class108_Sub8) this)
					   .aClass151_Sub3_1429)).aFloat9272);
		OpenGL.glProgramLocalParameter4fvARB(34336, 66,
						     aFloatArray8757, 0);
	    } else
		OpenGL.glProgramLocalParameter4fARB(34336, 66, 1.0F, 1.0F,
						    1.0F, 1.0F);
	    int i_16_ = i & 0x3;
	    if (i_16_ == 2)
		OpenGL.glProgramLocalParameter4fARB(34336, 64, 0.05F, 1.0F,
						    1.0F, 1.0F);
	    else if (i_16_ == 3)
		OpenGL.glProgramLocalParameter4fARB(34336, 64, 0.1F, 1.0F,
						    1.0F, 1.0F);
	    else
		OpenGL.glProgramLocalParameter4fARB(34336, 64, 0.025F, 1.0F,
						    1.0F, 1.0F);
	}
    }
    
    void method1458(int i, int i_17_) {
	if (((Class108_Sub8) this).aClass95_8751 != null) {
	    ((Class108_Sub8) this).aClass151_Sub3_1429.method8590(1);
	    if ((i & 0x80) == 0) {
		if ((i_17_ & 0x1) == 1) {
		    if (!((Class99) ((Class108_Sub8) this).aClass99_8756)
			 .aBool1332) {
			int i_18_ = ((((Class151_Sub3) (((Class108_Sub8) this)
							.aClass151_Sub3_1429))
				      .anInt9253)
				     % 4000 * 16 / 4000);
			((Class108_Sub8) this).aClass151_Sub3_1429.method8591
			    (((Class99) ((Class108_Sub8) this).aClass99_8756)
			     .aClass100_Sub3Array1330[i_18_]);
			OpenGL.glProgramLocalParameter4fARB(34336, 65, 0.0F,
							    0.0F, 0.0F, 1.0F);
		    } else {
			((Class108_Sub8) this).aClass151_Sub3_1429.method8591
			    (((Class99) ((Class108_Sub8) this).aClass99_8756)
			     .aClass100_Sub4_1338);
			OpenGL.glProgramLocalParameter4fARB(34336, 65,
							    ((Class108_Sub8)
							     this).aFloat8754,
							    0.0F, 0.0F, 1.0F);
		    }
		} else {
		    if (((Class99) ((Class108_Sub8) this).aClass99_8756)
			.aBool1332)
			((Class108_Sub8) this).aClass151_Sub3_1429.method8591
			    (((Class99) ((Class108_Sub8) this).aClass99_8756)
			     .aClass100_Sub4_1338);
		    else
			((Class108_Sub8) this).aClass151_Sub3_1429.method8591
			    (((Class99) ((Class108_Sub8) this).aClass99_8756)
			     .aClass100_Sub3Array1330[0]);
		    OpenGL.glProgramLocalParameter4fARB(34336, 65, 0.0F, 0.0F,
							0.0F, 1.0F);
		}
	    } else
		((Class108_Sub8) this).aClass151_Sub3_1429.method8591(null);
	    ((Class108_Sub8) this).aClass151_Sub3_1429.method8590(0);
	    if ((i & 0x40) == 0) {
		aFloatArray8757[0]
		    = (((Class151_Sub3)
			((Class108_Sub8) this).aClass151_Sub3_1429).aFloat9325
		       * ((Class151_Sub3) (((Class108_Sub8) this)
					   .aClass151_Sub3_1429)).aFloat9322);
		aFloatArray8757[1]
		    = (((Class151_Sub3)
			((Class108_Sub8) this).aClass151_Sub3_1429).aFloat9325
		       * ((Class151_Sub3) (((Class108_Sub8) this)
					   .aClass151_Sub3_1429)).aFloat9249);
		aFloatArray8757[2]
		    = (((Class151_Sub3)
			((Class108_Sub8) this).aClass151_Sub3_1429).aFloat9325
		       * ((Class151_Sub3) (((Class108_Sub8) this)
					   .aClass151_Sub3_1429)).aFloat9272);
		OpenGL.glProgramLocalParameter4fvARB(34336, 66,
						     aFloatArray8757, 0);
	    } else
		OpenGL.glProgramLocalParameter4fARB(34336, 66, 1.0F, 1.0F,
						    1.0F, 1.0F);
	    int i_19_ = i & 0x3;
	    if (i_19_ == 2)
		OpenGL.glProgramLocalParameter4fARB(34336, 64, 0.05F, 1.0F,
						    1.0F, 1.0F);
	    else if (i_19_ == 3)
		OpenGL.glProgramLocalParameter4fARB(34336, 64, 0.1F, 1.0F,
						    1.0F, 1.0F);
	    else
		OpenGL.glProgramLocalParameter4fARB(34336, 64, 0.025F, 1.0F,
						    1.0F, 1.0F);
	}
    }
    
    void method1468(Class100 class100, int i) {
	((Class108_Sub8) this).aClass151_Sub3_1429.method8591(class100);
	((Class108_Sub8) this).aClass151_Sub3_1429.method8592(i);
    }
    
    void method8143() {
	((Class108_Sub8) this).aClass95_8751
	    = new Class95(((Class108_Sub8) this).aClass151_Sub3_1429, 2);
	((Class108_Sub8) this).aClass95_8751.method1267(0);
	((Class108_Sub8) this).aClass151_Sub3_1429.method8590(1);
	((Class108_Sub8) this).aClass151_Sub3_1429.method8597(-16777216);
	((Class108_Sub8) this).aClass151_Sub3_1429.method8594(260, 7681);
	((Class108_Sub8) this).aClass151_Sub3_1429.method8596(0, 34166, 770);
	((Class108_Sub8) this).aClass151_Sub3_1429.method8590(0);
	OpenGL.glBindProgramARB(34336,
				((Class109) (((Class108_Sub8) this)
					     .aClass109_8755)).anInt1430);
	OpenGL.glEnable(34336);
	((Class108_Sub8) this).aClass95_8751.method1273();
	((Class108_Sub8) this).aClass95_8751.method1267(1);
	((Class108_Sub8) this).aClass151_Sub3_1429.method8590(1);
	OpenGL.glMatrixMode(5890);
	OpenGL.glLoadIdentity();
	OpenGL.glMatrixMode(5888);
	((Class108_Sub8) this).aClass151_Sub3_1429.method8592(0);
	((Class108_Sub8) this).aClass151_Sub3_1429.method8596(0, 5890, 770);
	((Class108_Sub8) this).aClass151_Sub3_1429.method8590(0);
	OpenGL.glBindProgramARB(34336, 0);
	OpenGL.glDisable(34336);
	((Class108_Sub8) this).aClass95_8751.method1273();
    }
    
    void method1470(Class100 class100, int i) {
	((Class108_Sub8) this).aClass151_Sub3_1429.method8591(class100);
	((Class108_Sub8) this).aClass151_Sub3_1429.method8592(i);
    }
}
