final void method3978(int i, int i_60_, int[] is, int[] is_61_,
			  int[] is_62_, int[] is_63_, int[] is_64_,
			  int[] is_65_, int[] is_66_, int[] is_67_,
			  int[] is_68_, int[] is_69_, int[] is_70_, int i_71_,
			  int i_72_, int i_73_, boolean bool) {
	if (aClass102ArrayArray8215 == null) {
	    aClass102ArrayArray8215
		= new Class102[((s) this).anInt4587][((s) this).anInt4590];
	    aClass236ArrayArray8222
		= new Class236[((s) this).anInt4587][((s) this).anInt4590];
	} else if (aClass266ArrayArray8230 != null
		   || aClass198ArrayArray8219 != null)
	    throw new IllegalStateException();
	boolean bool_74_ = false;
	if (is_67_.length == 2 && is_64_.length == 2
	    && (is_67_[0] == is_67_[1]
		|| is_69_[0] != -1 && is_69_[0] == is_69_[1])) {
	    bool_74_ = true;
	    for (int i_75_ = 1; i_75_ < 2; i_75_++) {
		int i_76_ = is[is_64_[i_75_]];
		int i_77_ = is_62_[is_64_[i_75_]];
		if (i_76_ != 0 && i_76_ != ((s) this).anInt4592
		    || i_77_ != 0 && i_77_ != ((s) this).anInt4592) {
		    bool_74_ = false;
		    break;
		}
	    }
	}
	if (!bool_74_) {
	    Class236 class236 = new Class236();
	    short i_78_ = (short) is.length;
	    int i_79_ = (short) is_67_.length;
	    ((Class236) class236).aShort3089 = i_78_;
	    ((Class236) class236).aShortArray3088 = new short[i_78_];
	    ((Class236) class236).aShortArray3096 = new short[i_78_];
	    ((Class236) class236).aShortArray3097 = new short[i_78_];
	    ((Class236) class236).aShortArray3094 = new short[i_78_];
	    for (int i_80_ = 0; i_80_ < i_78_; i_80_++) {
		int i_81_ = is[i_80_];
		int i_82_ = is_62_[i_80_];
		if (i_81_ == 0 && i_82_ == 0)
		    ((Class236) class236).aShortArray3088[i_80_]
			= (short) (aByteArrayArray8220[i][i_60_]
				   - aByteArrayArray8232[i][i_60_]);
		else if (i_81_ == 0 && i_82_ == ((s) this).anInt4592)
		    ((Class236) class236).aShortArray3088[i_80_]
			= (short) (aByteArrayArray8220[i][i_60_ + 1]
				   - aByteArrayArray8232[i][i_60_ + 1]);
		else if (i_81_ == ((s) this).anInt4592
			 && i_82_ == ((s) this).anInt4592)
		    ((Class236) class236).aShortArray3088[i_80_]
			= (short) (aByteArrayArray8220[i + 1][i_60_ + 1]
				   - aByteArrayArray8232[i + 1][i_60_ + 1]);
		else if (i_81_ == ((s) this).anInt4592 && i_82_ == 0)
		    ((Class236) class236).aShortArray3088[i_80_]
			= (short) (aByteArrayArray8220[i + 1][i_60_]
				   - aByteArrayArray8232[i + 1][i_60_]);
		else {
		    int i_83_
			= (((aByteArrayArray8220[i][i_60_]
			     - aByteArrayArray8232[i][i_60_])
			    * (((s) this).anInt4592 - i_81_))
			   + (aByteArrayArray8220[i + 1][i_60_]
			      - aByteArrayArray8232[i + 1][i_60_]) * i_81_);
		    int i_84_ = (((aByteArrayArray8220[i][i_60_ + 1]
				   - aByteArrayArray8232[i][i_60_ + 1])
				  * (((s) this).anInt4592 - i_81_))
				 + ((aByteArrayArray8220[i + 1][i_60_ + 1]
				     - aByteArrayArray8232[i + 1][i_60_ + 1])
				    * i_81_));
		    ((Class236) class236).aShortArray3088[i_80_]
			= (short) ((i_83_ * (((s) this).anInt4592 - i_82_)
				    + i_84_ * i_82_)
				   >> 2 * ((s) this).anInt4588);
		}
		int i_85_ = (i << ((s) this).anInt4588) + i_81_;
		int i_86_ = (i_60_ << ((s) this).anInt4588) + i_82_;
		((Class236) class236).aShortArray3096[i_80_] = (short) i_81_;
		((Class236) class236).aShortArray3094[i_80_] = (short) i_82_;
		((Class236) class236).aShortArray3097[i_80_]
		    = (short) (this.method3986(i_85_, i_86_, (byte) 67)
			       + (is_61_ != null ? is_61_[i_80_] : 0));
		if (((Class236) class236).aShortArray3088[i_80_] < 2)
		    ((Class236) class236).aShortArray3088[i_80_] = (short) 2;
	    }
	    boolean bool_87_ = false;
	    int i_88_ = 0;
	    for (int i_89_ = 0; i_89_ < i_79_; i_89_++) {
		if (is_67_[i_89_] >= 0 || is_68_ != null && is_68_[i_89_] >= 0)
		    i_88_++;
		int i_90_ = is_69_[i_89_];
		if (i_90_ != -1) {
		    TextureDefinition class12
			= ((AbstractToolkit) aHa_Sub1_8217).aD4579.getTexture(i_90_, -6662);
		    if (!((TextureDefinition) class12).aBoolean209) {
			bool_87_ = true;
			if (method3997(((TextureDefinition) class12).aByte213)
			    || ((TextureDefinition) class12).aByte198 != 0
			    || ((TextureDefinition) class12).aByte211 != 0)
			    ((Class236) class236).aByte3100 |= 0x4;
		    }
		}
	    }
	    ((Class236) class236).anIntArray3093 = new int[i_88_];
	    if (is_68_ != null)
		((Class236) class236).anIntArray3092 = new int[i_88_];
	    ((Class236) class236).aShortArray3091 = new short[i_88_];
	    ((Class236) class236).aShortArray3090 = new short[i_88_];
	    ((Class236) class236).aShortArray3101 = new short[i_88_];
	    if (bool_87_) {
		((Class236) class236).aShortArray3095 = new short[i_88_];
		((Class236) class236).aShortArray3098 = new short[i_88_];
	    }
	    for (int i_91_ = 0; i_91_ < i_79_; i_91_++) {
		if (is_67_[i_91_] >= 0
		    || is_68_ != null && is_68_[i_91_] >= 0) {
		    if (is_67_[i_91_] >= 0)
			((Class236) class236).anIntArray3093
			    [((Class236) class236).aShort3099]
			    = Class25.method303(is_67_[i_91_], 30);
		    else
			((Class236) class236).anIntArray3093
			    [((Class236) class236).aShort3099]
			    = -1;
		    if (is_68_ != null) {
			if (is_68_[i_91_] != -1)
			    ((Class236) class236).anIntArray3092
				[((Class236) class236).aShort3099]
				= Class25.method303(is_68_[i_91_], 30);
			else
			    ((Class236) class236).anIntArray3092
				[((Class236) class236).aShort3099]
				= -1;
		    }
		    ((Class236) class236).aShortArray3091
			[((Class236) class236).aShort3099]
			= (short) is_64_[i_91_];
		    ((Class236) class236).aShortArray3090
			[((Class236) class236).aShort3099]
			= (short) is_65_[i_91_];
		    ((Class236) class236).aShortArray3101
			[((Class236) class236).aShort3099]
			= (short) is_66_[i_91_];
		    if (bool_87_) {
			if (is_69_[i_91_] != -1
			    && !(((TextureDefinition) ((AbstractToolkit) aHa_Sub1_8217).aD4579
						.getTexture(is_69_[i_91_], -6662))
				 .aBoolean209)) {
			    ((Class236) class236).aShortArray3095
				[((Class236) class236).aShort3099]
				= (short) is_69_[i_91_];
			    ((Class236) class236).aShortArray3098
				[((Class236) class236).aShort3099]
				= (short) is_70_[i_91_];
			} else
			    ((Class236) class236).aShortArray3095
				[((Class236) class236).aShort3099]
				= (short) -1;
		    }
		    ((Class236) class236).aShort3099++;
		}
	    }
	    aClass236ArrayArray8222[i][i_60_] = class236;
	} else if (is_67_[0] >= 0 || is_68_ != null && is_68_[0] >= 0) {
	    Class102 class102 = new Class102();
	    int i_92_ = is_67_[0];
	    int i_93_ = is_69_[0];
	    if (is_68_ != null) {
		((Class102) class102).anInt1600
		    = IndexTable.method2198(0,
					  (aByteArrayArray8220[i][i_60_]
					   - aByteArrayArray8232[i][i_60_]),
					  Class25.method303(is_68_[0], 30));
		if (i_92_ == -1)
		    ((Class102) class102).aByte1606 |= 0x2;
	    }
	    if ((((s) this).anIntArrayArray4584[i][i_60_]
		 == ((s) this).anIntArrayArray4584[i + 1][i_60_])
		&& (((s) this).anIntArrayArray4584[i][i_60_]
		    == ((s) this).anIntArrayArray4584[i + 1][i_60_ + 1])
		&& (((s) this).anIntArrayArray4584[i][i_60_]
		    == ((s) this).anIntArrayArray4584[i][i_60_ + 1]))
		((Class102) class102).aByte1606 |= 0x1;
	    TextureDefinition class12 = null;
	    if (i_93_ != -1)
		class12 = ((AbstractToolkit) aHa_Sub1_8217).aD4579.getTexture(i_93_, -6662);
	    if (class12 != null && (((Class102) class102).aByte1606 & 0x2) == 0
		&& !((TextureDefinition) class12).aBoolean209) {
		((Class102) class102).aShort1601
		    = (short) (aByteArrayArray8220[i][i_60_]
			       - aByteArrayArray8232[i][i_60_]);
		((Class102) class102).aShort1603
		    = (short) (aByteArrayArray8220[i + 1][i_60_]
			       - aByteArrayArray8232[i + 1][i_60_]);
		((Class102) class102).aShort1602
		    = (short) (aByteArrayArray8220[i + 1][i_60_ + 1]
			       - aByteArrayArray8232[i + 1][i_60_ + 1]);
		((Class102) class102).aShort1604
		    = (short) (aByteArrayArray8220[i][i_60_ + 1]
			       - aByteArrayArray8232[i][i_60_ + 1]);
		((Class102) class102).aShort1605 = (short) i_93_;
		if (method3997(((TextureDefinition) class12).aByte213)
		    || ((TextureDefinition) class12).aByte198 != 0
		    || ((TextureDefinition) class12).aByte211 != 0)
		    ((Class102) class102).aByte1606 |= 0x4;
	    } else {
		short i_94_ = Class25.method303(i_92_, 30);
		((Class102) class102).aShort1601
		    = (short) IndexTable.method2198(0, ((aByteArrayArray8220[i]
						       [i_60_])
						      - (aByteArrayArray8232[i]
							 [i_60_])), i_94_);
		((Class102) class102).aShort1603
		    = (short) IndexTable.method2198(0,
						  ((aByteArrayArray8220[i + 1]
						    [i_60_])
						   - (aByteArrayArray8232
						      [i + 1][i_60_])),
						  i_94_);
		((Class102) class102).aShort1602
		    = (short) IndexTable.method2198(0,
						  ((aByteArrayArray8220[i + 1]
						    [i_60_ + 1])
						   - (aByteArrayArray8232
						      [i + 1][i_60_ + 1])),
						  i_94_);
		((Class102) class102).aShort1604
		    = (short) IndexTable.method2198(0, ((aByteArrayArray8220[i]
						       [i_60_ + 1])
						      - (aByteArrayArray8232[i]
							 [i_60_ + 1])), i_94_);
		((Class102) class102).aShort1605 = (short) -1;
	    }
	    aClass102ArrayArray8215[i][i_60_] = class102;
	}
    }