private final void method3995
	(int i, int i_417_, boolean bool, Class167 class167, Class109 class109,
	 int[] is, int[] is_418_, int[] is_419_, int[] is_420_, int i_421_) {
	Class198 class198 = aClass198ArrayArray8219[i][i_417_];
	if (i_421_ == 0 || (i_421_ & 0x2) == 0) {
	    if (class198 != null) {
		if (anInt8228 == -1) {
		    for (int i_422_ = 0;
			 i_422_ < ((Class198) class198).aShort2620; i_422_++) {
			int i_423_
			    = (((Class198) class198).aShortArray2622[i_422_]
			       + (i << ((s) this).anInt4588));
			int i_424_
			    = ((Class198) class198).aShortArray2618[i_422_];
			int i_425_
			    = (((Class198) class198).aShortArray2613[i_422_]
			       + (i_417_ << ((s) this).anInt4588));
			float f = aFloat8218 + (aFloat8233 * (float) i_423_
						+ aFloat8227 * (float) i_424_
						+ aFloat8231 * (float) i_425_);
			if (f <= (float) ((SoftwareToolkit) aHa_Sub1_8217).anInt7482)
			    return;
			is_420_[i_422_] = 0;
			if (bool) {
			    int i_426_
				= (int) (f - (float) (((Class167) class167)
						      .anInt2210));
			    if (i_426_ > 255)
				i_426_ = 255;
			    if (i_426_ > 0) {
				is_420_[i_422_] = i_426_;
				int i_427_ = ((((Class198) class198)
					       .aShortArray2621[i_422_])
					      * i_426_ / 255);
				if (i_427_ > 0)
				    i_424_ -= i_427_;
			    }
			} else if (((Class167) class167).aBoolean2201) {
			    int i_428_
				= (int) (f - (float) (((Class167) class167)
						      .anInt2210));
			    if (i_428_ > 0) {
				is_420_[i_422_] = i_428_;
				if (is_420_[i_422_] > 255)
				    is_420_[i_422_] = 255;
			    }
			}
			float f_429_
			    = aFloat8213 + (aFloat8212 * (float) i_423_
					    + aFloat8216 * (float) i_424_
					    + aFloat8224 * (float) i_425_);
			float f_430_
			    = aFloat8226 + (aFloat8214 * (float) i_423_
					    + aFloat8221 * (float) i_424_
					    + aFloat8229 * (float) i_425_);
			is[i_422_]
			    = (((Class109) class109).anInt1665
			       + (int) (f_429_
					* (float) (((SoftwareToolkit) aHa_Sub1_8217)
						   .anInt7491)
					/ f));
			is_418_[i_422_]
			    = (((Class109) class109).anInt1668
			       + (int) (f_430_
					* (float) (((SoftwareToolkit) aHa_Sub1_8217)
						   .anInt7497)
					/ f));
			is_419_[i_422_] = (int) f;
		    }
		} else {
		    for (int i_431_ = 0;
			 i_431_ < ((Class198) class198).aShort2620; i_431_++) {
			int i_432_
			    = (((Class198) class198).aShortArray2622[i_431_]
			       + (i << ((s) this).anInt4588));
			int i_433_
			    = ((Class198) class198).aShortArray2618[i_431_];
			int i_434_
			    = (((Class198) class198).aShortArray2613[i_431_]
			       + (i_417_ << ((s) this).anInt4588));
			float f = aFloat8218 + (aFloat8233 * (float) i_432_
						+ aFloat8227 * (float) i_433_
						+ aFloat8231 * (float) i_434_);
			is_420_[i_431_] = 0;
			if (bool) {
			    int i_435_
				= anInt8228 - ((Class167) class167).anInt2210;
			    if (i_435_ > 255)
				i_435_ = 255;
			    if (i_435_ > 0) {
				is_420_[i_431_] = i_435_;
				int i_436_ = ((((Class198) class198)
					       .aShortArray2621[i_431_])
					      * i_435_ / 255);
				if (i_436_ > 0)
				    i_433_ -= i_436_;
			    }
			} else if (((Class167) class167).aBoolean2201) {
			    int i_437_
				= anInt8228 - ((Class167) class167).anInt2210;
			    if (i_437_ > 0) {
				is_420_[i_431_] = i_437_;
				if (is_420_[i_431_] > 255)
				    is_420_[i_431_] = 255;
			    }
			}
			float f_438_
			    = aFloat8213 + (aFloat8212 * (float) i_432_
					    + aFloat8216 * (float) i_433_
					    + aFloat8224 * (float) i_434_);
			float f_439_
			    = aFloat8226 + (aFloat8214 * (float) i_432_
					    + aFloat8221 * (float) i_433_
					    + aFloat8229 * (float) i_434_);
			is[i_431_]
			    = (((Class109) class109).anInt1665
			       + (int) (f_438_
					* (float) (((SoftwareToolkit) aHa_Sub1_8217)
						   .anInt7491)
					/ (float) anInt8228));
			is_418_[i_431_]
			    = (((Class109) class109).anInt1668
			       + (int) (f_439_
					* (float) (((SoftwareToolkit) aHa_Sub1_8217)
						   .anInt7497)
					/ (float) anInt8228));
			is_419_[i_431_] = (int) f;
		    }
		}
		float f = (float) ((s) this).anInt4592;
		for (int i_440_ = 0; i_440_ < ((Class198) class198).aShort2619;
		     i_440_++) {
		    int i_441_ = i_440_ * 3;
		    int i_442_ = i_441_ + 1;
		    int i_443_ = i_442_ + 1;
		    int i_444_ = is[i_441_];
		    int i_445_ = is[i_442_];
		    int i_446_ = is[i_443_];
		    int i_447_ = is_418_[i_441_];
		    int i_448_ = is_418_[i_442_];
		    int i_449_ = is_418_[i_443_];
		    if (((i_444_ - i_445_) * (i_449_ - i_448_)
			 - (i_447_ - i_448_) * (i_446_ - i_445_))
			> 0) {
			((Class109) class109).aBoolean1671
			    = (i_444_ < 0 || i_445_ < 0 || i_446_ < 0
			       || i_444_ > ((Class109) class109).anInt1679
			       || i_445_ > ((Class109) class109).anInt1679
			       || i_446_ > ((Class109) class109).anInt1679);
			if (is_420_[i_441_] + is_420_[i_442_] + is_420_[i_443_]
			    < 765) {
			    int i_450_ = i << ((s) this).anInt4588;
			    int i_451_ = i_417_ << ((s) this).anInt4588;
			    if ((((Class198) class198).anIntArray2623[i_441_]
				 & 0xffffff)
				!= 0) {
				if (((((Class198) class198).aShortArray2616
				      [i_441_])
				     == (((Class198) class198).aShortArray2616
					 [i_442_]))
				    && ((((Class198) class198).aShortArray2616
					 [i_441_])
					== (((Class198) class198)
					    .aShortArray2616[i_443_]))
				    && ((((Class198) class198).aShortArray2614
					 [i_441_])
					== (((Class198) class198)
					    .aShortArray2614[i_442_]))
				    && ((((Class198) class198).aShortArray2614
					 [i_441_])
					== (((Class198) class198)
					    .aShortArray2614[i_443_])))
				    class109.method1024
					((float) i_447_, (float) i_448_,
					 (float) i_449_, (float) i_444_,
					 (float) i_445_, (float) i_446_,
					 (float) is_419_[i_441_],
					 (float) is_419_[i_442_],
					 (float) is_419_[i_443_],
					 ((float) (i_450_
						   + (((Class198) class198)
						      .aShortArray2622
						      [i_441_]))
					  / (float) (((Class198) class198)
						     .aShortArray2614
						     [i_441_])),
					 ((float) (i_450_
						   + (((Class198) class198)
						      .aShortArray2622
						      [i_442_]))
					  / (float) (((Class198) class198)
						     .aShortArray2614
						     [i_442_])),
					 ((float) (i_450_
						   + (((Class198) class198)
						      .aShortArray2622
						      [i_443_]))
					  / (float) (((Class198) class198)
						     .aShortArray2614
						     [i_443_])),
					 ((float) (i_451_
						   + (((Class198) class198)
						      .aShortArray2613
						      [i_441_]))
					  / (float) (((Class198) class198)
						     .aShortArray2614
						     [i_441_])),
					 ((float) (i_451_
						   + (((Class198) class198)
						      .aShortArray2613
						      [i_442_]))
					  / (float) (((Class198) class198)
						     .aShortArray2614
						     [i_442_])),
					 ((float) (i_451_
						   + (((Class198) class198)
						      .aShortArray2613
						      [i_443_]))
					  / (float) (((Class198) class198)
						     .aShortArray2614
						     [i_443_])),
					 (((Class198) class198).anIntArray2623
					  [i_441_]),
					 (((Class198) class198).anIntArray2623
					  [i_442_]),
					 (((Class198) class198).anIntArray2623
					  [i_443_]),
					 ((Class167) class167).anInt2192,
					 is_420_[i_441_], is_420_[i_442_],
					 is_420_[i_443_],
					 (((Class198) class198).aShortArray2616
					  [i_441_]));
				else
				    class109.method1020
					((float) i_447_, (float) i_448_,
					 (float) i_449_, (float) i_444_,
					 (float) i_445_, (float) i_446_,
					 (float) is_419_[i_441_],
					 (float) is_419_[i_442_],
					 (float) is_419_[i_443_],
					 (float) (i_450_
						  + (((Class198) class198)
						     .aShortArray2622
						     [i_441_])) / f,
					 (float) (i_450_
						  + (((Class198) class198)
						     .aShortArray2622
						     [i_442_])) / f,
					 (float) (i_450_
						  + (((Class198) class198)
						     .aShortArray2622
						     [i_443_])) / f,
					 (float) (i_451_
						  + (((Class198) class198)
						     .aShortArray2613
						     [i_441_])) / f,
					 (float) (i_451_
						  + (((Class198) class198)
						     .aShortArray2613
						     [i_442_])) / f,
					 (float) (i_451_
						  + (((Class198) class198)
						     .aShortArray2613
						     [i_443_])) / f,
					 (((Class198) class198).anIntArray2623
					  [i_441_]),
					 (((Class198) class198).anIntArray2623
					  [i_442_]),
					 (((Class198) class198).anIntArray2623
					  [i_443_]),
					 ((Class167) class167).anInt2192,
					 is_420_[i_441_], is_420_[i_442_],
					 is_420_[i_443_],
					 (((Class198) class198).aShortArray2616
					  [i_441_]),
					 f / (float) (((Class198) class198)
						      .aShortArray2614
						      [i_441_]),
					 (((Class198) class198).aShortArray2616
					  [i_442_]),
					 f / (float) (((Class198) class198)
						      .aShortArray2614
						      [i_442_]),
					 (((Class198) class198).aShortArray2616
					  [i_443_]),
					 f / (float) (((Class198) class198)
						      .aShortArray2614
						      [i_443_]));
			    }
			} else
			    class109.method1018((float) i_447_, (float) i_448_,
						(float) i_449_, (float) i_444_,
						(float) i_445_, (float) i_446_,
						(float) is_419_[i_441_],
						(float) is_419_[i_442_],
						(float) is_419_[i_443_],
						(((Class167) class167)
						 .anInt2192));
		    }
		}
	    }
	}
    }