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

public class Class587_Sub23_Sub1 extends Class587_Sub23 {
	static float aFloat10311 = 0.25F;
	Class145_Sub4[] aClass145_Sub4Array10312;
	static float aFloat10313 = 1.0F;
	static float aFloat10314 = 1.0F;
	static final String aString10315 = "#extension GL_ARB_texture_rectangle : enable\nuniform vec3 params;\nuniform sampler2DRect sceneTex;\nconst vec3 lumCoef = vec3(0.2126, 0.7152, 0.0722);\nvoid main() {\n    vec4 col = texture2DRect(sceneTex, gl_TexCoord[0].xy);\n    gl_FragColor = col*step(params.x, dot(lumCoef, col.rgb));\n}\n";
	static final String aString10316 = "uniform vec3 params;\nuniform sampler2D sceneTex;\nconst vec3 lumCoef = vec3(0.2126, 0.7152, 0.0722);\nvoid main() {\n    vec4 col = texture2D(sceneTex, gl_TexCoord[0].xy);\n    gl_FragColor = col*step(params.x, dot(lumCoef, col.rgb));\n}\n";
	int anInt10317;
	static final String aString10318 = "uniform vec3 step;\nuniform sampler2D baseTex;\nvoid main() {\n\tvec4 fragCol = texture2D(baseTex, gl_TexCoord[0].xy)*0.091396265;\n\tfragCol += texture2D(baseTex, gl_TexCoord[0].xy+(-1.0*step.xy))*0.088584304;\n\tfragCol += texture2D(baseTex, gl_TexCoord[0].xy+( 1.0*step.xy))*0.088584304;\n\tfragCol += texture2D(baseTex, gl_TexCoord[0].xy+(-2.0*step.xy))*0.08065692;\n\tfragCol += texture2D(baseTex, gl_TexCoord[0].xy+( 2.0*step.xy))*0.08065692;\n\tfragCol += texture2D(baseTex, gl_TexCoord[0].xy+(-3.0*step.xy))*0.068989515;\n\tfragCol += texture2D(baseTex, gl_TexCoord[0].xy+( 3.0*step.xy))*0.068989515;\n\tfragCol += texture2D(baseTex, gl_TexCoord[0].xy+(-4.0*step.xy))*0.055434637;\n\tfragCol += texture2D(baseTex, gl_TexCoord[0].xy+( 4.0*step.xy))*0.055434637;\n\tfragCol += texture2D(baseTex, gl_TexCoord[0].xy+(-5.0*step.xy))*0.04184426;\n\tfragCol += texture2D(baseTex, gl_TexCoord[0].xy+( 5.0*step.xy))*0.04184426;\n\tfragCol += texture2D(baseTex, gl_TexCoord[0].xy+(-6.0*step.xy))*0.029672023;\n\tfragCol += texture2D(baseTex, gl_TexCoord[0].xy+( 6.0*step.xy))*0.029672023;\n\tfragCol += texture2D(baseTex, gl_TexCoord[0].xy+(-7.0*step.xy))*0.019765828;\n\tfragCol += texture2D(baseTex, gl_TexCoord[0].xy+( 7.0*step.xy))*0.019765828;\n\tfragCol += texture2D(baseTex, gl_TexCoord[0].xy+(-8.0*step.xy))*0.012369139;\n\tfragCol += texture2D(baseTex, gl_TexCoord[0].xy+( 8.0*step.xy))*0.012369139;\n\tgl_FragColor = fragCol;\n}\n";
	static final String aString10319 = "#extension GL_ARB_texture_rectangle : enable\nuniform vec3 params;\nuniform vec3 dimScale;\nuniform sampler2D bloomTex;\nuniform sampler2DRect sceneTex;\nconst vec3 lumCoef = vec3(0.2126, 0.7152, 0.0722);\nvoid main() {\n\t vec4 bloomCol = texture2D(bloomTex, gl_TexCoord[1].xy);\n\t vec4 sceneCol = texture2DRect(sceneTex, gl_TexCoord[0].xy);\n\t float preLum = 0.99*dot(lumCoef, sceneCol.rgb)+0.01;\n    float postLum = preLum*(1.0+(preLum/params.y))/(preLum+1.0);\n\t gl_FragColor = sceneCol*(postLum/preLum)+bloomCol*params.x;\n}\n";
	Class171_Sub1_Sub3 aClass171_Sub1_Sub3_10320;
	Class145_Sub4 aClass145_Sub4_10321;
	Class145_Sub4 aClass145_Sub4_10322;
	int anInt10323;
	static final int anInt10324 = 256;
	int anInt10325;
	int anInt10326;
	Class171_Sub1_Sub3 aClass171_Sub1_Sub3_10327;
	Class157 aClass157_10328;
	Class157 aClass157_10329;
	Class157 aClass157_10330;
	Class157 aClass157_10331;

	boolean method15818() {
		if ((((Class84_Sub3) ((Class587_Sub23_Sub1) this).aClass84_Sub3_9677).aBool9453) && ((Class84_Sub3) ((Class587_Sub23_Sub1) this).aClass84_Sub3_9677).aBool9368 && ((Class84_Sub3) ((Class587_Sub23_Sub1) this).aClass84_Sub3_9677).aBool9464) {
			((Class587_Sub23_Sub1) this).aClass171_Sub1_Sub3_10327 = new Class171_Sub1_Sub3(((Class587_Sub23_Sub1) this).aClass84_Sub3_9677);
			((Class587_Sub23_Sub1) this).aClass145_Sub4_10321 = new Class145_Sub4((((Class587_Sub23_Sub1) this).aClass84_Sub3_9677), 3553, Class172.aClass172_2145, Class96.aClass96_1390, 256, 256);
			((Class587_Sub23_Sub1) this).aClass145_Sub4_10321.method16492(false, false);
			((Class587_Sub23_Sub1) this).aClass145_Sub4_10322 = new Class145_Sub4((((Class587_Sub23_Sub1) this).aClass84_Sub3_9677), 3553, Class172.aClass172_2145, Class96.aClass96_1390, 256, 256);
			((Class587_Sub23_Sub1) this).aClass145_Sub4_10322.method16492(false, false);
			((Class587_Sub23_Sub1) this).aClass84_Sub3_9677.method1895(((Class587_Sub23_Sub1) this).aClass171_Sub1_Sub3_10327, (byte) 93);
			((Class587_Sub23_Sub1) this).aClass171_Sub1_Sub3_10327.method14732(0, ((Class587_Sub23_Sub1) this).aClass145_Sub4_10321.method16496(0));
			((Class587_Sub23_Sub1) this).aClass171_Sub1_Sub3_10327.method14732(1, ((Class587_Sub23_Sub1) this).aClass145_Sub4_10322.method16496(0));
			((Class587_Sub23_Sub1) this).aClass171_Sub1_Sub3_10327.method16684(0);
			if (!((Class587_Sub23_Sub1) this).aClass171_Sub1_Sub3_10327.method14731()) {
				((Class587_Sub23_Sub1) this).aClass84_Sub3_9677.method1896(((Class587_Sub23_Sub1) this).aClass171_Sub1_Sub3_10327, -45271581);
				return false;
			}
			((Class587_Sub23_Sub1) this).aClass84_Sub3_9677.method1896(((Class587_Sub23_Sub1) this).aClass171_Sub1_Sub3_10327, -45271581);
			((Class587_Sub23_Sub1) this).aClass157_10331 = (Class157.method3457(((Class587_Sub23_Sub1) this).aClass84_Sub3_9677, (new Class142[] { Class142.method3296(((Class587_Sub23_Sub1) this).aClass84_Sub3_9677, 35632, "#extension GL_ARB_texture_rectangle : enable\nuniform vec3 params;\nuniform sampler2DRect sceneTex;\nconst vec3 lumCoef = vec3(0.2126, 0.7152, 0.0722);\nvoid main() {\n    vec4 col = texture2DRect(sceneTex, gl_TexCoord[0].xy);\n    gl_FragColor = col*step(params.x, dot(lumCoef, col.rgb));\n}\n") })));
			((Class587_Sub23_Sub1) this).aClass157_10330 = (Class157.method3457(((Class587_Sub23_Sub1) this).aClass84_Sub3_9677, (new Class142[] { Class142.method3296(((Class587_Sub23_Sub1) this).aClass84_Sub3_9677, 35632, "uniform vec3 params;\nuniform sampler2D sceneTex;\nconst vec3 lumCoef = vec3(0.2126, 0.7152, 0.0722);\nvoid main() {\n    vec4 col = texture2D(sceneTex, gl_TexCoord[0].xy);\n    gl_FragColor = col*step(params.x, dot(lumCoef, col.rgb));\n}\n") })));
			((Class587_Sub23_Sub1) this).aClass157_10329 = (Class157.method3457(((Class587_Sub23_Sub1) this).aClass84_Sub3_9677, (new Class142[] { Class142.method3296(((Class587_Sub23_Sub1) this).aClass84_Sub3_9677, 35632, "#extension GL_ARB_texture_rectangle : enable\nuniform vec3 params;\nuniform vec3 dimScale;\nuniform sampler2D bloomTex;\nuniform sampler2DRect sceneTex;\nconst vec3 lumCoef = vec3(0.2126, 0.7152, 0.0722);\nvoid main() {\n\t vec4 bloomCol = texture2D(bloomTex, gl_TexCoord[1].xy);\n\t vec4 sceneCol = texture2DRect(sceneTex, gl_TexCoord[0].xy);\n\t float preLum = 0.99*dot(lumCoef, sceneCol.rgb)+0.01;\n    float postLum = preLum*(1.0+(preLum/params.y))/(preLum+1.0);\n\t gl_FragColor = sceneCol*(postLum/preLum)+bloomCol*params.x;\n}\n") })));
			((Class587_Sub23_Sub1) this).aClass157_10328 = (Class157.method3457(((Class587_Sub23_Sub1) this).aClass84_Sub3_9677, (new Class142[] { Class142.method3296(((Class587_Sub23_Sub1) this).aClass84_Sub3_9677, 35632, "uniform vec3 step;\nuniform sampler2D baseTex;\nvoid main() {\n\tvec4 fragCol = texture2D(baseTex, gl_TexCoord[0].xy)*0.091396265;\n\tfragCol += texture2D(baseTex, gl_TexCoord[0].xy+(-1.0*step.xy))*0.088584304;\n\tfragCol += texture2D(baseTex, gl_TexCoord[0].xy+( 1.0*step.xy))*0.088584304;\n\tfragCol += texture2D(baseTex, gl_TexCoord[0].xy+(-2.0*step.xy))*0.08065692;\n\tfragCol += texture2D(baseTex, gl_TexCoord[0].xy+( 2.0*step.xy))*0.08065692;\n\tfragCol += texture2D(baseTex, gl_TexCoord[0].xy+(-3.0*step.xy))*0.068989515;\n\tfragCol += texture2D(baseTex, gl_TexCoord[0].xy+( 3.0*step.xy))*0.068989515;\n\tfragCol += texture2D(baseTex, gl_TexCoord[0].xy+(-4.0*step.xy))*0.055434637;\n\tfragCol += texture2D(baseTex, gl_TexCoord[0].xy+( 4.0*step.xy))*0.055434637;\n\tfragCol += texture2D(baseTex, gl_TexCoord[0].xy+(-5.0*step.xy))*0.04184426;\n\tfragCol += texture2D(baseTex, gl_TexCoord[0].xy+( 5.0*step.xy))*0.04184426;\n\tfragCol += texture2D(baseTex, gl_TexCoord[0].xy+(-6.0*step.xy))*0.029672023;\n\tfragCol += texture2D(baseTex, gl_TexCoord[0].xy+( 6.0*step.xy))*0.029672023;\n\tfragCol += texture2D(baseTex, gl_TexCoord[0].xy+(-7.0*step.xy))*0.019765828;\n\tfragCol += texture2D(baseTex, gl_TexCoord[0].xy+( 7.0*step.xy))*0.019765828;\n\tfragCol += texture2D(baseTex, gl_TexCoord[0].xy+(-8.0*step.xy))*0.012369139;\n\tfragCol += texture2D(baseTex, gl_TexCoord[0].xy+( 8.0*step.xy))*0.012369139;\n\tgl_FragColor = fragCol;\n}\n") })));
			return (((Class587_Sub23_Sub1) this).aClass157_10330 != null && ((Class587_Sub23_Sub1) this).aClass157_10331 != null && ((Class587_Sub23_Sub1) this).aClass157_10329 != null && ((Class587_Sub23_Sub1) this).aClass157_10328 != null);
		}
		return false;
	}

	boolean method15817() {
		return ((Class587_Sub23_Sub1) this).aClass171_Sub1_Sub3_10327 != null;
	}

	void method15820(int i, int i_0_) {
		((Class587_Sub23_Sub1) this).anInt10317 = i;
		((Class587_Sub23_Sub1) this).anInt10325 = i_0_;
		int i_1_ = Class410_Sub1.method14173((((Class587_Sub23_Sub1) this).anInt10317), -1829210072);
		int i_2_ = Class410_Sub1.method14173((((Class587_Sub23_Sub1) this).anInt10325), -519904614);
		if (((Class587_Sub23_Sub1) this).anInt10326 != i_1_ || ((Class587_Sub23_Sub1) this).anInt10323 != i_2_) {
			if (((Class587_Sub23_Sub1) this).aClass145_Sub4Array10312 != null) {
				for (int i_3_ = 0; i_3_ < (((Class587_Sub23_Sub1) this).aClass145_Sub4Array10312).length; i_3_++)
					((Class587_Sub23_Sub1) this).aClass145_Sub4Array10312[i_3_].method3348();
				((Class587_Sub23_Sub1) this).aClass145_Sub4Array10312 = null;
			}
			if (i_1_ > 256 || i_2_ > 256) {
				int i_4_ = i_1_;
				int i_5_ = i_2_;
				int i_6_ = 0;
				while (i_4_ > 256 || i_5_ > 256) {
					if (i_4_ > 256)
						i_4_ >>= 1;
					if (i_5_ > 256)
						i_5_ >>= 1;
					i_6_++;
				}
				if (((Class587_Sub23_Sub1) this).aClass171_Sub1_Sub3_10320 == null)
					((Class587_Sub23_Sub1) this).aClass171_Sub1_Sub3_10320 = new Class171_Sub1_Sub3(((Class587_Sub23_Sub1) this).aClass84_Sub3_9677);
				((Class587_Sub23_Sub1) this).aClass145_Sub4Array10312 = new Class145_Sub4[i_6_];
				i_4_ = i_1_;
				i_5_ = i_2_;
				i_6_ = 0;
				while (i_4_ > 256 || i_5_ > 256) {
					((Class587_Sub23_Sub1) this).aClass145_Sub4Array10312[i_6_++] = new Class145_Sub4((((Class587_Sub23_Sub1) this).aClass84_Sub3_9677), 3553, Class172.aClass172_2145, Class96.aClass96_1390, i_4_, i_5_);
					if (i_4_ > 256)
						i_4_ >>= 1;
					if (i_5_ > 256)
						i_5_ >>= 1;
				}
			} else
				((Class587_Sub23_Sub1) this).aClass171_Sub1_Sub3_10320 = null;
			((Class587_Sub23_Sub1) this).anInt10326 = i_1_;
			((Class587_Sub23_Sub1) this).anInt10323 = i_2_;
		}
	}

	boolean method15819() {
		return ((Class587_Sub23_Sub1) this).aClass171_Sub1_Sub3_10327 != null;
	}

	void method15841() {
		((Class587_Sub23_Sub1) this).anInt10323 = -1;
		((Class587_Sub23_Sub1) this).anInt10326 = -1;
		((Class587_Sub23_Sub1) this).aClass171_Sub1_Sub3_10320 = null;
		((Class587_Sub23_Sub1) this).aClass145_Sub4Array10312 = null;
		((Class587_Sub23_Sub1) this).aClass171_Sub1_Sub3_10327 = null;
		((Class587_Sub23_Sub1) this).aClass145_Sub4_10321 = null;
		((Class587_Sub23_Sub1) this).aClass145_Sub4_10322 = null;
		((Class587_Sub23_Sub1) this).aClass157_10331 = null;
		((Class587_Sub23_Sub1) this).aClass157_10330 = null;
		((Class587_Sub23_Sub1) this).aClass157_10329 = null;
		((Class587_Sub23_Sub1) this).aClass157_10328 = null;
	}

	void method15824() {
		((Class587_Sub23_Sub1) this).anInt10323 = -1;
		((Class587_Sub23_Sub1) this).anInt10326 = -1;
		((Class587_Sub23_Sub1) this).aClass171_Sub1_Sub3_10320 = null;
		((Class587_Sub23_Sub1) this).aClass145_Sub4Array10312 = null;
		((Class587_Sub23_Sub1) this).aClass171_Sub1_Sub3_10327 = null;
		((Class587_Sub23_Sub1) this).aClass145_Sub4_10321 = null;
		((Class587_Sub23_Sub1) this).aClass145_Sub4_10322 = null;
		((Class587_Sub23_Sub1) this).aClass157_10331 = null;
		((Class587_Sub23_Sub1) this).aClass157_10330 = null;
		((Class587_Sub23_Sub1) this).aClass157_10329 = null;
		((Class587_Sub23_Sub1) this).aClass157_10328 = null;
	}

	boolean method16536() {
		return (((Class84_Sub3) ((Class587_Sub23_Sub1) this).aClass84_Sub3_9677).aBool9453 && ((Class84_Sub3) ((Class587_Sub23_Sub1) this).aClass84_Sub3_9677).aBool9368 && ((Class84_Sub3) (((Class587_Sub23_Sub1) this).aClass84_Sub3_9677)).aBool9464);
	}

	void method15822(int i) {
		OpenGL.glUseProgram(0);
		((Class587_Sub23_Sub1) this).aClass84_Sub3_9677.method15439(1);
		((Class587_Sub23_Sub1) this).aClass84_Sub3_9677.method15440(null);
		((Class587_Sub23_Sub1) this).aClass84_Sub3_9677.method15439(0);
	}

	Class96 method15825() {
		return Class96.aClass96_1390;
	}

	boolean method15827() {
		return ((Class587_Sub23_Sub1) this).aClass171_Sub1_Sub3_10327 != null;
	}

	void method15834(int i) {
		OpenGL.glUseProgram(0);
		((Class587_Sub23_Sub1) this).aClass84_Sub3_9677.method15439(1);
		((Class587_Sub23_Sub1) this).aClass84_Sub3_9677.method15440(null);
		((Class587_Sub23_Sub1) this).aClass84_Sub3_9677.method15439(0);
	}

	boolean method15828() {
		if ((((Class84_Sub3) ((Class587_Sub23_Sub1) this).aClass84_Sub3_9677).aBool9453) && ((Class84_Sub3) ((Class587_Sub23_Sub1) this).aClass84_Sub3_9677).aBool9368 && ((Class84_Sub3) ((Class587_Sub23_Sub1) this).aClass84_Sub3_9677).aBool9464) {
			((Class587_Sub23_Sub1) this).aClass171_Sub1_Sub3_10327 = new Class171_Sub1_Sub3(((Class587_Sub23_Sub1) this).aClass84_Sub3_9677);
			((Class587_Sub23_Sub1) this).aClass145_Sub4_10321 = new Class145_Sub4((((Class587_Sub23_Sub1) this).aClass84_Sub3_9677), 3553, Class172.aClass172_2145, Class96.aClass96_1390, 256, 256);
			((Class587_Sub23_Sub1) this).aClass145_Sub4_10321.method16492(false, false);
			((Class587_Sub23_Sub1) this).aClass145_Sub4_10322 = new Class145_Sub4((((Class587_Sub23_Sub1) this).aClass84_Sub3_9677), 3553, Class172.aClass172_2145, Class96.aClass96_1390, 256, 256);
			((Class587_Sub23_Sub1) this).aClass145_Sub4_10322.method16492(false, false);
			((Class587_Sub23_Sub1) this).aClass84_Sub3_9677.method1895(((Class587_Sub23_Sub1) this).aClass171_Sub1_Sub3_10327, (byte) 107);
			((Class587_Sub23_Sub1) this).aClass171_Sub1_Sub3_10327.method14732(0, ((Class587_Sub23_Sub1) this).aClass145_Sub4_10321.method16496(0));
			((Class587_Sub23_Sub1) this).aClass171_Sub1_Sub3_10327.method14732(1, ((Class587_Sub23_Sub1) this).aClass145_Sub4_10322.method16496(0));
			((Class587_Sub23_Sub1) this).aClass171_Sub1_Sub3_10327.method16684(0);
			if (!((Class587_Sub23_Sub1) this).aClass171_Sub1_Sub3_10327.method14731()) {
				((Class587_Sub23_Sub1) this).aClass84_Sub3_9677.method1896(((Class587_Sub23_Sub1) this).aClass171_Sub1_Sub3_10327, -45271581);
				return false;
			}
			((Class587_Sub23_Sub1) this).aClass84_Sub3_9677.method1896(((Class587_Sub23_Sub1) this).aClass171_Sub1_Sub3_10327, -45271581);
			((Class587_Sub23_Sub1) this).aClass157_10331 = (Class157.method3457(((Class587_Sub23_Sub1) this).aClass84_Sub3_9677, (new Class142[] { Class142.method3296(((Class587_Sub23_Sub1) this).aClass84_Sub3_9677, 35632, "#extension GL_ARB_texture_rectangle : enable\nuniform vec3 params;\nuniform sampler2DRect sceneTex;\nconst vec3 lumCoef = vec3(0.2126, 0.7152, 0.0722);\nvoid main() {\n    vec4 col = texture2DRect(sceneTex, gl_TexCoord[0].xy);\n    gl_FragColor = col*step(params.x, dot(lumCoef, col.rgb));\n}\n") })));
			((Class587_Sub23_Sub1) this).aClass157_10330 = (Class157.method3457(((Class587_Sub23_Sub1) this).aClass84_Sub3_9677, (new Class142[] { Class142.method3296(((Class587_Sub23_Sub1) this).aClass84_Sub3_9677, 35632, "uniform vec3 params;\nuniform sampler2D sceneTex;\nconst vec3 lumCoef = vec3(0.2126, 0.7152, 0.0722);\nvoid main() {\n    vec4 col = texture2D(sceneTex, gl_TexCoord[0].xy);\n    gl_FragColor = col*step(params.x, dot(lumCoef, col.rgb));\n}\n") })));
			((Class587_Sub23_Sub1) this).aClass157_10329 = (Class157.method3457(((Class587_Sub23_Sub1) this).aClass84_Sub3_9677, (new Class142[] { Class142.method3296(((Class587_Sub23_Sub1) this).aClass84_Sub3_9677, 35632, "#extension GL_ARB_texture_rectangle : enable\nuniform vec3 params;\nuniform vec3 dimScale;\nuniform sampler2D bloomTex;\nuniform sampler2DRect sceneTex;\nconst vec3 lumCoef = vec3(0.2126, 0.7152, 0.0722);\nvoid main() {\n\t vec4 bloomCol = texture2D(bloomTex, gl_TexCoord[1].xy);\n\t vec4 sceneCol = texture2DRect(sceneTex, gl_TexCoord[0].xy);\n\t float preLum = 0.99*dot(lumCoef, sceneCol.rgb)+0.01;\n    float postLum = preLum*(1.0+(preLum/params.y))/(preLum+1.0);\n\t gl_FragColor = sceneCol*(postLum/preLum)+bloomCol*params.x;\n}\n") })));
			((Class587_Sub23_Sub1) this).aClass157_10328 = (Class157.method3457(((Class587_Sub23_Sub1) this).aClass84_Sub3_9677, (new Class142[] { Class142.method3296(((Class587_Sub23_Sub1) this).aClass84_Sub3_9677, 35632, "uniform vec3 step;\nuniform sampler2D baseTex;\nvoid main() {\n\tvec4 fragCol = texture2D(baseTex, gl_TexCoord[0].xy)*0.091396265;\n\tfragCol += texture2D(baseTex, gl_TexCoord[0].xy+(-1.0*step.xy))*0.088584304;\n\tfragCol += texture2D(baseTex, gl_TexCoord[0].xy+( 1.0*step.xy))*0.088584304;\n\tfragCol += texture2D(baseTex, gl_TexCoord[0].xy+(-2.0*step.xy))*0.08065692;\n\tfragCol += texture2D(baseTex, gl_TexCoord[0].xy+( 2.0*step.xy))*0.08065692;\n\tfragCol += texture2D(baseTex, gl_TexCoord[0].xy+(-3.0*step.xy))*0.068989515;\n\tfragCol += texture2D(baseTex, gl_TexCoord[0].xy+( 3.0*step.xy))*0.068989515;\n\tfragCol += texture2D(baseTex, gl_TexCoord[0].xy+(-4.0*step.xy))*0.055434637;\n\tfragCol += texture2D(baseTex, gl_TexCoord[0].xy+( 4.0*step.xy))*0.055434637;\n\tfragCol += texture2D(baseTex, gl_TexCoord[0].xy+(-5.0*step.xy))*0.04184426;\n\tfragCol += texture2D(baseTex, gl_TexCoord[0].xy+( 5.0*step.xy))*0.04184426;\n\tfragCol += texture2D(baseTex, gl_TexCoord[0].xy+(-6.0*step.xy))*0.029672023;\n\tfragCol += texture2D(baseTex, gl_TexCoord[0].xy+( 6.0*step.xy))*0.029672023;\n\tfragCol += texture2D(baseTex, gl_TexCoord[0].xy+(-7.0*step.xy))*0.019765828;\n\tfragCol += texture2D(baseTex, gl_TexCoord[0].xy+( 7.0*step.xy))*0.019765828;\n\tfragCol += texture2D(baseTex, gl_TexCoord[0].xy+(-8.0*step.xy))*0.012369139;\n\tfragCol += texture2D(baseTex, gl_TexCoord[0].xy+( 8.0*step.xy))*0.012369139;\n\tgl_FragColor = fragCol;\n}\n") })));
			return (((Class587_Sub23_Sub1) this).aClass157_10330 != null && ((Class587_Sub23_Sub1) this).aClass157_10331 != null && ((Class587_Sub23_Sub1) this).aClass157_10329 != null && ((Class587_Sub23_Sub1) this).aClass157_10328 != null);
		}
		return false;
	}

	void method15816(int i, int i_7_) {
		((Class587_Sub23_Sub1) this).anInt10317 = i;
		((Class587_Sub23_Sub1) this).anInt10325 = i_7_;
		int i_8_ = Class410_Sub1.method14173((((Class587_Sub23_Sub1) this).anInt10317), 315435005);
		int i_9_ = Class410_Sub1.method14173((((Class587_Sub23_Sub1) this).anInt10325), -1089285032);
		if (((Class587_Sub23_Sub1) this).anInt10326 != i_8_ || ((Class587_Sub23_Sub1) this).anInt10323 != i_9_) {
			if (((Class587_Sub23_Sub1) this).aClass145_Sub4Array10312 != null) {
				for (int i_10_ = 0; i_10_ < (((Class587_Sub23_Sub1) this).aClass145_Sub4Array10312).length; i_10_++)
					((Class587_Sub23_Sub1) this).aClass145_Sub4Array10312[i_10_].method3348();
				((Class587_Sub23_Sub1) this).aClass145_Sub4Array10312 = null;
			}
			if (i_8_ > 256 || i_9_ > 256) {
				int i_11_ = i_8_;
				int i_12_ = i_9_;
				int i_13_ = 0;
				while (i_11_ > 256 || i_12_ > 256) {
					if (i_11_ > 256)
						i_11_ >>= 1;
					if (i_12_ > 256)
						i_12_ >>= 1;
					i_13_++;
				}
				if (((Class587_Sub23_Sub1) this).aClass171_Sub1_Sub3_10320 == null)
					((Class587_Sub23_Sub1) this).aClass171_Sub1_Sub3_10320 = new Class171_Sub1_Sub3(((Class587_Sub23_Sub1) this).aClass84_Sub3_9677);
				((Class587_Sub23_Sub1) this).aClass145_Sub4Array10312 = new Class145_Sub4[i_13_];
				i_11_ = i_8_;
				i_12_ = i_9_;
				i_13_ = 0;
				while (i_11_ > 256 || i_12_ > 256) {
					((Class587_Sub23_Sub1) this).aClass145_Sub4Array10312[i_13_++] = new Class145_Sub4((((Class587_Sub23_Sub1) this).aClass84_Sub3_9677), 3553, Class172.aClass172_2145, Class96.aClass96_1390, i_11_, i_12_);
					if (i_11_ > 256)
						i_11_ >>= 1;
					if (i_12_ > 256)
						i_12_ >>= 1;
				}
			} else
				((Class587_Sub23_Sub1) this).aClass171_Sub1_Sub3_10320 = null;
			((Class587_Sub23_Sub1) this).anInt10326 = i_8_;
			((Class587_Sub23_Sub1) this).anInt10323 = i_9_;
		}
	}

	void method15830(int i, int i_14_) {
		((Class587_Sub23_Sub1) this).anInt10317 = i;
		((Class587_Sub23_Sub1) this).anInt10325 = i_14_;
		int i_15_ = Class410_Sub1.method14173((((Class587_Sub23_Sub1) this).anInt10317), -640214883);
		int i_16_ = Class410_Sub1.method14173((((Class587_Sub23_Sub1) this).anInt10325), -1231731142);
		if (((Class587_Sub23_Sub1) this).anInt10326 != i_15_ || ((Class587_Sub23_Sub1) this).anInt10323 != i_16_) {
			if (((Class587_Sub23_Sub1) this).aClass145_Sub4Array10312 != null) {
				for (int i_17_ = 0; i_17_ < (((Class587_Sub23_Sub1) this).aClass145_Sub4Array10312).length; i_17_++)
					((Class587_Sub23_Sub1) this).aClass145_Sub4Array10312[i_17_].method3348();
				((Class587_Sub23_Sub1) this).aClass145_Sub4Array10312 = null;
			}
			if (i_15_ > 256 || i_16_ > 256) {
				int i_18_ = i_15_;
				int i_19_ = i_16_;
				int i_20_ = 0;
				while (i_18_ > 256 || i_19_ > 256) {
					if (i_18_ > 256)
						i_18_ >>= 1;
					if (i_19_ > 256)
						i_19_ >>= 1;
					i_20_++;
				}
				if (((Class587_Sub23_Sub1) this).aClass171_Sub1_Sub3_10320 == null)
					((Class587_Sub23_Sub1) this).aClass171_Sub1_Sub3_10320 = new Class171_Sub1_Sub3(((Class587_Sub23_Sub1) this).aClass84_Sub3_9677);
				((Class587_Sub23_Sub1) this).aClass145_Sub4Array10312 = new Class145_Sub4[i_20_];
				i_18_ = i_15_;
				i_19_ = i_16_;
				i_20_ = 0;
				while (i_18_ > 256 || i_19_ > 256) {
					((Class587_Sub23_Sub1) this).aClass145_Sub4Array10312[i_20_++] = new Class145_Sub4((((Class587_Sub23_Sub1) this).aClass84_Sub3_9677), 3553, Class172.aClass172_2145, Class96.aClass96_1390, i_18_, i_19_);
					if (i_18_ > 256)
						i_18_ >>= 1;
					if (i_19_ > 256)
						i_19_ >>= 1;
				}
			} else
				((Class587_Sub23_Sub1) this).aClass171_Sub1_Sub3_10320 = null;
			((Class587_Sub23_Sub1) this).anInt10326 = i_15_;
			((Class587_Sub23_Sub1) this).anInt10323 = i_16_;
		}
	}

	void method15831(int i) {
		OpenGL.glUseProgram(0);
		((Class587_Sub23_Sub1) this).aClass84_Sub3_9677.method15439(1);
		((Class587_Sub23_Sub1) this).aClass84_Sub3_9677.method15440(null);
		((Class587_Sub23_Sub1) this).aClass84_Sub3_9677.method15439(0);
	}

	void method15823(int i) {
		OpenGL.glUseProgram(0);
		((Class587_Sub23_Sub1) this).aClass84_Sub3_9677.method15439(1);
		((Class587_Sub23_Sub1) this).aClass84_Sub3_9677.method15440(null);
		((Class587_Sub23_Sub1) this).aClass84_Sub3_9677.method15439(0);
	}

	void method15833(int i) {
		OpenGL.glUseProgram(0);
		((Class587_Sub23_Sub1) this).aClass84_Sub3_9677.method15439(1);
		((Class587_Sub23_Sub1) this).aClass84_Sub3_9677.method15440(null);
		((Class587_Sub23_Sub1) this).aClass84_Sub3_9677.method15439(0);
	}

	Class587_Sub23_Sub1(Class84_Sub3 class84_sub3) {
		super(class84_sub3);
	}

	Class96 method15842() {
		return Class96.aClass96_1390;
	}

	Class96 method15843() {
		return Class96.aClass96_1390;
	}

	boolean method16537() {
		return (((Class84_Sub3) ((Class587_Sub23_Sub1) this).aClass84_Sub3_9677).aBool9453 && ((Class84_Sub3) ((Class587_Sub23_Sub1) this).aClass84_Sub3_9677).aBool9368 && ((Class84_Sub3) (((Class587_Sub23_Sub1) this).aClass84_Sub3_9677)).aBool9464);
	}

	void method15829() {
		((Class587_Sub23_Sub1) this).anInt10323 = -1;
		((Class587_Sub23_Sub1) this).anInt10326 = -1;
		((Class587_Sub23_Sub1) this).aClass171_Sub1_Sub3_10320 = null;
		((Class587_Sub23_Sub1) this).aClass145_Sub4Array10312 = null;
		((Class587_Sub23_Sub1) this).aClass171_Sub1_Sub3_10327 = null;
		((Class587_Sub23_Sub1) this).aClass145_Sub4_10321 = null;
		((Class587_Sub23_Sub1) this).aClass145_Sub4_10322 = null;
		((Class587_Sub23_Sub1) this).aClass157_10331 = null;
		((Class587_Sub23_Sub1) this).aClass157_10330 = null;
		((Class587_Sub23_Sub1) this).aClass157_10329 = null;
		((Class587_Sub23_Sub1) this).aClass157_10328 = null;
	}

	void method15847(int i, Class145_Sub4 class145_sub4, Class145_Sub4 class145_sub4_21_) {
		OpenGL.glPushAttrib(2048);
		OpenGL.glMatrixMode(5889);
		OpenGL.glPushMatrix();
		OpenGL.glLoadIdentity();
		OpenGL.glOrtho(0.0, 1.0, 0.0, 1.0, -1.0, 1.0);
		if (((Class587_Sub23_Sub1) this).aClass145_Sub4Array10312 != null) {
			((Class587_Sub23_Sub1) this).aClass84_Sub3_9677.method1895(((Class587_Sub23_Sub1) this).aClass171_Sub1_Sub3_10320, (byte) 122);
			int i_22_ = Class410_Sub1.method14173((((Class587_Sub23_Sub1) this).anInt10317), -1487740352);
			int i_23_ = Class410_Sub1.method14173((((Class587_Sub23_Sub1) this).anInt10325), -1850274194);
			int i_24_ = 0;
			while (i_22_ > 256 || i_23_ > 256) {
				OpenGL.glViewport(0, 0, i_22_, i_23_);
				((Class587_Sub23_Sub1) this).aClass171_Sub1_Sub3_10320.method14732(0, ((Class587_Sub23_Sub1) this).aClass145_Sub4Array10312[i_24_].method16496(0));
				if (i_24_ == 0) {
					((Class587_Sub23_Sub1) this).aClass84_Sub3_9677.method15440(class145_sub4);
					OpenGL.glBegin(7);
					OpenGL.glTexCoord2f(0.0F, 0.0F);
					OpenGL.glVertex2i(0, 0);
					OpenGL.glTexCoord2f((float) (((Class587_Sub23_Sub1) this).anInt10317), 0.0F);
					OpenGL.glVertex2i(1, 0);
					OpenGL.glTexCoord2f((float) (((Class587_Sub23_Sub1) this).anInt10317), (float) (((Class587_Sub23_Sub1) this).anInt10325));
					OpenGL.glVertex2i(1, 1);
					OpenGL.glTexCoord2f(0.0F, (float) (((Class587_Sub23_Sub1) this).anInt10325));
					OpenGL.glVertex2i(0, 1);
					OpenGL.glEnd();
				} else {
					((Class587_Sub23_Sub1) this).aClass84_Sub3_9677.method15440(((Class587_Sub23_Sub1) this).aClass145_Sub4Array10312[i_24_ - 1]);
					OpenGL.glBegin(7);
					OpenGL.glTexCoord2f(0.0F, 0.0F);
					OpenGL.glVertex2i(0, 0);
					OpenGL.glTexCoord2f(1.0F, 0.0F);
					OpenGL.glVertex2i(1, 0);
					OpenGL.glTexCoord2f(1.0F, 1.0F);
					OpenGL.glVertex2i(1, 1);
					OpenGL.glTexCoord2f(0.0F, 1.0F);
					OpenGL.glVertex2i(0, 1);
					OpenGL.glEnd();
				}
				if (i_22_ > 256)
					i_22_ >>= 1;
				if (i_23_ > 256)
					i_23_ >>= 1;
				i_24_++;
			}
			((Class587_Sub23_Sub1) this).aClass84_Sub3_9677.method1896(((Class587_Sub23_Sub1) this).aClass171_Sub1_Sub3_10320, -45271581);
			((Class587_Sub23_Sub1) this).aClass84_Sub3_9677.method15440(((Class587_Sub23_Sub1) this).aClass145_Sub4Array10312[i_24_ - 1]);
			((Class587_Sub23_Sub1) this).aClass84_Sub3_9677.method1895(((Class587_Sub23_Sub1) this).aClass171_Sub1_Sub3_10327, (byte) 73);
			((Class587_Sub23_Sub1) this).aClass171_Sub1_Sub3_10327.method16684(0);
			OpenGL.glViewport(0, 0, 256, 256);
			int i_25_ = (((Class157) ((Class587_Sub23_Sub1) this).aClass157_10330).anInt1879);
			OpenGL.glUseProgram(i_25_);
			OpenGL.glUniform1i(OpenGL.glGetUniformLocation(i_25_, "sceneTex"), 0);
			OpenGL.glUniform3f(OpenGL.glGetUniformLocation(i_25_, "params"), aFloat10314, 0.0F, 0.0F);
			OpenGL.glBegin(7);
			OpenGL.glTexCoord2f(0.0F, 0.0F);
			OpenGL.glVertex2i(0, 0);
			OpenGL.glTexCoord2f(1.0F, 0.0F);
			OpenGL.glVertex2i(1, 0);
			OpenGL.glTexCoord2f(1.0F, 1.0F);
			OpenGL.glVertex2i(1, 1);
			OpenGL.glTexCoord2f(0.0F, 1.0F);
			OpenGL.glVertex2i(0, 1);
			OpenGL.glEnd();
		} else {
			((Class587_Sub23_Sub1) this).aClass84_Sub3_9677.method15440(class145_sub4);
			((Class587_Sub23_Sub1) this).aClass84_Sub3_9677.method1895(((Class587_Sub23_Sub1) this).aClass171_Sub1_Sub3_10327, (byte) 46);
			((Class587_Sub23_Sub1) this).aClass171_Sub1_Sub3_10327.method16684(0);
			OpenGL.glViewport(0, 0, 256, 256);
			int i_26_ = (((Class157) ((Class587_Sub23_Sub1) this).aClass157_10331).anInt1879);
			OpenGL.glUseProgram(i_26_);
			OpenGL.glUniform1i(OpenGL.glGetUniformLocation(i_26_, "sceneTex"), 0);
			OpenGL.glUniform3f(OpenGL.glGetUniformLocation(i_26_, "params"), aFloat10314, 0.0F, 0.0F);
			OpenGL.glBegin(7);
			OpenGL.glTexCoord2f(0.0F, 0.0F);
			OpenGL.glVertex2i(0, 0);
			OpenGL.glTexCoord2f((float) (((Class587_Sub23_Sub1) this).anInt10317), 0.0F);
			OpenGL.glVertex2i(1, 0);
			OpenGL.glTexCoord2f((float) (((Class587_Sub23_Sub1) this).anInt10317), (float) (((Class587_Sub23_Sub1) this).anInt10325));
			OpenGL.glVertex2i(1, 1);
			OpenGL.glTexCoord2f(0.0F, (float) (((Class587_Sub23_Sub1) this).anInt10325));
			OpenGL.glVertex2i(0, 1);
			OpenGL.glEnd();
		}
		((Class587_Sub23_Sub1) this).aClass171_Sub1_Sub3_10327.method16684(1);
		((Class587_Sub23_Sub1) this).aClass84_Sub3_9677.method15440(((Class587_Sub23_Sub1) this).aClass145_Sub4_10321);
		int i_27_ = (((Class157) ((Class587_Sub23_Sub1) this).aClass157_10328).anInt1879);
		OpenGL.glUseProgram(i_27_);
		OpenGL.glUniform1i(OpenGL.glGetUniformLocation(i_27_, "baseTex"), 0);
		OpenGL.glUniform3f(OpenGL.glGetUniformLocation(i_27_, "step"), 0.00390625F, 0.0F, 0.0F);
		OpenGL.glBegin(7);
		OpenGL.glTexCoord2f(0.0F, 0.0F);
		OpenGL.glVertex2i(0, 0);
		OpenGL.glTexCoord2f(1.0F, 0.0F);
		OpenGL.glVertex2i(1, 0);
		OpenGL.glTexCoord2f(1.0F, 1.0F);
		OpenGL.glVertex2i(1, 1);
		OpenGL.glTexCoord2f(0.0F, 1.0F);
		OpenGL.glVertex2i(0, 1);
		OpenGL.glEnd();
		((Class587_Sub23_Sub1) this).aClass171_Sub1_Sub3_10327.method16684(0);
		((Class587_Sub23_Sub1) this).aClass84_Sub3_9677.method15440(((Class587_Sub23_Sub1) this).aClass145_Sub4_10322);
		OpenGL.glUniform3f(OpenGL.glGetUniformLocation(i_27_, "step"), 0.0F, 0.00390625F, 0.0F);
		OpenGL.glBegin(7);
		OpenGL.glTexCoord2f(0.0F, 0.0F);
		OpenGL.glVertex2i(0, 0);
		OpenGL.glTexCoord2f(1.0F, 0.0F);
		OpenGL.glVertex2i(1, 0);
		OpenGL.glTexCoord2f(1.0F, 1.0F);
		OpenGL.glVertex2i(1, 1);
		OpenGL.glTexCoord2f(0.0F, 1.0F);
		OpenGL.glVertex2i(0, 1);
		OpenGL.glEnd();
		OpenGL.glPopAttrib();
		OpenGL.glPopMatrix();
		OpenGL.glMatrixMode(5888);
		((Class587_Sub23_Sub1) this).aClass84_Sub3_9677.method1896(((Class587_Sub23_Sub1) this).aClass171_Sub1_Sub3_10327, -45271581);
		int i_28_ = (((Class157) ((Class587_Sub23_Sub1) this).aClass157_10329).anInt1879);
		OpenGL.glUseProgram(i_28_);
		OpenGL.glUniform1i(OpenGL.glGetUniformLocation(i_28_, "sceneTex"), 0);
		OpenGL.glUniform1i(OpenGL.glGetUniformLocation(i_28_, "bloomTex"), 1);
		OpenGL.glUniform3f(OpenGL.glGetUniformLocation(i_28_, "params"), aFloat10311, aFloat10313, 0.0F);
		((Class587_Sub23_Sub1) this).aClass84_Sub3_9677.method15439(1);
		((Class587_Sub23_Sub1) this).aClass84_Sub3_9677.method15440(((Class587_Sub23_Sub1) this).aClass145_Sub4_10321);
		((Class587_Sub23_Sub1) this).aClass84_Sub3_9677.method15439(0);
		((Class587_Sub23_Sub1) this).aClass84_Sub3_9677.method15440(class145_sub4);
	}

	void method15826() {
		((Class587_Sub23_Sub1) this).anInt10323 = -1;
		((Class587_Sub23_Sub1) this).anInt10326 = -1;
		((Class587_Sub23_Sub1) this).aClass171_Sub1_Sub3_10320 = null;
		((Class587_Sub23_Sub1) this).aClass145_Sub4Array10312 = null;
		((Class587_Sub23_Sub1) this).aClass171_Sub1_Sub3_10327 = null;
		((Class587_Sub23_Sub1) this).aClass145_Sub4_10321 = null;
		((Class587_Sub23_Sub1) this).aClass145_Sub4_10322 = null;
		((Class587_Sub23_Sub1) this).aClass157_10331 = null;
		((Class587_Sub23_Sub1) this).aClass157_10330 = null;
		((Class587_Sub23_Sub1) this).aClass157_10329 = null;
		((Class587_Sub23_Sub1) this).aClass157_10328 = null;
	}

	void method15821(int i, Class145_Sub4 class145_sub4, Class145_Sub4 class145_sub4_29_) {
		OpenGL.glPushAttrib(2048);
		OpenGL.glMatrixMode(5889);
		OpenGL.glPushMatrix();
		OpenGL.glLoadIdentity();
		OpenGL.glOrtho(0.0, 1.0, 0.0, 1.0, -1.0, 1.0);
		if (((Class587_Sub23_Sub1) this).aClass145_Sub4Array10312 != null) {
			((Class587_Sub23_Sub1) this).aClass84_Sub3_9677.method1895(((Class587_Sub23_Sub1) this).aClass171_Sub1_Sub3_10320, (byte) 54);
			int i_30_ = Class410_Sub1.method14173((((Class587_Sub23_Sub1) this).anInt10317), -1039885289);
			int i_31_ = Class410_Sub1.method14173((((Class587_Sub23_Sub1) this).anInt10325), -1802842881);
			int i_32_ = 0;
			while (i_30_ > 256 || i_31_ > 256) {
				OpenGL.glViewport(0, 0, i_30_, i_31_);
				((Class587_Sub23_Sub1) this).aClass171_Sub1_Sub3_10320.method14732(0, ((Class587_Sub23_Sub1) this).aClass145_Sub4Array10312[i_32_].method16496(0));
				if (i_32_ == 0) {
					((Class587_Sub23_Sub1) this).aClass84_Sub3_9677.method15440(class145_sub4);
					OpenGL.glBegin(7);
					OpenGL.glTexCoord2f(0.0F, 0.0F);
					OpenGL.glVertex2i(0, 0);
					OpenGL.glTexCoord2f((float) (((Class587_Sub23_Sub1) this).anInt10317), 0.0F);
					OpenGL.glVertex2i(1, 0);
					OpenGL.glTexCoord2f((float) (((Class587_Sub23_Sub1) this).anInt10317), (float) (((Class587_Sub23_Sub1) this).anInt10325));
					OpenGL.glVertex2i(1, 1);
					OpenGL.glTexCoord2f(0.0F, (float) (((Class587_Sub23_Sub1) this).anInt10325));
					OpenGL.glVertex2i(0, 1);
					OpenGL.glEnd();
				} else {
					((Class587_Sub23_Sub1) this).aClass84_Sub3_9677.method15440(((Class587_Sub23_Sub1) this).aClass145_Sub4Array10312[i_32_ - 1]);
					OpenGL.glBegin(7);
					OpenGL.glTexCoord2f(0.0F, 0.0F);
					OpenGL.glVertex2i(0, 0);
					OpenGL.glTexCoord2f(1.0F, 0.0F);
					OpenGL.glVertex2i(1, 0);
					OpenGL.glTexCoord2f(1.0F, 1.0F);
					OpenGL.glVertex2i(1, 1);
					OpenGL.glTexCoord2f(0.0F, 1.0F);
					OpenGL.glVertex2i(0, 1);
					OpenGL.glEnd();
				}
				if (i_30_ > 256)
					i_30_ >>= 1;
				if (i_31_ > 256)
					i_31_ >>= 1;
				i_32_++;
			}
			((Class587_Sub23_Sub1) this).aClass84_Sub3_9677.method1896(((Class587_Sub23_Sub1) this).aClass171_Sub1_Sub3_10320, -45271581);
			((Class587_Sub23_Sub1) this).aClass84_Sub3_9677.method15440(((Class587_Sub23_Sub1) this).aClass145_Sub4Array10312[i_32_ - 1]);
			((Class587_Sub23_Sub1) this).aClass84_Sub3_9677.method1895(((Class587_Sub23_Sub1) this).aClass171_Sub1_Sub3_10327, (byte) 19);
			((Class587_Sub23_Sub1) this).aClass171_Sub1_Sub3_10327.method16684(0);
			OpenGL.glViewport(0, 0, 256, 256);
			int i_33_ = (((Class157) ((Class587_Sub23_Sub1) this).aClass157_10330).anInt1879);
			OpenGL.glUseProgram(i_33_);
			OpenGL.glUniform1i(OpenGL.glGetUniformLocation(i_33_, "sceneTex"), 0);
			OpenGL.glUniform3f(OpenGL.glGetUniformLocation(i_33_, "params"), aFloat10314, 0.0F, 0.0F);
			OpenGL.glBegin(7);
			OpenGL.glTexCoord2f(0.0F, 0.0F);
			OpenGL.glVertex2i(0, 0);
			OpenGL.glTexCoord2f(1.0F, 0.0F);
			OpenGL.glVertex2i(1, 0);
			OpenGL.glTexCoord2f(1.0F, 1.0F);
			OpenGL.glVertex2i(1, 1);
			OpenGL.glTexCoord2f(0.0F, 1.0F);
			OpenGL.glVertex2i(0, 1);
			OpenGL.glEnd();
		} else {
			((Class587_Sub23_Sub1) this).aClass84_Sub3_9677.method15440(class145_sub4);
			((Class587_Sub23_Sub1) this).aClass84_Sub3_9677.method1895(((Class587_Sub23_Sub1) this).aClass171_Sub1_Sub3_10327, (byte) 23);
			((Class587_Sub23_Sub1) this).aClass171_Sub1_Sub3_10327.method16684(0);
			OpenGL.glViewport(0, 0, 256, 256);
			int i_34_ = (((Class157) ((Class587_Sub23_Sub1) this).aClass157_10331).anInt1879);
			OpenGL.glUseProgram(i_34_);
			OpenGL.glUniform1i(OpenGL.glGetUniformLocation(i_34_, "sceneTex"), 0);
			OpenGL.glUniform3f(OpenGL.glGetUniformLocation(i_34_, "params"), aFloat10314, 0.0F, 0.0F);
			OpenGL.glBegin(7);
			OpenGL.glTexCoord2f(0.0F, 0.0F);
			OpenGL.glVertex2i(0, 0);
			OpenGL.glTexCoord2f((float) (((Class587_Sub23_Sub1) this).anInt10317), 0.0F);
			OpenGL.glVertex2i(1, 0);
			OpenGL.glTexCoord2f((float) (((Class587_Sub23_Sub1) this).anInt10317), (float) (((Class587_Sub23_Sub1) this).anInt10325));
			OpenGL.glVertex2i(1, 1);
			OpenGL.glTexCoord2f(0.0F, (float) (((Class587_Sub23_Sub1) this).anInt10325));
			OpenGL.glVertex2i(0, 1);
			OpenGL.glEnd();
		}
		((Class587_Sub23_Sub1) this).aClass171_Sub1_Sub3_10327.method16684(1);
		((Class587_Sub23_Sub1) this).aClass84_Sub3_9677.method15440(((Class587_Sub23_Sub1) this).aClass145_Sub4_10321);
		int i_35_ = (((Class157) ((Class587_Sub23_Sub1) this).aClass157_10328).anInt1879);
		OpenGL.glUseProgram(i_35_);
		OpenGL.glUniform1i(OpenGL.glGetUniformLocation(i_35_, "baseTex"), 0);
		OpenGL.glUniform3f(OpenGL.glGetUniformLocation(i_35_, "step"), 0.00390625F, 0.0F, 0.0F);
		OpenGL.glBegin(7);
		OpenGL.glTexCoord2f(0.0F, 0.0F);
		OpenGL.glVertex2i(0, 0);
		OpenGL.glTexCoord2f(1.0F, 0.0F);
		OpenGL.glVertex2i(1, 0);
		OpenGL.glTexCoord2f(1.0F, 1.0F);
		OpenGL.glVertex2i(1, 1);
		OpenGL.glTexCoord2f(0.0F, 1.0F);
		OpenGL.glVertex2i(0, 1);
		OpenGL.glEnd();
		((Class587_Sub23_Sub1) this).aClass171_Sub1_Sub3_10327.method16684(0);
		((Class587_Sub23_Sub1) this).aClass84_Sub3_9677.method15440(((Class587_Sub23_Sub1) this).aClass145_Sub4_10322);
		OpenGL.glUniform3f(OpenGL.glGetUniformLocation(i_35_, "step"), 0.0F, 0.00390625F, 0.0F);
		OpenGL.glBegin(7);
		OpenGL.glTexCoord2f(0.0F, 0.0F);
		OpenGL.glVertex2i(0, 0);
		OpenGL.glTexCoord2f(1.0F, 0.0F);
		OpenGL.glVertex2i(1, 0);
		OpenGL.glTexCoord2f(1.0F, 1.0F);
		OpenGL.glVertex2i(1, 1);
		OpenGL.glTexCoord2f(0.0F, 1.0F);
		OpenGL.glVertex2i(0, 1);
		OpenGL.glEnd();
		OpenGL.glPopAttrib();
		OpenGL.glPopMatrix();
		OpenGL.glMatrixMode(5888);
		((Class587_Sub23_Sub1) this).aClass84_Sub3_9677.method1896(((Class587_Sub23_Sub1) this).aClass171_Sub1_Sub3_10327, -45271581);
		int i_36_ = (((Class157) ((Class587_Sub23_Sub1) this).aClass157_10329).anInt1879);
		OpenGL.glUseProgram(i_36_);
		OpenGL.glUniform1i(OpenGL.glGetUniformLocation(i_36_, "sceneTex"), 0);
		OpenGL.glUniform1i(OpenGL.glGetUniformLocation(i_36_, "bloomTex"), 1);
		OpenGL.glUniform3f(OpenGL.glGetUniformLocation(i_36_, "params"), aFloat10311, aFloat10313, 0.0F);
		((Class587_Sub23_Sub1) this).aClass84_Sub3_9677.method15439(1);
		((Class587_Sub23_Sub1) this).aClass84_Sub3_9677.method15440(((Class587_Sub23_Sub1) this).aClass145_Sub4_10321);
		((Class587_Sub23_Sub1) this).aClass84_Sub3_9677.method15439(0);
		((Class587_Sub23_Sub1) this).aClass84_Sub3_9677.method15440(class145_sub4);
	}

	void method15848(int i, Class145_Sub4 class145_sub4, Class145_Sub4 class145_sub4_37_) {
		OpenGL.glPushAttrib(2048);
		OpenGL.glMatrixMode(5889);
		OpenGL.glPushMatrix();
		OpenGL.glLoadIdentity();
		OpenGL.glOrtho(0.0, 1.0, 0.0, 1.0, -1.0, 1.0);
		if (((Class587_Sub23_Sub1) this).aClass145_Sub4Array10312 != null) {
			((Class587_Sub23_Sub1) this).aClass84_Sub3_9677.method1895(((Class587_Sub23_Sub1) this).aClass171_Sub1_Sub3_10320, (byte) 51);
			int i_38_ = Class410_Sub1.method14173((((Class587_Sub23_Sub1) this).anInt10317), -1591561990);
			int i_39_ = Class410_Sub1.method14173((((Class587_Sub23_Sub1) this).anInt10325), -325381728);
			int i_40_ = 0;
			while (i_38_ > 256 || i_39_ > 256) {
				OpenGL.glViewport(0, 0, i_38_, i_39_);
				((Class587_Sub23_Sub1) this).aClass171_Sub1_Sub3_10320.method14732(0, ((Class587_Sub23_Sub1) this).aClass145_Sub4Array10312[i_40_].method16496(0));
				if (i_40_ == 0) {
					((Class587_Sub23_Sub1) this).aClass84_Sub3_9677.method15440(class145_sub4);
					OpenGL.glBegin(7);
					OpenGL.glTexCoord2f(0.0F, 0.0F);
					OpenGL.glVertex2i(0, 0);
					OpenGL.glTexCoord2f((float) (((Class587_Sub23_Sub1) this).anInt10317), 0.0F);
					OpenGL.glVertex2i(1, 0);
					OpenGL.glTexCoord2f((float) (((Class587_Sub23_Sub1) this).anInt10317), (float) (((Class587_Sub23_Sub1) this).anInt10325));
					OpenGL.glVertex2i(1, 1);
					OpenGL.glTexCoord2f(0.0F, (float) (((Class587_Sub23_Sub1) this).anInt10325));
					OpenGL.glVertex2i(0, 1);
					OpenGL.glEnd();
				} else {
					((Class587_Sub23_Sub1) this).aClass84_Sub3_9677.method15440(((Class587_Sub23_Sub1) this).aClass145_Sub4Array10312[i_40_ - 1]);
					OpenGL.glBegin(7);
					OpenGL.glTexCoord2f(0.0F, 0.0F);
					OpenGL.glVertex2i(0, 0);
					OpenGL.glTexCoord2f(1.0F, 0.0F);
					OpenGL.glVertex2i(1, 0);
					OpenGL.glTexCoord2f(1.0F, 1.0F);
					OpenGL.glVertex2i(1, 1);
					OpenGL.glTexCoord2f(0.0F, 1.0F);
					OpenGL.glVertex2i(0, 1);
					OpenGL.glEnd();
				}
				if (i_38_ > 256)
					i_38_ >>= 1;
				if (i_39_ > 256)
					i_39_ >>= 1;
				i_40_++;
			}
			((Class587_Sub23_Sub1) this).aClass84_Sub3_9677.method1896(((Class587_Sub23_Sub1) this).aClass171_Sub1_Sub3_10320, -45271581);
			((Class587_Sub23_Sub1) this).aClass84_Sub3_9677.method15440(((Class587_Sub23_Sub1) this).aClass145_Sub4Array10312[i_40_ - 1]);
			((Class587_Sub23_Sub1) this).aClass84_Sub3_9677.method1895(((Class587_Sub23_Sub1) this).aClass171_Sub1_Sub3_10327, (byte) 47);
			((Class587_Sub23_Sub1) this).aClass171_Sub1_Sub3_10327.method16684(0);
			OpenGL.glViewport(0, 0, 256, 256);
			int i_41_ = (((Class157) ((Class587_Sub23_Sub1) this).aClass157_10330).anInt1879);
			OpenGL.glUseProgram(i_41_);
			OpenGL.glUniform1i(OpenGL.glGetUniformLocation(i_41_, "sceneTex"), 0);
			OpenGL.glUniform3f(OpenGL.glGetUniformLocation(i_41_, "params"), aFloat10314, 0.0F, 0.0F);
			OpenGL.glBegin(7);
			OpenGL.glTexCoord2f(0.0F, 0.0F);
			OpenGL.glVertex2i(0, 0);
			OpenGL.glTexCoord2f(1.0F, 0.0F);
			OpenGL.glVertex2i(1, 0);
			OpenGL.glTexCoord2f(1.0F, 1.0F);
			OpenGL.glVertex2i(1, 1);
			OpenGL.glTexCoord2f(0.0F, 1.0F);
			OpenGL.glVertex2i(0, 1);
			OpenGL.glEnd();
		} else {
			((Class587_Sub23_Sub1) this).aClass84_Sub3_9677.method15440(class145_sub4);
			((Class587_Sub23_Sub1) this).aClass84_Sub3_9677.method1895(((Class587_Sub23_Sub1) this).aClass171_Sub1_Sub3_10327, (byte) 43);
			((Class587_Sub23_Sub1) this).aClass171_Sub1_Sub3_10327.method16684(0);
			OpenGL.glViewport(0, 0, 256, 256);
			int i_42_ = (((Class157) ((Class587_Sub23_Sub1) this).aClass157_10331).anInt1879);
			OpenGL.glUseProgram(i_42_);
			OpenGL.glUniform1i(OpenGL.glGetUniformLocation(i_42_, "sceneTex"), 0);
			OpenGL.glUniform3f(OpenGL.glGetUniformLocation(i_42_, "params"), aFloat10314, 0.0F, 0.0F);
			OpenGL.glBegin(7);
			OpenGL.glTexCoord2f(0.0F, 0.0F);
			OpenGL.glVertex2i(0, 0);
			OpenGL.glTexCoord2f((float) (((Class587_Sub23_Sub1) this).anInt10317), 0.0F);
			OpenGL.glVertex2i(1, 0);
			OpenGL.glTexCoord2f((float) (((Class587_Sub23_Sub1) this).anInt10317), (float) (((Class587_Sub23_Sub1) this).anInt10325));
			OpenGL.glVertex2i(1, 1);
			OpenGL.glTexCoord2f(0.0F, (float) (((Class587_Sub23_Sub1) this).anInt10325));
			OpenGL.glVertex2i(0, 1);
			OpenGL.glEnd();
		}
		((Class587_Sub23_Sub1) this).aClass171_Sub1_Sub3_10327.method16684(1);
		((Class587_Sub23_Sub1) this).aClass84_Sub3_9677.method15440(((Class587_Sub23_Sub1) this).aClass145_Sub4_10321);
		int i_43_ = (((Class157) ((Class587_Sub23_Sub1) this).aClass157_10328).anInt1879);
		OpenGL.glUseProgram(i_43_);
		OpenGL.glUniform1i(OpenGL.glGetUniformLocation(i_43_, "baseTex"), 0);
		OpenGL.glUniform3f(OpenGL.glGetUniformLocation(i_43_, "step"), 0.00390625F, 0.0F, 0.0F);
		OpenGL.glBegin(7);
		OpenGL.glTexCoord2f(0.0F, 0.0F);
		OpenGL.glVertex2i(0, 0);
		OpenGL.glTexCoord2f(1.0F, 0.0F);
		OpenGL.glVertex2i(1, 0);
		OpenGL.glTexCoord2f(1.0F, 1.0F);
		OpenGL.glVertex2i(1, 1);
		OpenGL.glTexCoord2f(0.0F, 1.0F);
		OpenGL.glVertex2i(0, 1);
		OpenGL.glEnd();
		((Class587_Sub23_Sub1) this).aClass171_Sub1_Sub3_10327.method16684(0);
		((Class587_Sub23_Sub1) this).aClass84_Sub3_9677.method15440(((Class587_Sub23_Sub1) this).aClass145_Sub4_10322);
		OpenGL.glUniform3f(OpenGL.glGetUniformLocation(i_43_, "step"), 0.0F, 0.00390625F, 0.0F);
		OpenGL.glBegin(7);
		OpenGL.glTexCoord2f(0.0F, 0.0F);
		OpenGL.glVertex2i(0, 0);
		OpenGL.glTexCoord2f(1.0F, 0.0F);
		OpenGL.glVertex2i(1, 0);
		OpenGL.glTexCoord2f(1.0F, 1.0F);
		OpenGL.glVertex2i(1, 1);
		OpenGL.glTexCoord2f(0.0F, 1.0F);
		OpenGL.glVertex2i(0, 1);
		OpenGL.glEnd();
		OpenGL.glPopAttrib();
		OpenGL.glPopMatrix();
		OpenGL.glMatrixMode(5888);
		((Class587_Sub23_Sub1) this).aClass84_Sub3_9677.method1896(((Class587_Sub23_Sub1) this).aClass171_Sub1_Sub3_10327, -45271581);
		int i_44_ = (((Class157) ((Class587_Sub23_Sub1) this).aClass157_10329).anInt1879);
		OpenGL.glUseProgram(i_44_);
		OpenGL.glUniform1i(OpenGL.glGetUniformLocation(i_44_, "sceneTex"), 0);
		OpenGL.glUniform1i(OpenGL.glGetUniformLocation(i_44_, "bloomTex"), 1);
		OpenGL.glUniform3f(OpenGL.glGetUniformLocation(i_44_, "params"), aFloat10311, aFloat10313, 0.0F);
		((Class587_Sub23_Sub1) this).aClass84_Sub3_9677.method15439(1);
		((Class587_Sub23_Sub1) this).aClass84_Sub3_9677.method15440(((Class587_Sub23_Sub1) this).aClass145_Sub4_10321);
		((Class587_Sub23_Sub1) this).aClass84_Sub3_9677.method15439(0);
		((Class587_Sub23_Sub1) this).aClass84_Sub3_9677.method15440(class145_sub4);
	}
}
