public final void method183( Class11 aclass11[], WorldController worldController, int i, int j, int k, int l, byte abyte0[], int i1, int j1, int k1) { label0: { Stream stream = new Stream(abyte0); int l1 = -1; do { int i2 = stream.method422(); if (i2 == 0) break label0; l1 += i2; int j2 = 0; do { int k2 = stream.method422(); if (k2 == 0) break; j2 += k2 - 1; int l2 = j2 & 0x3f; int i3 = j2 >> 6 & 0x3f; int j3 = j2 >> 12; int k3 = stream.readUnsignedByte(); int l3 = k3 >> 2; int i4 = k3 & 3; if (j3 == i && i3 >= i1 && i3 < i1 + 8 && l2 >= k && l2 < k + 8) { ObjectDef class46 = ObjectDef.forID(l1); int j4 = j + Class4.method157(j1, class46.anInt761, i3 & 7, l2 & 7, class46.anInt744); int k4 = k1 + Class4.method158(l2 & 7, class46.anInt761, j1, class46.anInt744, i3 & 7); if (j4 > 0 && k4 > 0 && j4 < 103 && k4 < 103) { int l4 = j3; if ((aByteArrayArrayArray149[1][j4][k4] & 2) == 2) l4--; Class11 class11 = null; if (l4 >= 0) class11 = aclass11[l4]; method175(k4, worldController, class11, l3, l, j4, l1, i4 + j1 & 3); } } } while (true); } while (true); } }
public final void method179( int i, int j, Class11 aclass11[], int l, int i1, byte abyte0[], int j1, int k1, int l1) { for (int i2 = 0; i2 < 8; i2++) { for (int j2 = 0; j2 < 8; j2++) if (l + i2 > 0 && l + i2 < 103 && l1 + j2 > 0 && l1 + j2 < 103) aclass11[k1].anIntArrayArray294[l + i2][l1 + j2] &= 0xfeffffff; } Stream stream = new Stream(abyte0); for (int l2 = 0; l2 < 4; l2++) { for (int i3 = 0; i3 < 64; i3++) { for (int j3 = 0; j3 < 64; j3++) if (l2 == i && i3 >= i1 && i3 < i1 + 8 && j3 >= j1 && j3 < j1 + 8) method181( l1 + Class4.method156(j3 & 7, j, i3 & 7), 0, stream, l + Class4.method155(j, j3 & 7, i3 & 7), k1, j, 0); else method181(-1, 0, stream, -1, 0, 0, 0); } } }