rs-client: refactoring (#1344)
* Rename some things to be more consistent everywhere * rs-client: refactoring * MenuAction -> MenuOpcode merge
This commit is contained in:
@@ -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;
|
||||
|
||||
Reference in New Issue
Block a user