Skip to content

Instantly share code, notes, and snippets.

@Jire
Created May 22, 2018 18:07
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save Jire/79166b81d7c83fcf10bd418544cb7346 to your computer and use it in GitHub Desktop.
Save Jire/79166b81d7c83fcf10bd418544cb7346 to your computer and use it in GitHub Desktop.
package ps.eden.client.jagex;
final class ObjectDefinition {
private short[] retextureOriginal;
private short[] aShortArray1477;
int anInt1478;
private int resizeX;
int anInt1480 = 1;
private int resizeZ;
int mapIcon;
boolean aBoolean1483 = false;
int anInt1484;
int anInt1485 = 1;
boolean aBoolean1486;
private int[] configuration;
private int resizeY;
private int anInt1489;
static boolean[] aBooleanArray1490 = new boolean[112];
boolean aBoolean1491;
boolean aBoolean1492;
int anInt1493;
private int anInt1494 = 0;
private short[] retextureModified;
private int anInt1496;
//static int[][][] anIntArrayArrayArray1497 = new int[4][13][13];
static int[][][] identified = new int[4][13][13];
static int[][][] rotations = new int[4][13][13];
static int[][][] realRegionXs = new int[4][13][13];
static int[][][] realRegionYs = new int[4][13][13];
static int[][][] realPlanes = new int[4][13][13];
boolean aBoolean1498;
RSString[] options;
private short aShort1500;
private Class130 aClass130_1501;
boolean aBoolean1502 = false;
boolean aBoolean1503;
RSString name;
private byte aByte1505;
private short[] aShortArray1506;
boolean aBoolean1507;
static RSString aRSString_1508 = RSString.createRSString("Choisir une option");
static RSString aRSString_1509 = RSString.createRSString("Chargement des textures )2 ");
boolean aBoolean1510;
private int anInt1511;
int anInt1512;
private byte[] aByteArray1513;
static int worldId = 1;
int anInt1515;
int anInt1516;
int anInt1517;
int anInt1518;
private int[] models;
int anInt1520;
static int anInt1521 = 0;
int anInt1522;
static RSString aRSString_1523 = RSString.createRSString("Chargement en cours)3 Veuillez patienter)3");
int[] transmogrificationIds;
boolean aBoolean1525;
private int varbitId;
int objectId;
boolean osrs;
int anInt1528;
int anInt1529;
boolean aBoolean1530;
int animationId;
private int varpId;
int anInt1533;
private int anInt1534;
static short aShort1535 = 320;
private boolean aBoolean1536;
boolean aBoolean1537;
int actionCount;
int[] anIntArray1539;
int anInt1540;
private boolean aBoolean1541;
boolean aBoolean1542;
final boolean method1684(int var1, int var2) {
try {
if (this.configuration != null) {
for (int var7 = 0; ~this.configuration.length < ~var7; ++var7) {
if (~var2 == ~this.configuration[var7]) {
int modelId = this.models[var7] & '\uffff';
return Client.modelJs5(modelId, true, osrs, Client.MODEL_TYPE_OBJECT, objectId).method2129((byte) 72, 0, modelId);
}
}
return true;
} else if (null == this.models) {
return true;
} else if (-11 != ~var2) {
return true;
} else {
boolean var4 = true;
for (int var5 = 0; this.models.length > var5; ++var5) {
int modelId = this.models[var5] & '\uffff';
var4 &= Client.modelJs5(modelId, true, osrs, Client.MODEL_TYPE_OBJECT, objectId).method2129((byte) 71, 0, modelId);
}
return var4;
}
} catch (RuntimeException var6) {
throw Class44.method1067(var6, "pb.H(" + var1 + ',' + var2 + ')');
}
}
final ObjectDefinition method1685(int var1) {
try {
if (var1 != 0) {
this.method1697(-92, 83, null, -13, null, 18, null, true, 114, 123, null, 118, 85, -116);
}
int var2 = -1;
if (this.varbitId != -1) {
var2 = NPCDefinition.method1484(64835055, this.varbitId, osrs);
} else if (this.varpId != -1) {
var2 = Class163_Sub1.playerVariables[this.varpId];
}
if (~var2 <= -1 && ~var2 > ~(this.transmogrificationIds.length - 1) && ~this.transmogrificationIds[var2] != 0) {
return Class162.getObjectDefinition(4, this.transmogrificationIds[var2]);
} else {
int var3 = this.transmogrificationIds[-1 + this.transmogrificationIds.length];
return ~var3 == 0 ? null : Class162.getObjectDefinition(4, var3);
}
} catch (RuntimeException var4) {
throw Class44.method1067(var4, "pb.C(" + var1 + ')');
}
}
private final Model_Sub1 getModels(int var1, int var2, int var3) {
try {
Model_Sub1 var4 = null;
boolean var5 = this.aBoolean1536;
if (-3 == ~var2 && 3 < var1) {
var5 = !var5;
}
int var6;
int var7;
if (null == this.configuration) {
if (-11 != ~var2) {
return null;
}
if (this.models == null) {
return null;
}
var6 = this.models.length;
for (var7 = 0; ~var7 > ~var6; ++var7) {
int modelId = this.models[var7];
if (var5) {
modelId += 65536;
}
var4 = (Model_Sub1) Class99.aClass93_1401.get((long) modelId, (byte) 121);
if (var4 == null) {
int modelId2 = modelId & '\uffff';
var4 = Model_Sub1.getModel(Client.modelJs5(modelId2, true, osrs, Client.MODEL_TYPE_OBJECT, objectId), modelId2, 0);
if (var4 == null) {
return null;
}
if (var5) {
var4.method2002();
}
Class99.aClass93_1401.put((byte) -91, var4, (long) modelId);
}
if (1 < var6) {
Class164.aClass140_Sub5Array2058[var7] = var4;
}
}
if (~var6 < -2) {
var4 = new Model_Sub1(Class164.aClass140_Sub5Array2058, var6);
}
} else {
var6 = -1;
for (var7 = 0; this.configuration.length > var7; ++var7) {
if (var2 == this.configuration[var7]) {
var6 = var7;
break;
}
}
if (~var6 == 0) {
//System.out.println("Object type mismatch! Current: " + var2 + " Real: " + Arrays.toString(configuration));
return null;
}
var7 = this.models[var6];
if (var5) {
var7 += 65536;
}
//walls
var4 = (Model_Sub1) Class99.aClass93_1401.get((long) var7, (byte) 121);
if (null == var4) {
int modelId = var7 & '\uffff';
var4 = Model_Sub1.getModel(Client.modelJs5(modelId, true, osrs, Client.MODEL_TYPE_OBJECT, objectId), modelId, 0);
if (null == var4) {
return null;
}
if (var5) {
var4.method2002();
}
Class99.aClass93_1401.put((byte) -122, var4, (long) var7);
}
}
boolean var11;
var11 = 128 != this.resizeX || ~this.resizeY != -129 || 128 != this.resizeZ;
boolean var12;
var12 = this.anInt1496 != 0 || -1 != ~this.anInt1511 || 0 != this.anInt1534;
Model_Sub1 var13 = new Model_Sub1(var4, var3 == ~var1 && !var11 && !var12, this.aShortArray1477 == null, null == this.retextureOriginal, true);
if (~var2 == -5 && var1 > 3) {
var13.method2011(256);
var13.method2001(45, 0, -45);
}
var1 &= 3;
if (-2 != ~var1) {
if (-3 != ~var1) {
if (3 == var1) {
var13.method2018();
}
} else {
var13.method1989();
}
} else {
var13.method1991();
}
int var9;
if (null != this.aShortArray1477) {
for (var9 = 0; this.aShortArray1477.length > var9; ++var9) {
if (null != this.aByteArray1513 && this.aByteArray1513.length > var9) {
var13.method2016(this.aShortArray1477[var9], Class3_Sub13_Sub9.aShortArray3110[255 & this.aByteArray1513[var9]]);
} else {
var13.method2016(this.aShortArray1477[var9], this.aShortArray1506[var9]);
}
}
}
if (this.retextureOriginal != null) {
for (var9 = 0; this.retextureOriginal.length > var9; ++var9) {
var13.method1998(this.retextureOriginal[var9], this.retextureModified[var9]);
}
}
if (var11) {
var13.method1994(this.resizeX, this.resizeY, this.resizeZ);
}
if (var12) {
var13.method2001(this.anInt1496, this.anInt1511, this.anInt1534);
}
return var13;
} catch (RuntimeException var10) {
throw Class44.method1067(var10, "pb.O(" + var1 + ',' + var2 + ',' + var3 + ')');
}
}
public static void method1687(int var0) {
try {
aRSString_1508 = null;
aRSString_1523 = null;
identified = null;
rotations = null;
realRegionXs = null;
realRegionYs = null;
realPlanes = null;
aBooleanArray1490 = null;
aRSString_1509 = null;
if (var0 != -11) {
anInt1521 = -96;
}
} catch (RuntimeException var2) {
throw Class44.method1067(var2, "pb.B(" + var0 + ')');
}
}
static final Class72 method1688(int var0, int var1, int var2) {
Class3_Sub2 var3 = Class75_Sub2.activeGroundTiles[var0][var1][var2];
if (var3 == null) {
return null;
} else {
Class72 var4 = var3.aClass72_2245;
var3.aClass72_2245 = null;
return var4;
}
}
final void method1689(int var1) {
try {
if (this.anInt1529 == -1) {
this.anInt1529 = 0;
if (null != this.models && (null == this.configuration || -11 == ~this.configuration[0])) {
this.anInt1529 = 1;
}
for (int var2 = 0; var2 < 5; ++var2) {
if (this.options[var2] != null) {
this.anInt1529 = 1;
break;
}
}
}
if (var1 != -2116) {
this.method1692(67, null, osrs);
}
if (-1 == this.anInt1540) {
this.anInt1540 = ~this.actionCount != -1 ? 1 : 0;
}
if (osrs && animationId >= 0 && animationId < 100000 && Client.use498) {
boolean canUse530 = true;
if (models != null) {
for (int modelID : models) {
if (!Client.canUse530Model(modelID, Client.MODEL_TYPE_OBJECT, objectId)) {
canUse530 = false;
break;
}
}
}
if (!canUse530) animationId += 100000;
}
if (osrs && Client.use498) {
retextureOriginal = new short[]{8, 30, 33};//tree(8 - 455), willow(30 - 475), tree(33 - 455)
retextureModified = new short[]{684, 686, 685};
}
} catch (RuntimeException var3) {
throw Class44.method1067(var3, "pb.D(" + var1 + ')');
}
}
final boolean method1690(int var1) {
try {
if (this.transmogrificationIds != null) {
if (var1 != 28933) {
this.method1696(34, 54, null, 55, 80, null, true, null, (byte) 127, true, -38);
}
for (int var2 = 0; ~var2 > ~this.transmogrificationIds.length; ++var2) {
if (0 != ~this.transmogrificationIds[var2]) {
ObjectDefinition var3 = Class162.getObjectDefinition(var1 + -28929, this.transmogrificationIds[var2]);
if (0 != ~var3.anInt1512 || var3.anIntArray1539 != null) {
return true;
}
}
}
return false;
} else {
return this.anInt1512 != -1 || this.anIntArray1539 != null;
}
} catch (RuntimeException var4) {
throw Class44.method1067(var4, "pb.F(" + var1 + ')');
}
}
final int method1691(int var1, int var2, byte var3) {
try {
if (var3 <= 76) {
return -40;
} else if (this.aClass130_1501 == null) {
return var1;
} else {
Class3_Sub18 var4 = (Class3_Sub18) this.aClass130_1501.get((long) var2, 0);
return var4 != null ? var4.anInt2467 : var1;
}
} catch (RuntimeException var5) {
throw Class44.method1067(var5, "pb.N(" + var1 + ',' + var2 + ',' + var3 + ')');
}
}
final void method1692(int var1, RSByteBuffer var2, boolean osrs) {
try {
while (true) {
int var3 = var2.getByte((byte) -89);
if (-1 == ~var3) {
if (var1 != 6219) {
this.method1696(105, -55, null, -39, 71, null, true, null, (byte) -117, false, -25);
}
return;
}
this.parseOpcode(var2, var3, -80, osrs);
}
} catch (RuntimeException var4) {
throw Class44.method1067(var4, "pb.G(" + var1 + ',' + (var2 != null ? "{...}" : "null") + ')');
}
}
private final void parseOpcode(RSByteBuffer buffer, int opcode, int var3, boolean osrs) {
try {
if (var3 != -80) {
this.anInt1522 = -122;
}
int var4;
int var5;
if (1 == opcode) {
var4 = buffer.getByte((byte) -77);
if (~var4 < -1) {
if (this.models != null && !Class47.aBoolean742) {
buffer.index += var4 * 3;
} else {
this.configuration = new int[var4];
this.models = new int[var4];
for (var5 = 0; var4 > var5; ++var5) {
this.models[var5] = buffer.getShort();
this.configuration[var5] = buffer.getByte((byte) -75);
}
}
}
} else if (-3 == ~opcode) {
this.name = buffer.getString();
} else if (-6 != ~opcode) {
if (~opcode == -15) {
this.anInt1480 = buffer.getByte((byte) -124);
} else if (-16 != ~opcode) {
if (~opcode != -18) {
if (18 != opcode) {
if (opcode != 19) {
if (~opcode != -22) {
if (~opcode != -23) {
if (-24 != ~opcode) {
if (~opcode == -25) {
this.animationId = buffer.getShort();
if (~this.animationId == -65536) {
this.animationId = -1;
}
} else if (-28 != ~opcode) {
if (28 == opcode) {
this.anInt1528 = buffer.getByte((byte) -112);
} else if (-30 != ~opcode) {
if (39 == opcode) {
this.anInt1489 = buffer.getByte() * 5;
} else if (~opcode <= -31 && -36 < ~opcode) {
this.options[opcode - 30] = buffer.getString();
if (this.options[-30 + opcode].equals(-112, Class3_Sub13_Sub3.aRSString_3051)) {
this.options[-30 + opcode] = null;
}
} else if (opcode == 40) {
var4 = buffer.getByte((byte) -27);
this.aShortArray1477 = new short[var4];
this.aShortArray1506 = new short[var4];
for (var5 = 0; var5 < var4; ++var5) {
this.aShortArray1477[var5] = (short) buffer.getShort();
this.aShortArray1506[var5] = (short) buffer.getShort();
}
} else if (opcode != 41) {
if (opcode == 42) {
var4 = buffer.getByte((byte) -118);
this.aByteArray1513 = new byte[var4];
for (var5 = 0; ~var5 > ~var4; ++var5) {
this.aByteArray1513[var5] = buffer.getByte();
}
} else if (opcode != 60) {
if (~opcode == -63) {
this.aBoolean1536 = true;
} else if (-65 != ~opcode) {
if (~opcode == -66) {
this.resizeX = buffer.getShort();
} else if (-67 == ~opcode) {
this.resizeY = buffer.getShort();
} else if (-68 == ~opcode) {
this.resizeZ = buffer.getShort();
} else if (opcode == 68) {
if (osrs) {
this.anInt1516 = buffer.getShort();
}
} else if (opcode != 69) {
if (70 == opcode) {
this.anInt1496 = buffer.getShort((byte) 123);
} else if (71 == opcode) {
this.anInt1511 = buffer.getShort((byte) 94);
} else if (72 == opcode) {
this.anInt1534 = buffer.getShort((byte) 76);
} else if (opcode != 73) {
if (opcode != 74) {
if (75 == opcode) {
this.anInt1540 = buffer.getByte((byte) -66);
} else if (~opcode != -78 && -93 != ~opcode) {
if (78 != opcode) {
if (~opcode != -80) {
if (81 != opcode) {
if (~opcode != -83) {
if (opcode != 88) {
if (-90 != ~opcode) {
if (90 != opcode) {
if (opcode == 91) {
this.aBoolean1491 = true;
} else if (-94 == ~opcode) {
this.aByte1505 = 3;
this.aShort1500 = (short) buffer.getShort();
} else if (opcode != 94) {
if (~opcode == -96) {
this.aByte1505 = 5;
} else if (~opcode != -97) {
if (~opcode == -98) {
this.aBoolean1537 = true;
} else if (opcode == 98) {
this.aBoolean1510 = true;
} else if (~opcode != -100) {
if (-101 == ~opcode) {
this.anInt1520 = buffer.getByte((byte) -27);
this.anInt1522 = buffer.getShort();
} else if (~opcode != -102) {
if (opcode != 102) {
if (249 == opcode) {
var4 = buffer.getByte((byte) -88);
if (null == this.aClass130_1501) {
var5 = Class95.method1585((byte) 83, var4);
this.aClass130_1501 = new Class130(var5);
}
for (var5 = 0; var4 > var5; ++var5) {
boolean var10 = -2 == ~buffer.getByte((byte) -84);
int var7 = buffer.getTriByte((byte) 122);
Object var8;
if (!var10) {
var8 = new Class3_Sub18(buffer.getInt());
} else {
var8 = new Class3_Sub29(buffer.getString());
}
this.aClass130_1501.method1779(var3 ^ -79, (Class3) var8, (long) var7);
}
}
} else {
this.anInt1516 = buffer.getShort();
}
} else {
this.anInt1478 = buffer.getByte((byte) -114);
}
} else {
this.anInt1493 = buffer.getByte((byte) -115);
this.anInt1517 = buffer.getShort();
}
} else {
this.aBoolean1507 = true;
}
} else {
this.aByte1505 = 4;
}
} else {
this.aBoolean1502 = true;
}
} else {
this.aBoolean1492 = false;
}
} else {
this.aBoolean1503 = false;
}
} else {
if (osrs) {
this.mapIcon = buffer.getShort();
} else {
this.aBoolean1530 = true;
}
}
} else {
this.aByte1505 = 2;
this.aShort1500 = (short) (256 * buffer.getByte((byte) -52));
}
} else {
this.anInt1518 = buffer.getShort();
this.anInt1515 = buffer.getShort();
this.anInt1484 = buffer.getByte((byte) -100);
var4 = buffer.getByte((byte) -95);
this.anIntArray1539 = new int[var4];
for (var5 = 0; ~var4 < ~var5; ++var5) {
this.anIntArray1539[var5] = buffer.getShort();
}
}
} else {
this.anInt1512 = buffer.getShort();
this.anInt1484 = buffer.getByte((byte) -90);
}
} else {
var4 = -1;
this.varbitId = buffer.getShort();
if ('\uffff' == this.varbitId) {
this.varbitId = -1;
}
this.varpId = buffer.getShort();
if ('\uffff' == this.varpId) {
this.varpId = -1;
}
if (92 == opcode) {
var4 = buffer.getShort();
if (var4 == '\uffff') {
var4 = -1;
} else if (osrs && var4 >= 0 && var4 < 100000) {
boolean canUse530 = !Client.use498;
if (models != null) {
for (int modelID : models) {
if (!Client.canUse530Model(modelID, Client.MODEL_TYPE_OBJECT, objectId)) {
canUse530 = false;
break;
}
}
}
if (!canUse530) var4 += 100000;
}
}
var5 = buffer.getByte((byte) -66);
this.transmogrificationIds = new int[var5 - -2];
for (int var6 = 0; var5 >= var6; ++var6) {
this.transmogrificationIds[var6] = buffer.getShort();
if ('\uffff' == this.transmogrificationIds[var6]) {
this.transmogrificationIds[var6] = -1;
} else if (osrs && transmogrificationIds[var6] >= 0 && transmogrificationIds[var6] < 100000) {
transmogrificationIds[var6] += 100000;
}
}
this.transmogrificationIds[1 + var5] = var4;
}
} else {
this.aBoolean1498 = true;
}
} else {
this.aBoolean1483 = true;
}
} else {
this.anInt1533 = buffer.getByte((byte) -55);
}
} else {
this.aBoolean1525 = false;
}
} else {
this.mapIcon = buffer.getShort();
}
} else {
var4 = buffer.getByte((byte) -79);
this.retextureModified = new short[var4];
this.retextureOriginal = new short[var4];
for (var5 = 0; ~var5 > ~var4; ++var5) {
this.retextureOriginal[var5] = (short) buffer.getShort();
this.retextureModified[var5] = (short) buffer.getShort();
}
}
} else {
this.anInt1494 = buffer.getByte();
}
} else {
this.actionCount = 1;
}
} else {
this.aBoolean1542 = true;
}
} else {
this.aBoolean1541 = true;
}
} else {
this.aByte1505 = 1;
}
} else {
this.anInt1529 = buffer.getByte((byte) -79);
}
} else {
this.aBoolean1486 = false;
}
} else {
this.actionCount = 0;
this.aBoolean1486 = false;
}
} else {
this.anInt1485 = buffer.getByte((byte) -42);
}
} else {
var4 = buffer.getByte((byte) -62);
if (~var4 < -1) {
if (null != this.models && !Class47.aBoolean742) {
buffer.index += var4 * 2;
} else {
this.models = new int[var4];
this.configuration = null;
for (var5 = 0; var4 > var5; ++var5) {
this.models[var5] = buffer.getShort();
}
}
}
}
} catch (RuntimeException var9) {
throw Class44.method1067(var9, "pb.K(" + (buffer != null ? "{...}" : "null") + ',' + opcode + ',' + var3 + ')');
}
}
final boolean hasModels(boolean var1) {
try {
if (null == this.models) {
return true;
} else {
boolean var2 = true;
for (int var3 = 0; ~this.models.length < ~var3; ++var3) {
int modelId = this.models[var3] & '\uffff';
var2 &= Client.modelJs5(modelId, true, osrs, Client.MODEL_TYPE_OBJECT, objectId).method2129((byte) 64, 0, modelId);
}
return var1 || var2;
}
} catch (RuntimeException var4) {
throw Class44.method1067(var4, "pb.I(" + var1 + ')');
}
}
private final HDModelRenderer method1695(int var1, boolean var2, boolean var3, int var4) {
try {
int var6 = this.anInt1494 + 64;
int var7 = 5 * this.anInt1489 + 768;
HDModelRenderer var5 = null;
int var8;
int var12;
if (this.configuration != null) {
var8 = -1;
int var9;
for (var9 = 0; ~var9 > ~this.configuration.length; ++var9) {
if (~this.configuration[var9] == ~var4) {
var8 = var9;
break;
}
}
if (0 == ~var8) {
return null;
}
var9 = this.models[var8];
if (var2) {
var9 += 65536;
}
var5 = (HDModelRenderer) Class99.aClass93_1401.get((long) var9, (byte) 121);
if (null == var5) {
int modelId = var9 & '\uffff';
Model_Sub1 var10 = Model_Sub1.getModel(Client.modelJs5(modelId, true, osrs, Client.MODEL_TYPE_OBJECT, objectId), modelId, 0);
if (null == var10) {
return null;
}
var5 = new HDModelRenderer(var10, var6, var7, var2);
Class99.aClass93_1401.put((byte) -101, var5, (long) var9);
}
} else {
if (var4 != 10) {
return null;
}
if (this.models == null) {
return null;
}
var8 = this.models.length;
if (-1 == ~var8) {
return null;
}
long var16 = 0L;
for (int var11 = 0; ~var8 < ~var11; ++var11) {
var16 = (long) this.models[var11] + var16 * 67783L;
}
if (var2) {
var16 = ~var16;
}
var5 = (HDModelRenderer) Class99.aClass93_1401.get(var16, (byte) 121);
if (null == var5) {
Model_Sub1 var17 = null;
for (var12 = 0; ~var8 < ~var12; ++var12) {
int modelId = models[var12] & '\uffff';
var17 = Model_Sub1.getModel(Client.modelJs5(modelId, true, osrs, Client.MODEL_TYPE_OBJECT, objectId), modelId, 0);
if (null == var17) {
return null;
}
if (var8 > 1) {
Class164.aClass140_Sub5Array2058[var12] = var17;
}
}
if (1 < var8) {
var17 = new Model_Sub1(Class164.aClass140_Sub5Array2058, var8);
}
var5 = new HDModelRenderer(var17, var6, var7, var2);
Class99.aClass93_1401.put((byte) -75, var5, var16);
}
}
boolean var14 = this.aBoolean1536;
if (~var4 == -3 && var1 > 3) {
var14 = !var14;
}
boolean var15 = 128 == this.resizeY && -1 == ~this.anInt1511;
boolean var18 = -1 == ~var1 && 128 == this.resizeX && ~this.resizeZ == -129 && ~this.anInt1496 == -1 && this.anInt1534 == 0 && !var14;
HDModelRenderer renderer = var5.method1926(var18, var15, this.aShortArray1477 == null, true, ~var5.method1903() == ~var6, -1 == ~var1 && !var14, var3, ~var7 == ~var5.method1924(), true, !var14, this.retextureOriginal == null);
if (var14) {
renderer.method1931();
}
if (var4 == 4 && 3 < var1) {
renderer.method1932(256);
renderer.method1897(45, 0, -45);
}
var1 &= 3;
if (1 == var1) {
renderer.method1925();
} else if (~var1 != -3) {
if (~var1 == -4) {
renderer.method1902();
}
} else {
renderer.method1911();
}
if (null != this.aShortArray1477) {
for (var12 = 0; ~this.aShortArray1477.length < ~var12; ++var12) {
renderer.method1918(this.aShortArray1477[var12], this.aShortArray1506[var12]);
}
}
if (null != this.retextureOriginal) {
for (var12 = 0; ~this.retextureOriginal.length < ~var12; ++var12) {
renderer.retexture(this.retextureOriginal[var12], this.retextureModified[var12]);
}
}
if (this.resizeX != 128 || -129 != ~this.resizeY || ~this.resizeZ != -129) {
renderer.resize(this.resizeX, this.resizeY, this.resizeZ);
}
if (-1 != ~this.anInt1496 || this.anInt1511 != 0 || 0 != this.anInt1534) {
renderer.method1897(this.anInt1496, this.anInt1511, this.anInt1534);
}
if (var6 != renderer.method1903()) {
renderer.method1914(var6);
}
if (renderer.method1924() != var7) {
renderer.method1909(var7);
}
return renderer;
} catch (RuntimeException var13) {
throw Class44.method1067(var13, "pb.L(" + var1 + ',' + var2 + ',' + var3 + ',' + var4 + ')');
}
}
final Class136 method1696(int var1, int var2, int[][] var3, int var4, int var5, int[][] var6, boolean var7, SDSprite var8, byte var9, boolean var10, int var11) {
try {
if (var9 >= -5) {
return null;
} else {
long var12;
if (!HDToolkit.highDetail) {
if (this.configuration != null) {
var12 = (long) ((var4 << 3) + ((this.objectId << 10) - -var1));
} else {
var12 = (long) ((this.objectId << 10) + var1);
}
boolean var20;
if (var7 && this.aBoolean1541) {
var12 |= Long.MIN_VALUE;
var20 = true;
} else {
var20 = false;
}
Object var22 = Class3_Sub28_Sub7_Sub1.aClass93_4051.get(var12, (byte) 121);
if (null == var22) {
Model_Sub1 var21 = this.getModels(var1, var4, -1);
if (var21 == null) {
UnderlayDefinition.aClass136_1413.aClass140_1777 = null;
return UnderlayDefinition.aClass136_1413;
}
var21.method2010();
if (-11 == ~var4 && var1 > 3) {
var21.method2011(256);
}
if (!var20) {
var22 = new LDModelRenderer(var21, 64 - -this.anInt1494, 5 * this.anInt1489 + 768, -50, -10, -50);
} else {
var21.aShort2879 = (short) (64 + this.anInt1494);
var22 = var21;
var21.aShort2876 = (short) (768 + 5 * this.anInt1489);
var21.method1997();
}
Class3_Sub28_Sub7_Sub1.aClass93_4051.put((byte) -89, var22, var12);
}
if (var20) {
var22 = ((Model_Sub1) var22).method2004();
}
if (0 != this.aByte1505) {
if (!(var22 instanceof LDModelRenderer)) {
if (var22 instanceof Model_Sub1) {
var22 = ((Model_Sub1) var22).method1999(this.aByte1505, this.aShort1500, var3, var6, var2, var5, var11, true, false);
}
} else {
var22 = ((LDModelRenderer) var22).method1941(this.aByte1505, this.aShort1500, var3, var6, var2, var5, var11, true);
}
}
UnderlayDefinition.aClass136_1413.aClass140_1777 = (GameObject) var22;
return UnderlayDefinition.aClass136_1413;
} else {
if (null != this.configuration) {
var12 = (long) (var1 + (this.objectId << 10) - -(var4 << 3));
} else {
var12 = (long) ((this.objectId << 10) + var1);
}
Class136 var16 = (Class136) Class3_Sub28_Sub7_Sub1.aClass93_4051.get(var12, (byte) 121);
HDModelRenderer var14;
SDSprite var15;
if (null == var16) {
var14 = this.method1695(var1, false, true, var4);
if (null == var14) {
UnderlayDefinition.aClass136_1413.aClass140_1777 = null;
UnderlayDefinition.aClass136_1413.aClass109_Sub1_1770 = null;
return UnderlayDefinition.aClass136_1413;
}
if (~var4 == -11 && var1 > 3) {
var14.method1876(256);
}
if (var10) {
var15 = var14.method1933(var8);
} else {
var15 = null;
}
var16 = new Class136();
var16.aClass140_1777 = var14;
var16.aClass109_Sub1_1770 = var15;
Class3_Sub28_Sub7_Sub1.aClass93_4051.put((byte) -93, var16, var12);
} else {
var14 = (HDModelRenderer) var16.aClass140_1777;
var15 = var16.aClass109_Sub1_1770;
}
boolean var17 = this.aBoolean1541 & var7;
HDModelRenderer var18 = var14.method1926(3 != this.aByte1505, ~this.aByte1505 == -1, true, true, true, true, !var17, true, true, true, true);
if (~this.aByte1505 != -1) {
var18.method1919(this.aByte1505, this.aShort1500, var14, var3, var6, var2, var5, var11);
}
var18.method1920(~this.anInt1529 == -1 && !this.aBoolean1510, true, true, true, -1 == ~this.anInt1529, true, false);
UnderlayDefinition.aClass136_1413.aClass140_1777 = var18;
var18.aBoolean3809 = var17;
UnderlayDefinition.aClass136_1413.aClass109_Sub1_1770 = var15;
return UnderlayDefinition.aClass136_1413;
}
}
} catch (RuntimeException var19) {
throw Class44.method1067(var19, "pb.A(" + var1 + ',' + var2 + ',' + (var3 != null ? "{...}" : "null") + ',' + var4 + ',' + var5 + ',' + (var6 != null ? "{...}" : "null") + ',' + var7 + ',' + (var8 != null ? "{...}" : "null") + ',' + var9 + ',' + var10 + ',' + var11 + ')');
}
}
final Class136 method1697(int var1, int var2, SDSprite var3, int var4, AnimationDefinition var5, int var6, int[][] var7, boolean var8, int var9, int var10, int[][] var11, int var12, int var13, int var14) {
try {
if (var10 != 8308) {
this.hasModels(false);
}
long var15;
if (HDToolkit.highDetail) {
if (this.configuration != null) {
var15 = (long) ((var13 << 3) + ((this.objectId << 10) - -var6));
} else {
var15 = (long) (var6 + (this.objectId << 10));
}
HDModelRenderer var23 = (HDModelRenderer) Class154.aClass93_1965.get(var15, (byte) 121);
if (var23 == null) {
var23 = this.method1695(var6, true, true, var13);
if (null == var23) {
return null;
}
var23.method1908();
var23.method1920(false, false, false, true, false, false, true);
Class154.aClass93_1965.put((byte) -75, var23, var15);
}
boolean var19 = false;
HDModelRenderer var22 = var23;
if (null != var5) {
var22 = (HDModelRenderer) var5.method2056(var12, var9, var14, var6, var23, 3);
var19 = true;
}
if (~var13 == -11 && 3 < var6) {
if (!var19) {
var22 = (HDModelRenderer) var22.method1890(true, true, true);
var19 = true;
}
var22.method1876(256);
}
if (var8) {
UnderlayDefinition.aClass136_1413.aClass109_Sub1_1770 = var22.method1933(var3);
} else {
UnderlayDefinition.aClass136_1413.aClass109_Sub1_1770 = null;
}
if (this.aByte1505 != 0) {
if (!var19) {
var19 = true;
var22 = (HDModelRenderer) var22.method1890(true, true, true);
}
var22.method1919(this.aByte1505, this.aShort1500, var23, var7, var11, var2, var4, var1);
}
UnderlayDefinition.aClass136_1413.aClass140_1777 = var22;
return UnderlayDefinition.aClass136_1413;
} else {
if (this.configuration == null) {
var15 = (long) ((this.objectId << 10) + var6);
} else {
var15 = (long) (var6 + (this.objectId << 10) + (var13 << 3));
}
LDModelRenderer var17 = (LDModelRenderer) Class154.aClass93_1965.get(var15, (byte) 121);
if (var17 == null) {
Model_Sub1 var18 = this.getModels(var6, var13, -1);
if (var18 == null) {
return null;
}
var17 = new LDModelRenderer(var18, 64 + this.anInt1494, this.anInt1489 * 5 + 768, -50, -10, -50);
Class154.aClass93_1965.put((byte) -94, var17, var15);
}
boolean var21 = false;
if (var5 != null) {
var21 = true;
var17 = (LDModelRenderer) var5.method2054(19749, var9, var12, var17, var6, var14);
}
if (-11 == ~var13 && var6 > 3) {
if (!var21) {
var21 = true;
var17 = (LDModelRenderer) var17.method1890(true, true, true);
}
var17.method1876(256);
}
if (this.aByte1505 != 0) {
if (!var21) {
var17 = (LDModelRenderer) var17.method1890(true, true, true);
var21 = true;
}
var17 = var17.method1941(this.aByte1505, this.aShort1500, var7, var11, var2, var4, var1, false);
}
UnderlayDefinition.aClass136_1413.aClass140_1777 = var17;
return UnderlayDefinition.aClass136_1413;
}
} catch (RuntimeException var20) {
throw Class44.method1067(var20, "pb.M(" + var1 + ',' + var2 + ',' + (var3 != null ? "{...}" : "null") + ',' + var4 + ',' + (var5 != null ? "{...}" : "null") + ',' + var6 + ',' + (var7 != null ? "{...}" : "null") + ',' + var8 + ',' + var9 + ',' + var10 + ',' + (var11 != null ? "{...}" : "null") + ',' + var12 + ',' + var13 + ',' + var14 + ')');
}
}
final RSString method1698(RSString var1, int var2, int var3) {
try {
if (var2 != -23085) {
method1688(108, -11, 57);
}
if (null != this.aClass130_1501) {
Class3_Sub29 var4 = (Class3_Sub29) this.aClass130_1501.get((long) var3, 0);
return var4 == null ? var1 : var4.aRSString_2586;
} else {
return var1;
}
} catch (RuntimeException var5) {
throw Class44.method1067(var5, "pb.E(" + (var1 != null ? "{...}" : "null") + ',' + var2 + ',' + var3 + ')');
}
}
public ObjectDefinition() {
this.name = Class3_Sub13_Sub13.aRSString_3150;
this.aBoolean1503 = true;
this.anInt1493 = -1;
this.anInt1515 = 0;
this.anInt1516 = -1;
this.aByte1505 = 0;
this.aBoolean1491 = false;
this.anInt1517 = -1;
this.anInt1496 = 0;
this.anInt1518 = 0;
this.mapIcon = -1;
this.aBoolean1510 = false;
this.anInt1520 = -1;
this.aShort1500 = -1;
this.resizeZ = 128;
this.options = new RSString[5];
this.resizeX = 128;
this.aBoolean1492 = true;
this.resizeY = 128;
this.aBoolean1498 = false;
this.anInt1529 = -1;
this.aBoolean1530 = false;
this.aBoolean1525 = true;
this.varpId = -1;
this.anInt1522 = -1;
this.anInt1533 = 0;
this.aBoolean1486 = true;
this.anInt1534 = 0;
this.anInt1478 = 0;
this.anInt1528 = 16;
this.aBoolean1537 = false;
this.anInt1511 = 0;
this.anInt1484 = 0;
this.anInt1489 = 0;
this.animationId = -1;
this.aBoolean1507 = false;
this.anInt1512 = -1;
this.actionCount = 2;
this.aBoolean1536 = false;
this.varbitId = -1;
this.anInt1540 = -1;
this.aBoolean1541 = false;
this.aBoolean1542 = false;
}
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment