Seems your not setting the perspective Z value everywhere in your Model class such as in method443 (or whatever the method is called the one that implements Animable)
Seems your not setting the perspective Z value everywhere in your Model class such as in method443 (or whatever the method is called the one that implements Animable)
I poked around a bit and couldn't tell much myself. It seems that the objects look fine when facing dead-on, they just get obliterated when you see them otherwise.
Here's my current 443:
Code:
public final void method443(int i, int j, int k, int l, int i1, int j1,
int k1, int l1, int i2) {
int j2 = l1 * i1 - j1 * l >> 16;
int k2 = k1 * j + j2 * k >> 16;
int l2 = anInt1650 * k >> 16;
int i3 = k2 + l2;
if (i3 <= 50 || k2 >= 3500)
return;
int j3 = l1 * l + j1 * i1 >> 16;
int k3 = j3 - anInt1650 << 10;
if (k3 / i3 >= DrawingArea.centerY)
return;
int l3 = j3 + anInt1650 << 10;
if (l3 / i3 <= -DrawingArea.centerY)
return;
int i4 = k1 * k - j2 * j >> 16;
int j4 = anInt1650 * j >> 16;
int k4 = i4 + j4 << 10;
if (k4 / i3 <= -DrawingArea.anInt1387)
return;
int l4 = j4 + (super.modelHeight * k >> 16);
int i5 = i4 - l4 << 10;
if (i5 / i3 >= DrawingArea.anInt1387)
return;
int j5 = l2 + (super.modelHeight * j >> 16);
boolean flag = false;
if (k2 - j5 <= 50)
flag = true;
boolean flag1 = false;
if (i2 > 0 && aBoolean1684) {
int k5 = k2 - l2;
if (k5 <= 50)
k5 = 50;
if (j3 > 0) {
k3 /= i3;
l3 /= k5;
} else {
l3 /= i3;
k3 /= k5;
}
if (i4 > 0) {
i5 /= i3;
k4 /= k5;
} else {
k4 /= i3;
i5 /= k5;
}
int i6 = anInt1685 - Rasterizer.centerX;
int k6 = anInt1686 - Rasterizer.centerY;
if (i6 > k3 && i6 < l3 && k6 > i5 && k6 < k4)
if (aBoolean1659)
anIntArray1688[anInt1687++] = i2;
else
flag1 = true;
}
int l5 = Rasterizer.centerX;
int j6 = Rasterizer.centerY;
int l6 = 0;
int i7 = 0;
if (i != 0) {
l6 = modelIntArray1[i];
i7 = modelIntArray2[i];
}
for (int j7 = 0; j7 < anInt1626; j7++) {
int k7 = anIntArray1627[j7];
int l7 = anIntArray1628[j7];
int i8 = anIntArray1629[j7];
if (i != 0) {
int j8 = i8 * l6 + k7 * i7 >> 16;
i8 = i8 * i7 - k7 * l6 >> 16;
k7 = j8;
}
k7 += j1;
l7 += k1;
i8 += l1;
int k8 = i8 * l + k7 * i1 >> 16;
i8 = i8 * i1 - k7 * l >> 16;
k7 = k8;
k8 = l7 * k - i8 * j >> 16;
i8 = l7 * j + i8 * k >> 16;
l7 = k8;
anIntArray1667[j7] = i8 - k2;
vertexPerspectiveZB[j7] = i8;
if (i8 >= 50) {
anIntArray1665[j7] = l5 + (k7 << 10) / i8;
anIntArray1666[j7] = j6 + (l7 << 10) / i8;
} else {
anIntArray1665[j7] = -5000;
flag = true;
}
if (flag || anInt1642 > 0) {
anIntArray1668[j7] = k7;
anIntArray1669[j7] = l7;
anIntArray1670[j7] = i8;
}
}
try {
method483(flag, flag1, i2);
return;
} catch (Exception _ex) {
return;
}
}
I've tried swapping the ints around and out for others several times.
Originally Posted by Eternal
upload your scene, model & rasterizer class
Here is my Drawingarea: [Only registered and activated users can see links. ]
and Rasterizer: [Only registered and activated users can see links. ]
Mostly because I'm working with a client that I like in general. This has been the only issue I've run into so far.
Then I recommend that you go through your client manually and rename everything so that it is workable. Is it any wonder you run into issues when everything has an obfuscated name?