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

import jagdx.IDirect3DDevice;
import jagdx.IDirect3DTexture;

public class Class341_Sub2 extends Class341 implements Interface39 {
	float aFloat9964;
	int anInt9965;
	int anInt9966;
	boolean aBool9967;
	boolean aBool9968;
	float aFloat9969;

	public float method276() {
		return ((Class341_Sub2) this).aFloat9964;
	}

	Class341_Sub2(Class84_Sub1_Sub2 class84_sub1_sub2, Class172 class172, Class96 class96, int i, int i_0_, int i_1_, int i_2_) {
		super(class84_sub1_sub2, class172, class96, false, i * i_0_);
		if (!((Class84_Sub1_Sub2) ((Class341_Sub2) this).aClass84_Sub1_Sub2_5388).aBool10426) {
			((Class341_Sub2) this).anInt9965 = Class71.method1628(i, (byte) 116);
			((Class341_Sub2) this).anInt9966 = Class71.method1628(i_0_, (byte) 126);
			((Class341_Sub2) this).aFloat9969 = (float) i / (float) ((Class341_Sub2) this).anInt9965;
			((Class341_Sub2) this).aFloat9964 = (float) i_0_ / (float) ((Class341_Sub2) this).anInt9966;
		} else {
			((Class341_Sub2) this).anInt9965 = i;
			((Class341_Sub2) this).anInt9966 = i_0_;
			((Class341_Sub2) this).aFloat9969 = 1.0F;
			((Class341_Sub2) this).aFloat9964 = 1.0F;
		}
		((Class341_Sub2) this).aLong5392 = (IDirect3DDevice.CreateTexture(((Class84_Sub1_Sub2) ((Class341_Sub2) this).aClass84_Sub1_Sub2_5388).aLong10431, i, i_0_, 0, i_1_, Class84_Sub1_Sub2.method16638((((Class341_Sub2) this).aClass172_5389), (((Class341_Sub2) this).aClass96_5390)), i_2_));
	}

	public void method256(int i, int i_3_, int i_4_, int i_5_, byte[] is, Class172 class172, int i_6_, int i_7_) {
		if (((Class341_Sub2) this).aClass172_5389 != class172 || ((Class341_Sub2) this).aClass96_5390 != Class96.aClass96_1386)
			throw new RuntimeException();
		if (i_7_ == 0)
			i_7_ = i_4_;
		ByteBuffer bytebuffer = ((Class341_Sub2) this).aClass84_Sub1_Sub2_5388.aByteBuffer8876;
		bytebuffer.clear();
		bytebuffer.put(is, i_6_, i_7_ * i_5_);
		IDirect3DTexture.Upload(((Class341_Sub2) this).aLong5392, 0, i, i_3_, i_4_, i_5_, i_7_ * (((Class341_Sub2) this).aClass172_5389.anInt2153 * 1893733759), 0, ((Class341_Sub2) this).aClass84_Sub1_Sub2_5388.aLong8893);
	}

	public void method270(int i, int i_8_, int i_9_, int i_10_, int[] is, int i_11_, int i_12_) {
		if (((Class341_Sub2) this).aClass172_5389 != Class172.aClass172_2145 || ((Class341_Sub2) this).aClass96_5390 != Class96.aClass96_1386)
			throw new RuntimeException();
		if (i_12_ == 0)
			i_12_ = i_9_;
		ByteBuffer bytebuffer = ((Class341_Sub2) this).aClass84_Sub1_Sub2_5388.aByteBuffer8876;
		bytebuffer.clear();
		bytebuffer.asIntBuffer().put(is, i_11_, i_12_ * i_10_);
		IDirect3DTexture.Upload(((Class341_Sub2) this).aLong5392, 0, i, i_8_, i_9_, i_10_, i_12_ * (((Class341_Sub2) this).aClass172_5389.anInt2153 * 1893733759), 0, ((Class341_Sub2) this).aClass84_Sub1_Sub2_5388.aLong8893);
	}

	Class341_Sub2(Class84_Sub1_Sub2 class84_sub1_sub2, Class172 class172, int i, int i_13_, boolean bool, float[] fs, int i_14_, int i_15_) {
		super(class84_sub1_sub2, class172, Class96.aClass96_1386, bool && ((Class84_Sub1_Sub2) class84_sub1_sub2).aBool10437, i * i_13_);
		if (!((Class84_Sub1_Sub2) ((Class341_Sub2) this).aClass84_Sub1_Sub2_5388).aBool10426) {
			((Class341_Sub2) this).anInt9965 = Class71.method1628(i, (byte) 25);
			((Class341_Sub2) this).anInt9966 = Class71.method1628(i_13_, (byte) 99);
			((Class341_Sub2) this).aFloat9969 = (float) i / (float) ((Class341_Sub2) this).anInt9965;
			((Class341_Sub2) this).aFloat9964 = (float) i_13_ / (float) ((Class341_Sub2) this).anInt9966;
			if (i != ((Class341_Sub2) this).anInt9965 || i_13_ != ((Class341_Sub2) this).anInt9966) {
				fs = method16178(i, i_13_, ((Class341_Sub2) this).anInt9965, ((Class341_Sub2) this).anInt9966, fs, i_14_, i_15_, class172.anInt2153 * 1893733759);
				i_14_ = 0;
				i_15_ = ((Class341_Sub2) this).anInt9965;
			}
		} else {
			((Class341_Sub2) this).anInt9965 = i;
			((Class341_Sub2) this).anInt9966 = i_13_;
			((Class341_Sub2) this).aFloat9969 = 1.0F;
			((Class341_Sub2) this).aFloat9964 = 1.0F;
		}
		if (bool)
			((Class341_Sub2) this).aLong5392 = (IDirect3DDevice.CreateTexture((((Class84_Sub1_Sub2) ((Class341_Sub2) this).aClass84_Sub1_Sub2_5388).aLong10431), ((Class341_Sub2) this).anInt9965, ((Class341_Sub2) this).anInt9966, 0, 1024, Class84_Sub1_Sub2.method16638((((Class341_Sub2) this).aClass172_5389), Class96.aClass96_1393), 1));
		else
			((Class341_Sub2) this).aLong5392 = (IDirect3DDevice.CreateTexture((((Class84_Sub1_Sub2) ((Class341_Sub2) this).aClass84_Sub1_Sub2_5388).aLong10431), ((Class341_Sub2) this).anInt9965, ((Class341_Sub2) this).anInt9966, 1, 0, Class84_Sub1_Sub2.method16638((((Class341_Sub2) this).aClass172_5389), Class96.aClass96_1393), 1));
		if (i_15_ == 0)
			i_15_ = ((Class341_Sub2) this).anInt9965;
		ByteBuffer bytebuffer = ((Class341_Sub2) this).aClass84_Sub1_Sub2_5388.aByteBuffer8876;
		bytebuffer.clear();
		bytebuffer.asFloatBuffer().put(fs, i_14_, (i_15_ * ((Class341_Sub2) this).anInt9966 * ((((Class341_Sub2) this).aClass172_5389.anInt2153) * 1893733759)));
		IDirect3DTexture.Upload(((Class341_Sub2) this).aLong5392, 0, 0, 0, ((Class341_Sub2) this).anInt9965, ((Class341_Sub2) this).anInt9966, i_15_ * ((((Class341_Sub2) this).aClass172_5389.anInt2153) * 1893733759) * 4, 0, (((Class341_Sub2) this).aClass84_Sub1_Sub2_5388.aLong8893));
	}

	public int method51() {
		return ((Class341_Sub2) this).anInt9965;
	}

	byte[] method16177(int i, int i_16_, int i_17_, int i_18_, byte[] is, int i_19_, int i_20_, int i_21_) {
		byte[] is_22_ = new byte[i_17_ * i_18_ * i_21_];
		if (i_20_ == 0)
			i_20_ = i * i_21_;
		for (int i_23_ = 0; i_23_ < i_18_; i_23_++) {
			if (i_23_ < i_16_) {
				int i_24_ = i_19_ + i_23_ * i_20_;
				for (int i_25_ = 0; i_25_ < i; i_25_++) {
					for (int i_26_ = 0; i_26_ < i_21_; i_26_++)
						is_22_[i_17_ * i_23_ * i_21_ + i_25_ * i_21_ + i_26_] = is[i_24_ + i_25_ * i_21_ + i_26_];
				}
				byte[] is_27_ = new byte[i_21_];
				for (int i_28_ = 0; i_28_ < i_21_; i_28_++)
					is_27_[i_28_] = is[i_24_ + (i - 1) * i_21_ + i_28_];
				for (int i_29_ = i; i_29_ < i_17_; i_29_++) {
					for (int i_30_ = 0; i_30_ < i_21_; i_30_++)
						is_22_[i_17_ * i_23_ * i_21_ + i_29_ * i_21_ + i_30_] = is_27_[i_30_];
				}
			} else {
				int i_31_ = i_17_ * (i_16_ - 1) * i_21_;
				for (int i_32_ = 0; i_32_ < i_17_; i_32_++) {
					for (int i_33_ = 0; i_33_ < i_21_; i_33_++)
						is_22_[i_17_ * i_23_ * i_21_ + i_32_ * i_21_ + i_33_] = is_22_[i_31_ + i_32_ * i_21_ + i_33_];
				}
			}
		}
		return is_22_;
	}

	public float method252(float f) {
		return f / (float) ((Class341_Sub2) this).anInt9965;
	}

	public float method257() {
		return ((Class341_Sub2) this).aFloat9969;
	}

	public float method258() {
		return ((Class341_Sub2) this).aFloat9969;
	}

	public float method259() {
		return ((Class341_Sub2) this).aFloat9964;
	}

	public int method49() {
		return ((Class341_Sub2) this).anInt9966;
	}

	long method6443() {
		return ((Class341_Sub2) this).aLong5392;
	}

	public void method189(Class378 class378) {
		super.method189(class378);
	}

	public void method255(boolean bool, boolean bool_34_) {
		((Class341_Sub2) this).aBool9968 = bool;
		((Class341_Sub2) this).aBool9967 = bool_34_;
	}

	public int method149() {
		return ((Class341_Sub2) this).anInt9965;
	}

	public void method264(int i, int i_35_, int i_36_, int i_37_, int[] is, int i_38_, int i_39_) {
		if (((Class341_Sub2) this).aClass172_5389 != Class172.aClass172_2145 || ((Class341_Sub2) this).aClass96_5390 != Class96.aClass96_1386)
			throw new RuntimeException();
		if (i_39_ == 0)
			i_39_ = i_36_;
		ByteBuffer bytebuffer = ((Class341_Sub2) this).aClass84_Sub1_Sub2_5388.aByteBuffer8876;
		bytebuffer.clear();
		bytebuffer.asIntBuffer().put(is, i_38_, i_39_ * i_37_);
		IDirect3DTexture.Upload(((Class341_Sub2) this).aLong5392, 0, i, i_35_, i_36_, i_37_, i_39_ * (((Class341_Sub2) this).aClass172_5389.anInt2153 * 1893733759), 0, ((Class341_Sub2) this).aClass84_Sub1_Sub2_5388.aLong8893);
	}

	public void method53() {
		super.method54();
	}

	public void method190() {
		((Class341_Sub2) this).aClass84_Sub1_Sub2_5388.method16630(this);
	}

	public void method196(Class378 class378) {
		super.method189(class378);
	}

	long method6445() {
		return ((Class341_Sub2) this).aLong5392;
	}

	float[] method16178(int i, int i_40_, int i_41_, int i_42_, float[] fs, int i_43_, int i_44_, int i_45_) {
		float[] fs_46_ = new float[i_41_ * i_42_ * i_45_];
		if (i_44_ == 0)
			i_44_ = i * i_45_;
		for (int i_47_ = 0; i_47_ < i_42_; i_47_++) {
			if (i_47_ < i_40_) {
				int i_48_ = i_43_ + i_47_ * i_44_;
				for (int i_49_ = 0; i_49_ < i; i_49_++) {
					for (int i_50_ = 0; i_50_ < i_45_; i_50_++)
						fs_46_[i_41_ * i_47_ * i_45_ + i_49_ * i_45_ + i_50_] = fs[i_48_ + i_49_ * i_45_ + i_50_];
				}
				float[] fs_51_ = new float[i_45_];
				for (int i_52_ = 0; i_52_ < i_45_; i_52_++)
					fs_51_[i_52_] = fs[i_48_ + (i - 1) * i_45_ + i_52_];
				for (int i_53_ = i; i_53_ < i_41_; i_53_++) {
					for (int i_54_ = 0; i_54_ < i_45_; i_54_++)
						fs_46_[i_41_ * i_47_ * i_45_ + i_53_ * i_45_ + i_54_] = fs_51_[i_54_];
				}
			} else {
				int i_55_ = i_41_ * (i_40_ - 1) * i_45_;
				for (int i_56_ = 0; i_56_ < i_41_; i_56_++) {
					for (int i_57_ = 0; i_57_ < i_45_; i_57_++)
						fs_46_[i_41_ * i_47_ * i_45_ + i_56_ * i_45_ + i_57_] = fs_46_[i_55_ + i_56_ * i_45_ + i_57_];
				}
			}
		}
		return fs_46_;
	}

	byte[] method16179(int i, int i_58_, int i_59_, int i_60_, byte[] is, int i_61_, int i_62_, int i_63_) {
		byte[] is_64_ = new byte[i_59_ * i_60_ * i_63_];
		if (i_62_ == 0)
			i_62_ = i * i_63_;
		for (int i_65_ = 0; i_65_ < i_60_; i_65_++) {
			if (i_65_ < i_58_) {
				int i_66_ = i_61_ + i_65_ * i_62_;
				for (int i_67_ = 0; i_67_ < i; i_67_++) {
					for (int i_68_ = 0; i_68_ < i_63_; i_68_++)
						is_64_[i_59_ * i_65_ * i_63_ + i_67_ * i_63_ + i_68_] = is[i_66_ + i_67_ * i_63_ + i_68_];
				}
				byte[] is_69_ = new byte[i_63_];
				for (int i_70_ = 0; i_70_ < i_63_; i_70_++)
					is_69_[i_70_] = is[i_66_ + (i - 1) * i_63_ + i_70_];
				for (int i_71_ = i; i_71_ < i_59_; i_71_++) {
					for (int i_72_ = 0; i_72_ < i_63_; i_72_++)
						is_64_[i_59_ * i_65_ * i_63_ + i_71_ * i_63_ + i_72_] = is_69_[i_72_];
				}
			} else {
				int i_73_ = i_59_ * (i_58_ - 1) * i_63_;
				for (int i_74_ = 0; i_74_ < i_59_; i_74_++) {
					for (int i_75_ = 0; i_75_ < i_63_; i_75_++)
						is_64_[i_59_ * i_65_ * i_63_ + i_74_ * i_63_ + i_75_] = is_64_[i_73_ + i_74_ * i_63_ + i_75_];
				}
			}
		}
		return is_64_;
	}

	public int method267() {
		return ((Class341_Sub2) this).anInt9966;
	}

	public void method19() {
		super.method54();
	}

	public void method274(int i, int i_76_, int i_77_, int i_78_, byte[] is, Class172 class172, int i_79_, int i_80_) {
		if (((Class341_Sub2) this).aClass172_5389 != class172 || ((Class341_Sub2) this).aClass96_5390 != Class96.aClass96_1386)
			throw new RuntimeException();
		if (i_80_ == 0)
			i_80_ = i_77_;
		ByteBuffer bytebuffer = ((Class341_Sub2) this).aClass84_Sub1_Sub2_5388.aByteBuffer8876;
		bytebuffer.clear();
		bytebuffer.put(is, i_79_, i_80_ * i_78_);
		IDirect3DTexture.Upload(((Class341_Sub2) this).aLong5392, 0, i, i_76_, i_77_, i_78_, i_80_ * (((Class341_Sub2) this).aClass172_5389.anInt2153 * 1893733759), 0, ((Class341_Sub2) this).aClass84_Sub1_Sub2_5388.aLong8893);
	}

	public boolean method268() {
		return true;
	}

	public int method261() {
		return ((Class341_Sub2) this).anInt9965;
	}

	public int method203() {
		return ((Class341_Sub2) this).anInt9965;
	}

	int[] method16180(int i, int i_81_, int i_82_, int i_83_, int[] is, int i_84_, int i_85_) {
		int[] is_86_ = new int[i_82_ * i_83_];
		if (i_85_ == 0)
			i_85_ = i;
		for (int i_87_ = 0; i_87_ < i_83_; i_87_++) {
			if (i_87_ < i_81_) {
				int i_88_ = i_84_ + i_87_ * i_85_;
				for (int i_89_ = 0; i_89_ < i; i_89_++)
					is_86_[i_82_ * i_87_ + i_89_] = is[i_88_ + i_89_];
				int i_90_ = is[i_88_ + (i - 1)];
				for (int i_91_ = i; i_91_ < i_82_; i_91_++)
					is_86_[i_82_ * i_87_ + i_91_] = i_90_;
			} else {
				int i_92_ = i_82_ * (i_81_ - 1);
				for (int i_93_ = 0; i_93_ < i_82_; i_93_++)
					is_86_[i_82_ * i_87_ + i_93_] = is_86_[i_92_ + i_93_];
			}
		}
		return is_86_;
	}

	public float method265(float f) {
		return f / (float) ((Class341_Sub2) this).anInt9966;
	}

	public int method263() {
		return ((Class341_Sub2) this).anInt9966;
	}

	public void method23() {
		super.method54();
	}

	public float method282(float f) {
		return f / (float) ((Class341_Sub2) this).anInt9965;
	}

	public float method266(float f) {
		return f / (float) ((Class341_Sub2) this).anInt9965;
	}

	public boolean method281() {
		return true;
	}

	public int method148() {
		return ((Class341_Sub2) this).anInt9966;
	}

	public void method269(boolean bool, boolean bool_94_) {
		((Class341_Sub2) this).aBool9968 = bool;
		((Class341_Sub2) this).aBool9967 = bool_94_;
	}

	public void method275(int i, int i_95_, int i_96_, int i_97_, int[] is, int i_98_, int i_99_) {
		if (((Class341_Sub2) this).aClass172_5389 != Class172.aClass172_2145 || ((Class341_Sub2) this).aClass96_5390 != Class96.aClass96_1386)
			throw new RuntimeException();
		if (i_99_ == 0)
			i_99_ = i_96_;
		ByteBuffer bytebuffer = ((Class341_Sub2) this).aClass84_Sub1_Sub2_5388.aByteBuffer8876;
		bytebuffer.clear();
		bytebuffer.asIntBuffer().put(is, i_98_, i_99_ * i_97_);
		IDirect3DTexture.Upload(((Class341_Sub2) this).aLong5392, 0, i, i_95_, i_96_, i_97_, i_99_ * (((Class341_Sub2) this).aClass172_5389.anInt2153 * 1893733759), 0, ((Class341_Sub2) this).aClass84_Sub1_Sub2_5388.aLong8893);
	}

	public float method253(float f) {
		return f / (float) ((Class341_Sub2) this).anInt9966;
	}

	public void method271(int i, int i_100_, int i_101_, int i_102_, int[] is, int i_103_, int i_104_) {
		if (((Class341_Sub2) this).aClass172_5389 != Class172.aClass172_2145 || ((Class341_Sub2) this).aClass96_5390 != Class96.aClass96_1386)
			throw new RuntimeException();
		if (i_104_ == 0)
			i_104_ = i_101_;
		ByteBuffer bytebuffer = ((Class341_Sub2) this).aClass84_Sub1_Sub2_5388.aByteBuffer8876;
		bytebuffer.clear();
		bytebuffer.asIntBuffer().put(is, i_103_, i_104_ * i_102_);
		IDirect3DTexture.Upload(((Class341_Sub2) this).aLong5392, 0, i, i_100_, i_101_, i_102_, i_104_ * (((Class341_Sub2) this).aClass172_5389.anInt2153 * 1893733759), 0, ((Class341_Sub2) this).aClass84_Sub1_Sub2_5388.aLong8893);
	}

	public void method272(int i, int i_105_, int i_106_, int i_107_, byte[] is, Class172 class172, int i_108_, int i_109_) {
		if (((Class341_Sub2) this).aClass172_5389 != class172 || ((Class341_Sub2) this).aClass96_5390 != Class96.aClass96_1386)
			throw new RuntimeException();
		if (i_109_ == 0)
			i_109_ = i_106_;
		ByteBuffer bytebuffer = ((Class341_Sub2) this).aClass84_Sub1_Sub2_5388.aByteBuffer8876;
		bytebuffer.clear();
		bytebuffer.put(is, i_108_, i_109_ * i_107_);
		IDirect3DTexture.Upload(((Class341_Sub2) this).aLong5392, 0, i, i_105_, i_106_, i_107_, i_109_ * (((Class341_Sub2) this).aClass172_5389.anInt2153 * 1893733759), 0, ((Class341_Sub2) this).aClass84_Sub1_Sub2_5388.aLong8893);
	}

	public void method273(int i, int i_110_, int i_111_, int i_112_, byte[] is, Class172 class172, int i_113_, int i_114_) {
		if (((Class341_Sub2) this).aClass172_5389 != class172 || ((Class341_Sub2) this).aClass96_5390 != Class96.aClass96_1386)
			throw new RuntimeException();
		if (i_114_ == 0)
			i_114_ = i_111_;
		ByteBuffer bytebuffer = ((Class341_Sub2) this).aClass84_Sub1_Sub2_5388.aByteBuffer8876;
		bytebuffer.clear();
		bytebuffer.put(is, i_113_, i_114_ * i_112_);
		IDirect3DTexture.Upload(((Class341_Sub2) this).aLong5392, 0, i, i_110_, i_111_, i_112_, i_114_ * (((Class341_Sub2) this).aClass172_5389.anInt2153 * 1893733759), 0, ((Class341_Sub2) this).aClass84_Sub1_Sub2_5388.aLong8893);
	}

	public void method283(int i, int i_115_, int i_116_, int i_117_, int[] is, int i_118_) {
		if (((Class341_Sub2) this).aClass172_5389 != Class172.aClass172_2145 || ((Class341_Sub2) this).aClass96_5390 != Class96.aClass96_1386)
			throw new RuntimeException();
		ByteBuffer bytebuffer = ((Class341_Sub2) this).aClass84_Sub1_Sub2_5388.aByteBuffer8876;
		bytebuffer.clear();
		IDirect3DTexture.Download(((Class341_Sub2) this).aLong5392, 0, i, i_115_, i_116_, i_117_, i_116_ * 4, 0, (((Class341_Sub2) this).aClass84_Sub1_Sub2_5388.aLong8893));
		bytebuffer.asIntBuffer().get(is, i_118_, i_116_ * i_117_);
	}

	public void method254(int i, int i_119_, int i_120_, int i_121_, int[] is, int i_122_) {
		if (((Class341_Sub2) this).aClass172_5389 != Class172.aClass172_2145 || ((Class341_Sub2) this).aClass96_5390 != Class96.aClass96_1386)
			throw new RuntimeException();
		ByteBuffer bytebuffer = ((Class341_Sub2) this).aClass84_Sub1_Sub2_5388.aByteBuffer8876;
		bytebuffer.clear();
		IDirect3DTexture.Download(((Class341_Sub2) this).aLong5392, 0, i, i_119_, i_120_, i_121_, i_120_ * 4, 0, (((Class341_Sub2) this).aClass84_Sub1_Sub2_5388.aLong8893));
		bytebuffer.asIntBuffer().get(is, i_122_, i_120_ * i_121_);
	}

	public boolean method260() {
		return false;
	}

	public float method277() {
		return ((Class341_Sub2) this).aFloat9964;
	}

	public boolean method278() {
		return false;
	}

	public boolean method285() {
		return false;
	}

	public boolean method262() {
		return false;
	}

	public void method191() {
		((Class341_Sub2) this).aClass84_Sub1_Sub2_5388.method16630(this);
	}

	public void method192() {
		((Class341_Sub2) this).aClass84_Sub1_Sub2_5388.method16630(this);
	}

	public void method193(Class378 class378) {
		super.method189(class378);
	}

	public void method194(Class378 class378) {
		super.method189(class378);
	}

	Class341_Sub2(Class84_Sub1_Sub2 class84_sub1_sub2, Class172 class172, int i, int i_123_, boolean bool, byte[] is, int i_124_, int i_125_) {
		super(class84_sub1_sub2, class172, Class96.aClass96_1386, bool && ((Class84_Sub1_Sub2) class84_sub1_sub2).aBool10437, i * i_123_);
		if (!((Class84_Sub1_Sub2) ((Class341_Sub2) this).aClass84_Sub1_Sub2_5388).aBool10426) {
			((Class341_Sub2) this).anInt9965 = Class71.method1628(i, (byte) 16);
			((Class341_Sub2) this).anInt9966 = Class71.method1628(i_123_, (byte) 24);
			((Class341_Sub2) this).aFloat9969 = (float) i / (float) ((Class341_Sub2) this).anInt9965;
			((Class341_Sub2) this).aFloat9964 = (float) i_123_ / (float) ((Class341_Sub2) this).anInt9966;
			if (i != ((Class341_Sub2) this).anInt9965 || i_123_ != ((Class341_Sub2) this).anInt9966) {
				is = method16179(i, i_123_, ((Class341_Sub2) this).anInt9965, ((Class341_Sub2) this).anInt9966, is, i_124_, i_125_, class172.anInt2153 * 1893733759);
				i_124_ = 0;
				i_125_ = ((Class341_Sub2) this).anInt9965;
			}
		} else {
			((Class341_Sub2) this).anInt9965 = i;
			((Class341_Sub2) this).anInt9966 = i_123_;
			((Class341_Sub2) this).aFloat9969 = 1.0F;
			((Class341_Sub2) this).aFloat9964 = 1.0F;
		}
		if (bool)
			((Class341_Sub2) this).aLong5392 = (IDirect3DDevice.CreateTexture((((Class84_Sub1_Sub2) ((Class341_Sub2) this).aClass84_Sub1_Sub2_5388).aLong10431), ((Class341_Sub2) this).anInt9965, ((Class341_Sub2) this).anInt9966, 0, 1024, Class84_Sub1_Sub2.method16638((((Class341_Sub2) this).aClass172_5389), Class96.aClass96_1386), 1));
		else
			((Class341_Sub2) this).aLong5392 = (IDirect3DDevice.CreateTexture((((Class84_Sub1_Sub2) ((Class341_Sub2) this).aClass84_Sub1_Sub2_5388).aLong10431), ((Class341_Sub2) this).anInt9965, ((Class341_Sub2) this).anInt9966, 1, 0, Class84_Sub1_Sub2.method16638((((Class341_Sub2) this).aClass172_5389), Class96.aClass96_1386), 1));
		if (i_125_ == 0)
			i_125_ = ((Class341_Sub2) this).anInt9965;
		ByteBuffer bytebuffer = ((Class341_Sub2) this).aClass84_Sub1_Sub2_5388.aByteBuffer8876;
		bytebuffer.clear();
		if (((Class341_Sub2) this).aClass172_5389 == Class172.aClass172_2150) {
			bytebuffer.put(is, i_124_, (((Class341_Sub2) this).anInt9966 * ((Class341_Sub2) this).anInt9965 / 2));
			IDirect3DTexture.Upload(((Class341_Sub2) this).aLong5392, 0, 0, 0, ((Class341_Sub2) this).anInt9965, ((Class341_Sub2) this).anInt9966 / 4, ((Class341_Sub2) this).anInt9965 / 4 * 8, 0, (((Class341_Sub2) this).aClass84_Sub1_Sub2_5388.aLong8893));
		} else if (((Class341_Sub2) this).aClass172_5389 == Class172.aClass172_2151) {
			bytebuffer.put(is, i_124_, (((Class341_Sub2) this).anInt9966 * ((Class341_Sub2) this).anInt9965));
			IDirect3DTexture.Upload(((Class341_Sub2) this).aLong5392, 0, 0, 0, ((Class341_Sub2) this).anInt9965, ((Class341_Sub2) this).anInt9966 / 4, ((Class341_Sub2) this).anInt9965 / 4 * 16, 0, (((Class341_Sub2) this).aClass84_Sub1_Sub2_5388.aLong8893));
		} else {
			bytebuffer.put(is, i_124_, i_125_ * ((Class341_Sub2) this).anInt9966);
			IDirect3DTexture.Upload(((Class341_Sub2) this).aLong5392, 0, 0, 0, ((Class341_Sub2) this).anInt9965, ((Class341_Sub2) this).anInt9966, i_125_ * ((((Class341_Sub2) this).aClass172_5389.anInt2153) * 1893733759), 0, (((Class341_Sub2) this).aClass84_Sub1_Sub2_5388.aLong8893));
		}
	}

	public void method195(Class378 class378) {
		super.method189(class378);
	}

	long method6444() {
		return ((Class341_Sub2) this).aLong5392;
	}

	public boolean method18() {
		return true;
	}

	public void method279(int i, int i_126_, int i_127_, int i_128_, int[] is, int i_129_) {
		if (((Class341_Sub2) this).aClass172_5389 != Class172.aClass172_2145 || ((Class341_Sub2) this).aClass96_5390 != Class96.aClass96_1386)
			throw new RuntimeException();
		ByteBuffer bytebuffer = ((Class341_Sub2) this).aClass84_Sub1_Sub2_5388.aByteBuffer8876;
		bytebuffer.clear();
		IDirect3DTexture.Download(((Class341_Sub2) this).aLong5392, 0, i, i_126_, i_127_, i_128_, i_127_ * 4, 0, (((Class341_Sub2) this).aClass84_Sub1_Sub2_5388.aLong8893));
		bytebuffer.asIntBuffer().get(is, i_129_, i_127_ * i_128_);
	}

	public void method280(int i, int i_130_, int i_131_, int i_132_, int[] is, int i_133_) {
		if (((Class341_Sub2) this).aClass172_5389 != Class172.aClass172_2145 || ((Class341_Sub2) this).aClass96_5390 != Class96.aClass96_1386)
			throw new RuntimeException();
		ByteBuffer bytebuffer = ((Class341_Sub2) this).aClass84_Sub1_Sub2_5388.aByteBuffer8876;
		bytebuffer.clear();
		IDirect3DTexture.Download(((Class341_Sub2) this).aLong5392, 0, i, i_130_, i_131_, i_132_, i_131_ * 4, 0, (((Class341_Sub2) this).aClass84_Sub1_Sub2_5388.aLong8893));
		bytebuffer.asIntBuffer().get(is, i_133_, i_131_ * i_132_);
	}

	Class341_Sub2(Class84_Sub1_Sub2 class84_sub1_sub2, int i, int i_134_, boolean bool, int[] is, int i_135_, int i_136_) {
		super(class84_sub1_sub2, Class172.aClass172_2145, Class96.aClass96_1386, bool && ((Class84_Sub1_Sub2) class84_sub1_sub2).aBool10437, i * i_134_);
		if (!((Class84_Sub1_Sub2) ((Class341_Sub2) this).aClass84_Sub1_Sub2_5388).aBool10426) {
			((Class341_Sub2) this).anInt9965 = Class71.method1628(i, (byte) 94);
			((Class341_Sub2) this).anInt9966 = Class71.method1628(i_134_, (byte) 30);
			((Class341_Sub2) this).aFloat9969 = (float) i / (float) ((Class341_Sub2) this).anInt9965;
			((Class341_Sub2) this).aFloat9964 = (float) i_134_ / (float) ((Class341_Sub2) this).anInt9966;
			if (i != ((Class341_Sub2) this).anInt9965 || i_134_ != ((Class341_Sub2) this).anInt9966) {
				is = method16180(i, i_134_, ((Class341_Sub2) this).anInt9965, ((Class341_Sub2) this).anInt9966, is, i_135_, i_136_);
				i_135_ = 0;
				i_136_ = ((Class341_Sub2) this).anInt9965;
			}
		} else {
			((Class341_Sub2) this).anInt9965 = i;
			((Class341_Sub2) this).anInt9966 = i_134_;
			((Class341_Sub2) this).aFloat9969 = 1.0F;
			((Class341_Sub2) this).aFloat9964 = 1.0F;
		}
		if (bool)
			((Class341_Sub2) this).aLong5392 = (IDirect3DDevice.CreateTexture((((Class84_Sub1_Sub2) ((Class341_Sub2) this).aClass84_Sub1_Sub2_5388).aLong10431), ((Class341_Sub2) this).anInt9965, ((Class341_Sub2) this).anInt9966, 0, 1024, 21, 1));
		else
			((Class341_Sub2) this).aLong5392 = (IDirect3DDevice.CreateTexture((((Class84_Sub1_Sub2) ((Class341_Sub2) this).aClass84_Sub1_Sub2_5388).aLong10431), ((Class341_Sub2) this).anInt9965, ((Class341_Sub2) this).anInt9966, 1, 0, 21, 1));
		if (i_136_ == 0)
			i_136_ = ((Class341_Sub2) this).anInt9965;
		ByteBuffer bytebuffer = ((Class341_Sub2) this).aClass84_Sub1_Sub2_5388.aByteBuffer8876;
		bytebuffer.clear();
		bytebuffer.asIntBuffer().put(is, i_135_, i_136_ * ((Class341_Sub2) this).anInt9966);
		IDirect3DTexture.Upload(((Class341_Sub2) this).aLong5392, 0, 0, 0, ((Class341_Sub2) this).anInt9965, ((Class341_Sub2) this).anInt9966, i_136_ * ((((Class341_Sub2) this).aClass172_5389.anInt2153) * 1893733759), 0, (((Class341_Sub2) this).aClass84_Sub1_Sub2_5388.aLong8893));
	}

	public void method284(int i, int i_137_, int i_138_, int i_139_, int[] is, int i_140_) {
		if (((Class341_Sub2) this).aClass172_5389 != Class172.aClass172_2145 || ((Class341_Sub2) this).aClass96_5390 != Class96.aClass96_1386)
			throw new RuntimeException();
		ByteBuffer bytebuffer = ((Class341_Sub2) this).aClass84_Sub1_Sub2_5388.aByteBuffer8876;
		bytebuffer.clear();
		IDirect3DTexture.Download(((Class341_Sub2) this).aLong5392, 0, i, i_137_, i_138_, i_139_, i_138_ * 4, 0, (((Class341_Sub2) this).aClass84_Sub1_Sub2_5388.aLong8893));
		bytebuffer.asIntBuffer().get(is, i_140_, i_138_ * i_139_);
	}

	Class341_Sub2(Class84_Sub1_Sub2 class84_sub1_sub2, Class172 class172, Class96 class96, int i, int i_141_) {
		this(class84_sub1_sub2, class172, class96, i, i_141_, 0, 1);
	}

	public float method286(float f) {
		return f / (float) ((Class341_Sub2) this).anInt9966;
	}

	int[] method16181(int i, int i_142_, int i_143_, int i_144_, int[] is, int i_145_, int i_146_) {
		int[] is_147_ = new int[i_143_ * i_144_];
		if (i_146_ == 0)
			i_146_ = i;
		for (int i_148_ = 0; i_148_ < i_144_; i_148_++) {
			if (i_148_ < i_142_) {
				int i_149_ = i_145_ + i_148_ * i_146_;
				for (int i_150_ = 0; i_150_ < i; i_150_++)
					is_147_[i_143_ * i_148_ + i_150_] = is[i_149_ + i_150_];
				int i_151_ = is[i_149_ + (i - 1)];
				for (int i_152_ = i; i_152_ < i_143_; i_152_++)
					is_147_[i_143_ * i_148_ + i_152_] = i_151_;
			} else {
				int i_153_ = i_143_ * (i_142_ - 1);
				for (int i_154_ = 0; i_154_ < i_143_; i_154_++)
					is_147_[i_143_ * i_148_ + i_154_] = is_147_[i_153_ + i_154_];
			}
		}
		return is_147_;
	}

	public void method54() {
		super.method54();
	}

	byte[] method16182(int i, int i_155_, int i_156_, int i_157_, byte[] is, int i_158_, int i_159_, int i_160_) {
		byte[] is_161_ = new byte[i_156_ * i_157_ * i_160_];
		if (i_159_ == 0)
			i_159_ = i * i_160_;
		for (int i_162_ = 0; i_162_ < i_157_; i_162_++) {
			if (i_162_ < i_155_) {
				int i_163_ = i_158_ + i_162_ * i_159_;
				for (int i_164_ = 0; i_164_ < i; i_164_++) {
					for (int i_165_ = 0; i_165_ < i_160_; i_165_++)
						is_161_[(i_156_ * i_162_ * i_160_ + i_164_ * i_160_ + i_165_)] = is[i_163_ + i_164_ * i_160_ + i_165_];
				}
				byte[] is_166_ = new byte[i_160_];
				for (int i_167_ = 0; i_167_ < i_160_; i_167_++)
					is_166_[i_167_] = is[i_163_ + (i - 1) * i_160_ + i_167_];
				for (int i_168_ = i; i_168_ < i_156_; i_168_++) {
					for (int i_169_ = 0; i_169_ < i_160_; i_169_++)
						is_161_[(i_156_ * i_162_ * i_160_ + i_168_ * i_160_ + i_169_)] = is_166_[i_169_];
				}
			} else {
				int i_170_ = i_156_ * (i_155_ - 1) * i_160_;
				for (int i_171_ = 0; i_171_ < i_156_; i_171_++) {
					for (int i_172_ = 0; i_172_ < i_160_; i_172_++)
						is_161_[(i_156_ * i_162_ * i_160_ + i_171_ * i_160_ + i_172_)] = is_161_[i_170_ + i_171_ * i_160_ + i_172_];
				}
			}
		}
		return is_161_;
	}
}
