rs-client: refactoring (#1344)

* Rename some things to be more consistent everywhere

* rs-client: refactoring

* MenuAction -> MenuOpcode merge
This commit is contained in:
Lucwousin
2019-08-20 22:24:51 +02:00
committed by GitHub
parent 0f46656e9d
commit db705f5dd5
297 changed files with 13734 additions and 14043 deletions

View File

@@ -99,127 +99,126 @@ public abstract class AbstractArchive {
this.hash = var2;
Buffer var4 = new Buffer(HealthBarUpdate.decompressBytes(var1));
int var5 = var4.readUnsignedByte();
if (var5 >= 5 && var5 <= 7) {
if (var5 >= 6) {
var4.readInt();
}
int var6 = var4.readUnsignedByte();
if (var5 >= 7) {
this.groupCount = var4.method5685();
} else {
this.groupCount = var4.readUnsignedShort();
}
int var7 = 0;
int var8 = -1;
this.groupIds = new int[this.groupCount];
int var9;
if (var5 >= 7) {
for (var9 = 0; var9 < this.groupCount; ++var9) {
this.groupIds[var9] = var7 += var4.method5685();
if (this.groupIds[var9] > var8) {
var8 = this.groupIds[var9];
}
}
} else {
for (var9 = 0; var9 < this.groupCount; ++var9) {
this.groupIds[var9] = var7 += var4.readUnsignedShort();
if (this.groupIds[var9] > var8) {
var8 = this.groupIds[var9];
}
}
}
this.groupCrcs = new int[var8 + 1];
this.groupVersions = new int[var8 + 1];
this.fileCounts = new int[var8 + 1];
this.fileIds = new int[var8 + 1][];
this.groups = new Object[var8 + 1];
this.files = new Object[var8 + 1][];
if (var6 != 0) {
this.groupNameHashes = new int[var8 + 1];
for (var9 = 0; var9 < this.groupCount; ++var9) {
this.groupNameHashes[this.groupIds[var9]] = var4.readInt();
}
this.groupNameHashTable = new IntHashTable(this.groupNameHashes);
}
for (var9 = 0; var9 < this.groupCount; ++var9) {
this.groupCrcs[this.groupIds[var9]] = var4.readInt();
}
for (var9 = 0; var9 < this.groupCount; ++var9) {
this.groupVersions[this.groupIds[var9]] = var4.readInt();
}
for (var9 = 0; var9 < this.groupCount; ++var9) {
this.fileCounts[this.groupIds[var9]] = var4.readUnsignedShort();
}
int var10;
int var11;
int var12;
int var13;
int var14;
if (var5 >= 7) {
for (var9 = 0; var9 < this.groupCount; ++var9) {
var10 = this.groupIds[var9];
var11 = this.fileCounts[var10];
var7 = 0;
var12 = -1;
this.fileIds[var10] = new int[var11];
for (var13 = 0; var13 < var11; ++var13) {
var14 = this.fileIds[var10][var13] = var7 += var4.method5685();
if (var14 > var12) {
var12 = var14;
}
}
this.files[var10] = new Object[var12 + 1];
}
} else {
for (var9 = 0; var9 < this.groupCount; ++var9) {
var10 = this.groupIds[var9];
var11 = this.fileCounts[var10];
var7 = 0;
var12 = -1;
this.fileIds[var10] = new int[var11];
for (var13 = 0; var13 < var11; ++var13) {
var14 = this.fileIds[var10][var13] = var7 += var4.readUnsignedShort();
if (var14 > var12) {
var12 = var14;
}
}
this.files[var10] = new Object[var12 + 1];
}
}
if (var6 != 0) {
this.fileNameHashes = new int[var8 + 1][];
this.fileNameHashTables = new IntHashTable[var8 + 1];
for (var9 = 0; var9 < this.groupCount; ++var9) {
var10 = this.groupIds[var9];
var11 = this.fileCounts[var10];
this.fileNameHashes[var10] = new int[this.files[var10].length];
for (var12 = 0; var12 < var11; ++var12) {
this.fileNameHashes[var10][this.fileIds[var10][var12]] = var4.readInt();
}
this.fileNameHashTables[var10] = new IntHashTable(this.fileNameHashes[var10]);
}
}
} else {
if (var5 < 5 || var5 > 7) {
throw new RuntimeException("");
}
if (var5 >= 6) {
var4.readInt();
}
int var6 = var4.readUnsignedByte();
if (var5 >= 7) {
this.groupCount = var4.method5685();
} else {
this.groupCount = var4.readUnsignedShort();
}
int var7 = 0;
int var8 = -1;
this.groupIds = new int[this.groupCount];
int var9;
if (var5 >= 7) {
for (var9 = 0; var9 < this.groupCount; ++var9) {
this.groupIds[var9] = var7 += var4.method5685();
if (this.groupIds[var9] > var8) {
var8 = this.groupIds[var9];
}
}
} else {
for (var9 = 0; var9 < this.groupCount; ++var9) {
this.groupIds[var9] = var7 += var4.readUnsignedShort();
if (this.groupIds[var9] > var8) {
var8 = this.groupIds[var9];
}
}
}
this.groupCrcs = new int[var8 + 1];
this.groupVersions = new int[var8 + 1];
this.fileCounts = new int[var8 + 1];
this.fileIds = new int[var8 + 1][];
this.groups = new Object[var8 + 1];
this.files = new Object[var8 + 1][];
if (var6 != 0) {
this.groupNameHashes = new int[var8 + 1];
for (var9 = 0; var9 < this.groupCount; ++var9) {
this.groupNameHashes[this.groupIds[var9]] = var4.readInt();
}
this.groupNameHashTable = new IntHashTable(this.groupNameHashes);
}
for (var9 = 0; var9 < this.groupCount; ++var9) {
this.groupCrcs[this.groupIds[var9]] = var4.readInt();
}
for (var9 = 0; var9 < this.groupCount; ++var9) {
this.groupVersions[this.groupIds[var9]] = var4.readInt();
}
for (var9 = 0; var9 < this.groupCount; ++var9) {
this.fileCounts[this.groupIds[var9]] = var4.readUnsignedShort();
}
int var10;
int var11;
int var12;
int var13;
int var14;
if (var5 >= 7) {
for (var9 = 0; var9 < this.groupCount; ++var9) {
var10 = this.groupIds[var9];
var11 = this.fileCounts[var10];
var7 = 0;
var12 = -1;
this.fileIds[var10] = new int[var11];
for (var13 = 0; var13 < var11; ++var13) {
var14 = this.fileIds[var10][var13] = var7 += var4.method5685();
if (var14 > var12) {
var12 = var14;
}
}
this.files[var10] = new Object[var12 + 1];
}
} else {
for (var9 = 0; var9 < this.groupCount; ++var9) {
var10 = this.groupIds[var9];
var11 = this.fileCounts[var10];
var7 = 0;
var12 = -1;
this.fileIds[var10] = new int[var11];
for (var13 = 0; var13 < var11; ++var13) {
var14 = this.fileIds[var10][var13] = var7 += var4.readUnsignedShort();
if (var14 > var12) {
var12 = var14;
}
}
this.files[var10] = new Object[var12 + 1];
}
}
if (var6 != 0) {
this.fileNameHashes = new int[var8 + 1][];
this.fileNameHashTables = new IntHashTable[var8 + 1];
for (var9 = 0; var9 < this.groupCount; ++var9) {
var10 = this.groupIds[var9];
var11 = this.fileCounts[var10];
this.fileNameHashes[var10] = new int[this.files[var10].length];
for (var12 = 0; var12 < var11; ++var12) {
this.fileNameHashes[var10][this.fileIds[var10][var12]] = var4.readInt();
}
this.fileNameHashTables[var10] = new IntHashTable(this.fileNameHashes[var10]);
}
}
}
@ObfuscatedName("w")
@@ -248,26 +247,26 @@ public abstract class AbstractArchive {
)
@Export("takeFileEncrypted")
public byte[] takeFileEncrypted(int var1, int var2, int[] var3) {
if (var1 >= 0 && var1 < this.files.length && this.files[var1] != null && var2 >= 0 && var2 < this.files[var1].length) {
if (this.files[var1][var2] == null) {
boolean var4 = this.buildFiles(var1, var3);
if (var1 < 0 || var1 >= this.files.length || this.files[var1] == null || var2 < 0 || var2 >= this.files[var1].length) {
return null;
}
if (this.files[var1][var2] == null) {
boolean var4 = this.buildFiles(var1, var3);
if (!var4) {
this.loadGroup(var1);
var4 = this.buildFiles(var1, var3);
if (!var4) {
this.loadGroup(var1);
var4 = this.buildFiles(var1, var3);
if (!var4) {
return null;
}
return null;
}
}
byte[] var5 = ArchiveDisk.byteArrayFromObject(this.files[var1][var2], false);
if (this.shallowFiles) {
this.files[var1][var2] = null;
}
return var5;
}
return null;
byte[] var5 = ArchiveDisk.serialize(this.files[var1][var2], false);
if (this.shallowFiles) {
this.files[var1][var2] = null;
}
return var5;
}
@ObfuscatedName("k")
@@ -277,17 +276,17 @@ public abstract class AbstractArchive {
)
@Export("tryLoadFile")
public boolean tryLoadFile(int var1, int var2) {
if (var1 >= 0 && var1 < this.files.length && this.files[var1] != null && var2 >= 0 && var2 < this.files[var1].length) {
if (this.files[var1][var2] != null) {
return true;
}
if (this.groups[var1] != null) {
return true;
}
this.loadGroup(var1);
return this.groups[var1] != null;
if (var1 < 0 || var1 >= this.files.length || this.files[var1] == null || var2 < 0 || var2 >= this.files[var1].length) {
return false;
}
return false;
if (this.files[var1][var2] != null) {
return true;
}
if (this.groups[var1] != null) {
return true;
}
this.loadGroup(var1);
return this.groups[var1] != null;
}
@ObfuscatedName("l")
@@ -374,22 +373,22 @@ public abstract class AbstractArchive {
)
@Export("getFile")
public byte[] getFile(int var1, int var2) {
if (var1 >= 0 && var1 < this.files.length && this.files[var1] != null && var2 >= 0 && var2 < this.files[var1].length) {
if (this.files[var1][var2] == null) {
boolean var3 = this.buildFiles(var1, (int[])null);
if (var1 < 0 || var1 >= this.files.length || this.files[var1] == null || var2 < 0 || var2 >= this.files[var1].length) {
return null;
}
if (this.files[var1][var2] == null) {
boolean var3 = this.buildFiles(var1, (int[])null);
if (!var3) {
this.loadGroup(var1);
var3 = this.buildFiles(var1, (int[])null);
if (!var3) {
this.loadGroup(var1);
var3 = this.buildFiles(var1, (int[])null);
if (!var3) {
return null;
}
return null;
}
}
byte[] var4 = ArchiveDisk.byteArrayFromObject(this.files[var1][var2], false);
return var4;
}
return null;
byte[] var4 = ArchiveDisk.serialize(this.files[var1][var2], false);
return var4;
}
@ObfuscatedName("r")
@@ -517,9 +516,9 @@ public abstract class AbstractArchive {
}
byte[] var21;
if (var2 == null || var2[0] == 0 && var2[1] == 0 && var2[2] == 0 && var2[3] == 0) {
var21 = ArchiveDisk.byteArrayFromObject(this.groups[var1], false);
var21 = ArchiveDisk.serialize(this.groups[var1], false);
} else {
var21 = ArchiveDisk.byteArrayFromObject(this.groups[var1], true);
var21 = ArchiveDisk.serialize(this.groups[var1], true);
Buffer var8 = new Buffer(var21);
var8.xteaDecrypt(var2, 5, var8.array.length);
}
@@ -530,69 +529,11 @@ public abstract class AbstractArchive {
}
int var10;
if (var3 > 1) {
int var9 = var25.length;
--var9;
var10 = var25[var9] & 255;
var9 -= var10 * var3 * 4;
Buffer var11 = new Buffer(var25);
int[] var12 = new int[var3];
var11.offset = var9;
int var14;
int var15;
for (int var13 = 0; var13 < var10; ++var13) {
var14 = 0;
for (var15 = 0; var15 < var3; ++var15) {
var14 += var11.readInt();
var12[var15] += var14;
}
if (var3 <= 1) {
if (this.shallowFiles) {
var5[var4[0]] = var25;
return true;
}
byte[][] var23 = new byte[var3][];
for (var14 = 0; var14 < var3; ++var14) {
var23[var14] = new byte[var12[var14]];
var12[var14] = 0;
}
var11.offset = var9;
var14 = 0;
int var17;
for (var15 = 0; var15 < var10; ++var15) {
int var16 = 0;
for (var17 = 0; var17 < var3; ++var17) {
var16 += var11.readInt();
System.arraycopy(var25, var14, var23[var17], var12[var17], var16);
var12[var17] += var16;
var14 += var16;
}
}
for (var15 = 0; var15 < var3; ++var15) {
if (!this.shallowFiles) {
var17 = var4[var15];
byte[] var19 = var23[var15];
Object var18;
if (var19 == null) {
var18 = null;
} else if (var19.length > 136) {
DirectByteArrayCopier var20 = new DirectByteArrayCopier();
var20.set(var19);
var18 = var20;
} else {
var18 = var19;
}
var5[var17] = var18;
} else {
var5[var4[var15]] = var23[var15];
}
}
} else if (!this.shallowFiles) {
var10 = var4[0];
Object var26;
if (var25 == null) {
@@ -606,8 +547,68 @@ public abstract class AbstractArchive {
}
var5[var10] = var26;
} else {
var5[var4[0]] = var25;
return true;
}
int var9 = var25.length;
--var9;
var10 = var25[var9] & 255;
var9 -= var10 * var3 * 4;
Buffer var11 = new Buffer(var25);
int[] var12 = new int[var3];
var11.offset = var9;
int var14;
int var15;
for (int var13 = 0; var13 < var10; ++var13) {
var14 = 0;
for (var15 = 0; var15 < var3; ++var15) {
var14 += var11.readInt();
var12[var15] += var14;
}
}
byte[][] var23 = new byte[var3][];
for (var14 = 0; var14 < var3; ++var14) {
var23[var14] = new byte[var12[var14]];
var12[var14] = 0;
}
var11.offset = var9;
var14 = 0;
int var17;
for (var15 = 0; var15 < var10; ++var15) {
int var16 = 0;
for (var17 = 0; var17 < var3; ++var17) {
var16 += var11.readInt();
System.arraycopy(var25, var14, var23[var17], var12[var17], var16);
var12[var17] += var16;
var14 += var16;
}
}
for (var15 = 0; var15 < var3; ++var15) {
if (this.shallowFiles) {
var5[var4[var15]] = var23[var15];
continue;
}
var17 = var4[var15];
byte[] var19 = var23[var15];
Object var18;
if (var19 == null) {
var18 = null;
} else if (var19.length > 136) {
DirectByteArrayCopier var20 = new DirectByteArrayCopier();
var20.set(var19);
var18 = var20;
} else {
var18 = var19;
}
var5[var17] = var18;
}
return true;
@@ -723,7 +724,8 @@ public abstract class AbstractArchive {
signature = "(B)[Lct;",
garbageValue = "-27"
)
static AttackOption[] method4141() {
@Export("AttackOption_values")
static AttackOption[] AttackOption_values() {
return new AttackOption[]{AttackOption.AttackOption_alwaysRightClick, AttackOption.AttackOption_hidden, AttackOption.AttackOption_dependsOnCombatLevels, AttackOption.AttackOption_leftClickWhereAvailable};
}
@@ -739,12 +741,12 @@ public abstract class AbstractArchive {
return 1;
}
if (var0 == ScriptOpcodes.SOUND_SONG) {
GrandExchangeOfferTotalQuantityComparator.method93(Interpreter.Interpreter_intStack[--HealthBarUpdate.Interpreter_intStackSize]);
GrandExchangeOfferTotalQuantityComparator.playSong(Interpreter.Interpreter_intStack[--HealthBarUpdate.Interpreter_intStackSize]);
return 1;
}
if (var0 == ScriptOpcodes.SOUND_JINGLE) {
HealthBarUpdate.Interpreter_intStackSize -= 2;
WorldMapLabelSize.method188(Interpreter.Interpreter_intStack[HealthBarUpdate.Interpreter_intStackSize], Interpreter.Interpreter_intStack[HealthBarUpdate.Interpreter_intStackSize + 1]);
WorldMapLabelSize.playSoundJingle(Interpreter.Interpreter_intStack[HealthBarUpdate.Interpreter_intStackSize], Interpreter.Interpreter_intStack[HealthBarUpdate.Interpreter_intStackSize + 1]);
return 1;
}
return 2;

View File

@@ -228,42 +228,39 @@ public abstract class AbstractFont extends Rasterizer2D {
char var6 = var1.charAt(var5);
if (var6 == '<') {
var2 = var5;
} else {
if (var6 == '>' && var2 != -1) {
String var7 = var1.substring(var2 + 1, var5);
var2 = -1;
if (var7.equals("lt")) {
var6 = '<';
} else {
if (!var7.equals("gt")) {
if (var7.startsWith("img=")) {
try {
int var8 = class3.parseInt(var7.substring(4));
var4 += AbstractFont_modIconSprites[var8].width;
var3 = -1;
} catch (Exception var10) {
}
}
continue;
}
var6 = '>';
}
continue;
}
if (var6 == '>' && var2 != -1) {
String var7 = var1.substring(var2 + 1, var5);
var2 = -1;
if (var7.equals("lt")) {
var6 = '<';
}
if (var6 == 160) {
var6 = ' ';
}
if (var2 == -1) {
var4 += this.advances[(char)(ItemDefinition.charToByteCp1252(var6) & 255)];
if (this.kerning != null && var3 != -1) {
var4 += this.kerning[var6 + (var3 << 8)];
else if (var7.equals("gt")) {
var6 = '>';
} else if (var7.startsWith("img=")) {
try {
int var8 = class3.parseInt(var7.substring(4));
var4 += AbstractFont_modIconSprites[var8].width;
var3 = -1;
} catch (Exception var10) {
}
var3 = var6;
}
}
if (var6 == 160) {
var6 = ' ';
}
if (var2 != -1) {
continue;
}
var4 += this.advances[(char) (ItemDefinition.charToByteCp1252(var6) & 255)];
if (this.kerning != null && var3 != -1) {
var4 += this.kerning[var6 + (var3 << 8)];
}
var3 = var6;
}
return var4;
@@ -290,78 +287,79 @@ public abstract class AbstractFont extends Rasterizer2D {
char var15 = var1.charAt(var14);
if (var15 == '<') {
var10 = var14;
} else {
if (var15 == '>' && var10 != -1) {
String var16 = var1.substring(var10 + 1, var14);
var10 = -1;
var6.append('<');
var6.append(var16);
var6.append('>');
if (var16.equals("br")) {
var3[var12] = var6.toString().substring(var5, var6.length());
++var12;
var5 = var6.length();
var4 = 0;
var7 = -1;
var11 = 0;
} else if (var16.equals("lt")) {
var4 += this.charWidth('<');
if (this.kerning != null && var11 != -1) {
var4 += this.kerning[(var11 << '\b') + 60];
}
var11 = '<';
} else if (var16.equals("gt")) {
var4 += this.charWidth('>');
if (this.kerning != null && var11 != -1) {
var4 += this.kerning[(var11 << '\b') + 62];
}
var11 = '>';
} else if (var16.startsWith("img=")) {
try {
int var17 = class3.parseInt(var16.substring(4));
var4 += AbstractFont_modIconSprites[var17].width;
var11 = 0;
} catch (Exception var20) {
}
continue;
}
if (var15 == '>' && var10 != -1) {
String var16 = var1.substring(var10 + 1, var14);
var10 = -1;
var6.append('<');
var6.append(var16);
var6.append('>');
if (var16.equals("br")) {
var3[var12] = var6.toString().substring(var5, var6.length());
++var12;
var5 = var6.length();
var4 = 0;
var7 = -1;
var11 = 0;
} else if (var16.equals("lt")) {
var4 += this.charWidth('<');
if (this.kerning != null && var11 != -1) {
var4 += this.kerning[(var11 << '\b') + 60];
}
var15 = 0;
var11 = '<';
} else if (var16.equals("gt")) {
var4 += this.charWidth('>');
if (this.kerning != null && var11 != -1) {
var4 += this.kerning[(var11 << '\b') + 62];
}
var11 = '>';
} else if (var16.startsWith("img=")) {
try {
int var17 = class3.parseInt(var16.substring(4));
var4 += AbstractFont_modIconSprites[var17].width;
var11 = 0;
} catch (Exception var20) {
}
}
if (var10 == -1) {
if (var15 != 0) {
var6.append(var15);
var4 += this.charWidth(var15);
if (this.kerning != null && var11 != -1) {
var4 += this.kerning[var15 + (var11 << '\b')];
}
var15 = 0;
}
var11 = var15;
}
if (var15 == ' ') {
var7 = var6.length();
var8 = var4;
var9 = 1;
}
if (var2 != null && var4 > var2[var12 < var2.length ? var12 : var2.length - 1] && var7 >= 0) {
var3[var12] = var6.toString().substring(var5, var7 - var9);
++var12;
var5 = var7;
var7 = -1;
var4 -= var8;
var11 = 0;
}
if (var15 == '-') {
var7 = var6.length();
var8 = var4;
var9 = 0;
}
if (var10 != -1) {
continue;
}
if (var15 != 0) {
var6.append(var15);
var4 += this.charWidth(var15);
if (this.kerning != null && var11 != -1) {
var4 += this.kerning[var15 + (var11 << '\b')];
}
var11 = var15;
}
if (var15 == ' ') {
var7 = var6.length();
var8 = var4;
var9 = 1;
}
if (var2 != null && var4 > var2[var12 < var2.length ? var12 : var2.length - 1] && var7 >= 0) {
var3[var12] = var6.toString().substring(var5, var7 - var9);
++var12;
var5 = var7;
var7 = -1;
var4 -= var8;
var11 = 0;
}
if (var15 == '-') {
var7 = var6.length();
var8 = var4;
var9 = 0;
}
}
@@ -590,7 +588,7 @@ public abstract class AbstractFont extends Rasterizer2D {
} else if (var1.startsWith("str=")) {
AbstractFont_strike = VarbitDefinition.parseIntCustomRadix(var1.substring(4), 16);
} else if (var1.equals("str")) {
AbstractFont_strike = 8388608;
AbstractFont_strike = 0x800000;
} else if (var1.equals("/str")) {
AbstractFont_strike = -1;
} else if (var1.startsWith("u=")) {
@@ -644,83 +642,82 @@ public abstract class AbstractFont extends Rasterizer2D {
int var5 = -1;
for (int var6 = 0; var6 < var1.length(); ++var6) {
if (var1.charAt(var6) != 0) {
char var7 = (char)(ItemDefinition.charToByteCp1252(var1.charAt(var6)) & 255);
if (var7 == '<') {
var4 = var6;
if (var1.charAt(var6) == 0) {
continue;
}
char var7 = (char)(ItemDefinition.charToByteCp1252(var1.charAt(var6)) & 255);
if (var7 == '<') {
var4 = var6;
continue;
}
int var9;
if (var7 == '>' && var4 != -1) {
String var8 = var1.substring(var4 + 1, var6);
var4 = -1;
if (var8.equals("lt")) {
var7 = '<';
} else if (var8.equals("gt")) {
var7 = '>';
} else if (var8.startsWith("img=")) {
try {
var9 = class3.parseInt(var8.substring(4));
IndexedSprite var10 = AbstractFont_modIconSprites[var9];
var10.drawAt(var2, var3 + this.ascent - var10.height);
var2 += var10.width;
var5 = -1;
} catch (Exception var14) {
}
continue;
} else {
int var9;
if (var7 == '>' && var4 != -1) {
String var8 = var1.substring(var4 + 1, var6);
var4 = -1;
if (var8.equals("lt")) {
var7 = '<';
} else {
if (!var8.equals("gt")) {
if (var8.startsWith("img=")) {
try {
var9 = class3.parseInt(var8.substring(4));
IndexedSprite var10 = AbstractFont_modIconSprites[var9];
var10.drawAt(var2, var3 + this.ascent - var10.height);
var2 += var10.width;
var5 = -1;
} catch (Exception var14) {
}
} else {
this.decodeTag(var8);
}
continue;
}
var7 = '>';
}
}
if (var7 == 160) {
var7 = ' ';
}
if (var4 == -1) {
if (this.kerning != null && var5 != -1) {
var2 += this.kerning[var7 + (var5 << 8)];
}
int var12 = this.widths[var7];
var9 = this.heights[var7];
if (var7 != ' ') {
if (AbstractFont_alpha == 256) {
if (AbstractFont_shadow != -1) {
AbstractFont_drawGlyph(this.pixels[var7], var2 + this.leftBearings[var7] + 1, var3 + this.topBearings[var7] + 1, var12, var9, AbstractFont_shadow);
}
this.drawGlyph(this.pixels[var7], var2 + this.leftBearings[var7], var3 + this.topBearings[var7], var12, var9, AbstractFont_color);
} else {
if (AbstractFont_shadow != -1) {
AbstractFont_drawGlyphAlpha(this.pixels[var7], var2 + this.leftBearings[var7] + 1, var3 + this.topBearings[var7] + 1, var12, var9, AbstractFont_shadow, AbstractFont_alpha);
}
this.drawGlyphAlpha(this.pixels[var7], var2 + this.leftBearings[var7], var3 + this.topBearings[var7], var12, var9, AbstractFont_color, AbstractFont_alpha);
}
} else if (AbstractFont_justificationTotal > 0) {
AbstractFont_justificationCurrent += AbstractFont_justificationTotal;
var2 += AbstractFont_justificationCurrent >> 8;
AbstractFont_justificationCurrent &= 255;
}
int var13 = this.advances[var7];
if (AbstractFont_strike != -1) {
Rasterizer2D.Rasterizer2D_drawHorizontalLine(var2, var3 + (int)((double)this.ascent * 0.7D), var13, AbstractFont_strike);
}
if (AbstractFont_underline != -1) {
Rasterizer2D.Rasterizer2D_drawHorizontalLine(var2, var3 + this.ascent + 1, var13, AbstractFont_underline);
}
var2 += var13;
var5 = var7;
}
this.decodeTag(var8);
continue;
}
}
if (var7 == 160) {
var7 = ' ';
}
if (var4 != -1) {
continue;
}
if (this.kerning != null && var5 != -1) {
var2 += this.kerning[var7 + (var5 << 8)];
}
int var12 = this.widths[var7];
var9 = this.heights[var7];
if (var7 == ' ') {
if (AbstractFont_justificationTotal > 0) {
AbstractFont_justificationCurrent += AbstractFont_justificationTotal;
var2 += AbstractFont_justificationCurrent >> 8;
AbstractFont_justificationCurrent &= 255;
}
} else if (AbstractFont_alpha == 256) {
if (AbstractFont_shadow != -1) {
AbstractFont_drawGlyph(this.pixels[var7], var2 + this.leftBearings[var7] + 1, var3 + this.topBearings[var7] + 1, var12, var9, AbstractFont_shadow);
}
this.drawGlyph(this.pixels[var7], var2 + this.leftBearings[var7], var3 + this.topBearings[var7], var12, var9, AbstractFont_color);
} else {
if (AbstractFont_shadow != -1) {
AbstractFont_drawGlyphAlpha(this.pixels[var7], var2 + this.leftBearings[var7] + 1, var3 + this.topBearings[var7] + 1, var12, var9, AbstractFont_shadow, AbstractFont_alpha);
}
this.drawGlyphAlpha(this.pixels[var7], var2 + this.leftBearings[var7], var3 + this.topBearings[var7], var12, var9, AbstractFont_color, AbstractFont_alpha);
}
int var13 = this.advances[var7];
if (AbstractFont_strike != -1) {
Rasterizer2D.Rasterizer2D_drawHorizontalLine(var2, var3 + (int)((double)this.ascent * 0.7D), var13, AbstractFont_strike);
}
if (AbstractFont_underline != -1) {
Rasterizer2D.Rasterizer2D_drawHorizontalLine(var2, var3 + this.ascent + 1, var13, AbstractFont_underline);
}
var2 += var13;
var5 = var7;
}
}
@@ -734,113 +731,106 @@ public abstract class AbstractFont extends Rasterizer2D {
int var8 = 0;
for (int var9 = 0; var9 < var1.length(); ++var9) {
if (var1.charAt(var9) != 0) {
char var10 = (char)(ItemDefinition.charToByteCp1252(var1.charAt(var9)) & 255);
if (var10 == '<') {
var6 = var9;
if (var1.charAt(var9) == 0) {
continue;
}
char var10 = (char)(ItemDefinition.charToByteCp1252(var1.charAt(var9)) & 255);
if (var10 == '<') {
var6 = var9;
} else if (var10 == '>' && var6 != -1) {
String var11 = var1.substring(var6 + 1, var9);
var6 = -1;
if (var11.equals("lt")) {
var10 = '<';
} else if (var11.equals("gt")) {
var10 = '>';
} else if (!var11.startsWith("img=")) {
this.decodeTag(var11);
} else {
int var12;
int var13;
int var14;
if (var10 == '>' && var6 != -1) {
String var11 = var1.substring(var6 + 1, var9);
var6 = -1;
if (var11.equals("lt")) {
var10 = '<';
} else {
if (!var11.equals("gt")) {
if (var11.startsWith("img=")) {
try {
if (var4 != null) {
var12 = var4[var8];
} else {
var12 = 0;
}
if (var5 != null) {
var13 = var5[var8];
} else {
var13 = 0;
}
++var8;
var14 = class3.parseInt(var11.substring(4));
IndexedSprite var15 = AbstractFont_modIconSprites[var14];
var15.drawAt(var12 + var2, var13 + (var3 + this.ascent - var15.height));
var2 += var15.width;
var7 = -1;
} catch (Exception var19) {
}
} else {
this.decodeTag(var11);
}
continue;
}
var10 = '>';
}
}
if (var10 == 160) {
var10 = ' ';
}
if (var6 == -1) {
if (this.kerning != null && var7 != -1) {
var2 += this.kerning[var10 + (var7 << 8)];
}
int var17 = this.widths[var10];
var12 = this.heights[var10];
try {
int var12, var13;
if (var4 != null) {
var13 = var4[var8];
var12 = var4[var8];
} else {
var12 = 0;
}
if (var5 != null) {
var13 = var5[var8];
} else {
var13 = 0;
}
if (var5 != null) {
var14 = var5[var8];
} else {
var14 = 0;
}
++var8;
if (var10 != ' ') {
if (AbstractFont_alpha == 256) {
if (AbstractFont_shadow != -1) {
AbstractFont_drawGlyph(this.pixels[var10], var13 + var2 + this.leftBearings[var10] + 1, var3 + var14 + this.topBearings[var10] + 1, var17, var12, AbstractFont_shadow);
}
this.drawGlyph(this.pixels[var10], var13 + var2 + this.leftBearings[var10], var3 + var14 + this.topBearings[var10], var17, var12, AbstractFont_color);
} else {
if (AbstractFont_shadow != -1) {
AbstractFont_drawGlyphAlpha(this.pixels[var10], var13 + var2 + this.leftBearings[var10] + 1, var3 + var14 + this.topBearings[var10] + 1, var17, var12, AbstractFont_shadow, AbstractFont_alpha);
}
this.drawGlyphAlpha(this.pixels[var10], var13 + var2 + this.leftBearings[var10], var3 + var14 + this.topBearings[var10], var17, var12, AbstractFont_color, AbstractFont_alpha);
}
} else if (AbstractFont_justificationTotal > 0) {
AbstractFont_justificationCurrent += AbstractFont_justificationTotal;
var2 += AbstractFont_justificationCurrent >> 8;
AbstractFont_justificationCurrent &= 255;
}
int var18 = this.advances[var10];
if (AbstractFont_strike != -1) {
Rasterizer2D.Rasterizer2D_drawHorizontalLine(var2, var3 + (int)((double)this.ascent * 0.7D), var18, AbstractFont_strike);
}
if (AbstractFont_underline != -1) {
Rasterizer2D.Rasterizer2D_drawHorizontalLine(var2, var3 + this.ascent, var18, AbstractFont_underline);
}
var2 += var18;
var7 = var10;
int var14 = class3.parseInt(var11.substring(4));
IndexedSprite var15 = AbstractFont_modIconSprites[var14];
var15.drawAt(var12 + var2, var13 + (var3 + this.ascent - var15.height));
var2 += var15.width;
var7 = -1;
} catch (Exception var19) {
}
}
}
}
if (var10 == 160) {
var10 = ' ';
}
if (var6 != -1) {
continue;
}
if (this.kerning != null && var7 != -1) {
var2 += this.kerning[var10 + (var7 << 8)];
}
int var17 = this.widths[var10];
int var12 = this.heights[var10];
int var13, var14;
if (var4 != null) {
var13 = var4[var8];
} else {
var13 = 0;
}
if (var5 != null) {
var14 = var5[var8];
} else {
var14 = 0;
}
++var8;
if (var10 == ' ') {
if (AbstractFont_justificationTotal > 0) {
AbstractFont_justificationCurrent += AbstractFont_justificationTotal;
var2 += AbstractFont_justificationCurrent >> 8;
AbstractFont_justificationCurrent &= 255;
}
} else if (AbstractFont_alpha == 256) {
if (AbstractFont_shadow != -1) {
AbstractFont_drawGlyph(this.pixels[var10], var13 + var2 + this.leftBearings[var10] + 1, var3 + var14 + this.topBearings[var10] + 1, var17, var12, AbstractFont_shadow);
}
this.drawGlyph(this.pixels[var10], var13 + var2 + this.leftBearings[var10], var3 + var14 + this.topBearings[var10], var17, var12, AbstractFont_color);
} else {
if (AbstractFont_shadow != -1) {
AbstractFont_drawGlyphAlpha(this.pixels[var10], var13 + var2 + this.leftBearings[var10] + 1, var3 + var14 + this.topBearings[var10] + 1, var17, var12, AbstractFont_shadow, AbstractFont_alpha);
}
this.drawGlyphAlpha(this.pixels[var10], var13 + var2 + this.leftBearings[var10], var3 + var14 + this.topBearings[var10], var17, var12, AbstractFont_color, AbstractFont_alpha);
}
int var18 = this.advances[var10];
if (AbstractFont_strike != -1) {
Rasterizer2D.Rasterizer2D_drawHorizontalLine(var2, var3 + (int)((double)this.ascent * 0.7D), var18, AbstractFont_strike);
}
if (AbstractFont_underline != -1) {
Rasterizer2D.Rasterizer2D_drawHorizontalLine(var2, var3 + this.ascent, var18, AbstractFont_underline);
}
var2 += var18;
var7 = var10;
}
}
@ObfuscatedName("u")

View File

@@ -267,131 +267,129 @@ public abstract class AbstractWorldMapData {
)
@Export("addNpcToMenu")
static final void addNpcToMenu(NPCDefinition var0, int var1, int var2, int var3) {
if (Client.menuOptionsCount < 400) {
if (var0.transforms != null) {
var0 = var0.transform();
if (Client.menuOptionsCount >= 400) {
return;
}
if (var0.transforms != null) {
var0 = var0.transform();
}
if (var0 == null || !var0.isInteractable || (var0.isFollower && Client.followerIndex != var1)) {
return;
}
String var4 = var0.name;
if (var0.combatLevel != 0) {
int var7 = var0.combatLevel;
int var8 = Client.localPlayer.combatLevel;
int var9 = var8 - var7;
String var6;
if (var9 < -9) {
var6 = ClientPreferences.colorStartTag(0xff0000);
} else if (var9 < -6) {
var6 = ClientPreferences.colorStartTag(0xff3000);
} else if (var9 < -3) {
var6 = ClientPreferences.colorStartTag(0xff7000);
} else if (var9 < 0) {
var6 = ClientPreferences.colorStartTag(0xffb000);
} else if (var9 > 9) {
var6 = ClientPreferences.colorStartTag(0xff00);
} else if (var9 > 6) {
var6 = ClientPreferences.colorStartTag(0x40ff00);
} else if (var9 > 3) {
var6 = ClientPreferences.colorStartTag(0x80ff00);
} else if (var9 > 0) {
var6 = ClientPreferences.colorStartTag(0xc0ff00);
} else {
var6 = ClientPreferences.colorStartTag(0xffff00);
}
if (var0 != null) {
if (var0.isInteractable) {
if (!var0.isFollower || Client.followerIndex == var1) {
String var4 = var0.name;
int var7;
int var8;
if (var0.combatLevel != 0) {
var7 = var0.combatLevel;
var8 = Client.localPlayer.combatLevel;
int var9 = var8 - var7;
String var6;
if (var9 < -9) {
var6 = ClientPreferences.colorStartTag(0xff0000);
} else if (var9 < -6) {
var6 = ClientPreferences.colorStartTag(16723968);
} else if (var9 < -3) {
var6 = ClientPreferences.colorStartTag(16740352);
} else if (var9 < 0) {
var6 = ClientPreferences.colorStartTag(16756736);
} else if (var9 > 9) {
var6 = ClientPreferences.colorStartTag(0xff00);
} else if (var9 > 6) {
var6 = ClientPreferences.colorStartTag(4259584);
} else if (var9 > 3) {
var6 = ClientPreferences.colorStartTag(8453888);
} else if (var9 > 0) {
var6 = ClientPreferences.colorStartTag(12648192);
} else {
var6 = ClientPreferences.colorStartTag(0xffff00);
}
var4 = var4 + var6 + " " + " (" + "level-" + var0.combatLevel + ")";
}
var4 = var4 + var6 + " " + " (" + "level-" + var0.combatLevel + ")";
}
if (var0.isFollower && Client.followerOpsLowPriority) {
class188.insertMenuItemNoShift("Examine", ClientPreferences.colorStartTag(0xffff00) + var4, 1003, var1, var2, var3);
}
if (var0.isFollower && Client.followerOpsLowPriority) {
class188.insertMenuItemNoShift("Examine", ClientPreferences.colorStartTag(0xffff00) + var4, 1003, var1, var2, var3);
}
if (Client.isItemSelected == 1) {
class188.insertMenuItemNoShift("Use", Client.selectedItemName + " " + "->" + " " + ClientPreferences.colorStartTag(0xffff00) + var4, 7, var1, var2, var3);
} else if (Client.isSpellSelected) {
if ((WorldMapCacheName.selectedSpellFlags & 2) == 2) {
class188.insertMenuItemNoShift(Client.selectedSpellActionName, Client.selectedSpellName + " " + "->" + " " + ClientPreferences.colorStartTag(0xffff00) + var4, 8, var1, var2, var3);
}
} else {
int var10 = var0.isFollower && Client.followerOpsLowPriority ? 2000 : 0;
String[] var11 = var0.actions;
if (var11 != null) {
for (var7 = 4; var7 >= 0; --var7) {
if (var11[var7] != null && !var11[var7].equalsIgnoreCase("Attack")) {
var8 = 0;
if (var7 == 0) {
var8 = var10 + 9;
}
if (var7 == 1) {
var8 = var10 + 10;
}
if (var7 == 2) {
var8 = var10 + 11;
}
if (var7 == 3) {
var8 = var10 + 12;
}
if (var7 == 4) {
var8 = var10 + 13;
}
class188.insertMenuItemNoShift(var11[var7], ClientPreferences.colorStartTag(0xffff00) + var4, var8, var1, var2, var3);
}
}
}
if (var11 != null) {
for (var7 = 4; var7 >= 0; --var7) {
if (var11[var7] != null && var11[var7].equalsIgnoreCase("Attack")) {
short var12 = 0;
if (AttackOption.AttackOption_hidden != Client.npcAttackOption) {
if (Client.npcAttackOption == AttackOption.AttackOption_alwaysRightClick || AttackOption.AttackOption_dependsOnCombatLevels == Client.npcAttackOption && var0.combatLevel > Client.localPlayer.combatLevel) {
var12 = 2000;
}
var8 = 0;
if (var7 == 0) {
var8 = var12 + 9;
}
if (var7 == 1) {
var8 = var12 + 10;
}
if (var7 == 2) {
var8 = var12 + 11;
}
if (var7 == 3) {
var8 = var12 + 12;
}
if (var7 == 4) {
var8 = var12 + 13;
}
class188.insertMenuItemNoShift(var11[var7], ClientPreferences.colorStartTag(0xffff00) + var4, var8, var1, var2, var3);
}
}
}
}
if (!var0.isFollower || !Client.followerOpsLowPriority) {
class188.insertMenuItemNoShift("Examine", ClientPreferences.colorStartTag(0xffff00) + var4, 1003, var1, var2, var3);
}
}
}
if (Client.isItemSelected == 1) {
class188.insertMenuItemNoShift("Use", Client.selectedItemName + " " + "->" + " " + ClientPreferences.colorStartTag(0xffff00) + var4, 7, var1, var2, var3);
return;
} else if (Client.isSpellSelected) {
if ((WorldMapCacheName.selectedSpellFlags & 2) == 2) {
class188.insertMenuItemNoShift(Client.selectedSpellActionName, Client.selectedSpellName + " " + "->" + " " + ClientPreferences.colorStartTag(0xffff00) + var4, 8, var1, var2, var3);
}
return;
}
String[] var11 = var0.actions;
if (var11 != null) {
for (int var7 = 4; var7 >= 0; --var7) {
if (var11[var7] == null || var11[var7].equalsIgnoreCase("Attack")) {
continue;
}
int var8 = 0;
int var10 = var0.isFollower && Client.followerOpsLowPriority ? 2000 : 0;
if (var7 == 0) {
var8 = var10 + 9;
}
if (var7 == 1) {
var8 = var10 + 10;
}
if (var7 == 2) {
var8 = var10 + 11;
}
if (var7 == 3) {
var8 = var10 + 12;
}
if (var7 == 4) {
var8 = var10 + 13;
}
class188.insertMenuItemNoShift(var11[var7], ClientPreferences.colorStartTag(0xffff00) + var4, var8, var1, var2, var3);
}
for (int var7 = 4; var7 >= 0; --var7) {
if (var11[var7] == null || !var11[var7].equalsIgnoreCase("Attack")) {
continue;
}
short var12 = 0;
if (AttackOption.AttackOption_hidden == Client.npcAttackOption) {
continue;
}
if (Client.npcAttackOption == AttackOption.AttackOption_alwaysRightClick || AttackOption.AttackOption_dependsOnCombatLevels == Client.npcAttackOption && var0.combatLevel > Client.localPlayer.combatLevel) {
var12 = 2000;
}
int var8 = 0;
if (var7 == 0) {
var8 = var12 + 9;
}
if (var7 == 1) {
var8 = var12 + 10;
}
if (var7 == 2) {
var8 = var12 + 11;
}
if (var7 == 3) {
var8 = var12 + 12;
}
if (var7 == 4) {
var8 = var12 + 13;
}
class188.insertMenuItemNoShift(var11[var7], ClientPreferences.colorStartTag(0xffff00) + var4, var8, var1, var2, var3);
}
}
if (!var0.isFollower || !Client.followerOpsLowPriority) {
class188.insertMenuItemNoShift("Examine", ClientPreferences.colorStartTag(0xffff00) + var4, 1003, var1, var2, var3);
}
}
}

View File

@@ -23,9 +23,11 @@ public abstract class Actor extends Entity {
@ObfuscatedGetter(
intValue = 1236559867
)
int field950;
@Export("rotation")
int rotation;
@ObfuscatedName("ar")
boolean field967;
@Export("isWalking")
boolean isWalking;
@ObfuscatedName("ax")
@Export("size")
int size;
@@ -313,7 +315,7 @@ public abstract class Actor extends Entity {
int field1008;
Actor() {
this.field967 = false;
this.isWalking = false;
this.size = 78073455;
this.readySequence = -1;
this.turnLeftSequence = -1;
@@ -404,7 +406,7 @@ public abstract class Actor extends Entity {
int var10 = -1;
int var11 = 0;
if (var1 >= 0) {
HitSplatDefinition var12 = Projectile.getHitSplatDefinition(var1);
HitSplatDefinition var12 = Projectile.HitSplatDefinition_get(var1);
var10 = var12.field3348;
var11 = var12.field3344;
}
@@ -469,7 +471,7 @@ public abstract class Actor extends Entity {
)
@Export("addHealthBar")
final void addHealthBar(int var1, int var2, int var3, int var4, int var5, int var6) {
HealthBarDefinition var7 = class51.method854(var1);
HealthBarDefinition var7 = class51.HealthBarDefinition_get(var1);
HealthBar var8 = null;
HealthBar var9 = null;
int var10 = var7.int2;
@@ -516,7 +518,7 @@ public abstract class Actor extends Entity {
)
@Export("removeHealthBar")
final void removeHealthBar(int var1) {
HealthBarDefinition var2 = class51.method854(var1);
HealthBarDefinition var2 = class51.HealthBarDefinition_get(var1);
for (HealthBar var3 = (HealthBar)this.healthBars.last(); var3 != null; var3 = (HealthBar)this.healthBars.previous()) {
if (var2 == var3.definition) {

View File

@@ -405,7 +405,8 @@ public class Archive extends AbstractArchive {
signature = "(Lgx;Llv;I)Lgb;",
garbageValue = "1775123545"
)
public static PacketBufferNode method4265(ClientPacket var0, IsaacCipher var1) {
@Export("getPacketBufferNode")
public static PacketBufferNode getPacketBufferNode(ClientPacket var0, IsaacCipher var1) {
PacketBufferNode var2;
if (PacketBufferNode.PacketBufferNode_packetBufferNodeCount == 0) {
var2 = new PacketBufferNode();

View File

@@ -63,30 +63,25 @@ public final class ArchiveDisk {
public byte[] read(int var1) {
synchronized(this.datFile) {
try {
Object var10000;
if (this.idxFile.length() < (long)(var1 * 6 + 6)) {
var10000 = null;
return (byte[])var10000;
return null;
}
this.idxFile.seek((long)(var1 * 6));
this.idxFile.read(ArchiveDisk_buffer, 0, 6);
int var3 = ((ArchiveDisk_buffer[0] & 255) << 16) + (ArchiveDisk_buffer[2] & 255) + ((ArchiveDisk_buffer[1] & 255) << 8);
int var4 = (ArchiveDisk_buffer[5] & 255) + ((ArchiveDisk_buffer[3] & 255) << 16) + ((ArchiveDisk_buffer[4] & 255) << 8);
if (var3 < 0 || var3 > this.maxEntrySize) {
var10000 = null;
return (byte[])var10000;
return null;
}
if (var4 <= 0 || (long)var4 > this.datFile.length() / 520L) {
var10000 = null;
return (byte[])var10000;
return null;
}
byte[] var5 = new byte[var3];
int var6 = 0;
for (int var7 = 0; var6 < var3; ++var7) {
if (var4 == 0) {
var10000 = null;
return (byte[])var10000;
return null;
}
this.datFile.seek(520L * (long)var4);
@@ -96,7 +91,7 @@ public final class ArchiveDisk {
int var11;
int var12;
byte var13;
if (var1 > 65535) {
if (var1 > 0xffff) {
if (var8 > 510) {
var8 = 510;
}
@@ -121,13 +116,11 @@ public final class ArchiveDisk {
}
if (var9 != var1 || var7 != var10 || var12 != this.archive) {
var10000 = null;
return (byte[])var10000;
return null;
}
if (var11 < 0 || (long)var11 > this.datFile.length() / 520L) {
var10000 = null;
return (byte[])var10000;
return null;
}
int var14 = var8 + var13;
@@ -155,15 +148,15 @@ public final class ArchiveDisk {
@Export("write")
public boolean write(int var1, byte[] var2, int var3) {
synchronized(this.datFile) {
if (var3 >= 0 && var3 <= this.maxEntrySize) {
boolean var5 = this.write0(var1, var2, var3, true);
if (!var5) {
var5 = this.write0(var1, var2, var3, false);
}
return var5;
if (var3 < 0 || var3 > this.maxEntrySize) {
throw new IllegalArgumentException("" + this.archive + ',' + var1 + ',' + var3);
}
throw new IllegalArgumentException("" + this.archive + ',' + var1 + ',' + var3);
boolean var5 = this.write0(var1, var2, var3, true);
if (!var5) {
var5 = this.write0(var1, var2, var3, false);
}
return var5;
}
}
@@ -177,19 +170,16 @@ public final class ArchiveDisk {
synchronized(this.datFile) {
try {
int var6;
boolean var10000;
if (var4) {
if (this.idxFile.length() < (long)(var1 * 6 + 6)) {
var10000 = false;
return var10000;
return false;
}
this.idxFile.seek((long)(var1 * 6));
this.idxFile.read(ArchiveDisk_buffer, 0, 6);
var6 = (ArchiveDisk_buffer[5] & 255) + ((ArchiveDisk_buffer[3] & 255) << 16) + ((ArchiveDisk_buffer[4] & 255) << 8);
if (var6 <= 0 || (long)var6 > this.datFile.length() / 520L) {
var10000 = false;
return var10000;
return false;
}
} else {
var6 = (int)((this.datFile.length() + 519L) / 520L);
@@ -209,8 +199,7 @@ public final class ArchiveDisk {
int var7 = 0;
int var8 = 0;
while (true) {
if (var7 < var3) {
while (var7 < var3) {
label171: {
int var9 = 0;
int var10;
@@ -218,11 +207,11 @@ public final class ArchiveDisk {
this.datFile.seek((long)var6 * 520L);
int var11;
int var12;
if (var1 > 65535) {
if (var1 > 0xffff) {
try {
this.datFile.read(ArchiveDisk_buffer, 0, 10);
} catch (EOFException var17) {
break label171;
continue;
}
var10 = ((ArchiveDisk_buffer[1] & 255) << 16) + ((ArchiveDisk_buffer[0] & 255) << 24) + (ArchiveDisk_buffer[3] & 255) + ((ArchiveDisk_buffer[2] & 255) << 8);
@@ -243,13 +232,11 @@ public final class ArchiveDisk {
}
if (var10 != var1 || var8 != var11 || var12 != this.archive) {
var10000 = false;
return var10000;
return false;
}
if (var9 < 0 || (long)var9 > this.datFile.length() / 520L) {
var10000 = false;
return var10000;
return false;
}
}
@@ -265,7 +252,7 @@ public final class ArchiveDisk {
}
}
if (var1 > 65535) {
if (var1 > 0xffff) {
if (var3 - var7 <= 510) {
var9 = 0;
}
@@ -319,9 +306,7 @@ public final class ArchiveDisk {
}
}
var10000 = true;
return var10000;
}
return true;
} catch (IOException var18) {
return false;
}
@@ -337,13 +322,13 @@ public final class ArchiveDisk {
signature = "(Ljava/lang/Object;ZI)[B",
garbageValue = "991854443"
)
@Export("byteArrayFromObject")
public static byte[] byteArrayFromObject(Object var0, boolean var1) {
@Export("serialize")
public static byte[] serialize(Object var0, boolean var1) {
if (var0 == null) {
return null;
}
if (var0 instanceof byte[]) {
byte[] var6 = (byte[])((byte[])var0);
byte[] var6 = ((byte[]) var0);
if (var1) {
int var4 = var6.length;
byte[] var5 = new byte[var4];
@@ -352,10 +337,10 @@ public final class ArchiveDisk {
}
return var6;
}
if (var0 instanceof AbstractByteArrayCopier) {
AbstractByteArrayCopier var2 = (AbstractByteArrayCopier)var0;
return var2.get();
if (!(var0 instanceof AbstractByteArrayCopier)) {
throw new IllegalArgumentException();
}
throw new IllegalArgumentException();
AbstractByteArrayCopier var2 = (AbstractByteArrayCopier) var0;
return var2.get();
}
}

View File

@@ -37,8 +37,8 @@ public class ArchiveDiskAction extends Node {
signature = "(II)Lim;",
garbageValue = "-738252140"
)
@Export("getKitDefinition")
public static KitDefinition getKitDefinition(int var0) {
@Export("KitDefinition_get")
public static KitDefinition KitDefinition_get(int var0) {
KitDefinition var1 = (KitDefinition)KitDefinition.KitDefinition_cached.get((long)var0);
if (var1 != null) {
return var1;

View File

@@ -87,7 +87,7 @@ public class ArchiveDiskActionHandler implements Runnable {
}
}
} catch (Exception var13) {
HitSplatDefinition.sendStackTrace((String)null, var13);
HitSplatDefinition.RunException_sendStackTrace((String)null, var13);
}
}
@@ -107,7 +107,7 @@ public class ArchiveDiskActionHandler implements Runnable {
try {
PcmPlayer var3 = class32.pcmPlayerProvider.player();
var3.samples = new int[256 * (class169.isStereo ? 2 : 1)];
var3.samples = new int[256 * (FileSystem.PcmPlayer_stereo ? 2 : 1)];
var3.field1414 = var2;
var3.init();
var3.capacity = (var2 & -1024) + 1024;
@@ -116,7 +116,7 @@ public class ArchiveDiskActionHandler implements Runnable {
}
var3.open(var3.capacity);
if (PcmPlayer.pcmPlayerCount > 0 && SecureRandomFuture.soundSystem == null) {
if (PcmPlayer.PcmPlayer_count > 0 && SecureRandomFuture.soundSystem == null) {
SecureRandomFuture.soundSystem = new SoundSystem();
class14.soundSystemExecutor = Executors.newScheduledThreadPool(1);
class14.soundSystemExecutor.scheduleAtFixedRate(SecureRandomFuture.soundSystem, 0L, 10L, TimeUnit.MILLISECONDS);

View File

@@ -117,22 +117,14 @@ public class ArchiveLoader {
if (var3 == 0) {
var1 = null;
} else {
int var4 = 0;
while (true) {
if (var4 >= var3) {
var1 = var2;
break;
}
for (int var4 = 0; var4 < var3; var4++) {
var2 = class80.getWidget(var2.parentId);
if (var2 == null) {
var1 = null;
break;
}
++var4;
}
var1 = var2;
}
Widget var5 = var1;
@@ -152,117 +144,121 @@ public class ArchiveLoader {
static final void drawMinimap(Widget var0, int var1, int var2, int var3) {
class186.playPcmPlayers();
SpriteMask var4 = var0.getSpriteMask(false);
if (var4 != null) {
Rasterizer2D.Rasterizer2D_setClip(var1, var2, var4.width + var1, var2 + var4.height);
if (Client.minimapState != 2 && Client.minimapState != 5) {
int var5 = Client.camAngleY & 2047;
int var6 = Client.localPlayer.x / 32 + 48;
int var7 = 464 - Client.localPlayer.y / 32;
RouteStrategy.sceneMinimapSprite.drawRotatedMaskedCenteredAround(var1, var2, var4.width, var4.height, var6, var7, var5, 256, var4.xStarts, var4.xWidths);
if (var4 == null) {
return;
}
Rasterizer2D.Rasterizer2D_setClip(var1, var2, var4.width + var1, var2 + var4.height);
if (Client.minimapState == 2 || Client.minimapState == 5) {
Rasterizer2D.Rasterizer2D_fillMaskedRectangle(var1, var2, 0, var4.xStarts, var4.xWidths);
} else {
int var5 = Client.camAngleY & 2047;
int var6 = Client.localPlayer.x / 32 + 48;
int var7 = 464 - Client.localPlayer.y / 32;
RouteStrategy.sceneMinimapSprite.drawRotatedMaskedCenteredAround(var1, var2, var4.width, var4.height, var6, var7, var5, 256, var4.xStarts, var4.xWidths);
int var8;
int var9;
int var10;
for (var8 = 0; var8 < Client.mapIconCount; ++var8) {
var9 = Client.mapIconXs[var8] * 4 + 2 - Client.localPlayer.x / 32;
var10 = Client.mapIconYs[var8] * 4 + 2 - Client.localPlayer.y / 32;
Interpreter.drawSpriteOnMinimap(var1, var2, var9, var10, Client.mapIcons[var8], var4);
}
int var11;
int var12;
for (var8 = 0; var8 < 104; ++var8) {
for (var9 = 0; var9 < 104; ++var9) {
NodeDeque var15 = Client.groundItems[class42.plane][var8][var9];
if (var15 != null) {
var11 = var8 * 4 + 2 - Client.localPlayer.x / 32;
var12 = var9 * 4 + 2 - Client.localPlayer.y / 32;
Interpreter.drawSpriteOnMinimap(var1, var2, var11, var12, Skills.mapDotSprites[0], var4);
}
}
}
for (var8 = 0; var8 < Client.npcCount; ++var8) {
NPC var16 = Client.npcs[Client.npcIndices[var8]];
if (var16 != null && var16.isVisible()) {
NPCDefinition var18 = var16.definition;
if (var18 != null && var18.transforms != null) {
var18 = var18.transform();
}
if (var18 != null && var18.drawMapDot && var18.isInteractable) {
var11 = var16.x / 32 - Client.localPlayer.x / 32;
var12 = var16.y / 32 - Client.localPlayer.y / 32;
Interpreter.drawSpriteOnMinimap(var1, var2, var11, var12, Skills.mapDotSprites[1], var4);
}
}
}
var8 = Players.Players_count;
int[] var19 = Players.Players_indices;
for (var10 = 0; var10 < var8; ++var10) {
Player var17 = Client.players[var19[var10]];
if (var17 != null && var17.isVisible() && !var17.isHidden && var17 != Client.localPlayer) {
var12 = var17.x / 32 - Client.localPlayer.x / 32;
int var13 = var17.y / 32 - Client.localPlayer.y / 32;
boolean var14 = false;
if (Client.localPlayer.team != 0 && var17.team != 0 && var17.team == Client.localPlayer.team) {
var14 = true;
}
if (var17.isFriend()) {
Interpreter.drawSpriteOnMinimap(var1, var2, var12, var13, Skills.mapDotSprites[3], var4);
} else if (var14) {
Interpreter.drawSpriteOnMinimap(var1, var2, var12, var13, Skills.mapDotSprites[4], var4);
} else if (var17.isClanMember()) {
Interpreter.drawSpriteOnMinimap(var1, var2, var12, var13, Skills.mapDotSprites[5], var4);
} else {
Interpreter.drawSpriteOnMinimap(var1, var2, var12, var13, Skills.mapDotSprites[2], var4);
}
}
}
if (Client.hintArrowType != 0 && Client.cycle % 20 < 10) {
if (Client.hintArrowType == 1 && Client.hintArrowNpcIndex >= 0 && Client.hintArrowNpcIndex < Client.npcs.length) {
NPC var20 = Client.npcs[Client.hintArrowNpcIndex];
if (var20 != null) {
var11 = var20.x / 32 - Client.localPlayer.x / 32;
var12 = var20.y / 32 - Client.localPlayer.y / 32;
Canvas.worldToMinimap(var1, var2, var11, var12, WorldMapData_1.mapMarkerSprites[1], var4);
}
}
if (Client.hintArrowType == 2) {
var10 = Client.hintArrowX * 4 - MusicPatchNode2.baseX * 256 + 2 - Client.localPlayer.x / 32;
var11 = Client.hintArrowY * 4 - class1.baseY * 256 + 2 - Client.localPlayer.y / 32;
Canvas.worldToMinimap(var1, var2, var10, var11, WorldMapData_1.mapMarkerSprites[1], var4);
}
if (Client.hintArrowType == 10 && Client.hintArrowPlayerIndex >= 0 && Client.hintArrowPlayerIndex < Client.players.length) {
Player var21 = Client.players[Client.hintArrowPlayerIndex];
if (var21 != null) {
var11 = var21.x / 32 - Client.localPlayer.x / 32;
var12 = var21.y / 32 - Client.localPlayer.y / 32;
Canvas.worldToMinimap(var1, var2, var11, var12, WorldMapData_1.mapMarkerSprites[1], var4);
}
}
}
if (Client.destinationX != 0) {
var10 = Client.destinationX * 4 + 2 - Client.localPlayer.x / 32;
var11 = Client.destinationY * 4 + 2 - Client.localPlayer.y / 32;
Interpreter.drawSpriteOnMinimap(var1, var2, var10, var11, WorldMapData_1.mapMarkerSprites[0], var4);
}
if (!Client.localPlayer.isHidden) {
Rasterizer2D.Rasterizer2D_fillRectangle(var4.width / 2 + var1 - 1, var4.height / 2 + var2 - 1, 3, 3, 0xffffff);
}
} else {
Rasterizer2D.Rasterizer2D_fillMaskedRectangle(var1, var2, 0, var4.xStarts, var4.xWidths);
int var8;
int var9;
int var10;
for (var8 = 0; var8 < Client.mapIconCount; ++var8) {
var9 = Client.mapIconXs[var8] * 4 + 2 - Client.localPlayer.x / 32;
var10 = Client.mapIconYs[var8] * 4 + 2 - Client.localPlayer.y / 32;
Interpreter.drawSpriteOnMinimap(var1, var2, var9, var10, Client.mapIcons[var8], var4);
}
Client.field861[var3] = true;
int var11;
int var12;
for (var8 = 0; var8 < 104; ++var8) {
for (var9 = 0; var9 < 104; ++var9) {
NodeDeque var15 = Client.groundItems[class42.plane][var8][var9];
if (var15 == null) {
continue;
}
var11 = var8 * 4 + 2 - Client.localPlayer.x / 32;
var12 = var9 * 4 + 2 - Client.localPlayer.y / 32;
Interpreter.drawSpriteOnMinimap(var1, var2, var11, var12, Skills.mapDotSprites[0], var4);
}
}
for (var8 = 0; var8 < Client.npcCount; ++var8) {
NPC var16 = Client.npcs[Client.npcIndices[var8]];
if (var16 == null || !var16.isVisible()) {
continue;
}
NPCDefinition var18 = var16.definition;
if (var18 != null && var18.transforms != null) {
var18 = var18.transform();
}
if (var18 != null && var18.drawMapDot && var18.isInteractable) {
var11 = var16.x / 32 - Client.localPlayer.x / 32;
var12 = var16.y / 32 - Client.localPlayer.y / 32;
Interpreter.drawSpriteOnMinimap(var1, var2, var11, var12, Skills.mapDotSprites[1], var4);
}
}
var8 = Players.Players_count;
int[] var19 = Players.Players_indices;
for (var10 = 0; var10 < var8; ++var10) {
Player var17 = Client.players[var19[var10]];
if (var17 == null || !var17.isVisible() || var17.isHidden || var17 == Client.localPlayer) {
continue;
}
var12 = var17.x / 32 - Client.localPlayer.x / 32;
int var13 = var17.y / 32 - Client.localPlayer.y / 32;
boolean var14 = false;
if (Client.localPlayer.team != 0 && var17.team != 0 && var17.team == Client.localPlayer.team) {
var14 = true;
}
if (var17.isFriend()) {
Interpreter.drawSpriteOnMinimap(var1, var2, var12, var13, Skills.mapDotSprites[3], var4);
} else if (var14) {
Interpreter.drawSpriteOnMinimap(var1, var2, var12, var13, Skills.mapDotSprites[4], var4);
} else if (var17.isClanMember()) {
Interpreter.drawSpriteOnMinimap(var1, var2, var12, var13, Skills.mapDotSprites[5], var4);
} else {
Interpreter.drawSpriteOnMinimap(var1, var2, var12, var13, Skills.mapDotSprites[2], var4);
}
}
if (Client.hintArrowType != 0 && Client.cycle % 20 < 10) {
if (Client.hintArrowType == 1 && Client.hintArrowNpcIndex >= 0 && Client.hintArrowNpcIndex < Client.npcs.length) {
NPC var20 = Client.npcs[Client.hintArrowNpcIndex];
if (var20 != null) {
var11 = var20.x / 32 - Client.localPlayer.x / 32;
var12 = var20.y / 32 - Client.localPlayer.y / 32;
Canvas.worldToMinimap(var1, var2, var11, var12, WorldMapData_1.mapMarkerSprites[1], var4);
}
}
if (Client.hintArrowType == 2) {
var10 = Client.hintArrowX * 4 - MusicPatchNode2.baseX * 256 + 2 - Client.localPlayer.x / 32;
var11 = Client.hintArrowY * 4 - class1.baseY * 256 + 2 - Client.localPlayer.y / 32;
Canvas.worldToMinimap(var1, var2, var10, var11, WorldMapData_1.mapMarkerSprites[1], var4);
}
if (Client.hintArrowType == 10 && Client.hintArrowPlayerIndex >= 0 && Client.hintArrowPlayerIndex < Client.players.length) {
Player var21 = Client.players[Client.hintArrowPlayerIndex];
if (var21 != null) {
var11 = var21.x / 32 - Client.localPlayer.x / 32;
var12 = var21.y / 32 - Client.localPlayer.y / 32;
Canvas.worldToMinimap(var1, var2, var11, var12, WorldMapData_1.mapMarkerSprites[1], var4);
}
}
}
if (Client.destinationX != 0) {
var10 = Client.destinationX * 4 + 2 - Client.localPlayer.x / 32;
var11 = Client.destinationY * 4 + 2 - Client.localPlayer.y / 32;
Interpreter.drawSpriteOnMinimap(var1, var2, var10, var11, WorldMapData_1.mapMarkerSprites[0], var4);
}
if (!Client.localPlayer.isHidden) {
Rasterizer2D.Rasterizer2D_fillRectangle(var4.width / 2 + var1 - 1, var4.height / 2 + var2 - 1, 3, 3, 0xffffff);
}
}
Client.field861[var3] = true;
}
}

View File

@@ -49,7 +49,7 @@ public class AudioFilter {
float method2683(int var1, int var2, float var3) {
float var4 = (float)this.field1494[var1][0][var2] + var3 * (float)(this.field1494[var1][1][var2] - this.field1494[var1][0][var2]);
var4 *= 1.2207031E-4F;
return method2670(var4);
return normalize(var4);
}
@ObfuscatedName("p")
@@ -70,7 +70,6 @@ public class AudioFilter {
field1488[var1][0] = -2.0F * var3 * (float)Math.cos((double)this.method2683(var1, 0, var2));
field1488[var1][1] = var3 * var3;
float[] var10000;
int var4;
for (var4 = 1; var4 < this.pairs[var1]; ++var4) {
var3 = this.method2668(var1, var4, var2);
@@ -80,20 +79,16 @@ public class AudioFilter {
field1488[var1][var4 * 2] = field1488[var1][var4 * 2 - 1] * var5 + field1488[var1][var4 * 2 - 2] * var6;
for (int var7 = var4 * 2 - 1; var7 >= 2; --var7) {
var10000 = field1488[var1];
var10000[var7] += field1488[var1][var7 - 1] * var5 + field1488[var1][var7 - 2] * var6;
field1488[var1][var7] += field1488[var1][var7 - 1] * var5 + field1488[var1][var7 - 2] * var6;
}
var10000 = field1488[var1];
var10000[1] += field1488[var1][0] * var5 + var6;
var10000 = field1488[var1];
var10000[0] += var5;
field1488[var1][1] += field1488[var1][0] * var5 + var6;
field1488[var1][0] += var5;
}
if (var1 == 0) {
for (var4 = 0; var4 < this.pairs[0] * 2; ++var4) {
var10000 = field1488[0];
var10000[var4] *= field1491;
field1488[0][var4] *= field1491;
}
}
@@ -112,45 +107,45 @@ public class AudioFilter {
int var3 = var1.readUnsignedByte();
this.pairs[0] = var3 >> 4;
this.pairs[1] = var3 & 15;
if (var3 != 0) {
this.field1487[0] = var1.readUnsignedShort();
this.field1487[1] = var1.readUnsignedShort();
int var4 = var1.readUnsignedByte();
int var5;
int var6;
for (var5 = 0; var5 < 2; ++var5) {
for (var6 = 0; var6 < this.pairs[var5]; ++var6) {
this.field1494[var5][0][var6] = var1.readUnsignedShort();
this.field1486[var5][0][var6] = var1.readUnsignedShort();
}
}
for (var5 = 0; var5 < 2; ++var5) {
for (var6 = 0; var6 < this.pairs[var5]; ++var6) {
if ((var4 & 1 << var5 * 4 << var6) != 0) {
this.field1494[var5][1][var6] = var1.readUnsignedShort();
this.field1486[var5][1][var6] = var1.readUnsignedShort();
} else {
this.field1494[var5][1][var6] = this.field1494[var5][0][var6];
this.field1486[var5][1][var6] = this.field1486[var5][0][var6];
}
}
}
if (var4 != 0 || this.field1487[1] != this.field1487[0]) {
var2.decodeSegments(var1);
}
} else {
int[] var7 = this.field1487;
if (var3 == 0) {
this.field1487[0] = 0;
this.field1487[1] = 0;
var7[0] = 0;
return;
}
this.field1487[0] = var1.readUnsignedShort();
this.field1487[1] = var1.readUnsignedShort();
int var4 = var1.readUnsignedByte();
int var5;
int var6;
for (var5 = 0; var5 < 2; ++var5) {
for (var6 = 0; var6 < this.pairs[var5]; ++var6) {
this.field1494[var5][0][var6] = var1.readUnsignedShort();
this.field1486[var5][0][var6] = var1.readUnsignedShort();
}
}
for (var5 = 0; var5 < 2; ++var5) {
for (var6 = 0; var6 < this.pairs[var5]; ++var6) {
if ((var4 & 1 << var5 * 4 << var6) != 0) {
this.field1494[var5][1][var6] = var1.readUnsignedShort();
this.field1486[var5][1][var6] = var1.readUnsignedShort();
} else {
this.field1494[var5][1][var6] = this.field1494[var5][0][var6];
this.field1486[var5][1][var6] = this.field1486[var5][0][var6];
}
}
}
if (var4 != 0 || this.field1487[1] != this.field1487[0]) {
var2.decodeSegments(var1);
}
}
@ObfuscatedName("w")
static float method2670(float var0) {
@Export("normalize")
static float normalize(float var0) {
float var1 = 32.703197F * (float)Math.pow(2.0D, (double)var0);
return var1 * 3.1415927F / 11025.0F;
}

View File

@@ -71,7 +71,8 @@ public class Buddy extends User {
signature = "(II)I",
garbageValue = "1131109761"
)
public static int method5170(int var0) {
@Export("ViewportMouse_unpackX")
public static int ViewportMouse_unpackX(int var0) {
long var2 = ViewportMouse.ViewportMouse_entityTags[var0];
int var1 = (int)(var2 >>> 0 & 127L);
return var1;

View File

@@ -61,7 +61,7 @@ public class Buffer extends Node {
}
public Buffer(int var1) {
this.array = TextureProvider.method2729(var1);
this.array = TextureProvider.ByteArrayPool_getArray(var1);
this.offset = 0;
}
@@ -75,9 +75,10 @@ public class Buffer extends Node {
signature = "(I)V",
garbageValue = "581390013"
)
public void method5477() {
@Export("releaseArray")
public void releaseArray() {
if (this.array != null) {
SoundSystem.method2478(this.array);
SoundSystem.ByteArrayPool_release(this.array);
}
this.array = null;
@@ -256,7 +257,7 @@ public class Buffer extends Node {
)
@Export("writeLengthShort")
public void writeLengthShort(int var1) {
if (var1 >= 0 && var1 <= 65535) {
if (var1 >= 0 && var1 <= 0xffff) {
this.array[this.offset - var1 - 2] = (byte)(var1 >> 8);
this.array[this.offset - var1 - 1] = (byte)var1;
} else {
@@ -360,7 +361,7 @@ public class Buffer extends Node {
public int readShort() {
this.offset += 2;
int var1 = (this.array[this.offset - 1] & 255) + ((this.array[this.offset - 2] & 255) << 8);
if (var1 > 32767) {
if (var1 > 0x7fff) {
var1 -= 65536;
}
@@ -525,8 +526,8 @@ public class Buffer extends Node {
int var1 = 0;
int var2;
for (var2 = this.readUShortSmart(); var2 == 32767; var2 = this.readUShortSmart()) {
var1 += 32767;
for (var2 = this.readUShortSmart(); var2 == 0x7fff; var2 = this.readUShortSmart()) {
var1 += 0x7fff;
}
var1 += var2;
@@ -552,7 +553,7 @@ public class Buffer extends Node {
return this.readInt() & Integer.MAX_VALUE;
}
int var1 = this.readUnsignedShort();
return var1 == 32767 ? -1 : var1;
return var1 == 0x7fff ? -1 : var1;
}
@ObfuscatedName("cl")
@@ -883,7 +884,7 @@ public class Buffer extends Node {
public int method5535() {
this.offset += 2;
int var1 = ((this.array[this.offset - 1] & 255) << 8) + (this.array[this.offset - 2] & 255);
if (var1 > 32767) {
if (var1 > 0x7fff) {
var1 -= 65536;
}
@@ -898,7 +899,7 @@ public class Buffer extends Node {
public int method5500() {
this.offset += 2;
int var1 = ((this.array[this.offset - 1] & 255) << 8) + (this.array[this.offset - 2] - 128 & 255);
if (var1 > 32767) {
if (var1 > 0x7fff) {
var1 -= 65536;
}

View File

@@ -247,75 +247,74 @@ public class BufferedSource implements Runnable {
if (var3 == 4) {
Login.loginIndex = 4;
}
} else {
Login.loginIndex = var3;
Rasterizer2D.Rasterizer2D_clear();
byte[] var4 = var0.takeFileByNames("title.jpg", "");
GrandExchangeOfferWorldComparator.leftTitleSprite = BuddyRankComparator.convertJpgToSprite(var4);
NPC.rightTitleSprite = GrandExchangeOfferWorldComparator.leftTitleSprite.mirrorHorizontally();
if ((Client.worldProperties & 536870912) != 0) {
TileItem.logoSprite = class215.SpriteBuffer_getIndexedSpriteByName(var1, "logo_deadman_mode", "");
} else {
TileItem.logoSprite = class215.SpriteBuffer_getIndexedSpriteByName(var1, "logo", "");
}
Login.titleboxSprite = class215.SpriteBuffer_getIndexedSpriteByName(var1, "titlebox", "");
VarpDefinition.titlebuttonSprite = class215.SpriteBuffer_getIndexedSpriteByName(var1, "titlebutton", "");
int var6 = var1.getGroupId("runes");
int var7 = var1.getFileId(var6, "");
IndexedSprite[] var5 = class289.SpriteBuffer_getIndexedSpriteArray(var1, var6, var7);
Login.runesSprite = var5;
var7 = var1.getGroupId("title_mute");
int var8 = var1.getFileId(var7, "");
IndexedSprite[] var9 = class289.SpriteBuffer_getIndexedSpriteArray(var1, var7, var8);
Login.title_muteSprite = var9;
Login.options_buttons_0Sprite = class215.SpriteBuffer_getIndexedSpriteByName(var1, "options_radio_buttons,0", "");
Message.field606 = class215.SpriteBuffer_getIndexedSpriteByName(var1, "options_radio_buttons,4", "");
Decimator.options_buttons_2Sprite = class215.SpriteBuffer_getIndexedSpriteByName(var1, "options_radio_buttons,2", "");
Login.field1185 = class215.SpriteBuffer_getIndexedSpriteByName(var1, "options_radio_buttons,6", "");
class237.field3191 = Login.options_buttons_0Sprite.subWidth;
WorldMapDecoration.field212 = Login.options_buttons_0Sprite.subHeight;
Ignored.loginScreenRunesAnimation = new LoginScreenAnimation(Login.runesSprite);
if (var2) {
Login.Login_username = "";
Login.Login_password = "";
}
GrandExchangeOffer.field65 = 0;
WorldMapManager.otp = "";
Login.field1201 = true;
Login.worldSelectOpen = false;
if (!WorldMapLabelSize.clientPreferences.titleMusicDisabled) {
WorldMapRegion.method533(2, WorldMapRegion.archive6, "scape main", "", 255, false);
} else {
class40.method729(2);
}
if (NetCache.NetCache_socket != null) {
try {
Buffer var10 = new Buffer(4);
var10.writeByte(3);
var10.writeMedium(0);
NetCache.NetCache_socket.write(var10.array, 0, 4);
} catch (IOException var13) {
try {
NetCache.NetCache_socket.close();
} catch (Exception var12) {
}
++NetCache.NetCache_ioExceptions;
NetCache.NetCache_socket = null;
}
}
Login.field1179 = true;
Login.xPadding = (GrandExchangeEvent.canvasWidth - 765) / 2;
Login.loginBoxX = Login.xPadding + 202;
ScriptEvent.loginBoxCenter = Login.loginBoxX + 180;
GrandExchangeOfferWorldComparator.leftTitleSprite.drawAt(Login.xPadding, 0);
NPC.rightTitleSprite.drawAt(Login.xPadding + 382, 0);
TileItem.logoSprite.drawAt(Login.xPadding + 382 - TileItem.logoSprite.subWidth / 2, 18);
return;
}
Login.loginIndex = var3;
Rasterizer2D.Rasterizer2D_clear();
byte[] var4 = var0.takeFileByNames("title.jpg", "");
GrandExchangeOfferWorldComparator.leftTitleSprite = BuddyRankComparator.convertJpgToSprite(var4);
NPC.rightTitleSprite = GrandExchangeOfferWorldComparator.leftTitleSprite.mirrorHorizontally();
if ((Client.worldProperties & 536870912) != 0) {
TileItem.logoSprite = class215.SpriteBuffer_getIndexedSpriteByName(var1, "logo_deadman_mode", "");
} else {
TileItem.logoSprite = class215.SpriteBuffer_getIndexedSpriteByName(var1, "logo", "");
}
Login.titleboxSprite = class215.SpriteBuffer_getIndexedSpriteByName(var1, "titlebox", "");
VarpDefinition.titlebuttonSprite = class215.SpriteBuffer_getIndexedSpriteByName(var1, "titlebutton", "");
int var6 = var1.getGroupId("runes");
int var7 = var1.getFileId(var6, "");
IndexedSprite[] var5 = class289.SpriteBuffer_getIndexedSpriteArray(var1, var6, var7);
Login.runesSprite = var5;
var7 = var1.getGroupId("title_mute");
int var8 = var1.getFileId(var7, "");
IndexedSprite[] var9 = class289.SpriteBuffer_getIndexedSpriteArray(var1, var7, var8);
Login.title_muteSprite = var9;
Login.options_buttons_0Sprite = class215.SpriteBuffer_getIndexedSpriteByName(var1, "options_radio_buttons,0", "");
Message.field606 = class215.SpriteBuffer_getIndexedSpriteByName(var1, "options_radio_buttons,4", "");
Decimator.options_buttons_2Sprite = class215.SpriteBuffer_getIndexedSpriteByName(var1, "options_radio_buttons,2", "");
Login.field1185 = class215.SpriteBuffer_getIndexedSpriteByName(var1, "options_radio_buttons,6", "");
class237.field3191 = Login.options_buttons_0Sprite.subWidth;
WorldMapDecoration.field212 = Login.options_buttons_0Sprite.subHeight;
Ignored.loginScreenRunesAnimation = new LoginScreenAnimation(Login.runesSprite);
if (var2) {
Login.Login_username = "";
Login.Login_password = "";
}
GrandExchangeOffer.field65 = 0;
WorldMapManager.otp = "";
Login.field1201 = true;
Login.worldSelectOpen = false;
if (!WorldMapLabelSize.clientPreferences.titleMusicDisabled) {
WorldMapRegion.playMusicTrackByName(2, WorldMapRegion.archive6, "scape main", "", 255, false);
} else {
class40.method729(2);
}
if (NetCache.NetCache_socket != null) {
try {
Buffer var10 = new Buffer(4);
var10.writeByte(3);
var10.writeMedium(0);
NetCache.NetCache_socket.write(var10.array, 0, 4);
} catch (IOException var13) {
try {
NetCache.NetCache_socket.close();
} catch (Exception var12) {
}
++NetCache.NetCache_ioExceptions;
NetCache.NetCache_socket = null;
}
}
Login.field1179 = true;
Login.xPadding = (GrandExchangeEvent.canvasWidth - 765) / 2;
Login.loginBoxX = Login.xPadding + 202;
ScriptEvent.loginBoxCenter = Login.loginBoxX + 180;
GrandExchangeOfferWorldComparator.leftTitleSprite.drawAt(Login.xPadding, 0);
NPC.rightTitleSprite.drawAt(Login.xPadding + 382, 0);
TileItem.logoSprite.drawAt(Login.xPadding + 382 - TileItem.logoSprite.subWidth / 2, 18);
}
}

View File

@@ -52,8 +52,8 @@ public class ByteArrayPool {
signature = "(IZB)[B",
garbageValue = "58"
)
@Export("ByteArrayPool_get")
static synchronized byte[] ByteArrayPool_get(int var0, boolean var1) {
@Export("ByteArrayPool_getArrayBool")
static synchronized byte[] ByteArrayPool_getArrayBool(int var0, boolean var1) {
byte[] var2;
if (var0 != 100) {
if (var0 < 100) {

View File

@@ -42,7 +42,7 @@ public final class Canvas extends java.awt.Canvas {
)
@Export("getNextWorldListWorld")
static World getNextWorldListWorld() {
return World.worldListWorldCount < World.worldsCount ? World.worlds[++World.worldListWorldCount - 1] : null;
return World.World_listCount < World.World_count ? World.World_worlds[++World.World_listCount - 1] : null;
}
@ObfuscatedName("au")
@@ -52,22 +52,21 @@ public final class Canvas extends java.awt.Canvas {
)
@Export("runWidgetOnLoadListener")
static void runWidgetOnLoadListener(int var0) {
if (var0 != -1) {
if (class162.loadInterface(var0)) {
Widget[] var1 = Widget.Widget_interfaceComponents[var0];
for (int var2 = 0; var2 < var1.length; ++var2) {
Widget var3 = var1[var2];
if (var3.onLoad != null) {
ScriptEvent var4 = new ScriptEvent();
var4.widget = var3;
var4.args = var3.onLoad;
class96.runScript(var4, 5000000);
}
}
if (var0 == -1 || !class162.loadInterface(var0)) {
return;
}
Widget[] var1 = Widget.Widget_interfaceComponents[var0];
for (int var2 = 0; var2 < var1.length; ++var2) {
Widget var3 = var1[var2];
if (var3.onLoad != null) {
ScriptEvent var4 = new ScriptEvent();
var4.widget = var3;
var4.args = var3.onLoad;
class96.runScript(var4, 5000000);
}
}
}
@ObfuscatedName("jb")

View File

@@ -88,7 +88,8 @@ public class ChatChannel {
signature = "(Lkf;IB)V",
garbageValue = "67"
)
public static void method2213(Buffer var0, int var1) {
@Export("readReflectionCheck")
public static void readReflectionCheck(Buffer var0, int var1) {
ReflectionCheck var2 = new ReflectionCheck();
var2.size = var0.readUnsignedByte();
var2.id = var0.readInt();
@@ -105,67 +106,7 @@ public class ChatChannel {
String var5;
String var6;
int var7;
if (var4 != 0 && var4 != 1 && var4 != 2) {
if (var4 == 3 || var4 == 4) {
var5 = var0.readStringCp1252NullTerminated();
var6 = var0.readStringCp1252NullTerminated();
var7 = var0.readUnsignedByte();
String[] var8 = new String[var7];
for (int var9 = 0; var9 < var7; ++var9) {
var8[var9] = var0.readStringCp1252NullTerminated();
}
String var20 = var0.readStringCp1252NullTerminated();
byte[][] var10 = new byte[var7][];
int var12;
if (var4 == 3) {
for (int var11 = 0; var11 < var7; ++var11) {
var12 = var0.readInt();
var10[var11] = new byte[var12];
var0.readBytes(var10[var11], 0, var12);
}
}
var2.operations[var3] = var4;
Class[] var21 = new Class[var7];
for (var12 = 0; var12 < var7; ++var12) {
var21[var12] = User.loadClassFromDescriptor(var8[var12]);
}
Class var22 = User.loadClassFromDescriptor(var20);
if (User.loadClassFromDescriptor(var5).getClassLoader() == null) {
throw new SecurityException();
}
Method[] var13 = User.loadClassFromDescriptor(var5).getDeclaredMethods();
Method[] var14 = var13;
for (int var15 = 0; var15 < var14.length; ++var15) {
Method var16 = var14[var15];
if (Reflection.getMethodName(var16).equals(var6)) {
Class[] var17 = Reflection.getParameterTypes(var16);
if (var17.length == var21.length) {
boolean var18 = true;
for (int var19 = 0; var19 < var21.length; ++var19) {
if (var17[var19] != var21[var19]) {
var18 = false;
break;
}
}
if (var18 && var22 == var16.getReturnType()) {
var2.methods[var3] = var16;
}
}
}
}
var2.arguments[var3] = var10;
}
} else {
if (var4 == 0 || var4 == 1 || var4 == 2) {
var5 = var0.readStringCp1252NullTerminated();
var6 = var0.readStringCp1252NullTerminated();
var7 = 0;
@@ -180,6 +121,66 @@ public class ChatChannel {
}
var2.fields[var3] = Reflection.findField(User.loadClassFromDescriptor(var5), var6);
} else if (var4 == 3 || var4 == 4) {
var5 = var0.readStringCp1252NullTerminated();
var6 = var0.readStringCp1252NullTerminated();
var7 = var0.readUnsignedByte();
String[] var8 = new String[var7];
for (int var9 = 0; var9 < var7; ++var9) {
var8[var9] = var0.readStringCp1252NullTerminated();
}
String var20 = var0.readStringCp1252NullTerminated();
byte[][] var10 = new byte[var7][];
int var12;
if (var4 == 3) {
for (int var11 = 0; var11 < var7; ++var11) {
var12 = var0.readInt();
var10[var11] = new byte[var12];
var0.readBytes(var10[var11], 0, var12);
}
}
var2.operations[var3] = var4;
Class[] var21 = new Class[var7];
for (var12 = 0; var12 < var7; ++var12) {
var21[var12] = User.loadClassFromDescriptor(var8[var12]);
}
Class var22 = User.loadClassFromDescriptor(var20);
if (User.loadClassFromDescriptor(var5).getClassLoader() == null) {
throw new SecurityException();
}
Method[] var13 = User.loadClassFromDescriptor(var5).getDeclaredMethods();
Method[] var14 = var13;
for (int var15 = 0; var15 < var14.length; ++var15) {
Method var16 = var14[var15];
if (!Reflection.getMethodName(var16).equals(var6)) {
continue;
}
Class[] var17 = Reflection.getParameterTypes(var16);
if (var17.length != var21.length) {
continue;
}
boolean var18 = true;
for (int var19 = 0; var19 < var21.length; ++var19) {
if (var17[var19] != var21[var19]) {
var18 = false;
break;
}
}
if (var18 && var22 == var16.getReturnType()) {
var2.methods[var3] = var16;
}
}
var2.arguments[var3] = var10;
}
} catch (ClassNotFoundException var24) {
var2.creationErrors[var3] = -1;
@@ -202,7 +203,8 @@ public class ChatChannel {
signature = "(B)V",
garbageValue = "-4"
)
static void method2214() {
@Export("openWorldSelect")
static void openWorldSelect() {
if (UserComparator3.loadWorlds()) {
Login.worldSelectOpen = true;
Login.worldSelectPage = 0;

View File

@@ -83,8 +83,9 @@ public class ClanChat extends UserList {
signature = "(Ljava/lang/String;I)V",
garbageValue = "-1948396413"
)
final void method5231(String var1) {
this.name = VarcInt.method4403(var1);
@Export("readName")
final void readName(String var1) {
this.name = VarcInt.base37Decode(var1);
}
@ObfuscatedName("c")
@@ -92,8 +93,9 @@ public class ClanChat extends UserList {
signature = "(Ljava/lang/String;I)V",
garbageValue = "537403926"
)
final void method5232(String var1) {
this.owner = VarcInt.method4403(var1);
@Export("setOwner")
final void setOwner(String var1) {
this.owner = VarcInt.base37Decode(var1);
}
@ObfuscatedName("u")
@@ -103,24 +105,25 @@ public class ClanChat extends UserList {
)
@Export("readUpdate")
public final void readUpdate(Buffer var1) {
this.method5232(var1.readStringCp1252NullTerminated());
this.setOwner(var1.readStringCp1252NullTerminated());
long var2 = var1.readLong();
this.method5231(Tile.method2855(var2));
this.readName(Tile.method2855(var2));
this.minKick = var1.readByte();
int var4 = var1.readUnsignedByte();
if (var4 != 255) {
this.clear();
for (int var5 = 0; var5 < var4; ++var5) {
ClanMate var6 = (ClanMate)this.addLastNoPreviousUsername(new Username(var1.readStringCp1252NullTerminated(), this.loginType));
int var7 = var1.readUnsignedShort();
var6.set(var7, ++this.field3659 - 1);
var6.rank = var1.readByte();
var1.readStringCp1252NullTerminated();
this.isLocalPlayer(var6);
}
if (var4 == 255) {
return;
}
this.clear();
for (int var5 = 0; var5 < var4; ++var5) {
ClanMate var6 = (ClanMate)this.addLastNoPreviousUsername(new Username(var1.readStringCp1252NullTerminated(), this.loginType));
int var7 = var1.readUnsignedShort();
var6.set(var7, ++this.field3659 - 1);
var6.rank = var1.readByte();
var1.readStringCp1252NullTerminated();
this.isLocalPlayer(var6);
}
}
@ObfuscatedName("ct")
@@ -183,8 +186,8 @@ public class ClanChat extends UserList {
signature = "(I)V",
garbageValue = "17638925"
)
@Export("clearIgnoreds")
public final void clearIgnoreds() {
@Export("invalidateIgnoreds")
public final void invalidateIgnoreds() {
for (int var1 = 0; var1 < this.getSize(); ++var1) {
((ClanMate)this.get(var1)).clearIsIgnored();
}

File diff suppressed because it is too large Load Diff

View File

@@ -6,8 +6,7 @@ import net.runelite.mapping.ObfuscatedSignature;
@ObfuscatedName("gx")
@Implements("ClientPacket")
public class ClientPacket implements ClientPacketMarker
{
public class ClientPacket implements ClientPacketMarker {
@ObfuscatedName("ng")
@ObfuscatedGetter(
intValue = -1373117165
@@ -639,7 +638,8 @@ public class ClientPacket implements ClientPacketMarker
signature = "(Ljava/lang/CharSequence;I)Ljava/lang/String;",
garbageValue = "-231155257"
)
public static String method3612(CharSequence var0) {
@Export("passwordStarChars")
public static String passwordStarChars(CharSequence var0) {
int var2 = var0.length();
char[] var3 = new char[var2];
@@ -656,11 +656,12 @@ public class ClientPacket implements ClientPacketMarker
signature = "(IIIIIIILer;Lfv;I)V",
garbageValue = "1078750200"
)
static final void method3611(int var0, int var1, int var2, int var3, int var4, int var5, int var6, Scene var7, CollisionMap var8) {
ObjectDefinition var9 = ViewportMouse.getObjectDefinition(var4);
@Export("addPendingGameObject")
static final void addPendingGameObject(int plane, int var1, int x, int y, int id, int rotation, int objectType, Scene scene, CollisionMap collision) {
ObjectDefinition var9 = ViewportMouse.getObjectDefinition(id);
int var10;
int var11;
if (var5 != 1 && var5 != 3) {
if (rotation != 1 && rotation != 3) {
var10 = var9.sizeX;
var11 = var9.sizeY;
} else {
@@ -670,211 +671,205 @@ public class ClientPacket implements ClientPacketMarker
int var12;
int var13;
if (var10 + var2 <= 104) {
var12 = (var10 >> 1) + var2;
var13 = var2 + (var10 + 1 >> 1);
if (var10 + x <= 104) {
var12 = (var10 >> 1) + x;
var13 = x + (var10 + 1 >> 1);
} else {
var12 = var2;
var13 = var2 + 1;
var12 = x;
var13 = x + 1;
}
int var14;
int var15;
if (var3 + var11 <= 104) {
var14 = var3 + (var11 >> 1);
var15 = var3 + (var11 + 1 >> 1);
if (y + var11 <= 104) {
var14 = y + (var11 >> 1);
var15 = y + (var11 + 1 >> 1);
} else {
var14 = var3;
var15 = var3 + 1;
var14 = y;
var15 = y + 1;
}
int[][] var16 = Tiles.Tiles_heights[var1];
int var17 = var16[var12][var14] + var16[var13][var14] + var16[var12][var15] + var16[var13][var15] >> 2;
int var18 = (var2 << 7) + (var10 << 6);
int var19 = (var3 << 7) + (var11 << 6);
long var20 = Tile.calculateTag(var2, var3, 2, var9.int1 == 0, var4);
int var22 = (var5 << 6) + var6;
int var18 = (x << 7) + (var10 << 6);
int var19 = (y << 7) + (var11 << 6);
long var20 = Tile.calculateTag(x, y, 2, var9.int1 == 0, id);
int var22 = (rotation << 6) + objectType;
if (var9.int3 == 1) {
var22 += 256;
}
Object var23;
if (var6 == 22) {
if (objectType == 22) {
if (var9.animationId == -1 && var9.transforms == null) {
var23 = var9.getModel(22, var5, var16, var18, var17, var19);
var23 = var9.getModel(22, rotation, var16, var18, var17, var19);
} else {
var23 = new DynamicObject(var4, 22, var5, var1, var2, var3, var9.animationId, true, (Entity)null);
var23 = new DynamicObject(id, 22, rotation, var1, x, y, var9.animationId, true, (Entity)null);
}
var7.newFloorDecoration(var0, var2, var3, var17, (Entity)var23, var20, var22);
scene.newFloorDecoration(plane, x, y, var17, (Entity)var23, var20, var22);
if (var9.interactType == 1) {
var8.method3562(var2, var3);
collision.setBlockedByFloorDec(x, y);
}
} else if (var6 != 10 && var6 != 11) {
if (var6 >= 12) {
if (var9.animationId == -1 && var9.transforms == null) {
var23 = var9.getModel(var6, var5, var16, var18, var17, var19);
} else {
var23 = new DynamicObject(var4, var6, var5, var1, var2, var3, var9.animationId, true, (Entity)null);
}
var7.method3076(var0, var2, var3, var17, 1, 1, (Entity)var23, 0, var20, var22);
if (var9.interactType != 0) {
var8.method3560(var2, var3, var10, var11, var9.boolean1);
}
} else if (var6 == 0) {
if (var9.animationId == -1 && var9.transforms == null) {
var23 = var9.getModel(0, var5, var16, var18, var17, var19);
} else {
var23 = new DynamicObject(var4, 0, var5, var1, var2, var3, var9.animationId, true, (Entity)null);
}
var7.newBoundaryObject(var0, var2, var3, var17, (Entity)var23, (Entity)null, Tiles.field512[var5], 0, var20, var22);
if (var9.interactType != 0) {
var8.method3559(var2, var3, var6, var5, var9.boolean1);
}
} else if (var6 == 1) {
if (var9.animationId == -1 && var9.transforms == null) {
var23 = var9.getModel(1, var5, var16, var18, var17, var19);
} else {
var23 = new DynamicObject(var4, 1, var5, var1, var2, var3, var9.animationId, true, (Entity)null);
}
var7.newBoundaryObject(var0, var2, var3, var17, (Entity)var23, (Entity)null, Tiles.field513[var5], 0, var20, var22);
if (var9.interactType != 0) {
var8.method3559(var2, var3, var6, var5, var9.boolean1);
}
} else {
int var29;
if (var6 == 2) {
var29 = var5 + 1 & 3;
Object var24;
Object var25;
if (var9.animationId == -1 && var9.transforms == null) {
var24 = var9.getModel(2, var5 + 4, var16, var18, var17, var19);
var25 = var9.getModel(2, var29, var16, var18, var17, var19);
} else {
var24 = new DynamicObject(var4, 2, var5 + 4, var1, var2, var3, var9.animationId, true, (Entity)null);
var25 = new DynamicObject(var4, 2, var29, var1, var2, var3, var9.animationId, true, (Entity)null);
}
var7.newBoundaryObject(var0, var2, var3, var17, (Entity)var24, (Entity)var25, Tiles.field512[var5], Tiles.field512[var29], var20, var22);
if (var9.interactType != 0) {
var8.method3559(var2, var3, var6, var5, var9.boolean1);
}
} else if (var6 == 3) {
if (var9.animationId == -1 && var9.transforms == null) {
var23 = var9.getModel(3, var5, var16, var18, var17, var19);
} else {
var23 = new DynamicObject(var4, 3, var5, var1, var2, var3, var9.animationId, true, (Entity)null);
}
var7.newBoundaryObject(var0, var2, var3, var17, (Entity)var23, (Entity)null, Tiles.field513[var5], 0, var20, var22);
if (var9.interactType != 0) {
var8.method3559(var2, var3, var6, var5, var9.boolean1);
}
} else if (var6 == 9) {
if (var9.animationId == -1 && var9.transforms == null) {
var23 = var9.getModel(var6, var5, var16, var18, var17, var19);
} else {
var23 = new DynamicObject(var4, var6, var5, var1, var2, var3, var9.animationId, true, (Entity)null);
}
var7.method3076(var0, var2, var3, var17, 1, 1, (Entity)var23, 0, var20, var22);
if (var9.interactType != 0) {
var8.method3560(var2, var3, var10, var11, var9.boolean1);
}
} else if (var6 == 4) {
if (var9.animationId == -1 && var9.transforms == null) {
var23 = var9.getModel(4, var5, var16, var18, var17, var19);
} else {
var23 = new DynamicObject(var4, 4, var5, var1, var2, var3, var9.animationId, true, (Entity)null);
}
var7.newWallDecoration(var0, var2, var3, var17, (Entity)var23, (Entity)null, Tiles.field512[var5], 0, 0, 0, var20, var22);
} else {
Object var26;
long var30;
if (var6 == 5) {
var29 = 16;
var30 = var7.getBoundaryObjectTag(var0, var2, var3);
if (var30 != 0L) {
var29 = ViewportMouse.getObjectDefinition(class43.getObjectIdFromTag(var30)).int2;
}
if (var9.animationId == -1 && var9.transforms == null) {
var26 = var9.getModel(4, var5, var16, var18, var17, var19);
} else {
var26 = new DynamicObject(var4, 4, var5, var1, var2, var3, var9.animationId, true, (Entity)null);
}
var7.newWallDecoration(var0, var2, var3, var17, (Entity)var26, (Entity)null, Tiles.field512[var5], 0, var29 * Tiles.field514[var5], var29 * Tiles.field520[var5], var20, var22);
} else if (var6 == 6) {
var29 = 8;
var30 = var7.getBoundaryObjectTag(var0, var2, var3);
if (var30 != 0L) {
var29 = ViewportMouse.getObjectDefinition(class43.getObjectIdFromTag(var30)).int2 / 2;
}
if (var9.animationId == -1 && var9.transforms == null) {
var26 = var9.getModel(4, var5 + 4, var16, var18, var17, var19);
} else {
var26 = new DynamicObject(var4, 4, var5 + 4, var1, var2, var3, var9.animationId, true, (Entity)null);
}
var7.newWallDecoration(var0, var2, var3, var17, (Entity)var26, (Entity)null, 256, var5, var29 * Tiles.field509[var5], var29 * Tiles.field517[var5], var20, var22);
} else if (var6 == 7) {
int var32 = var5 + 2 & 3;
if (var9.animationId == -1 && var9.transforms == null) {
var23 = var9.getModel(4, var32 + 4, var16, var18, var17, var19);
} else {
var23 = new DynamicObject(var4, 4, var32 + 4, var1, var2, var3, var9.animationId, true, (Entity)null);
}
var7.newWallDecoration(var0, var2, var3, var17, (Entity)var23, (Entity)null, 256, var32, 0, 0, var20, var22);
} else if (var6 == 8) {
var29 = 8;
var30 = var7.getBoundaryObjectTag(var0, var2, var3);
if (var30 != 0L) {
var29 = ViewportMouse.getObjectDefinition(class43.getObjectIdFromTag(var30)).int2 / 2;
}
int var28 = var5 + 2 & 3;
Object var27;
if (var9.animationId == -1 && var9.transforms == null) {
var26 = var9.getModel(4, var5 + 4, var16, var18, var17, var19);
var27 = var9.getModel(4, var28 + 4, var16, var18, var17, var19);
} else {
var26 = new DynamicObject(var4, 4, var5 + 4, var1, var2, var3, var9.animationId, true, (Entity)null);
var27 = new DynamicObject(var4, 4, var28 + 4, var1, var2, var3, var9.animationId, true, (Entity)null);
}
var7.newWallDecoration(var0, var2, var3, var17, (Entity)var26, (Entity)var27, 256, var5, var29 * Tiles.field509[var5], var29 * Tiles.field517[var5], var20, var22);
}
}
}
} else {
} else if (objectType == 10 || objectType == 11) {
if (var9.animationId == -1 && var9.transforms == null) {
var23 = var9.getModel(10, var5, var16, var18, var17, var19);
var23 = var9.getModel(10, rotation, var16, var18, var17, var19);
} else {
var23 = new DynamicObject(var4, 10, var5, var1, var2, var3, var9.animationId, true, (Entity)null);
var23 = new DynamicObject(id, 10, rotation, var1, x, y, var9.animationId, true, (Entity)null);
}
if (var23 != null) {
var7.method3076(var0, var2, var3, var17, var10, var11, (Entity)var23, var6 == 11 ? 256 : 0, var20, var22);
scene.method3076(plane, x, y, var17, var10, var11, (Entity)var23, objectType == 11 ? 256 : 0, var20, var22);
}
if (var9.interactType != 0) {
var8.method3560(var2, var3, var10, var11, var9.boolean1);
collision.addGameObject(x, y, var10, var11, var9.boolean1);
}
} else if (objectType >= 12) {
if (var9.animationId == -1 && var9.transforms == null) {
var23 = var9.getModel(objectType, rotation, var16, var18, var17, var19);
} else {
var23 = new DynamicObject(id, objectType, rotation, var1, x, y, var9.animationId, true, (Entity) null);
}
scene.method3076(plane, x, y, var17, 1, 1, (Entity) var23, 0, var20, var22);
if (var9.interactType != 0) {
collision.addGameObject(x, y, var10, var11, var9.boolean1);
}
} else if (objectType == 0) {
if (var9.animationId == -1 && var9.transforms == null) {
var23 = var9.getModel(0, rotation, var16, var18, var17, var19);
} else {
var23 = new DynamicObject(id, 0, rotation, var1, x, y, var9.animationId, true, (Entity) null);
}
scene.newBoundaryObject(plane, x, y, var17, (Entity) var23, (Entity) null, Tiles.field512[rotation], 0, var20, var22);
if (var9.interactType != 0) {
collision.method3559(x, y, objectType, rotation, var9.boolean1);
}
} else if (objectType == 1) {
if (var9.animationId == -1 && var9.transforms == null) {
var23 = var9.getModel(1, rotation, var16, var18, var17, var19);
} else {
var23 = new DynamicObject(id, 1, rotation, var1, x, y, var9.animationId, true, (Entity) null);
}
scene.newBoundaryObject(plane, x, y, var17, (Entity) var23, (Entity) null, Tiles.field513[rotation], 0, var20, var22);
if (var9.interactType != 0) {
collision.method3559(x, y, objectType, rotation, var9.boolean1);
}
} else if (objectType == 2) {
int var29 = rotation + 1 & 3;
Object var24;
Object var25;
if (var9.animationId == -1 && var9.transforms == null) {
var24 = var9.getModel(2, rotation + 4, var16, var18, var17, var19);
var25 = var9.getModel(2, var29, var16, var18, var17, var19);
} else {
var24 = new DynamicObject(id, 2, rotation + 4, var1, x, y, var9.animationId, true, (Entity) null);
var25 = new DynamicObject(id, 2, var29, var1, x, y, var9.animationId, true, (Entity) null);
}
scene.newBoundaryObject(plane, x, y, var17, (Entity) var24, (Entity) var25, Tiles.field512[rotation], Tiles.field512[var29], var20, var22);
if (var9.interactType != 0) {
collision.method3559(x, y, objectType, rotation, var9.boolean1);
}
} else if (objectType == 3) {
if (var9.animationId == -1 && var9.transforms == null) {
var23 = var9.getModel(3, rotation, var16, var18, var17, var19);
} else {
var23 = new DynamicObject(id, 3, rotation, var1, x, y, var9.animationId, true, (Entity) null);
}
scene.newBoundaryObject(plane, x, y, var17, (Entity) var23, (Entity) null, Tiles.field513[rotation], 0, var20, var22);
if (var9.interactType != 0) {
collision.method3559(x, y, objectType, rotation, var9.boolean1);
}
} else if (objectType == 9) {
if (var9.animationId == -1 && var9.transforms == null) {
var23 = var9.getModel(objectType, rotation, var16, var18, var17, var19);
} else {
var23 = new DynamicObject(id, objectType, rotation, var1, x, y, var9.animationId, true, (Entity) null);
}
scene.method3076(plane, x, y, var17, 1, 1, (Entity) var23, 0, var20, var22);
if (var9.interactType != 0) {
collision.addGameObject(x, y, var10, var11, var9.boolean1);
}
} else if (objectType == 4) {
if (var9.animationId == -1 && var9.transforms == null) {
var23 = var9.getModel(4, rotation, var16, var18, var17, var19);
} else {
var23 = new DynamicObject(id, 4, rotation, var1, x, y, var9.animationId, true, (Entity) null);
}
scene.newWallDecoration(plane, x, y, var17, (Entity) var23, (Entity) null, Tiles.field512[rotation], 0, 0, 0, var20, var22);
} else if (objectType == 5) {
int var29 = 16;
long var30 = scene.getBoundaryObjectTag(plane, x, y);
if (var30 != 0L) {
var29 = ViewportMouse.getObjectDefinition(class43.Entity_unpackID(var30)).int2;
}
Object var26;
if (var9.animationId == -1 && var9.transforms == null) {
var26 = var9.getModel(4, rotation, var16, var18, var17, var19);
} else {
var26 = new DynamicObject(id, 4, rotation, var1, x, y, var9.animationId, true, (Entity) null);
}
scene.newWallDecoration(plane, x, y, var17, (Entity) var26, (Entity) null, Tiles.field512[rotation], 0, var29 * Tiles.field514[rotation], var29 * Tiles.field520[rotation], var20, var22);
} else if (objectType == 6) {
int var29 = 8;
long var30 = scene.getBoundaryObjectTag(plane, x, y);
if (var30 != 0L) {
var29 = ViewportMouse.getObjectDefinition(class43.Entity_unpackID(var30)).int2 / 2;
}
Object var26;
if (var9.animationId == -1 && var9.transforms == null) {
var26 = var9.getModel(4, rotation + 4, var16, var18, var17, var19);
} else {
var26 = new DynamicObject(id, 4, rotation + 4, var1, x, y, var9.animationId, true, (Entity) null);
}
scene.newWallDecoration(plane, x, y, var17, (Entity) var26, (Entity) null, 256, rotation, var29 * Tiles.field509[rotation], var29 * Tiles.field517[rotation], var20, var22);
} else if (objectType == 7) {
int var32 = rotation + 2 & 3;
if (var9.animationId == -1 && var9.transforms == null) {
var23 = var9.getModel(4, var32 + 4, var16, var18, var17, var19);
} else {
var23 = new DynamicObject(id, 4, var32 + 4, var1, x, y, var9.animationId, true, (Entity) null);
}
scene.newWallDecoration(plane, x, y, var17, (Entity) var23, (Entity) null, 256, var32, 0, 0, var20, var22);
} else if (objectType == 8) {
int var29 = 8;
long var30 = scene.getBoundaryObjectTag(plane, x, y);
if (var30 != 0L) {
var29 = ViewportMouse.getObjectDefinition(class43.Entity_unpackID(var30)).int2 / 2;
}
Object var26;
int var28 = rotation + 2 & 3;
Object var27;
if (var9.animationId == -1 && var9.transforms == null) {
var26 = var9.getModel(4, rotation + 4, var16, var18, var17, var19);
var27 = var9.getModel(4, var28 + 4, var16, var18, var17, var19);
} else {
var26 = new DynamicObject(id, 4, rotation + 4, var1, x, y, var9.animationId, true, (Entity) null);
var27 = new DynamicObject(id, 4, var28 + 4, var1, x, y, var9.animationId, true, (Entity) null);
}
scene.newWallDecoration(plane, x, y, var17, (Entity) var26, (Entity) var27, 256, rotation, var29 * Tiles.field509[rotation], var29 * Tiles.field517[rotation], var20, var22);
}
}
}

View File

@@ -233,17 +233,17 @@ public class ClientPreferences {
if (var0 == ScriptOpcodes.CHAT_SETFILTER) {
HealthBarUpdate.Interpreter_intStackSize -= 3;
Client.publicChatMode = Interpreter.Interpreter_intStack[HealthBarUpdate.Interpreter_intStackSize];
class226.privateChatMode = NetSocket.method3530(Interpreter.Interpreter_intStack[HealthBarUpdate.Interpreter_intStackSize + 1]);
class226.privateChatMode = NetSocket.ChatMode_find(Interpreter.Interpreter_intStack[HealthBarUpdate.Interpreter_intStackSize + 1]);
if (class226.privateChatMode == null) {
class226.privateChatMode = class310.field3816;
class226.privateChatMode = PrivateChatMode.field3816;
}
Client.tradeChatMode = Interpreter.Interpreter_intStack[HealthBarUpdate.Interpreter_intStackSize + 2];
PacketBufferNode var18 = Archive.method4265(ClientPacket.field2294, Client.packetWriter.isaacCipher);
PacketBufferNode var18 = Archive.getPacketBufferNode(ClientPacket.field2294, Client.packetWriter.isaacCipher);
var18.packetBuffer.writeByte(Client.publicChatMode);
var18.packetBuffer.writeByte(class226.privateChatMode.field3815);
var18.packetBuffer.writeByte(Client.tradeChatMode);
Client.packetWriter.method2219(var18);
Client.packetWriter.addNode(var18);
return 1;
}
String var3;
@@ -253,12 +253,12 @@ public class ClientPreferences {
HealthBarUpdate.Interpreter_intStackSize -= 2;
var4 = Interpreter.Interpreter_intStack[HealthBarUpdate.Interpreter_intStackSize];
int var5 = Interpreter.Interpreter_intStack[HealthBarUpdate.Interpreter_intStackSize + 1];
PacketBufferNode var6 = Archive.method4265(ClientPacket.field2205, Client.packetWriter.isaacCipher);
PacketBufferNode var6 = Archive.getPacketBufferNode(ClientPacket.field2205, Client.packetWriter.isaacCipher);
var6.packetBuffer.writeByte(Huffman.stringCp1252NullTerminatedByteSize(var3) + 2);
var6.packetBuffer.writeStringCp1252NullTerminated(var3);
var6.packetBuffer.writeByte(var4 - 1);
var6.packetBuffer.writeByte(var5);
Client.packetWriter.method2219(var6);
Client.packetWriter.addNode(var6);
return 1;
}
int var10;
@@ -266,7 +266,7 @@ public class ClientPreferences {
HealthBarUpdate.Interpreter_intStackSize -= 2;
var10 = Interpreter.Interpreter_intStack[HealthBarUpdate.Interpreter_intStackSize];
var4 = Interpreter.Interpreter_intStack[HealthBarUpdate.Interpreter_intStackSize + 1];
Message var15 = TileItem.method2049(var10, var4);
Message var15 = TileItem.Messages_getByChannelAndID(var10, var4);
if (var15 != null) {
Interpreter.Interpreter_intStack[++HealthBarUpdate.Interpreter_intStackSize - 1] = var15.count;
Interpreter.Interpreter_intStack[++HealthBarUpdate.Interpreter_intStackSize - 1] = var15.cycle;
@@ -287,7 +287,7 @@ public class ClientPreferences {
}
if (var0 == ScriptOpcodes.CHAT_GETHISTORY_BYUID) {
var10 = Interpreter.Interpreter_intStack[--HealthBarUpdate.Interpreter_intStackSize];
Message var16 = WorldMapIcon_1.method297(var10);
Message var16 = WorldMapIcon_1.Messages_getMessage(var10);
if (var16 != null) {
Interpreter.Interpreter_intStack[++HealthBarUpdate.Interpreter_intStackSize - 1] = var16.type;
Interpreter.Interpreter_intStack[++HealthBarUpdate.Interpreter_intStackSize - 1] = var16.cycle;
@@ -432,7 +432,7 @@ public class ClientPreferences {
}
}
PacketBufferNode var8 = Archive.method4265(ClientPacket.field2258, Client.packetWriter.isaacCipher);
PacketBufferNode var8 = Archive.getPacketBufferNode(ClientPacket.field2258, Client.packetWriter.isaacCipher);
var8.packetBuffer.writeByte(0);
int var9 = var8.packetBuffer.offset;
var8.packetBuffer.writeByte(var4);
@@ -440,20 +440,20 @@ public class ClientPreferences {
var8.packetBuffer.writeByte(var7);
Skeleton.method3063(var8.packetBuffer, var3);
var8.packetBuffer.writeLengthByte(var8.packetBuffer.offset - var9);
Client.packetWriter.method2219(var8);
Client.packetWriter.addNode(var8);
return 1;
}
if (var0 == ScriptOpcodes.CHAT_SENDPRIVATE) {
Skills.Interpreter_stringStackSize -= 2;
var3 = Interpreter.Interpreter_stringStack[Skills.Interpreter_stringStackSize];
String var12 = Interpreter.Interpreter_stringStack[Skills.Interpreter_stringStackSize + 1];
PacketBufferNode var11 = Archive.method4265(ClientPacket.field2228, Client.packetWriter.isaacCipher);
PacketBufferNode var11 = Archive.getPacketBufferNode(ClientPacket.field2228, Client.packetWriter.isaacCipher);
var11.packetBuffer.writeShort(0);
int var13 = var11.packetBuffer.offset;
var11.packetBuffer.writeStringCp1252NullTerminated(var3);
Skeleton.method3063(var11.packetBuffer, var12);
var11.packetBuffer.writeLengthShort(var11.packetBuffer.offset - var13);
Client.packetWriter.method2219(var11);
Client.packetWriter.addNode(var11);
return 1;
}
if (var0 == ScriptOpcodes.CHAT_PLAYERNAME) {
@@ -472,17 +472,17 @@ public class ClientPreferences {
}
if (var0 == ScriptOpcodes.CHAT_GETHISTORYLENGTH) {
var10 = Interpreter.Interpreter_intStack[--HealthBarUpdate.Interpreter_intStackSize];
Interpreter.Interpreter_intStack[++HealthBarUpdate.Interpreter_intStackSize - 1] = LoginScreenAnimation.method1744(var10);
Interpreter.Interpreter_intStack[++HealthBarUpdate.Interpreter_intStackSize - 1] = LoginScreenAnimation.Messages_getHistorySize(var10);
return 1;
}
if (var0 == ScriptOpcodes.CHAT_GETNEXTUID) {
var10 = Interpreter.Interpreter_intStack[--HealthBarUpdate.Interpreter_intStackSize];
Interpreter.Interpreter_intStack[++HealthBarUpdate.Interpreter_intStackSize - 1] = MusicPatchNode2.method3686(var10);
Interpreter.Interpreter_intStack[++HealthBarUpdate.Interpreter_intStackSize - 1] = MusicPatchNode2.Messages_getNextChatID(var10);
return 1;
}
if (var0 == ScriptOpcodes.CHAT_GETPREVUID) {
var10 = Interpreter.Interpreter_intStack[--HealthBarUpdate.Interpreter_intStackSize];
Interpreter.Interpreter_intStack[++HealthBarUpdate.Interpreter_intStackSize - 1] = class192.method3669(var10);
Interpreter.Interpreter_intStack[++HealthBarUpdate.Interpreter_intStackSize - 1] = class192.Messages_getLastChatID(var10);
return 1;
}
if (var0 == ScriptOpcodes.DOCHEAT) {

View File

@@ -60,7 +60,7 @@ public class CollisionMap {
for (int var1 = 0; var1 < this.xSize; ++var1) {
for (int var2 = 0; var2 < this.ySize; ++var2) {
if (var1 != 0 && var2 != 0 && var1 < this.xSize - 5 && var2 < this.ySize - 5) {
this.flags[var1][var2] = 16777216;
this.flags[var1][var2] = 0x1000000;
} else {
this.flags[var1][var2] = 0xffffff;
}
@@ -74,147 +74,147 @@ public class CollisionMap {
signature = "(IIIIZB)V",
garbageValue = "91"
)
public void method3559(int var1, int var2, int var3, int var4, boolean var5) {
var1 -= this.xInset;
var2 -= this.yInset;
if (var3 == 0) {
if (var4 == 0) {
this.method3568(var1, var2, 128);
this.method3568(var1 - 1, var2, 8);
public void method3559(int x, int y, int objectType, int rotation, boolean var5) {
x -= this.xInset;
y -= this.yInset;
if (objectType == 0) {
if (rotation == 0) {
this.setFlag(x, y, 0x80);
this.setFlag(x - 1, y, 8);
}
if (var4 == 1) {
this.method3568(var1, var2, 2);
this.method3568(var1, var2 + 1, 32);
if (rotation == 1) {
this.setFlag(x, y, 2);
this.setFlag(x, y + 1, 32);
}
if (var4 == 2) {
this.method3568(var1, var2, 8);
this.method3568(var1 + 1, var2, 128);
if (rotation == 2) {
this.setFlag(x, y, 8);
this.setFlag(x + 1, y, 128);
}
if (var4 == 3) {
this.method3568(var1, var2, 32);
this.method3568(var1, var2 - 1, 2);
if (rotation == 3) {
this.setFlag(x, y, 32);
this.setFlag(x, y - 1, 2);
}
}
if (var3 == 1 || var3 == 3) {
if (var4 == 0) {
this.method3568(var1, var2, 1);
this.method3568(var1 - 1, var2 + 1, 16);
if (objectType == 1 || objectType == 3) {
if (rotation == 0) {
this.setFlag(x, y, 1);
this.setFlag(x - 1, y + 1, 16);
}
if (var4 == 1) {
this.method3568(var1, var2, 4);
this.method3568(var1 + 1, var2 + 1, 64);
if (rotation == 1) {
this.setFlag(x, y, 4);
this.setFlag(x + 1, y + 1, 64);
}
if (var4 == 2) {
this.method3568(var1, var2, 16);
this.method3568(var1 + 1, var2 - 1, 1);
if (rotation == 2) {
this.setFlag(x, y, 16);
this.setFlag(x + 1, y - 1, 1);
}
if (var4 == 3) {
this.method3568(var1, var2, 64);
this.method3568(var1 - 1, var2 - 1, 4);
if (rotation == 3) {
this.setFlag(x, y, 64);
this.setFlag(x - 1, y - 1, 4);
}
}
if (var3 == 2) {
if (var4 == 0) {
this.method3568(var1, var2, 130);
this.method3568(var1 - 1, var2, 8);
this.method3568(var1, var2 + 1, 32);
if (objectType == 2) {
if (rotation == 0) {
this.setFlag(x, y, 130);
this.setFlag(x - 1, y, 8);
this.setFlag(x, y + 1, 32);
}
if (var4 == 1) {
this.method3568(var1, var2, 10);
this.method3568(var1, var2 + 1, 32);
this.method3568(var1 + 1, var2, 128);
if (rotation == 1) {
this.setFlag(x, y, 10);
this.setFlag(x, y + 1, 32);
this.setFlag(x + 1, y, 128);
}
if (var4 == 2) {
this.method3568(var1, var2, 40);
this.method3568(var1 + 1, var2, 128);
this.method3568(var1, var2 - 1, 2);
if (rotation == 2) {
this.setFlag(x, y, 40);
this.setFlag(x + 1, y, 128);
this.setFlag(x, y - 1, 2);
}
if (var4 == 3) {
this.method3568(var1, var2, 160);
this.method3568(var1, var2 - 1, 2);
this.method3568(var1 - 1, var2, 8);
if (rotation == 3) {
this.setFlag(x, y, 160);
this.setFlag(x, y - 1, 2);
this.setFlag(x - 1, y, 8);
}
}
if (var5) {
if (var3 == 0) {
if (var4 == 0) {
this.method3568(var1, var2, 65536);
this.method3568(var1 - 1, var2, 4096);
if (objectType == 0) {
if (rotation == 0) {
this.setFlag(x, y, 65536);
this.setFlag(x - 1, y, 4096);
}
if (var4 == 1) {
this.method3568(var1, var2, 1024);
this.method3568(var1, var2 + 1, 16384);
if (rotation == 1) {
this.setFlag(x, y, 1024);
this.setFlag(x, y + 1, 16384);
}
if (var4 == 2) {
this.method3568(var1, var2, 4096);
this.method3568(var1 + 1, var2, 65536);
if (rotation == 2) {
this.setFlag(x, y, 4096);
this.setFlag(x + 1, y, 65536);
}
if (var4 == 3) {
this.method3568(var1, var2, 16384);
this.method3568(var1, var2 - 1, 1024);
if (rotation == 3) {
this.setFlag(x, y, 16384);
this.setFlag(x, y - 1, 1024);
}
}
if (var3 == 1 || var3 == 3) {
if (var4 == 0) {
this.method3568(var1, var2, 512);
this.method3568(var1 - 1, var2 + 1, 8192);
if (objectType == 1 || objectType == 3) {
if (rotation == 0) {
this.setFlag(x, y, 512);
this.setFlag(x - 1, y + 1, 8192);
}
if (var4 == 1) {
this.method3568(var1, var2, 2048);
this.method3568(var1 + 1, var2 + 1, 32768);
if (rotation == 1) {
this.setFlag(x, y, 2048);
this.setFlag(x + 1, y + 1, 32768);
}
if (var4 == 2) {
this.method3568(var1, var2, 8192);
this.method3568(var1 + 1, var2 - 1, 512);
if (rotation == 2) {
this.setFlag(x, y, 8192);
this.setFlag(x + 1, y - 1, 512);
}
if (var4 == 3) {
this.method3568(var1, var2, 32768);
this.method3568(var1 - 1, var2 - 1, 2048);
if (rotation == 3) {
this.setFlag(x, y, 32768);
this.setFlag(x - 1, y - 1, 2048);
}
}
if (var3 == 2) {
if (var4 == 0) {
this.method3568(var1, var2, 66560);
this.method3568(var1 - 1, var2, 4096);
this.method3568(var1, var2 + 1, 16384);
if (objectType == 2) {
if (rotation == 0) {
this.setFlag(x, y, 66560);
this.setFlag(x - 1, y, 4096);
this.setFlag(x, y + 1, 16384);
}
if (var4 == 1) {
this.method3568(var1, var2, 5120);
this.method3568(var1, var2 + 1, 16384);
this.method3568(var1 + 1, var2, 65536);
if (rotation == 1) {
this.setFlag(x, y, 5120);
this.setFlag(x, y + 1, 16384);
this.setFlag(x + 1, y, 65536);
}
if (var4 == 2) {
this.method3568(var1, var2, 20480);
this.method3568(var1 + 1, var2, 65536);
this.method3568(var1, var2 - 1, 1024);
if (rotation == 2) {
this.setFlag(x, y, 20480);
this.setFlag(x + 1, y, 65536);
this.setFlag(x, y - 1, 1024);
}
if (var4 == 3) {
this.method3568(var1, var2, 81920);
this.method3568(var1, var2 - 1, 1024);
this.method3568(var1 - 1, var2, 4096);
if (rotation == 3) {
this.setFlag(x, y, 0x14000);
this.setFlag(x, y - 1, 1024);
this.setFlag(x - 1, y, 4096);
}
}
}
@@ -226,20 +226,21 @@ public class CollisionMap {
signature = "(IIIIZI)V",
garbageValue = "-1502680936"
)
public void method3560(int var1, int var2, int var3, int var4, boolean var5) {
int var6 = 256;
if (var5) {
var6 += 131072;
@Export("addGameObject")
public void addGameObject(int x, int y, int w, int h, boolean blockSight) {
int var6 = 0x100;
if (blockSight) {
var6 += 0x20000;
}
var1 -= this.xInset;
var2 -= this.yInset;
x -= this.xInset;
y -= this.yInset;
for (int var7 = var1; var7 < var3 + var1; ++var7) {
for (int var7 = x; var7 < w + x; ++var7) {
if (var7 >= 0 && var7 < this.xSize) {
for (int var8 = var2; var8 < var2 + var4; ++var8) {
for (int var8 = y; var8 < y + h; ++var8) {
if (var8 >= 0 && var8 < this.ySize) {
this.method3568(var7, var8, var6);
this.setFlag(var7, var8, var6);
}
}
}
@@ -252,11 +253,11 @@ public class CollisionMap {
signature = "(III)V",
garbageValue = "-2087203619"
)
public void method3561(int var1, int var2) {
@Export("setBlockedByFloor")
public void setBlockedByFloor(int var1, int var2) {
var1 -= this.xInset;
var2 -= this.yInset;
int[] var10000 = this.flags[var1];
var10000[var2] |= 2097152;
this.flags[var1][var2] |= 0x200000;
}
@ObfuscatedName("k")
@@ -264,11 +265,11 @@ public class CollisionMap {
signature = "(III)V",
garbageValue = "-363679248"
)
public void method3562(int var1, int var2) {
@Export("setBlockedByFloorDec")
public void setBlockedByFloorDec(int var1, int var2) {
var1 -= this.xInset;
var2 -= this.yInset;
int[] var10000 = this.flags[var1];
var10000[var2] |= 262144;
this.flags[var1][var2] |= 0x40000;
}
@ObfuscatedName("l")
@@ -276,9 +277,9 @@ public class CollisionMap {
signature = "(IIII)V",
garbageValue = "-883048141"
)
void method3568(int var1, int var2, int var3) {
int[] var10000 = this.flags[var1];
var10000[var2] |= var3;
@Export("setFlag")
void setFlag(int var1, int var2, int var3) {
this.flags[var1][var2] |= var3;
}
@ObfuscatedName("b")
@@ -291,142 +292,142 @@ public class CollisionMap {
var2 -= this.yInset;
if (var3 == 0) {
if (var4 == 0) {
this.method3566(var1, var2, 128);
this.method3566(var1 - 1, var2, 8);
this.setFlagOff(var1, var2, 128);
this.setFlagOff(var1 - 1, var2, 8);
}
if (var4 == 1) {
this.method3566(var1, var2, 2);
this.method3566(var1, var2 + 1, 32);
this.setFlagOff(var1, var2, 2);
this.setFlagOff(var1, var2 + 1, 32);
}
if (var4 == 2) {
this.method3566(var1, var2, 8);
this.method3566(var1 + 1, var2, 128);
this.setFlagOff(var1, var2, 8);
this.setFlagOff(var1 + 1, var2, 128);
}
if (var4 == 3) {
this.method3566(var1, var2, 32);
this.method3566(var1, var2 - 1, 2);
this.setFlagOff(var1, var2, 32);
this.setFlagOff(var1, var2 - 1, 2);
}
}
if (var3 == 1 || var3 == 3) {
if (var4 == 0) {
this.method3566(var1, var2, 1);
this.method3566(var1 - 1, var2 + 1, 16);
this.setFlagOff(var1, var2, 1);
this.setFlagOff(var1 - 1, var2 + 1, 16);
}
if (var4 == 1) {
this.method3566(var1, var2, 4);
this.method3566(var1 + 1, var2 + 1, 64);
this.setFlagOff(var1, var2, 4);
this.setFlagOff(var1 + 1, var2 + 1, 64);
}
if (var4 == 2) {
this.method3566(var1, var2, 16);
this.method3566(var1 + 1, var2 - 1, 1);
this.setFlagOff(var1, var2, 16);
this.setFlagOff(var1 + 1, var2 - 1, 1);
}
if (var4 == 3) {
this.method3566(var1, var2, 64);
this.method3566(var1 - 1, var2 - 1, 4);
this.setFlagOff(var1, var2, 64);
this.setFlagOff(var1 - 1, var2 - 1, 4);
}
}
if (var3 == 2) {
if (var4 == 0) {
this.method3566(var1, var2, 130);
this.method3566(var1 - 1, var2, 8);
this.method3566(var1, var2 + 1, 32);
this.setFlagOff(var1, var2, 130);
this.setFlagOff(var1 - 1, var2, 8);
this.setFlagOff(var1, var2 + 1, 32);
}
if (var4 == 1) {
this.method3566(var1, var2, 10);
this.method3566(var1, var2 + 1, 32);
this.method3566(var1 + 1, var2, 128);
this.setFlagOff(var1, var2, 10);
this.setFlagOff(var1, var2 + 1, 32);
this.setFlagOff(var1 + 1, var2, 128);
}
if (var4 == 2) {
this.method3566(var1, var2, 40);
this.method3566(var1 + 1, var2, 128);
this.method3566(var1, var2 - 1, 2);
this.setFlagOff(var1, var2, 40);
this.setFlagOff(var1 + 1, var2, 128);
this.setFlagOff(var1, var2 - 1, 2);
}
if (var4 == 3) {
this.method3566(var1, var2, 160);
this.method3566(var1, var2 - 1, 2);
this.method3566(var1 - 1, var2, 8);
this.setFlagOff(var1, var2, 160);
this.setFlagOff(var1, var2 - 1, 2);
this.setFlagOff(var1 - 1, var2, 8);
}
}
if (var5) {
if (var3 == 0) {
if (var4 == 0) {
this.method3566(var1, var2, 65536);
this.method3566(var1 - 1, var2, 4096);
this.setFlagOff(var1, var2, 65536);
this.setFlagOff(var1 - 1, var2, 4096);
}
if (var4 == 1) {
this.method3566(var1, var2, 1024);
this.method3566(var1, var2 + 1, 16384);
this.setFlagOff(var1, var2, 1024);
this.setFlagOff(var1, var2 + 1, 16384);
}
if (var4 == 2) {
this.method3566(var1, var2, 4096);
this.method3566(var1 + 1, var2, 65536);
this.setFlagOff(var1, var2, 4096);
this.setFlagOff(var1 + 1, var2, 65536);
}
if (var4 == 3) {
this.method3566(var1, var2, 16384);
this.method3566(var1, var2 - 1, 1024);
this.setFlagOff(var1, var2, 16384);
this.setFlagOff(var1, var2 - 1, 1024);
}
}
if (var3 == 1 || var3 == 3) {
if (var4 == 0) {
this.method3566(var1, var2, 512);
this.method3566(var1 - 1, var2 + 1, 8192);
this.setFlagOff(var1, var2, 512);
this.setFlagOff(var1 - 1, var2 + 1, 8192);
}
if (var4 == 1) {
this.method3566(var1, var2, 2048);
this.method3566(var1 + 1, var2 + 1, 32768);
this.setFlagOff(var1, var2, 2048);
this.setFlagOff(var1 + 1, var2 + 1, 32768);
}
if (var4 == 2) {
this.method3566(var1, var2, 8192);
this.method3566(var1 + 1, var2 - 1, 512);
this.setFlagOff(var1, var2, 8192);
this.setFlagOff(var1 + 1, var2 - 1, 512);
}
if (var4 == 3) {
this.method3566(var1, var2, 32768);
this.method3566(var1 - 1, var2 - 1, 2048);
this.setFlagOff(var1, var2, 32768);
this.setFlagOff(var1 - 1, var2 - 1, 2048);
}
}
if (var3 == 2) {
if (var4 == 0) {
this.method3566(var1, var2, 66560);
this.method3566(var1 - 1, var2, 4096);
this.method3566(var1, var2 + 1, 16384);
this.setFlagOff(var1, var2, 66560);
this.setFlagOff(var1 - 1, var2, 4096);
this.setFlagOff(var1, var2 + 1, 16384);
}
if (var4 == 1) {
this.method3566(var1, var2, 5120);
this.method3566(var1, var2 + 1, 16384);
this.method3566(var1 + 1, var2, 65536);
this.setFlagOff(var1, var2, 5120);
this.setFlagOff(var1, var2 + 1, 16384);
this.setFlagOff(var1 + 1, var2, 65536);
}
if (var4 == 2) {
this.method3566(var1, var2, 20480);
this.method3566(var1 + 1, var2, 65536);
this.method3566(var1, var2 - 1, 1024);
this.setFlagOff(var1, var2, 20480);
this.setFlagOff(var1 + 1, var2, 65536);
this.setFlagOff(var1, var2 - 1, 1024);
}
if (var4 == 3) {
this.method3566(var1, var2, 81920);
this.method3566(var1, var2 - 1, 1024);
this.method3566(var1 - 1, var2, 4096);
this.setFlagOff(var1, var2, 81920);
this.setFlagOff(var1, var2 - 1, 1024);
this.setFlagOff(var1 - 1, var2, 4096);
}
}
}
@@ -438,26 +439,27 @@ public class CollisionMap {
signature = "(IIIIIZB)V",
garbageValue = "-77"
)
public void method3565(int var1, int var2, int var3, int var4, int var5, boolean var6) {
int var7 = 256;
@Export("setFlagOffNonSquare")
public void setFlagOffNonSquare(int x, int y, int w, int h, int rotation, boolean var6) {
int var7 = 0x100;
if (var6) {
var7 += 131072;
var7 += 0x20000;
}
var1 -= this.xInset;
var2 -= this.yInset;
x -= this.xInset;
y -= this.yInset;
int var8;
if (var5 == 1 || var5 == 3) {
var8 = var3;
var3 = var4;
var4 = var8;
if (rotation == 1 || rotation == 3) {
var8 = w;
w = h;
h = var8;
}
for (var8 = var1; var8 < var3 + var1; ++var8) {
for (var8 = x; var8 < w + x; ++var8) {
if (var8 >= 0 && var8 < this.xSize) {
for (int var9 = var2; var9 < var2 + var4; ++var9) {
for (int var9 = y; var9 < y + h; ++var9) {
if (var9 >= 0 && var9 < this.ySize) {
this.method3566(var8, var9, var7);
this.setFlagOff(var8, var9, var7);
}
}
}
@@ -470,9 +472,9 @@ public class CollisionMap {
signature = "(IIII)V",
garbageValue = "-1617846942"
)
void method3566(int var1, int var2, int var3) {
int[] var10000 = this.flags[var1];
var10000[var2] &= ~var3;
@Export("setFlagOff")
void setFlagOff(int var1, int var2, int var3) {
this.flags[var1][var2] &= ~var3;
}
@ObfuscatedName("u")
@@ -483,7 +485,6 @@ public class CollisionMap {
public void method3567(int var1, int var2) {
var1 -= this.xInset;
var2 -= this.yInset;
int[] var10000 = this.flags[var1];
var10000[var2] &= -262145;
this.flags[var1][var2] &= 0xfffbffff;
}
}

View File

@@ -406,7 +406,7 @@ public class Decimator {
continue;
}
var95 = Projectile.getHitSplatDefinition(var0.hitSplatTypes[var77]);
var95 = Projectile.HitSplatDefinition_get(var0.hitSplatTypes[var77]);
var98 = var95.field3344;
if (var95 != null && var95.transforms != null) {
var95 = var95.transform();
@@ -422,7 +422,7 @@ public class Decimator {
var15 = var0.hitSplatTypes2[var77];
HitSplatDefinition var81 = null;
if (var15 >= 0) {
var81 = Projectile.getHitSplatDefinition(var15);
var81 = Projectile.HitSplatDefinition_get(var15);
if (var81 != null && var81.transforms != null) {
var81 = var81.transform();
}
@@ -808,12 +808,13 @@ public class Decimator {
signature = "(II)V",
garbageValue = "-1767057302"
)
static void method2510(int var0) {
@Export("saveTempMenuAction")
static void saveTempMenuAction(int var0) {
Client.tempMenuAction = new MenuAction();
Client.tempMenuAction.argument1 = Client.menuArguments1[var0];
Client.tempMenuAction.argument2 = Client.menuArguments2[var0];
Client.tempMenuAction.opcode = Client.menuOpcodes[var0];
Client.tempMenuAction.argument0 = Client.menuArguments0[var0];
Client.tempMenuAction.argument0 = Client.menuIdentifiers[var0];
Client.tempMenuAction.action = Client.menuActions[var0];
}
}

View File

@@ -38,6 +38,6 @@ public class DefaultsGroup {
garbageValue = "39"
)
public static String method5898(Buffer var0) {
return WorldMapIcon_0.method194(var0, 32767);
return WorldMapIcon_0.method194(var0, 0x7fff);
}
}

View File

@@ -32,11 +32,11 @@ public class DesktopPlatformInfoProvider implements PlatformInfoProvider {
@Export("get")
public PlatformInfo get() {
byte var1;
if (GrandExchangeOfferOwnWorldComparator.field647.startsWith("win")) {
if (GrandExchangeOfferOwnWorldComparator.operatingSystemLC.startsWith("win")) {
var1 = 1;
} else if (GrandExchangeOfferOwnWorldComparator.field647.startsWith("mac")) {
} else if (GrandExchangeOfferOwnWorldComparator.operatingSystemLC.startsWith("mac")) {
var1 = 2;
} else if (GrandExchangeOfferOwnWorldComparator.field647.startsWith("linux")) {
} else if (GrandExchangeOfferOwnWorldComparator.operatingSystemLC.startsWith("linux")) {
var1 = 3;
} else {
var1 = 4;

View File

@@ -38,8 +38,8 @@ public class DevicePcmPlayer extends PcmPlayer {
)
@Export("init")
protected void init() {
this.format = new AudioFormat((float)CollisionMap.PcmPlayer_sampleRate, 16, class169.isStereo ? 2 : 1, true, false);
this.byteSamples = new byte[256 << (class169.isStereo ? 2 : 1)];
this.format = new AudioFormat((float)CollisionMap.PcmPlayer_sampleRate, 16, FileSystem.PcmPlayer_stereo ? 2 : 1, true, false);
this.byteSamples = new byte[256 << (FileSystem.PcmPlayer_stereo ? 2 : 1)];
}
@ObfuscatedName("w")
@@ -50,7 +50,7 @@ public class DevicePcmPlayer extends PcmPlayer {
@Export("open")
protected void open(int var1) throws LineUnavailableException {
try {
Info var2 = new Info(SourceDataLine.class, this.format, var1 << (class169.isStereo ? 2 : 1));
Info var2 = new Info(SourceDataLine.class, this.format, var1 << (FileSystem.PcmPlayer_stereo ? 2 : 1));
this.line = (SourceDataLine)AudioSystem.getLine(var2);
this.line.open();
this.line.start();
@@ -85,14 +85,14 @@ public class DevicePcmPlayer extends PcmPlayer {
)
@Export("position")
protected int position() {
return this.capacity2 - (this.line.available() >> (class169.isStereo ? 2 : 1));
return this.capacity2 - (this.line.available() >> (FileSystem.PcmPlayer_stereo ? 2 : 1));
}
@ObfuscatedName("p")
@Export("write")
protected void write() {
int var1 = 256;
if (class169.isStereo) {
if (FileSystem.PcmPlayer_stereo) {
var1 <<= 1;
}

View File

@@ -46,7 +46,7 @@ public class DevicePcmPlayerProvider implements PcmPlayerProvider {
garbageValue = "-5"
)
static void method805() {
Client.packetWriter.method2219(Archive.method4265(ClientPacket.field2240, Client.packetWriter.isaacCipher));
Client.packetWriter.addNode(Archive.getPacketBufferNode(ClientPacket.field2240, Client.packetWriter.isaacCipher));
Client.oculusOrbState = 0;
}
}

View File

@@ -67,80 +67,81 @@ public class DirectByteArrayCopier extends AbstractByteArrayCopier {
garbageValue = "1456819139"
)
@Export("addPendingSpawnToScene")
static final void addPendingSpawnToScene(int var0, int var1, int var2, int var3, int var4, int var5, int var6) {
if (var2 >= 1 && var3 >= 1 && var2 <= 102 && var3 <= 102) {
if (Client.isLowDetail && var0 != class42.plane) {
return;
}
static final void addPendingSpawnToScene(int plane, int type, int x, int y, int id, int orientation, int var6) {
if (x < 1 || y < 1 || x > 102 || y > 102) {
return;
}
if (Client.isLowDetail && plane != class42.plane) {
return;
}
long var7 = 0L;
boolean var9 = true;
boolean var10 = false;
boolean var11 = false;
if (var1 == 0) {
var7 = GrandExchangeOfferWorldComparator.scene.getBoundaryObjectTag(var0, var2, var3);
}
long var7 = 0L;
boolean var9 = true;
boolean var10 = false;
boolean var11 = false;
if (type == 0) {
var7 = GrandExchangeOfferWorldComparator.scene.getBoundaryObjectTag(plane, x, y);
}
if (var1 == 1) {
var7 = GrandExchangeOfferWorldComparator.scene.getWallDecorationTag(var0, var2, var3);
}
if (type == 1) {
var7 = GrandExchangeOfferWorldComparator.scene.getWallDecorationTag(plane, x, y);
}
if (var1 == 2) {
var7 = GrandExchangeOfferWorldComparator.scene.getGameObjectTag(var0, var2, var3);
}
if (type == 2) {
var7 = GrandExchangeOfferWorldComparator.scene.getGameObjectTag(plane, x, y);
}
if (var1 == 3) {
var7 = GrandExchangeOfferWorldComparator.scene.getFloorDecorationTag(var0, var2, var3);
}
if (type == 3) {
var7 = GrandExchangeOfferWorldComparator.scene.getFloorDecorationTag(plane, x, y);
}
int var12;
if (0L != var7) {
var12 = GrandExchangeOfferWorldComparator.scene.getObjectFlags(var0, var2, var3, var7);
int var14 = class43.getObjectIdFromTag(var7);
int var15 = var12 & 31;
int var16 = var12 >> 6 & 3;
ObjectDefinition var13;
if (var1 == 0) {
GrandExchangeOfferWorldComparator.scene.removeBoundaryObject(var0, var2, var3);
var13 = ViewportMouse.getObjectDefinition(var14);
if (var13.interactType != 0) {
Client.collisionMaps[var0].method3564(var2, var3, var15, var16, var13.boolean1);
}
}
if (var1 == 1) {
GrandExchangeOfferWorldComparator.scene.removeWallDecoration(var0, var2, var3);
}
if (var1 == 2) {
GrandExchangeOfferWorldComparator.scene.method3154(var0, var2, var3);
var13 = ViewportMouse.getObjectDefinition(var14);
if (var2 + var13.sizeX > 103 || var3 + var13.sizeX > 103 || var2 + var13.sizeY > 103 || var3 + var13.sizeY > 103) {
return;
}
if (var13.interactType != 0) {
Client.collisionMaps[var0].method3565(var2, var3, var13.sizeX, var13.sizeY, var16, var13.boolean1);
}
}
if (var1 == 3) {
GrandExchangeOfferWorldComparator.scene.removeFloorDecoration(var0, var2, var3);
var13 = ViewportMouse.getObjectDefinition(var14);
if (var13.interactType == 1) {
Client.collisionMaps[var0].method3567(var2, var3);
}
int var12;
if (0L != var7) {
var12 = GrandExchangeOfferWorldComparator.scene.getObjectFlags(plane, x, y, var7);
int var14 = class43.Entity_unpackID(var7);
int var15 = var12 & 31;
int var16 = var12 >> 6 & 3;
ObjectDefinition var13;
if (type == 0) {
GrandExchangeOfferWorldComparator.scene.removeBoundaryObject(plane, x, y);
var13 = ViewportMouse.getObjectDefinition(var14);
if (var13.interactType != 0) {
Client.collisionMaps[plane].method3564(x, y, var15, var16, var13.boolean1);
}
}
if (var4 >= 0) {
var12 = var0;
if (var0 < 3 && (Tiles.Tiles_renderFlags[1][var2][var3] & 2) == 2) {
var12 = var0 + 1;
if (type == 1) {
GrandExchangeOfferWorldComparator.scene.removeWallDecoration(plane, x, y);
}
if (type == 2) {
GrandExchangeOfferWorldComparator.scene.removeGameObject(plane, x, y);
var13 = ViewportMouse.getObjectDefinition(var14);
if (x + var13.sizeX > 103 || y + var13.sizeX > 103 || x + var13.sizeY > 103 || y + var13.sizeY > 103) {
return;
}
ClientPacket.method3611(var0, var12, var2, var3, var4, var5, var6, GrandExchangeOfferWorldComparator.scene, Client.collisionMaps[var0]);
if (var13.interactType != 0) {
Client.collisionMaps[plane].setFlagOffNonSquare(x, y, var13.sizeX, var13.sizeY, var16, var13.boolean1);
}
}
if (type == 3) {
GrandExchangeOfferWorldComparator.scene.removeFloorDecoration(plane, x, y);
var13 = ViewportMouse.getObjectDefinition(var14);
if (var13.interactType == 1) {
Client.collisionMaps[plane].method3567(x, y);
}
}
}
if (id >= 0) {
var12 = plane;
if (plane < 3 && (Tiles.Tiles_renderFlags[1][x][y] & 2) == 2) {
var12 = plane + 1;
}
ClientPacket.addPendingGameObject(plane, var12, x, y, id, orientation, var6, GrandExchangeOfferWorldComparator.scene, Client.collisionMaps[plane]);
}
}

View File

@@ -76,23 +76,24 @@ public class DynamicObject extends Entity {
this.plane = var4;
this.x = var5;
this.y = var6;
if (var7 != -1) {
this.sequenceDefinition = GrandExchangeEvent.getSequenceDefinition(var7);
this.frame = 0;
this.cycleStart = Client.cycle - 1;
if (this.sequenceDefinition.field3529 == 0 && var9 != null && var9 instanceof DynamicObject) {
DynamicObject var10 = (DynamicObject)var9;
if (var10.sequenceDefinition == this.sequenceDefinition) {
this.frame = var10.frame;
this.cycleStart = var10.cycleStart;
return;
}
if (var7 == -1) {
return;
}
this.sequenceDefinition = GrandExchangeEvent.SequenceDefinition_get(var7);
this.frame = 0;
this.cycleStart = Client.cycle - 1;
if (this.sequenceDefinition.field3529 == 0 && var9 != null && var9 instanceof DynamicObject) {
DynamicObject var10 = (DynamicObject)var9;
if (var10.sequenceDefinition == this.sequenceDefinition) {
this.frame = var10.frame;
this.cycleStart = var10.cycleStart;
return;
}
}
if (var8 && this.sequenceDefinition.frameCount != -1) {
this.frame = (int)(Math.random() * (double)this.sequenceDefinition.frameIds.length);
this.cycleStart -= (int)(Math.random() * (double)this.sequenceDefinition.frameLengths[this.frame]);
}
if (var8 && this.sequenceDefinition.frameCount != -1) {
this.frame = (int)(Math.random() * (double)this.sequenceDefinition.frameIds.length);
this.cycleStart -= (int)(Math.random() * (double)this.sequenceDefinition.frameLengths[this.frame]);
}
}
@@ -164,7 +165,8 @@ public class DynamicObject extends Entity {
signature = "(Lky;ZS)V",
garbageValue = "-31468"
)
public static void method2193(AbstractSocket var0, boolean var1) {
@Export("NetCache_connect")
public static void NetCache_connect(AbstractSocket var0, boolean var1) {
if (NetCache.NetCache_socket != null) {
try {
NetCache.NetCache_socket.close();
@@ -199,45 +201,45 @@ public class DynamicObject extends Entity {
NetCache.field3175 = 0;
while (true) {
NetFileRequest var9 = (NetFileRequest)NetCache.NetCache_pendingPriorityResponses.first();
NetFileRequest var9 = (NetFileRequest) NetCache.NetCache_pendingPriorityResponses.first();
if (var9 == null) {
while (true) {
var9 = (NetFileRequest)NetCache.NetCache_pendingResponses.first();
if (var9 == null) {
if (NetCache.field3181 != 0) {
try {
var2 = new Buffer(4);
var2.writeByte(4);
var2.writeByte(NetCache.field3181);
var2.writeShort(0);
NetCache.NetCache_socket.write(var2.array, 0, 4);
} catch (IOException var5) {
try {
NetCache.NetCache_socket.close();
} catch (Exception var4) {
}
++NetCache.NetCache_ioExceptions;
NetCache.NetCache_socket = null;
}
}
NetCache.field3163 = 0;
NetCache.field3169 = DirectByteArrayCopier.currentTimeMs();
return;
}
NetCache.NetCache_pendingWritesQueue.addLast(var9);
NetCache.NetCache_pendingWrites.put(var9, var9.key);
++NetCache.NetCache_pendingWritesCount;
--NetCache.NetCache_pendingResponsesCount;
}
break;
}
NetCache.NetCache_pendingPriorityWrites.put(var9, var9.key);
++NetCache.NetCache_pendingPriorityWritesCount;
--NetCache.NetCache_pendingPriorityResponsesCount;
}
while (true) {
NetFileRequest var9 = (NetFileRequest) NetCache.NetCache_pendingResponses.first();
if (var9 == null) {
break;
}
NetCache.NetCache_pendingWritesQueue.addLast(var9);
NetCache.NetCache_pendingWrites.put(var9, var9.key);
++NetCache.NetCache_pendingWritesCount;
--NetCache.NetCache_pendingResponsesCount;
}
if (NetCache.field3181 != 0) {
try {
var2 = new Buffer(4);
var2.writeByte(4);
var2.writeByte(NetCache.field3181);
var2.writeShort(0);
NetCache.NetCache_socket.write(var2.array, 0, 4);
} catch (IOException var5) {
try {
NetCache.NetCache_socket.close();
} catch (Exception var4) {
}
++NetCache.NetCache_ioExceptions;
NetCache.NetCache_socket = null;
}
}
NetCache.NetCache_loadTime = 0;
NetCache.NetCache_timeMs = DirectByteArrayCopier.currentTimeMs();
}
@ObfuscatedName("l")
@@ -299,7 +301,7 @@ public class DynamicObject extends Entity {
)
@Export("worldListStart")
static World worldListStart() {
World.worldListWorldCount = 0;
World.World_listCount = 0;
return Canvas.getNextWorldListWorld();
}
}

View File

@@ -57,18 +57,20 @@ public abstract class Entity extends DualNode {
)
@Export("insertMenuItem")
static final void insertMenuItem(String var0, String var1, int var2, int var3, int var4, int var5, boolean var6) {
if (!Client.isMenuOpen) {
if (Client.menuOptionsCount < 500) {
Client.menuActions[Client.menuOptionsCount] = var0;
Client.menuTargetNames[Client.menuOptionsCount] = var1;
Client.menuOpcodes[Client.menuOptionsCount] = var2;
Client.menuArguments0[Client.menuOptionsCount] = var3;
Client.menuArguments1[Client.menuOptionsCount] = var4;
Client.menuArguments2[Client.menuOptionsCount] = var5;
Client.menuShiftClick[Client.menuOptionsCount] = var6;
++Client.menuOptionsCount;
}
if (Client.isMenuOpen) {
return;
}
if (Client.menuOptionsCount >= 500) {
return;
}
Client.menuActions[Client.menuOptionsCount] = var0;
Client.menuTargets[Client.menuOptionsCount] = var1;
Client.menuOpcodes[Client.menuOptionsCount] = var2;
Client.menuIdentifiers[Client.menuOptionsCount] = var3;
Client.menuArguments1[Client.menuOptionsCount] = var4;
Client.menuArguments2[Client.menuOptionsCount] = var5;
Client.menuShiftClick[Client.menuOptionsCount] = var6;
++Client.menuOptionsCount;
}
}

View File

@@ -13,17 +13,20 @@ public class FaceNormal {
@ObfuscatedGetter(
intValue = 2130535467
)
int field1889;
@Export("x")
int x;
@ObfuscatedName("w")
@ObfuscatedGetter(
intValue = 522108407
)
int field1890;
@Export("y")
int y;
@ObfuscatedName("e")
@ObfuscatedGetter(
intValue = -1566565487
)
int field1888;
@Export("z")
int z;
FaceNormal() {
}
@@ -83,8 +86,8 @@ public class FaceNormal {
class267.hasFocus = true;
Client.hadFocus = true;
Client.field879 = -1L;
class192.method3678();
Client.packetWriter.method2218();
class192.initReflectionChecksDeque();
Client.packetWriter.clearBuffer();
Client.packetWriter.packetBuffer.offset = 0;
Client.packetWriter.serverPacket = null;
Client.packetWriter.field1309 = null;
@@ -93,9 +96,9 @@ public class FaceNormal {
Client.packetWriter.serverPacketLength = 0;
Client.packetWriter.field1318 = 0;
Client.rebootTimer = 0;
Client.field700 = 0;
Client.logoutTimer = 0;
Client.hintArrowType = 0;
Strings.method4121();
Strings.resetMenuEntries();
MouseHandler.MouseHandler_idleCycles = 0;
Messages.Messages_channels.clear();
Messages.Messages_hashTable.clear();
@@ -164,12 +167,13 @@ public class FaceNormal {
boolean var5 = true;
for (var2 = 0; var2 < Widget.Widget_interfaceComponents[var0].length; ++var2) {
if (Widget.Widget_interfaceComponents[var0][var2] != null) {
if (Widget.Widget_interfaceComponents[var0][var2].type != 2) {
Widget.Widget_interfaceComponents[var0][var2] = null;
} else {
var5 = false;
}
if (Widget.Widget_interfaceComponents[var0][var2] == null) {
continue;
}
if (Widget.Widget_interfaceComponents[var0][var2].type != 2) {
Widget.Widget_interfaceComponents[var0][var2] = null;
} else {
var5 = false;
}
}
@@ -189,7 +193,7 @@ public class FaceNormal {
Client.rootInterface = -1;
Client.interfaceParents = new NodeHashTable(8);
Client.meslayerContinueWidget = null;
Strings.method4121();
Strings.resetMenuEntries();
Client.playerAppearance.update((int[])null, new int[]{0, 0, 0, 0, 0}, false, -1);
for (var0 = 0; var0 < 8; ++var0) {

View File

@@ -1,21 +1,26 @@
import java.io.File;
import java.util.Hashtable;
import net.runelite.mapping.Export;
import net.runelite.mapping.Implements;
import net.runelite.mapping.ObfuscatedName;
import net.runelite.mapping.ObfuscatedSignature;
import net.runelite.rs.ScriptOpcodes;
@ObfuscatedName("fy")
public class class169 {
@Implements("FileSystem")
public class FileSystem {
@ObfuscatedName("q")
static boolean field2055;
@Export("FileSystem_hasPermissions")
static boolean FileSystem_hasPermissions;
@ObfuscatedName("w")
static File field2050;
@Export("FileSystem_cacheDir")
static File FileSystem_cacheDir;
@ObfuscatedName("e")
static Hashtable field2052;
@Export("FileSystem_cacheFiles")
static Hashtable FileSystem_cacheFiles;
@ObfuscatedName("l")
@Export("isStereo")
protected static boolean isStereo;
@Export("PcmPlayer_stereo")
protected static boolean PcmPlayer_stereo;
@ObfuscatedName("fj")
@ObfuscatedSignature(
signature = "Lku;"
@@ -30,8 +35,8 @@ public class class169 {
static Font fontPlain12;
static {
field2055 = false;
field2052 = new Hashtable(16);
FileSystem_hasPermissions = false;
FileSystem_cacheFiles = new Hashtable(16);
}
@ObfuscatedName("e")
@@ -39,13 +44,13 @@ public class class169 {
signature = "(Lhp;IIIZI)V",
garbageValue = "1090882543"
)
public static void method3503(AbstractArchive var0, int var1, int var2, int var3, boolean var4) {
public static void method3503(AbstractArchive var0, int group, int file, int bitRateMaybe, boolean _false) {
class197.field2402 = 1;
GrandExchangeOfferNameComparator.musicTrackArchive = var0;
class197.musicTrackGroupId = var1;
class197.musicTrackFileId = var2;
ScriptFrame.field529 = var3;
BuddyRankComparator.musicTrackBoolean = var4;
class197.musicTrackGroupId = group;
class197.musicTrackFileId = file;
ScriptFrame.field529 = bitRateMaybe;
BuddyRankComparator.musicTrackBoolean = _false;
class197.field2404 = 10000;
}

View File

@@ -57,7 +57,8 @@ public final class FloorDecoration {
signature = "(S)V",
garbageValue = "3762"
)
public static void method2842() {
@Export("KeyHandler_exit")
public static void KeyHandler_exit() {
if (KeyHandler.KeyHandler_instance != null) {
synchronized(KeyHandler.KeyHandler_instance) {
KeyHandler.KeyHandler_instance = null;
@@ -71,7 +72,8 @@ public final class FloorDecoration {
signature = "(Ljava/lang/Throwable;B)Ljava/lang/String;",
garbageValue = "1"
)
static String method2843(Throwable var0) throws IOException {
@Export("shortenStackTrace")
static String shortenStackTrace(Throwable var0) throws IOException {
String var1;
if (var0 instanceof RunException) {
RunException var2 = (RunException)var0;
@@ -90,32 +92,30 @@ public final class FloorDecoration {
String var6 = var5.readLine();
while (true) {
while (true) {
String var7 = var5.readLine();
if (var7 == null) {
var1 = var1 + "| " + var6;
return var1;
}
int var8 = var7.indexOf(40);
int var9 = var7.indexOf(41, var8 + 1);
if (var8 >= 0 && var9 >= 0) {
String var10 = var7.substring(var8 + 1, var9);
int var11 = var10.indexOf(".java:");
if (var11 >= 0) {
var10 = var10.substring(0, var11) + var10.substring(var11 + 5);
var1 = var1 + var10 + ' ';
continue;
}
var7 = var7.substring(0, var8);
}
var7 = var7.trim();
var7 = var7.substring(var7.lastIndexOf(32) + 1);
var7 = var7.substring(var7.lastIndexOf(9) + 1);
var1 = var1 + var7 + ' ';
String var7 = var5.readLine();
if (var7 == null) {
break;
}
int var8 = var7.indexOf(40);
int var9 = var7.indexOf(41, var8 + 1);
if (var8 >= 0 && var9 >= 0) {
String var10 = var7.substring(var8 + 1, var9);
int var11 = var10.indexOf(".java:");
if (var11 >= 0) {
var10 = var10.substring(0, var11) + var10.substring(var11 + 5);
var1 = var1 + var10 + ' ';
continue;
}
var7 = var7.substring(0, var8);
}
var7 = var7.trim();
var7 = var7.substring(var7.lastIndexOf(32) + 1);
var7 = var7.substring(var7.lastIndexOf(9) + 1);
var1 = var1 + var7 + ' ';
}
var1 = var1 + "| " + var6;
return var1;
}
}

View File

@@ -220,7 +220,8 @@ public class FloorOverlayDefinition extends DualNode {
signature = "(Lhj;I[B[BI)V",
garbageValue = "610677249"
)
static final void method4756(Widget var0, int var1, byte[] var2, byte[] var3) {
@Export("Widget_setKey")
static final void Widget_setKey(Widget var0, int var1, byte[] var2, byte[] var3) {
if (var0.field2650 == null) {
if (var2 == null) {
return;

View File

@@ -78,7 +78,7 @@ public class FontName {
int var3;
if (var0 == ScriptOpcodes.OC_NAME) {
var3 = Interpreter.Interpreter_intStack[--HealthBarUpdate.Interpreter_intStackSize];
Interpreter.Interpreter_stringStack[++Skills.Interpreter_stringStackSize - 1] = WorldMapArea.getItemDefinition(var3).name;
Interpreter.Interpreter_stringStack[++Skills.Interpreter_stringStackSize - 1] = WorldMapArea.ItemDefinition_get(var3).name;
return 1;
}
int var4;
@@ -87,7 +87,7 @@ public class FontName {
HealthBarUpdate.Interpreter_intStackSize -= 2;
var3 = Interpreter.Interpreter_intStack[HealthBarUpdate.Interpreter_intStackSize];
var4 = Interpreter.Interpreter_intStack[HealthBarUpdate.Interpreter_intStackSize + 1];
var5 = WorldMapArea.getItemDefinition(var3);
var5 = WorldMapArea.ItemDefinition_get(var3);
if (var4 >= 1 && var4 <= 5 && var5.groundActions[var4 - 1] != null) {
Interpreter.Interpreter_stringStack[++Skills.Interpreter_stringStackSize - 1] = var5.groundActions[var4 - 1];
} else {
@@ -100,7 +100,7 @@ public class FontName {
HealthBarUpdate.Interpreter_intStackSize -= 2;
var3 = Interpreter.Interpreter_intStack[HealthBarUpdate.Interpreter_intStackSize];
var4 = Interpreter.Interpreter_intStack[HealthBarUpdate.Interpreter_intStackSize + 1];
var5 = WorldMapArea.getItemDefinition(var3);
var5 = WorldMapArea.ItemDefinition_get(var3);
if (var4 >= 1 && var4 <= 5 && var5.inventoryActions[var4 - 1] != null) {
Interpreter.Interpreter_stringStack[++Skills.Interpreter_stringStackSize - 1] = var5.inventoryActions[var4 - 1];
} else {
@@ -111,18 +111,18 @@ public class FontName {
}
if (var0 == ScriptOpcodes.OC_COST) {
var3 = Interpreter.Interpreter_intStack[--HealthBarUpdate.Interpreter_intStackSize];
Interpreter.Interpreter_intStack[++HealthBarUpdate.Interpreter_intStackSize - 1] = WorldMapArea.getItemDefinition(var3).price;
Interpreter.Interpreter_intStack[++HealthBarUpdate.Interpreter_intStackSize - 1] = WorldMapArea.ItemDefinition_get(var3).price;
return 1;
}
if (var0 == ScriptOpcodes.OC_STACKABLE) {
var3 = Interpreter.Interpreter_intStack[--HealthBarUpdate.Interpreter_intStackSize];
Interpreter.Interpreter_intStack[++HealthBarUpdate.Interpreter_intStackSize - 1] = WorldMapArea.getItemDefinition(var3).isStackable == 1 ? 1 : 0;
Interpreter.Interpreter_intStack[++HealthBarUpdate.Interpreter_intStackSize - 1] = WorldMapArea.ItemDefinition_get(var3).isStackable == 1 ? 1 : 0;
return 1;
}
ItemDefinition var6;
if (var0 == ScriptOpcodes.OC_CERT) {
var3 = Interpreter.Interpreter_intStack[--HealthBarUpdate.Interpreter_intStackSize];
var6 = WorldMapArea.getItemDefinition(var3);
var6 = WorldMapArea.ItemDefinition_get(var3);
if (var6.noteTemplate == -1 && var6.note >= 0) {
Interpreter.Interpreter_intStack[++HealthBarUpdate.Interpreter_intStackSize - 1] = var6.note;
} else {
@@ -133,7 +133,7 @@ public class FontName {
}
if (var0 == ScriptOpcodes.OC_UNCERT) {
var3 = Interpreter.Interpreter_intStack[--HealthBarUpdate.Interpreter_intStackSize];
var6 = WorldMapArea.getItemDefinition(var3);
var6 = WorldMapArea.ItemDefinition_get(var3);
if (var6.noteTemplate >= 0 && var6.note >= 0) {
Interpreter.Interpreter_intStack[++HealthBarUpdate.Interpreter_intStackSize - 1] = var6.note;
} else {
@@ -144,12 +144,12 @@ public class FontName {
}
if (var0 == ScriptOpcodes.OC_MEMBERS) {
var3 = Interpreter.Interpreter_intStack[--HealthBarUpdate.Interpreter_intStackSize];
Interpreter.Interpreter_intStack[++HealthBarUpdate.Interpreter_intStackSize - 1] = WorldMapArea.getItemDefinition(var3).isMembersOnly ? 1 : 0;
Interpreter.Interpreter_intStack[++HealthBarUpdate.Interpreter_intStackSize - 1] = WorldMapArea.ItemDefinition_get(var3).isMembersOnly ? 1 : 0;
return 1;
}
if (var0 == ScriptOpcodes.OC_PLACEHOLDER) {
var3 = Interpreter.Interpreter_intStack[--HealthBarUpdate.Interpreter_intStackSize];
var6 = WorldMapArea.getItemDefinition(var3);
var6 = WorldMapArea.ItemDefinition_get(var3);
if (var6.placeholderTemplate == -1 && var6.placeholder >= 0) {
Interpreter.Interpreter_intStack[++HealthBarUpdate.Interpreter_intStackSize - 1] = var6.placeholder;
} else {
@@ -160,7 +160,7 @@ public class FontName {
}
if (var0 == ScriptOpcodes.OC_UNPLACEHOLDER) {
var3 = Interpreter.Interpreter_intStack[--HealthBarUpdate.Interpreter_intStackSize];
var6 = WorldMapArea.getItemDefinition(var3);
var6 = WorldMapArea.ItemDefinition_get(var3);
if (var6.placeholderTemplate >= 0 && var6.placeholder >= 0) {
Interpreter.Interpreter_intStack[++HealthBarUpdate.Interpreter_intStackSize - 1] = var6.placeholder;
} else {
@@ -178,7 +178,7 @@ public class FontName {
}
if (var0 == ScriptOpcodes.OC_FINDNEXT) {
if (WorldMapData_1.foundItemIds != null && class32.foundItemIndex < FloorOverlayDefinition.foundItemIdCount) {
Interpreter.Interpreter_intStack[++HealthBarUpdate.Interpreter_intStackSize - 1] = WorldMapData_1.foundItemIds[++class32.foundItemIndex - 1] & '\uffff';
Interpreter.Interpreter_intStack[++HealthBarUpdate.Interpreter_intStackSize - 1] = WorldMapData_1.foundItemIds[++class32.foundItemIndex - 1] & 0xffff;
} else {
Interpreter.Interpreter_intStack[++HealthBarUpdate.Interpreter_intStackSize - 1] = -1;
}
@@ -204,7 +204,7 @@ public class FontName {
for (int var9 = 0; var9 < var0.length; ++var9) {
Widget var10 = var0[var9];
if (var10 == null || (var10.parentId != var1 && (var1 != -1412584499 || var10 != Client.clickedWidget))) {
if (var10 == null || (var10.parentId != var1 && (var1 != 0xabcdabcd || var10 != Client.clickedWidget))) {
continue;
}
@@ -320,16 +320,16 @@ public class FontName {
if (var10.contentType == 1336) {
if (Client.displayFps) {
var13 += 15;
class169.fontPlain12.drawRightAligned("Fps:" + GameShell.fps, var12 + var10.width, var13, 0xffff00, -1);
FileSystem.fontPlain12.drawRightAligned("Fps:" + GameShell.fps, var12 + var10.width, var13, 0xffff00, -1);
var13 += 15;
Runtime var42 = Runtime.getRuntime();
var20 = (int)((var42.totalMemory() - var42.freeMemory()) / 1024L);
var21 = 0xffff00;
if (var20 > 327680 && !Client.isLowDetail) {
if (var20 > 0x50000 && !Client.isLowDetail) {
var21 = 0xff0000;
}
class169.fontPlain12.drawRightAligned("Mem:" + var20 + "k", var12 + var10.width, var13, var21, -1);
FileSystem.fontPlain12.drawRightAligned("Mem:" + var20 + "k", var12 + var10.width, var13, var21, -1);
var13 += 15;
}
continue;
@@ -403,7 +403,7 @@ public class FontName {
}
if (var10.type == 0 && !var10.isIf3 && var10.scrollHeight > var10.height) {
NetFileRequest.method4139(var12 + var10.width, var13, var10.scrollY, var10.height, var10.scrollHeight);
NetFileRequest.drawScrollBar(var12 + var10.width, var13, var10.scrollY, var10.height, var10.scrollHeight);
}
if (var10.type == 1) {
@@ -417,7 +417,7 @@ public class FontName {
var19 = 0;
for (var20 = 0; var20 < var10.rawHeight; ++var20) {
for (var21 = 0; var21 < var10.rawWidth; ++var21) {
for (var21 = 0; var21 < var10.rawWidth; ++var21, ++var19) {
var22 = var12 + var21 * (var10.paddingX + 32);
var23 = var13 + var20 * (var10.paddingY + 32);
if (var19 < 20) {
@@ -434,84 +434,87 @@ public class FontName {
Strings.invalidateWidget(var10);
}
}
continue;
}
boolean var37 = false;
boolean var38 = false;
var26 = var10.itemIds[var19] - 1;
if ((var22 + 32 <= var2 || var22 >= var4 || var23 + 32 <= var3 || var23 >= var5) && (var10 != WorldMapIcon_0.dragInventoryWidget || var19 != Client.dragItemSlotSource)) {
continue;
}
Sprite var27;
if (Client.isItemSelected == 1 && var19 == WorldMapIcon_1.selectedItemSlot && var10.id == MouseRecorder.selectedItemWidget) {
var27 = WorldMapSection0.getItemSprite(var26, var10.itemQuantities[var19], 2, 0, 2, false);
} else {
boolean var37 = false;
boolean var38 = false;
var26 = var10.itemIds[var19] - 1;
if (var22 + 32 > var2 && var22 < var4 && var23 + 32 > var3 && var23 < var5 || var10 == WorldMapIcon_0.dragInventoryWidget && var19 == Client.dragItemSlotSource) {
Sprite var27;
if (Client.isItemSelected == 1 && var19 == WorldMapIcon_1.selectedItemSlot && var10.id == MouseRecorder.selectedItemWidget) {
var27 = WorldMapSection0.getItemSprite(var26, var10.itemQuantities[var19], 2, 0, 2, false);
} else {
var27 = WorldMapSection0.getItemSprite(var26, var10.itemQuantities[var19], 1, 3153952, 2, false);
}
if (var27 != null) {
if (var10 == WorldMapIcon_0.dragInventoryWidget && var19 == Client.dragItemSlotSource) {
var24 = MouseHandler.MouseHandler_x - Client.field654;
var25 = MouseHandler.MouseHandler_y - Client.field763;
if (var24 < 5 && var24 > -5) {
var24 = 0;
}
if (var25 < 5 && var25 > -5) {
var25 = 0;
}
if (Client.itemDragDuration < 5) {
var24 = 0;
var25 = 0;
}
var27.drawTransAt(var24 + var22, var25 + var23, 128);
if (var1 != -1) {
Widget var28 = var0[var1 & 65535];
int var29;
if (var23 + var25 < Rasterizer2D.Rasterizer2D_yClipStart && var28.scrollY > 0) {
var29 = (Rasterizer2D.Rasterizer2D_yClipStart - var23 - var25) * Client.field718 / 3;
if (var29 > Client.field718 * 10) {
var29 = Client.field718 * 10;
}
if (var29 > var28.scrollY) {
var29 = var28.scrollY;
}
var28.scrollY -= var29;
Client.field763 += var29;
Strings.invalidateWidget(var28);
}
if (var25 + var23 + 32 > Rasterizer2D.Rasterizer2D_yClipEnd && var28.scrollY < var28.scrollHeight - var28.height) {
var29 = (var25 + var23 + 32 - Rasterizer2D.Rasterizer2D_yClipEnd) * Client.field718 / 3;
if (var29 > Client.field718 * 10) {
var29 = Client.field718 * 10;
}
if (var29 > var28.scrollHeight - var28.height - var28.scrollY) {
var29 = var28.scrollHeight - var28.height - var28.scrollY;
}
var28.scrollY += var29;
Client.field763 -= var29;
Strings.invalidateWidget(var28);
}
}
} else if (var10 == ItemContainer.field549 && var19 == Client.field698) {
var27.drawTransAt(var22, var23, 128);
} else {
var27.drawTransBgAt(var22, var23);
}
} else {
Strings.invalidateWidget(var10);
}
}
var27 = WorldMapSection0.getItemSprite(var26, var10.itemQuantities[var19], 1, 0x302020, 2, false);
}
++var19;
if (var27 == null) {
Strings.invalidateWidget(var10);
continue;
}
if (var10 == WorldMapIcon_0.dragInventoryWidget && var19 == Client.dragItemSlotSource) {
var24 = MouseHandler.MouseHandler_x - Client.field654;
var25 = MouseHandler.MouseHandler_y - Client.field763;
if (var24 < 5 && var24 > -5) {
var24 = 0;
}
if (var25 < 5 && var25 > -5) {
var25 = 0;
}
if (Client.itemDragDuration < 5) {
var24 = 0;
var25 = 0;
}
var27.drawTransAt(var24 + var22, var25 + var23, 128);
if (var1 == -1) {
continue;
}
Widget var28 = var0[var1 & 0xffff];
int var29;
if (var23 + var25 < Rasterizer2D.Rasterizer2D_yClipStart && var28.scrollY > 0) {
var29 = (Rasterizer2D.Rasterizer2D_yClipStart - var23 - var25) * Client.field718 / 3;
if (var29 > Client.field718 * 10) {
var29 = Client.field718 * 10;
}
if (var29 > var28.scrollY) {
var29 = var28.scrollY;
}
var28.scrollY -= var29;
Client.field763 += var29;
Strings.invalidateWidget(var28);
}
if (var25 + var23 + 32 <= Rasterizer2D.Rasterizer2D_yClipEnd || var28.scrollY >= var28.scrollHeight - var28.height) {
continue;
}
var29 = (var25 + var23 + 32 - Rasterizer2D.Rasterizer2D_yClipEnd) * Client.field718 / 3;
if (var29 > Client.field718 * 10) {
var29 = Client.field718 * 10;
}
if (var29 > var28.scrollHeight - var28.height - var28.scrollY) {
var29 = var28.scrollHeight - var28.height - var28.scrollY;
}
var28.scrollY += var29;
Client.field763 -= var29;
Strings.invalidateWidget(var28);
} else if (var10 == ItemContainer.field549 && var19 == Client.field698) {
var27.drawTransAt(var22, var23, 128);
} else {
var27.drawTransBgAt(var22, var23);
}
}
}
} else if (var10.type == 3) {
continue;
}
if (var10.type == 3) {
if (ChatChannel.runCs1(var10)) {
var19 = var10.color2;
if (var10 == LoginScreenAnimation.mousedOverWidgetIf1 && var10.mouseOverColor2 != 0) {
@@ -544,288 +547,289 @@ public class FontName {
} else {
Rasterizer2D.Rasterizer2D_drawRectangleAlpha(var12, var13, var10.width, var10.height, var19, 256 - (var14 & 255));
}
} else {
Font var39;
if (var10.type == 4) {
var39 = var10.getFont();
if (var39 == null) {
if (Widget.field2562) {
Strings.invalidateWidget(var10);
}
} else {
String var44 = var10.text;
if (ChatChannel.runCs1(var10)) {
var20 = var10.color2;
if (var10 == LoginScreenAnimation.mousedOverWidgetIf1 && var10.mouseOverColor2 != 0) {
var20 = var10.mouseOverColor2;
}
if (var10.text2.length() > 0) {
var44 = var10.text2;
}
} else {
var20 = var10.color;
if (var10 == LoginScreenAnimation.mousedOverWidgetIf1 && var10.mouseOverColor != 0) {
var20 = var10.mouseOverColor;
}
}
if (var10.isIf3 && var10.itemId != -1) {
ItemDefinition var45 = WorldMapArea.getItemDefinition(var10.itemId);
var44 = var45.name;
if (var44 == null) {
var44 = "null";
}
if ((var45.isStackable == 1 || var10.itemQuantity != 1) && var10.itemQuantity != -1) {
var44 = ClientPreferences.colorStartTag(16748608) + var44 + "</col>" + " " + 'x' + class188.method3631(var10.itemQuantity);
}
}
if (var10 == Client.meslayerContinueWidget) {
var44 = "Please wait...";
var20 = var10.color;
}
if (!var10.isIf3) {
var44 = GrandExchangeOfferTotalQuantityComparator.method92(var44, var10);
}
var39.drawLines(var44, var12, var13, var10.width, var10.height, var20, var10.textShadowed ? 0 : -1, var10.textXAlignment, var10.textYAlignment, var10.textLineHeight);
continue;
}
Font var39;
if (var10.type == 4) {
var39 = var10.getFont();
if (var39 == null) {
if (Widget.field2562) {
Strings.invalidateWidget(var10);
}
continue;
}
String var44 = var10.text;
if (ChatChannel.runCs1(var10)) {
var20 = var10.color2;
if (var10 == LoginScreenAnimation.mousedOverWidgetIf1 && var10.mouseOverColor2 != 0) {
var20 = var10.mouseOverColor2;
}
} else if (var10.type == 5) {
Sprite var40;
if (!var10.isIf3) {
var40 = var10.getSprite(ChatChannel.runCs1(var10));
if (var40 != null) {
var40.drawTransBgAt(var12, var13);
} else if (Widget.field2562) {
Strings.invalidateWidget(var10);
}
} else {
if (var10.itemId != -1) {
var40 = WorldMapSection0.getItemSprite(var10.itemId, var10.itemQuantity, var10.outline, var10.spriteShadow, var10.itemQuantityMode, false);
} else {
var40 = var10.getSprite(false);
}
if (var40 == null) {
if (Widget.field2562) {
Strings.invalidateWidget(var10);
}
} else {
var20 = var40.width;
var21 = var40.height;
if (!var10.spriteTiling) {
var22 = var10.width * 4096 / var20;
if (var10.spriteAngle != 0) {
var40.method6186(var10.width / 2 + var12, var10.height / 2 + var13, var10.spriteAngle, var22);
} else if (var14 != 0) {
var40.drawTransScaledAt(var12, var13, var10.width, var10.height, 256 - (var14 & 255));
} else if (var20 == var10.width && var21 == var10.height) {
var40.drawTransBgAt(var12, var13);
} else {
var40.drawScaledAt(var12, var13, var10.width, var10.height);
}
} else {
Rasterizer2D.Rasterizer2D_expandClip(var12, var13, var12 + var10.width, var13 + var10.height);
var22 = (var20 - 1 + var10.width) / var20;
var23 = (var21 - 1 + var10.height) / var21;
for (var24 = 0; var24 < var22; ++var24) {
for (var25 = 0; var25 < var23; ++var25) {
if (var10.spriteAngle != 0) {
var40.method6186(var20 / 2 + var12 + var24 * var20, var21 / 2 + var13 + var21 * var25, var10.spriteAngle, 4096);
} else if (var14 != 0) {
var40.drawTransAt(var12 + var24 * var20, var13 + var25 * var21, 256 - (var14 & 255));
} else {
var40.drawTransBgAt(var12 + var24 * var20, var13 + var21 * var25);
}
}
}
Rasterizer2D.Rasterizer2D_setClip(var2, var3, var4, var5);
}
}
if (var10.text2.length() > 0) {
var44 = var10.text2;
}
} else {
ItemDefinition var33;
if (var10.type == 6) {
boolean var36 = ChatChannel.runCs1(var10);
if (var36) {
var20 = var10.sequenceId2;
} else {
var20 = var10.sequenceId;
}
var20 = var10.color;
if (var10 == LoginScreenAnimation.mousedOverWidgetIf1 && var10.mouseOverColor != 0) {
var20 = var10.mouseOverColor;
}
}
Model var41 = null;
var22 = 0;
if (var10.itemId != -1) {
var33 = WorldMapArea.getItemDefinition(var10.itemId);
if (var33 != null) {
var33 = var33.getCountObj(var10.itemQuantity);
var41 = var33.getModel(1);
if (var41 != null) {
var41.calculateBoundsCylinder();
var22 = var41.height / 2;
} else {
Strings.invalidateWidget(var10);
}
}
} else if (var10.modelType == 5) {
if (var10.modelId == 0) {
var41 = Client.playerAppearance.getModel((SequenceDefinition)null, -1, (SequenceDefinition)null, -1);
} else {
var41 = Client.localPlayer.getModel();
}
} else if (var20 == -1) {
var41 = var10.getModel((SequenceDefinition)null, -1, var36, Client.localPlayer.appearance);
if (var41 == null && Widget.field2562) {
Strings.invalidateWidget(var10);
}
} else {
SequenceDefinition var47 = GrandExchangeEvent.getSequenceDefinition(var20);
var41 = var10.getModel(var47, var10.modelFrame, var36, Client.localPlayer.appearance);
if (var41 == null && Widget.field2562) {
Strings.invalidateWidget(var10);
}
}
if (var10.isIf3 && var10.itemId != -1) {
ItemDefinition var45 = WorldMapArea.ItemDefinition_get(var10.itemId);
var44 = var45.name;
if (var44 == null) {
var44 = "null";
}
Rasterizer3D.method2976(var10.width / 2 + var12, var10.height / 2 + var13);
var23 = Rasterizer3D.Rasterizer3D_sine[var10.modelAngleX] * var10.modelZoom >> 16;
var24 = Rasterizer3D.Rasterizer3D_cosine[var10.modelAngleX] * var10.modelZoom >> 16;
if (var41 != null) {
if (!var10.isIf3) {
var41.method2866(0, var10.modelAngleY, 0, var10.modelAngleX, 0, var23, var24);
} else {
var41.calculateBoundsCylinder();
if (var10.modelOrthog) {
var41.method2876(0, var10.modelAngleY, var10.modelAngleZ, var10.modelAngleX, var10.modelOffsetX, var22 + var23 + var10.modelOffsetY, var24 + var10.modelOffsetY, var10.modelZoom);
} else {
var41.method2866(0, var10.modelAngleY, var10.modelAngleZ, var10.modelAngleX, var10.modelOffsetX, var23 + var22 + var10.modelOffsetY, var24 + var10.modelOffsetY);
}
}
}
if ((var45.isStackable == 1 || var10.itemQuantity != 1) && var10.itemQuantity != -1) {
var44 = ClientPreferences.colorStartTag(0xff9040) + var44 + "</col>" + " " + 'x' + class188.formatItemStacks(var10.itemQuantity);
}
}
Rasterizer3D.Rasterizer3D_method3();
if (var10 == Client.meslayerContinueWidget) {
var44 = "Please wait...";
var20 = var10.color;
}
if (!var10.isIf3) {
var44 = GrandExchangeOfferTotalQuantityComparator.method92(var44, var10);
}
var39.drawLines(var44, var12, var13, var10.width, var10.height, var20, var10.textShadowed ? 0 : -1, var10.textXAlignment, var10.textYAlignment, var10.textLineHeight);
continue;
}
if (var10.type == 5) {
Sprite var40;
if (!var10.isIf3) {
var40 = var10.getSprite(ChatChannel.runCs1(var10));
if (var40 != null) {
var40.drawTransBgAt(var12, var13);
} else if (Widget.field2562) {
Strings.invalidateWidget(var10);
}
continue;
}
if (var10.itemId != -1) {
var40 = WorldMapSection0.getItemSprite(var10.itemId, var10.itemQuantity, var10.outline, var10.spriteShadow, var10.itemQuantityMode, false);
} else {
var40 = var10.getSprite(false);
}
if (var40 == null) {
if (Widget.field2562) {
Strings.invalidateWidget(var10);
}
continue;
}
var20 = var40.width;
var21 = var40.height;
if (!var10.spriteTiling) {
var22 = var10.width * 4096 / var20;
if (var10.spriteAngle != 0) {
var40.method6186(var10.width / 2 + var12, var10.height / 2 + var13, var10.spriteAngle, var22);
} else if (var14 != 0) {
var40.drawTransScaledAt(var12, var13, var10.width, var10.height, 256 - (var14 & 255));
} else if (var20 == var10.width && var21 == var10.height) {
var40.drawTransBgAt(var12, var13);
} else {
if (var10.type == 7) {
var39 = var10.getFont();
if (var39 == null) {
if (Widget.field2562) {
Strings.invalidateWidget(var10);
}
continue;
}
var40.drawScaledAt(var12, var13, var10.width, var10.height);
}
continue;
}
Rasterizer2D.Rasterizer2D_expandClip(var12, var13, var12 + var10.width, var13 + var10.height);
var22 = (var20 - 1 + var10.width) / var20;
var23 = (var21 - 1 + var10.height) / var21;
var20 = 0;
for (var21 = 0; var21 < var10.rawHeight; ++var21) {
for (var22 = 0; var22 < var10.rawWidth; ++var22) {
if (var10.itemIds[var20] > 0) {
var33 = WorldMapArea.getItemDefinition(var10.itemIds[var20] - 1);
String var34;
if (var33.isStackable != 1 && var10.itemQuantities[var20] == 1) {
var34 = ClientPreferences.colorStartTag(16748608) + var33.name + "</col>";
} else {
var34 = ClientPreferences.colorStartTag(16748608) + var33.name + "</col>" + " " + 'x' + class188.method3631(var10.itemQuantities[var20]);
}
var25 = var22 * (var10.paddingX + 115) + var12;
var26 = var21 * (var10.paddingY + 12) + var13;
if (var10.textXAlignment == 0) {
var39.draw(var34, var25, var26, var10.color, var10.textShadowed ? 0 : -1);
} else if (var10.textXAlignment == 1) {
var39.drawCentered(var34, var10.width / 2 + var25, var26, var10.color, var10.textShadowed ? 0 : -1);
} else {
var39.drawRightAligned(var34, var25 + var10.width - 1, var26, var10.color, var10.textShadowed ? 0 : -1);
}
}
++var20;
}
}
}
if (var10.type == 8 && var10 == class32.field284 && Client.field833 == Client.field840) {
var19 = 0;
var20 = 0;
Font var31 = class169.fontPlain12;
String var32 = var10.text;
String var43;
for (var32 = GrandExchangeOfferTotalQuantityComparator.method92(var32, var10); var32.length() > 0; var20 = var20 + var31.ascent + 1) {
var24 = var32.indexOf("<br>");
if (var24 != -1) {
var43 = var32.substring(0, var24);
var32 = var32.substring(var24 + 4);
} else {
var43 = var32;
var32 = "";
}
var25 = var31.stringWidth(var43);
if (var25 > var19) {
var19 = var25;
}
}
var19 += 6;
var20 += 7;
var24 = var12 + var10.width - 5 - var19;
var25 = var13 + var10.height + 5;
if (var24 < var12 + 5) {
var24 = var12 + 5;
}
if (var24 + var19 > var4) {
var24 = var4 - var19;
}
if (var20 + var25 > var5) {
var25 = var5 - var20;
}
Rasterizer2D.Rasterizer2D_fillRectangle(var24, var25, var19, var20, 16777120);
Rasterizer2D.Rasterizer2D_drawRectangle(var24, var25, var19, var20, 0);
var32 = var10.text;
var26 = var25 + var31.ascent + 2;
for (var32 = GrandExchangeOfferTotalQuantityComparator.method92(var32, var10); var32.length() > 0; var26 = var26 + var31.ascent + 1) {
int var35 = var32.indexOf("<br>");
if (var35 != -1) {
var43 = var32.substring(0, var35);
var32 = var32.substring(var35 + 4);
} else {
var43 = var32;
var32 = "";
}
var31.draw(var43, var24 + 3, var26, 0, -1);
}
}
if (var10.type == 9) {
if (var10.field2598) {
var19 = var12;
var20 = var13 + var10.height;
var21 = var12 + var10.width;
var22 = var13;
} else {
var19 = var12;
var20 = var13;
var21 = var12 + var10.width;
var22 = var13 + var10.height;
}
if (var10.lineWid == 1) {
Rasterizer2D.Rasterizer2D_drawLine(var19, var20, var21, var22, var10.color);
} else {
MusicPatchPcmStream.method3912(var19, var20, var21, var22, var10.color, var10.lineWid);
}
for (var24 = 0; var24 < var22; ++var24) {
for (var25 = 0; var25 < var23; ++var25) {
if (var10.spriteAngle != 0) {
var40.method6186(var20 / 2 + var12 + var24 * var20, var21 / 2 + var13 + var21 * var25, var10.spriteAngle, 4096);
} else if (var14 != 0) {
var40.drawTransAt(var12 + var24 * var20, var13 + var25 * var21, 256 - (var14 & 255));
} else {
var40.drawTransBgAt(var12 + var24 * var20, var13 + var21 * var25);
}
}
}
Rasterizer2D.Rasterizer2D_setClip(var2, var3, var4, var5);
continue;
}
ItemDefinition var33;
if (var10.type == 6) {
boolean var36 = ChatChannel.runCs1(var10);
if (var36) {
var20 = var10.sequenceId2;
} else {
var20 = var10.sequenceId;
}
Model var41 = null;
var22 = 0;
if (var10.itemId != -1) {
var33 = WorldMapArea.ItemDefinition_get(var10.itemId);
if (var33 != null) {
var33 = var33.getCountObj(var10.itemQuantity);
var41 = var33.getModel(1);
if (var41 != null) {
var41.calculateBoundsCylinder();
var22 = var41.height / 2;
} else {
Strings.invalidateWidget(var10);
}
}
} else if (var10.modelType == 5) {
if (var10.modelId == 0) {
var41 = Client.playerAppearance.getModel((SequenceDefinition)null, -1, (SequenceDefinition)null, -1);
} else {
var41 = Client.localPlayer.getModel();
}
} else if (var20 == -1) {
var41 = var10.getModel((SequenceDefinition)null, -1, var36, Client.localPlayer.appearance);
if (var41 == null && Widget.field2562) {
Strings.invalidateWidget(var10);
}
} else {
SequenceDefinition var47 = GrandExchangeEvent.SequenceDefinition_get(var20);
var41 = var10.getModel(var47, var10.modelFrame, var36, Client.localPlayer.appearance);
if (var41 == null && Widget.field2562) {
Strings.invalidateWidget(var10);
}
}
Rasterizer3D.method2976(var10.width / 2 + var12, var10.height / 2 + var13);
var23 = Rasterizer3D.Rasterizer3D_sine[var10.modelAngleX] * var10.modelZoom >> 16;
var24 = Rasterizer3D.Rasterizer3D_cosine[var10.modelAngleX] * var10.modelZoom >> 16;
if (var41 != null) {
if (var10.isIf3) {
var41.calculateBoundsCylinder();
if (var10.modelOrthog) {
var41.method2876(0, var10.modelAngleY, var10.modelAngleZ, var10.modelAngleX, var10.modelOffsetX, var22 + var23 + var10.modelOffsetY, var24 + var10.modelOffsetY, var10.modelZoom);
} else {
var41.method2866(0, var10.modelAngleY, var10.modelAngleZ, var10.modelAngleX, var10.modelOffsetX, var23 + var22 + var10.modelOffsetY, var24 + var10.modelOffsetY);
}
} else {
var41.method2866(0, var10.modelAngleY, 0, var10.modelAngleX, 0, var23, var24);
}
}
Rasterizer3D.Rasterizer3D_method3();
continue;
}
if (var10.type == 7) {
var39 = var10.getFont();
if (var39 == null) {
if (Widget.field2562) {
Strings.invalidateWidget(var10);
}
continue;
}
var20 = 0;
for (var21 = 0; var21 < var10.rawHeight; ++var21) {
for (var22 = 0; var22 < var10.rawWidth; ++var22, ++var20) {
if (var10.itemIds[var20] <= 0) {
continue;
}
var33 = WorldMapArea.ItemDefinition_get(var10.itemIds[var20] - 1);
String var34;
if (var33.isStackable != 1 && var10.itemQuantities[var20] == 1) {
var34 = ClientPreferences.colorStartTag(0xff9040) + var33.name + "</col>";
} else {
var34 = ClientPreferences.colorStartTag(0xff9040) + var33.name + "</col>" + " " + 'x' + class188.formatItemStacks(var10.itemQuantities[var20]);
}
var25 = var22 * (var10.paddingX + 115) + var12;
var26 = var21 * (var10.paddingY + 12) + var13;
if (var10.textXAlignment == 0) {
var39.draw(var34, var25, var26, var10.color, var10.textShadowed ? 0 : -1);
} else if (var10.textXAlignment == 1) {
var39.drawCentered(var34, var10.width / 2 + var25, var26, var10.color, var10.textShadowed ? 0 : -1);
} else {
var39.drawRightAligned(var34, var25 + var10.width - 1, var26, var10.color, var10.textShadowed ? 0 : -1);
}
}
}
}
if (var10.type == 8 && var10 == class32.field284 && Client.field833 == Client.field840) {
var19 = 0;
var20 = 0;
Font var31 = FileSystem.fontPlain12;
String var32 = var10.text;
String var43;
for (var32 = GrandExchangeOfferTotalQuantityComparator.method92(var32, var10); var32.length() > 0; var20 = var20 + var31.ascent + 1) {
var24 = var32.indexOf("<br>");
if (var24 != -1) {
var43 = var32.substring(0, var24);
var32 = var32.substring(var24 + 4);
} else {
var43 = var32;
var32 = "";
}
var25 = var31.stringWidth(var43);
if (var25 > var19) {
var19 = var25;
}
}
var19 += 6;
var20 += 7;
var24 = var12 + var10.width - 5 - var19;
var25 = var13 + var10.height + 5;
if (var24 < var12 + 5) {
var24 = var12 + 5;
}
if (var24 + var19 > var4) {
var24 = var4 - var19;
}
if (var20 + var25 > var5) {
var25 = var5 - var20;
}
Rasterizer2D.Rasterizer2D_fillRectangle(var24, var25, var19, var20, 0xffffa0);
Rasterizer2D.Rasterizer2D_drawRectangle(var24, var25, var19, var20, 0);
var32 = var10.text;
var26 = var25 + var31.ascent + 2;
for (var32 = GrandExchangeOfferTotalQuantityComparator.method92(var32, var10); var32.length() > 0; var26 = var26 + var31.ascent + 1) {
int var35 = var32.indexOf("<br>");
if (var35 != -1) {
var43 = var32.substring(0, var35);
var32 = var32.substring(var35 + 4);
} else {
var43 = var32;
var32 = "";
}
var31.draw(var43, var24 + 3, var26, 0, -1);
}
}
if (var10.type == 9) {
if (var10.field2598) {
var19 = var12;
var20 = var13 + var10.height;
var21 = var12 + var10.width;
var22 = var13;
} else {
var19 = var12;
var20 = var13;
var21 = var12 + var10.width;
var22 = var13 + var10.height;
}
if (var10.lineWid == 1) {
Rasterizer2D.Rasterizer2D_drawLine(var19, var20, var21, var22, var10.color);
} else {
MusicPatchPcmStream.method3912(var19, var20, var21, var22, var10.color, var10.lineWid);
}
}
}

View File

@@ -81,9 +81,8 @@ public class Frames extends DualNode {
byte var10 = 0;
int var11 = 0;
class173.bufferX[var10] = var0;
byte var10001 = var10;
int var18 = var10 + 1;
class173.bufferY[var10001] = var1;
class173.bufferY[var10] = var1;
int[][] var12 = var3.flags;
while (var11 != var18) {
@@ -94,7 +93,7 @@ public class Frames extends DualNode {
int var17 = var5 - var9;
int var13 = var4 - var3.xInset;
int var14 = var5 - var3.yInset;
if (var2.vmethod3594(2, var4, var5, var3)) {
if (var2.hasArrived(2, var4, var5, var3)) {
class173.field2088 = var4;
class218.field2707 = var5;
return true;

View File

@@ -83,78 +83,79 @@ public class Friend extends Buddy {
garbageValue = "230469601"
)
static final void method5226(Actor var0) {
if (var0.field948 != 0) {
if (var0.targetIndex != -1) {
Object var1 = null;
if (var0.targetIndex < 32768) {
var1 = Client.npcs[var0.targetIndex];
} else if (var0.targetIndex >= 32768) {
var1 = Client.players[var0.targetIndex - 32768];
}
if (var1 != null) {
int var2 = var0.x - ((Actor)var1).x;
int var3 = var0.y - ((Actor)var1).y;
if (var2 != 0 || var3 != 0) {
var0.orientation = (int)(Math.atan2((double)var2, (double)var3) * 325.949D) & 2047;
}
} else if (var0.false0) {
var0.targetIndex = -1;
var0.false0 = false;
}
if (var0.field948 == 0) {
return;
}
if (var0.targetIndex != -1) {
Object var1 = null;
if (var0.targetIndex < 32768) {
var1 = Client.npcs[var0.targetIndex];
} else if (var0.targetIndex >= 32768) {
var1 = Client.players[var0.targetIndex - 32768];
}
if (var0.field976 != -1 && (var0.pathLength == 0 || var0.field1007 > 0)) {
var0.orientation = var0.field976;
var0.field976 = -1;
}
int var4 = var0.orientation - var0.field950 & 2047;
if (var4 == 0 && var0.false0) {
if (var1 != null) {
int var2 = var0.x - ((Actor)var1).x;
int var3 = var0.y - ((Actor)var1).y;
if (var2 != 0 || var3 != 0) {
var0.orientation = (int)(Math.atan2((double)var2, (double)var3) * 325.949D) & 2047;
}
} else if (var0.false0) {
var0.targetIndex = -1;
var0.false0 = false;
}
}
if (var4 != 0) {
++var0.field1009;
boolean var6;
if (var4 > 1024) {
var0.field950 -= var0.field948;
var6 = true;
if (var4 < var0.field948 || var4 > 2048 - var0.field948) {
var0.field950 = var0.orientation;
var6 = false;
}
if (var0.field976 != -1 && (var0.pathLength == 0 || var0.field1007 > 0)) {
var0.orientation = var0.field976;
var0.field976 = -1;
}
if (var0.movementSequence == var0.readySequence && (var0.field1009 > 25 || var6)) {
if (var0.turnLeftSequence != -1) {
var0.movementSequence = var0.turnLeftSequence;
} else {
var0.movementSequence = var0.walkSequence;
}
}
} else {
var0.field950 += var0.field948;
var6 = true;
if (var4 < var0.field948 || var4 > 2048 - var0.field948) {
var0.field950 = var0.orientation;
var6 = false;
}
int var4 = var0.orientation - var0.rotation & 2047;
if (var4 == 0 && var0.false0) {
var0.targetIndex = -1;
var0.false0 = false;
}
if (var0.readySequence == var0.movementSequence && (var0.field1009 > 25 || var6)) {
if (var0.turnRightSequence != -1) {
var0.movementSequence = var0.turnRightSequence;
} else {
var0.movementSequence = var0.walkSequence;
}
}
}
var0.field950 &= 2047;
} else {
var0.field1009 = 0;
if (var4 == 0) {
var0.field1009 = 0;
return;
}
++var0.field1009;
boolean var6;
if (var4 > 1024) {
var0.rotation -= var0.field948;
var6 = true;
if (var4 < var0.field948 || var4 > 2048 - var0.field948) {
var0.rotation = var0.orientation;
var6 = false;
}
if (var0.movementSequence == var0.readySequence && (var0.field1009 > 25 || var6)) {
if (var0.turnLeftSequence != -1) {
var0.movementSequence = var0.turnLeftSequence;
} else {
var0.movementSequence = var0.walkSequence;
}
}
} else {
var0.rotation += var0.field948;
var6 = true;
if (var4 < var0.field948 || var4 > 2048 - var0.field948) {
var0.rotation = var0.orientation;
var6 = false;
}
if (var0.readySequence == var0.movementSequence && (var0.field1009 > 25 || var6)) {
if (var0.turnRightSequence != -1) {
var0.movementSequence = var0.turnRightSequence;
} else {
var0.movementSequence = var0.walkSequence;
}
}
}
var0.rotation &= 2047;
}
}

View File

@@ -11,7 +11,8 @@ public class FriendLoginUpdate extends Link {
@ObfuscatedGetter(
intValue = 1546177207
)
public int field3661;
@Export("friendUpdateTimeSecs")
public int friendUpdateTimeSecs;
@ObfuscatedName("p")
@ObfuscatedSignature(
signature = "Ljv;"
@@ -26,7 +27,7 @@ public class FriendLoginUpdate extends Link {
signature = "(Ljv;I)V"
)
FriendLoginUpdate(Username var1, int var2) {
this.field3661 = (int)(DirectByteArrayCopier.currentTimeMs() / 1000L);
this.friendUpdateTimeSecs = (int)(DirectByteArrayCopier.currentTimeMs() / 1000L);
this.username = var1;
this.world = (short)var2;
}

View File

@@ -73,10 +73,11 @@ public class FriendSystem {
signature = "(Lkf;II)V",
garbageValue = "499123399"
)
final void method1805(Buffer var1, int var2) {
@Export("readUpdate")
final void readUpdate(Buffer var1, int var2) {
this.friendsList.read(var1, var2);
this.field1076 = 2;
VertexNormal.method2972();
VertexNormal.FriendSystem_invalidateFriends();
}
@ObfuscatedName("p")
@@ -87,17 +88,18 @@ public class FriendSystem {
@Export("processFriendUpdates")
final void processFriendUpdates() {
for (FriendLoginUpdate var1 = (FriendLoginUpdate)this.friendsList.friendLoginUpdates.last(); var1 != null; var1 = (FriendLoginUpdate)this.friendsList.friendLoginUpdates.previous()) {
if ((long)var1.field3661 < DirectByteArrayCopier.currentTimeMs() / 1000L - 5L) {
if (var1.world > 0) {
ScriptEvent.addGameMessage(5, "", var1.username + " has logged in.");
}
if (var1.world == 0) {
ScriptEvent.addGameMessage(5, "", var1.username + " has logged out.");
}
var1.remove();
if ((long) var1.friendUpdateTimeSecs >= DirectByteArrayCopier.currentTimeMs() / 1000L - 5L) {
continue;
}
if (var1.world > 0) {
ScriptEvent.addGameMessage(5, "", var1.username + " has logged in.");
}
if (var1.world == 0) {
ScriptEvent.addGameMessage(5, "", var1.username + " has logged out.");
}
var1.remove();
}
}
@@ -150,34 +152,33 @@ public class FriendSystem {
)
@Export("addFriend")
final void addFriend(String var1) {
if (var1 != null) {
Username var2 = new Username(var1, this.loginType);
if (var2.hasCleanName()) {
if (this.canAddFriend()) {
MouseRecorder.method1138();
} else {
StringBuilder var10000;
String var4;
if (Client.localPlayer.username.equals(var2)) {
var10000 = null;
var4 = "You can't add yourself to your own friend list";
ScriptEvent.addGameMessage(30, "", var4);
} else if (this.isFriended(var2, false)) {
WorldMapManager.method633(var1);
} else if (this.isIgnored(var2)) {
var10000 = new StringBuilder();
Object var10001 = null;
var10000 = var10000.append("Please remove ").append(var1);
var10001 = null;
var4 = var10000.append(" from your ignore list first").toString();
ScriptEvent.addGameMessage(30, "", var4);
} else {
PacketBufferNode var3 = Archive.method4265(ClientPacket.field2291, Client.packetWriter.isaacCipher);
var3.packetBuffer.writeByte(Huffman.stringCp1252NullTerminatedByteSize(var1));
var3.packetBuffer.writeStringCp1252NullTerminated(var1);
Client.packetWriter.method2219(var3);
}
}
if (var1 == null) {
return;
}
Username var2 = new Username(var1, this.loginType);
if (!var2.hasCleanName()) {
return;
}
if (this.friendsListIsFull()) {
MouseRecorder.FriendSystem_friendsListFullMes();
} else {
StringBuilder var10000;
String var4;
if (Client.localPlayer.username.equals(var2)) {
var4 = "You can't add yourself to your own friend list";
ScriptEvent.addGameMessage(30, "", var4);
} else if (this.isFriended(var2, false)) {
WorldMapManager.FriendSystem_alreadyFriendMes(var1);
} else if (this.isIgnored(var2)) {
var10000 = new StringBuilder();
var10000.append("Please remove ").append(var1);
var4 = var10000.append(" from your ignore list first").toString();
ScriptEvent.addGameMessage(30, "", var4);
} else {
PacketBufferNode var3 = Archive.getPacketBufferNode(ClientPacket.field2291, Client.packetWriter.isaacCipher);
var3.packetBuffer.writeByte(Huffman.stringCp1252NullTerminatedByteSize(var1));
var3.packetBuffer.writeStringCp1252NullTerminated(var1);
Client.packetWriter.addNode(var3);
}
}
}
@@ -187,8 +188,8 @@ public class FriendSystem {
signature = "(I)Z",
garbageValue = "-1832843555"
)
@Export("canAddFriend")
final boolean canAddFriend() {
@Export("friendsListIsFull")
final boolean friendsListIsFull() {
return this.friendsList.isFull() || this.friendsList.getSize() >= 200 && Client.field771 != 1;
}
@@ -199,23 +200,25 @@ public class FriendSystem {
)
@Export("addIgnore")
final void addIgnore(String var1) {
if (var1 != null) {
Username var2 = new Username(var1, this.loginType);
if (var2.hasCleanName()) {
if (this.canAddIgnore()) {
Object var10000 = null;
String var3 = "Your ignore list is full. Max of 100 for free users, and 400 for members";
ScriptEvent.addGameMessage(30, "", var3);
} else if (Client.localPlayer.username.equals(var2)) {
WorldMapEvent.method737();
} else if (this.isIgnored(var2)) {
Client.method1650(var1);
} else if (this.isFriended(var2, false)) {
WorldMapID.method541(var1);
} else {
class219.method4111(var1);
}
}
if (var1 == null) {
return;
}
Username var2 = new Username(var1, this.loginType);
if (!var2.hasCleanName()) {
return;
}
if (this.canAddIgnore()) {
Object var10000 = null;
String var3 = "Your ignore list is full. Max of 100 for free users, and 400 for members";
ScriptEvent.addGameMessage(30, "", var3);
} else if (Client.localPlayer.username.equals(var2)) {
WorldMapEvent.FriendSystem_cantIgnoreSelfMes();
} else if (this.isIgnored(var2)) {
Client.FriendSystem_alreadyIgnoredMes(var1);
} else if (this.isFriended(var2, false)) {
WorldMapID.FriendSystem_cantIgnoreFriendMes(var1);
} else {
class219.method4111(var1);
}
}
@@ -236,20 +239,22 @@ public class FriendSystem {
)
@Export("removeFriend")
final void removeFriend(String var1) {
if (var1 != null) {
Username var2 = new Username(var1, this.loginType);
if (var2.hasCleanName()) {
if (this.friendsList.removeByUsername(var2)) {
Client.field672 = Client.cycleCntr;
PacketBufferNode var3 = Archive.method4265(ClientPacket.field2224, Client.packetWriter.isaacCipher);
var3.packetBuffer.writeByte(Huffman.stringCp1252NullTerminatedByteSize(var1));
var3.packetBuffer.writeStringCp1252NullTerminated(var1);
Client.packetWriter.method2219(var3);
}
VertexNormal.method2972();
}
if (var1 == null) {
return;
}
Username var2 = new Username(var1, this.loginType);
if (!var2.hasCleanName()) {
return;
}
if (this.friendsList.removeByUsername(var2)) {
Client.field672 = Client.cycleCntr;
PacketBufferNode var3 = Archive.getPacketBufferNode(ClientPacket.field2224, Client.packetWriter.isaacCipher);
var3.packetBuffer.writeByte(Huffman.stringCp1252NullTerminatedByteSize(var1));
var3.packetBuffer.writeStringCp1252NullTerminated(var1);
Client.packetWriter.addNode(var3);
}
VertexNormal.FriendSystem_invalidateFriends();
}
@ObfuscatedName("d")
@@ -259,20 +264,22 @@ public class FriendSystem {
)
@Export("removeIgnore")
final void removeIgnore(String var1) {
if (var1 != null) {
Username var2 = new Username(var1, this.loginType);
if (var2.hasCleanName()) {
if (this.ignoreList.removeByUsername(var2)) {
Client.field672 = Client.cycleCntr;
PacketBufferNode var3 = Archive.method4265(ClientPacket.field2231, Client.packetWriter.isaacCipher);
var3.packetBuffer.writeByte(Huffman.stringCp1252NullTerminatedByteSize(var1));
var3.packetBuffer.writeStringCp1252NullTerminated(var1);
Client.packetWriter.method2219(var3);
}
class2.method28();
}
if (var1 == null) {
return;
}
Username var2 = new Username(var1, this.loginType);
if (!var2.hasCleanName()) {
return;
}
if (this.ignoreList.removeByUsername(var2)) {
Client.field672 = Client.cycleCntr;
PacketBufferNode var3 = Archive.getPacketBufferNode(ClientPacket.field2231, Client.packetWriter.isaacCipher);
var3.packetBuffer.writeByte(Huffman.stringCp1252NullTerminatedByteSize(var1));
var3.packetBuffer.writeStringCp1252NullTerminated(var1);
Client.packetWriter.addNode(var3);
}
class2.FriendSystem_invalidateIgnoreds();
}
@ObfuscatedName("z")
@@ -320,18 +327,19 @@ public class FriendSystem {
for (int var5 = 0; var5 < var2; ++var5) {
int var6 = var0[var5 + var1] & 255;
if (var6 != 0) {
if (var6 >= 128 && var6 < 160) {
char var7 = class288.cp1252AsciiExtension[var6 - 128];
if (var7 == 0) {
var7 = '?';
}
var6 = var7;
if (var6 == 0) {
continue;
}
if (var6 >= 128 && var6 < 160) {
char var7 = class288.cp1252AsciiExtension[var6 - 128];
if (var7 == 0) {
var7 = '?';
}
var3[var4++] = (char)var6;
var6 = var7;
}
var3[var4++] = (char)var6;
}
return new String(var3, 0, var4);
@@ -342,8 +350,9 @@ public class FriendSystem {
signature = "(II)I",
garbageValue = "-77884497"
)
public static int method1784(int var0) {
return class43.getObjectIdFromTag(ViewportMouse.ViewportMouse_entityTags[var0]);
@Export("ViewportMouse_unpackID")
public static int ViewportMouse_unpackID(int i) {
return class43.Entity_unpackID(ViewportMouse.ViewportMouse_entityTags[i]);
}
@ObfuscatedName("ag")

View File

@@ -76,85 +76,80 @@ public class FriendsList extends UserList {
)
@Export("read")
public void read(Buffer var1, int var2) {
while (true) {
if (var1.offset < var2) {
boolean var3 = var1.readUnsignedByte() == 1;
Username var4 = new Username(var1.readStringCp1252NullTerminated(), this.loginType);
Username var5 = new Username(var1.readStringCp1252NullTerminated(), this.loginType);
int var6 = var1.readUnsignedShort();
int var7 = var1.readUnsignedByte();
int var8 = var1.readUnsignedByte();
boolean var9 = (var8 & 2) != 0;
boolean var10 = (var8 & 1) != 0;
if (var6 > 0) {
var1.readStringCp1252NullTerminated();
var1.readUnsignedByte();
var1.readInt();
}
while (var1.offset < var2) {
boolean var3 = var1.readUnsignedByte() == 1;
Username var4 = new Username(var1.readStringCp1252NullTerminated(), this.loginType);
Username var5 = new Username(var1.readStringCp1252NullTerminated(), this.loginType);
int var6 = var1.readUnsignedShort();
int var7 = var1.readUnsignedByte();
int var8 = var1.readUnsignedByte();
boolean var9 = (var8 & 2) != 0;
boolean var10 = (var8 & 1) != 0;
if (var6 > 0) {
var1.readStringCp1252NullTerminated();
if (var4 != null && var4.hasCleanName()) {
Friend var11 = (Friend)this.getByCurrentUsername(var4);
if (var3) {
Friend var12 = (Friend)this.getByCurrentUsername(var5);
if (var12 != null && var11 != var12) {
if (var11 != null) {
this.remove(var12);
} else {
var11 = var12;
}
}
}
if (var11 != null) {
this.changeName(var11, var4, var5);
if (var6 != var11.world) {
boolean var14 = true;
for (FriendLoginUpdate var13 = (FriendLoginUpdate)this.friendLoginUpdates.last(); var13 != null; var13 = (FriendLoginUpdate)this.friendLoginUpdates.previous()) {
if (var13.username.equals(var4)) {
if (var6 != 0 && var13.world == 0) {
var13.remove();
var14 = false;
} else if (var6 == 0 && var13.world != 0) {
var13.remove();
var14 = false;
}
}
}
if (var14) {
this.friendLoginUpdates.addFirst(new FriendLoginUpdate(var4, var6));
}
}
} else {
if (this.getSize() >= 400) {
continue;
}
var11 = (Friend)this.addLast(var4, var5);
}
if (var6 != var11.world) {
var11.int2 = ++this.field3643 - 1;
if (var11.world == -1 && var6 == 0) {
var11.int2 = -(var11.int2 * -782754599) * -1246846103;
}
var11.world = var6;
}
var11.rank = var7;
var11.field3650 = var9;
var11.field3651 = var10;
continue;
}
throw new IllegalStateException();
var1.readUnsignedByte();
var1.readInt();
}
this.sort();
return;
var1.readStringCp1252NullTerminated();
if (var4 != null && var4.hasCleanName()) {
Friend var11 = (Friend) this.getByCurrentUsername(var4);
if (var3) {
Friend var12 = (Friend) this.getByCurrentUsername(var5);
if (var12 != null && var11 != var12) {
if (var11 != null) {
this.remove(var12);
} else {
var11 = var12;
}
}
}
if (var11 != null) {
this.changeName(var11, var4, var5);
if (var6 != var11.world) {
boolean var14 = true;
for (FriendLoginUpdate var13 = (FriendLoginUpdate) this.friendLoginUpdates.last(); var13 != null; var13 = (FriendLoginUpdate) this.friendLoginUpdates.previous()) {
if (var13.username.equals(var4)) {
if (var6 != 0 && var13.world == 0) {
var13.remove();
var14 = false;
} else if (var6 == 0 && var13.world != 0) {
var13.remove();
var14 = false;
}
}
}
if (var14) {
this.friendLoginUpdates.addFirst(new FriendLoginUpdate(var4, var6));
}
}
} else {
if (this.getSize() >= 400) {
continue;
}
var11 = (Friend) this.addLast(var4, var5);
}
if (var6 != var11.world) {
var11.int2 = ++this.field3643 - 1;
if (var11.world == -1 && var6 == 0) {
var11.int2 = -(var11.int2 * -782754599) * -1246846103;
}
var11.world = var6;
}
var11.rank = var7;
var11.field3650 = var9;
var11.field3651 = var10;
} else {
throw new IllegalStateException();
}
}
this.sort();
}
}

View File

@@ -43,7 +43,8 @@ public abstract class GameShell extends Applet implements Runnable, FocusListene
@ObfuscatedGetter(
intValue = 308300489
)
static int field466;
@Export("GameShell_redundantStartThreadCount")
static int GameShell_redundantStartThreadCount;
@ObfuscatedName("k")
@ObfuscatedGetter(
longValue = -2144214957557478601L
@@ -173,7 +174,8 @@ public abstract class GameShell extends Applet implements Runnable, FocusListene
@ObfuscatedGetter(
longValue = -2360419381324286669L
)
volatile long field468;
@Export("lastDrawnTime")
volatile long lastDrawnTime;
@ObfuscatedName("aq")
@ObfuscatedSignature(
signature = "Lau;"
@@ -189,7 +191,7 @@ public abstract class GameShell extends Applet implements Runnable, FocusListene
static {
gameShell = null;
field466 = 0;
GameShell_redundantStartThreadCount = 0;
stopTimeMs = 0L;
isKilled = false;
cycleDurationMillis = 20;
@@ -210,7 +212,7 @@ public abstract class GameShell extends Applet implements Runnable, FocusListene
this.field464 = true;
this.resizeCanvasNextFrame = false;
this.isCanvasInvalid = false;
this.field468 = 0L;
this.lastDrawnTime = 0L;
EventQueue var1 = null;
try {
@@ -349,34 +351,35 @@ public abstract class GameShell extends Applet implements Runnable, FocusListene
@Export("resizeCanvas")
final void resizeCanvas() {
Container var1 = this.container();
if (var1 != null) {
Bounds var2 = this.getFrameContentBounds();
this.contentWidth = Math.max(var2.highX, this.field476);
this.contentHeight = Math.max(var2.highY, this.field459);
if (this.contentWidth <= 0) {
this.contentWidth = 1;
}
if (this.contentHeight <= 0) {
this.contentHeight = 1;
}
GrandExchangeEvent.canvasWidth = Math.min(this.contentWidth, this.maxCanvasWidth);
ParamDefinition.canvasHeight = Math.min(this.contentHeight, this.maxCanvasHeight);
this.canvasX = (this.contentWidth - GrandExchangeEvent.canvasWidth) / 2;
this.canvasY = 0;
this.canvas.setSize(GrandExchangeEvent.canvasWidth, ParamDefinition.canvasHeight);
MusicPatchPcmStream.rasterProvider = new RasterProvider(GrandExchangeEvent.canvasWidth, ParamDefinition.canvasHeight, this.canvas);
if (var1 == this.frame) {
Insets var3 = this.frame.getInsets();
this.canvas.setLocation(var3.left + this.canvasX, this.canvasY + var3.top);
} else {
this.canvas.setLocation(this.canvasX, this.canvasY);
}
this.field464 = true;
this.resizeGame();
if (var1 == null) {
return;
}
Bounds var2 = this.getFrameContentBounds();
this.contentWidth = Math.max(var2.highX, this.field476);
this.contentHeight = Math.max(var2.highY, this.field459);
if (this.contentWidth <= 0) {
this.contentWidth = 1;
}
if (this.contentHeight <= 0) {
this.contentHeight = 1;
}
GrandExchangeEvent.canvasWidth = Math.min(this.contentWidth, this.maxCanvasWidth);
ParamDefinition.canvasHeight = Math.min(this.contentHeight, this.maxCanvasHeight);
this.canvasX = (this.contentWidth - GrandExchangeEvent.canvasWidth) / 2;
this.canvasY = 0;
this.canvas.setSize(GrandExchangeEvent.canvasWidth, ParamDefinition.canvasHeight);
MusicPatchPcmStream.rasterProvider = new RasterProvider(GrandExchangeEvent.canvasWidth, ParamDefinition.canvasHeight, this.canvas);
if (var1 == this.frame) {
Insets var3 = this.frame.getInsets();
this.canvas.setLocation(var3.left + this.canvasX, this.canvasY + var3.top);
} else {
this.canvas.setLocation(this.canvasX, this.canvasY);
}
this.field464 = true;
this.resizeGame();
}
@ObfuscatedName("x")
@@ -398,36 +401,37 @@ public abstract class GameShell extends Applet implements Runnable, FocusListene
int var2 = this.canvasY;
int var3 = this.contentWidth - GrandExchangeEvent.canvasWidth - var1;
int var4 = this.contentHeight - ParamDefinition.canvasHeight - var2;
if (var1 > 0 || var3 > 0 || var2 > 0 || var4 > 0) {
try {
Container var5 = this.container();
int var6 = 0;
int var7 = 0;
if (var5 == this.frame) {
Insets var8 = this.frame.getInsets();
var6 = var8.left;
var7 = var8.top;
}
Graphics var10 = var5.getGraphics();
var10.setColor(Color.black);
if (var1 > 0) {
var10.fillRect(var6, var7, var1, this.contentHeight);
}
if (var2 > 0) {
var10.fillRect(var6, var7, this.contentWidth, var2);
}
if (var3 > 0) {
var10.fillRect(var6 + this.contentWidth - var3, var7, var3, this.contentHeight);
}
if (var4 > 0) {
var10.fillRect(var6, var7 + this.contentHeight - var4, this.contentWidth, var4);
}
} catch (Exception var9) {
if (var1 <= 0 && var3 <= 0 && var2 <= 0 && var4 <= 0) {
return;
}
try {
Container var5 = this.container();
int var6 = 0;
int var7 = 0;
if (var5 == this.frame) {
Insets var8 = this.frame.getInsets();
var6 = var8.left;
var7 = var8.top;
}
Graphics var10 = var5.getGraphics();
var10.setColor(Color.black);
if (var1 > 0) {
var10.fillRect(var6, var7, var1, this.contentHeight);
}
if (var2 > 0) {
var10.fillRect(var6, var7, this.contentWidth, var2);
}
if (var3 > 0) {
var10.fillRect(var6 + this.contentWidth - var3, var7, var3, this.contentHeight);
}
if (var4 > 0) {
var10.fillRect(var6, var7 + this.contentHeight - var4, this.contentWidth, var4);
}
} catch (Exception var9) {
}
}
@@ -471,8 +475,8 @@ public abstract class GameShell extends Applet implements Runnable, FocusListene
protected final void startThread(int var1, int var2, int var3) {
try {
if (gameShell != null) {
++field466;
if (field466 >= 3) {
++GameShell_redundantStartThreadCount;
if (GameShell_redundantStartThreadCount >= 3) {
this.error("alreadyloaded");
return;
}
@@ -492,7 +496,7 @@ public abstract class GameShell extends Applet implements Runnable, FocusListene
taskHandler.newThreadTask(this, 1);
} catch (Exception var5) {
HitSplatDefinition.sendStackTrace((String)null, var5);
HitSplatDefinition.RunException_sendStackTrace((String)null, var5);
this.error("crash");
}
@@ -545,7 +549,7 @@ public abstract class GameShell extends Applet implements Runnable, FocusListene
}
this.isCanvasInvalid = false;
this.field468 = DirectByteArrayCopier.currentTimeMs();
this.lastDrawnTime = DirectByteArrayCopier.currentTimeMs();
}
@ObfuscatedName("a")
@@ -668,35 +672,36 @@ public abstract class GameShell extends Applet implements Runnable, FocusListene
)
@Export("kill")
final synchronized void kill() {
if (!isKilled) {
isKilled = true;
try {
this.canvas.removeFocusListener(this);
} catch (Exception var5) {
}
try {
this.kill0();
} catch (Exception var4) {
}
if (this.frame != null) {
try {
System.exit(0);
} catch (Throwable var3) {
}
}
if (taskHandler != null) {
try {
taskHandler.close();
} catch (Exception var2) {
}
}
this.vmethod1273();
if (isKilled) {
return;
}
isKilled = true;
try {
this.canvas.removeFocusListener(this);
} catch (Exception var5) {
}
try {
this.kill0();
} catch (Exception var4) {
}
if (this.frame != null) {
try {
System.exit(0);
} catch (Throwable var3) {
}
}
if (taskHandler != null) {
try {
taskHandler.close();
} catch (Exception var2) {
}
}
this.vmethod1273();
}
@ObfuscatedName("aw")
@@ -740,9 +745,9 @@ public abstract class GameShell extends Applet implements Runnable, FocusListene
protected final void drawInitial(int var1, String var2, boolean var3) {
try {
Graphics var4 = this.canvas.getGraphics();
if (class313.field3844 == null) {
class313.field3844 = new java.awt.Font("Helvetica", 1, 13);
GrandExchangeOfferAgeComparator.field80 = this.canvas.getFontMetrics(class313.field3844);
if (class313.fontHelvetica13 == null) {
class313.fontHelvetica13 = new java.awt.Font("Helvetica", 1, 13);
GrandExchangeOfferAgeComparator.loginScreenFontMetrics = this.canvas.getFontMetrics(class313.fontHelvetica13);
}
if (var3) {
@@ -764,9 +769,9 @@ public abstract class GameShell extends Applet implements Runnable, FocusListene
var6.setColor(Color.black);
var6.drawRect(1, 1, 301, 31);
var6.fillRect(var1 * 3 + 2, 2, 300 - var1 * 3, 30);
var6.setFont(class313.field3844);
var6.setFont(class313.fontHelvetica13);
var6.setColor(Color.white);
var6.drawString(var2, (304 - GrandExchangeOfferAgeComparator.field80.stringWidth(var2)) / 2, 22);
var6.drawString(var2, (304 - GrandExchangeOfferAgeComparator.loginScreenFontMetrics.stringWidth(var2)) / 2, 22);
var4.drawImage(NetFileRequest.field3125, GrandExchangeEvent.canvasWidth / 2 - 152, ParamDefinition.canvasHeight / 2 - 18, (ImageObserver)null);
} catch (Exception var9) {
int var7 = GrandExchangeEvent.canvasWidth / 2 - 152;
@@ -777,9 +782,9 @@ public abstract class GameShell extends Applet implements Runnable, FocusListene
var4.setColor(Color.black);
var4.drawRect(var7 + 1, var8 + 1, 301, 31);
var4.fillRect(var7 + var1 * 3 + 2, var8 + 2, 300 - var1 * 3, 30);
var4.setFont(class313.field3844);
var4.setFont(class313.fontHelvetica13);
var4.setColor(Color.white);
var4.drawString(var2, var7 + (304 - GrandExchangeOfferAgeComparator.field80.stringWidth(var2)) / 2, var8 + 22);
var4.drawString(var2, var7 + (304 - GrandExchangeOfferAgeComparator.loginScreenFontMetrics.stringWidth(var2)) / 2, var8 + 22);
}
} catch (Exception var10) {
this.canvas.repaint();
@@ -794,8 +799,8 @@ public abstract class GameShell extends Applet implements Runnable, FocusListene
)
protected final void method885() {
NetFileRequest.field3125 = null;
class313.field3844 = null;
GrandExchangeOfferAgeComparator.field80 = null;
class313.fontHelvetica13 = null;
GrandExchangeOfferAgeComparator.loginScreenFontMetrics = null;
}
@ObfuscatedName("ae")
@@ -805,16 +810,17 @@ public abstract class GameShell extends Applet implements Runnable, FocusListene
)
@Export("error")
protected void error(String var1) {
if (!this.hasErrored) {
this.hasErrored = true;
System.out.println("error_game_" + var1);
try {
this.getAppletContext().showDocument(new URL(this.getCodeBase(), "error_game_" + var1 + ".ws"), "_self");
} catch (Exception var3) {
}
if (this.hasErrored) {
return;
}
this.hasErrored = true;
System.out.println("error_game_" + var1);
try {
this.getAppletContext().showDocument(new URL(this.getCodeBase(), "error_game_" + var1 + ".ws"), "_self");
} catch (Exception var3) {
}
}
@ObfuscatedName("ao")
@@ -866,7 +872,7 @@ public abstract class GameShell extends Applet implements Runnable, FocusListene
public final synchronized void paint(Graphics var1) {
if (this == gameShell && !isKilled) {
this.field464 = true;
if (DirectByteArrayCopier.currentTimeMs() - this.field468 > 1000L) {
if (DirectByteArrayCopier.currentTimeMs() - this.lastDrawnTime > 1000L) {
Rectangle var2 = var1.getClipBounds();
if (var2 == null || var2.width >= GrandExchangeEvent.canvasWidth && var2.height >= ParamDefinition.canvasHeight) {
this.isCanvasInvalid = true;
@@ -901,7 +907,7 @@ public abstract class GameShell extends Applet implements Runnable, FocusListene
}
String var4 = var2.substring(6, var3);
if (class192.method3677(var4) && class3.parseInt(var4) < 10) {
if (class192.isNumber(var4) && class3.parseInt(var4) < 10) {
this.error("wrongjava");
return;
}
@@ -927,7 +933,7 @@ public abstract class GameShell extends Applet implements Runnable, FocusListene
this.post(this.canvas);
}
} catch (Exception var6) {
HitSplatDefinition.sendStackTrace((String)null, var6);
HitSplatDefinition.RunException_sendStackTrace((String)null, var6);
this.error("crash");
}

View File

@@ -8,7 +8,8 @@ import net.runelite.mapping.ObfuscatedSignature;
@Implements("GrandExchangeEvent")
public class GrandExchangeEvent {
@ObfuscatedName("pp")
static boolean field49;
@Export("ClanChat_inClanChat")
static boolean ClanChat_inClanChat;
@ObfuscatedName("c")
@ObfuscatedGetter(
intValue = 2059259505
@@ -90,8 +91,8 @@ public class GrandExchangeEvent {
signature = "(IB)Lis;",
garbageValue = "1"
)
@Export("getSequenceDefinition")
public static SequenceDefinition getSequenceDefinition(int var0) {
@Export("SequenceDefinition_get")
public static SequenceDefinition SequenceDefinition_get(int var0) {
SequenceDefinition var1 = (SequenceDefinition)SequenceDefinition.SequenceDefinition_cached.get((long)var0);
if (var1 != null) {
return var1;
@@ -113,8 +114,8 @@ public class GrandExchangeEvent {
garbageValue = "-583790135"
)
static final void method73() {
PacketBufferNode var0 = Archive.method4265(ClientPacket.field2223, Client.packetWriter.isaacCipher);
Client.packetWriter.method2219(var0);
PacketBufferNode var0 = Archive.getPacketBufferNode(ClientPacket.field2223, Client.packetWriter.isaacCipher);
Client.packetWriter.addNode(var0);
for (InterfaceParent var1 = (InterfaceParent)Client.interfaceParents.first(); var1 != null; var1 = (InterfaceParent)Client.interfaceParents.next()) {
if (var1.type == 0 || var1.type == 3) {

View File

@@ -116,22 +116,19 @@ public class GrandExchangeEvents {
garbageValue = "-1548454076"
)
static final void method72(Scene var0, CollisionMap[] var1) {
int var2;
int var3;
int var4;
int var5;
for (var2 = 0; var2 < 4; ++var2) {
for (var3 = 0; var3 < 104; ++var3) {
for (var4 = 0; var4 < 104; ++var4) {
if ((Tiles.Tiles_renderFlags[var2][var3][var4] & 1) == 1) {
var5 = var2;
if ((Tiles.Tiles_renderFlags[1][var3][var4] & 2) == 2) {
var5 = var2 - 1;
}
for (int var2 = 0; var2 < 4; ++var2) {
for (int var3 = 0; var3 < 104; ++var3) {
for (int var4 = 0; var4 < 104; ++var4) {
if ((Tiles.Tiles_renderFlags[var2][var3][var4] & 1) != 1) {
continue;
}
int var5 = var2;
if ((Tiles.Tiles_renderFlags[1][var3][var4] & 2) == 2) {
var5 = var2 - 1;
}
if (var5 >= 0) {
var1[var5].method3561(var3, var4);
}
if (var5 >= 0) {
var1[var5].setBlockedByFloor(var3, var4);
}
}
}
@@ -163,10 +160,9 @@ public class GrandExchangeEvents {
int var14;
int var15;
int var16;
int[] var10000;
int var17;
int var18;
for (var2 = 0; var2 < 4; ++var2) {
for (int var2 = 0; var2 < 4; ++var2) {
byte[][] var44 = class32.field282[var2];
var9 = (int)Math.sqrt(5100.0D);
var10 = var9 * 768 >> 8;
@@ -198,20 +194,15 @@ public class GrandExchangeEvents {
for (var11 = -5; var11 < 109; ++var11) {
for (var12 = 0; var12 < 104; ++var12) {
var13 = var11 + 5;
int var10002;
if (var13 >= 0 && var13 < 104) {
var14 = Tiles.field504[var2][var13][var12] & 255;
if (var14 > 0) {
FloorUnderlayDefinition var45 = ItemContainer.FloorUnderlayDefinition_get(var14 - 1);
var10000 = ServerBuild.Tiles_hue;
var10000[var12] += var45.hue;
var10000 = Tiles.Tiles_saturation;
var10000[var12] += var45.saturation;
var10000 = Tiles.Tiles_lightness;
var10000[var12] += var45.lightness;
var10000 = DynamicObject.Tiles_hueMultiplier;
var10000[var12] += var45.hueMultiplier;
var10002 = Fonts.field3689[var12]++;
ServerBuild.Tiles_hue[var12] += var45.hue;
Tiles.Tiles_saturation[var12] += var45.saturation;
Tiles.Tiles_lightness[var12] += var45.lightness;
DynamicObject.Tiles_hueMultiplier[var12] += var45.hueMultiplier;
Fonts.field3689[var12]++;
}
}
@@ -236,15 +227,11 @@ public class GrandExchangeEvents {
var47 = var46;
}
var10000 = ServerBuild.Tiles_hue;
var10000[var12] -= var47.hue;
var10000 = Tiles.Tiles_saturation;
var10000[var12] -= var47.saturation;
var10000 = Tiles.Tiles_lightness;
var10000[var12] -= var47.lightness;
var10000 = DynamicObject.Tiles_hueMultiplier;
var10000[var12] -= var47.hueMultiplier;
var10002 = Fonts.field3689[var12]--;
ServerBuild.Tiles_hue[var12] -= var47.hue;
Tiles.Tiles_saturation[var12] -= var47.saturation;
Tiles.Tiles_lightness[var12] -= var47.lightness;
DynamicObject.Tiles_hueMultiplier[var12] -= var47.hueMultiplier;
Fonts.field3689[var12]--;
}
}
}
@@ -343,8 +330,7 @@ public class GrandExchangeEvents {
}
if (var53 && var23 == var22 && var22 == var24 && var25 == var22) {
var10000 = FaceNormal.field1887[var2][var11];
var10000[var17] |= 2340;
FaceNormal.field1887[var2][var11][var17] |= 2340;
}
}
@@ -440,19 +426,15 @@ public class GrandExchangeEvents {
var0.method3097(-50, -10, -50);
for (var2 = 0; var2 < 104; ++var2) {
for (var3 = 0; var3 < 104; ++var3) {
for (int var2 = 0; var2 < 104; ++var2) {
for (int var3 = 0; var3 < 104; ++var3) {
if ((Tiles.Tiles_renderFlags[1][var2][var3] & 2) == 2) {
var0.setLinkBelow(var2, var3);
}
}
}
var2 = 1;
var3 = 2;
var4 = 4;
for (var5 = 0; var5 < 4; ++var5) {
for (int var2 = 1, var3 = 2, var4 = 4, var5 = 0; var5 < 4; ++var5) {
if (var5 > 0) {
var2 <<= 3;
var3 <<= 3;
@@ -462,7 +444,6 @@ public class GrandExchangeEvents {
for (int var6 = 0; var6 <= var5; ++var6) {
for (int var7 = 0; var7 <= 104; ++var7) {
for (int var8 = 0; var8 <= 104; ++var8) {
short var52;
if ((FaceNormal.field1887[var6][var8][var7] & var2) != 0) {
var9 = var7;
var10 = var7;
@@ -499,15 +480,13 @@ public class GrandExchangeEvents {
var13 = (var12 + 1 - var11) * (var10 - var9 + 1);
if (var13 >= 8) {
var52 = 240;
var15 = Tiles.Tiles_heights[var12][var8][var9] - var52;
var15 = Tiles.Tiles_heights[var12][var8][var9] - 240;
var16 = Tiles.Tiles_heights[var11][var8][var9];
Scene.Scene_addOccluder(var5, 1, var8 * 128, var8 * 128, var9 * 128, var10 * 128 + 128, var15, var16);
for (var17 = var11; var17 <= var12; ++var17) {
for (var18 = var9; var18 <= var10; ++var18) {
var10000 = FaceNormal.field1887[var17][var8];
var10000[var18] &= ~var2;
FaceNormal.field1887[var17][var8][var18] &= ~var2;
}
}
}
@@ -549,15 +528,13 @@ public class GrandExchangeEvents {
var13 = (var10 - var9 + 1) * (var12 + 1 - var11);
if (var13 >= 8) {
var52 = 240;
var15 = Tiles.Tiles_heights[var12][var9][var7] - var52;
var15 = Tiles.Tiles_heights[var12][var9][var7] - 240;
var16 = Tiles.Tiles_heights[var11][var9][var7];
Scene.Scene_addOccluder(var5, 2, var9 * 128, var10 * 128 + 128, var7 * 128, var7 * 128, var15, var16);
for (var17 = var11; var17 <= var12; ++var17) {
for (var18 = var9; var18 <= var10; ++var18) {
var10000 = FaceNormal.field1887[var17][var18];
var10000[var7] &= ~var3;
FaceNormal.field1887[var17][var18][var7] &= ~var3;
}
}
}
@@ -603,8 +580,7 @@ public class GrandExchangeEvents {
for (var14 = var9; var14 <= var10; ++var14) {
for (var15 = var11; var15 <= var12; ++var15) {
var10000 = FaceNormal.field1887[var6][var14];
var10000[var15] &= ~var4;
FaceNormal.field1887[var6][var14][var15] &= ~var4;
}
}
}
@@ -621,31 +597,31 @@ public class GrandExchangeEvents {
signature = "(Lhj;IIIIIII)V",
garbageValue = "-2024126373"
)
static final void method71(Widget var0, int var1, int var2, int var3, int var4, int var5, int var6) {
static final void method71(Widget var0, int x, int y, int height, int scrollHeight, int mouseX, int mouseY) {
if (Client.field719) {
Client.field882 = 32;
Client.alternativeScrollbarWidth = 32;
} else {
Client.field882 = 0;
Client.alternativeScrollbarWidth = 0;
}
Client.field719 = false;
int var7;
if (MouseHandler.MouseHandler_currentButton == 1 || !DevicePcmPlayerProvider.mouseCam && MouseHandler.MouseHandler_currentButton == 4) {
if (var5 >= var1 && var5 < var1 + 16 && var6 >= var2 && var6 < var2 + 16) {
if (mouseX >= x && mouseX < x + 16 && mouseY >= y && mouseY < y + 16) {
var0.scrollY -= 4;
Strings.invalidateWidget(var0);
} else if (var5 >= var1 && var5 < var1 + 16 && var6 >= var3 + var2 - 16 && var6 < var3 + var2) {
} else if (mouseX >= x && mouseX < x + 16 && mouseY >= height + y - 16 && mouseY < height + y) {
var0.scrollY += 4;
Strings.invalidateWidget(var0);
} else if (var5 >= var1 - Client.field882 && var5 < Client.field882 + var1 + 16 && var6 >= var2 + 16 && var6 < var3 + var2 - 16) {
var7 = var3 * (var3 - 32) / var4;
} else if (mouseX >= x - Client.alternativeScrollbarWidth && mouseX < Client.alternativeScrollbarWidth + x + 16 && mouseY >= y + 16 && mouseY < height + y - 16) {
var7 = height * (height - 32) / scrollHeight;
if (var7 < 8) {
var7 = 8;
}
int var8 = var6 - var2 - 16 - var7 / 2;
int var9 = var3 - 32 - var7;
var0.scrollY = var8 * (var4 - var3) / var9;
int var8 = mouseY - y - 16 - var7 / 2;
int var9 = height - 32 - var7;
var0.scrollY = var8 * (scrollHeight - height) / var9;
Strings.invalidateWidget(var0);
Client.field719 = true;
}
@@ -653,7 +629,7 @@ public class GrandExchangeEvents {
if (Client.mouseWheelRotation != 0) {
var7 = var0.width;
if (var5 >= var1 - var7 && var6 >= var2 && var5 < var1 + 16 && var6 <= var3 + var2) {
if (mouseX >= x - var7 && mouseY >= y && mouseX < x + 16 && mouseY <= height + y) {
var0.scrollY += Client.mouseWheelRotation * 45;
Strings.invalidateWidget(var0);
}

View File

@@ -113,34 +113,35 @@ public class GrandExchangeOffer {
)
@Export("sortItemsByName")
static void sortItemsByName(String[] var0, short[] var1, int var2, int var3) {
if (var2 < var3) {
int var4 = (var3 + var2) / 2;
int var5 = var2;
String var6 = var0[var4];
var0[var4] = var0[var3];
var0[var3] = var6;
short var7 = var1[var4];
var1[var4] = var1[var3];
var1[var3] = var7;
for (int var8 = var2; var8 < var3; ++var8) {
if (var6 == null || var0[var8] != null && var0[var8].compareTo(var6) < (var8 & 1)) {
String var9 = var0[var8];
var0[var8] = var0[var5];
var0[var5] = var9;
short var10 = var1[var8];
var1[var8] = var1[var5];
var1[var5++] = var10;
}
}
var0[var3] = var0[var5];
var0[var5] = var6;
var1[var3] = var1[var5];
var1[var5] = var7;
sortItemsByName(var0, var1, var2, var5 - 1);
sortItemsByName(var0, var1, var5 + 1, var3);
if (var2 >= var3) {
return;
}
int var4 = (var3 + var2) / 2;
int var5 = var2;
String var6 = var0[var4];
var0[var4] = var0[var3];
var0[var3] = var6;
short var7 = var1[var4];
var1[var4] = var1[var3];
var1[var3] = var7;
for (int var8 = var2; var8 < var3; ++var8) {
if (var6 == null || var0[var8] != null && var0[var8].compareTo(var6) < (var8 & 1)) {
String var9 = var0[var8];
var0[var8] = var0[var5];
var0[var5] = var9;
short var10 = var1[var8];
var1[var8] = var1[var5];
var1[var5++] = var10;
}
}
var0[var3] = var0[var5];
var0[var5] = var6;
var1[var3] = var1[var5];
var1[var5] = var7;
sortItemsByName(var0, var1, var2, var5 - 1);
sortItemsByName(var0, var1, var5 + 1, var3);
}
@@ -151,47 +152,48 @@ public class GrandExchangeOffer {
)
@Export("doWorldSorting")
static void doWorldSorting(int var0, int var1, int var2, boolean var3, int var4, boolean var5) {
if (var0 < var1) {
int var6 = (var0 + var1) / 2;
int var7 = var0;
World var8 = World.worlds[var6];
World.worlds[var6] = World.worlds[var1];
World.worlds[var1] = var8;
if (var0 >= var1) {
return;
}
int var6 = (var0 + var1) / 2;
int var7 = var0;
World var8 = World.World_worlds[var6];
World.World_worlds[var6] = World.World_worlds[var1];
World.World_worlds[var1] = var8;
for (int var9 = var0; var9 < var1; ++var9) {
World var11 = World.worlds[var9];
int var12 = DynamicObject.compareWorlds(var11, var8, var2, var3);
int var10;
if (var12 != 0) {
if (var3) {
var10 = -var12;
} else {
var10 = var12;
}
} else if (var4 == -1) {
var10 = 0;
for (int var9 = var0; var9 < var1; ++var9) {
World var11 = World.World_worlds[var9];
int var12 = DynamicObject.compareWorlds(var11, var8, var2, var3);
int var10;
if (var12 != 0) {
if (var3) {
var10 = -var12;
} else {
int var13 = DynamicObject.compareWorlds(var11, var8, var4, var5);
if (var5) {
var10 = -var13;
} else {
var10 = var13;
}
var10 = var12;
}
if (var10 <= 0) {
World var14 = World.worlds[var9];
World.worlds[var9] = World.worlds[var7];
World.worlds[var7++] = var14;
} else if (var4 == -1) {
var10 = 0;
} else {
int var13 = DynamicObject.compareWorlds(var11, var8, var4, var5);
if (var5) {
var10 = -var13;
} else {
var10 = var13;
}
}
World.worlds[var1] = World.worlds[var7];
World.worlds[var7] = var8;
doWorldSorting(var0, var7 - 1, var2, var3, var4, var5);
doWorldSorting(var7 + 1, var1, var2, var3, var4, var5);
if (var10 <= 0) {
World var14 = World.World_worlds[var9];
World.World_worlds[var9] = World.World_worlds[var7];
World.World_worlds[var7++] = var14;
}
}
World.World_worlds[var1] = World.World_worlds[var7];
World.World_worlds[var7] = var8;
doWorldSorting(var0, var7 - 1, var2, var3, var4, var5);
doWorldSorting(var7 + 1, var1, var2, var3, var4, var5);
}
@ObfuscatedName("an")
@@ -414,19 +416,19 @@ public class GrandExchangeOffer {
return 1;
}
if (var0 == 6624) {
WorldMapID.getWorldMap().method6337(Interpreter.Interpreter_intStack[--HealthBarUpdate.Interpreter_intStackSize]);
WorldMapID.getWorldMap().setMaxFlashCount(Interpreter.Interpreter_intStack[--HealthBarUpdate.Interpreter_intStackSize]);
return 1;
}
if (var0 == 6625) {
WorldMapID.getWorldMap().method6338();
WorldMapID.getWorldMap().resetMaxFlashCount();
return 1;
}
if (var0 == 6626) {
WorldMapID.getWorldMap().method6339(Interpreter.Interpreter_intStack[--HealthBarUpdate.Interpreter_intStackSize]);
WorldMapID.getWorldMap().setCyclesPerFlash(Interpreter.Interpreter_intStack[--HealthBarUpdate.Interpreter_intStackSize]);
return 1;
}
if (var0 == 6627) {
WorldMapID.getWorldMap().method6340();
WorldMapID.getWorldMap().resetCyclesPerFlash();
return 1;
}
boolean var10;

View File

@@ -10,7 +10,8 @@ import net.runelite.rs.ScriptOpcodes;
@Implements("GrandExchangeOfferAgeComparator")
final class GrandExchangeOfferAgeComparator implements Comparator {
@ObfuscatedName("ad")
static FontMetrics field80;
@Export("loginScreenFontMetrics")
static FontMetrics loginScreenFontMetrics;
@ObfuscatedName("gn")
@ObfuscatedSignature(
signature = "[Llx;"
@@ -80,13 +81,14 @@ final class GrandExchangeOfferAgeComparator implements Comparator {
@Export("clearItemContainer")
static void clearItemContainer(int var0) {
ItemContainer var1 = (ItemContainer)ItemContainer.itemContainers.get((long)var0);
if (var1 != null) {
for (int var2 = 0; var2 < var1.ids.length; ++var2) {
var1.ids[var2] = -1;
var1.quantities[var2] = 0;
}
if (var1 == null) {
return;
}
for (int var2 = 0; var2 < var1.ids.length; ++var2) {
var1.ids[var2] = -1;
var1.quantities[var2] = 0;
}
}
@ObfuscatedName("b")
@@ -145,8 +147,9 @@ final class GrandExchangeOfferAgeComparator implements Comparator {
signature = "(B)V",
garbageValue = "20"
)
static void method145() {
NetCache.method4312(class42.menuWidth / 2 + class247.menuX, class30.menuY);
@Export("calculateMenuBounds")
static void calculateMenuBounds() {
NetCache.calculateMenuBounds(class42.menuWidth / 2 + class247.menuX, class30.menuY);
}
@ObfuscatedName("jt")
@@ -154,19 +157,21 @@ final class GrandExchangeOfferAgeComparator implements Comparator {
signature = "(II)V",
garbageValue = "-2136228205"
)
static final void method146(int var0) {
if (class162.loadInterface(var0)) {
Widget[] var1 = Widget.Widget_interfaceComponents[var0];
for (int var2 = 0; var2 < var1.length; ++var2) {
Widget var3 = var1[var2];
if (var3 != null) {
var3.modelFrame = 0;
var3.modelFrameCycle = 0;
}
}
@Export("Widget_resetModelFrames")
static final void Widget_resetModelFrames(int var0) {
if (!class162.loadInterface(var0)) {
return;
}
Widget[] var1 = Widget.Widget_interfaceComponents[var0];
for (int var2 = 0; var2 < var1.length; ++var2) {
Widget var3 = var1[var2];
if (var3 != null) {
var3.modelFrame = 0;
var3.modelFrameCycle = 0;
}
}
}
@ObfuscatedName("jd")
@@ -177,7 +182,7 @@ final class GrandExchangeOfferAgeComparator implements Comparator {
static final boolean method149(Widget var0) {
int var1 = var0.contentType;
if (var1 == 205) {
Client.field700 = 250;
Client.logoutTimer = 250;
return true;
}
int var2;
@@ -185,7 +190,7 @@ final class GrandExchangeOfferAgeComparator implements Comparator {
if (var1 >= 300 && var1 <= 313) {
var2 = (var1 - 300) / 2;
var3 = var1 & 1;
Client.playerAppearance.method3992(var2, var3 == 1);
Client.playerAppearance.changeAppearance(var2, var3 == 1);
}
if (var1 >= 314 && var1 <= 323) {
@@ -203,9 +208,9 @@ final class GrandExchangeOfferAgeComparator implements Comparator {
}
if (var1 == 326) {
PacketBufferNode var4 = Archive.method4265(ClientPacket.field2215, Client.packetWriter.isaacCipher);
PacketBufferNode var4 = Archive.getPacketBufferNode(ClientPacket.field2215, Client.packetWriter.isaacCipher);
Client.playerAppearance.write(var4.packetBuffer);
Client.packetWriter.method2219(var4);
Client.packetWriter.addNode(var4);
return true;
}
return false;

View File

@@ -8,7 +8,8 @@ import net.runelite.mapping.ObfuscatedSignature;
@Implements("GrandExchangeOfferOwnWorldComparator")
public class GrandExchangeOfferOwnWorldComparator implements Comparator {
@ObfuscatedName("h")
public static String field647;
@Export("operatingSystemLC")
public static String operatingSystemLC;
@ObfuscatedName("dm")
@ObfuscatedSignature(
signature = "Liu;"
@@ -142,19 +143,20 @@ public class GrandExchangeOfferOwnWorldComparator implements Comparator {
Object var22;
if (objectType == 22) {
if (!Client.isLowDetail || var8.int1 != 0 || var8.interactType == 1 || var8.boolean2) {
if (var8.animationId == -1 && var8.transforms == null) {
var22 = var8.getEntity(22, rotation, var15, var17, var16, var18);
} else {
var22 = new DynamicObject(objectID, 22, rotation, plane, x, y, var8.animationId, true, (Entity)null);
}
var6.newFloorDecoration(plane, x, y, var16, (Entity)var22, var19, var21);
if (var8.interactType == 1 && var7 != null) {
var7.method3562(x, y);
}
if (Client.isLowDetail && var8.int1 == 0 && var8.interactType != 1 && !var8.boolean2) {
return;
}
if (var8.animationId == -1 && var8.transforms == null) {
var22 = var8.getEntity(22, rotation, var15, var17, var16, var18);
} else {
var22 = new DynamicObject(objectID, 22, rotation, plane, x, y, var8.animationId, true, (Entity)null);
}
var6.newFloorDecoration(plane, x, y, var16, (Entity)var22, var19, var21);
if (var8.interactType == 1 && var7 != null) {
var7.setBlockedByFloorDec(x, y);
}
} else if (objectType == 10 || objectType == 11) {
if (var8.animationId == -1 && var8.transforms == null) {
var22 = var8.getEntity(10, rotation, var15, var17, var16, var18);
@@ -181,7 +183,7 @@ public class GrandExchangeOfferOwnWorldComparator implements Comparator {
}
if (var8.interactType != 0 && var7 != null) {
var7.method3560(x, y, var9, var10, var8.boolean1);
var7.addGameObject(x, y, var9, var10, var8.boolean1);
}
} else if (objectType >= 12) {
@@ -193,12 +195,11 @@ public class GrandExchangeOfferOwnWorldComparator implements Comparator {
var6.method3076(plane, x, y, var16, 1, 1, (Entity) var22, 0, var19, var21);
if (objectType >= 12 && objectType <= 17 && objectType != 13 && plane > 0) {
int[] var10000 = FaceNormal.field1887[plane][x];
var10000[y] |= 2340;
FaceNormal.field1887[plane][x][y] |= 2340;
}
if (var8.interactType != 0 && var7 != null) {
var7.method3560(x, y, var9, var10, var8.boolean1);
var7.addGameObject(x, y, var9, var10, var8.boolean1);
}
} else if (objectType == 0) {
@@ -216,8 +217,7 @@ public class GrandExchangeOfferOwnWorldComparator implements Comparator {
}
if (var8.modelClipped) {
int[] var10000 = FaceNormal.field1887[plane][x];
var10000[y] |= 585;
FaceNormal.field1887[plane][x][y] |= 585;
}
} else if (rotation == 1) {
if (var8.clipped) {
@@ -226,8 +226,7 @@ public class GrandExchangeOfferOwnWorldComparator implements Comparator {
}
if (var8.modelClipped) {
int[] var10000 = FaceNormal.field1887[plane][x];
var10000[1 + y] |= 1170;
FaceNormal.field1887[plane][x][1 + y] |= 1170;
}
} else if (rotation == 2) {
if (var8.clipped) {
@@ -236,8 +235,7 @@ public class GrandExchangeOfferOwnWorldComparator implements Comparator {
}
if (var8.modelClipped) {
int[] var10000 = FaceNormal.field1887[plane][x + 1];
var10000[y] |= 585;
FaceNormal.field1887[plane][x + 1][y] |= 585;
}
} else if (rotation == 3) {
if (var8.clipped) {
@@ -246,8 +244,7 @@ public class GrandExchangeOfferOwnWorldComparator implements Comparator {
}
if (var8.modelClipped) {
int[] var10000 = FaceNormal.field1887[plane][x];
var10000[y] |= 1170;
FaceNormal.field1887[plane][x][y] |= 1170;
}
}
@@ -298,25 +295,17 @@ public class GrandExchangeOfferOwnWorldComparator implements Comparator {
var6.newBoundaryObject(plane, x, y, var16, (Entity) var29, (Entity) var30, Tiles.field512[rotation], Tiles.field512[var28], var19, var21);
if (var8.modelClipped) {
if (rotation == 0) {
int[] var10000 = FaceNormal.field1887[plane][x];
var10000[y] |= 585;
var10000 = FaceNormal.field1887[plane][x];
var10000[y + 1] |= 1170;
FaceNormal.field1887[plane][x][y] |= 585;
FaceNormal.field1887[plane][x][y + 1] |= 1170;
} else if (rotation == 1) {
int[] var10000 = FaceNormal.field1887[plane][x];
var10000[y + 1] |= 1170;
var10000 = FaceNormal.field1887[plane][x + 1];
var10000[y] |= 585;
FaceNormal.field1887[plane][x][y + 1] |= 1170;
FaceNormal.field1887[plane][x + 1][y] |= 585;
} else if (rotation == 2) {
int[] var10000 = FaceNormal.field1887[plane][x + 1];
var10000[y] |= 585;
var10000 = FaceNormal.field1887[plane][x];
var10000[y] |= 1170;
FaceNormal.field1887[plane][x + 1][y] |= 585;
FaceNormal.field1887[plane][x][y] |= 1170;
} else if (rotation == 3) {
int[] var10000 = FaceNormal.field1887[plane][x];
var10000[y] |= 1170;
var10000 = FaceNormal.field1887[plane][x];
var10000[y] |= 585;
FaceNormal.field1887[plane][x][y] |= 1170;
FaceNormal.field1887[plane][x][y] |= 585;
}
}
@@ -361,7 +350,7 @@ public class GrandExchangeOfferOwnWorldComparator implements Comparator {
var6.method3076(plane, x, y, var16, 1, 1, (Entity) var22, 0, var19, var21);
if (var8.interactType != 0 && var7 != null) {
var7.method3560(x, y, var9, var10, var8.boolean1);
var7.addGameObject(x, y, var9, var10, var8.boolean1);
}
if (var8.int2 != 16) {
@@ -381,7 +370,7 @@ public class GrandExchangeOfferOwnWorldComparator implements Comparator {
long var31 = var6.getBoundaryObjectTag(plane, x, y);
Object var33;
if (var31 != 0L) {
var28 = ViewportMouse.getObjectDefinition(class43.getObjectIdFromTag(var31)).int2;
var28 = ViewportMouse.getObjectDefinition(class43.Entity_unpackID(var31)).int2;
}
if (var8.animationId == -1 && var8.transforms == null) {
@@ -396,7 +385,7 @@ public class GrandExchangeOfferOwnWorldComparator implements Comparator {
long var31 = var6.getBoundaryObjectTag(plane, x, y);
Object var33;
if (0L != var31) {
var28 = ViewportMouse.getObjectDefinition(class43.getObjectIdFromTag(var31)).int2 / 2;
var28 = ViewportMouse.getObjectDefinition(class43.Entity_unpackID(var31)).int2 / 2;
}
if (var8.animationId == -1 && var8.transforms == null) {
@@ -419,7 +408,7 @@ public class GrandExchangeOfferOwnWorldComparator implements Comparator {
int var28 = 8;
long var31 = var6.getBoundaryObjectTag(plane, x, y);
if (var31 != 0L) {
var28 = ViewportMouse.getObjectDefinition(class43.getObjectIdFromTag(var31)).int2 / 2;
var28 = ViewportMouse.getObjectDefinition(class43.Entity_unpackID(var31)).int2 / 2;
}
int var27 = rotation + 2 & 3;

View File

@@ -30,22 +30,23 @@ final class GrandExchangeOfferTotalQuantityComparator implements Comparator {
signature = "(II)V",
garbageValue = "1523306949"
)
static void method93(int var0) {
if (var0 == -1 && !Client.field699) {
@Export("playSong")
static void playSong(int groupId) {
if (groupId == -1 && !Client.field699) {
NetSocket.method3553();
} else if (var0 != -1 && var0 != Client.field889 && Client.field911 != 0 && !Client.field699) {
} else if (groupId != -1 && groupId != Client.field889 && Client.field911 != 0 && !Client.field699) {
Archive var1 = WorldMapRegion.archive6;
int var2 = Client.field911;
class197.field2402 = 1;
GrandExchangeOfferNameComparator.musicTrackArchive = var1;
class197.musicTrackGroupId = var0;
class197.musicTrackGroupId = groupId;
class197.musicTrackFileId = 0;
ScriptFrame.field529 = var2;
BuddyRankComparator.musicTrackBoolean = false;
class197.field2404 = 2;
}
Client.field889 = var0;
Client.field889 = groupId;
}
@ObfuscatedName("if")
@@ -54,25 +55,26 @@ final class GrandExchangeOfferTotalQuantityComparator implements Comparator {
garbageValue = "16777215"
)
static String method92(String var0, Widget var1) {
if (var0.indexOf("%") != -1) {
for (int var2 = 1; var2 <= 5; ++var2) {
while (true) {
int var3 = var0.indexOf("%" + var2);
if (var3 == -1) {
break;
}
String var4 = var0.substring(0, var3);
int var6 = Varps.method3969(var1, var2 - 1);
String var5;
if (var6 < 999999999) {
var5 = Integer.toString(var6);
} else {
var5 = "*";
}
var0 = var4 + var5 + var0.substring(var3 + 2);
if (var0.indexOf("%") == -1) {
return var0;
}
for (int var2 = 1; var2 <= 5; ++var2) {
while (true) {
int var3 = var0.indexOf("%" + var2);
if (var3 == -1) {
break;
}
String var4 = var0.substring(0, var3);
int var6 = Varps.method3969(var1, var2 - 1);
String var5;
if (var6 < 999999999) {
var5 = Integer.toString(var6);
} else {
var5 = "*";
}
var0 = var4 + var5 + var0.substring(var3 + 2);
}
}

View File

@@ -96,7 +96,7 @@ final class GrandExchangeOfferUnitPriceComparator implements Comparator {
if (var3 != Client.field911) {
if (Client.field911 == 0 && Client.field889 != -1) {
class169.method3503(WorldMapRegion.archive6, Client.field889, 0, var3, false);
FileSystem.method3503(WorldMapRegion.archive6, Client.field889, 0, var3, false);
Client.field699 = false;
} else if (var3 == 0) {
NetSocket.method3553();
@@ -134,7 +134,7 @@ final class GrandExchangeOfferUnitPriceComparator implements Comparator {
}
if (var4 == 5) {
Client.field789 = var2;
Client.leftClickOpensMenu = var2;
}
if (var4 == 6) {
@@ -168,11 +168,11 @@ final class GrandExchangeOfferUnitPriceComparator implements Comparator {
}
if (var4 == 17) {
Client.followerIndex = var2 & 65535;
Client.followerIndex = var2 & 0xffff;
}
if (var4 == 18) {
Client.playerAttackOption = (AttackOption)SoundSystem.findEnumerated(AbstractArchive.method4141(), var2);
Client.playerAttackOption = (AttackOption)SoundSystem.findEnumerated(AbstractArchive.AttackOption_values(), var2);
if (Client.playerAttackOption == null) {
Client.playerAttackOption = AttackOption.AttackOption_dependsOnCombatLevels;
}
@@ -187,7 +187,7 @@ final class GrandExchangeOfferUnitPriceComparator implements Comparator {
}
if (var4 == 22) {
Client.npcAttackOption = (AttackOption)SoundSystem.findEnumerated(AbstractArchive.method4141(), var2);
Client.npcAttackOption = (AttackOption)SoundSystem.findEnumerated(AbstractArchive.AttackOption_values(), var2);
if (Client.npcAttackOption == null) {
Client.npcAttackOption = AttackOption.AttackOption_dependsOnCombatLevels;
}

View File

@@ -140,46 +140,46 @@ final class GrandExchangeOfferWorldComparator implements Comparator {
NodeDeque var2 = Client.groundItems[class42.plane][var0][var1];
if (var2 == null) {
scene.removeGroundItemPile(class42.plane, var0, var1);
} else {
long var3 = -99999999L;
TileItem var5 = null;
return;
}
long var3 = -99999999L;
TileItem var5 = null;
TileItem var6;
for (var6 = (TileItem)var2.last(); var6 != null; var6 = (TileItem)var2.previous()) {
ItemDefinition var7 = WorldMapArea.getItemDefinition(var6.id);
long var8 = (long)var7.price;
if (var7.isStackable == 1) {
var8 *= (long)(var6.quantity + 1);
}
if (var8 > var3) {
var3 = var8;
var5 = var6;
}
TileItem var6;
for (var6 = (TileItem)var2.last(); var6 != null; var6 = (TileItem)var2.previous()) {
ItemDefinition var7 = WorldMapArea.ItemDefinition_get(var6.id);
long var8 = (long)var7.price;
if (var7.isStackable == 1) {
var8 *= (long)(var6.quantity + 1);
}
if (var5 == null) {
scene.removeGroundItemPile(class42.plane, var0, var1);
} else {
var2.addLast(var5);
TileItem var12 = null;
TileItem var11 = null;
if (var8 > var3) {
var3 = var8;
var5 = var6;
}
}
for (var6 = (TileItem)var2.last(); var6 != null; var6 = (TileItem)var2.previous()) {
if (var5.id != var6.id) {
if (var12 == null) {
var12 = var6;
}
if (var5 == null) {
scene.removeGroundItemPile(class42.plane, var0, var1);
} else {
var2.addLast(var5);
TileItem var12 = null;
TileItem var11 = null;
if (var6.id != var12.id && var11 == null) {
var11 = var6;
}
for (var6 = (TileItem)var2.last(); var6 != null; var6 = (TileItem)var2.previous()) {
if (var5.id != var6.id) {
if (var12 == null) {
var12 = var6;
}
if (var6.id != var12.id && var11 == null) {
var11 = var6;
}
}
long var9 = Tile.calculateTag(var0, var1, 3, false, 0);
scene.newGroundItemPile(class42.plane, var0, var1, ScriptEvent.getTileHeight(var0 * 128 + 64, var1 * 128 + 64, class42.plane), var5, var9, var12, var11);
}
long var9 = Tile.calculateTag(var0, var1, 3, false, 0);
scene.newGroundItemPile(class42.plane, var0, var1, ScriptEvent.getTileHeight(var0 * 128 + 64, var1 * 128 + 64, class42.plane), var5, var9, var12, var11);
}
}
}

View File

@@ -76,10 +76,10 @@ public final class GraphicsObject extends Entity {
this.y = var4;
this.height = var5;
this.cycleStart = var7 + var6;
int var8 = MusicPatch.getSpotAnimationDefinition(this.id).sequence;
int var8 = MusicPatch.SpotAnimationDefinition_get(this.id).sequence;
if (var8 != -1) {
this.isFinished = false;
this.sequenceDefinition = GrandExchangeEvent.getSequenceDefinition(var8);
this.sequenceDefinition = GrandExchangeEvent.SequenceDefinition_get(var8);
} else {
this.isFinished = true;
}
@@ -93,19 +93,20 @@ public final class GraphicsObject extends Entity {
)
@Export("advance")
final void advance(int var1) {
if (!this.isFinished) {
this.frameCycle += var1;
while (this.frameCycle > this.sequenceDefinition.frameLengths[this.frame]) {
this.frameCycle -= this.sequenceDefinition.frameLengths[this.frame];
++this.frame;
if (this.frame >= this.sequenceDefinition.frameIds.length) {
this.isFinished = true;
break;
}
}
if (this.isFinished) {
return;
}
this.frameCycle += var1;
while (this.frameCycle > this.sequenceDefinition.frameLengths[this.frame]) {
this.frameCycle -= this.sequenceDefinition.frameLengths[this.frame];
++this.frame;
if (this.frame >= this.sequenceDefinition.frameIds.length) {
this.isFinished = true;
break;
}
}
}
@ObfuscatedName("c")
@@ -115,7 +116,7 @@ public final class GraphicsObject extends Entity {
)
@Export("getModel")
protected final Model getModel() {
SpotAnimationDefinition var1 = MusicPatch.getSpotAnimationDefinition(this.id);
SpotAnimationDefinition var1 = MusicPatch.SpotAnimationDefinition_get(this.id);
Model var2;
if (!this.isFinished) {
var2 = var1.getModel(this.frame);
@@ -277,11 +278,11 @@ public final class GraphicsObject extends Entity {
signature = "(I)V",
garbageValue = "-1819884546"
)
@Export("resetMenuEntries")
static void resetMenuEntries() {
Strings.method4121();
@Export("addCancelMenuEntry")
static void addCancelMenuEntry() {
Strings.resetMenuEntries();
Client.menuActions[0] = "Cancel";
Client.menuTargetNames[0] = "";
Client.menuTargets[0] = "";
Client.menuOpcodes[0] = 1006;
Client.menuShiftClick[0] = false;
Client.menuOptionsCount = 1;

View File

@@ -115,12 +115,8 @@ public class HealthBarDefinition extends DualNode {
)
@Export("decode")
void decode(Buffer var1) {
while (true) {
int var2 = var1.readUnsignedByte();
if (var2 == 0) {
return;
}
int var2;
while ((var2 = var1.readUnsignedByte()) != 0) {
this.decodeNext(var1, var2);
}
}

View File

@@ -86,7 +86,8 @@ public class HealthBarUpdate extends Node {
signature = "(Ljava/lang/String;I)Z",
garbageValue = "-1155103111"
)
static boolean method1676(String var0) {
@Export("isValidURL")
static boolean isValidURL(String var0) {
if (var0 == null) {
return false;
}
@@ -103,7 +104,8 @@ public class HealthBarUpdate extends Node {
signature = "(Lkx;I)V",
garbageValue = "-2067523200"
)
public static void method1671(PacketBuffer var0) {
@Export("performReflectionCheck")
public static void performReflectionCheck(PacketBuffer var0) {
ReflectionCheck var1 = (ReflectionCheck)class96.reflectionChecks.last();
if (var1 == null) {
return;
@@ -234,10 +236,10 @@ public class HealthBarUpdate extends Node {
garbageValue = "-1624187030"
)
static void method1677() {
PacketBufferNode var0 = Archive.method4265(ClientPacket.field2238, Client.packetWriter.isaacCipher);
PacketBufferNode var0 = Archive.getPacketBufferNode(ClientPacket.field2238, Client.packetWriter.isaacCipher);
var0.packetBuffer.writeByte(AbstractWorldMapIcon.getWindowedMode());
var0.packetBuffer.writeShort(GrandExchangeEvent.canvasWidth);
var0.packetBuffer.writeShort(ParamDefinition.canvasHeight);
Client.packetWriter.method2219(var0);
Client.packetWriter.addNode(var0);
}
}

View File

@@ -203,19 +203,19 @@ public class HitSplatDefinition extends DualNode {
this.field3341 = var1.readUnsignedShort();
} else if (var2 == 17 || var2 == 18) {
this.transformVarbit = var1.readUnsignedShort();
if (this.transformVarbit == 65535) {
if (this.transformVarbit == 0xffff) {
this.transformVarbit = -1;
}
this.transformVarp = var1.readUnsignedShort();
if (this.transformVarp == 65535) {
if (this.transformVarp == 0xffff) {
this.transformVarp = -1;
}
int var3 = -1;
if (var2 == 18) {
var3 = var1.readUnsignedShort();
if (var3 == 65535) {
if (var3 == 0xffff) {
var3 = -1;
}
}
@@ -225,7 +225,7 @@ public class HitSplatDefinition extends DualNode {
for (int var5 = 0; var5 <= var4; ++var5) {
this.transforms[var5] = var1.readUnsignedShort();
if (this.transforms[var5] == 65535) {
if (this.transforms[var5] == 0xffff) {
this.transforms[var5] = -1;
}
}
@@ -256,7 +256,7 @@ public class HitSplatDefinition extends DualNode {
var2 = this.transforms[this.transforms.length - 1];
}
return var2 != -1 ? Projectile.getHitSplatDefinition(var2) : null;
return var2 != -1 ? Projectile.HitSplatDefinition_get(var2) : null;
}
@ObfuscatedName("k")
@@ -398,41 +398,41 @@ public class HitSplatDefinition extends DualNode {
signature = "(Ljava/lang/String;Ljava/lang/Throwable;B)V",
garbageValue = "40"
)
@Export("sendStackTrace")
public static void sendStackTrace(String var0, Throwable var1) {
@Export("RunException_sendStackTrace")
public static void RunException_sendStackTrace(String var0, Throwable var1) {
if (var1 != null) {
var1.printStackTrace();
} else {
try {
String var2 = "";
if (var1 != null) {
var2 = FloorDecoration.method2843(var1);
}
if (var0 != null) {
if (var1 != null) {
var2 = var2 + " | ";
}
var2 = var2 + var0;
}
System.out.println("Error: " + var2);
var2 = var2.replace(':', '.');
var2 = var2.replace('@', '_');
var2 = var2.replace('&', '_');
var2 = var2.replace('#', '_');
if (RunException.RunException_applet == null) {
return;
}
URL var3 = new URL(RunException.RunException_applet.getCodeBase(), "clienterror.ws?c=" + RunException.RunException_revision + "&u=" + GrandExchangeOfferUnitPriceComparator.localPlayerName + "&v1=" + TaskHandler.javaVendor + "&v2=" + TaskHandler.javaVersion + "&ct=" + RunException.RunException_clientType + "&e=" + var2);
DataInputStream var4 = new DataInputStream(var3.openStream());
var4.read();
var4.close();
} catch (Exception var5) {
return;
}
try {
String var2 = "";
if (var1 != null) {
var2 = FloorDecoration.shortenStackTrace(var1);
}
if (var0 != null) {
if (var1 != null) {
var2 = var2 + " | ";
}
var2 = var2 + var0;
}
System.out.println("Error: " + var2);
var2 = var2.replace(':', '.');
var2 = var2.replace('@', '_');
var2 = var2.replace('&', '_');
var2 = var2.replace('#', '_');
if (RunException.RunException_applet == null) {
return;
}
URL var3 = new URL(RunException.RunException_applet.getCodeBase(), "clienterror.ws?c=" + RunException.RunException_revision + "&u=" + GrandExchangeOfferUnitPriceComparator.localPlayerName + "&v1=" + TaskHandler.javaVendor + "&v2=" + TaskHandler.javaVersion + "&ct=" + RunException.RunException_clientType + "&e=" + var2);
DataInputStream var4 = new DataInputStream(var3.openStream());
var4.read();
var4.close();
} catch (Exception var5) {
}
}
}

View File

@@ -26,74 +26,75 @@ public class Huffman {
for (int var5 = 0; var5 < var2; ++var5) {
byte var6 = var1[var5];
if (var6 != 0) {
int var7 = 1 << 32 - var6;
int var8 = var3[var6];
this.masks[var5] = var8;
int var9;
int var10;
int var11;
int var12;
if ((var8 & var7) != 0) {
var9 = var3[var6 - 1];
if (var6 == 0) {
continue;
}
int var7 = 1 << 32 - var6;
int var8 = var3[var6];
this.masks[var5] = var8;
int var9;
int var10;
int var11;
int var12;
if ((var8 & var7) != 0) {
var9 = var3[var6 - 1];
} else {
var9 = var8 | var7;
for (var10 = var6 - 1; var10 >= 1; --var10) {
var11 = var3[var10];
if (var11 != var8) {
break;
}
var12 = 1 << 32 - var10;
if ((var11 & var12) != 0) {
var3[var10] = var3[var10 - 1];
break;
}
var3[var10] = var11 | var12;
}
}
var3[var6] = var9;
for (var10 = var6 + 1; var10 <= 32; ++var10) {
if (var8 == var3[var10]) {
var3[var10] = var9;
}
}
var10 = 0;
for (var11 = 0; var11 < var6; ++var11) {
var12 = Integer.MIN_VALUE >>> var11;
if ((var8 & var12) != 0) {
if (this.keys[var10] == 0) {
this.keys[var10] = var4;
}
var10 = this.keys[var10];
} else {
var9 = var8 | var7;
for (var10 = var6 - 1; var10 >= 1; --var10) {
var11 = var3[var10];
if (var11 != var8) {
break;
}
var12 = 1 << 32 - var10;
if ((var11 & var12) != 0) {
var3[var10] = var3[var10 - 1];
break;
}
var3[var10] = var11 | var12;
}
++var10;
}
var3[var6] = var9;
if (var10 >= this.keys.length) {
int[] var13 = new int[this.keys.length * 2];
for (var10 = var6 + 1; var10 <= 32; ++var10) {
if (var8 == var3[var10]) {
var3[var10] = var9;
}
}
var10 = 0;
for (var11 = 0; var11 < var6; ++var11) {
var12 = Integer.MIN_VALUE >>> var11;
if ((var8 & var12) != 0) {
if (this.keys[var10] == 0) {
this.keys[var10] = var4;
}
var10 = this.keys[var10];
} else {
++var10;
for (int var14 = 0; var14 < this.keys.length; ++var14) {
var13[var14] = this.keys[var14];
}
if (var10 >= this.keys.length) {
int[] var13 = new int[this.keys.length * 2];
for (int var14 = 0; var14 < this.keys.length; ++var14) {
var13[var14] = this.keys[var14];
}
this.keys = var13;
}
var12 >>>= 1;
this.keys = var13;
}
this.keys[var10] = ~var5;
if (var10 >= var4) {
var4 = var10 + 1;
}
var12 >>>= 1;
}
this.keys[var10] = ~var5;
if (var10 >= var4) {
var4 = var10 + 1;
}
}
@@ -312,53 +313,44 @@ public class Huffman {
boolean var3 = true;
Buffer var4 = new Buffer(var0);
int var5 = -1;
int var6;
label71:
while (true) {
int var6 = var4.method5509();
if (var6 == 0) {
return var3;
}
while ((var6 = var4.method5509()) != 0) {
var5 += var6;
int var7 = 0;
boolean var8 = false;
while (true) {
int var9;
while (!var8) {
var9 = var4.readUShortSmart();
if (var9 == 0) {
continue label71;
}
var7 += var9 - 1;
int var10 = var7 & 63;
int var11 = var7 >> 6 & 63;
int var12 = var4.readUnsignedByte() >> 2;
int var13 = var11 + var1;
int var14 = var10 + var2;
if (var13 > 0 && var14 > 0 && var13 < 103 && var14 < 103) {
ObjectDefinition var15 = ViewportMouse.getObjectDefinition(var5);
if (var12 != 22 || !Client.isLowDetail || var15.int1 != 0 || var15.interactType == 1 || var15.boolean2) {
if (!var15.method4608()) {
++Client.field707;
var3 = false;
}
var8 = true;
}
}
}
int var9;
while (!var8) {
var9 = var4.readUShortSmart();
if (var9 == 0) {
break;
continue;
}
var7 += var9 - 1;
int var10 = var7 & 63;
int var11 = var7 >> 6 & 63;
int var12 = var4.readUnsignedByte() >> 2;
int var13 = var11 + var1;
int var14 = var10 + var2;
if (var13 > 0 && var14 > 0 && var13 < 103 && var14 < 103) {
ObjectDefinition var15 = ViewportMouse.getObjectDefinition(var5);
if (var12 != 22 || !Client.isLowDetail || var15.int1 != 0 || var15.interactType == 1 || var15.boolean2) {
if (!var15.needsModelFiles()) {
++Client.field707;
var3 = false;
}
var4.readUnsignedByte();
var8 = true;
}
}
}
var9 = var4.readUShortSmart();
if (var9 == 0) {
continue;
}
var4.readUnsignedByte();
}
return var3;
}
@ObfuscatedName("bp")

View File

@@ -172,12 +172,11 @@ public class Instrument {
if (this.volumeMultiplier != null) {
this.volumeMultiplier.reset();
this.volumeMultiplierAmplitude.reset();
var8 = (int)((double)(this.volumeMultiplier.end - this.volumeMultiplier.start) * 32.768D / var3);
var9 = (int)((double)this.volumeMultiplier.start * 32.768D / var3);
var8 = (int)((this.volumeMultiplier.end - this.volumeMultiplier.start) * 32.768D / var3);
var9 = (int)(this.volumeMultiplier.start * 32.768D / var3);
}
int var11;
for (var11 = 0; var11 < 5; ++var11) {
for (int var11 = 0; var11 < 5; ++var11) {
if (this.oscillatorVolume[var11] != 0) {
Instrument_phases[var11] = 0;
Instrument_delays[var11] = (int)((double)this.oscillatorDelays[var11] * var3);
@@ -187,52 +186,44 @@ public class Instrument {
}
}
int var12;
int var13;
int var14;
int var15;
int[] var10000;
for (var11 = 0; var11 < var1; ++var11) {
var12 = this.pitch.doStep(var1);
var13 = this.volume.doStep(var1);
for (int var11 = 0; var11 < var1; ++var11) {
int var12 = this.pitch.doStep(var1);
int var13 = this.volume.doStep(var1);
if (this.pitchModifier != null) {
var14 = this.pitchModifier.doStep(var1);
var15 = this.pitchModifierAmplitude.doStep(var1);
int var14 = this.pitchModifier.doStep(var1);
int var15 = this.pitchModifierAmplitude.doStep(var1);
var12 += this.evaluateWave(var7, var15, this.pitchModifier.form) >> 1;
var7 = var7 + var6 + (var14 * var5 >> 16);
}
if (this.volumeMultiplier != null) {
var14 = this.volumeMultiplier.doStep(var1);
var15 = this.volumeMultiplierAmplitude.doStep(var1);
int var14 = this.volumeMultiplier.doStep(var1);
int var15 = this.volumeMultiplierAmplitude.doStep(var1);
var13 = var13 * ((this.evaluateWave(var10, var15, this.volumeMultiplier.form) >> 1) + 32768) >> 15;
var10 = var10 + var9 + (var14 * var8 >> 16);
}
for (var14 = 0; var14 < 5; ++var14) {
for (int var14 = 0; var14 < 5; ++var14) {
if (this.oscillatorVolume[var14] != 0) {
var15 = Instrument_delays[var14] + var11;
int var15 = Instrument_delays[var14] + var11;
if (var15 < var1) {
var10000 = Instrument_samples;
var10000[var15] += this.evaluateWave(Instrument_phases[var14], var13 * Instrument_volumeSteps[var14] >> 15, this.pitch.form);
var10000 = Instrument_phases;
var10000[var14] += (var12 * Instrument_pitchSteps[var14] >> 16) + Instrument_pitchBaseSteps[var14];
Instrument_samples[var15] += this.evaluateWave(Instrument_phases[var14], var13 * Instrument_volumeSteps[var14] >> 15, this.pitch.form);
Instrument_phases[var14] += (var12 * Instrument_pitchSteps[var14] >> 16) + Instrument_pitchBaseSteps[var14];
}
}
}
}
int var16;
if (this.release != null) {
this.release.reset();
this.attack.reset();
var11 = 0;
int var11 = 0;
boolean var19 = false;
boolean var20 = true;
for (var14 = 0; var14 < var1; ++var14) {
var15 = this.release.doStep(var1);
var16 = this.attack.doStep(var1);
for (int var14 = 0; var14 < var1; ++var14) {
int var12;
int var15 = this.release.doStep(var1);
int var16 = this.attack.doStep(var1);
if (var20) {
var12 = (var15 * (this.release.end - this.release.start) >> 8) + this.release.start;
} else {
@@ -252,35 +243,33 @@ public class Instrument {
}
if (this.delayTime > 0 && this.delayDecay > 0) {
var11 = (int)((double)this.delayTime * var3);
int var11 = (int)((double)this.delayTime * var3);
for (var12 = var11; var12 < var1; ++var12) {
var10000 = Instrument_samples;
var10000[var12] += Instrument_samples[var12 - var11] * this.delayDecay / 100;
for (int var12 = var11; var12 < var1; ++var12) {
Instrument_samples[var12] += Instrument_samples[var12 - var11] * this.delayDecay / 100;
}
}
if (this.filter.pairs[0] > 0 || this.filter.pairs[1] > 0) {
this.filterEnvelope.reset();
var11 = this.filterEnvelope.doStep(var1 + 1);
var12 = this.filter.compute(0, (float)var11 / 65536.0F);
var13 = this.filter.compute(1, (float)var11 / 65536.0F);
int var11 = this.filterEnvelope.doStep(var1 + 1);
int var12 = this.filter.compute(0, (float)var11 / 65536.0F);
int var13 = this.filter.compute(1, (float)var11 / 65536.0F);
if (var1 >= var12 + var13) {
var14 = 0;
var15 = var13;
int var14 = 0;
int var15 = var13;
if (var13 > var1 - var12) {
var15 = var1 - var12;
}
int var17;
while (var14 < var15) {
var16 = (int)((long)Instrument_samples[var14 + var12] * (long)AudioFilter.forwardMultiplier >> 16);
int var16 = (int)((long)Instrument_samples[var14 + var12] * (long)AudioFilter.forwardMultiplier >> 16);
for (var17 = 0; var17 < var12; ++var17) {
for (int var17 = 0; var17 < var12; ++var17) {
var16 += (int)((long)Instrument_samples[var14 + var12 - 1 - var17] * (long)AudioFilter.coefficients[0][var17] >> 16);
}
for (var17 = 0; var17 < var14; ++var17) {
for (int var17 = 0; var17 < var14; ++var17) {
var16 -= (int)((long)Instrument_samples[var14 - 1 - var17] * (long)AudioFilter.coefficients[1][var17] >> 16);
}
@@ -296,15 +285,14 @@ public class Instrument {
var15 = var1 - var12;
}
int var18;
while (var14 < var15) {
var17 = (int)((long)Instrument_samples[var14 + var12] * (long)AudioFilter.forwardMultiplier >> 16);
int var17 = (int)((long)Instrument_samples[var14 + var12] * (long)AudioFilter.forwardMultiplier >> 16);
for (var18 = 0; var18 < var12; ++var18) {
for (int var18 = 0; var18 < var12; ++var18) {
var17 += (int)((long)Instrument_samples[var14 + var12 - 1 - var18] * (long)AudioFilter.coefficients[0][var18] >> 16);
}
for (var18 = 0; var18 < var13; ++var18) {
for (int var18 = 0; var18 < var13; ++var18) {
var17 -= (int)((long)Instrument_samples[var14 - 1 - var18] * (long)AudioFilter.coefficients[1][var18] >> 16);
}
@@ -313,39 +301,40 @@ public class Instrument {
++var14;
}
if (var14 >= var1 - var12) {
while (var14 < var1) {
var17 = 0;
for (var18 = var14 + var12 - var1; var18 < var12; ++var18) {
var17 += (int)((long)Instrument_samples[var14 + var12 - 1 - var18] * (long)AudioFilter.coefficients[0][var18] >> 16);
}
for (var18 = 0; var18 < var13; ++var18) {
var17 -= (int)((long)Instrument_samples[var14 - 1 - var18] * (long)AudioFilter.coefficients[1][var18] >> 16);
}
Instrument_samples[var14] = var17;
this.filterEnvelope.doStep(var1 + 1);
++var14;
}
if (var14 < var1 - var12) {
var12 = this.filter.compute(0, (float) var11 / 65536.0F);
var13 = this.filter.compute(1, (float) var11 / 65536.0F);
var15 += 128;
} else {
break;
}
var12 = this.filter.compute(0, (float)var11 / 65536.0F);
var13 = this.filter.compute(1, (float)var11 / 65536.0F);
var15 += 128;
}
while (var14 < var1) {
int var17 = 0;
for (int var18 = var14 + var12 - var1; var18 < var12; ++var18) {
var17 += (int) ((long) Instrument_samples[var14 + var12 - 1 - var18] * (long) AudioFilter.coefficients[0][var18] >> 16);
}
for (int var18 = 0; var18 < var13; ++var18) {
var17 -= (int) ((long) Instrument_samples[var14 - 1 - var18] * (long) AudioFilter.coefficients[1][var18] >> 16);
}
Instrument_samples[var14] = var17;
this.filterEnvelope.doStep(var1 + 1);
++var14;
}
}
}
for (var11 = 0; var11 < var1; ++var11) {
for (int var11 = 0; var11 < var1; ++var11) {
if (Instrument_samples[var11] < -32768) {
Instrument_samples[var11] = -32768;
}
if (Instrument_samples[var11] > 32767) {
Instrument_samples[var11] = 32767;
if (Instrument_samples[var11] > 0x7fff) {
Instrument_samples[var11] = 0x7fff;
}
}
@@ -356,15 +345,15 @@ public class Instrument {
@Export("evaluateWave")
final int evaluateWave(int var1, int var2, int var3) {
if (var3 == 1) {
return (var1 & 32767) < 16384 ? var2 : -var2;
return (var1 & 0x7fff) < 16384 ? var2 : -var2;
}
if (var3 == 2) {
return Instrument_sine[var1 & 32767] * var2 >> 14;
return Instrument_sine[var1 & 0x7fff] * var2 >> 14;
}
if (var3 == 3) {
return (var2 * (var1 & 32767) >> 14) - var2;
return (var2 * (var1 & 0x7fff) >> 14) - var2;
}
return var3 == 4 ? var2 * Instrument_noise[var1 / 2607 & 32767] : 0;
return var3 == 4 ? var2 * Instrument_noise[var1 / 2607 & 0x7fff] : 0;
}
@ObfuscatedName("e")

View File

@@ -99,7 +99,8 @@ public class Interpreter {
signature = "(II)Z",
garbageValue = "1044045879"
)
static final boolean method1936(int var0) {
@Export("isRightClickOnlyMenu")
static final boolean isRightClickOnlyMenu(int var0) {
if (var0 < 0) {
return false;
}

View File

@@ -61,6 +61,6 @@ public class ItemContainer extends Node {
garbageValue = "-1225456641"
)
static int method1116(int var0) {
return (int)Math.pow(2.0D, (double)((float)var0 / 256.0F + 7.0F));
return (int)Math.pow(2.0D, (double)(var0 / 256.0F + 7.0F));
}
}

View File

@@ -385,12 +385,12 @@ public class ItemDefinition extends DualNode {
this.yan2d = var1.readUnsignedShort();
} else if (var2 == 7) {
this.offsetX2d = var1.readUnsignedShort();
if (this.offsetX2d > 32767) {
if (this.offsetX2d > 0x7fff) {
this.offsetX2d -= 65536;
}
} else if (var2 == 8) {
this.offsetY2d = var1.readUnsignedShort();
if (this.offsetY2d > 32767) {
if (this.offsetY2d > 0x7fff) {
this.offsetY2d -= 65536;
}
} else if (var2 == 11) {
@@ -416,80 +416,76 @@ public class ItemDefinition extends DualNode {
}
} else if (var2 >= 35 && var2 < 40) {
this.inventoryActions[var2 - 35] = var1.readStringCp1252NullTerminated();
} else {
int var3;
int var4;
if (var2 == 40) {
var3 = var1.readUnsignedByte();
this.recolorFrom = new short[var3];
this.recolorTo = new short[var3];
} else if (var2 == 40) {
int var3 = var1.readUnsignedByte();
this.recolorFrom = new short[var3];
this.recolorTo = new short[var3];
for (var4 = 0; var4 < var3; ++var4) {
this.recolorFrom[var4] = (short)var1.readUnsignedShort();
this.recolorTo[var4] = (short)var1.readUnsignedShort();
}
} else if (var2 == 41) {
var3 = var1.readUnsignedByte();
this.retextureFrom = new short[var3];
this.retextureTo = new short[var3];
for (var4 = 0; var4 < var3; ++var4) {
this.retextureFrom[var4] = (short)var1.readUnsignedShort();
this.retextureTo[var4] = (short)var1.readUnsignedShort();
}
} else if (var2 == 42) {
this.shiftClickIndex = var1.readByte();
} else if (var2 == 65) {
this.isTradable = true;
} else if (var2 == 78) {
this.maleModel2 = var1.readUnsignedShort();
} else if (var2 == 79) {
this.femaleModel2 = var1.readUnsignedShort();
} else if (var2 == 90) {
this.maleHeadModel = var1.readUnsignedShort();
} else if (var2 == 91) {
this.femaleHeadModel = var1.readUnsignedShort();
} else if (var2 == 92) {
this.maleHeadModel2 = var1.readUnsignedShort();
} else if (var2 == 93) {
this.femaleHeadModel2 = var1.readUnsignedShort();
} else if (var2 == 95) {
this.zan2d = var1.readUnsignedShort();
} else if (var2 == 97) {
this.note = var1.readUnsignedShort();
} else if (var2 == 98) {
this.noteTemplate = var1.readUnsignedShort();
} else if (var2 >= 100 && var2 < 110) {
if (this.countobj == null) {
this.countobj = new int[10];
this.countco = new int[10];
}
this.countobj[var2 - 100] = var1.readUnsignedShort();
this.countco[var2 - 100] = var1.readUnsignedShort();
} else if (var2 == 110) {
this.resizeX = var1.readUnsignedShort();
} else if (var2 == 111) {
this.resizeY = var1.readUnsignedShort();
} else if (var2 == 112) {
this.resizeZ = var1.readUnsignedShort();
} else if (var2 == 113) {
this.ambient = var1.readByte();
} else if (var2 == 114) {
this.contrast = var1.readByte() * 5;
} else if (var2 == 115) {
this.team = var1.readUnsignedByte();
} else if (var2 == 139) {
this.unnotedId = var1.readUnsignedShort();
} else if (var2 == 140) {
this.notedId = var1.readUnsignedShort();
} else if (var2 == 148) {
this.placeholder = var1.readUnsignedShort();
} else if (var2 == 149) {
this.placeholderTemplate = var1.readUnsignedShort();
} else if (var2 == 249) {
this.params = WorldMapArea.readStringIntParameters(var1, this.params);
for (int var4 = 0; var4 < var3; ++var4) {
this.recolorFrom[var4] = (short) var1.readUnsignedShort();
this.recolorTo[var4] = (short) var1.readUnsignedShort();
}
} else if (var2 == 41) {
int var3 = var1.readUnsignedByte();
this.retextureFrom = new short[var3];
this.retextureTo = new short[var3];
for (int var4 = 0; var4 < var3; ++var4) {
this.retextureFrom[var4] = (short) var1.readUnsignedShort();
this.retextureTo[var4] = (short) var1.readUnsignedShort();
}
} else if (var2 == 42) {
this.shiftClickIndex = var1.readByte();
} else if (var2 == 65) {
this.isTradable = true;
} else if (var2 == 78) {
this.maleModel2 = var1.readUnsignedShort();
} else if (var2 == 79) {
this.femaleModel2 = var1.readUnsignedShort();
} else if (var2 == 90) {
this.maleHeadModel = var1.readUnsignedShort();
} else if (var2 == 91) {
this.femaleHeadModel = var1.readUnsignedShort();
} else if (var2 == 92) {
this.maleHeadModel2 = var1.readUnsignedShort();
} else if (var2 == 93) {
this.femaleHeadModel2 = var1.readUnsignedShort();
} else if (var2 == 95) {
this.zan2d = var1.readUnsignedShort();
} else if (var2 == 97) {
this.note = var1.readUnsignedShort();
} else if (var2 == 98) {
this.noteTemplate = var1.readUnsignedShort();
} else if (var2 >= 100 && var2 < 110) {
if (this.countobj == null) {
this.countobj = new int[10];
this.countco = new int[10];
}
this.countobj[var2 - 100] = var1.readUnsignedShort();
this.countco[var2 - 100] = var1.readUnsignedShort();
} else if (var2 == 110) {
this.resizeX = var1.readUnsignedShort();
} else if (var2 == 111) {
this.resizeY = var1.readUnsignedShort();
} else if (var2 == 112) {
this.resizeZ = var1.readUnsignedShort();
} else if (var2 == 113) {
this.ambient = var1.readByte();
} else if (var2 == 114) {
this.contrast = var1.readByte() * 5;
} else if (var2 == 115) {
this.team = var1.readUnsignedByte();
} else if (var2 == 139) {
this.unnotedId = var1.readUnsignedShort();
} else if (var2 == 140) {
this.notedId = var1.readUnsignedShort();
} else if (var2 == 148) {
this.placeholder = var1.readUnsignedShort();
} else if (var2 == 149) {
this.placeholderTemplate = var1.readUnsignedShort();
} else if (var2 == 249) {
this.params = WorldMapArea.readStringIntParameters(var1, this.params);
}
}
@@ -592,7 +588,8 @@ public class ItemDefinition extends DualNode {
signature = "(II)Lds;",
garbageValue = "1813353109"
)
public final ModelData method4643(int var1) {
@Export("getModelData")
public final ModelData getModelData(int var1) {
int var3;
if (this.countobj != null && var1 > 1) {
int var2 = -1;
@@ -604,16 +601,16 @@ public class ItemDefinition extends DualNode {
}
if (var2 != -1) {
return WorldMapArea.getItemDefinition(var2).method4643(1);
return WorldMapArea.ItemDefinition_get(var2).getModelData(1);
}
}
ModelData var4 = ModelData.method2769(ItemDefinition_modelArchive, this.model, 0);
ModelData var4 = ModelData.ModelData_get(ItemDefinition_modelArchive, this.model, 0);
if (var4 == null) {
return null;
}
if (this.resizeX != 128 || this.resizeY != 128 || this.resizeZ != 128) {
var4.method2786(this.resizeX, this.resizeY, this.resizeZ);
var4.resize(this.resizeX, this.resizeY, this.resizeZ);
}
if (this.recolorFrom != null) {
@@ -648,7 +645,7 @@ public class ItemDefinition extends DualNode {
}
if (var2 != -1) {
return WorldMapArea.getItemDefinition(var2).getModel(1);
return WorldMapArea.ItemDefinition_get(var2).getModel(1);
}
}
@@ -656,12 +653,12 @@ public class ItemDefinition extends DualNode {
if (var5 != null) {
return var5;
}
ModelData var6 = ModelData.method2769(ItemDefinition_modelArchive, this.model, 0);
ModelData var6 = ModelData.ModelData_get(ItemDefinition_modelArchive, this.model, 0);
if (var6 == null) {
return null;
}
if (this.resizeX != 128 || this.resizeY != 128 || this.resizeZ != 128) {
var6.method2786(this.resizeX, this.resizeY, this.resizeZ);
var6.resize(this.resizeX, this.resizeY, this.resizeZ);
}
int var4;
@@ -690,21 +687,22 @@ public class ItemDefinition extends DualNode {
)
@Export("getCountObj")
public ItemDefinition getCountObj(int var1) {
if (this.countobj != null && var1 > 1) {
int var2 = -1;
if (this.countobj == null || var1 <= 1) {
return this;
}
int var2 = -1;
for (int var3 = 0; var3 < 10; ++var3) {
if (var1 >= this.countco[var3] && this.countco[var3] != 0) {
var2 = this.countobj[var3];
}
}
if (var2 != -1) {
return WorldMapArea.getItemDefinition(var2);
for (int var3 = 0; var3 < 10; ++var3) {
if (var1 >= this.countco[var3] && this.countco[var3] != 0) {
var2 = this.countobj[var3];
}
}
return this;
if (var2 == -1) {
return this;
}
return WorldMapArea.ItemDefinition_get(var2);
}
@ObfuscatedName("r")
@@ -712,11 +710,12 @@ public class ItemDefinition extends DualNode {
signature = "(ZB)Z",
garbageValue = "-66"
)
public final boolean method4646(boolean var1) {
@Export("hasNoValidModel")
public final boolean hasNoValidModel(boolean forGender) {
int var2 = this.maleModel;
int var3 = this.maleModel1;
int var4 = this.maleModel2;
if (var1) {
if (forGender) {
var2 = this.femaleModel;
var3 = this.femaleModel1;
var4 = this.femaleModel2;
@@ -759,11 +758,11 @@ public class ItemDefinition extends DualNode {
if (var2 == -1) {
return null;
}
ModelData var5 = ModelData.method2769(ItemDefinition_modelArchive, var2, 0);
ModelData var5 = ModelData.ModelData_get(ItemDefinition_modelArchive, var2, 0);
if (var3 != -1) {
ModelData var6 = ModelData.method2769(ItemDefinition_modelArchive, var3, 0);
ModelData var6 = ModelData.ModelData_get(ItemDefinition_modelArchive, var3, 0);
if (var4 != -1) {
ModelData var7 = ModelData.method2769(ItemDefinition_modelArchive, var4, 0);
ModelData var7 = ModelData.ModelData_get(ItemDefinition_modelArchive, var4, 0);
ModelData[] var8 = new ModelData[]{var5, var6, var7};
var5 = new ModelData(var8, 3);
} else {
@@ -773,11 +772,11 @@ public class ItemDefinition extends DualNode {
}
if (!var1 && this.maleOffset != 0) {
var5.method2782(0, this.maleOffset, 0);
var5.changeOffset(0, this.maleOffset, 0);
}
if (var1 && this.femaleOffset != 0) {
var5.method2782(0, this.femaleOffset, 0);
var5.changeOffset(0, this.femaleOffset, 0);
}
int var9;
@@ -840,9 +839,9 @@ public class ItemDefinition extends DualNode {
if (var2 == -1) {
return null;
}
ModelData var4 = ModelData.method2769(ItemDefinition_modelArchive, var2, 0);
ModelData var4 = ModelData.ModelData_get(ItemDefinition_modelArchive, var2, 0);
if (var3 != -1) {
ModelData var5 = ModelData.method2769(ItemDefinition_modelArchive, var3, 0);
ModelData var5 = ModelData.ModelData_get(ItemDefinition_modelArchive, var3, 0);
ModelData[] var6 = new ModelData[]{var4, var5};
var4 = new ModelData(var6, 2);
}

View File

@@ -0,0 +1,52 @@
import java.io.File;
import net.runelite.mapping.Export;
import net.runelite.mapping.Implements;
import net.runelite.mapping.ObfuscatedName;
import net.runelite.mapping.ObfuscatedSignature;
@ObfuscatedName("ff")
@Implements("JagexCache")
public class JagexCache {
@ObfuscatedName("p")
@Export("JagexCache_locationFile")
static File JagexCache_locationFile;
@ObfuscatedName("u")
@ObfuscatedSignature(
signature = "Lmn;"
)
@Export("JagexCache_randomDat")
public static BufferedFile JagexCache_randomDat;
@ObfuscatedName("x")
@ObfuscatedSignature(
signature = "Lmn;"
)
@Export("JagexCache_dat2File")
public static BufferedFile JagexCache_dat2File;
@ObfuscatedName("r")
@ObfuscatedSignature(
signature = "Lmn;"
)
@Export("JagexCache_idx255File")
public static BufferedFile JagexCache_idx255File;
@ObfuscatedName("v")
@ObfuscatedSignature(
signature = "[Lmn;"
)
@Export("JagexCache_idxFiles")
public static BufferedFile[] JagexCache_idxFiles;
@ObfuscatedName("g")
@Export("JagexCache_validCacheLocations")
static String[] JagexCache_validCacheLocations;
@ObfuscatedName("dh")
@ObfuscatedSignature(
signature = "Liu;"
)
@Export("archive1")
static Archive archive1;
static {
JagexCache_randomDat = null;
JagexCache_dat2File = null;
JagexCache_idx255File = null;
}
}

View File

@@ -160,7 +160,7 @@ public final class KeyHandler implements KeyListener, FocusListener {
public final void keyTyped(KeyEvent var1) {
if (KeyHandler_instance != null) {
char var2 = var1.getKeyChar();
if (var2 != 0 && var2 != '\uffff' && VarpDefinition.method4366(var2)) {
if (var2 != 0 && var2 != 0xffff && VarpDefinition.method4366(var2)) {
int var3 = field404 + 1 & 127;
if (var3 != field396) {
field400[field404] = -1;
@@ -208,19 +208,21 @@ public final class KeyHandler implements KeyListener, FocusListener {
signature = "(I)V",
garbageValue = "-2003037366"
)
static final void method801() {
if (GrandExchangeEvent.field49) {
if (DevicePcmPlayerProvider.clanChat != null) {
DevicePcmPlayerProvider.clanChat.sort();
}
for (int var0 = 0; var0 < Players.Players_count; ++var0) {
Player var1 = Client.players[Players.Players_indices[var0]];
var1.clearIsInClanChat();
}
GrandExchangeEvent.field49 = false;
@Export("ClanChat_leave")
static final void ClanChat_leave() {
if (!GrandExchangeEvent.ClanChat_inClanChat) {
return;
}
if (DevicePcmPlayerProvider.clanChat != null) {
DevicePcmPlayerProvider.clanChat.sort();
}
for (int var0 = 0; var0 < Players.Players_count; ++var0) {
Player var1 = Client.players[Players.Players_indices[var0]];
var1.clearIsInClanChat();
}
GrandExchangeEvent.ClanChat_inClanChat = false;
}
}

View File

@@ -89,39 +89,35 @@ public class KitDefinition extends DualNode {
void decodeNext(Buffer var1, int var2) {
if (var2 == 1) {
this.bodypartID = var1.readUnsignedByte();
} else {
int var3;
int var4;
if (var2 == 2) {
var3 = var1.readUnsignedByte();
this.models2 = new int[var3];
} else if (var2 == 2) {
int var3 = var1.readUnsignedByte();
this.models2 = new int[var3];
for (var4 = 0; var4 < var3; ++var4) {
this.models2[var4] = var1.readUnsignedShort();
}
} else if (var2 == 3) {
this.nonSelectable = true;
} else if (var2 == 40) {
var3 = var1.readUnsignedByte();
this.recolorFrom = new short[var3];
this.recolorTo = new short[var3];
for (var4 = 0; var4 < var3; ++var4) {
this.recolorFrom[var4] = (short)var1.readUnsignedShort();
this.recolorTo[var4] = (short)var1.readUnsignedShort();
}
} else if (var2 == 41) {
var3 = var1.readUnsignedByte();
this.retextureFrom = new short[var3];
this.retextureTo = new short[var3];
for (var4 = 0; var4 < var3; ++var4) {
this.retextureFrom[var4] = (short)var1.readUnsignedShort();
this.retextureTo[var4] = (short)var1.readUnsignedShort();
}
} else if (var2 >= 60 && var2 < 70) {
this.models[var2 - 60] = var1.readUnsignedShort();
for (int var4 = 0; var4 < var3; ++var4) {
this.models2[var4] = var1.readUnsignedShort();
}
} else if (var2 == 3) {
this.nonSelectable = true;
} else if (var2 == 40) {
int var3 = var1.readUnsignedByte();
this.recolorFrom = new short[var3];
this.recolorTo = new short[var3];
for (int var4 = 0; var4 < var3; ++var4) {
this.recolorFrom[var4] = (short) var1.readUnsignedShort();
this.recolorTo[var4] = (short) var1.readUnsignedShort();
}
} else if (var2 == 41) {
int var3 = var1.readUnsignedByte();
this.retextureFrom = new short[var3];
this.retextureTo = new short[var3];
for (int var4 = 0; var4 < var3; ++var4) {
this.retextureFrom[var4] = (short) var1.readUnsignedShort();
this.retextureTo[var4] = (short) var1.readUnsignedShort();
}
} else if (var2 >= 60 && var2 < 70) {
this.models[var2 - 60] = var1.readUnsignedShort();
}
}
@@ -160,7 +156,7 @@ public class KitDefinition extends DualNode {
ModelData[] var1 = new ModelData[this.models2.length];
for (int var2 = 0; var2 < this.models2.length; ++var2) {
var1[var2] = ModelData.method2769(class288.KitDefinition_modelsArchive, this.models2[var2], 0);
var1[var2] = ModelData.ModelData_get(class288.KitDefinition_modelsArchive, this.models2[var2], 0);
}
ModelData var4;
@@ -208,13 +204,14 @@ public class KitDefinition extends DualNode {
signature = "(B)Lds;",
garbageValue = "-27"
)
public ModelData method4441() {
@Export("getKitDefinitionModels")
public ModelData getKitDefinitionModels() {
ModelData[] var1 = new ModelData[5];
int var2 = 0;
for (int var3 = 0; var3 < 5; ++var3) {
if (this.models[var3] != -1) {
var1[var2++] = ModelData.method2769(class288.KitDefinition_modelsArchive, this.models[var3], 0);
var1[var2++] = ModelData.ModelData_get(class288.KitDefinition_modelsArchive, this.models[var3], 0);
}
}
@@ -243,62 +240,7 @@ public class KitDefinition extends DualNode {
static final void method4461() {
for (int var0 = 0; var0 < Client.soundEffectCount; ++var0) {
int var10002 = Client.queuedSoundEffectDelays[var0]--;
if (Client.queuedSoundEffectDelays[var0] >= -10) {
SoundEffect var9 = Client.soundEffects[var0];
if (var9 == null) {
Object var10000 = null;
var9 = SoundEffect.readSoundEffect(class13.archive4, Client.soundEffectIds[var0], 0);
if (var9 == null) {
continue;
}
int[] var13 = Client.queuedSoundEffectDelays;
var13[var0] += var9.calculateDelay();
Client.soundEffects[var0] = var9;
}
if (Client.queuedSoundEffectDelays[var0] >= 0) {
continue;
}
int var2;
if (Client.soundLocations[var0] != 0) {
int var3 = (Client.soundLocations[var0] & 255) * 128;
int var4 = Client.soundLocations[var0] >> 16 & 255;
int var5 = var4 * 128 + 64 - Client.localPlayer.x;
if (var5 < 0) {
var5 = -var5;
}
int var6 = Client.soundLocations[var0] >> 8 & 255;
int var7 = var6 * 128 + 64 - Client.localPlayer.y;
if (var7 < 0) {
var7 = -var7;
}
int var8 = var5 + var7 - 128;
if (var8 > var3) {
Client.queuedSoundEffectDelays[var0] = -100;
continue;
}
if (var8 < 0) {
var8 = 0;
}
var2 = (var3 - var8) * Client.field892 / var3;
} else {
var2 = Client.soundEffectVolume;
}
if (var2 > 0) {
RawSound var10 = var9.toRawSound().resample(AttackOption.decimator);
RawPcmStream var11 = RawPcmStream.createRawPcmStream(var10, 100, var2);
var11.setNumLoops(Client.queuedSoundEffectLoops[var0] - 1);
SecureRandomCallable.pcmStreamMixer.addSubStream(var11);
}
Client.queuedSoundEffectDelays[var0] = -100;
} else {
if (Client.queuedSoundEffectDelays[var0] < -10) {
--Client.soundEffectCount;
for (int var1 = var0; var1 < Client.soundEffectCount; ++var1) {
@@ -310,7 +252,61 @@ public class KitDefinition extends DualNode {
}
--var0;
continue;
}
SoundEffect var9 = Client.soundEffects[var0];
if (var9 == null) {
Object var10000 = null;
var9 = SoundEffect.readSoundEffect(class13.archive4, Client.soundEffectIds[var0], 0);
if (var9 == null) {
continue;
}
Client.queuedSoundEffectDelays[var0] += var9.calculateDelay();
Client.soundEffects[var0] = var9;
}
if (Client.queuedSoundEffectDelays[var0] >= 0) {
continue;
}
int var2;
if (Client.soundLocations[var0] == 0) {
var2 = Client.soundEffectVolume;
} else {
int var3 = (Client.soundLocations[var0] & 255) * 128;
int var4 = Client.soundLocations[var0] >> 16 & 255;
int var5 = var4 * 128 + 64 - Client.localPlayer.x;
if (var5 < 0) {
var5 = -var5;
}
int var6 = Client.soundLocations[var0] >> 8 & 255;
int var7 = var6 * 128 + 64 - Client.localPlayer.y;
if (var7 < 0) {
var7 = -var7;
}
int var8 = var5 + var7 - 128;
if (var8 > var3) {
Client.queuedSoundEffectDelays[var0] = -100;
continue;
}
if (var8 < 0) {
var8 = 0;
}
var2 = (var3 - var8) * Client.field892 / var3;
}
if (var2 > 0) {
RawSound var10 = var9.toRawSound().resample(AttackOption.decimator);
RawPcmStream var11 = RawPcmStream.createRawPcmStream(var10, 100, var2);
var11.setNumLoops(Client.queuedSoundEffectLoops[var0] - 1);
SecureRandomCallable.pcmStreamMixer.addSubStream(var11);
}
Client.queuedSoundEffectDelays[var0] = -100;
}
if (!Client.field699) {
@@ -325,7 +321,7 @@ public class KitDefinition extends DualNode {
if (!var12) {
if (Client.field911 != 0 && Client.field889 != -1) {
class169.method3503(WorldMapRegion.archive6, Client.field889, 0, Client.field911, false);
FileSystem.method3503(WorldMapRegion.archive6, Client.field889, 0, Client.field911, false);
}
Client.field699 = false;

View File

@@ -162,7 +162,8 @@ public class Language implements Enumerated {
signature = "(I)V",
garbageValue = "-1942171448"
)
public static final void method3665() {
@Export("ViewportMouse_clear")
public static final void ViewportMouse_clear() {
ViewportMouse.ViewportMouse_isInViewport = false;
ViewportMouse.ViewportMouse_entityCount = 0;
}
@@ -173,18 +174,18 @@ public class Language implements Enumerated {
garbageValue = "1477910272"
)
static boolean method3667() {
if (Client.archiveLoaders != null && Client.archiveLoaderArchive < Client.archiveLoaders.size()) {
while (Client.archiveLoaderArchive < Client.archiveLoaders.size()) {
ArchiveLoader var0 = (ArchiveLoader)Client.archiveLoaders.get(Client.archiveLoaderArchive);
if (!var0.isLoaded()) {
return false;
}
++Client.archiveLoaderArchive;
}
if (Client.archiveLoaders == null || Client.archiveLoaderArchive >= Client.archiveLoaders.size()) {
return true;
}
while (Client.archiveLoaderArchive < Client.archiveLoaders.size()) {
ArchiveLoader var0 = (ArchiveLoader)Client.archiveLoaders.get(Client.archiveLoaderArchive);
if (!var0.isLoaded()) {
return false;
}
++Client.archiveLoaderArchive;
}
return true;
}

View File

@@ -22,11 +22,12 @@ public class Link {
@ObfuscatedName("q")
@Export("remove")
public void remove() {
if (this.next != null) {
this.next.previous = this.previous;
this.previous.next = this.next;
this.previous = null;
this.next = null;
if (this.next == null) {
return;
}
this.next.previous = this.previous;
this.previous.next = this.next;
this.previous = null;
this.next = null;
}
}

View File

@@ -40,7 +40,8 @@ public class LoginPacket implements ClientPacketMarker
@Export("LoginPacket_indexedValues")
static final LoginPacket[] LoginPacket_indexedValues;
@ObfuscatedName("a")
static String[] field2309;
@Export("validCacheNames")
static String[] validCacheNames;
@ObfuscatedName("l")
@ObfuscatedGetter(
intValue = 1829786709

View File

@@ -94,7 +94,7 @@ public class LoginScreenAnimation {
int var1;
for (var1 = 0; var1 < 64; ++var1) {
this.field1045[var1] = var1 * 262144;
this.field1045[var1] = var1 * 0x40000;
}
for (var1 = 0; var1 < 64; ++var1) {
@@ -120,7 +120,7 @@ public class LoginScreenAnimation {
}
for (var1 = 0; var1 < 64; ++var1) {
this.field1046[var1 + 128] = var1 * 262144 + 65535;
this.field1046[var1 + 128] = var1 * 0x40000 + 0xffff;
}
for (var1 = 0; var1 < 64; ++var1) {
@@ -134,7 +134,7 @@ public class LoginScreenAnimation {
}
for (var1 = 0; var1 < 64; ++var1) {
this.field1047[var1 + 64] = var1 * 262144 + 255;
this.field1047[var1 + 64] = var1 * 0x40000 + 255;
}
for (var1 = 0; var1 < 64; ++var1) {
@@ -482,7 +482,8 @@ public class LoginScreenAnimation {
signature = "(II)I",
garbageValue = "-1877742024"
)
static int method1744(int var0) {
@Export("Messages_getHistorySize")
static int Messages_getHistorySize(int var0) {
ChatChannel var1 = (ChatChannel)Messages.Messages_channels.get(var0);
return var1 == null ? 0 : var1.size();
}
@@ -500,7 +501,7 @@ public class LoginScreenAnimation {
var8 = 100;
}
int var9 = (Client.field908 - Client.field906) * var8 / 100 + Client.field906;
int var9 = (Client.zoomWidth - Client.zoomHeight) * var8 / 100 + Client.zoomHeight;
int var7 = var5 * var9 / 256;
var8 = 2048 - var3 & 2047;
var9 = 2048 - var4 & 2047;

View File

@@ -49,7 +49,8 @@ public class MenuAction {
signature = "(Ljava/lang/CharSequence;Ljava/lang/CharSequence;Lgu;B)I",
garbageValue = "-1"
)
public static int method1993(CharSequence var0, CharSequence var1, Language var2) {
@Export("compareStrings")
public static int compareStrings(CharSequence var0, CharSequence var1, Language var2) {
int var3 = var0.length();
int var4 = var1.length();
int var5 = 0;
@@ -114,13 +115,13 @@ public class MenuAction {
}
var8 = var12;
var9 = PacketBufferNode.method3623(var9, var2);
var10 = PacketBufferNode.method3623(var10, var2);
var9 = PacketBufferNode.standardizeChar(var9, var2);
var10 = PacketBufferNode.standardizeChar(var10, var2);
if (var10 != var9 && Character.toUpperCase(var9) != Character.toUpperCase(var10)) {
var9 = Character.toLowerCase(var9);
var10 = Character.toLowerCase(var10);
if (var10 != var9) {
return WorldMapArea.method387(var9, var2) - WorldMapArea.method387(var10, var2);
return WorldMapArea.lowercaseChar(var9, var2) - WorldMapArea.lowercaseChar(var10, var2);
}
}
}
@@ -144,7 +145,7 @@ public class MenuAction {
var18 = Character.toLowerCase(var18);
var20 = Character.toLowerCase(var20);
if (var18 != var20) {
return WorldMapArea.method387(var18, var2) - WorldMapArea.method387(var20, var2);
return WorldMapArea.lowercaseChar(var18, var2) - WorldMapArea.lowercaseChar(var20, var2);
}
}
}
@@ -157,7 +158,7 @@ public class MenuAction {
var20 = var0.charAt(var19);
char var13 = var1.charAt(var19);
if (var13 != var20) {
return WorldMapArea.method387(var20, var2) - WorldMapArea.method387(var13, var2);
return WorldMapArea.lowercaseChar(var20, var2) - WorldMapArea.lowercaseChar(var13, var2);
}
}

File diff suppressed because it is too large Load Diff

View File

@@ -56,10 +56,8 @@ public class MidiFileReader {
this.field2460 = 500000;
this.trackStarts = new int[var2];
Buffer var10000;
int var3;
int var5;
for (var3 = 0; var3 < var2; var10000.offset += var5) {
for (int var3 = 0; var3 < var2; this.buffer.offset += var5) {
int var4 = this.buffer.readInt();
var5 = this.buffer.readInt();
if (var4 == 1297379947) {
@@ -67,13 +65,12 @@ public class MidiFileReader {
++var3;
}
var10000 = this.buffer;
}
this.field2472 = 0L;
this.trackPositions = new int[var2];
for (var3 = 0; var3 < var2; ++var3) {
for (int var3 = 0; var3 < var2; ++var3) {
this.trackPositions[var3] = this.trackStarts[var3];
}
@@ -125,8 +122,7 @@ public class MidiFileReader {
@Export("readTrackLength")
void readTrackLength(int var1) {
int var2 = this.buffer.readVarInt();
int[] var10000 = this.trackLengths;
var10000[var1] += var2;
this.trackLengths[var1] += var2;
}
@ObfuscatedName("c")
@@ -162,8 +158,7 @@ public class MidiFileReader {
}
}
Buffer var10000 = this.buffer;
var10000.offset += var3;
this.buffer.offset += var3;
return 0;
}
@@ -173,10 +168,8 @@ public class MidiFileReader {
if (var2 == 255) {
int var7 = this.buffer.readUnsignedByte();
var4 = this.buffer.readVarInt();
Buffer var10000;
if (var7 == 47) {
var10000 = this.buffer;
var10000.offset += var4;
this.buffer.offset += var4;
return 1;
}
if (var7 == 81) {
@@ -185,12 +178,10 @@ public class MidiFileReader {
int var6 = this.trackLengths[var1];
this.field2472 += (long)var6 * (long)(this.field2460 - var5);
this.field2460 = var5;
var10000 = this.buffer;
var10000.offset += var4;
this.buffer.offset += var4;
return 2;
}
var10000 = this.buffer;
var10000.offset += var4;
this.buffer.offset += var4;
return 3;
}
byte var3 = field2468[var2 - 128];

View File

@@ -405,7 +405,7 @@ public class MidiPcmStream extends PcmStream {
var6.field2450 = var2;
var6.field2442 = var3 * var3 * var9.field2476[var2] * var9.field2475 + 1024 >> 11;
var6.field2443 = var9.field2477[var2] & 255;
var6.field2441 = (var2 << 8) - (var9.field2482[var2] & 32767);
var6.field2441 = (var2 << 8) - (var9.field2482[var2] & 0x7fff);
var6.field2447 = 0;
var6.field2448 = 0;
var6.field2449 = 0;
@@ -552,7 +552,7 @@ public class MidiPcmStream extends PcmStream {
this.method3715(var1);
this.method3784(var1);
this.field2421[var1] = 0;
this.field2424[var1] = 32767;
this.field2424[var1] = 0x7fff;
this.field2423[var1] = 256;
this.field2410[var1] = 0;
this.method3754(var1, 8192);
@@ -817,11 +817,8 @@ public class MidiPcmStream extends PcmStream {
var3 = var1 & 15;
var4 = (var1 >> 8 & 127) + (var1 >> 9 & 16256);
this.method3722(var3, var4);
} else {
var2 = var1 & 255;
if (var2 == 255) {
this.method3726();
}
} else if ((var1 & 255) == 255) {
this.method3726();
}
}
@@ -932,27 +929,26 @@ public class MidiPcmStream extends PcmStream {
this.midiFile.gotoTrack(var1);
int var5 = this.midiFile.readMessage(var1);
if (var5 == 1) {
this.midiFile.setTrackDone();
this.midiFile.markTrackPosition(var1);
if (this.midiFile.isDone()) {
if (!this.field2430 || var2 == 0) {
this.method3726();
this.midiFile.clear();
return;
}
this.midiFile.reset(var3);
}
break;
}
if ((var5 & 128) != 0) {
this.method3728(var5);
}
this.midiFile.readTrackLength(var1);
this.midiFile.markTrackPosition(var1);
}
this.midiFile.setTrackDone();
this.midiFile.markTrackPosition(var1);
if (this.midiFile.isDone()) {
if (!this.field2430 || var2 == 0) {
this.method3726();
this.midiFile.clear();
return;
}
}
this.midiFile.reset(var3);
var1 = this.midiFile.getPrioritizedTrack();
var2 = this.midiFile.trackLengths[var1];
@@ -969,17 +965,17 @@ public class MidiPcmStream extends PcmStream {
garbageValue = "2116286373"
)
boolean method3739(MusicPatchNode var1) {
if (var1.stream == null) {
if (var1.field2436 >= 0) {
var1.remove();
if (var1.field2438 > 0 && var1 == this.field2428[var1.field2440][var1.field2438]) {
this.field2428[var1.field2440][var1.field2438] = null;
}
}
return true;
if (var1.stream != null) {
return false;
}
return false;
if (var1.field2436 >= 0) {
var1.remove();
if (var1.field2438 > 0 && var1 == this.field2428[var1.field2440][var1.field2438]) {
this.field2428[var1.field2440][var1.field2438] = null;
}
}
return true;
}
@ObfuscatedName("bp")
@@ -989,95 +985,95 @@ public class MidiPcmStream extends PcmStream {
)
boolean method3740(MusicPatchNode var1, int[] var2, int var3, int var4) {
var1.field2455 = CollisionMap.PcmPlayer_sampleRate / 100;
if (var1.field2436 < 0 || var1.stream != null && !var1.stream.method2558()) {
int var5 = var1.field2446;
if (var5 > 0) {
var5 -= (int)(16.0D * Math.pow(2.0D, 4.921259842519685E-4D * (double)this.field2419[var1.field2440]) + 0.5D);
if (var5 < 0) {
var5 = 0;
}
var1.field2446 = var5;
if (var1.field2436 >= 0 && (var1.stream == null || var1.stream.method2558())) {
var1.method3826();
var1.remove();
if (var1.field2438 > 0 && var1 == this.field2428[var1.field2440][var1.field2438]) {
this.field2428[var1.field2440][var1.field2438] = null;
}
var1.stream.method2538(this.method3730(var1));
MusicPatchNode2 var6 = var1.field2452;
boolean var7 = false;
++var1.field2458;
var1.field2453 += var6.field2394;
double var8 = 5.086263020833333E-6D * (double)((var1.field2450 - 60 << 8) + (var1.field2445 * var1.field2446 >> 12));
if (var6.field2392 > 0) {
if (var6.field2391 > 0) {
var1.field2447 += (int)(128.0D * Math.pow(2.0D, var8 * (double)var6.field2391) + 0.5D);
} else {
var1.field2447 += 128;
}
}
if (var6.field2387 != null) {
if (var6.field2390 > 0) {
var1.field2448 += (int)(128.0D * Math.pow(2.0D, (double)var6.field2390 * var8) + 0.5D);
} else {
var1.field2448 += 128;
}
while (var1.field2449 * 4 < var6.field2387.length - 2 && var1.field2448 > (var6.field2387[var1.field2449 * 4 + 2] & 255) << 8) {
var1.field2449 = var1.field2449 * 4 + 2;
}
if (var1.field2449 * 4 == var6.field2387.length - 2 && var6.field2387[var1.field2449 * 4 + 1] == 0) {
var7 = true;
}
}
if (var1.field2436 >= 0 && var6.field2388 != null && (this.field2421[var1.field2440] & 1) == 0 && (var1.field2438 < 0 || var1 != this.field2428[var1.field2440][var1.field2438])) {
if (var6.field2398 > 0) {
var1.field2436 += (int)(128.0D * Math.pow(2.0D, (double)var6.field2398 * var8) + 0.5D);
} else {
var1.field2436 += 128;
}
while (var1.field2451 * 4 < var6.field2388.length - 2 && var1.field2436 > (var6.field2388[var1.field2451 * 4 + 2] & 255) << 8) {
var1.field2451 = var1.field2451 * 4 + 2;
}
if (var1.field2451 * 4 == var6.field2388.length - 2) {
var7 = true;
}
}
if (var7) {
var1.stream.method2540(var1.field2455);
if (var2 != null) {
var1.stream.fill(var2, var3, var4);
} else {
var1.stream.skip(var4);
}
if (var1.stream.method2585()) {
this.patchStream.mixer.addSubStream(var1.stream);
}
var1.method3826();
if (var1.field2436 >= 0) {
var1.remove();
if (var1.field2438 > 0 && var1 == this.field2428[var1.field2440][var1.field2438]) {
this.field2428[var1.field2440][var1.field2438] = null;
}
}
return true;
}
var1.stream.method2536(var1.field2455, this.method3731(var1), this.method3732(var1));
return false;
return true;
}
var1.method3826();
var1.remove();
if (var1.field2438 > 0 && var1 == this.field2428[var1.field2440][var1.field2438]) {
this.field2428[var1.field2440][var1.field2438] = null;
int var5 = var1.field2446;
if (var5 > 0) {
var5 -= (int) (16.0D * Math.pow(2.0D, 4.921259842519685E-4D * (double) this.field2419[var1.field2440]) + 0.5D);
if (var5 < 0) {
var5 = 0;
}
var1.field2446 = var5;
}
return true;
var1.stream.method2538(this.method3730(var1));
MusicPatchNode2 var6 = var1.field2452;
boolean var7 = false;
++var1.field2458;
var1.field2453 += var6.field2394;
double var8 = 5.086263020833333E-6D * (double) ((var1.field2450 - 60 << 8) + (var1.field2445 * var1.field2446 >> 12));
if (var6.field2392 > 0) {
if (var6.field2391 > 0) {
var1.field2447 += (int) (128.0D * Math.pow(2.0D, var8 * (double) var6.field2391) + 0.5D);
} else {
var1.field2447 += 128;
}
}
if (var6.field2387 != null) {
if (var6.field2390 > 0) {
var1.field2448 += (int) (128.0D * Math.pow(2.0D, (double) var6.field2390 * var8) + 0.5D);
} else {
var1.field2448 += 128;
}
while (var1.field2449 * 4 < var6.field2387.length - 2 && var1.field2448 > (var6.field2387[var1.field2449 * 4 + 2] & 255) << 8) {
var1.field2449 = var1.field2449 * 4 + 2;
}
if (var1.field2449 * 4 == var6.field2387.length - 2 && var6.field2387[var1.field2449 * 4 + 1] == 0) {
var7 = true;
}
}
if (var1.field2436 >= 0 && var6.field2388 != null && (this.field2421[var1.field2440] & 1) == 0 && (var1.field2438 < 0 || var1 != this.field2428[var1.field2440][var1.field2438])) {
if (var6.field2398 > 0) {
var1.field2436 += (int) (128.0D * Math.pow(2.0D, (double) var6.field2398 * var8) + 0.5D);
} else {
var1.field2436 += 128;
}
while (var1.field2451 * 4 < var6.field2388.length - 2 && var1.field2436 > (var6.field2388[var1.field2451 * 4 + 2] & 255) << 8) {
var1.field2451 = var1.field2451 * 4 + 2;
}
if (var1.field2451 * 4 == var6.field2388.length - 2) {
var7 = true;
}
}
if (var7) {
var1.stream.method2540(var1.field2455);
if (var2 != null) {
var1.stream.fill(var2, var3, var4);
} else {
var1.stream.skip(var4);
}
if (var1.stream.method2585()) {
this.patchStream.mixer.addSubStream(var1.stream);
}
var1.method3826();
if (var1.field2436 >= 0) {
var1.remove();
if (var1.field2438 > 0 && var1 == this.field2428[var1.field2440][var1.field2438]) {
this.field2428[var1.field2440][var1.field2438] = null;
}
}
return true;
}
var1.stream.method2536(var1.field2455, this.method3731(var1), this.method3732(var1));
return false;
}
@ObfuscatedName("w")
@@ -1085,7 +1081,8 @@ public class MidiPcmStream extends PcmStream {
signature = "(I)Z",
garbageValue = "1881799127"
)
public static boolean method3811() {
@Export("hasReflectionCheck")
public static boolean hasReflectionCheck() {
ReflectionCheck var0 = (ReflectionCheck)class96.reflectionChecks.last();
return var0 != null;
}

View File

@@ -981,7 +981,7 @@ public class Model extends Entity {
}
@ObfuscatedName("s")
public final void method2866(int var1, int var2, int var3, int var4, int var5, int var6, int var7) {
public final void method2866(int modelAngleY, int modelAngleZ, int modelAngleX, int modelOffsetX, int var5, int var6, int var7) {
field1711[0] = -1;
if (this.boundsType != 2 && this.boundsType != 1) {
this.method2910();
@@ -989,14 +989,14 @@ public class Model extends Entity {
int var8 = Rasterizer3D.Rasterizer3D_clipMidX;
int var9 = Rasterizer3D.Rasterizer3D_clipMidY;
int var10 = Model_sine[var1];
int var11 = Model_cosine[var1];
int var12 = Model_sine[var2];
int var13 = Model_cosine[var2];
int var14 = Model_sine[var3];
int var15 = Model_cosine[var3];
int var16 = Model_sine[var4];
int var17 = Model_cosine[var4];
int var10 = Model_sine[modelAngleY];
int var11 = Model_cosine[modelAngleY];
int var12 = Model_sine[modelAngleZ];
int var13 = Model_cosine[modelAngleZ];
int var14 = Model_sine[modelAngleX];
int var15 = Model_cosine[modelAngleX];
int var16 = Model_sine[modelOffsetX];
int var17 = Model_cosine[modelOffsetX];
int var18 = var16 * var6 + var17 * var7 >> 16;
for (int var19 = 0; var19 < this.verticesCount; ++var19) {
@@ -1004,19 +1004,19 @@ public class Model extends Entity {
int var21 = this.verticesY[var19];
int var22 = this.verticesZ[var19];
int var23;
if (var3 != 0) {
if (modelAngleX != 0) {
var23 = var21 * var14 + var20 * var15 >> 16;
var21 = var21 * var15 - var20 * var14 >> 16;
var20 = var23;
}
if (var1 != 0) {
if (modelAngleY != 0) {
var23 = var21 * var11 - var22 * var10 >> 16;
var22 = var21 * var10 + var22 * var11 >> 16;
var21 = var23;
}
if (var2 != 0) {
if (modelAngleZ != 0) {
var23 = var22 * var12 + var20 * var13 >> 16;
var22 = var22 * var13 - var20 * var12 >> 16;
var20 = var23;
@@ -1111,243 +1111,189 @@ public class Model extends Entity {
@ObfuscatedName("al")
@Export("draw0")
final void draw0(boolean var1, boolean var2, boolean var3, long var4) {
if (this.diameter < 1600) {
int var6;
for (var6 = 0; var6 < this.diameter; ++var6) {
field1711[var6] = 0;
if (this.diameter >= 1600) {
return;
}
int var6;
for (var6 = 0; var6 < this.diameter; ++var6) {
field1711[var6] = 0;
}
var6 = var3 ? 20 : 5;
int var7;
int var8;
int var10;
int var11;
int var12;
int var13;
int var15;
int var16;
int var18;
int var27;
for (var7 = 0; var7 < this.indicesCount; ++var7) {
if (this.faceColors3[var7] == -2) {
continue;
}
var6 = var3 ? 20 : 5;
int var7;
int var8;
int var10;
int var11;
int var12;
int var13;
int var15;
int var16;
int var18;
int var27;
for (var7 = 0; var7 < this.indicesCount; ++var7) {
if (this.faceColors3[var7] != -2) {
var8 = this.indices1[var7];
var27 = this.indices2[var7];
var10 = this.indices3[var7];
var11 = modelViewportXs[var8];
var12 = modelViewportXs[var27];
var13 = modelViewportXs[var10];
int var14;
int var17;
if (!var1 || var11 != -5000 && var12 != -5000 && var13 != -5000) {
if (var2) {
var15 = modelViewportYs[var8];
var16 = modelViewportYs[var27];
var17 = modelViewportYs[var10];
var18 = var6 + ViewportMouse.ViewportMouse_y;
boolean var34;
if (var18 < var15 && var18 < var16 && var18 < var17) {
var8 = this.indices1[var7];
var27 = this.indices2[var7];
var10 = this.indices3[var7];
var11 = modelViewportXs[var8];
var12 = modelViewportXs[var27];
var13 = modelViewportXs[var10];
int var14;
int var17;
if (!var1 || var11 != -5000 && var12 != -5000 && var13 != -5000) {
if (var2) {
var15 = modelViewportYs[var8];
var16 = modelViewportYs[var27];
var17 = modelViewportYs[var10];
var18 = var6 + ViewportMouse.ViewportMouse_y;
boolean var34;
if (var18 < var15 && var18 < var16 && var18 < var17) {
var34 = false;
} else {
var18 = ViewportMouse.ViewportMouse_y - var6;
if (var18 > var15 && var18 > var16 && var18 > var17) {
var34 = false;
} else {
var18 = var6 + ViewportMouse.ViewportMouse_x;
if (var18 < var11 && var18 < var12 && var18 < var13) {
var34 = false;
} else {
var18 = ViewportMouse.ViewportMouse_y - var6;
if (var18 > var15 && var18 > var16 && var18 > var17) {
var18 = ViewportMouse.ViewportMouse_x - var6;
if (var18 > var11 && var18 > var12 && var18 > var13) {
var34 = false;
} else {
var18 = var6 + ViewportMouse.ViewportMouse_x;
if (var18 < var11 && var18 < var12 && var18 < var13) {
var34 = false;
} else {
var18 = ViewportMouse.ViewportMouse_x - var6;
if (var18 > var11 && var18 > var12 && var18 > var13) {
var34 = false;
} else {
var34 = true;
}
}
var34 = true;
}
}
if (var34) {
ViewportMouse.ViewportMouse_entityTags[++ViewportMouse.ViewportMouse_entityCount - 1] = var4;
var2 = false;
}
}
}
if ((var11 - var12) * (modelViewportYs[var10] - modelViewportYs[var27]) - (var13 - var12) * (modelViewportYs[var8] - modelViewportYs[var27]) > 0) {
field1723[var7] = false;
if (var11 >= 0 && var12 >= 0 && var13 >= 0 && var11 <= Rasterizer3D.Rasterizer3D_clipWidth && var12 <= Rasterizer3D.Rasterizer3D_clipWidth && var13 <= Rasterizer3D.Rasterizer3D_clipWidth) {
field1710[var7] = false;
} else {
field1710[var7] = true;
}
if (var34) {
ViewportMouse.ViewportMouse_entityTags[++ViewportMouse.ViewportMouse_entityCount - 1] = var4;
var2 = false;
}
}
var14 = (field1714[var8] + field1714[var27] + field1714[var10]) / 3 + this.radius;
field1720[var14][field1711[var14]++] = var7;
}
if ((var11 - var12) * (modelViewportYs[var10] - modelViewportYs[var27]) - (var13 - var12) * (modelViewportYs[var8] - modelViewportYs[var27]) > 0) {
field1723[var7] = false;
if (var11 >= 0 && var12 >= 0 && var13 >= 0 && var11 <= Rasterizer3D.Rasterizer3D_clipWidth && var12 <= Rasterizer3D.Rasterizer3D_clipWidth && var13 <= Rasterizer3D.Rasterizer3D_clipWidth) {
field1710[var7] = false;
} else {
var14 = field1715[var8];
var15 = field1715[var27];
var16 = field1715[var10];
var17 = field1716[var8];
var18 = field1716[var27];
int var19 = field1716[var10];
int var20 = field1717[var8];
int var21 = field1717[var27];
int var22 = field1717[var10];
var14 -= var15;
var16 -= var15;
var17 -= var18;
var19 -= var18;
var20 -= var21;
var22 -= var21;
int var23 = var17 * var22 - var20 * var19;
int var24 = var20 * var16 - var14 * var22;
int var25 = var14 * var19 - var17 * var16;
if (var15 * var23 + var18 * var24 + var21 * var25 > 0) {
field1723[var7] = true;
int var26 = (field1714[var8] + field1714[var27] + field1714[var10]) / 3 + this.radius;
field1720[var26][field1711[var26]++] = var7;
field1710[var7] = true;
}
var14 = (field1714[var8] + field1714[var27] + field1714[var10]) / 3 + this.radius;
field1720[var14][field1711[var14]++] = var7;
}
} else {
var14 = field1715[var8];
var15 = field1715[var27];
var16 = field1715[var10];
var17 = field1716[var8];
var18 = field1716[var27];
int var19 = field1716[var10];
int var20 = field1717[var8];
int var21 = field1717[var27];
int var22 = field1717[var10];
var14 -= var15;
var16 -= var15;
var17 -= var18;
var19 -= var18;
var20 -= var21;
var22 -= var21;
int var23 = var17 * var22 - var20 * var19;
int var24 = var20 * var16 - var14 * var22;
int var25 = var14 * var19 - var17 * var16;
if (var15 * var23 + var18 * var24 + var21 * var25 > 0) {
field1723[var7] = true;
int var26 = (field1714[var8] + field1714[var27] + field1714[var10]) / 3 + this.radius;
field1720[var26][field1711[var26]++] = var7;
}
}
}
int[] var9;
if (this.faceRenderPriorities == null) {
for (var7 = this.diameter - 1; var7 >= 0; --var7) {
var8 = field1711[var7];
if (var8 > 0) {
var9 = field1720[var7];
for (var10 = 0; var10 < var8; ++var10) {
this.method2879(var9[var10]);
}
}
}
} else {
for (var7 = 0; var7 < 12; ++var7) {
field1721[var7] = 0;
field1725[var7] = 0;
}
for (var7 = this.diameter - 1; var7 >= 0; --var7) {
var8 = field1711[var7];
if (var8 > 0) {
var9 = field1720[var7];
for (var10 = 0; var10 < var8; ++var10) {
var11 = var9[var10];
byte var33 = this.faceRenderPriorities[var11];
var13 = field1721[var33]++;
field1729[var33][var13] = var11;
if (var33 < 10) {
field1725[var33] += var7;
} else if (var33 == 10) {
field1739[var13] = var7;
} else {
field1724[var13] = var7;
}
}
}
}
int[] var9;
if (this.faceRenderPriorities == null) {
for (var7 = this.diameter - 1; var7 >= 0; --var7) {
var8 = field1711[var7];
if (var8 > 0) {
var9 = field1720[var7];
var7 = 0;
if (field1721[1] > 0 || field1721[2] > 0) {
var7 = (field1725[1] + field1725[2]) / (field1721[1] + field1721[2]);
}
for (var10 = 0; var10 < var8; ++var10) {
this.method2879(var9[var10]);
}
}
}
var8 = 0;
if (field1721[3] > 0 || field1721[4] > 0) {
var8 = (field1725[3] + field1725[4]) / (field1721[3] + field1721[4]);
}
} else {
for (var7 = 0; var7 < 12; ++var7) {
field1721[var7] = 0;
field1725[var7] = 0;
}
for (var7 = this.diameter - 1; var7 >= 0; --var7) {
var8 = field1711[var7];
if (var8 > 0) {
var9 = field1720[var7];
for (var10 = 0; var10 < var8; ++var10) {
var11 = var9[var10];
byte var33 = this.faceRenderPriorities[var11];
var13 = field1721[var33]++;
field1729[var33][var13] = var11;
if (var33 < 10) {
int[] var10000 = field1725;
var10000[var33] += var7;
} else if (var33 == 10) {
field1739[var13] = var7;
} else {
field1724[var13] = var7;
}
}
}
}
var7 = 0;
if (field1721[1] > 0 || field1721[2] > 0) {
var7 = (field1725[1] + field1725[2]) / (field1721[1] + field1721[2]);
}
var8 = 0;
if (field1721[3] > 0 || field1721[4] > 0) {
var8 = (field1725[3] + field1725[4]) / (field1721[3] + field1721[4]);
}
var27 = 0;
if (field1721[6] > 0 || field1721[8] > 0) {
var27 = (field1725[8] + field1725[6]) / (field1721[8] + field1721[6]);
}
var27 = 0;
if (field1721[6] > 0 || field1721[8] > 0) {
var27 = (field1725[8] + field1725[6]) / (field1721[8] + field1721[6]);
}
var11 = 0;
var12 = field1721[10];
int[] var30 = field1729[10];
int[] var31 = field1739;
if (var11 == var12) {
var11 = 0;
var12 = field1721[10];
int[] var30 = field1729[10];
int[] var31 = field1739;
if (var11 == var12) {
var11 = 0;
var12 = field1721[11];
var30 = field1729[11];
var31 = field1724;
}
var12 = field1721[11];
var30 = field1729[11];
var31 = field1724;
}
if (var11 < var12) {
var10 = var31[var11];
} else {
var10 = -1000;
}
if (var11 < var12) {
var10 = var31[var11];
} else {
var10 = -1000;
}
for (var15 = 0; var15 < 10; ++var15) {
while (var15 == 0 && var10 > var7) {
this.method2879(var30[var11++]);
if (var11 == var12 && var30 != field1729[11]) {
var11 = 0;
var12 = field1721[11];
var30 = field1729[11];
var31 = field1724;
}
if (var11 < var12) {
var10 = var31[var11];
} else {
var10 = -1000;
}
}
while (var15 == 3 && var10 > var8) {
this.method2879(var30[var11++]);
if (var11 == var12 && var30 != field1729[11]) {
var11 = 0;
var12 = field1721[11];
var30 = field1729[11];
var31 = field1724;
}
if (var11 < var12) {
var10 = var31[var11];
} else {
var10 = -1000;
}
}
while (var15 == 5 && var10 > var27) {
this.method2879(var30[var11++]);
if (var11 == var12 && var30 != field1729[11]) {
var11 = 0;
var12 = field1721[11];
var30 = field1729[11];
var31 = field1724;
}
if (var11 < var12) {
var10 = var31[var11];
} else {
var10 = -1000;
}
}
var16 = field1721[var15];
int[] var32 = field1729[var15];
for (var18 = 0; var18 < var16; ++var18) {
this.method2879(var32[var18]);
}
}
while (var10 != -1000) {
for (var15 = 0; var15 < 10; ++var15) {
while (var15 == 0 && var10 > var7) {
this.method2879(var30[var11++]);
if (var11 == var12 && var30 != field1729[11]) {
var11 = 0;
var30 = field1729[11];
var12 = field1721[11];
var30 = field1729[11];
var31 = field1724;
}
@@ -1358,7 +1304,62 @@ public class Model extends Entity {
}
}
while (var15 == 3 && var10 > var8) {
this.method2879(var30[var11++]);
if (var11 == var12 && var30 != field1729[11]) {
var11 = 0;
var12 = field1721[11];
var30 = field1729[11];
var31 = field1724;
}
if (var11 < var12) {
var10 = var31[var11];
} else {
var10 = -1000;
}
}
while (var15 == 5 && var10 > var27) {
this.method2879(var30[var11++]);
if (var11 == var12 && var30 != field1729[11]) {
var11 = 0;
var12 = field1721[11];
var30 = field1729[11];
var31 = field1724;
}
if (var11 < var12) {
var10 = var31[var11];
} else {
var10 = -1000;
}
}
var16 = field1721[var15];
int[] var32 = field1729[var15];
for (var18 = 0; var18 < var16; ++var18) {
this.method2879(var32[var18]);
}
}
while (var10 != -1000) {
this.method2879(var30[var11++]);
if (var11 == var12 && var30 != field1729[11]) {
var11 = 0;
var30 = field1729[11];
var12 = field1721[11];
var31 = field1724;
}
if (var11 < var12) {
var10 = var31[var11];
} else {
var10 = -1000;
}
}
}
}

File diff suppressed because it is too large Load Diff

View File

@@ -270,80 +270,43 @@ public class MouseHandler implements MouseListener, MouseMotionListener, FocusLi
int var1 = 0;
var0.importIndex();
byte[] var10000;
int var2;
int var3;
int var4;
for (var2 = 0; var2 < Players.Players_count; ++var2) {
var3 = Players.Players_indices[var2];
if ((Players.field1252[var3] & 1) != 0) {
continue;
}
if (var1 > 0) {
--var1;
Players.field1252[var3] = (byte)(Players.field1252[var3] | 2);
} else if (var0.readBits(1) == 0) {
var1 = World.decode(var0);
Players.field1252[var3] = (byte) (Players.field1252[var3] | 2);
} else {
WorldMapIcon_0.readPlayerUpdate(var0, var3);
}
}
var0.exportIndex();
if (var1 != 0) {
throw new RuntimeException();
}
var0.importIndex();
for (var2 = 0; var2 < Players.Players_count; ++var2) {
var3 = Players.Players_indices[var2];
if ((Players.field1252[var3] & 1) == 0) {
if (var1 > 0) {
--var1;
var10000 = Players.field1252;
var10000[var3] = (byte)(var10000[var3] | 2);
} else {
var4 = var0.readBits(1);
if (var4 == 0) {
var1 = World.method1686(var0);
var10000 = Players.field1252;
var10000[var3] = (byte)(var10000[var3] | 2);
} else {
WorldMapIcon_0.method210(var0, var3);
}
}
continue;
}
}
var0.exportIndex();
if (var1 != 0) {
throw new RuntimeException();
}
var0.importIndex();
for (var2 = 0; var2 < Players.Players_count; ++var2) {
var3 = Players.Players_indices[var2];
if ((Players.field1252[var3] & 1) != 0) {
if (var1 > 0) {
--var1;
var10000 = Players.field1252;
var10000[var3] = (byte)(var10000[var3] | 2);
} else {
var4 = var0.readBits(1);
if (var4 == 0) {
var1 = World.method1686(var0);
var10000 = Players.field1252;
var10000[var3] = (byte)(var10000[var3] | 2);
} else {
WorldMapIcon_0.method210(var0, var3);
}
}
}
}
var0.exportIndex();
if (var1 != 0) {
throw new RuntimeException();
}
var0.importIndex();
for (var2 = 0; var2 < Players.Players_emptyIdxCount; ++var2) {
var3 = Players.Players_emptyIndices[var2];
if ((Players.field1252[var3] & 1) != 0) {
if (var1 > 0) {
--var1;
var10000 = Players.field1252;
var10000[var3] = (byte)(var10000[var3] | 2);
} else {
var4 = var0.readBits(1);
if (var4 == 0) {
var1 = World.method1686(var0);
var10000 = Players.field1252;
var10000[var3] = (byte)(var10000[var3] | 2);
} else if (class226.updateExternalPlayer(var0, var3)) {
var10000 = Players.field1252;
var10000[var3] = (byte)(var10000[var3] | 2);
}
}
if (var1 > 0) {
--var1;
Players.field1252[var3] = (byte)(Players.field1252[var3] | 2);
} else if (var0.readBits(1) == 0) {
var1 = World.decode(var0);
Players.field1252[var3] = (byte) (Players.field1252[var3] | 2);
} else {
WorldMapIcon_0.readPlayerUpdate(var0, var3);
}
}
@@ -356,21 +319,38 @@ public class MouseHandler implements MouseListener, MouseMotionListener, FocusLi
for (var2 = 0; var2 < Players.Players_emptyIdxCount; ++var2) {
var3 = Players.Players_emptyIndices[var2];
if ((Players.field1252[var3] & 1) == 0) {
if (var1 > 0) {
--var1;
var10000 = Players.field1252;
var10000[var3] = (byte)(var10000[var3] | 2);
} else {
var4 = var0.readBits(1);
if (var4 == 0) {
var1 = World.method1686(var0);
var10000 = Players.field1252;
var10000[var3] = (byte)(var10000[var3] | 2);
} else if (class226.updateExternalPlayer(var0, var3)) {
var10000 = Players.field1252;
var10000[var3] = (byte)(var10000[var3] | 2);
}
}
continue;
}
if (var1 > 0) {
--var1;
Players.field1252[var3] = (byte)(Players.field1252[var3] | 2);
} else if (var0.readBits(1) == 0) {
var1 = World.decode(var0);
Players.field1252[var3] = (byte) (Players.field1252[var3] | 2);
} else if (class226.updateExternalPlayer(var0, var3)) {
Players.field1252[var3] = (byte) (Players.field1252[var3] | 2);
}
}
var0.exportIndex();
if (var1 != 0) {
throw new RuntimeException();
}
var0.importIndex();
for (var2 = 0; var2 < Players.Players_emptyIdxCount; ++var2) {
var3 = Players.Players_emptyIndices[var2];
if ((Players.field1252[var3] & 1) != 0) {
continue;
}
if (var1 > 0) {
--var1;
Players.field1252[var3] = (byte)(Players.field1252[var3] | 2);
} else if (var0.readBits(1) == 0) {
var1 = World.decode(var0);
Players.field1252[var3] = (byte) (Players.field1252[var3] | 2);
} else if (class226.updateExternalPlayer(var0, var3)) {
Players.field1252[var3] = (byte) (Players.field1252[var3] | 2);
}
}
@@ -382,8 +362,7 @@ public class MouseHandler implements MouseListener, MouseMotionListener, FocusLi
Players.Players_emptyIdxCount = 0;
for (var2 = 1; var2 < 2048; ++var2) {
var10000 = Players.field1252;
var10000[var2] = (byte)(var10000[var2] >> 1);
Players.field1252[var2] = (byte)(Players.field1252[var2] >> 1);
Player var5 = Client.players[var2];
if (var5 != null) {
Players.Players_indices[++Players.Players_count - 1] = var2;
@@ -410,9 +389,9 @@ public class MouseHandler implements MouseListener, MouseMotionListener, FocusLi
garbageValue = "1793626495"
)
static final int method1021(int var0, int var1) {
int var2 = var0 + var1 * 57;
var2 ^= var2 << 13;
int var3 = (var2 * var2 * 15731 + 789221) * var2 + 1376312589 & Integer.MAX_VALUE;
return var3 >> 19 & 255;
int var2 = var0 + var1 * 0x39;
var2 ^= var2 << 0xd;
int var3 = (var2 * var2 * 0x3d73 + 0xc0ae5) * var2 + 0x5208dd0d & Integer.MAX_VALUE;
return var3 >> 0x13 & 0xff;
}
}

View File

@@ -73,7 +73,8 @@ public class MouseRecorder implements Runnable {
signature = "(I)V",
garbageValue = "234130562"
)
static final void method1138() {
@Export("FriendSystem_friendsListFullMes")
static final void FriendSystem_friendsListFullMes() {
Object var10000 = null;
String var0 = "Your friend list is full. Max of 200 for free users, and 400 for members";
ScriptEvent.addGameMessage(30, "", var0);
@@ -113,7 +114,7 @@ public class MouseRecorder implements Runnable {
@Export("performPlayerAnimation")
static void performPlayerAnimation(Player var0, int var1, int var2) {
if (var0.sequence == var1 && var1 != -1) {
int var3 = GrandExchangeEvent.getSequenceDefinition(var1).field3529;
int var3 = GrandExchangeEvent.SequenceDefinition_get(var1).field3529;
if (var3 == 1) {
var0.sequenceFrame = 0;
var0.sequenceFrameCycle = 0;
@@ -124,7 +125,7 @@ public class MouseRecorder implements Runnable {
if (var3 == 2) {
var0.field985 = 0;
}
} else if (var1 == -1 || var0.sequence == -1 || GrandExchangeEvent.getSequenceDefinition(var1).field3533 >= GrandExchangeEvent.getSequenceDefinition(var0.sequence).field3533) {
} else if (var1 == -1 || var0.sequence == -1 || GrandExchangeEvent.SequenceDefinition_get(var1).field3533 >= GrandExchangeEvent.SequenceDefinition_get(var0.sequence).field3533) {
var0.sequence = var1;
var0.sequenceFrame = 0;
var0.sequenceFrameCycle = 0;

View File

@@ -489,27 +489,29 @@ public class MusicPatch extends Node {
RawSound var6 = null;
for (int var7 = 0; var7 < 128; ++var7) {
if (var2 == null || var2[var7] != 0) {
int var8 = this.field2480[var7];
if (var8 != 0) {
if (var8 != var5) {
var5 = var8--;
if ((var8 & 1) == 0) {
var6 = var1.getSoundEffect(var8 >> 2, var3);
} else {
var6 = var1.getMusicSample(var8 >> 2, var3);
}
if (var6 == null) {
var4 = false;
}
}
if (var6 != null) {
this.rawSounds[var7] = var6;
this.field2480[var7] = 0;
}
if (var2 != null && var2[var7] == 0) {
continue;
}
int var8 = this.field2480[var7];
if (var8 == 0) {
continue;
}
if (var8 != var5) {
var5 = var8--;
if ((var8 & 1) == 0) {
var6 = var1.getSoundEffect(var8 >> 2, var3);
} else {
var6 = var1.getMusicSample(var8 >> 2, var3);
}
if (var6 == null) {
var4 = false;
}
}
if (var6 != null) {
this.rawSounds[var7] = var6;
this.field2480[var7] = 0;
}
}
@@ -531,8 +533,8 @@ public class MusicPatch extends Node {
signature = "(IB)Lib;",
garbageValue = "-20"
)
@Export("getSpotAnimationDefinition")
public static SpotAnimationDefinition getSpotAnimationDefinition(int var0) {
@Export("SpotAnimationDefinition_get")
public static SpotAnimationDefinition SpotAnimationDefinition_get(int var0) {
SpotAnimationDefinition var1 = (SpotAnimationDefinition)SpotAnimationDefinition.SpotAnimationDefinition_cached.get((long)var0);
if (var1 != null) {
return var1;
@@ -553,7 +555,8 @@ public class MusicPatch extends Node {
signature = "(B)V",
garbageValue = "1"
)
public static void method3888() {
@Export("VarbitDefinition_clearCached")
public static void VarbitDefinition_clearCached() {
VarbitDefinition.VarbitDefinition_cached.clear();
}
@@ -562,11 +565,12 @@ public class MusicPatch extends Node {
signature = "(IIIIIIIIII)V",
garbageValue = "-1700353173"
)
static final void method3885(int var0, int var1, int var2, int var3, int var4, int var5, int var6, int var7, int var8) {
@Export("updatePendingSpawn")
static final void updatePendingSpawn(int plane, int x, int y, int type, int id, int var5, int orientation, int delay, int hitpoints) {
PendingSpawn var9 = null;
for (PendingSpawn var10 = (PendingSpawn)Client.pendingSpawns.last(); var10 != null; var10 = (PendingSpawn)Client.pendingSpawns.previous()) {
if (var0 == var10.plane && var10.x == var1 && var2 == var10.y && var3 == var10.type) {
if (plane == var10.plane && var10.x == x && y == var10.y && type == var10.type) {
var9 = var10;
break;
}
@@ -574,18 +578,18 @@ public class MusicPatch extends Node {
if (var9 == null) {
var9 = new PendingSpawn();
var9.plane = var0;
var9.type = var3;
var9.x = var1;
var9.y = var2;
var9.plane = plane;
var9.type = type;
var9.x = x;
var9.y = y;
class294.method5327(var9);
Client.pendingSpawns.addFirst(var9);
}
var9.id = var4;
var9.id = id;
var9.field940 = var5;
var9.orientation = var6;
var9.delay = var7;
var9.hitpoints = var8;
var9.orientation = orientation;
var9.delay = delay;
var9.hitpoints = hitpoints;
}
}

View File

@@ -61,7 +61,8 @@ public class MusicPatchNode2 {
signature = "(IS)I",
garbageValue = "17338"
)
static int method3686(int var0) {
@Export("Messages_getNextChatID")
static int Messages_getNextChatID(int var0) {
Message var1 = (Message)Messages.Messages_hashTable.get((long)var0);
if (var1 == null) {
return -1;

View File

@@ -61,7 +61,7 @@ public class MusicPatchPcmStream extends PcmStream {
var4 -= var7;
var1.field2444 += var6 * var7 - 1048576;
int var8 = CollisionMap.PcmPlayer_sampleRate / 100;
int var9 = 262144 / var6;
int var9 = 0x40000 / var6;
if (var9 < var8) {
var8 = var9;
}

View File

@@ -65,12 +65,10 @@ public class MusicTrack extends Node {
++var10;
} else if (var14 == 5) {
++var11;
} else {
if (var14 != 6) {
throw new RuntimeException();
}
} else if (var14 == 6) {
++var12;
} else {
throw new RuntimeException();
}
}
}
@@ -104,34 +102,32 @@ public class MusicTrack extends Node {
int var29;
for (var29 = 0; var29 < var6; ++var29) {
var28 = var28 + var1.readUnsignedByte() & 127;
if (var28 != 0 && var28 != 32) {
if (var28 == 1) {
++var16;
} else if (var28 == 33) {
++var17;
} else if (var28 == 7) {
++var18;
} else if (var28 == 39) {
++var19;
} else if (var28 == 10) {
++var20;
} else if (var28 == 42) {
++var21;
} else if (var28 == 99) {
++var22;
} else if (var28 == 98) {
++var23;
} else if (var28 == 101) {
++var24;
} else if (var28 == 100) {
++var25;
} else if (var28 != 64 && var28 != 65 && var28 != 120 && var28 != 121 && var28 != 123) {
++var27;
} else {
++var26;
}
} else {
if (var28 == 0 || var28 == 32) {
++var12;
} else if (var28 == 1) {
++var16;
} else if (var28 == 33) {
++var17;
} else if (var28 == 7) {
++var18;
} else if (var28 == 39) {
++var19;
} else if (var28 == 10) {
++var20;
} else if (var28 == 42) {
++var21;
} else if (var28 == 99) {
++var22;
} else if (var28 == 98) {
++var23;
} else if (var28 == 101) {
++var24;
} else if (var28 == 100) {
++var25;
} else if (var28 == 64 || var28 == 65 || var28 == 120 || var28 == 121 || var28 == 123) {
++var26;
} else {
++var27;
}
}
@@ -180,7 +176,7 @@ public class MusicTrack extends Node {
var1.offset += var5 * 3;
this.midi = new byte[var4];
Buffer var51 = new Buffer(this.midi);
var51.writeInt(1297377380);
var51.writeInt(0x4d546864);
var51.writeInt(6);
var51.writeShort(var2 > 1 ? 1 : 0);
var51.writeShort(var2);
@@ -198,137 +194,131 @@ public class MusicTrack extends Node {
label235:
for (int var60 = 0; var60 < var2; ++var60) {
var51.writeInt(1297379947);
var51.writeInt(0x4d54726b);
var51.offset += 4;
int var61 = var51.offset;
int var62 = -1;
while (true) {
while (true) {
int var63 = var1.readVarInt();
var51.writeVarInt(var63);
int var64 = var1.array[var29++] & 255;
boolean var65 = var64 != var62;
var62 = var64 & 15;
if (var64 == 7) {
if (var65) {
var51.writeByte(255);
}
var51.writeByte(47);
var51.writeByte(0);
var51.writeLengthInt(var51.offset - var61);
continue label235;
int var63 = var1.readVarInt();
var51.writeVarInt(var63);
int var64 = var1.array[var29++] & 255;
boolean var65 = var64 != var62;
var62 = var64 & 15;
if (var64 == 7) {
if (var65) {
var51.writeByte(255);
}
if (var64 == 23) {
if (var65) {
var51.writeByte(255);
}
var51.writeByte(47);
var51.writeByte(0);
var51.writeLengthInt(var51.offset - var61);
continue label235;
}
var51.writeByte(81);
var51.writeByte(3);
var51.writeByte(var1.array[var50++]);
var51.writeByte(var1.array[var50++]);
var51.writeByte(var1.array[var50++]);
if (var64 == 23) {
if (var65) {
var51.writeByte(255);
}
var51.writeByte(81);
var51.writeByte(3);
var51.writeByte(var1.array[var50++]);
var51.writeByte(var1.array[var50++]);
var51.writeByte(var1.array[var50++]);
continue;
}
var52 ^= var64 >> 4;
if (var62 == 0) {
if (var65) {
var51.writeByte(var52 + 144);
}
var53 += var1.array[var37++];
var54 += var1.array[var38++];
var51.writeByte(var53 & 127);
var51.writeByte(var54 & 127);
} else if (var62 == 1) {
if (var65) {
var51.writeByte(var52 + 128);
}
var53 += var1.array[var37++];
var55 += var1.array[var40++];
var51.writeByte(var53 & 127);
var51.writeByte(var55 & 127);
} else if (var62 == 2) {
if (var65) {
var51.writeByte(var52 + 176);
}
var28 = var28 + var1.array[var15++] & 127;
var51.writeByte(var28);
byte var66;
if (var28 == 0 || var28 == 32) {
var66 = var1.array[var44++];
} else if (var28 == 1) {
var66 = var1.array[var34++];
} else if (var28 == 33) {
var66 = var1.array[var41++];
} else if (var28 == 7) {
var66 = var1.array[var35++];
} else if (var28 == 39) {
var66 = var1.array[var42++];
} else if (var28 == 10) {
var66 = var1.array[var36++];
} else if (var28 == 42) {
var66 = var1.array[var43++];
} else if (var28 == 99) {
var66 = var1.array[var46++];
} else if (var28 == 98) {
var66 = var1.array[var47++];
} else if (var28 == 101) {
var66 = var1.array[var48++];
} else if (var28 == 100) {
var66 = var1.array[var49++];
} else if (var28 != 64 && var28 != 65 && var28 != 120 && var28 != 121 && var28 != 123) {
var66 = var1.array[var39++];
} else {
var52 ^= var64 >> 4;
if (var62 == 0) {
if (var65) {
var51.writeByte(var52 + 144);
}
var53 += var1.array[var37++];
var54 += var1.array[var38++];
var51.writeByte(var53 & 127);
var51.writeByte(var54 & 127);
} else if (var62 == 1) {
if (var65) {
var51.writeByte(var52 + 128);
}
var53 += var1.array[var37++];
var55 += var1.array[var40++];
var51.writeByte(var53 & 127);
var51.writeByte(var55 & 127);
} else if (var62 == 2) {
if (var65) {
var51.writeByte(var52 + 176);
}
var28 = var28 + var1.array[var15++] & 127;
var51.writeByte(var28);
byte var66;
if (var28 != 0 && var28 != 32) {
if (var28 == 1) {
var66 = var1.array[var34++];
} else if (var28 == 33) {
var66 = var1.array[var41++];
} else if (var28 == 7) {
var66 = var1.array[var35++];
} else if (var28 == 39) {
var66 = var1.array[var42++];
} else if (var28 == 10) {
var66 = var1.array[var36++];
} else if (var28 == 42) {
var66 = var1.array[var43++];
} else if (var28 == 99) {
var66 = var1.array[var46++];
} else if (var28 == 98) {
var66 = var1.array[var47++];
} else if (var28 == 101) {
var66 = var1.array[var48++];
} else if (var28 == 100) {
var66 = var1.array[var49++];
} else if (var28 != 64 && var28 != 65 && var28 != 120 && var28 != 121 && var28 != 123) {
var66 = var1.array[var39++];
} else {
var66 = var1.array[var30++];
}
} else {
var66 = var1.array[var44++];
}
int var67 = var66 + var59[var28];
var59[var28] = var67;
var51.writeByte(var67 & 127);
} else if (var62 == 3) {
if (var65) {
var51.writeByte(var52 + 224);
}
var56 += var1.array[var45++];
var56 += var1.array[var33++] << 7;
var51.writeByte(var56 & 127);
var51.writeByte(var56 >> 7 & 127);
} else if (var62 == 4) {
if (var65) {
var51.writeByte(var52 + 208);
}
var57 += var1.array[var32++];
var51.writeByte(var57 & 127);
} else if (var62 == 5) {
if (var65) {
var51.writeByte(var52 + 160);
}
var53 += var1.array[var37++];
var58 += var1.array[var31++];
var51.writeByte(var53 & 127);
var51.writeByte(var58 & 127);
} else {
if (var62 != 6) {
throw new RuntimeException();
}
if (var65) {
var51.writeByte(var52 + 192);
}
var51.writeByte(var1.array[var44++]);
}
var66 = var1.array[var30++];
}
int var67 = var66 + var59[var28];
var59[var28] = var67;
var51.writeByte(var67 & 127);
} else if (var62 == 3) {
if (var65) {
var51.writeByte(var52 + 224);
}
var56 += var1.array[var45++];
var56 += var1.array[var33++] << 7;
var51.writeByte(var56 & 127);
var51.writeByte(var56 >> 7 & 127);
} else if (var62 == 4) {
if (var65) {
var51.writeByte(var52 + 208);
}
var57 += var1.array[var32++];
var51.writeByte(var57 & 127);
} else if (var62 == 5) {
if (var65) {
var51.writeByte(var52 + 160);
}
var53 += var1.array[var37++];
var58 += var1.array[var31++];
var51.writeByte(var53 & 127);
var51.writeByte(var58 & 127);
} else if (var62 == 6) {
if (var65) {
var51.writeByte(var52 + 192);
}
var51.writeByte(var1.array[var44++]);
} else {
throw new RuntimeException();
}
}
}
@@ -337,83 +327,84 @@ public class MusicTrack extends Node {
@ObfuscatedName("w")
void method3925() {
if (this.table == null) {
this.table = new NodeHashTable(16);
int[] var1 = new int[16];
int[] var2 = new int[16];
var2[9] = 128;
var1[9] = 128;
MidiFileReader var4 = new MidiFileReader(this.midi);
int var5 = var4.trackCount();
int var6;
for (var6 = 0; var6 < var5; ++var6) {
var4.gotoTrack(var6);
var4.readTrackLength(var6);
var4.markTrackPosition(var6);
}
label53:
do {
while (true) {
var6 = var4.getPrioritizedTrack();
int var7 = var4.trackLengths[var6];
while (var7 == var4.trackLengths[var6]) {
var4.gotoTrack(var6);
int var8 = var4.readMessage(var6);
if (var8 == 1) {
var4.setTrackDone();
var4.markTrackPosition(var6);
continue label53;
}
int var9 = var8 & 240;
int var10;
int var11;
int var12;
if (var9 == 176) {
var10 = var8 & 15;
var11 = var8 >> 8 & 127;
var12 = var8 >> 16 & 127;
if (var11 == 0) {
var1[var10] = (var12 << 14) + (var1[var10] & -2080769);
}
if (var11 == 32) {
var1[var10] = (var1[var10] & -16257) + (var12 << 7);
}
}
if (var9 == 192) {
var10 = var8 & 15;
var11 = var8 >> 8 & 127;
var2[var10] = var11 + var1[var10];
}
if (var9 == 144) {
var10 = var8 & 15;
var11 = var8 >> 8 & 127;
var12 = var8 >> 16 & 127;
if (var12 > 0) {
int var13 = var2[var10];
ByteArrayNode var14 = (ByteArrayNode)this.table.get((long)var13);
if (var14 == null) {
var14 = new ByteArrayNode(new byte[128]);
this.table.put(var14, (long)var13);
}
var14.byteArray[var11] = 1;
}
}
var4.readTrackLength(var6);
var4.markTrackPosition(var6);
}
}
} while(!var4.isDone());
if (this.table != null) {
return;
}
this.table = new NodeHashTable(16);
int[] var1 = new int[16];
int[] var2 = new int[16];
var2[9] = 128;
var1[9] = 128;
MidiFileReader var4 = new MidiFileReader(this.midi);
int var5 = var4.trackCount();
int var6;
for (var6 = 0; var6 < var5; ++var6) {
var4.gotoTrack(var6);
var4.readTrackLength(var6);
var4.markTrackPosition(var6);
}
label53:
do {
while (true) {
var6 = var4.getPrioritizedTrack();
int var7 = var4.trackLengths[var6];
while (var7 == var4.trackLengths[var6]) {
var4.gotoTrack(var6);
int var8 = var4.readMessage(var6);
if (var8 == 1) {
var4.setTrackDone();
var4.markTrackPosition(var6);
continue label53;
}
int var9 = var8 & 240;
int var10;
int var11;
int var12;
if (var9 == 176) {
var10 = var8 & 15;
var11 = var8 >> 8 & 127;
var12 = var8 >> 16 & 127;
if (var11 == 0) {
var1[var10] = (var12 << 14) + (var1[var10] & 0xffe03fff);
}
if (var11 == 32) {
var1[var10] = (var1[var10] & 0xffffc07f) + (var12 << 7);
}
}
if (var9 == 192) {
var10 = var8 & 15;
var11 = var8 >> 8 & 127;
var2[var10] = var11 + var1[var10];
}
if (var9 == 144) {
var10 = var8 & 15;
var11 = var8 >> 8 & 127;
var12 = var8 >> 16 & 127;
if (var12 > 0) {
int var13 = var2[var10];
ByteArrayNode var14 = (ByteArrayNode)this.table.get((long)var13);
if (var14 == null) {
var14 = new ByteArrayNode(new byte[128]);
this.table.put(var14, (long)var13);
}
var14.byteArray[var11] = 1;
}
}
var4.readTrackLength(var6);
var4.markTrackPosition(var6);
}
}
} while(!var4.isDone());
}
@ObfuscatedName("e")

View File

@@ -66,7 +66,7 @@ public final class NPC extends Actor {
--var4;
}
if (super.sequence != -1 && GrandExchangeEvent.getSequenceDefinition(super.sequence).field3532 == 1) {
if (super.sequence != -1 && GrandExchangeEvent.SequenceDefinition_get(super.sequence).field3532 == 1) {
super.sequence = -1;
}
@@ -91,7 +91,7 @@ public final class NPC extends Actor {
garbageValue = "128"
)
final void method1963(int var1, int var2, boolean var3) {
if (super.sequence != -1 && GrandExchangeEvent.getSequenceDefinition(super.sequence).field3532 == 1) {
if (super.sequence != -1 && GrandExchangeEvent.SequenceDefinition_get(super.sequence).field3532 == 1) {
super.sequence = -1;
}
@@ -135,8 +135,8 @@ public final class NPC extends Actor {
if (this.definition == null) {
return null;
}
SequenceDefinition var1 = super.sequence != -1 && super.sequenceDelay == 0 ? GrandExchangeEvent.getSequenceDefinition(super.sequence) : null;
SequenceDefinition var2 = super.movementSequence != -1 && (super.readySequence != super.movementSequence || var1 == null) ? GrandExchangeEvent.getSequenceDefinition(super.movementSequence) : null;
SequenceDefinition var1 = super.sequence != -1 && super.sequenceDelay == 0 ? GrandExchangeEvent.SequenceDefinition_get(super.sequence) : null;
SequenceDefinition var2 = super.movementSequence != -1 && (super.readySequence != super.movementSequence || var1 == null) ? GrandExchangeEvent.SequenceDefinition_get(super.movementSequence) : null;
Model var3 = this.definition.getModel(var1, super.sequenceFrame, var2, super.movementFrame);
if (var3 == null) {
return null;
@@ -144,7 +144,7 @@ public final class NPC extends Actor {
var3.calculateBoundsCylinder();
super.defaultHeight = var3.height;
if (super.spotAnimation != -1 && super.spotAnimationFrame != -1) {
Model var4 = MusicPatch.getSpotAnimationDefinition(super.spotAnimation).getModel(super.spotAnimationFrame);
Model var4 = MusicPatch.SpotAnimationDefinition_get(super.spotAnimation).getModel(super.spotAnimationFrame);
if (var4 != null) {
var4.offsetBy(0, -super.heightOffset, 0);
Model[] var5 = new Model[]{var3, var4};
@@ -200,7 +200,7 @@ public final class NPC extends Actor {
return MenuAction.method1992(var0, var1, var2);
}
if (var0 < 1800) {
return class169.method3501(var0, var1, var2);
return FileSystem.method3501(var0, var1, var2);
}
if (var0 < 1900) {
return StudioGame.method4137(var0, var1, var2);

View File

@@ -148,12 +148,14 @@ public class NPCDefinition extends DualNode {
@ObfuscatedGetter(
intValue = -1025761835
)
int field3489;
@Export("ambient")
int ambient;
@ObfuscatedName("av")
@ObfuscatedGetter(
intValue = -704573687
)
int field3477;
@Export("contrast")
int contrast;
@ObfuscatedName("as")
@ObfuscatedGetter(
intValue = -958294189
@@ -164,7 +166,8 @@ public class NPCDefinition extends DualNode {
@ObfuscatedGetter(
intValue = 648485331
)
public int field3492;
@Export("rotation")
public int rotation;
@ObfuscatedName("ad")
@Export("transforms")
public int[] transforms;
@@ -217,10 +220,10 @@ public class NPCDefinition extends DualNode {
this.widthScale = 128;
this.heightScale = 128;
this.isVisible = false;
this.field3489 = 0;
this.field3477 = 0;
this.ambient = 0;
this.contrast = 0;
this.headIconPrayer = -1;
this.field3492 = 32;
this.rotation = 32;
this.transformVarbit = -1;
this.transformVarp = -1;
this.isInteractable = true;
@@ -328,13 +331,13 @@ public class NPCDefinition extends DualNode {
} else if (var2 == 99) {
this.isVisible = true;
} else if (var2 == 100) {
this.field3489 = var1.readByte();
this.ambient = var1.readByte();
} else if (var2 == 101) {
this.field3477 = var1.readByte() * 5;
this.contrast = var1.readByte() * 5;
} else if (var2 == 102) {
this.headIconPrayer = var1.readUnsignedShort();
} else if (var2 == 103) {
this.field3492 = var1.readUnsignedShort();
this.rotation = var1.readUnsignedShort();
} else if (var2 != 106 && var2 != 118) {
if (var2 == 107) {
this.isInteractable = false;
@@ -347,19 +350,19 @@ public class NPCDefinition extends DualNode {
}
} else {
this.transformVarbit = var1.readUnsignedShort();
if (this.transformVarbit == 65535) {
if (this.transformVarbit == 0xffff) {
this.transformVarbit = -1;
}
this.transformVarp = var1.readUnsignedShort();
if (this.transformVarp == 65535) {
if (this.transformVarp == 0xffff) {
this.transformVarp = -1;
}
var3 = -1;
if (var2 == 118) {
var3 = var1.readUnsignedShort();
if (var3 == 65535) {
if (var3 == 0xffff) {
var3 = -1;
}
}
@@ -369,7 +372,7 @@ public class NPCDefinition extends DualNode {
for (int var5 = 0; var5 <= var4; ++var5) {
this.transforms[var5] = var1.readUnsignedShort();
if (this.transforms[var5] == 65535) {
if (this.transforms[var5] == 0xffff) {
this.transforms[var5] = -1;
}
}
@@ -408,7 +411,7 @@ public class NPCDefinition extends DualNode {
int var9;
for (var9 = 0; var9 < this.models.length; ++var9) {
var8[var9] = ModelData.method2769(NpcDefinition_modelArchive, this.models[var9], 0);
var8[var9] = ModelData.ModelData_get(NpcDefinition_modelArchive, this.models[var9], 0);
}
ModelData var11;
@@ -430,7 +433,7 @@ public class NPCDefinition extends DualNode {
}
}
var5 = var11.toModel(this.field3489 + 64, this.field3477 + 850, -30, -50, -30);
var5 = var11.toModel(this.ambient + 64, this.contrast + 850, -30, -50, -30);
NpcDefinition_cachedModels.put(var5, (long)this.id);
}
@@ -480,7 +483,7 @@ public class NPCDefinition extends DualNode {
ModelData[] var6 = new ModelData[this.field3463.length];
for (int var3 = 0; var3 < this.field3463.length; ++var3) {
var6[var3] = ModelData.method2769(NpcDefinition_modelArchive, this.field3463[var3], 0);
var6[var3] = ModelData.ModelData_get(NpcDefinition_modelArchive, this.field3463[var3], 0);
}
ModelData var7;
@@ -561,19 +564,14 @@ public class NPCDefinition extends DualNode {
@Export("getIntParam")
public int getIntParam(int var1, int var2) {
IterableNodeHashTable var4 = this.params;
int var3;
if (var4 == null) {
var3 = var2;
} else {
IntegerNode var5 = (IntegerNode)var4.get((long)var1);
if (var5 == null) {
var3 = var2;
} else {
var3 = var5.integer;
}
return var2;
}
return var3;
IntegerNode var5 = (IntegerNode)var4.get((long)var1);
if (var5 == null) {
return var2;
}
return var5.integer;
}
@ObfuscatedName("x")

View File

@@ -18,12 +18,14 @@ public class NetCache {
@ObfuscatedGetter(
intValue = 351053657
)
static int field3163;
@Export("NetCache_loadTime")
static int NetCache_loadTime;
@ObfuscatedName("e")
@ObfuscatedGetter(
longValue = 906577835555410159L
)
static long field3169;
@Export("NetCache_timeMs")
static long NetCache_timeMs;
@ObfuscatedName("p")
@ObfuscatedSignature(
signature = "Llc;"
@@ -114,7 +116,7 @@ public class NetCache {
public static int NetCache_ioExceptions;
static {
field3163 = 0;
NetCache_loadTime = 0;
NetCache_pendingPriorityWrites = new NodeHashTable(4096);
NetCache_pendingPriorityWritesCount = 0;
NetCache_pendingPriorityResponses = new NodeHashTable(32);
@@ -138,12 +140,12 @@ public class NetCache {
signature = "(III)V",
garbageValue = "-1775821653"
)
static void method4312(int var0, int var1) {
@Export("calculateMenuBounds")
static void calculateMenuBounds(int x, int y) {
int var2 = WorldMapIcon_1.fontBold12.stringWidth("Choose Option");
int var3;
int var4;
for (var3 = 0; var3 < Client.menuOptionsCount; ++var3) {
for (int var3 = 0; var3 < Client.menuOptionsCount; ++var3) {
var4 = WorldMapIcon_1.fontBold12.stringWidth(WorldMapLabel.getMenuText(var3));
if (var4 > var2) {
var2 = var4;
@@ -151,8 +153,8 @@ public class NetCache {
}
var2 += 8;
var3 = Client.menuOptionsCount * 15 + 22;
var4 = var0 - var2 / 2;
int var3 = Client.menuOptionsCount * 15 + 22;
var4 = x - var2 / 2;
if (var2 + var4 > GrandExchangeEvent.canvasWidth) {
var4 = GrandExchangeEvent.canvasWidth - var2;
}
@@ -161,8 +163,8 @@ public class NetCache {
var4 = 0;
}
int var5 = var1;
if (var3 + var1 > ParamDefinition.canvasHeight) {
int var5 = y;
if (var3 + y > ParamDefinition.canvasHeight) {
var5 = ParamDefinition.canvasHeight - var3;
}

View File

@@ -43,24 +43,25 @@ public class NetFileRequest extends DualNode {
signature = "(IIIIIB)V",
garbageValue = "-20"
)
static final void method4139(int var0, int var1, int var2, int var3, int var4) {
GrandExchangeOfferAgeComparator.scrollBarSprites[0].drawAt(var0, var1);
GrandExchangeOfferAgeComparator.scrollBarSprites[1].drawAt(var0, var3 + var1 - 16);
Rasterizer2D.Rasterizer2D_fillRectangle(var0, var1 + 16, 16, var3 - 32, Client.field715);
int var5 = var3 * (var3 - 32) / var4;
@Export("drawScrollBar")
static final void drawScrollBar(int x, int y, int scrollY, int height, int scrollHeight) {
GrandExchangeOfferAgeComparator.scrollBarSprites[0].drawAt(x, y);
GrandExchangeOfferAgeComparator.scrollBarSprites[1].drawAt(x, height + y - 16);
Rasterizer2D.Rasterizer2D_fillRectangle(x, y + 16, 16, height - 32, Client.field715);
int var5 = height * (height - 32) / scrollHeight;
if (var5 < 8) {
var5 = 8;
}
int var6 = (var3 - 32 - var5) * var2 / (var4 - var3);
Rasterizer2D.Rasterizer2D_fillRectangle(var0, var6 + var1 + 16, 16, var5, Client.field716);
Rasterizer2D.Rasterizer2D_drawVerticalLine(var0, var6 + var1 + 16, var5, Client.field772);
Rasterizer2D.Rasterizer2D_drawVerticalLine(var0 + 1, var6 + var1 + 16, var5, Client.field772);
Rasterizer2D.Rasterizer2D_drawHorizontalLine(var0, var6 + var1 + 16, 16, Client.field772);
Rasterizer2D.Rasterizer2D_drawHorizontalLine(var0, var6 + var1 + 17, 16, Client.field772);
Rasterizer2D.Rasterizer2D_drawVerticalLine(var0 + 15, var6 + var1 + 16, var5, Client.field720);
Rasterizer2D.Rasterizer2D_drawVerticalLine(var0 + 14, var6 + var1 + 17, var5 - 1, Client.field720);
Rasterizer2D.Rasterizer2D_drawHorizontalLine(var0, var6 + var5 + var1 + 15, 16, Client.field720);
Rasterizer2D.Rasterizer2D_drawHorizontalLine(var0 + 1, var5 + var6 + var1 + 14, 15, Client.field720);
int var6 = (height - 32 - var5) * scrollY / (scrollHeight - height);
Rasterizer2D.Rasterizer2D_fillRectangle(x, var6 + y + 16, 16, var5, Client.field716);
Rasterizer2D.Rasterizer2D_drawVerticalLine(x, var6 + y + 16, var5, Client.field772);
Rasterizer2D.Rasterizer2D_drawVerticalLine(x + 1, var6 + y + 16, var5, Client.field772);
Rasterizer2D.Rasterizer2D_drawHorizontalLine(x, var6 + y + 16, 16, Client.field772);
Rasterizer2D.Rasterizer2D_drawHorizontalLine(x, var6 + y + 17, 16, Client.field772);
Rasterizer2D.Rasterizer2D_drawVerticalLine(x + 15, var6 + y + 16, var5, Client.field720);
Rasterizer2D.Rasterizer2D_drawVerticalLine(x + 14, var6 + y + 17, var5 - 1, Client.field720);
Rasterizer2D.Rasterizer2D_drawHorizontalLine(x, var6 + var5 + y + 15, 16, Client.field720);
Rasterizer2D.Rasterizer2D_drawHorizontalLine(x + 1, var5 + var6 + y + 14, 15, Client.field720);
}
}

View File

@@ -225,73 +225,66 @@ public final class NetSocket extends AbstractSocket implements Runnable {
public void run() {
try {
while (true) {
label84: {
int var1;
int var2;
synchronized(this) {
if (this.outOffset == this.outLength) {
if (this.isClosed) {
break label84;
}
try {
this.wait();
} catch (InterruptedException var10) {
}
int var1;
int var2;
synchronized(this) {
if (this.outOffset == this.outLength) {
if (this.isClosed) {
break;
}
var2 = this.outLength;
if (this.outOffset >= this.outLength) {
var1 = this.outOffset - this.outLength;
} else {
var1 = this.bufferLength - this.outLength;
try {
this.wait();
} catch (InterruptedException var10) {
}
}
if (var1 <= 0) {
continue;
var2 = this.outLength;
if (this.outOffset >= this.outLength) {
var1 = this.outOffset - this.outLength;
} else {
var1 = this.bufferLength - this.outLength;
}
}
try {
this.outputStream.write(this.outBuffer, var2, var1);
} catch (IOException var9) {
this.exceptionWriting = true;
}
this.outLength = (var1 + this.outLength) % this.bufferLength;
try {
if (this.outOffset == this.outLength) {
this.outputStream.flush();
}
} catch (IOException var8) {
this.exceptionWriting = true;
}
if (var1 <= 0) {
continue;
}
try {
if (this.inputStream != null) {
this.inputStream.close();
}
if (this.outputStream != null) {
this.outputStream.close();
}
if (this.socket != null) {
this.socket.close();
}
} catch (IOException var7) {
this.outputStream.write(this.outBuffer, var2, var1);
} catch (IOException var9) {
this.exceptionWriting = true;
}
this.outBuffer = null;
break;
this.outLength = (var1 + this.outLength) % this.bufferLength;
try {
if (this.outOffset == this.outLength) {
this.outputStream.flush();
}
} catch (IOException var8) {
this.exceptionWriting = true;
}
}
} catch (Exception var12) {
HitSplatDefinition.sendStackTrace((String)null, var12);
HitSplatDefinition.RunException_sendStackTrace((String)null, var12);
}
try {
if (this.inputStream != null) {
this.inputStream.close();
}
if (this.outputStream != null) {
this.outputStream.close();
}
if (this.socket != null) {
this.socket.close();
}
} catch (IOException var7) {
}
this.outBuffer = null;
}
@ObfuscatedName("w")
@@ -299,11 +292,12 @@ public final class NetSocket extends AbstractSocket implements Runnable {
signature = "(II)Lkl;",
garbageValue = "939071894"
)
public static class310 method3530(int var0) {
class310[] var1 = UserComparator9.method3383();
@Export("ChatMode_find")
public static PrivateChatMode ChatMode_find(int var0) {
PrivateChatMode[] var1 = UserComparator9.ChatMode_values();
for (int var2 = 0; var2 < var1.length; ++var2) {
class310 var3 = var1[var2];
PrivateChatMode var3 = var1[var2];
if (var0 == var3.field3815) {
return var3;
}

View File

@@ -58,9 +58,11 @@ public class ObjectDefinition extends DualNode {
@Export("id")
public int id;
@ObfuscatedName("f")
int[] field3362;
@Export("modelIds")
int[] modelIds;
@ObfuscatedName("m")
int[] field3359;
@Export("models")
int[] models;
@ObfuscatedName("u")
@Export("name")
public String name;
@@ -311,7 +313,7 @@ public class ObjectDefinition extends DualNode {
void postDecode() {
if (this.int1 == -1) {
this.int1 = 0;
if (this.field3362 != null && (this.field3359 == null || this.field3359[0] == 10)) {
if (this.modelIds != null && (this.models == null || this.models[0] == 10)) {
this.int1 = 1;
}
@@ -356,34 +358,36 @@ public class ObjectDefinition extends DualNode {
int var4;
if (var2 == 1) {
var3 = var1.readUnsignedByte();
if (var3 > 0) {
if (this.field3362 != null && !ObjectDefinition_isLowDetail) {
var1.offset += 3 * var3;
} else {
this.field3359 = new int[var3];
this.field3362 = new int[var3];
if (var3 <= 0) {
return;
}
if (this.modelIds == null || ObjectDefinition_isLowDetail) {
this.models = new int[var3];
this.modelIds = new int[var3];
for (var4 = 0; var4 < var3; ++var4) {
this.field3362[var4] = var1.readUnsignedShort();
this.field3359[var4] = var1.readUnsignedByte();
}
for (var4 = 0; var4 < var3; ++var4) {
this.modelIds[var4] = var1.readUnsignedShort();
this.models[var4] = var1.readUnsignedByte();
}
} else {
var1.offset += 3 * var3;
}
} else if (var2 == 2) {
this.name = var1.readStringCp1252NullTerminated();
} else if (var2 == 5) {
var3 = var1.readUnsignedByte();
if (var3 > 0) {
if (this.field3362 != null && !ObjectDefinition_isLowDetail) {
var1.offset += var3 * 2;
} else {
this.field3359 = null;
this.field3362 = new int[var3];
if (var3 <= 0) {
return;
}
if (this.modelIds == null || ObjectDefinition_isLowDetail) {
this.models = null;
this.modelIds = new int[var3];
for (var4 = 0; var4 < var3; ++var4) {
this.field3362[var4] = var1.readUnsignedShort();
}
for (var4 = 0; var4 < var3; ++var4) {
this.modelIds[var4] = var1.readUnsignedShort();
}
} else {
var1.offset += var3 * 2;
}
} else if (var2 == 14) {
this.sizeX = var1.readUnsignedByte();
@@ -404,7 +408,7 @@ public class ObjectDefinition extends DualNode {
this.modelClipped = true;
} else if (var2 == 24) {
this.animationId = var1.readUnsignedShort();
if (this.animationId == 65535) {
if (this.animationId == 0xffff) {
this.animationId = -1;
}
} else if (var2 == 27) {
@@ -464,42 +468,21 @@ public class ObjectDefinition extends DualNode {
this.isSolid = true;
} else if (var2 == 75) {
this.int3 = var1.readUnsignedByte();
} else if (var2 != 77 && var2 != 92) {
if (var2 == 78) {
this.ambientSoundId = var1.readUnsignedShort();
this.int4 = var1.readUnsignedByte();
} else if (var2 == 79) {
this.int5 = var1.readUnsignedShort();
this.int6 = var1.readUnsignedShort();
this.int4 = var1.readUnsignedByte();
var3 = var1.readUnsignedByte();
this.soundEffectIds = new int[var3];
for (var4 = 0; var4 < var3; ++var4) {
this.soundEffectIds[var4] = var1.readUnsignedShort();
}
} else if (var2 == 81) {
this.clipType = var1.readUnsignedByte() * 65536;
} else if (var2 == 82) {
this.mapIconId = var1.readUnsignedShort();
} else if (var2 == 249) {
this.params = WorldMapArea.readStringIntParameters(var1, this.params);
}
} else {
} else if (var2 == 77 || var2 == 92) {
this.transformVarbit = var1.readUnsignedShort();
if (this.transformVarbit == 65535) {
if (this.transformVarbit == 0xffff) {
this.transformVarbit = -1;
}
this.transformVarp = var1.readUnsignedShort();
if (this.transformVarp == 65535) {
if (this.transformVarp == 0xffff) {
this.transformVarp = -1;
}
var3 = -1;
if (var2 == 92) {
var3 = var1.readUnsignedShort();
if (var3 == 65535) {
if (var3 == 0xffff) {
var3 = -1;
}
}
@@ -509,14 +492,33 @@ public class ObjectDefinition extends DualNode {
for (int var5 = 0; var5 <= var4; ++var5) {
this.transforms[var5] = var1.readUnsignedShort();
if (this.transforms[var5] == 65535) {
if (this.transforms[var5] == 0xffff) {
this.transforms[var5] = -1;
}
}
this.transforms[var4 + 1] = var3;
}
} else if (var2 == 78) {
this.ambientSoundId = var1.readUnsignedShort();
this.int4 = var1.readUnsignedByte();
} else if (var2 == 79) {
this.int5 = var1.readUnsignedShort();
this.int6 = var1.readUnsignedShort();
this.int4 = var1.readUnsignedByte();
var3 = var1.readUnsignedByte();
this.soundEffectIds = new int[var3];
for (var4 = 0; var4 < var3; ++var4)
{
this.soundEffectIds[var4] = var1.readUnsignedShort();
}
} else if (var2 == 81) {
this.clipType = var1.readUnsignedByte() * 65536;
} else if (var2 == 82) {
this.mapIconId = var1.readUnsignedShort();
} else if (var2 == 249) {
this.params = WorldMapArea.readStringIntParameters(var1, this.params);
}
}
@ObfuscatedName("k")
@@ -525,16 +527,16 @@ public class ObjectDefinition extends DualNode {
garbageValue = "-672143890"
)
public final boolean method4589(int var1) {
if (this.field3359 != null) {
for (int var4 = 0; var4 < this.field3359.length; ++var4) {
if (this.field3359[var4] == var1) {
return ObjectDefinition_modelsArchive.tryLoadFile(this.field3362[var4] & 65535, 0);
if (this.models != null) {
for (int var4 = 0; var4 < this.models.length; ++var4) {
if (this.models[var4] == var1) {
return ObjectDefinition_modelsArchive.tryLoadFile(this.modelIds[var4] & 0xffff, 0);
}
}
return true;
}
if (this.field3362 == null) {
if (this.modelIds == null) {
return true;
}
if (var1 != 10) {
@@ -542,8 +544,8 @@ public class ObjectDefinition extends DualNode {
}
boolean var2 = true;
for (int var3 = 0; var3 < this.field3362.length; ++var3) {
var2 &= ObjectDefinition_modelsArchive.tryLoadFile(this.field3362[var3] & 65535, 0);
for (int var3 = 0; var3 < this.modelIds.length; ++var3) {
var2 &= ObjectDefinition_modelsArchive.tryLoadFile(this.modelIds[var3] & 0xffff, 0);
}
return var2;
@@ -554,14 +556,15 @@ public class ObjectDefinition extends DualNode {
signature = "(I)Z",
garbageValue = "-275510577"
)
public final boolean method4608() {
if (this.field3362 == null) {
@Export("needsModelFiles")
public final boolean needsModelFiles() {
if (this.modelIds == null) {
return true;
}
boolean var1 = true;
for (int var2 = 0; var2 < this.field3362.length; ++var2) {
var1 &= ObjectDefinition_modelsArchive.tryLoadFile(this.field3362[var2] & 65535, 0);
for (int var2 = 0; var2 < this.modelIds.length; ++var2) {
var1 &= ObjectDefinition_modelsArchive.tryLoadFile(this.modelIds[var2] & 0xffff, 0);
}
return var1;
@@ -575,7 +578,7 @@ public class ObjectDefinition extends DualNode {
@Export("getEntity")
public final Entity getEntity(int type, int rotation, int[][] tileHeights, int xPacked, int avgHeight, int yPacked) {
long var7;
if (this.field3359 == null) {
if (this.models == null) {
var7 = (long)(rotation + (this.id << 10));
} else {
var7 = (long)(rotation + (type << 3) + (this.id << 10));
@@ -591,9 +594,9 @@ public class ObjectDefinition extends DualNode {
if (!this.nonFlatShading) {
var9 = var10.toModel(this.ambient + 64, this.contrast * 25 + 768, -50, -10, -50);
} else {
var10.field1580 = (short)(this.ambient + 64);
var10.field1577 = (short)(this.contrast * 25 + 768);
var10.method2787();
var10.ambient = (short)(this.ambient + 64);
var10.contrast = (short)(this.contrast * 25 + 768);
var10.calculateVertexNormals();
var9 = var10;
}
@@ -623,7 +626,7 @@ public class ObjectDefinition extends DualNode {
@Export("getModel")
public final Model getModel(int type, int rotation, int[][] tileHeights, int xPacked, int avgHeight, int yPacked) {
long var7;
if (this.field3359 == null) {
if (this.models == null) {
var7 = (long)(rotation + (this.id << 10));
} else {
var7 = (long)(rotation + (type << 3) + (this.id << 10));
@@ -655,7 +658,7 @@ public class ObjectDefinition extends DualNode {
@Export("getModelDynamic")
public final Model getModelDynamic(int var1, int var2, int[][] var3, int var4, int var5, int var6, SequenceDefinition var7, int var8) {
long var9;
if (this.field3359 == null) {
if (this.models == null) {
var9 = (long)(var2 + (this.id << 10));
} else {
var9 = (long)(var2 + (var1 << 3) + (this.id << 10));
@@ -699,12 +702,12 @@ public class ObjectDefinition extends DualNode {
boolean var4;
int var5;
int var7;
if (this.field3359 == null) {
if (this.models == null) {
if (type != 10) {
return null;
}
if (this.field3362 == null) {
if (this.modelIds == null) {
return null;
}
@@ -713,17 +716,17 @@ public class ObjectDefinition extends DualNode {
var4 = !var4;
}
var5 = this.field3362.length;
var5 = this.modelIds.length;
for (int var6 = 0; var6 < var5; ++var6) {
var7 = this.field3362[var6];
var7 = this.modelIds[var6];
if (var4) {
var7 += 65536;
}
var3 = (ModelData)ObjectDefinition_cachedModelData.get((long)var7);
if (var3 == null) {
var3 = ModelData.method2769(ObjectDefinition_modelsArchive, var7 & 65535, 0);
var3 = ModelData.ModelData_get(ObjectDefinition_modelsArchive, var7 & 0xffff, 0);
if (var3 == null) {
return null;
}
@@ -746,8 +749,8 @@ public class ObjectDefinition extends DualNode {
} else {
int var9 = -1;
for (var5 = 0; var5 < this.field3359.length; ++var5) {
if (this.field3359[var5] == type) {
for (var5 = 0; var5 < this.models.length; ++var5) {
if (this.models[var5] == type) {
var9 = var5;
break;
}
@@ -757,7 +760,7 @@ public class ObjectDefinition extends DualNode {
return null;
}
var5 = this.field3362[var9];
var5 = this.modelIds[var9];
boolean var10 = this.isRotated ^ rotation > 3;
if (var10) {
var5 += 65536;
@@ -765,7 +768,7 @@ public class ObjectDefinition extends DualNode {
var3 = (ModelData)ObjectDefinition_cachedModelData.get((long)var5);
if (var3 == null) {
var3 = ModelData.method2769(ObjectDefinition_modelsArchive, var5 & 65535, 0);
var3 = ModelData.ModelData_get(ObjectDefinition_modelsArchive, var5 & 0xffff, 0);
if (var3 == null) {
return null;
}
@@ -794,7 +797,7 @@ public class ObjectDefinition extends DualNode {
ModelData var8 = new ModelData(var3, rotation == 0 && !var4 && !var11, null == this.recolorFrom, this.retextureFrom == null, true);
if (type == 4 && rotation > 3) {
var8.method2781(256);
var8.method2782(45, 0, -45);
var8.changeOffset(45, 0, -45);
}
rotation &= 3;
@@ -819,11 +822,11 @@ public class ObjectDefinition extends DualNode {
}
if (var4) {
var8.method2786(this.modelSizeX, this.modelHeight, this.modelSizeY);
var8.resize(this.modelSizeX, this.modelHeight, this.modelSizeY);
}
if (var11) {
var8.method2782(this.offsetX, this.offsetHeight, this.offsetY);
var8.changeOffset(this.offsetX, this.offsetHeight, this.offsetY);
}
return var8;

View File

@@ -29,7 +29,7 @@ public class PacketBuffer extends Buffer {
int bitIndex;
static {
field3724 = new int[]{0, 1, 3, 7, 15, 31, 63, 127, 255, 511, 1023, 2047, 4095, 8191, 16383, 32767, 65535, 131071, 262143, 524287, 1048575, 2097151, 4194303, 8388607, 0xffffff, 33554431, 67108863, 134217727, 0xfffffff, 536870911, 1073741823, Integer.MAX_VALUE, -1};
field3724 = new int[]{0, 1, 3, 7, 15, 31, 63, 127, 255, 511, 1023, 2047, 4095, 8191, 16383, 0x7fff, 0xffff, 131071, 262143, 524287, 1048575, 2097151, 4194303, 8388607, 0xffffff, 33554431, 67108863, 134217727, 0xfffffff, 536870911, 1073741823, Integer.MAX_VALUE, -1};
}
public PacketBuffer(int var1) {

View File

@@ -60,7 +60,8 @@ public class PacketBufferNode extends Node {
signature = "(B)V",
garbageValue = "-108"
)
public void method3620() {
@Export("release")
public void release() {
if (PacketBufferNode_packetBufferNodeCount < PacketBufferNode_packetBufferNodes.length) {
PacketBufferNode_packetBufferNodes[++PacketBufferNode_packetBufferNodeCount - 1] = this;
}
@@ -81,7 +82,8 @@ public class PacketBufferNode extends Node {
signature = "(CLgu;I)C",
garbageValue = "1821592074"
)
static char method3623(char var0, Language var1) {
@Export("standardizeChar")
static char standardizeChar(char var0, Language var1) {
if (var0 >= 192 && var0 <= 255) {
if (var0 >= 192 && var0 <= 198) {
return 'A';
@@ -195,408 +197,409 @@ public class PacketBufferNode extends Node {
if (!var0) {
Client.field709 = 1;
} else {
Client.field707 = 0;
var0 = true;
return;
}
Client.field707 = 0;
var0 = true;
int var3;
int var4;
for (var1 = 0; var1 < class13.regionLandArchives.length; ++var1) {
byte[] var2 = class80.regionMapArchives[var1];
if (var2 != null) {
var3 = (DirectByteArrayCopier.regions[var1] >> 8) * 64 - MusicPatchNode2.baseX * 64;
var4 = (DirectByteArrayCopier.regions[var1] & 255) * 64 - class1.baseY * 64;
if (Client.isInInstance) {
var3 = 10;
var4 = 10;
}
var0 &= Huffman.method3947(var2, var3, var4);
}
}
if (!var0) {
Client.field709 = 2;
} else {
if (Client.field709 != 0) {
TriBool.drawLoadingMessage("Loading - please wait." + "<br>" + " (" + 100 + "%" + ")", true);
}
class186.playPcmPlayers();
GrandExchangeOfferWorldComparator.scene.clear();
for (var1 = 0; var1 < 4; ++var1) {
Client.collisionMaps[var1].clear();
}
int var49;
for (var1 = 0; var1 < 4; ++var1) {
for (var49 = 0; var49 < 104; ++var49) {
for (var3 = 0; var3 < 104; ++var3) {
Tiles.Tiles_renderFlags[var1][var49][var3] = 0;
}
}
}
class186.playPcmPlayers();
Tiles.Tiles_minPlane = 99;
Tiles.field504 = new byte[4][104][104];
Tiles.field505 = new byte[4][104][104];
Tiles.field506 = new byte[4][104][104];
class268.field3561 = new byte[4][104][104];
FaceNormal.field1887 = new int[4][105][105];
class32.field282 = new byte[4][105][105];
Tiles.field515 = new int[105][105];
ServerBuild.Tiles_hue = new int[104];
Tiles.Tiles_saturation = new int[104];
Tiles.Tiles_lightness = new int[104];
DynamicObject.Tiles_hueMultiplier = new int[104];
Fonts.field3689 = new int[104];
var1 = class13.regionLandArchives.length;
for (ObjectSound var55 = (ObjectSound)ObjectSound.objectSounds.last(); var55 != null; var55 = (ObjectSound)ObjectSound.objectSounds.previous()) {
if (var55.stream1 != null) {
SecureRandomCallable.pcmStreamMixer.removeSubStream(var55.stream1);
var55.stream1 = null;
}
if (var55.stream2 != null) {
SecureRandomCallable.pcmStreamMixer.removeSubStream(var55.stream2);
var55.stream2 = null;
}
}
ObjectSound.objectSounds.clear();
WorldMapElement.method4368(true);
int var6;
int var7;
int var9;
int var10;
int var11;
int var12;
int var51;
if (!Client.isInInstance) {
byte[] var5;
for (var49 = 0; var49 < var1; ++var49) {
var3 = (DirectByteArrayCopier.regions[var49] >> 8) * 64 - MusicPatchNode2.baseX * 64;
var4 = (DirectByteArrayCopier.regions[var49] & 255) * 64 - class1.baseY * 64;
var5 = class13.regionLandArchives[var49];
if (var5 != null) {
class186.playPcmPlayers();
var6 = Canvas.field418 * 8 - 48;
var7 = ViewportMouse.field1747 * 8 - 48;
CollisionMap[] var8 = Client.collisionMaps;
for (var9 = 0; var9 < 4; ++var9) {
for (var10 = 0; var10 < 64; ++var10) {
for (var11 = 0; var11 < 64; ++var11) {
if (var3 + var10 > 0 && var10 + var3 < 103 && var11 + var4 > 0 && var11 + var4 < 103) {
int[] var10000 = var8[var9].flags[var3 + var10];
var10000[var11 + var4] &= -16777217;
}
}
}
}
Buffer var50 = new Buffer(var5);
for (var10 = 0; var10 < 4; ++var10) {
for (var11 = 0; var11 < 64; ++var11) {
for (var12 = 0; var12 < 64; ++var12) {
WorldMapLabel.loadTerrain(var50, var10, var3 + var11, var4 + var12, var6, var7, 0);
}
}
}
}
}
for (var49 = 0; var49 < var1; ++var49) {
var3 = (DirectByteArrayCopier.regions[var49] >> 8) * 64 - MusicPatchNode2.baseX * 64;
var4 = (DirectByteArrayCopier.regions[var49] & 255) * 64 - class1.baseY * 64;
var5 = class13.regionLandArchives[var49];
if (var5 == null && ViewportMouse.field1747 < 800) {
class186.playPcmPlayers();
Players.method2092(var3, var4, 64, 64);
}
}
WorldMapElement.method4368(true);
for (var49 = 0; var49 < var1; ++var49) {
byte[] var53 = class80.regionMapArchives[var49];
if (var53 != null) {
var4 = (DirectByteArrayCopier.regions[var49] >> 8) * 64 - MusicPatchNode2.baseX * 64;
var51 = (DirectByteArrayCopier.regions[var49] & 255) * 64 - class1.baseY * 64;
class186.playPcmPlayers();
AbstractByteArrayCopier.method3933(var53, var4, var51, GrandExchangeOfferWorldComparator.scene, Client.collisionMaps);
}
}
}
int var52;
int var3;
int var4;
for (var1 = 0; var1 < class13.regionLandArchives.length; ++var1) {
byte[] var2 = class80.regionMapArchives[var1];
if (var2 != null) {
var3 = (DirectByteArrayCopier.regions[var1] >> 8) * 64 - MusicPatchNode2.baseX * 64;
var4 = (DirectByteArrayCopier.regions[var1] & 255) * 64 - class1.baseY * 64;
if (Client.isInInstance) {
for (var49 = 0; var49 < 4; ++var49) {
class186.playPcmPlayers();
for (var3 = 0; var3 < 13; ++var3) {
for (var4 = 0; var4 < 13; ++var4) {
boolean var56 = false;
var6 = Client.instanceChunkTemplates[var49][var3][var4];
if (var6 != -1) {
var7 = var6 >> 24 & 3;
var52 = var6 >> 1 & 3;
var9 = var6 >> 14 & 1023;
var10 = var6 >> 3 & 2047;
var11 = (var9 / 8 << 8) + var10 / 8;
for (var12 = 0; var12 < DirectByteArrayCopier.regions.length; ++var12) {
if (DirectByteArrayCopier.regions[var12] == var11 && class13.regionLandArchives[var12] != null) {
ScriptFrame.method1088(class13.regionLandArchives[var12], var49, var3 * 8, var4 * 8, var7, (var9 & 7) * 8, (var10 & 7) * 8, var52, Client.collisionMaps);
var56 = true;
break;
}
}
}
if (!var56) {
var7 = var49;
var52 = var3 * 8;
var9 = var4 * 8;
for (var10 = 0; var10 < 8; ++var10) {
for (var11 = 0; var11 < 8; ++var11) {
Tiles.Tiles_heights[var7][var52 + var10][var11 + var9] = 0;
}
}
if (var52 > 0) {
for (var10 = 1; var10 < 8; ++var10) {
Tiles.Tiles_heights[var7][var52][var9 + var10] = Tiles.Tiles_heights[var7][var52 - 1][var9 + var10];
}
}
if (var9 > 0) {
for (var10 = 1; var10 < 8; ++var10) {
Tiles.Tiles_heights[var7][var52 + var10][var9] = Tiles.Tiles_heights[var7][var52 + var10][var9 - 1];
}
}
if (var52 > 0 && Tiles.Tiles_heights[var7][var52 - 1][var9] != 0) {
Tiles.Tiles_heights[var7][var52][var9] = Tiles.Tiles_heights[var7][var52 - 1][var9];
} else if (var9 > 0 && Tiles.Tiles_heights[var7][var52][var9 - 1] != 0) {
Tiles.Tiles_heights[var7][var52][var9] = Tiles.Tiles_heights[var7][var52][var9 - 1];
} else if (var52 > 0 && var9 > 0 && Tiles.Tiles_heights[var7][var52 - 1][var9 - 1] != 0) {
Tiles.Tiles_heights[var7][var52][var9] = Tiles.Tiles_heights[var7][var52 - 1][var9 - 1];
}
}
}
}
}
for (var49 = 0; var49 < 13; ++var49) {
for (var3 = 0; var3 < 13; ++var3) {
var4 = Client.instanceChunkTemplates[0][var49][var3];
if (var4 == -1) {
Players.method2092(var49 * 8, var3 * 8, 8, 8);
}
}
}
WorldMapElement.method4368(true);
for (var49 = 0; var49 < 4; ++var49) {
class186.playPcmPlayers();
for (var3 = 0; var3 < 13; ++var3) {
label447:
for (var4 = 0; var4 < 13; ++var4) {
var51 = Client.instanceChunkTemplates[var49][var3][var4];
if (var51 == -1) {
continue;
}
var6 = var51 >> 24 & 3;
var7 = var51 >> 1 & 3;
var52 = var51 >> 14 & 1023;
var9 = var51 >> 3 & 2047;
var10 = (var52 / 8 << 8) + var9 / 8;
for (var11 = 0; var11 < DirectByteArrayCopier.regions.length; ++var11) {
if (DirectByteArrayCopier.regions[var11] != var10 || class80.regionMapArchives[var11] == null) {
continue;
}
byte[] var54 = class80.regionMapArchives[var11];
int var13 = var3 * 8;
int var14 = var4 * 8;
int var15 = (var52 & 7) * 8;
int var16 = (var9 & 7) * 8;
Scene var17 = GrandExchangeOfferWorldComparator.scene;
CollisionMap[] var18 = Client.collisionMaps;
Buffer var19 = new Buffer(var54);
int var20 = -1;
while (true) {
int var21 = var19.method5509();
if (var21 == 0) {
continue label447;
}
var20 += var21;
int var22 = 0;
while (true) {
int var23 = var19.readUShortSmart();
if (var23 == 0) {
break;
}
var22 += var23 - 1;
int var24 = var22 & 63;
int var25 = var22 >> 6 & 63;
int var26 = var22 >> 12;
int var27 = var19.readUnsignedByte();
int var28 = var27 >> 2;
int var29 = var27 & 3;
if (var6 != var26 || var25 < var15 || var25 >= var15 + 8 || var24 < var16 || var24 >= var16 + 8) {
continue;
}
ObjectDefinition var30 = ViewportMouse.getObjectDefinition(var20);
int var33 = var25 & 7;
int var34 = var24 & 7;
int var36 = var30.sizeX;
int var37 = var30.sizeY;
int var38;
if ((var29 & 1) == 1) {
var38 = var36;
var36 = var37;
var37 = var38;
}
int var35 = var7 & 3;
int var32;
if (var35 == 0) {
var32 = var33;
} else if (var35 == 1) {
var32 = var34;
} else if (var35 == 2) {
var32 = 7 - var33 - (var36 - 1);
} else {
var32 = 7 - var34 - (var37 - 1);
}
var38 = var32 + var13;
int var41 = var25 & 7;
int var42 = var24 & 7;
int var44 = var30.sizeX;
int var45 = var30.sizeY;
int var46;
if ((var29 & 1) == 1) {
var46 = var44;
var44 = var45;
var45 = var46;
}
int var43 = var7 & 3;
int var40;
if (var43 == 0) {
var40 = var42;
} else if (var43 == 1) {
var40 = 7 - var41 - (var44 - 1);
} else if (var43 == 2) {
var40 = 7 - var42 - (var45 - 1);
} else {
var40 = var41;
}
var46 = var40 + var14;
if (var38 <= 0 || var46 <= 0 || var38 >= 103 || var46 >= 103) {
continue;
}
int var47 = var49;
if ((Tiles.Tiles_renderFlags[1][var38][var46] & 2) == 2) {
var47 = var49 - 1;
}
CollisionMap var48 = null;
if (var47 >= 0) {
var48 = var18[var47];
}
GrandExchangeOfferOwnWorldComparator.method1236(var49, var38, var46, var20, var29 + var7 & 3, var28, var17, var48);
}
}
}
}
}
}
var3 = 10;
var4 = 10;
}
WorldMapElement.method4368(true);
class186.playPcmPlayers();
GrandExchangeEvents.method72(GrandExchangeOfferWorldComparator.scene, Client.collisionMaps);
WorldMapElement.method4368(true);
var49 = Tiles.Tiles_minPlane;
if (var49 > class42.plane) {
var49 = class42.plane;
}
if (var49 < class42.plane - 1) {
var49 = class42.plane - 1;
}
if (Client.isLowDetail) {
GrandExchangeOfferWorldComparator.scene.init(Tiles.Tiles_minPlane);
} else {
GrandExchangeOfferWorldComparator.scene.init(0);
}
for (var3 = 0; var3 < 104; ++var3) {
for (var4 = 0; var4 < 104; ++var4) {
GrandExchangeOfferWorldComparator.updateItemPile(var3, var4);
}
}
class186.playPcmPlayers();
for (PendingSpawn var57 = (PendingSpawn)Client.pendingSpawns.last(); var57 != null; var57 = (PendingSpawn)Client.pendingSpawns.previous()) {
if (var57.hitpoints == -1) {
var57.delay = 0;
class294.method5327(var57);
} else {
var57.remove();
}
}
ObjectDefinition.ObjectDefinition_cachedModelData.clear();
PacketBufferNode var58;
if (WorldMapSprite.client.hasFrame()) {
var58 = Archive.method4265(ClientPacket.field2212, Client.packetWriter.isaacCipher);
var58.packetBuffer.writeInt(1057001181);
Client.packetWriter.method2219(var58);
}
if (!Client.isInInstance) {
var3 = (Canvas.field418 - 6) / 8;
var4 = (Canvas.field418 + 6) / 8;
var51 = (ViewportMouse.field1747 - 6) / 8;
var6 = (ViewportMouse.field1747 + 6) / 8;
for (var7 = var3 - 1; var7 <= var4 + 1; ++var7) {
for (var52 = var51 - 1; var52 <= var6 + 1; ++var52) {
if (var7 < var3 || var7 > var4 || var52 < var51 || var52 > var6) {
WorldMapCacheName.archive5.loadRegionFromName("m" + var7 + "_" + var52);
WorldMapCacheName.archive5.loadRegionFromName("l" + var7 + "_" + var52);
}
}
}
}
class96.updateGameState(30);
class186.playPcmPlayers();
KeyHandler.method787();
var58 = Archive.method4265(ClientPacket.field2279, Client.packetWriter.isaacCipher);
Client.packetWriter.method2219(var58);
WallDecoration.method3291();
var0 &= Huffman.method3947(var2, var3, var4);
}
}
if (!var0) {
Client.field709 = 2;
return;
}
if (Client.field709 != 0) {
TriBool.drawLoadingMessage("Loading - please wait." + "<br>" + " (" + 100 + "%" + ")", true);
}
class186.playPcmPlayers();
GrandExchangeOfferWorldComparator.scene.clear();
for (var1 = 0; var1 < 4; ++var1) {
Client.collisionMaps[var1].clear();
}
int var49;
for (var1 = 0; var1 < 4; ++var1) {
for (var49 = 0; var49 < 104; ++var49) {
for (var3 = 0; var3 < 104; ++var3) {
Tiles.Tiles_renderFlags[var1][var49][var3] = 0;
}
}
}
class186.playPcmPlayers();
Tiles.Tiles_minPlane = 99;
Tiles.field504 = new byte[4][104][104];
Tiles.field505 = new byte[4][104][104];
Tiles.field506 = new byte[4][104][104];
class268.field3561 = new byte[4][104][104];
FaceNormal.field1887 = new int[4][105][105];
class32.field282 = new byte[4][105][105];
Tiles.field515 = new int[105][105];
ServerBuild.Tiles_hue = new int[104];
Tiles.Tiles_saturation = new int[104];
Tiles.Tiles_lightness = new int[104];
DynamicObject.Tiles_hueMultiplier = new int[104];
Fonts.field3689 = new int[104];
var1 = class13.regionLandArchives.length;
for (ObjectSound var55 = (ObjectSound)ObjectSound.objectSounds.last(); var55 != null; var55 = (ObjectSound)ObjectSound.objectSounds.previous()) {
if (var55.stream1 != null) {
SecureRandomCallable.pcmStreamMixer.removeSubStream(var55.stream1);
var55.stream1 = null;
}
if (var55.stream2 != null) {
SecureRandomCallable.pcmStreamMixer.removeSubStream(var55.stream2);
var55.stream2 = null;
}
}
ObjectSound.objectSounds.clear();
WorldMapElement.method4368(true);
int var6;
int var7;
int var9;
int var10;
int var11;
int var12;
int var51;
if (!Client.isInInstance) {
byte[] var5;
for (var49 = 0; var49 < var1; ++var49) {
var3 = (DirectByteArrayCopier.regions[var49] >> 8) * 64 - MusicPatchNode2.baseX * 64;
var4 = (DirectByteArrayCopier.regions[var49] & 255) * 64 - class1.baseY * 64;
var5 = class13.regionLandArchives[var49];
if (var5 == null) {
continue;
}
class186.playPcmPlayers();
var6 = Canvas.field418 * 8 - 48;
var7 = ViewportMouse.field1747 * 8 - 48;
CollisionMap[] var8 = Client.collisionMaps;
for (var9 = 0; var9 < 4; ++var9) {
for (var10 = 0; var10 < 64; ++var10) {
for (var11 = 0; var11 < 64; ++var11) {
if (var3 + var10 > 0 && var10 + var3 < 103 && var11 + var4 > 0 && var11 + var4 < 103) {
var8[var9].flags[var3 + var10][var11 + var4] &= 0xfeffffff;
}
}
}
}
Buffer var50 = new Buffer(var5);
for (var10 = 0; var10 < 4; ++var10) {
for (var11 = 0; var11 < 64; ++var11) {
for (var12 = 0; var12 < 64; ++var12) {
WorldMapLabel.loadTerrain(var50, var10, var3 + var11, var4 + var12, var6, var7, 0);
}
}
}
}
for (var49 = 0; var49 < var1; ++var49) {
var3 = (DirectByteArrayCopier.regions[var49] >> 8) * 64 - MusicPatchNode2.baseX * 64;
var4 = (DirectByteArrayCopier.regions[var49] & 255) * 64 - class1.baseY * 64;
var5 = class13.regionLandArchives[var49];
if (var5 == null && ViewportMouse.field1747 < 800) {
class186.playPcmPlayers();
Players.method2092(var3, var4, 64, 64);
}
}
WorldMapElement.method4368(true);
for (var49 = 0; var49 < var1; ++var49) {
byte[] var53 = class80.regionMapArchives[var49];
if (var53 != null) {
var4 = (DirectByteArrayCopier.regions[var49] >> 8) * 64 - MusicPatchNode2.baseX * 64;
var51 = (DirectByteArrayCopier.regions[var49] & 255) * 64 - class1.baseY * 64;
class186.playPcmPlayers();
AbstractByteArrayCopier.method3933(var53, var4, var51, GrandExchangeOfferWorldComparator.scene, Client.collisionMaps);
}
}
}
int var52;
if (Client.isInInstance) {
for (var49 = 0; var49 < 4; ++var49) {
class186.playPcmPlayers();
for (var3 = 0; var3 < 13; ++var3) {
for (var4 = 0; var4 < 13; ++var4) {
boolean var56 = false;
var6 = Client.instanceChunkTemplates[var49][var3][var4];
if (var6 != -1) {
var7 = var6 >> 24 & 3;
var52 = var6 >> 1 & 3;
var9 = var6 >> 14 & 1023;
var10 = var6 >> 3 & 2047;
var11 = (var9 / 8 << 8) + var10 / 8;
for (var12 = 0; var12 < DirectByteArrayCopier.regions.length; ++var12) {
if (DirectByteArrayCopier.regions[var12] == var11 && class13.regionLandArchives[var12] != null) {
ScriptFrame.method1088(class13.regionLandArchives[var12], var49, var3 * 8, var4 * 8, var7, (var9 & 7) * 8, (var10 & 7) * 8, var52, Client.collisionMaps);
var56 = true;
break;
}
}
}
if (var56) {
continue;
}
var7 = var49;
var52 = var3 * 8;
var9 = var4 * 8;
for (var10 = 0; var10 < 8; ++var10) {
for (var11 = 0; var11 < 8; ++var11) {
Tiles.Tiles_heights[var7][var52 + var10][var11 + var9] = 0;
}
}
if (var52 > 0) {
for (var10 = 1; var10 < 8; ++var10) {
Tiles.Tiles_heights[var7][var52][var9 + var10] = Tiles.Tiles_heights[var7][var52 - 1][var9 + var10];
}
}
if (var9 > 0) {
for (var10 = 1; var10 < 8; ++var10) {
Tiles.Tiles_heights[var7][var52 + var10][var9] = Tiles.Tiles_heights[var7][var52 + var10][var9 - 1];
}
}
if (var52 > 0 && Tiles.Tiles_heights[var7][var52 - 1][var9] != 0) {
Tiles.Tiles_heights[var7][var52][var9] = Tiles.Tiles_heights[var7][var52 - 1][var9];
} else if (var9 > 0 && Tiles.Tiles_heights[var7][var52][var9 - 1] != 0) {
Tiles.Tiles_heights[var7][var52][var9] = Tiles.Tiles_heights[var7][var52][var9 - 1];
} else if (var52 > 0 && var9 > 0 && Tiles.Tiles_heights[var7][var52 - 1][var9 - 1] != 0) {
Tiles.Tiles_heights[var7][var52][var9] = Tiles.Tiles_heights[var7][var52 - 1][var9 - 1];
}
}
}
}
for (var49 = 0; var49 < 13; ++var49) {
for (var3 = 0; var3 < 13; ++var3) {
var4 = Client.instanceChunkTemplates[0][var49][var3];
if (var4 == -1) {
Players.method2092(var49 * 8, var3 * 8, 8, 8);
}
}
}
WorldMapElement.method4368(true);
for (var49 = 0; var49 < 4; ++var49) {
class186.playPcmPlayers();
for (var3 = 0; var3 < 13; ++var3) {
for (var4 = 0; var4 < 13; ++var4) {
var51 = Client.instanceChunkTemplates[var49][var3][var4];
if (var51 == -1) {
continue;
}
var6 = var51 >> 24 & 3;
var7 = var51 >> 1 & 3;
var52 = var51 >> 14 & 1023;
var9 = var51 >> 3 & 2047;
var10 = (var52 / 8 << 8) + var9 / 8;
for (var11 = 0; var11 < DirectByteArrayCopier.regions.length; ++var11) {
if (DirectByteArrayCopier.regions[var11] != var10 || class80.regionMapArchives[var11] == null) {
continue;
}
byte[] var54 = class80.regionMapArchives[var11];
int var13 = var3 * 8;
int var14 = var4 * 8;
int var15 = (var52 & 7) * 8;
int var16 = (var9 & 7) * 8;
Scene var17 = GrandExchangeOfferWorldComparator.scene;
CollisionMap[] var18 = Client.collisionMaps;
Buffer var19 = new Buffer(var54);
int var20 = -1;
while (true) {
int var21 = var19.method5509();
if (var21 == 0) {
break;
}
var20 += var21;
int var22 = 0;
while (true) {
int var23 = var19.readUShortSmart();
if (var23 == 0) {
break;
}
var22 += var23 - 1;
int var24 = var22 & 63;
int var25 = var22 >> 6 & 63;
int var26 = var22 >> 12;
int var27 = var19.readUnsignedByte();
int var28 = var27 >> 2;
int var29 = var27 & 3;
if (var6 != var26 || var25 < var15 || var25 >= var15 + 8 || var24 < var16 || var24 >= var16 + 8) {
continue;
}
ObjectDefinition var30 = ViewportMouse.getObjectDefinition(var20);
int var33 = var25 & 7;
int var34 = var24 & 7;
int var36 = var30.sizeX;
int var37 = var30.sizeY;
int var38;
if ((var29 & 1) == 1) {
var38 = var36;
var36 = var37;
var37 = var38;
}
int var35 = var7 & 3;
int var32;
if (var35 == 0) {
var32 = var33;
} else if (var35 == 1) {
var32 = var34;
} else if (var35 == 2) {
var32 = 7 - var33 - (var36 - 1);
} else {
var32 = 7 - var34 - (var37 - 1);
}
var38 = var32 + var13;
int var41 = var25 & 7;
int var42 = var24 & 7;
int var44 = var30.sizeX;
int var45 = var30.sizeY;
int var46;
if ((var29 & 1) == 1) {
var46 = var44;
var44 = var45;
var45 = var46;
}
int var43 = var7 & 3;
int var40;
if (var43 == 0) {
var40 = var42;
} else if (var43 == 1) {
var40 = 7 - var41 - (var44 - 1);
} else if (var43 == 2) {
var40 = 7 - var42 - (var45 - 1);
} else {
var40 = var41;
}
var46 = var40 + var14;
if (var38 <= 0 || var46 <= 0 || var38 >= 103 || var46 >= 103) {
continue;
}
int var47 = var49;
if ((Tiles.Tiles_renderFlags[1][var38][var46] & 2) == 2) {
var47 = var49 - 1;
}
CollisionMap var48 = null;
if (var47 >= 0) {
var48 = var18[var47];
}
GrandExchangeOfferOwnWorldComparator.method1236(var49, var38, var46, var20, var29 + var7 & 3, var28, var17, var48);
}
}
break;
}
}
}
}
}
WorldMapElement.method4368(true);
class186.playPcmPlayers();
GrandExchangeEvents.method72(GrandExchangeOfferWorldComparator.scene, Client.collisionMaps);
WorldMapElement.method4368(true);
var49 = Tiles.Tiles_minPlane;
if (var49 > class42.plane) {
var49 = class42.plane;
}
if (var49 < class42.plane - 1) {
var49 = class42.plane - 1;
}
if (Client.isLowDetail) {
GrandExchangeOfferWorldComparator.scene.init(Tiles.Tiles_minPlane);
} else {
GrandExchangeOfferWorldComparator.scene.init(0);
}
for (var3 = 0; var3 < 104; ++var3) {
for (var4 = 0; var4 < 104; ++var4) {
GrandExchangeOfferWorldComparator.updateItemPile(var3, var4);
}
}
class186.playPcmPlayers();
for (PendingSpawn var57 = (PendingSpawn)Client.pendingSpawns.last(); var57 != null; var57 = (PendingSpawn)Client.pendingSpawns.previous()) {
if (var57.hitpoints == -1) {
var57.delay = 0;
class294.method5327(var57);
} else {
var57.remove();
}
}
ObjectDefinition.ObjectDefinition_cachedModelData.clear();
PacketBufferNode var58;
if (WorldMapSprite.client.hasFrame()) {
var58 = Archive.getPacketBufferNode(ClientPacket.field2212, Client.packetWriter.isaacCipher);
var58.packetBuffer.writeInt(1057001181);
Client.packetWriter.addNode(var58);
}
if (!Client.isInInstance) {
var3 = (Canvas.field418 - 6) / 8;
var4 = (Canvas.field418 + 6) / 8;
var51 = (ViewportMouse.field1747 - 6) / 8;
var6 = (ViewportMouse.field1747 + 6) / 8;
for (var7 = var3 - 1; var7 <= var4 + 1; ++var7) {
for (var52 = var51 - 1; var52 <= var6 + 1; ++var52) {
if (var7 < var3 || var7 > var4 || var52 < var51 || var52 > var6) {
WorldMapCacheName.archive5.loadRegionFromName("m" + var7 + "_" + var52);
WorldMapCacheName.archive5.loadRegionFromName("l" + var7 + "_" + var52);
}
}
}
}
class96.updateGameState(30);
class186.playPcmPlayers();
KeyHandler.method787();
var58 = Archive.getPacketBufferNode(ClientPacket.field2279, Client.packetWriter.isaacCipher);
Client.packetWriter.addNode(var58);
WallDecoration.method3291();
}
}

View File

@@ -67,7 +67,8 @@ public class PacketWriter {
@ObfuscatedGetter(
intValue = 1793928125
)
int field1319;
@Export("pendingWrites")
int pendingWrites;
@ObfuscatedName("u")
@ObfuscatedSignature(
signature = "Lgc;"
@@ -93,7 +94,7 @@ public class PacketWriter {
this.serverPacketLength = 0;
this.field1322 = true;
this.field1318 = 0;
this.field1319 = 0;
this.pendingWrites = 0;
}
@ObfuscatedName("q")
@@ -101,7 +102,8 @@ public class PacketWriter {
signature = "(I)V",
garbageValue = "19166064"
)
final void method2218() {
@Export("clearBuffer")
final void clearBuffer() {
this.packetBufferNodes.clear();
this.bufferSize = 0;
}
@@ -111,27 +113,24 @@ public class PacketWriter {
signature = "(I)V",
garbageValue = "294803591"
)
final void method2234() throws IOException {
@Export("flush")
final void flush() throws IOException {
if (this.socket == null || this.bufferSize <= 0) {
return;
}
this.buffer.offset = 0;
while (true) {
PacketBufferNode var1 = (PacketBufferNode)this.packetBufferNodes.last();
if (var1 == null || var1.index > this.buffer.array.length - this.buffer.offset) {
this.socket.write(this.buffer.array, 0, this.buffer.offset);
this.field1319 = 0;
break;
}
PacketBufferNode var1;
while ((var1 = (PacketBufferNode)this.packetBufferNodes.last()) != null && var1.index <= this.buffer.array.length - this.buffer.offset) {
this.buffer.writeBytes(var1.packetBuffer.array, 0, var1.index);
this.bufferSize -= var1.index;
var1.remove();
var1.packetBuffer.method5477();
var1.method3620();
var1.packetBuffer.releaseArray();
var1.release();
}
this.socket.write(this.buffer.array, 0, this.buffer.offset);
this.pendingWrites = 0;
}
@ObfuscatedName("e")
@@ -139,7 +138,8 @@ public class PacketWriter {
signature = "(Lgb;I)V",
garbageValue = "2067459847"
)
public final void method2219(PacketBufferNode var1) {
@Export("addNode")
public final void addNode(PacketBufferNode var1) {
this.packetBufferNodes.addFirst(var1);
var1.index = var1.packetBuffer.offset;
var1.packetBuffer.offset = 0;
@@ -195,37 +195,39 @@ public class PacketWriter {
signature = "(B)V",
garbageValue = "-107"
)
static final void method2245() {
@Export("drawProjectiles")
static final void drawProjectiles() {
for (Projectile var0 = (Projectile)Client.projectiles.last(); var0 != null; var0 = (Projectile)Client.projectiles.previous()) {
if (var0.plane == class42.plane && Client.cycle <= var0.cycleEnd) {
if (Client.cycle >= var0.cycleStart) {
if (var0.targetIndex > 0) {
NPC var1 = Client.npcs[var0.targetIndex - 1];
if (var1 != null && var1.x >= 0 && var1.x < 13312 && var1.y >= 0 && var1.y < 13312) {
var0.setDestination(var1.x, var1.y, ScriptEvent.getTileHeight(var1.x, var1.y, var0.plane) - var0.endHeight, Client.cycle);
}
}
if (var0.targetIndex < 0) {
int var2 = -var0.targetIndex - 1;
Player var3;
if (var2 == Client.localPlayerIndex) {
var3 = Client.localPlayer;
} else {
var3 = Client.players[var2];
}
if (var3 != null && var3.x >= 0 && var3.x < 13312 && var3.y >= 0 && var3.y < 13312) {
var0.setDestination(var3.x, var3.y, ScriptEvent.getTileHeight(var3.x, var3.y, var0.plane) - var0.endHeight, Client.cycle);
}
}
var0.advance(Client.field718);
GrandExchangeOfferWorldComparator.scene.drawEntity(class42.plane, (int)var0.x, (int)var0.y, (int)var0.z, 60, var0, var0.yaw, -1L, false);
}
} else {
if (var0.plane != class42.plane || Client.cycle > var0.cycleEnd) {
var0.remove();
continue;
}
if (Client.cycle < var0.cycleStart) {
continue;
}
if (var0.targetIndex > 0) {
NPC var1 = Client.npcs[var0.targetIndex - 1];
if (var1 != null && var1.x >= 0 && var1.x < 13312 && var1.y >= 0 && var1.y < 13312) {
var0.setDestination(var1.x, var1.y, ScriptEvent.getTileHeight(var1.x, var1.y, var0.plane) - var0.endHeight, Client.cycle);
}
}
if (var0.targetIndex < 0) {
int var2 = -var0.targetIndex - 1;
Player var3;
if (var2 == Client.localPlayerIndex) {
var3 = Client.localPlayer;
} else {
var3 = Client.players[var2];
}
if (var3 != null && var3.x >= 0 && var3.x < 13312 && var3.y >= 0 && var3.y < 13312) {
var0.setDestination(var3.x, var3.y, ScriptEvent.getTileHeight(var3.x, var3.y, var0.plane) - var0.endHeight, Client.cycle);
}
}
var0.advance(Client.field718);
GrandExchangeOfferWorldComparator.scene.drawEntity(class42.plane, (int)var0.x, (int)var0.y, (int)var0.z, 60, var0, var0.yaw, -1L, false);
}
}

View File

@@ -11,8 +11,8 @@ public class PcmPlayer {
@ObfuscatedGetter(
intValue = 1278180609
)
@Export("pcmPlayerCount")
static int pcmPlayerCount;
@Export("PcmPlayer_count")
static int PcmPlayer_count;
@ObfuscatedName("r")
@Export("samples")
protected int[] samples;
@@ -181,13 +181,14 @@ public class PcmPlayer {
try {
if (0L != this.field1416) {
if (var1 < this.field1416) {
if (var1 >= this.field1416) {
this.open(this.capacity);
this.field1416 = 0L;
this.field1421 = true;
} else {
return;
}
this.open(this.capacity);
this.field1416 = 0L;
this.field1421 = true;
}
int var3 = this.position();
@@ -223,17 +224,15 @@ public class PcmPlayer {
}
if (var1 > this.field1420) {
if (!this.field1421) {
if (this.field1417 == 0 && this.field1418 == 0) {
this.close();
this.field1416 = 2000L + var1;
return;
}
if (this.field1421) {
this.field1421 = false;
} else if (this.field1417 != 0 || this.field1418 != 0) {
this.field1413 = Math.min(this.field1418, this.field1417);
this.field1418 = this.field1417;
} else {
this.field1421 = false;
this.close();
this.field1416 = 2000L + var1;
return;
}
this.field1417 = 0;
@@ -341,7 +340,7 @@ public class PcmPlayer {
@Export("fill")
final void fill(int[] var1, int var2) {
int var3 = var2;
if (class169.isStereo) {
if (FileSystem.PcmPlayer_stereo) {
var3 = var2 << 1;
}
@@ -354,10 +353,8 @@ public class PcmPlayer {
int var4 = 0;
int var5 = 255;
int var6;
PcmStream var10;
label104:
for (var6 = 7; var5 != 0; --var6) {
for (int var6 = 7; var5 != 0; --var6) {
int var7;
int var8;
if (var6 < 0) {
@@ -368,67 +365,59 @@ public class PcmPlayer {
var8 = 0;
}
for (int var9 = var5 >>> var7 & 286331153; var9 != 0; var9 >>>= 4) {
if ((var9 & 1) != 0) {
var5 &= ~(1 << var7);
var10 = null;
PcmStream var11 = this.field1426[var7];
for (int var9 = var5 >>> var7 & 0x11111111; var9 != 0; var9 >>>= 4, var7 += 4, ++var8) {
if ((var9 & 1) == 0) {
continue;
}
var5 &= ~(1 << var7);
var10 = null;
label98:
while (true) {
while (true) {
if (var11 == null) {
break label98;
}
AbstractSound var12 = var11.sound;
if (var12 != null && var12.position > var8) {
var5 |= 1 << var7;
var10 = var11;
var11 = var11.after;
} else {
var11.active = true;
int var13 = var11.vmethod3892();
var4 += var13;
if (var12 != null) {
var12.position += var13;
}
for (PcmStream var11 = this.field1426[var7]; var11 != null;) {
AbstractSound var12 = var11.sound;
if (var12 != null && var12.position > var8) {
var5 |= 1 << var7;
var10 = var11;
var11 = var11.after;
continue;
}
var11.active = true;
int var13 = var11.vmethod3892();
var4 += var13;
if (var12 != null) {
var12.position += var13;
}
if (var4 >= this.field1406) {
break label104;
}
if (var4 >= this.field1406) {
return;
}
PcmStream var14 = var11.firstSubStream();
if (var14 != null) {
for (int var15 = var11.field1496; var14 != null; var14 = var11.nextSubStream()) {
this.method2456(var14, var15 * var14.vmethod2689() >> 8);
}
}
PcmStream var18 = var11.after;
var11.after = null;
if (var10 == null) {
this.field1426[var7] = var18;
} else {
var10.after = var18;
}
if (var18 == null) {
this.field1425[var7] = var10;
}
var11 = var18;
}
PcmStream var14 = var11.firstSubStream();
if (var14 != null) {
for (int var15 = var11.field1496; var14 != null; var14 = var11.nextSubStream()) {
this.method2456(var14, var15 * var14.vmethod2689() >> 8);
}
}
}
var7 += 4;
++var8;
PcmStream var18 = var11.after;
var11.after = null;
if (var10 == null) {
this.field1426[var7] = var18;
}
else {
var10.after = var18;
}
if (var18 == null) {
this.field1425[var7] = var10;
}
var11 = var18;
}
}
}
for (var6 = 0; var6 < 8; ++var6) {
for (int var6 = 0; var6 < 8; ++var6) {
PcmStream var16 = this.field1426[var6];
PcmStream[] var17 = this.field1426;
this.field1425[var6] = null;

View File

@@ -46,7 +46,8 @@ public final class PendingSpawn extends Node {
@ObfuscatedGetter(
intValue = 160620695
)
int field935;
@Export("objectId")
int objectId;
@ObfuscatedName("l")
@ObfuscatedGetter(
intValue = 1900923625
@@ -115,7 +116,7 @@ public final class PendingSpawn extends Node {
var3.group = var1;
var3.type = var2;
Client.interfaceParents.put(var3, (long)var0);
GrandExchangeOfferAgeComparator.method146(var1);
GrandExchangeOfferAgeComparator.Widget_resetModelFrames(var1);
Widget var4 = class80.getWidget(var0);
Strings.invalidateWidget(var4);
if (Client.meslayerContinueWidget != null) {
@@ -128,9 +129,9 @@ public final class PendingSpawn extends Node {
if (var5 < Client.menuOptionsCount - 1) {
for (int var6 = var5; var6 < Client.menuOptionsCount - 1; ++var6) {
Client.menuActions[var6] = Client.menuActions[var6 + 1];
Client.menuTargetNames[var6] = Client.menuTargetNames[var6 + 1];
Client.menuTargets[var6] = Client.menuTargets[var6 + 1];
Client.menuOpcodes[var6] = Client.menuOpcodes[var6 + 1];
Client.menuArguments0[var6] = Client.menuArguments0[var6 + 1];
Client.menuIdentifiers[var6] = Client.menuIdentifiers[var6 + 1];
Client.menuArguments1[var6] = Client.menuArguments1[var6 + 1];
Client.menuArguments2[var6] = Client.menuArguments2[var6 + 1];
Client.menuShiftClick[var6] = Client.menuShiftClick[var6 + 1];
@@ -142,11 +143,11 @@ public final class PendingSpawn extends Node {
}
}
GrandExchangeOfferAgeComparator.method145();
GrandExchangeOfferAgeComparator.calculateMenuBounds();
WorldMapSprite.revalidateWidgetScroll(Widget.Widget_interfaceComponents[var0 >> 16], var4, false);
Canvas.runWidgetOnLoadListener(var1);
if (Client.rootInterface != -1) {
WorldMapLabelSize.method175(Client.rootInterface, 1);
WorldMapLabelSize.runIntfCloseListeners(Client.rootInterface, 1);
}
return var3;

View File

@@ -205,13 +205,13 @@ public final class Player extends Actor {
} else {
var7 = var1.readUnsignedByte();
var4[var5] = var7 + (var6 << 8);
if (var5 == 0 && var4[0] == 65535) {
if (var5 == 0 && var4[0] == 0xffff) {
var3 = var1.readUnsignedShort();
break;
}
if (var4[var5] >= 512) {
int var8 = WorldMapArea.getItemDefinition(var4[var5] - 512).team;
int var8 = WorldMapArea.ItemDefinition_get(var4[var5] - 512).team;
if (var8 != 0) {
this.team = var8;
}
@@ -231,38 +231,38 @@ public final class Player extends Actor {
}
super.readySequence = var1.readUnsignedShort();
if (super.readySequence == 65535) {
if (super.readySequence == 0xffff) {
super.readySequence = -1;
}
super.turnLeftSequence = var1.readUnsignedShort();
if (super.turnLeftSequence == 65535) {
if (super.turnLeftSequence == 0xffff) {
super.turnLeftSequence = -1;
}
super.turnRightSequence = super.turnLeftSequence;
super.walkSequence = var1.readUnsignedShort();
if (super.walkSequence == 65535) {
if (super.walkSequence == 0xffff) {
super.walkSequence = -1;
}
super.walkBackSequence = var1.readUnsignedShort();
if (super.walkBackSequence == 65535) {
if (super.walkBackSequence == 0xffff) {
super.walkBackSequence = -1;
}
super.walkLeftSequence = var1.readUnsignedShort();
if (super.walkLeftSequence == 65535) {
if (super.walkLeftSequence == 0xffff) {
super.walkLeftSequence = -1;
}
super.walkRightSequence = var1.readUnsignedShort();
if (super.walkRightSequence == 65535) {
if (super.walkRightSequence == 0xffff) {
super.walkRightSequence = -1;
}
super.runSequence = var1.readUnsignedShort();
if (super.runSequence == 65535) {
if (super.runSequence == 0xffff) {
super.runSequence = -1;
}
@@ -375,8 +375,8 @@ public final class Player extends Actor {
if (this.appearance == null) {
return null;
}
SequenceDefinition var1 = super.sequence != -1 && super.sequenceDelay == 0 ? GrandExchangeEvent.getSequenceDefinition(super.sequence) : null;
SequenceDefinition var2 = super.movementSequence != -1 && !this.isUnanimated && (super.movementSequence != super.readySequence || var1 == null) ? GrandExchangeEvent.getSequenceDefinition(super.movementSequence) : null;
SequenceDefinition var1 = super.sequence != -1 && super.sequenceDelay == 0 ? GrandExchangeEvent.SequenceDefinition_get(super.sequence) : null;
SequenceDefinition var2 = super.movementSequence != -1 && !this.isUnanimated && (super.movementSequence != super.readySequence || var1 == null) ? GrandExchangeEvent.SequenceDefinition_get(super.movementSequence) : null;
Model var3 = this.appearance.getModel(var1, super.sequenceFrame, var2, super.movementFrame);
if (var3 == null) {
return null;
@@ -386,7 +386,7 @@ public final class Player extends Actor {
Model var4;
Model[] var5;
if (!this.isUnanimated && super.spotAnimation != -1 && super.spotAnimationFrame != -1) {
var4 = MusicPatch.getSpotAnimationDefinition(super.spotAnimation).getModel(super.spotAnimationFrame);
var4 = MusicPatch.SpotAnimationDefinition_get(super.spotAnimation).getModel(super.spotAnimationFrame);
if (var4 != null) {
var4.offsetBy(0, -super.heightOffset, 0);
var5 = new Model[]{var3, var4};
@@ -439,26 +439,24 @@ public final class Player extends Actor {
signature = "(IIBS)V",
garbageValue = "-30153"
)
final void method1189(int var1, int var2, byte var3) {
if (super.sequence != -1 && GrandExchangeEvent.getSequenceDefinition(super.sequence).field3532 == 1) {
final void method1189(int x, int y, byte var3) {
if (super.sequence != -1 && GrandExchangeEvent.SequenceDefinition_get(super.sequence).field3532 == 1) {
super.sequence = -1;
}
super.field976 = -1;
if (var1 >= 0 && var1 < 104 && var2 >= 0 && var2 < 104) {
if (super.pathX[0] >= 0 && super.pathX[0] < 104 && super.pathY[0] >= 0 && super.pathY[0] < 104) {
if (var3 == 2) {
Widget.method4056(this, var1, var2, (byte)2);
}
this.method1191(var1, var2, var3);
} else {
this.resetPath(var1, var2);
}
} else {
this.resetPath(var1, var2);
if (x < 0 || x >= 104 || y < 0 || y >= 104) {
this.resetPath(x, y);
return;
}
if (super.pathX[0] < 0 || super.pathX[0] >= 104 || super.pathY[0] < 0 || super.pathY[0] >= 104) {
this.resetPath(x, y);
return;
}
if (var3 == 2) {
Widget.method4056(this, x, y, (byte) 2);
}
this.method1191(x, y, var3);
}
@ObfuscatedName("x")

View File

@@ -59,7 +59,7 @@ public class PlayerAppearance {
for (int var5 = 0; var5 < 7; ++var5) {
for (int var6 = 0; var6 < KitDefinition.KitDefinition_fileCount; ++var6) {
KitDefinition var7 = ArchiveDiskAction.getKitDefinition(var6);
KitDefinition var7 = ArchiveDiskAction.KitDefinition_get(var6);
if (var7 != null && !var7.nonSelectable && var7.bodypartID == var5 + (isFemale ? 7 : 0)) {
equipment[equipmentIndices[var5]] = var6 + 256;
break;
@@ -80,11 +80,12 @@ public class PlayerAppearance {
signature = "(IZS)V",
garbageValue = "7431"
)
public void method3992(int var1, boolean var2) {
if (var1 == 1 && this.isFemale) {
@Export("changeAppearance")
public void changeAppearance(int slot, boolean forwards) {
if (slot == 1 && this.isFemale) {
return;
}
int var3 = this.equipment[equipmentIndices[var1]];
int var3 = this.equipment[equipmentIndices[slot]];
if (var3 == 0) {
return;
}
@@ -92,7 +93,7 @@ public class PlayerAppearance {
KitDefinition var4;
do {
if (!var2) {
if (!forwards) {
--var3;
if (var3 < 0) {
var3 = KitDefinition.KitDefinition_fileCount - 1;
@@ -104,10 +105,10 @@ public class PlayerAppearance {
}
}
var4 = ArchiveDiskAction.getKitDefinition(var3);
} while(var4 == null || var4.nonSelectable || var4.bodypartID != (this.isFemale ? 7 : 0) + var1);
var4 = ArchiveDiskAction.KitDefinition_get(var3);
} while(var4 == null || var4.nonSelectable || var4.bodypartID != (this.isFemale ? 7 : 0) + slot);
this.equipment[equipmentIndices[var1]] = var3 + 256;
this.equipment[equipmentIndices[slot]] = var3 + 256;
this.setHash();
}
@@ -264,11 +265,11 @@ public class PlayerAppearance {
int var11;
for (int var10 = 0; var10 < 12; ++var10) {
var11 = var7[var10];
if (var11 >= 256 && var11 < 512 && !ArchiveDiskAction.getKitDefinition(var11 - 256).ready()) {
if (var11 >= 256 && var11 < 512 && !ArchiveDiskAction.KitDefinition_get(var11 - 256).ready()) {
var9 = true;
}
if (var11 >= 512 && !WorldMapArea.getItemDefinition(var11 - 512).method4646(this.isFemale)) {
if (var11 >= 512 && !WorldMapArea.ItemDefinition_get(var11 - 512).hasNoValidModel(this.isFemale)) {
var9 = true;
}
}
@@ -292,14 +293,14 @@ public class PlayerAppearance {
var13 = var7[var12];
ModelData var14;
if (var13 >= 256 && var13 < 512) {
var14 = ArchiveDiskAction.getKitDefinition(var13 - 256).getModelData();
var14 = ArchiveDiskAction.KitDefinition_get(var13 - 256).getModelData();
if (var14 != null) {
var16[var11++] = var14;
}
}
if (var13 >= 512) {
var14 = WorldMapArea.getItemDefinition(var13 - 512).method4694(this.isFemale);
var14 = WorldMapArea.ItemDefinition_get(var13 - 512).method4694(this.isFemale);
if (var14 != null) {
var16[var11++] = var14;
}
@@ -354,11 +355,11 @@ public class PlayerAppearance {
int var3;
for (int var2 = 0; var2 < 12; ++var2) {
var3 = this.equipment[var2];
if (var3 >= 256 && var3 < 512 && !ArchiveDiskAction.getKitDefinition(var3 - 256).method4445()) {
if (var3 >= 256 && var3 < 512 && !ArchiveDiskAction.KitDefinition_get(var3 - 256).method4445()) {
var1 = true;
}
if (var3 >= 512 && !WorldMapArea.getItemDefinition(var3 - 512).method4683(this.isFemale)) {
if (var3 >= 512 && !WorldMapArea.ItemDefinition_get(var3 - 512).method4683(this.isFemale)) {
var1 = true;
}
}
@@ -374,14 +375,14 @@ public class PlayerAppearance {
var5 = this.equipment[var4];
ModelData var6;
if (var5 >= 256 && var5 < 512) {
var6 = ArchiveDiskAction.getKitDefinition(var5 - 256).method4441();
var6 = ArchiveDiskAction.KitDefinition_get(var5 - 256).getKitDefinitionModels();
if (var6 != null) {
var7[var3++] = var6;
}
}
if (var5 >= 512) {
var6 = WorldMapArea.getItemDefinition(var5 - 512).method4649(this.isFemale);
var6 = WorldMapArea.ItemDefinition_get(var5 - 512).method4649(this.isFemale);
if (var6 != null) {
var7[var3++] = var6;
}

View File

@@ -82,23 +82,24 @@ public class Players {
static final void method2092(int var0, int var1, int var2, int var3) {
for (int var4 = var1; var4 <= var3 + var1; ++var4) {
for (int var5 = var0; var5 <= var0 + var2; ++var5) {
if (var5 >= 0 && var5 < 104 && var4 >= 0 && var4 < 104) {
class32.field282[0][var5][var4] = 127;
if (var0 == var5 && var5 > 0) {
Tiles.Tiles_heights[0][var5][var4] = Tiles.Tiles_heights[0][var5 - 1][var4];
}
if (var5 < 0 || var5 >= 104 || var4 < 0 || var4 >= 104) {
continue;
}
class32.field282[0][var5][var4] = 127;
if (var0 == var5 && var5 > 0) {
Tiles.Tiles_heights[0][var5][var4] = Tiles.Tiles_heights[0][var5 - 1][var4];
}
if (var5 == var0 + var2 && var5 < 103) {
Tiles.Tiles_heights[0][var5][var4] = Tiles.Tiles_heights[0][var5 + 1][var4];
}
if (var5 == var0 + var2 && var5 < 103) {
Tiles.Tiles_heights[0][var5][var4] = Tiles.Tiles_heights[0][var5 + 1][var4];
}
if (var4 == var1 && var4 > 0) {
Tiles.Tiles_heights[0][var5][var4] = Tiles.Tiles_heights[0][var5][var4 - 1];
}
if (var4 == var1 && var4 > 0) {
Tiles.Tiles_heights[0][var5][var4] = Tiles.Tiles_heights[0][var5][var4 - 1];
}
if (var4 == var3 + var1 && var4 < 103) {
Tiles.Tiles_heights[0][var5][var4] = Tiles.Tiles_heights[0][var5][var4 + 1];
}
if (var4 == var3 + var1 && var4 < 103) {
Tiles.Tiles_heights[0][var5][var4] = Tiles.Tiles_heights[0][var5][var4 + 1];
}
}
}

View File

@@ -1,24 +1,27 @@
import net.runelite.mapping.Implements;
import net.runelite.mapping.ObfuscatedGetter;
import net.runelite.mapping.ObfuscatedName;
import net.runelite.mapping.ObfuscatedSignature;
@ObfuscatedName("kl")
public class class310 {
@Implements("PrivateChatMode")
public class PrivateChatMode
{
@ObfuscatedName("q")
@ObfuscatedSignature(
signature = "Lkl;"
)
static final class310 field3818;
static final PrivateChatMode field3818;
@ObfuscatedName("w")
@ObfuscatedSignature(
signature = "Lkl;"
)
public static final class310 field3816;
public static final PrivateChatMode field3816;
@ObfuscatedName("e")
@ObfuscatedSignature(
signature = "Lkl;"
)
static final class310 field3817;
static final PrivateChatMode field3817;
@ObfuscatedName("p")
@ObfuscatedGetter(
intValue = 721881779
@@ -26,12 +29,12 @@ public class class310 {
public final int field3815;
static {
field3818 = new class310(0);
field3816 = new class310(1);
field3817 = new class310(2);
field3818 = new PrivateChatMode(0);
field3816 = new PrivateChatMode(1);
field3817 = new PrivateChatMode(2);
}
class310(int var1) {
PrivateChatMode(int var1) {
this.field3815 = var1;
}
}

View File

@@ -147,9 +147,9 @@ public final class Projectile extends Entity {
this.targetIndex = var10;
this.endHeight = var11;
this.isMoving = false;
int var12 = MusicPatch.getSpotAnimationDefinition(this.id).sequence;
int var12 = MusicPatch.SpotAnimationDefinition_get(this.id).sequence;
if (var12 != -1) {
this.sequenceDefinition = GrandExchangeEvent.getSequenceDefinition(var12);
this.sequenceDefinition = GrandExchangeEvent.SequenceDefinition_get(var12);
} else {
this.sequenceDefinition = null;
}
@@ -227,7 +227,7 @@ public final class Projectile extends Entity {
)
@Export("getModel")
protected final Model getModel() {
SpotAnimationDefinition var1 = MusicPatch.getSpotAnimationDefinition(this.id);
SpotAnimationDefinition var1 = MusicPatch.SpotAnimationDefinition_get(this.id);
Model var2 = var1.getModel(this.frame);
if (var2 == null) {
return null;
@@ -241,8 +241,8 @@ public final class Projectile extends Entity {
signature = "(IB)Lio;",
garbageValue = "0"
)
@Export("getHitSplatDefinition")
public static HitSplatDefinition getHitSplatDefinition(int var0) {
@Export("HitSplatDefinition_get")
public static HitSplatDefinition HitSplatDefinition_get(int var0) {
HitSplatDefinition var1 = (HitSplatDefinition)HitSplatDefinition.HitSplatDefinition_cached.get((long)var0);
if (var1 != null) {
return var1;

View File

@@ -389,31 +389,31 @@ public class Rasterizer2D extends DualNode {
@ObfuscatedName("dh")
@Export("Rasterizer2D_fillRectangle")
public static void Rasterizer2D_fillRectangle(int var0, int var1, int var2, int var3, int var4) {
if (var0 < Rasterizer2D_xClipStart) {
var2 -= Rasterizer2D_xClipStart - var0;
var0 = Rasterizer2D_xClipStart;
public static void Rasterizer2D_fillRectangle(int x, int y, int w, int h, int c) {
if (x < Rasterizer2D_xClipStart) {
w -= Rasterizer2D_xClipStart - x;
x = Rasterizer2D_xClipStart;
}
if (var1 < Rasterizer2D_yClipStart) {
var3 -= Rasterizer2D_yClipStart - var1;
var1 = Rasterizer2D_yClipStart;
if (y < Rasterizer2D_yClipStart) {
h -= Rasterizer2D_yClipStart - y;
y = Rasterizer2D_yClipStart;
}
if (var0 + var2 > Rasterizer2D_xClipEnd) {
var2 = Rasterizer2D_xClipEnd - var0;
if (x + w > Rasterizer2D_xClipEnd) {
w = Rasterizer2D_xClipEnd - x;
}
if (var3 + var1 > Rasterizer2D_yClipEnd) {
var3 = Rasterizer2D_yClipEnd - var1;
if (h + y > Rasterizer2D_yClipEnd) {
h = Rasterizer2D_yClipEnd - y;
}
int var5 = Rasterizer2D_width - var2;
int var6 = var0 + Rasterizer2D_width * var1;
int var5 = Rasterizer2D_width - w;
int var6 = x + Rasterizer2D_width * y;
for (int var7 = -var3; var7 < 0; ++var7) {
for (int var8 = -var2; var8 < 0; ++var8) {
Rasterizer2D_pixels[var6++] = var4;
for (int var7 = -h; var7 < 0; ++var7) {
for (int var8 = -w; var8 < 0; ++var8) {
Rasterizer2D_pixels[var6++] = c;
}
var6 += var5;

File diff suppressed because it is too large Load Diff

View File

@@ -658,12 +658,12 @@ public class RawPcmStream extends PcmStream {
this.field1479 += var2;
if (this.field1469 == 256 && (this.field1471 & 255) == 0) {
if (class169.isStereo) {
if (FileSystem.PcmPlayer_stereo) {
var2 = method2559(0, ((RawSound)super.sound).samples, var1, this.field1471, var2, this.field1482, this.field1474, this.field1481, this.field1468, 0, var6, var3, this);
} else {
var2 = method2586(((RawSound)super.sound).samples, var1, this.field1471, var2, this.field1472, this.field1480, 0, var6, var3, this);
}
} else if (class169.isStereo) {
} else if (FileSystem.PcmPlayer_stereo) {
var2 = method2627(0, 0, ((RawSound)super.sound).samples, var1, this.field1471, var2, this.field1482, this.field1474, this.field1481, this.field1468, 0, var6, var3, this, this.field1469, var5);
} else {
var2 = method2633(0, 0, ((RawSound)super.sound).samples, var1, this.field1471, var2, this.field1472, this.field1480, 0, var6, var3, this, this.field1469, var5);
@@ -682,14 +682,14 @@ public class RawPcmStream extends PcmStream {
}
if (this.field1469 == 256 && (this.field1471 & 255) == 0) {
if (class169.isStereo) {
if (FileSystem.PcmPlayer_stereo) {
return method2551(0, ((RawSound)super.sound).samples, var1, this.field1471, var2, this.field1482, this.field1474, 0, var4, var3, this);
}
return method2550(((RawSound)super.sound).samples, var1, this.field1471, var2, this.field1472, 0, var4, var3, this);
}
if (class169.isStereo) {
if (FileSystem.PcmPlayer_stereo) {
return method2555(0, 0, ((RawSound)super.sound).samples, var1, this.field1471, var2, this.field1482, this.field1474, 0, var4, var3, this, this.field1469, var5);
}
@@ -708,12 +708,12 @@ public class RawPcmStream extends PcmStream {
this.field1479 += var2;
if (this.field1469 == -256 && (this.field1471 & 255) == 0) {
if (class169.isStereo) {
if (FileSystem.PcmPlayer_stereo) {
var2 = method2561(0, ((RawSound)super.sound).samples, var1, this.field1471, var2, this.field1482, this.field1474, this.field1481, this.field1468, 0, var6, var3, this);
} else {
var2 = method2560(((RawSound)super.sound).samples, var1, this.field1471, var2, this.field1472, this.field1480, 0, var6, var3, this);
}
} else if (class169.isStereo) {
} else if (FileSystem.PcmPlayer_stereo) {
var2 = method2605(0, 0, ((RawSound)super.sound).samples, var1, this.field1471, var2, this.field1482, this.field1474, this.field1481, this.field1468, 0, var6, var3, this, this.field1469, var5);
} else {
var2 = method2569(0, 0, ((RawSound)super.sound).samples, var1, this.field1471, var2, this.field1472, this.field1480, 0, var6, var3, this, this.field1469, var5);
@@ -732,14 +732,14 @@ public class RawPcmStream extends PcmStream {
}
if (this.field1469 == -256 && (this.field1471 & 255) == 0) {
if (class169.isStereo) {
if (FileSystem.PcmPlayer_stereo) {
return method2553(0, ((RawSound)super.sound).samples, var1, this.field1471, var2, this.field1482, this.field1474, 0, var4, var3, this);
}
return method2594(((RawSound)super.sound).samples, var1, this.field1471, var2, this.field1472, 0, var4, var3, this);
}
if (class169.isStereo) {
if (FileSystem.PcmPlayer_stereo) {
return method2557(0, 0, ((RawSound)super.sound).samples, var1, this.field1471, var2, this.field1482, this.field1474, 0, var4, var3, this, this.field1469, var5);
}

View File

@@ -46,7 +46,8 @@ public abstract class RouteStrategy {
signature = "(IIILfv;I)Z",
garbageValue = "-1217489379"
)
public abstract boolean vmethod3594(int var1, int var2, int var3, CollisionMap var4);
@Export("hasArrived")
public abstract boolean hasArrived(int size, int x, int y, CollisionMap var4);
@ObfuscatedName("ec")
@ObfuscatedSignature(
@@ -67,7 +68,7 @@ public abstract class RouteStrategy {
SequenceDefinition.SequenceDefinition_cachedFrames.clear();
SpotAnimationDefinition.SpotAnimationDefinition_cached.clear();
SpotAnimationDefinition.SpotAnimationDefinition_cachedModels.clear();
MusicPatch.method3888();
MusicPatch.VarbitDefinition_clearCached();
SecureRandomCallable.method1093();
HitSplatDefinition.HitSplatDefinition_cached.clear();
HitSplatDefinition.HitSplatDefinition_cachedSprites.clear();
@@ -81,7 +82,7 @@ public abstract class RouteStrategy {
((TextureProvider)Rasterizer3D.Rasterizer3D_textureLoader).clear();
Script.Script_cached.clear();
class197.archive0.clearFiles();
class167.archive1.clearFiles();
JagexCache.archive1.clearFiles();
class43.archive3.clearFiles();
class13.archive4.clearFiles();
WorldMapCacheName.archive5.clearFiles();

File diff suppressed because it is too large Load Diff

View File

@@ -65,7 +65,8 @@ public class Script extends DualNode {
signature = "(IB)[Lla;",
garbageValue = "45"
)
IterableNodeHashTable[] method2182(int var1) {
@Export("newIterableNodeHashTable")
IterableNodeHashTable[] newIterableNodeHashTable(int var1) {
return new IterableNodeHashTable[var1];
}

View File

@@ -21,7 +21,8 @@ public class ScriptEvent extends Node {
@Export("loginBoxCenter")
static int loginBoxCenter;
@ObfuscatedName("o")
static String field586;
@Export("operatingSystem")
static String operatingSystem;
@ObfuscatedName("q")
@Export("args")
Object[] args;
@@ -86,7 +87,7 @@ public class ScriptEvent extends Node {
int type;
public ScriptEvent() {
this.type = 76;
this.type = 0x4c;
}
@ObfuscatedName("q")

View File

@@ -61,8 +61,7 @@ public class ScriptFrame {
for (int var9 = 0; var9 < 8; ++var9) {
for (var10 = 0; var10 < 8; ++var10) {
if (var9 + var2 > 0 && var9 + var2 < 103 && var3 + var10 > 0 && var3 + var10 < 103) {
int[] var10000 = var8[var1].flags[var9 + var2];
var10000[var3 + var10] &= -16777217;
var8[var1].flags[var9 + var2][var3 + var10] &= 0xfeffffff;
}
}
}
@@ -89,7 +88,7 @@ public class ScriptFrame {
garbageValue = "204342367"
)
static final void method1090() {
if (Client.field700 > 0) {
if (Client.logoutTimer > 0) {
RouteStrategy.method3593();
} else {
Client.timer.method4993();
@@ -121,7 +120,7 @@ public class ScriptFrame {
static final void updateNpcs(boolean var0, PacketBuffer var1) {
Client.field775 = 0;
Client.field697 = 0;
StructDefinition.method4530();
StructDefinition.readNpcUpdates();
int var2;
NPC var4;
@@ -132,7 +131,7 @@ public class ScriptFrame {
int var9;
while (var1.bitsRemaining(Client.packetWriter.serverPacketLength) >= 27) {
var2 = var1.readBits(15);
if (var2 == 32767) {
if (var2 == 0x7fff) {
break;
}
@@ -158,9 +157,9 @@ public class ScriptFrame {
}
var6 = var1.readBits(1);
var7 = Client.field780[var1.readBits(3)];
var7 = Client.defaultRotations[var1.readBits(3)];
if (var3) {
var4.orientation = var4.field950 = var7;
var4.orientation = var4.rotation = var7;
}
var8 = var1.readBits(1);
@@ -182,9 +181,9 @@ public class ScriptFrame {
var4.definition = GameShell.getNpcDefinition(var1.readBits(14));
var4.size = var4.definition.size * 78073455;
var4.field948 = var4.definition.field3492;
var4.field948 = var4.definition.rotation;
if (var4.field948 == 0) {
var4.field950 = 0;
var4.rotation = 0;
}
var4.walkSequence = var4.definition.walkSequence;
@@ -206,7 +205,7 @@ public class ScriptFrame {
var5 = var1.readUnsignedByte();
if ((var5 & 1) != 0) {
var4.targetIndex = var1.method5532();
if (var4.targetIndex == 65535) {
if (var4.targetIndex == 0xffff) {
var4.targetIndex = -1;
}
}
@@ -223,13 +222,13 @@ public class ScriptFrame {
if ((var5 & 32) != 0) {
var6 = var1.readUnsignedShort();
if (var6 == 65535) {
if (var6 == 0xffff) {
var6 = -1;
}
var7 = var1.method5525();
if (var6 == var4.sequence && var6 != -1) {
var8 = GrandExchangeEvent.getSequenceDefinition(var6).field3529;
var8 = GrandExchangeEvent.SequenceDefinition_get(var6).field3529;
if (var8 == 1) {
var4.sequenceFrame = 0;
var4.sequenceFrameCycle = 0;
@@ -240,7 +239,7 @@ public class ScriptFrame {
if (var8 == 2) {
var4.field985 = 0;
}
} else if (var6 == -1 || var4.sequence == -1 || GrandExchangeEvent.getSequenceDefinition(var6).field3533 >= GrandExchangeEvent.getSequenceDefinition(var4.sequence).field3533) {
} else if (var6 == -1 || var4.sequence == -1 || GrandExchangeEvent.SequenceDefinition_get(var6).field3533 >= GrandExchangeEvent.SequenceDefinition_get(var4.sequence).field3533) {
var4.sequence = var6;
var4.sequenceFrame = 0;
var4.sequenceFrameCycle = 0;
@@ -253,7 +252,7 @@ public class ScriptFrame {
if ((var5 & 4) != 0) {
var4.definition = GameShell.getNpcDefinition(var1.readUnsignedShort());
var4.size = var4.definition.size * 78073455;
var4.field948 = var4.definition.field3492;
var4.field948 = var4.definition.rotation;
var4.walkSequence = var4.definition.walkSequence;
var4.walkBackSequence = var4.definition.walkBackSequence;
var4.walkLeftSequence = var4.definition.walkLeftSequence;
@@ -274,7 +273,7 @@ public class ScriptFrame {
var10 = -1;
var11 = -1;
var8 = var1.readUShortSmart();
if (var8 == 32767) {
if (var8 == 0x7fff) {
var8 = var1.readUShortSmart();
var10 = var1.readUShortSmart();
var9 = var1.readUShortSmart();
@@ -295,7 +294,7 @@ public class ScriptFrame {
for (var8 = 0; var8 < var7; ++var8) {
var9 = var1.readUShortSmart();
var10 = var1.readUShortSmart();
if (var10 != 32767) {
if (var10 != 0x7fff) {
var11 = var1.readUShortSmart();
var12 = var1.readUnsignedByte();
int var13 = var10 > 0 ? var1.method5525() : var12;
@@ -311,14 +310,14 @@ public class ScriptFrame {
var4.spotAnimation = var1.method5532();
var6 = var1.method5542();
var4.heightOffset = var6 >> 16;
var4.field989 = (var6 & 65535) + Client.cycle;
var4.field989 = (var6 & 0xffff) + Client.cycle;
var4.spotAnimationFrame = 0;
var4.spotAnimationFrameCycle = 0;
if (var4.field989 > Client.cycle) {
var4.spotAnimationFrame = -1;
}
if (var4.spotAnimation == 65535) {
if (var4.spotAnimation == 0xffff) {
var4.spotAnimation = -1;
}
}
@@ -355,10 +354,10 @@ public class ScriptFrame {
)
@Export("resumePauseWidget")
static void resumePauseWidget(int parentID, int childID) {
PacketBufferNode var2 = Archive.method4265(ClientPacket.field2273, Client.packetWriter.isaacCipher);
PacketBufferNode var2 = Archive.getPacketBufferNode(ClientPacket.field2273, Client.packetWriter.isaacCipher);
var2.packetBuffer.writeIntLE16(parentID);
var2.packetBuffer.method5530(childID);
Client.packetWriter.method2219(var2);
Client.packetWriter.addNode(var2);
}
@ObfuscatedName("js")
@@ -366,9 +365,10 @@ public class ScriptFrame {
signature = "(B)V",
garbageValue = "-73"
)
static final void method1089() {
PacketBufferNode var0 = Archive.method4265(ClientPacket.field2286, Client.packetWriter.isaacCipher);
@Export("Clan_leaveChat")
static final void Clan_leaveChat() {
PacketBufferNode var0 = Archive.getPacketBufferNode(ClientPacket.field2286, Client.packetWriter.isaacCipher);
var0.packetBuffer.writeByte(0);
Client.packetWriter.method2219(var0);
Client.packetWriter.addNode(var0);
}
}

Some files were not shown because too many files have changed in this diff Show More