private ObjectDef makeObjectDef(LocalObject localObj) { ObjectDef def = new ObjectDef(); def.objectName = localObj.objectName; def.objectId = localObj.objectId; def.methods = localObj.methods; return def; }
public static void method173(Stream stream, OnDemandFetcher class42_sub1) { label0: { int i = -1; do { int j = stream.method422(); if (j == 0) break label0; i += j; ObjectDef class46 = ObjectDef.forID(i); class46.method574(class42_sub1); do { int k = stream.method422(); if (k == 0) break; stream.readUnsignedByte(); } while (true); } while (true); } }
@Override public void generate(DB[] dbs) throws IOException, GeneratorException, MergeException { // Use the latest database for retrieving package names DB db = dbs[dbs.length - 1]; // // Create SDOLibrary.java classes... // for (ObjectDef currentObj : db.getObjects()) { if (currentObj.isTopic()) { // Generate the package-specific SDOLibrary classes... String dir = fDir + "mappings" + File.separator + currentObj.fPackage; File md = new File(dir); md.mkdirs(); String fName = dir + File.separator + currentObj.getName() + ".xml"; Map<String, String> enums = new HashMap<String, String>(); System.out.println("- Generating: " + fName); PrintWriter out = new PrintWriter(new FileWriter(fName), true); out.println("<mappings id=\"Default\">"); out.println("<!-- ============================== -->"); out.println("<!-- Mappings for " + currentObj.getName() + " -->"); out.println("<!-- ============================== -->"); out.println("<object object=\"" + currentObj.getName() + "\">"); printMappings(db, currentObj, out, null, null, enums); out.println("</object>"); out.println(); for (String key : enums.keySet()) { EnumDef def = db.getEnum(key); if (def != null) { writeValueSet(def, out, enums.get(key)); } } out.println("</mappings>"); out.close(); } } }
public static boolean method189( int i, byte[] is, int i_250_) // xxx bad method, decompiled with JODE { boolean bool = true; Stream stream = new Stream(is); int i_252_ = -1; for (; ; ) { int i_253_ = stream.method422(); if (i_253_ == 0) break; i_252_ += i_253_; int i_254_ = 0; boolean bool_255_ = false; for (; ; ) { if (bool_255_) { int i_256_ = stream.method422(); if (i_256_ == 0) break; stream.readUnsignedByte(); } else { int i_257_ = stream.method422(); if (i_257_ == 0) break; i_254_ += i_257_ - 1; int i_258_ = i_254_ & 0x3f; int i_259_ = i_254_ >> 6 & 0x3f; int i_260_ = stream.readUnsignedByte() >> 2; int i_261_ = i_259_ + i; int i_262_ = i_258_ + i_250_; if (i_261_ > 0 && i_262_ > 0 && i_261_ < 103 && i_262_ < 103) { ObjectDef class46 = ObjectDef.forID(i_252_); if (i_260_ != 22 || !lowMem || class46.hasActions || class46.aBoolean736) { bool &= class46.method579(); bool_255_ = true; } } } } } return bool; }
public void load() { try { System.out.println("----- REGION_MANAGER -----"); long start = System.nanoTime(); ObjectDef.loadConfig(); File f = new File("./Data/world/map_index"); byte[] buffer = new byte[(int) f.length()]; DataInputStream dis = new DataInputStream(new FileInputStream(f)); dis.readFully(buffer); dis.close(); ByteStream in = new ByteStream(buffer); int size = in.length() / 7; regions = new Region[size]; int[] regionIds = new int[size]; int[] mapGroundFileIds = new int[size]; int[] mapObjectsFileIds = new int[size]; boolean[] isMembers = new boolean[size]; for (int i = 0; i < size; i++) { regionIds[i] = in.getUShort(); mapGroundFileIds[i] = in.getUShort(); mapObjectsFileIds[i] = in.getUShort(); isMembers[i] = in.getUByte() == 0; } for (int i = 0; i < size; i++) { regions[i] = new Region(regionIds[i], isMembers[i]); } for (int i = 0; i < size; i++) { byte[] file1 = getBuffer(new File("./Data/world/map/" + mapObjectsFileIds[i] + ".gz")); byte[] file2 = getBuffer(new File("./Data/world/map/" + mapGroundFileIds[i] + ".gz")); if (file1 == null || file2 == null) { continue; } try { loadMaps(regionIds[i], new ByteStream(file1), new ByteStream(file2)); } catch (Exception e) { System.out.println("Error loading map region: " + regionIds[i]); } } System.out.println("\tMaps loaded in " + ((System.nanoTime() - start) / 1000000) + " ms"); start = System.nanoTime(); WalkingCheck.load(); System.out.println("\tClipping loaded in " + ((System.nanoTime() - start) / 1000000) + " ms"); } catch (Exception e) { e.printStackTrace(); } }
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 void addObject(int objectId, int x, int y, int height, int type, int direction) { ObjectDef def = ObjectDef.getObjectDef(objectId); if (def == null) { return; } int xLength; int yLength; if (direction != 1 && direction != 3) { xLength = def.xLength(); yLength = def.yLength(); } else { xLength = def.yLength(); yLength = def.xLength(); } if (type == 22) { if (def.hasActions() && def.solid()) { addClipping(x, y, height, 0x200000); } } else if (type >= 9) { if (def.solid()) { addClippingForSolidObject(x, y, height, xLength, yLength, def.solidd()); } } else if (type >= 0 && type <= 3) { if (def.solid()) { addClippingForVariableObject(x, y, height, type, direction, def.solidd()); } } }
private void printMappings( DB db, ObjectDef def, PrintWriter out, String xPath, String parentTag, Map<String, String> enums) { if (xPath == null) { xPath = ""; } if (def.getValueType() != null) { // This object has a text value (It's an element that has simple content) System.out.println(" - Simple Content"); } FieldDef[] fields = def.getAllFields(); for (int i = 0; i < fields.length; i++) { FieldDef field = fields[i]; if ((field.fFlags & FieldDef.FLAG_ATTRIBUTE) > 0) { System.out.println(" " + field.fName + " - Attribute"); printFieldDesc(field, out); out.print( " <field name=\"" + (parentTag == null ? "" : parentTag.toUpperCase() + "_") + field.getTag().toUpperCase() + "\""); if (field.getFieldType().isEnum()) { String enumName = field.getFieldType().getEnum(); String valueSetName = (parentTag == null ? "" : parentTag + "_") + field.getTag(); out.print(" valueset=\"" + valueSetName + "\""); enums.put(enumName, valueSetName); } out.println(">" + xPath + "@" + field.getTag() + "</field>"); } else { FieldType ft = field.getFieldType(); if (ft.getDataType() == ADKDataType.COMPLEX) { System.out.println(field.fName + " - Structure (Complex Elements)"); ObjectDef fieldObj = db.getObject(ft.getClassType()); if (fieldObj != null) { if (field.isRepeatable()) { FieldDef[] key = fieldObj.getKey(null); if (key != null && key.length == 1 && (key[0].fFlags & FieldDef.FLAG_ATTRIBUTE) > 0) { String newPath = xPath + field.getTag() + "[@" + key[0].getTag() + "='ZZZZ']/"; if (fieldObj.getValueType() == null) { printMappings(db, fieldObj, out, newPath, field.getTag(), enums); } else { printOutFieldMapping( fieldObj.getValueDef(null), out, newPath, field.getTag(), enums); } continue; } } printMappings(db, fieldObj, out, xPath + field.getTag() + "/", field.getTag(), enums); } } else { printOutFieldMapping(field, out, xPath, parentTag, enums); } } if (field.isRepeatable()) {} } if (def.isTopic()) { // ADK Metadata doesn't include SIF_ExtendedElements or SIF_Metadata. Add these counts in ObjectDef o = db.getObject("SIF_ExtendedElements"); if (o != null) { printMappings(db, o, out, "SIF_ExtendedElements", "SIF_ExtendedElements", enums); } // o = db.getObject( "SIF_Metadata" ); // if( o != null ){ // printMappings( db, o, out, "SIF_Metadata/" ); // } } }
public static void method188( WorldController worldController, int i, int j, int k, int l, Class11 class11, int ai[][][], int i1, int j1, int k1) { int l1 = ai[l][i1][j]; int i2 = ai[l][i1 + 1][j]; int j2 = ai[l][i1 + 1][j + 1]; int k2 = ai[l][i1][j + 1]; int l2 = l1 + i2 + j2 + k2 >> 2; ObjectDef class46 = ObjectDef.forID(j1); int i3 = i1 + (j << 7) + (j1 << 14) + 0x40000000; if (!class46.hasActions) i3 += 0x80000000; byte byte1 = (byte) ((i << 6) + k); if (k == 22) { Object obj; if (class46.anInt781 == -1 && class46.childrenIDs == null) obj = class46.method578(22, i, l1, i2, j2, k2, -1); else obj = new Animable_Sub5(j1, i, 22, i2, j2, l1, k2, class46.anInt781, true); worldController.method280(k1, l2, j, ((Animable) (obj)), byte1, i3, i1); if (class46.aBoolean767 && class46.hasActions) class11.method213(j, i1); return; } if (k == 10 || k == 11) { Object obj1; if (class46.anInt781 == -1 && class46.childrenIDs == null) obj1 = class46.method578(10, i, l1, i2, j2, k2, -1); else obj1 = new Animable_Sub5(j1, i, 10, i2, j2, l1, k2, class46.anInt781, true); if (obj1 != null) { int j5 = 0; if (k == 11) j5 += 256; int k4; int i5; if (i == 1 || i == 3) { k4 = class46.anInt761; i5 = class46.anInt744; } else { k4 = class46.anInt744; i5 = class46.anInt761; } worldController.method284(i3, byte1, l2, i5, ((Animable) (obj1)), k4, k1, j5, j, i1); } if (class46.aBoolean767) class11.method212(class46.aBoolean757, class46.anInt744, class46.anInt761, i1, j, i); return; } if (k >= 12) { Object obj2; if (class46.anInt781 == -1 && class46.childrenIDs == null) obj2 = class46.method578(k, i, l1, i2, j2, k2, -1); else obj2 = new Animable_Sub5(j1, i, k, i2, j2, l1, k2, class46.anInt781, true); worldController.method284(i3, byte1, l2, 1, ((Animable) (obj2)), 1, k1, 0, j, i1); if (class46.aBoolean767) class11.method212(class46.aBoolean757, class46.anInt744, class46.anInt761, i1, j, i); return; } if (k == 0) { Object obj3; if (class46.anInt781 == -1 && class46.childrenIDs == null) obj3 = class46.method578(0, i, l1, i2, j2, k2, -1); else obj3 = new Animable_Sub5(j1, i, 0, i2, j2, l1, k2, class46.anInt781, true); worldController.method282( anIntArray152[i], ((Animable) (obj3)), i3, j, byte1, i1, null, l2, 0, k1); if (class46.aBoolean767) class11.method211(j, i, i1, k, class46.aBoolean757); return; } if (k == 1) { Object obj4; if (class46.anInt781 == -1 && class46.childrenIDs == null) obj4 = class46.method578(1, i, l1, i2, j2, k2, -1); else obj4 = new Animable_Sub5(j1, i, 1, i2, j2, l1, k2, class46.anInt781, true); worldController.method282( anIntArray140[i], ((Animable) (obj4)), i3, j, byte1, i1, null, l2, 0, k1); if (class46.aBoolean767) class11.method211(j, i, i1, k, class46.aBoolean757); return; } if (k == 2) { int j3 = i + 1 & 3; Object obj11; Object obj12; if (class46.anInt781 == -1 && class46.childrenIDs == null) { obj11 = class46.method578(2, 4 + i, l1, i2, j2, k2, -1); obj12 = class46.method578(2, j3, l1, i2, j2, k2, -1); } else { obj11 = new Animable_Sub5(j1, 4 + i, 2, i2, j2, l1, k2, class46.anInt781, true); obj12 = new Animable_Sub5(j1, j3, 2, i2, j2, l1, k2, class46.anInt781, true); } worldController.method282( anIntArray152[i], ((Animable) (obj11)), i3, j, byte1, i1, ((Animable) (obj12)), l2, anIntArray152[j3], k1); if (class46.aBoolean767) class11.method211(j, i, i1, k, class46.aBoolean757); return; } if (k == 3) { Object obj5; if (class46.anInt781 == -1 && class46.childrenIDs == null) obj5 = class46.method578(3, i, l1, i2, j2, k2, -1); else obj5 = new Animable_Sub5(j1, i, 3, i2, j2, l1, k2, class46.anInt781, true); worldController.method282( anIntArray140[i], ((Animable) (obj5)), i3, j, byte1, i1, null, l2, 0, k1); if (class46.aBoolean767) class11.method211(j, i, i1, k, class46.aBoolean757); return; } if (k == 9) { Object obj6; if (class46.anInt781 == -1 && class46.childrenIDs == null) obj6 = class46.method578(k, i, l1, i2, j2, k2, -1); else obj6 = new Animable_Sub5(j1, i, k, i2, j2, l1, k2, class46.anInt781, true); worldController.method284(i3, byte1, l2, 1, ((Animable) (obj6)), 1, k1, 0, j, i1); if (class46.aBoolean767) class11.method212(class46.aBoolean757, class46.anInt744, class46.anInt761, i1, j, i); return; } if (class46.aBoolean762) if (i == 1) { int k3 = k2; k2 = j2; j2 = i2; i2 = l1; l1 = k3; } else if (i == 2) { int l3 = k2; k2 = i2; i2 = l3; l3 = j2; j2 = l1; l1 = l3; } else if (i == 3) { int i4 = k2; k2 = l1; l1 = i2; i2 = j2; j2 = i4; } if (k == 4) { Object obj7; if (class46.anInt781 == -1 && class46.childrenIDs == null) obj7 = class46.method578(4, 0, l1, i2, j2, k2, -1); else obj7 = new Animable_Sub5(j1, 0, 4, i2, j2, l1, k2, class46.anInt781, true); worldController.method283( i3, j, i * 512, k1, 0, l2, ((Animable) (obj7)), i1, byte1, 0, anIntArray152[i]); return; } if (k == 5) { int j4 = 16; int l4 = worldController.method300(k1, i1, j); if (l4 > 0) j4 = ObjectDef.forID(l4 >> 14 & 0x7fff).anInt775; Object obj13; if (class46.anInt781 == -1 && class46.childrenIDs == null) obj13 = class46.method578(4, 0, l1, i2, j2, k2, -1); else obj13 = new Animable_Sub5(j1, 0, 4, i2, j2, l1, k2, class46.anInt781, true); worldController.method283( i3, j, i * 512, k1, anIntArray137[i] * j4, l2, ((Animable) (obj13)), i1, byte1, anIntArray144[i] * j4, anIntArray152[i]); return; } if (k == 6) { Object obj8; if (class46.anInt781 == -1 && class46.childrenIDs == null) obj8 = class46.method578(4, 0, l1, i2, j2, k2, -1); else obj8 = new Animable_Sub5(j1, 0, 4, i2, j2, l1, k2, class46.anInt781, true); worldController.method283(i3, j, i, k1, 0, l2, ((Animable) (obj8)), i1, byte1, 0, 256); return; } if (k == 7) { Object obj9; if (class46.anInt781 == -1 && class46.childrenIDs == null) obj9 = class46.method578(4, 0, l1, i2, j2, k2, -1); else obj9 = new Animable_Sub5(j1, 0, 4, i2, j2, l1, k2, class46.anInt781, true); worldController.method283(i3, j, i, k1, 0, l2, ((Animable) (obj9)), i1, byte1, 0, 512); return; } if (k == 8) { Object obj10; if (class46.anInt781 == -1 && class46.childrenIDs == null) obj10 = class46.method578(4, 0, l1, i2, j2, k2, -1); else obj10 = new Animable_Sub5(j1, 0, 4, i2, j2, l1, k2, class46.anInt781, true); worldController.method283(i3, j, i, k1, 0, l2, ((Animable) (obj10)), i1, byte1, 0, 768); } }
public static boolean method178(int i, int j) { ObjectDef class46 = ObjectDef.forID(i); if (j == 11) j = 10; if (j >= 5 && j <= 8) j = 4; return class46.method577(j); }
private void method175( int i, WorldController worldController, Class11 class11, int j, int k, int l, int i1, int j1) { /*int mX = clientInstance.MapX - 6; int mY = clientInstance.MapY - 6; int actualX = mX * 8 + l; int actualY = mY * 8 + i; int actualH = k; if(!(actualX >= 2630 && actualX <= 2639 && actualY >= 4680 && actualY <= 4690)//castle at starting point && !(actualX >= 2640 && actualX <= 2643 && actualY >= 4680 && actualY <= 4689)//castle at starting point && !(actualX >= 2630 && actualX <= 2636 && actualY >= 4676 && actualY <= 4689)//castle at starting point && !(actualX >= 2629 && actualX <= 2637 && actualY >= 4679 && actualY <= 4685)//castle at starting point && !(actualX >= 2637 && actualX <= 2638 && actualY >= 4691 && actualY <= 4692)//castle at starting point && !(actualX == 2635 && actualY == 4693) && !(actualX == 2634 && actualY == 4693) ) {*/ if (lowMem && (aByteArrayArrayArray149[0][l][i] & 2) == 0) { if ((aByteArrayArrayArray149[k][l][i] & 0x10) != 0) return; if (method182(i, k, l) != anInt131) return; } if (k < anInt145) anInt145 = k; int k1 = anIntArrayArrayArray129[k][l][i]; int l1 = anIntArrayArrayArray129[k][l + 1][i]; int i2 = anIntArrayArrayArray129[k][l + 1][i + 1]; int j2 = anIntArrayArrayArray129[k][l][i + 1]; int k2 = k1 + l1 + i2 + j2 >> 2; ObjectDef class46 = ObjectDef.forID(i1); int l2 = l + (i << 7) + (i1 << 14) + 0x40000000; if (!class46.hasActions) l2 += 0x80000000; byte byte0 = (byte) ((j1 << 6) + j); if (j == 22) { if (lowMem && !class46.hasActions && !class46.aBoolean736) return; Object obj; if (class46.anInt781 == -1 && class46.childrenIDs == null) obj = class46.method578(22, j1, k1, l1, i2, j2, -1); else obj = new Animable_Sub5(i1, j1, 22, l1, i2, k1, j2, class46.anInt781, true); worldController.method280(k, k2, i, ((Animable) (obj)), byte0, l2, l); if (class46.aBoolean767 && class46.hasActions && class11 != null) class11.method213(i, l); return; } if (j == 10 || j == 11) { Object obj1; if (class46.anInt781 == -1 && class46.childrenIDs == null) obj1 = class46.method578(10, j1, k1, l1, i2, j2, -1); else obj1 = new Animable_Sub5(i1, j1, 10, l1, i2, k1, j2, class46.anInt781, true); if (obj1 != null) { int i5 = 0; if (j == 11) i5 += 256; int j4; int l4; if (j1 == 1 || j1 == 3) { j4 = class46.anInt761; l4 = class46.anInt744; } else { j4 = class46.anInt744; l4 = class46.anInt761; } if (worldController.method284(l2, byte0, k2, l4, ((Animable) (obj1)), j4, k, i5, i, l) && class46.aBoolean779) { Model model; if (obj1 instanceof Model) model = (Model) obj1; else model = class46.method578(10, j1, k1, l1, i2, j2, -1); if (model != null) { for (int j5 = 0; j5 <= j4; j5++) { for (int k5 = 0; k5 <= l4; k5++) { int l5 = model.anInt1650 / 4; if (l5 > 30) l5 = 30; if (l5 > aByteArrayArrayArray134[k][l + j5][i + k5]) aByteArrayArrayArray134[k][l + j5][i + k5] = (byte) l5; } } } } } if (class46.aBoolean767 && class11 != null) class11.method212(class46.aBoolean757, class46.anInt744, class46.anInt761, l, i, j1); return; } if (j >= 12) { Object obj2; if (class46.anInt781 == -1 && class46.childrenIDs == null) obj2 = class46.method578(j, j1, k1, l1, i2, j2, -1); else obj2 = new Animable_Sub5(i1, j1, j, l1, i2, k1, j2, class46.anInt781, true); worldController.method284(l2, byte0, k2, 1, ((Animable) (obj2)), 1, k, 0, i, l); if (j >= 12 && j <= 17 && j != 13 && k > 0) anIntArrayArrayArray135[k][l][i] |= 0x924; if (class46.aBoolean767 && class11 != null) class11.method212(class46.aBoolean757, class46.anInt744, class46.anInt761, l, i, j1); return; } if (j == 0) { Object obj3; if (class46.anInt781 == -1 && class46.childrenIDs == null) obj3 = class46.method578(0, j1, k1, l1, i2, j2, -1); else obj3 = new Animable_Sub5(i1, j1, 0, l1, i2, k1, j2, class46.anInt781, true); worldController.method282( anIntArray152[j1], ((Animable) (obj3)), l2, i, byte0, l, null, k2, 0, k); if (j1 == 0) { if (class46.aBoolean779) { aByteArrayArrayArray134[k][l][i] = 50; aByteArrayArrayArray134[k][l][i + 1] = 50; } if (class46.aBoolean764) anIntArrayArrayArray135[k][l][i] |= 0x249; } else if (j1 == 1) { if (class46.aBoolean779) { aByteArrayArrayArray134[k][l][i + 1] = 50; aByteArrayArrayArray134[k][l + 1][i + 1] = 50; } if (class46.aBoolean764) anIntArrayArrayArray135[k][l][i + 1] |= 0x492; } else if (j1 == 2) { if (class46.aBoolean779) { aByteArrayArrayArray134[k][l + 1][i] = 50; aByteArrayArrayArray134[k][l + 1][i + 1] = 50; } if (class46.aBoolean764) anIntArrayArrayArray135[k][l + 1][i] |= 0x249; } else if (j1 == 3) { if (class46.aBoolean779) { aByteArrayArrayArray134[k][l][i] = 50; aByteArrayArrayArray134[k][l + 1][i] = 50; } if (class46.aBoolean764) anIntArrayArrayArray135[k][l][i] |= 0x492; } if (class46.aBoolean767 && class11 != null) class11.method211(i, j1, l, j, class46.aBoolean757); if (class46.anInt775 != 16) worldController.method290(i, class46.anInt775, l, k); return; } if (j == 1) { Object obj4; if (class46.anInt781 == -1 && class46.childrenIDs == null) obj4 = class46.method578(1, j1, k1, l1, i2, j2, -1); else obj4 = new Animable_Sub5(i1, j1, 1, l1, i2, k1, j2, class46.anInt781, true); worldController.method282( anIntArray140[j1], ((Animable) (obj4)), l2, i, byte0, l, null, k2, 0, k); if (class46.aBoolean779) if (j1 == 0) aByteArrayArrayArray134[k][l][i + 1] = 50; else if (j1 == 1) aByteArrayArrayArray134[k][l + 1][i + 1] = 50; else if (j1 == 2) aByteArrayArrayArray134[k][l + 1][i] = 50; else if (j1 == 3) aByteArrayArrayArray134[k][l][i] = 50; if (class46.aBoolean767 && class11 != null) class11.method211(i, j1, l, j, class46.aBoolean757); return; } if (j == 2) { int i3 = j1 + 1 & 3; Object obj11; Object obj12; if (class46.anInt781 == -1 && class46.childrenIDs == null) { obj11 = class46.method578(2, 4 + j1, k1, l1, i2, j2, -1); obj12 = class46.method578(2, i3, k1, l1, i2, j2, -1); } else { obj11 = new Animable_Sub5(i1, 4 + j1, 2, l1, i2, k1, j2, class46.anInt781, true); obj12 = new Animable_Sub5(i1, i3, 2, l1, i2, k1, j2, class46.anInt781, true); } worldController.method282( anIntArray152[j1], ((Animable) (obj11)), l2, i, byte0, l, ((Animable) (obj12)), k2, anIntArray152[i3], k); if (class46.aBoolean764) if (j1 == 0) { anIntArrayArrayArray135[k][l][i] |= 0x249; anIntArrayArrayArray135[k][l][i + 1] |= 0x492; } else if (j1 == 1) { anIntArrayArrayArray135[k][l][i + 1] |= 0x492; anIntArrayArrayArray135[k][l + 1][i] |= 0x249; } else if (j1 == 2) { anIntArrayArrayArray135[k][l + 1][i] |= 0x249; anIntArrayArrayArray135[k][l][i] |= 0x492; } else if (j1 == 3) { anIntArrayArrayArray135[k][l][i] |= 0x492; anIntArrayArrayArray135[k][l][i] |= 0x249; } if (class46.aBoolean767 && class11 != null) class11.method211(i, j1, l, j, class46.aBoolean757); if (class46.anInt775 != 16) worldController.method290(i, class46.anInt775, l, k); return; } if (j == 3) { Object obj5; if (class46.anInt781 == -1 && class46.childrenIDs == null) obj5 = class46.method578(3, j1, k1, l1, i2, j2, -1); else obj5 = new Animable_Sub5(i1, j1, 3, l1, i2, k1, j2, class46.anInt781, true); worldController.method282( anIntArray140[j1], ((Animable) (obj5)), l2, i, byte0, l, null, k2, 0, k); if (class46.aBoolean779) if (j1 == 0) aByteArrayArrayArray134[k][l][i + 1] = 50; else if (j1 == 1) aByteArrayArrayArray134[k][l + 1][i + 1] = 50; else if (j1 == 2) aByteArrayArrayArray134[k][l + 1][i] = 50; else if (j1 == 3) aByteArrayArrayArray134[k][l][i] = 50; if (class46.aBoolean767 && class11 != null) class11.method211(i, j1, l, j, class46.aBoolean757); return; } if (j == 9) { Object obj6; if (class46.anInt781 == -1 && class46.childrenIDs == null) obj6 = class46.method578(j, j1, k1, l1, i2, j2, -1); else obj6 = new Animable_Sub5(i1, j1, j, l1, i2, k1, j2, class46.anInt781, true); worldController.method284(l2, byte0, k2, 1, ((Animable) (obj6)), 1, k, 0, i, l); if (class46.aBoolean767 && class11 != null) class11.method212(class46.aBoolean757, class46.anInt744, class46.anInt761, l, i, j1); return; } if (class46.aBoolean762) if (j1 == 1) { int j3 = j2; j2 = i2; i2 = l1; l1 = k1; k1 = j3; } else if (j1 == 2) { int k3 = j2; j2 = l1; l1 = k3; k3 = i2; i2 = k1; k1 = k3; } else if (j1 == 3) { int l3 = j2; j2 = k1; k1 = l1; l1 = i2; i2 = l3; } if (j == 4) { Object obj7; if (class46.anInt781 == -1 && class46.childrenIDs == null) obj7 = class46.method578(4, 0, k1, l1, i2, j2, -1); else obj7 = new Animable_Sub5(i1, 0, 4, l1, i2, k1, j2, class46.anInt781, true); worldController.method283( l2, i, j1 * 512, k, 0, k2, ((Animable) (obj7)), l, byte0, 0, anIntArray152[j1]); return; } if (j == 5) { int i4 = 16; int k4 = worldController.method300(k, l, i); if (k4 > 0) i4 = ObjectDef.forID(k4 >> 14 & 0x7fff).anInt775; Object obj13; if (class46.anInt781 == -1 && class46.childrenIDs == null) obj13 = class46.method578(4, 0, k1, l1, i2, j2, -1); else obj13 = new Animable_Sub5(i1, 0, 4, l1, i2, k1, j2, class46.anInt781, true); worldController.method283( l2, i, j1 * 512, k, anIntArray137[j1] * i4, k2, ((Animable) (obj13)), l, byte0, anIntArray144[j1] * i4, anIntArray152[j1]); return; } if (j == 6) { Object obj8; if (class46.anInt781 == -1 && class46.childrenIDs == null) obj8 = class46.method578(4, 0, k1, l1, i2, j2, -1); else obj8 = new Animable_Sub5(i1, 0, 4, l1, i2, k1, j2, class46.anInt781, true); worldController.method283(l2, i, j1, k, 0, k2, ((Animable) (obj8)), l, byte0, 0, 256); return; } if (j == 7) { Object obj9; if (class46.anInt781 == -1 && class46.childrenIDs == null) obj9 = class46.method578(4, 0, k1, l1, i2, j2, -1); else obj9 = new Animable_Sub5(i1, 0, 4, l1, i2, k1, j2, class46.anInt781, true); worldController.method283(l2, i, j1, k, 0, k2, ((Animable) (obj9)), l, byte0, 0, 512); return; } if (j == 8) { Object obj10; if (class46.anInt781 == -1 && class46.childrenIDs == null) obj10 = class46.method578(4, 0, k1, l1, i2, j2, -1); else obj10 = new Animable_Sub5(i1, 0, 4, l1, i2, k1, j2, class46.anInt781, true); worldController.method283(l2, i, j1, k, 0, k2, ((Animable) (obj10)), l, byte0, 0, 768); } // } }