/* Class99_Sub5 - Decompiled by JODE
 * Visit http://jode.sourceforge.net/
 */
import java.nio.ByteBuffer;

public class Class99_Sub5 extends Class99
{
    byte[] aByteArray9357 = new byte[512];
    Interface40 anInterface40_9358;
    Interface36 anInterface36_9359;
    int anInt9360;
    Class87_Sub2 aClass87_Sub2_9361;
    int anInt9362;
    
    void method2619(char c, int i, int i_0_, int i_1_, boolean bool) {
	if (((Class99_Sub5) this).aClass87_Sub2_9361.method15320()
	    != Class363.aClass363_5517) {
	    i += ((Class99_Sub5) this).aByteArray9357[c * '\002'];
	    i_0_ += ((Class99_Sub5) this).aByteArray9357[c * '\002' + '\001'];
	    ((Class87_Sub2) ((Class99_Sub5) this).aClass87_Sub2_9361)
		.aClass313_9238.method6127
		((float) i, (float) i_0_,
		 (float) (i + ((Class99_Sub5) this).anInt9360),
		 (float) (i_0_ + ((Class99_Sub5) this).anInt9360),
		 ((float) (c % '\020') / 16.0F
		  * ((Class99_Sub5) this).anInterface40_9358.method241()),
		 ((float) (c / '\020') / 16.0F
		  * ((Class99_Sub5) this).anInterface40_9358.method233()),
		 ((float) (c % '\020' + '\001') / 16.0F
		  * ((Class99_Sub5) this).anInterface40_9358.method241()),
		 ((float) (c / '\020' + '\001') / 16.0F
		  * ((Class99_Sub5) this).anInterface40_9358.method233()),
		 ((Class99_Sub5) this).anInterface40_9358, i_1_);
	} else {
	    ((Class99_Sub5) this).aClass87_Sub2_9361.method15352();
	    ((Class99_Sub5) this).aClass87_Sub2_9361.method15674(1);
	    Class371 class371
		= (((Class87_Sub2) ((Class99_Sub5) this).aClass87_Sub2_9361)
		   .aClass371_9242);
	    class371.anInterface40_5552
		= ((Class99_Sub5) this).anInterface40_9358;
	    class371.method6951(0, i_1_);
	    float f
		= (float) ((Class99_Sub5) this).aClass87_Sub2_9361.method2164
			      (741047539).method3826();
	    float f_2_
		= (float) ((Class99_Sub5) this).aClass87_Sub2_9361.method2164
			      (-833307939).method3836();
	    class371.aClass276_5551.method5461(2.0F / f, 2.0F / f_2_, 1.0F,
					       1.0F);
	    class371.aClass276_5551.aFloatArray4141[12]
		= (((float) i
		    + ((Class99_Sub5) this).aClass87_Sub2_9361.method15389())
		   * 2.0F / f) - 1.0F;
	    class371.aClass276_5551.aFloatArray4141[13]
		= (((float) i_0_
		    + ((Class99_Sub5) this).aClass87_Sub2_9361.method15389())
		   * 2.0F / f_2_) - 1.0F;
	    class371.aClass276_5551.aFloatArray4141[14] = -1.0F;
	    class371.aClass276_5555.method5472();
	    class371.anInterface36_5557
		= ((Class99_Sub5) this).anInterface36_9359;
	    class371.anInt5558 = c * '\004';
	    class371.aClass367_5556
		= (((Class87_Sub2) ((Class99_Sub5) this).aClass87_Sub2_9361)
		   .aClass367_9290);
	    class371.method6954();
	}
    }
    
    void method2614(char c, int i, int i_3_, int i_4_, boolean bool) {
	if (((Class99_Sub5) this).aClass87_Sub2_9361.method15320()
	    != Class363.aClass363_5517) {
	    i += ((Class99_Sub5) this).aByteArray9357[c * '\002'];
	    i_3_ += ((Class99_Sub5) this).aByteArray9357[c * '\002' + '\001'];
	    ((Class87_Sub2) ((Class99_Sub5) this).aClass87_Sub2_9361)
		.aClass313_9238.method6127
		((float) i, (float) i_3_,
		 (float) (i + ((Class99_Sub5) this).anInt9360),
		 (float) (i_3_ + ((Class99_Sub5) this).anInt9360),
		 ((float) (c % '\020') / 16.0F
		  * ((Class99_Sub5) this).anInterface40_9358.method241()),
		 ((float) (c / '\020') / 16.0F
		  * ((Class99_Sub5) this).anInterface40_9358.method233()),
		 ((float) (c % '\020' + '\001') / 16.0F
		  * ((Class99_Sub5) this).anInterface40_9358.method241()),
		 ((float) (c / '\020' + '\001') / 16.0F
		  * ((Class99_Sub5) this).anInterface40_9358.method233()),
		 ((Class99_Sub5) this).anInterface40_9358, i_4_);
	} else {
	    ((Class99_Sub5) this).aClass87_Sub2_9361.method15352();
	    ((Class99_Sub5) this).aClass87_Sub2_9361.method15674(1);
	    Class371 class371
		= (((Class87_Sub2) ((Class99_Sub5) this).aClass87_Sub2_9361)
		   .aClass371_9242);
	    class371.anInterface40_5552
		= ((Class99_Sub5) this).anInterface40_9358;
	    class371.method6951(0, i_4_);
	    float f
		= (float) ((Class99_Sub5) this).aClass87_Sub2_9361.method2164
			      (475516713).method3826();
	    float f_5_
		= (float) ((Class99_Sub5) this).aClass87_Sub2_9361.method2164
			      (-878986003).method3836();
	    class371.aClass276_5551.method5461(2.0F / f, 2.0F / f_5_, 1.0F,
					       1.0F);
	    class371.aClass276_5551.aFloatArray4141[12]
		= (((float) i
		    + ((Class99_Sub5) this).aClass87_Sub2_9361.method15389())
		   * 2.0F / f) - 1.0F;
	    class371.aClass276_5551.aFloatArray4141[13]
		= (((float) i_3_
		    + ((Class99_Sub5) this).aClass87_Sub2_9361.method15389())
		   * 2.0F / f_5_) - 1.0F;
	    class371.aClass276_5551.aFloatArray4141[14] = -1.0F;
	    class371.aClass276_5555.method5472();
	    class371.anInterface36_5557
		= ((Class99_Sub5) this).anInterface36_9359;
	    class371.anInt5558 = c * '\004';
	    class371.aClass367_5556
		= (((Class87_Sub2) ((Class99_Sub5) this).aClass87_Sub2_9361)
		   .aClass367_9290);
	    class371.method6954();
	}
    }
    
    void method2624(char c, int i, int i_6_, int i_7_, boolean bool,
		    Class171 class171, int i_8_, int i_9_) {
	/* empty */
    }
    
    Class99_Sub5(Class87_Sub2 class87_sub2, Class622 class622,
		 Class102_Sub1[] class102_sub1s, boolean bool) {
	super(class87_sub2, class622);
	((Class99_Sub5) this).aClass87_Sub2_9361 = class87_sub2;
	((Class99_Sub5) this).anInt9360 = 0;
	for (int i = 0; i < 256; i++) {
	    Class102_Sub1 class102_sub1 = class102_sub1s[i];
	    if (class102_sub1.anInt8806 > ((Class99_Sub5) this).anInt9360)
		((Class99_Sub5) this).anInt9360 = class102_sub1.anInt8806;
	    if (class102_sub1.anInt8813 > ((Class99_Sub5) this).anInt9360)
		((Class99_Sub5) this).anInt9360 = class102_sub1.anInt8813;
	}
	((Class99_Sub5) this).anInt9362 = ((Class99_Sub5) this).anInt9360 * 16;
	if (bool) {
	    byte[] is = new byte[(((Class99_Sub5) this).anInt9362
				  * ((Class99_Sub5) this).anInt9362)];
	    for (int i = 0; i < 256; i++) {
		Class102_Sub1 class102_sub1 = class102_sub1s[i];
		int i_10_ = class102_sub1.anInt8806;
		int i_11_ = class102_sub1.anInt8813;
		int i_12_ = i % 16 * ((Class99_Sub5) this).anInt9360;
		int i_13_ = i / 16 * ((Class99_Sub5) this).anInt9360;
		int i_14_ = i_13_ * ((Class99_Sub5) this).anInt9362 + i_12_;
		int i_15_ = 0;
		if (class102_sub1.aByteArray8807 == null) {
		    byte[] is_16_ = class102_sub1.aByteArray8814;
		    for (int i_17_ = 0; i_17_ < i_10_; i_17_++) {
			for (int i_18_ = 0; i_18_ < i_11_; i_18_++)
			    is[i_14_++]
				= (byte) (is_16_[i_15_++] == 0 ? 0 : -1);
			i_14_ += ((Class99_Sub5) this).anInt9362 - i_11_;
		    }
		} else {
		    byte[] is_19_ = class102_sub1.aByteArray8807;
		    for (int i_20_ = 0; i_20_ < i_10_; i_20_++) {
			for (int i_21_ = 0; i_21_ < i_11_; i_21_++)
			    is[i_14_++] = is_19_[i_15_++];
			i_14_ += ((Class99_Sub5) this).anInt9362 - i_11_;
		    }
		}
	    }
	    int[] is_22_ = new int[is.length];
	    for (int i = 0; i < is.length; i++)
		is_22_[i] = is[i] << 24 | 0xffffff;
	    ((Class99_Sub5) this).anInterface40_9358
		= class87_sub2.method15456(((Class99_Sub5) this).anInt9362,
					   ((Class99_Sub5) this).anInt9362,
					   false, is_22_);
	} else {
	    int[] is = new int[(((Class99_Sub5) this).anInt9362
				* ((Class99_Sub5) this).anInt9362)];
	    for (int i = 0; i < 256; i++) {
		Class102_Sub1 class102_sub1 = class102_sub1s[i];
		int[] is_23_ = class102_sub1.anIntArray8812;
		byte[] is_24_ = class102_sub1.aByteArray8807;
		byte[] is_25_ = class102_sub1.aByteArray8814;
		int i_26_ = class102_sub1.anInt8806;
		int i_27_ = class102_sub1.anInt8813;
		int i_28_ = i % 16 * ((Class99_Sub5) this).anInt9360;
		int i_29_ = i / 16 * ((Class99_Sub5) this).anInt9360;
		int i_30_ = i_29_ * ((Class99_Sub5) this).anInt9362 + i_28_;
		int i_31_ = 0;
		if (is_24_ != null) {
		    for (int i_32_ = 0; i_32_ < i_26_; i_32_++) {
			for (int i_33_ = 0; i_33_ < i_27_; i_33_++) {
			    is[i_30_++] = (is_24_[i_31_] << 24
					   | is_23_[is_25_[i_31_] & 0xff]);
			    i_31_++;
			}
			i_30_ += ((Class99_Sub5) this).anInt9362 - i_27_;
		    }
		} else {
		    for (int i_34_ = 0; i_34_ < i_26_; i_34_++) {
			for (int i_35_ = 0; i_35_ < i_27_; i_35_++) {
			    int i_36_;
			    if ((i_36_ = is_25_[i_31_++]) != 0)
				is[i_30_++] = ~0xffffff | is_23_[i_36_ & 0xff];
			    else
				i_30_++;
			}
			i_30_ += ((Class99_Sub5) this).anInt9362 - i_27_;
		    }
		}
	    }
	    ((Class99_Sub5) this).anInterface40_9358
		= class87_sub2.method15456(((Class99_Sub5) this).anInt9362,
					   ((Class99_Sub5) this).anInt9362,
					   false, is);
	}
	((Class99_Sub5) this).anInterface40_9358
	    .method318(Class369.aClass369_5544);
	((Class99_Sub5) this).anInterface36_9359
	    = class87_sub2.method15436(false);
	((Class99_Sub5) this).anInterface36_9359.method226(20480, 20);
	ByteBuffer bytebuffer
	    = ((Class99_Sub5) this).aClass87_Sub2_9361.aByteBuffer9139;
	bytebuffer.clear();
	float f = (((Class99_Sub5) this).anInterface40_9358
		       .method234((float) ((Class99_Sub5) this).anInt9362)
		   / (float) ((Class99_Sub5) this).anInt9362);
	float f_37_ = (((Class99_Sub5) this).anInterface40_9358
			   .method243((float) ((Class99_Sub5) this).anInt9362)
		       / (float) ((Class99_Sub5) this).anInt9362);
	for (int i = 0; i < 256; i++) {
	    Class102_Sub1 class102_sub1 = class102_sub1s[i];
	    int i_38_ = class102_sub1.anInt8806;
	    int i_39_ = class102_sub1.anInt8813;
	    int i_40_ = class102_sub1.anInt8810;
	    int i_41_ = class102_sub1.anInt8808;
	    float f_42_ = (float) (i % 16 * ((Class99_Sub5) this).anInt9360);
	    float f_43_ = (float) (i / 16 * ((Class99_Sub5) this).anInt9360);
	    float f_44_ = f_42_ * f;
	    float f_45_ = f_43_ * f_37_;
	    float f_46_ = (f_42_ + (float) i_39_) * f;
	    float f_47_ = (f_43_ + (float) i_38_) * f_37_;
	    bytebuffer.putFloat((float) i_41_);
	    bytebuffer.putFloat((float) i_40_);
	    bytebuffer.putFloat(0.0F);
	    bytebuffer.putFloat(f_44_);
	    bytebuffer.putFloat(f_45_);
	    bytebuffer.putFloat((float) i_41_);
	    bytebuffer.putFloat((float) (i_40_ + i_38_));
	    bytebuffer.putFloat(0.0F);
	    bytebuffer.putFloat(f_44_);
	    bytebuffer.putFloat(f_47_);
	    bytebuffer.putFloat((float) (i_41_ + i_39_));
	    bytebuffer.putFloat((float) (i_40_ + i_38_));
	    bytebuffer.putFloat(0.0F);
	    bytebuffer.putFloat(f_46_);
	    bytebuffer.putFloat(f_47_);
	    bytebuffer.putFloat((float) (i_41_ + i_39_));
	    bytebuffer.putFloat((float) i_40_);
	    bytebuffer.putFloat(0.0F);
	    bytebuffer.putFloat(f_46_);
	    bytebuffer.putFloat(f_45_);
	}
	((Class99_Sub5) this).anInterface36_9359.method228
	    (0, bytebuffer.position(),
	     ((Class99_Sub5) this).aClass87_Sub2_9361.aLong9140);
	for (int i = 0; i < 256; i++) {
	    Class102_Sub1 class102_sub1 = class102_sub1s[i];
	    ((Class99_Sub5) this).aByteArray9357[i * 2]
		= (byte) class102_sub1.anInt8808;
	    ((Class99_Sub5) this).aByteArray9357[i * 2 + 1]
		= (byte) class102_sub1.anInt8810;
	}
    }
    
    void method2627(char c, int i, int i_48_, int i_49_, boolean bool) {
	if (((Class99_Sub5) this).aClass87_Sub2_9361.method15320()
	    != Class363.aClass363_5517) {
	    i += ((Class99_Sub5) this).aByteArray9357[c * '\002'];
	    i_48_ += ((Class99_Sub5) this).aByteArray9357[c * '\002' + '\001'];
	    ((Class87_Sub2) ((Class99_Sub5) this).aClass87_Sub2_9361)
		.aClass313_9238.method6127
		((float) i, (float) i_48_,
		 (float) (i + ((Class99_Sub5) this).anInt9360),
		 (float) (i_48_ + ((Class99_Sub5) this).anInt9360),
		 ((float) (c % '\020') / 16.0F
		  * ((Class99_Sub5) this).anInterface40_9358.method241()),
		 ((float) (c / '\020') / 16.0F
		  * ((Class99_Sub5) this).anInterface40_9358.method233()),
		 ((float) (c % '\020' + '\001') / 16.0F
		  * ((Class99_Sub5) this).anInterface40_9358.method241()),
		 ((float) (c / '\020' + '\001') / 16.0F
		  * ((Class99_Sub5) this).anInterface40_9358.method233()),
		 ((Class99_Sub5) this).anInterface40_9358, i_49_);
	} else {
	    ((Class99_Sub5) this).aClass87_Sub2_9361.method15352();
	    ((Class99_Sub5) this).aClass87_Sub2_9361.method15674(1);
	    Class371 class371
		= (((Class87_Sub2) ((Class99_Sub5) this).aClass87_Sub2_9361)
		   .aClass371_9242);
	    class371.anInterface40_5552
		= ((Class99_Sub5) this).anInterface40_9358;
	    class371.method6951(0, i_49_);
	    float f
		= (float) ((Class99_Sub5) this).aClass87_Sub2_9361.method2164
			      (163721744).method3826();
	    float f_50_
		= (float) ((Class99_Sub5) this).aClass87_Sub2_9361.method2164
			      (-31351623).method3836();
	    class371.aClass276_5551.method5461(2.0F / f, 2.0F / f_50_, 1.0F,
					       1.0F);
	    class371.aClass276_5551.aFloatArray4141[12]
		= (((float) i
		    + ((Class99_Sub5) this).aClass87_Sub2_9361.method15389())
		   * 2.0F / f) - 1.0F;
	    class371.aClass276_5551.aFloatArray4141[13]
		= (((float) i_48_
		    + ((Class99_Sub5) this).aClass87_Sub2_9361.method15389())
		   * 2.0F / f_50_) - 1.0F;
	    class371.aClass276_5551.aFloatArray4141[14] = -1.0F;
	    class371.aClass276_5555.method5472();
	    class371.anInterface36_5557
		= ((Class99_Sub5) this).anInterface36_9359;
	    class371.anInt5558 = c * '\004';
	    class371.aClass367_5556
		= (((Class87_Sub2) ((Class99_Sub5) this).aClass87_Sub2_9361)
		   .aClass367_9290);
	    class371.method6954();
	}
    }
    
    void method2628(char c, int i, int i_51_, int i_52_, boolean bool) {
	if (((Class99_Sub5) this).aClass87_Sub2_9361.method15320()
	    != Class363.aClass363_5517) {
	    i += ((Class99_Sub5) this).aByteArray9357[c * '\002'];
	    i_51_ += ((Class99_Sub5) this).aByteArray9357[c * '\002' + '\001'];
	    ((Class87_Sub2) ((Class99_Sub5) this).aClass87_Sub2_9361)
		.aClass313_9238.method6127
		((float) i, (float) i_51_,
		 (float) (i + ((Class99_Sub5) this).anInt9360),
		 (float) (i_51_ + ((Class99_Sub5) this).anInt9360),
		 ((float) (c % '\020') / 16.0F
		  * ((Class99_Sub5) this).anInterface40_9358.method241()),
		 ((float) (c / '\020') / 16.0F
		  * ((Class99_Sub5) this).anInterface40_9358.method233()),
		 ((float) (c % '\020' + '\001') / 16.0F
		  * ((Class99_Sub5) this).anInterface40_9358.method241()),
		 ((float) (c / '\020' + '\001') / 16.0F
		  * ((Class99_Sub5) this).anInterface40_9358.method233()),
		 ((Class99_Sub5) this).anInterface40_9358, i_52_);
	} else {
	    ((Class99_Sub5) this).aClass87_Sub2_9361.method15352();
	    ((Class99_Sub5) this).aClass87_Sub2_9361.method15674(1);
	    Class371 class371
		= (((Class87_Sub2) ((Class99_Sub5) this).aClass87_Sub2_9361)
		   .aClass371_9242);
	    class371.anInterface40_5552
		= ((Class99_Sub5) this).anInterface40_9358;
	    class371.method6951(0, i_52_);
	    float f
		= (float) ((Class99_Sub5) this).aClass87_Sub2_9361.method2164
			      (556707365).method3826();
	    float f_53_
		= (float) ((Class99_Sub5) this).aClass87_Sub2_9361.method2164
			      (-300506077).method3836();
	    class371.aClass276_5551.method5461(2.0F / f, 2.0F / f_53_, 1.0F,
					       1.0F);
	    class371.aClass276_5551.aFloatArray4141[12]
		= (((float) i
		    + ((Class99_Sub5) this).aClass87_Sub2_9361.method15389())
		   * 2.0F / f) - 1.0F;
	    class371.aClass276_5551.aFloatArray4141[13]
		= (((float) i_51_
		    + ((Class99_Sub5) this).aClass87_Sub2_9361.method15389())
		   * 2.0F / f_53_) - 1.0F;
	    class371.aClass276_5551.aFloatArray4141[14] = -1.0F;
	    class371.aClass276_5555.method5472();
	    class371.anInterface36_5557
		= ((Class99_Sub5) this).anInterface36_9359;
	    class371.anInt5558 = c * '\004';
	    class371.aClass367_5556
		= (((Class87_Sub2) ((Class99_Sub5) this).aClass87_Sub2_9361)
		   .aClass367_9290);
	    class371.method6954();
	}
    }
    
    void method2629(char c, int i, int i_54_, int i_55_, boolean bool) {
	if (((Class99_Sub5) this).aClass87_Sub2_9361.method15320()
	    != Class363.aClass363_5517) {
	    i += ((Class99_Sub5) this).aByteArray9357[c * '\002'];
	    i_54_ += ((Class99_Sub5) this).aByteArray9357[c * '\002' + '\001'];
	    ((Class87_Sub2) ((Class99_Sub5) this).aClass87_Sub2_9361)
		.aClass313_9238.method6127
		((float) i, (float) i_54_,
		 (float) (i + ((Class99_Sub5) this).anInt9360),
		 (float) (i_54_ + ((Class99_Sub5) this).anInt9360),
		 ((float) (c % '\020') / 16.0F
		  * ((Class99_Sub5) this).anInterface40_9358.method241()),
		 ((float) (c / '\020') / 16.0F
		  * ((Class99_Sub5) this).anInterface40_9358.method233()),
		 ((float) (c % '\020' + '\001') / 16.0F
		  * ((Class99_Sub5) this).anInterface40_9358.method241()),
		 ((float) (c / '\020' + '\001') / 16.0F
		  * ((Class99_Sub5) this).anInterface40_9358.method233()),
		 ((Class99_Sub5) this).anInterface40_9358, i_55_);
	} else {
	    ((Class99_Sub5) this).aClass87_Sub2_9361.method15352();
	    ((Class99_Sub5) this).aClass87_Sub2_9361.method15674(1);
	    Class371 class371
		= (((Class87_Sub2) ((Class99_Sub5) this).aClass87_Sub2_9361)
		   .aClass371_9242);
	    class371.anInterface40_5552
		= ((Class99_Sub5) this).anInterface40_9358;
	    class371.method6951(0, i_55_);
	    float f
		= (float) ((Class99_Sub5) this).aClass87_Sub2_9361.method2164
			      (-557468084).method3826();
	    float f_56_
		= (float) ((Class99_Sub5) this).aClass87_Sub2_9361.method2164
			      (-528357026).method3836();
	    class371.aClass276_5551.method5461(2.0F / f, 2.0F / f_56_, 1.0F,
					       1.0F);
	    class371.aClass276_5551.aFloatArray4141[12]
		= (((float) i
		    + ((Class99_Sub5) this).aClass87_Sub2_9361.method15389())
		   * 2.0F / f) - 1.0F;
	    class371.aClass276_5551.aFloatArray4141[13]
		= (((float) i_54_
		    + ((Class99_Sub5) this).aClass87_Sub2_9361.method15389())
		   * 2.0F / f_56_) - 1.0F;
	    class371.aClass276_5551.aFloatArray4141[14] = -1.0F;
	    class371.aClass276_5555.method5472();
	    class371.anInterface36_5557
		= ((Class99_Sub5) this).anInterface36_9359;
	    class371.anInt5558 = c * '\004';
	    class371.aClass367_5556
		= (((Class87_Sub2) ((Class99_Sub5) this).aClass87_Sub2_9361)
		   .aClass367_9290);
	    class371.method6954();
	}
    }
    
    void method2647(char c, int i, int i_57_, int i_58_, boolean bool,
		    Class171 class171, int i_59_, int i_60_) {
	/* empty */
    }
    
    void method2648(char c, int i, int i_61_, int i_62_, boolean bool,
		    Class171 class171, int i_63_, int i_64_) {
	/* empty */
    }
}
