Replace your method479 with mine:
Code:
public final void method479(int i, int j, int k, int l, int i1, boolean flag) {
int j1 = (int) Math.sqrt(k * k + l * l + i1 * i1);
int k1 = j * j1 >> 8;
if (anIntArray1634 == null) {
anIntArray1634 = new int[anInt1630];
anIntArray1635 = new int[anInt1630];
anIntArray1636 = new int[anInt1630];
}
if (super.aClass33Array1425 == null) {
super.aClass33Array1425 = new Class33[anInt1626];
for (int l1 = 0; l1 < anInt1626; l1++)
super.aClass33Array1425[l1] = new Class33();
}
for (int i2 = 0; i2 < anInt1630; i2++) {
if (anIntArray1640 != null && anIntArray1639 != null) {
if (anIntArray1640[i2] == 65535) {// Triangle fix
anIntArray1639[i2] = 255;
}
}
int j2 = anIntArray1631[i2];
int l2 = anIntArray1632[i2];
int i3 = anIntArray1633[i2];
int j3 = anIntArray1627[l2] - anIntArray1627[j2];
int k3 = anIntArray1628[l2] - anIntArray1628[j2];
int l3 = anIntArray1629[l2] - anIntArray1629[j2];
int i4 = anIntArray1627[i3] - anIntArray1627[j2];
int j4 = anIntArray1628[i3] - anIntArray1628[j2];
int k4 = anIntArray1629[i3] - anIntArray1629[j2];
int l4 = k3 * k4 - j4 * l3;
int i5 = l3 * i4 - k4 * j3;
int j5;
for (j5 = j3 * j4 - i4 * k3; l4 > 8192 || i5 > 8192 || j5 > 8192
|| l4 < -8192 || i5 < -8192 || j5 < -8192; j5 >>= 1) {
l4 >>= 1;
i5 >>= 1;
}
int k5 = (int) Math.sqrt(l4 * l4 + i5 * i5 + j5 * j5);
if (k5 <= 0)
k5 = 1;
l4 = (l4 * 256) / k5;
i5 = (i5 * 256) / k5;
j5 = (j5 * 256) / k5;
if (anIntArray1637 == null || (anIntArray1637[i2] & 1) == 0) {
Class33 class33_2 = super.aClass33Array1425[j2];
class33_2.anInt602 += l4;
class33_2.anInt603 += i5;
class33_2.anInt604 += j5;
class33_2.anInt605++;
class33_2 = super.aClass33Array1425[l2];
class33_2.anInt602 += l4;
class33_2.anInt603 += i5;
class33_2.anInt604 += j5;
class33_2.anInt605++;
class33_2 = super.aClass33Array1425[i3];
class33_2.anInt602 += l4;
class33_2.anInt603 += i5;
class33_2.anInt604 += j5;
class33_2.anInt605++;
} else {
int l5 = i + (k * l4 + l * i5 + i1 * j5) / (k1 + k1 / 2);
anIntArray1634[i2] = method481(anIntArray1640[i2], l5,
anIntArray1637[i2]);
}
}
if (flag) {
method480(i, k1, k, l, i1);
} else {
aClass33Array1660 = new Class33[anInt1626];
for (int k2 = 0; k2 < anInt1626; k2++) {
Class33 class33 = super.aClass33Array1425[k2];
Class33 class33_1 = aClass33Array1660[k2] = new Class33();
class33_1.anInt602 = class33.anInt602;
class33_1.anInt603 = class33.anInt603;
class33_1.anInt604 = class33.anInt604;
class33_1.anInt605 = class33.anInt605;
}
}
if (flag) {
method466();
return;
} else {
method468(21073);
return;
}
}
This doesn't include any unneeded triangle fixes, only the necessary one. Don't forget to avoid using K4rn4ge's 634 items! Some models (scimitars, sq shields, etc.) have unnecessary black triangles! Use 602 or 667 items instead!