Port Injector to main layout
Adds deobfuscator Adds injected-client Adds injector-plugin Adds runescape-client Replaces RL's apis Small bug with sprites atm, will be resolved soon. tired af. Builds, probably
This commit is contained in:
565
runescape-client/src/main/java/IndexCache.java
Normal file
565
runescape-client/src/main/java/IndexCache.java
Normal file
@@ -0,0 +1,565 @@
|
||||
import java.util.zip.CRC32;
|
||||
import net.runelite.mapping.Export;
|
||||
import net.runelite.mapping.Implements;
|
||||
import net.runelite.mapping.ObfuscatedGetter;
|
||||
import net.runelite.mapping.ObfuscatedName;
|
||||
import net.runelite.mapping.ObfuscatedSignature;
|
||||
|
||||
@ObfuscatedName("it")
|
||||
@Implements("IndexCache")
|
||||
public class IndexCache extends AbstractIndexCache {
|
||||
@ObfuscatedName("aj")
|
||||
@Export("IndexCache_crc")
|
||||
static CRC32 IndexCache_crc;
|
||||
@ObfuscatedName("c")
|
||||
@ObfuscatedSignature(
|
||||
signature = "Lff;"
|
||||
)
|
||||
@Export("indexStore")
|
||||
IndexStore indexStore;
|
||||
@ObfuscatedName("r")
|
||||
@ObfuscatedSignature(
|
||||
signature = "Lff;"
|
||||
)
|
||||
@Export("referenceStore")
|
||||
IndexStore referenceStore;
|
||||
@ObfuscatedName("p")
|
||||
@ObfuscatedGetter(
|
||||
intValue = -1579549759
|
||||
)
|
||||
@Export("index")
|
||||
int index;
|
||||
@ObfuscatedName("v")
|
||||
@Export("__v")
|
||||
volatile boolean __v;
|
||||
@ObfuscatedName("ag")
|
||||
@Export("__ag")
|
||||
boolean __ag;
|
||||
@ObfuscatedName("aq")
|
||||
@Export("validArchives")
|
||||
volatile boolean[] validArchives;
|
||||
@ObfuscatedName("av")
|
||||
@ObfuscatedGetter(
|
||||
intValue = 1472870917
|
||||
)
|
||||
@Export("indexReferenceCrc")
|
||||
int indexReferenceCrc;
|
||||
@ObfuscatedName("ar")
|
||||
@ObfuscatedGetter(
|
||||
intValue = -785528219
|
||||
)
|
||||
@Export("indexReferenceVersion")
|
||||
int indexReferenceVersion;
|
||||
@ObfuscatedName("ac")
|
||||
@ObfuscatedGetter(
|
||||
intValue = -1884661133
|
||||
)
|
||||
@Export("__ac")
|
||||
int __ac;
|
||||
|
||||
static {
|
||||
IndexCache_crc = new CRC32();
|
||||
}
|
||||
|
||||
@ObfuscatedSignature(
|
||||
signature = "(Lff;Lff;IZZZ)V"
|
||||
)
|
||||
public IndexCache(IndexStore var1, IndexStore var2, int var3, boolean var4, boolean var5, boolean var6) {
|
||||
super(var4, var5);
|
||||
this.__v = false;
|
||||
this.__ag = false;
|
||||
this.__ac = -1;
|
||||
this.indexStore = var1;
|
||||
this.referenceStore = var2;
|
||||
this.index = var3;
|
||||
this.__ag = var6;
|
||||
int var8 = this.index;
|
||||
if(Players.NetCache_reference != null) {
|
||||
Players.NetCache_reference.index = var8 * 8 + 5;
|
||||
int var9 = Players.NetCache_reference.readInt();
|
||||
int var10 = Players.NetCache_reference.readInt();
|
||||
this.loadIndexReference(var9, var10);
|
||||
} else {
|
||||
PacketBuffer.requestNetFile((IndexCache)null, 255, 255, 0, (byte)0, true);
|
||||
NetCache.NetCache_indexCaches[var8] = this;
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
@ObfuscatedName("f")
|
||||
@ObfuscatedSignature(
|
||||
signature = "(II)V",
|
||||
garbageValue = "2102142648"
|
||||
)
|
||||
void __f_392(int var1) {
|
||||
int var2 = this.index;
|
||||
long var3 = (long)((var2 << 16) + var1);
|
||||
NetFileRequest var5 = (NetFileRequest)NetCache.NetCache_pendingWrites.get(var3);
|
||||
if(var5 != null) {
|
||||
NetCache.NetCache_pendingWritesQueue.addLast(var5);
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
@ObfuscatedName("e")
|
||||
@ObfuscatedSignature(
|
||||
signature = "(II)I",
|
||||
garbageValue = "-1809769865"
|
||||
)
|
||||
int archiveLoadPercent(int var1) {
|
||||
return super.archives[var1] != null?100:(this.validArchives[var1]?100:class54.method1086(this.index, var1));
|
||||
}
|
||||
|
||||
@ObfuscatedName("z")
|
||||
@ObfuscatedSignature(
|
||||
signature = "(II)V",
|
||||
garbageValue = "-1829145107"
|
||||
)
|
||||
void loadArchive(int var1) {
|
||||
if(this.indexStore != null && this.validArchives != null && this.validArchives[var1]) {
|
||||
IndexStore var2 = this.indexStore;
|
||||
byte[] var4 = null;
|
||||
NodeDeque var5 = IndexStoreActionHandler.IndexStoreActionHandler_requestQueue;
|
||||
synchronized(IndexStoreActionHandler.IndexStoreActionHandler_requestQueue) {
|
||||
for(IndexStoreAction var6 = (IndexStoreAction)IndexStoreActionHandler.IndexStoreActionHandler_requestQueue.last(); var6 != null; var6 = (IndexStoreAction)IndexStoreActionHandler.IndexStoreActionHandler_requestQueue.previous()) {
|
||||
if(var6.key == (long)var1 && var2 == var6.indexStore && var6.type == 0) {
|
||||
var4 = var6.data;
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
if(var4 != null) {
|
||||
this.load(var2, var1, var4, true);
|
||||
} else {
|
||||
byte[] var9 = var2.read(var1);
|
||||
this.load(var2, var1, var9, true);
|
||||
}
|
||||
} else {
|
||||
PacketBuffer.requestNetFile(this, this.index, var1, super.archiveCrcs[var1], (byte)2, true);
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
@ObfuscatedName("cx")
|
||||
@ObfuscatedSignature(
|
||||
signature = "(I)Z",
|
||||
garbageValue = "1750279412"
|
||||
)
|
||||
@Export("__cx_404")
|
||||
public boolean __cx_404() {
|
||||
return this.__v;
|
||||
}
|
||||
|
||||
@ObfuscatedName("ca")
|
||||
@ObfuscatedSignature(
|
||||
signature = "(I)I",
|
||||
garbageValue = "1671499504"
|
||||
)
|
||||
@Export("__ca_405")
|
||||
public int __ca_405() {
|
||||
if(this.__v) {
|
||||
return 100;
|
||||
} else if(super.archives != null) {
|
||||
return 99;
|
||||
} else {
|
||||
int var1 = class54.method1086(255, this.index);
|
||||
if(var1 >= 100) {
|
||||
var1 = 99;
|
||||
}
|
||||
|
||||
return var1;
|
||||
}
|
||||
}
|
||||
|
||||
@ObfuscatedName("co")
|
||||
@ObfuscatedSignature(
|
||||
signature = "(III)V",
|
||||
garbageValue = "-1621053520"
|
||||
)
|
||||
@Export("loadIndexReference")
|
||||
public void loadIndexReference(int var1, int var2) {
|
||||
this.indexReferenceCrc = var1;
|
||||
this.indexReferenceVersion = var2;
|
||||
if(this.referenceStore != null) {
|
||||
int var3 = this.index;
|
||||
IndexStore var4 = this.referenceStore;
|
||||
byte[] var6 = null;
|
||||
NodeDeque var7 = IndexStoreActionHandler.IndexStoreActionHandler_requestQueue;
|
||||
synchronized(IndexStoreActionHandler.IndexStoreActionHandler_requestQueue) {
|
||||
for(IndexStoreAction var8 = (IndexStoreAction)IndexStoreActionHandler.IndexStoreActionHandler_requestQueue.last(); var8 != null; var8 = (IndexStoreAction)IndexStoreActionHandler.IndexStoreActionHandler_requestQueue.previous()) {
|
||||
if(var8.key == (long)var3 && var4 == var8.indexStore && var8.type == 0) {
|
||||
var6 = var8.data;
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
if(var6 != null) {
|
||||
this.load(var4, var3, var6, true);
|
||||
} else {
|
||||
byte[] var11 = var4.read(var3);
|
||||
this.load(var4, var3, var11, true);
|
||||
}
|
||||
} else {
|
||||
PacketBuffer.requestNetFile(this, 255, this.index, this.indexReferenceCrc, (byte)0, true);
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
@ObfuscatedName("de")
|
||||
@ObfuscatedSignature(
|
||||
signature = "(I[BZZB)V",
|
||||
garbageValue = "24"
|
||||
)
|
||||
@Export("write")
|
||||
public void write(int var1, byte[] var2, boolean var3, boolean var4) {
|
||||
if(var3) {
|
||||
if(this.__v) {
|
||||
throw new RuntimeException();
|
||||
}
|
||||
|
||||
if(this.referenceStore != null) {
|
||||
Widget.method4499(this.index, var2, this.referenceStore);
|
||||
}
|
||||
|
||||
this.setIndexReference(var2);
|
||||
this.loadAllLocal();
|
||||
} else {
|
||||
var2[var2.length - 2] = (byte)(super.archiveVersions[var1] >> 8);
|
||||
var2[var2.length - 1] = (byte)super.archiveVersions[var1];
|
||||
if(this.indexStore != null) {
|
||||
Widget.method4499(var1, var2, this.indexStore);
|
||||
this.validArchives[var1] = true;
|
||||
}
|
||||
|
||||
if(var4) {
|
||||
super.archives[var1] = Projectile.byteArrayToObject(var2, false);
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
@ObfuscatedName("dx")
|
||||
@ObfuscatedSignature(
|
||||
signature = "(Lff;I[BZI)V",
|
||||
garbageValue = "-2045340856"
|
||||
)
|
||||
@Export("load")
|
||||
void load(IndexStore var1, int var2, byte[] var3, boolean var4) {
|
||||
int var5;
|
||||
if(var1 == this.referenceStore) {
|
||||
if(this.__v) {
|
||||
throw new RuntimeException();
|
||||
}
|
||||
|
||||
if(var3 == null) {
|
||||
PacketBuffer.requestNetFile(this, 255, this.index, this.indexReferenceCrc, (byte)0, true);
|
||||
return;
|
||||
}
|
||||
|
||||
IndexCache_crc.reset();
|
||||
IndexCache_crc.update(var3, 0, var3.length);
|
||||
var5 = (int)IndexCache_crc.getValue();
|
||||
if(var5 != this.indexReferenceCrc) {
|
||||
PacketBuffer.requestNetFile(this, 255, this.index, this.indexReferenceCrc, (byte)0, true);
|
||||
return;
|
||||
}
|
||||
|
||||
Buffer var9 = new Buffer(Strings.decompressBytes(var3));
|
||||
int var7 = var9.readUnsignedByte();
|
||||
if(var7 != 5 && var7 != 6) {
|
||||
throw new RuntimeException(var7 + "," + this.index + "," + var2);
|
||||
}
|
||||
|
||||
int var8 = 0;
|
||||
if(var7 >= 6) {
|
||||
var8 = var9.readInt();
|
||||
}
|
||||
|
||||
if(var8 != this.indexReferenceVersion) {
|
||||
PacketBuffer.requestNetFile(this, 255, this.index, this.indexReferenceCrc, (byte)0, true);
|
||||
return;
|
||||
}
|
||||
|
||||
this.setIndexReference(var3);
|
||||
this.loadAllLocal();
|
||||
} else {
|
||||
if(!var4 && var2 == this.__ac) {
|
||||
this.__v = true;
|
||||
}
|
||||
|
||||
if(var3 == null || var3.length <= 2) {
|
||||
this.validArchives[var2] = false;
|
||||
if(this.__ag || var4) {
|
||||
PacketBuffer.requestNetFile(this, this.index, var2, super.archiveCrcs[var2], (byte)2, var4);
|
||||
}
|
||||
|
||||
return;
|
||||
}
|
||||
|
||||
IndexCache_crc.reset();
|
||||
IndexCache_crc.update(var3, 0, var3.length - 2);
|
||||
var5 = (int)IndexCache_crc.getValue();
|
||||
int var6 = ((var3[var3.length - 2] & 255) << 8) + (var3[var3.length - 1] & 255);
|
||||
if(var5 != super.archiveCrcs[var2] || var6 != super.archiveVersions[var2]) {
|
||||
this.validArchives[var2] = false;
|
||||
if(this.__ag || var4) {
|
||||
PacketBuffer.requestNetFile(this, this.index, var2, super.archiveCrcs[var2], (byte)2, var4);
|
||||
}
|
||||
|
||||
return;
|
||||
}
|
||||
|
||||
this.validArchives[var2] = true;
|
||||
if(var4) {
|
||||
super.archives[var2] = Projectile.byteArrayToObject(var3, false);
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
@ObfuscatedName("dt")
|
||||
@ObfuscatedSignature(
|
||||
signature = "(I)V",
|
||||
garbageValue = "1357733042"
|
||||
)
|
||||
@Export("loadAllLocal")
|
||||
void loadAllLocal() {
|
||||
this.validArchives = new boolean[super.archives.length];
|
||||
|
||||
int var1;
|
||||
for(var1 = 0; var1 < this.validArchives.length; ++var1) {
|
||||
this.validArchives[var1] = false;
|
||||
}
|
||||
|
||||
if(this.indexStore == null) {
|
||||
this.__v = true;
|
||||
} else {
|
||||
this.__ac = -1;
|
||||
|
||||
for(var1 = 0; var1 < this.validArchives.length; ++var1) {
|
||||
if(super.recordCounts[var1] > 0) {
|
||||
Npc.method2009(var1, this.indexStore, this);
|
||||
this.__ac = var1;
|
||||
}
|
||||
}
|
||||
|
||||
if(this.__ac == -1) {
|
||||
this.__v = true;
|
||||
}
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
@ObfuscatedName("dn")
|
||||
@ObfuscatedSignature(
|
||||
signature = "(IB)Z",
|
||||
garbageValue = "0"
|
||||
)
|
||||
@Export("__dn_407")
|
||||
public boolean __dn_407(int var1) {
|
||||
return this.validArchives[var1];
|
||||
}
|
||||
|
||||
@ObfuscatedName("df")
|
||||
@ObfuscatedSignature(
|
||||
signature = "(II)Z",
|
||||
garbageValue = "1419648188"
|
||||
)
|
||||
@Export("__df_408")
|
||||
public boolean __df_408(int var1) {
|
||||
return this.__j_395(var1) != null;
|
||||
}
|
||||
|
||||
@ObfuscatedName("da")
|
||||
@ObfuscatedSignature(
|
||||
signature = "(I)I",
|
||||
garbageValue = "-1809381772"
|
||||
)
|
||||
@Export("loadPercent")
|
||||
public int loadPercent() {
|
||||
int var1 = 0;
|
||||
int var2 = 0;
|
||||
|
||||
int var3;
|
||||
for(var3 = 0; var3 < super.archives.length; ++var3) {
|
||||
if(super.recordCounts[var3] > 0) {
|
||||
var1 += 100;
|
||||
var2 += this.archiveLoadPercent(var3);
|
||||
}
|
||||
}
|
||||
|
||||
if(var1 == 0) {
|
||||
return 100;
|
||||
} else {
|
||||
var3 = var2 * 100 / var1;
|
||||
return var3;
|
||||
}
|
||||
}
|
||||
|
||||
@ObfuscatedName("jc")
|
||||
@ObfuscatedSignature(
|
||||
signature = "(IB)V",
|
||||
garbageValue = "-34"
|
||||
)
|
||||
static final void method4703(int var0) {
|
||||
class12.method159();
|
||||
|
||||
for(ObjectSound var1 = (ObjectSound)ObjectSound.objectSounds.last(); var1 != null; var1 = (ObjectSound)ObjectSound.objectSounds.previous()) {
|
||||
if(var1.obj != null) {
|
||||
var1.set();
|
||||
}
|
||||
}
|
||||
|
||||
int var4 = SecureRandomCallable.method1140(var0).type;
|
||||
if(var4 != 0) {
|
||||
int var2 = Varps.Varps_main[var0];
|
||||
if(var4 == 1) {
|
||||
if(var2 == 1) {
|
||||
Rasterizer3D.Rasterizer3D_setBrightness(0.9D);
|
||||
((TextureProvider)Rasterizer3D.Rasterizer3D_textureLoader).setBrightness(0.9D);
|
||||
}
|
||||
|
||||
if(var2 == 2) {
|
||||
Rasterizer3D.Rasterizer3D_setBrightness(0.8D);
|
||||
((TextureProvider)Rasterizer3D.Rasterizer3D_textureLoader).setBrightness(0.8D);
|
||||
}
|
||||
|
||||
if(var2 == 3) {
|
||||
Rasterizer3D.Rasterizer3D_setBrightness(0.7D);
|
||||
((TextureProvider)Rasterizer3D.Rasterizer3D_textureLoader).setBrightness(0.7D);
|
||||
}
|
||||
|
||||
if(var2 == 4) {
|
||||
Rasterizer3D.Rasterizer3D_setBrightness(0.6D);
|
||||
((TextureProvider)Rasterizer3D.Rasterizer3D_textureLoader).setBrightness(0.6D);
|
||||
}
|
||||
|
||||
ObjectDefinition.method5041();
|
||||
}
|
||||
|
||||
if(var4 == 3) {
|
||||
short var3 = 0;
|
||||
if(var2 == 0) {
|
||||
var3 = 255;
|
||||
}
|
||||
|
||||
if(var2 == 1) {
|
||||
var3 = 192;
|
||||
}
|
||||
|
||||
if(var2 == 2) {
|
||||
var3 = 128;
|
||||
}
|
||||
|
||||
if(var2 == 3) {
|
||||
var3 = 64;
|
||||
}
|
||||
|
||||
if(var2 == 4) {
|
||||
var3 = 0;
|
||||
}
|
||||
|
||||
if(var3 != Client.__client_qf) {
|
||||
if(Client.__client_qf == 0 && Client.__client_qy != -1) {
|
||||
Login.method2076(UserComparator3.indexCache6, Client.__client_qy, 0, var3, false);
|
||||
Client.__client_qq = false;
|
||||
} else if(var3 == 0) {
|
||||
class214.midiPcmStream.clear();
|
||||
class214.__hf_o = 1;
|
||||
class214.__hf_u = null;
|
||||
Client.__client_qq = false;
|
||||
} else {
|
||||
class203.method4008(var3);
|
||||
}
|
||||
|
||||
Client.__client_qf = var3;
|
||||
}
|
||||
}
|
||||
|
||||
if(var4 == 4) {
|
||||
if(var2 == 0) {
|
||||
Client.__client_qp = 127;
|
||||
}
|
||||
|
||||
if(var2 == 1) {
|
||||
Client.__client_qp = 96;
|
||||
}
|
||||
|
||||
if(var2 == 2) {
|
||||
Client.__client_qp = 64;
|
||||
}
|
||||
|
||||
if(var2 == 3) {
|
||||
Client.__client_qp = 32;
|
||||
}
|
||||
|
||||
if(var2 == 4) {
|
||||
Client.__client_qp = 0;
|
||||
}
|
||||
}
|
||||
|
||||
if(var4 == 5) {
|
||||
Client.__client_ku = var2;
|
||||
}
|
||||
|
||||
if(var4 == 6) {
|
||||
Client.chatEffects = var2;
|
||||
}
|
||||
|
||||
if(var4 == 9) {
|
||||
Client.__client_mb = var2;
|
||||
}
|
||||
|
||||
if(var4 == 10) {
|
||||
if(var2 == 0) {
|
||||
Client.__client_qc = 127;
|
||||
}
|
||||
|
||||
if(var2 == 1) {
|
||||
Client.__client_qc = 96;
|
||||
}
|
||||
|
||||
if(var2 == 2) {
|
||||
Client.__client_qc = 64;
|
||||
}
|
||||
|
||||
if(var2 == 3) {
|
||||
Client.__client_qc = 32;
|
||||
}
|
||||
|
||||
if(var2 == 4) {
|
||||
Client.__client_qc = 0;
|
||||
}
|
||||
}
|
||||
|
||||
if(var4 == 17) {
|
||||
Client.followerIndex = var2 & 65535;
|
||||
}
|
||||
|
||||
if(var4 == 18) {
|
||||
Client.playerAttackOption = (AttackOption)ScriptFrame.findEnumerated(ClientPacket.method3665(), var2);
|
||||
if(Client.playerAttackOption == null) {
|
||||
Client.playerAttackOption = AttackOption.AttackOption_dependsOnCombatLevels;
|
||||
}
|
||||
}
|
||||
|
||||
if(var4 == 19) {
|
||||
if(var2 == -1) {
|
||||
Client.combatTargetPlayerIndex = -1;
|
||||
} else {
|
||||
Client.combatTargetPlayerIndex = var2 & 2047;
|
||||
}
|
||||
}
|
||||
|
||||
if(var4 == 22) {
|
||||
Client.npcAttackOption = (AttackOption)ScriptFrame.findEnumerated(ClientPacket.method3665(), var2);
|
||||
if(Client.npcAttackOption == null) {
|
||||
Client.npcAttackOption = AttackOption.AttackOption_dependsOnCombatLevels;
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user