public void method279(int i, int j, int k, int l, int i1, int j1, int k1, int l1, int i2, int j2, int k2, int l2, int i3, int j3, int k3, int l3, int i4, int j4, int k4, int l4) { if (l == 0) { Class43 class43 = new Class43(k2, l2, i3, j3, -1, k4, false); for (int i5 = i; i5 >= 0; i5--) if (groundArray[i5][j][k] == null) groundArray[i5][j][k] = new Ground(i5, j, k); groundArray[i][j][k].aClass43_1311 = class43; return; } if (l == 1) { Class43 class43_1 = new Class43(k3, l3, i4, j4, j1, l4, k1 == l1 && k1 == i2 && k1 == j2); for (int j5 = i; j5 >= 0; j5--) if (groundArray[j5][j][k] == null) groundArray[j5][j][k] = new Ground(j5, j, k); groundArray[i][j][k].aClass43_1311 = class43_1; return; } Class40 class40 = new Class40(k, k3, j3, i2, j1, i4, i1, k2, k4, i3, j2, l1, k1, l, j4, l3, l2, j, l4); for (int k5 = i; k5 >= 0; k5--) if (groundArray[k5][j][k] == null) groundArray[k5][j][k] = new Ground(k5, j, k); groundArray[i][j][k].aClass40_1312 = class40; }
private void method316(int i, int j, int k, Class40 class40, int l, int i1, int j1) { int k1 = class40.anIntArray673.Length; for (int l1 = 0; l1 < k1; l1++) { int i2 = class40.anIntArray673[l1] - anInt455; int k2 = class40.anIntArray674[l1] - anInt456; int i3 = class40.anIntArray675[l1] - anInt457; int k3 = i3 * k + i2 * j1 >> 16; i3 = i3 * j1 - i2 * k >> 16; i2 = k3; k3 = k2 * l - i3 * j >> 16; i3 = k2 * j + i3 * l >> 16; k2 = k3; if (i3 < 50) return; if (class40.anIntArray682 != null) { Class40.anIntArray690[l1] = i2; Class40.anIntArray691[l1] = k2; Class40.anIntArray692[l1] = i3; } Class40.anIntArray688[l1] = Rasterizer.center_x + (i2 << 9) / i3; Class40.anIntArray689[l1] = Rasterizer.center_y + (k2 << 9) / i3; } Rasterizer.alpha = 0; k1 = class40.anIntArray679.Length; for (int j2 = 0; j2 < k1; j2++) { int l2 = class40.anIntArray679[j2]; int j3 = class40.anIntArray680[j2]; int l3 = class40.anIntArray681[j2]; int i4 = Class40.anIntArray688[l2]; int j4 = Class40.anIntArray688[j3]; int k4 = Class40.anIntArray688[l3]; int l4 = Class40.anIntArray689[l2]; int i5 = Class40.anIntArray689[j3]; int j5 = Class40.anIntArray689[l3]; if ((i4 - j4) * (j5 - i5) - (l4 - i5) * (k4 - j4) > 0) { Rasterizer.aBoolean1462 = i4 < 0 || j4 < 0 || k4 < 0 || i4 > DrawingArea.centerX || j4 > DrawingArea.centerX || k4 > DrawingArea.centerX; if (aBoolean467 && method318(anInt468, anInt469, l4, i5, j5, i4, j4, k4)) { anInt470 = i; anInt471 = i1; } if (class40.anIntArray682 == null || class40.anIntArray682[j2] == -1) { if (class40.anIntArray676[j2] != 0xbc614e) Rasterizer.DrawShadedTriangle(l4, i5, j5, i4, j4, k4, class40.anIntArray676[j2], class40.anIntArray677[j2], class40.anIntArray678[j2]); } else if (!lowMem) { if (class40.aBoolean683) Rasterizer.DrawTexturedTriangle(l4, i5, j5, i4, j4, k4, class40.anIntArray676[j2], class40.anIntArray677[j2], class40.anIntArray678[j2], Class40.anIntArray690[0], Class40.anIntArray690[1], Class40.anIntArray690[3], Class40.anIntArray691[0], Class40.anIntArray691[1], Class40.anIntArray691[3], Class40.anIntArray692[0], Class40.anIntArray692[1], Class40.anIntArray692[3], class40.anIntArray682[j2]); else Rasterizer.DrawTexturedTriangle(l4, i5, j5, i4, j4, k4, class40.anIntArray676[j2], class40.anIntArray677[j2], class40.anIntArray678[j2], Class40.anIntArray690[l2], Class40.anIntArray690[j3], Class40.anIntArray690[l3], Class40.anIntArray691[l2], Class40.anIntArray691[j3], Class40.anIntArray691[l3], Class40.anIntArray692[l2], Class40.anIntArray692[j3], Class40.anIntArray692[l3], class40.anIntArray682[j2]); } else { int k5 = anIntArray485[class40.anIntArray682[j2]]; Rasterizer.DrawShadedTriangle(l4, i5, j5, i4, j4, k4, method317(k5, class40.anIntArray676[j2]), method317(k5, class40.anIntArray677[j2]), method317(k5, class40.anIntArray678[j2])); } } } }