425 lines
9.4 KiB
Java
425 lines
9.4 KiB
Java
import java.io.EOFException;
|
|
import java.util.HashMap;
|
|
import java.util.Iterator;
|
|
import java.util.Map;
|
|
import java.util.Map.Entry;
|
|
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("cg")
|
|
@Implements("Varcs")
|
|
public class Varcs {
|
|
@ObfuscatedName("oq")
|
|
@ObfuscatedSignature(
|
|
descriptor = "Lcg;"
|
|
)
|
|
@Export("varcs")
|
|
static Varcs varcs;
|
|
@ObfuscatedName("l")
|
|
@ObfuscatedGetter(
|
|
intValue = 329492753
|
|
)
|
|
@Export("ItemDefinition_fileCount")
|
|
public static int ItemDefinition_fileCount;
|
|
@ObfuscatedName("c")
|
|
static int[] field1283;
|
|
@ObfuscatedName("b")
|
|
@ObfuscatedGetter(
|
|
intValue = -69113617
|
|
)
|
|
@Export("clientTickTimeIdx")
|
|
static int clientTickTimeIdx;
|
|
@ObfuscatedName("x")
|
|
@Export("intsPersistence")
|
|
boolean[] intsPersistence;
|
|
@ObfuscatedName("w")
|
|
@Export("map")
|
|
Map map;
|
|
@ObfuscatedName("t")
|
|
@Export("strings")
|
|
String[] strings;
|
|
@ObfuscatedName("j")
|
|
@Export("unwrittenChanges")
|
|
boolean unwrittenChanges;
|
|
@ObfuscatedName("n")
|
|
@ObfuscatedGetter(
|
|
longValue = 442917365631683491L
|
|
)
|
|
long field1276;
|
|
|
|
Varcs() {
|
|
this.unwrittenChanges = false;
|
|
int var1 = DynamicObject.archive2.getGroupFileCount(19);
|
|
this.map = new HashMap();
|
|
this.intsPersistence = new boolean[var1];
|
|
|
|
int var2;
|
|
for (var2 = 0; var2 < var1; ++var2) {
|
|
VarcInt var3 = TextureProvider.method2843(var2);
|
|
this.intsPersistence[var2] = var3.persist;
|
|
}
|
|
|
|
var2 = 0;
|
|
if (DynamicObject.archive2.method4305(15)) {
|
|
var2 = DynamicObject.archive2.getGroupFileCount(15);
|
|
}
|
|
|
|
this.strings = new String[var2];
|
|
this.read();
|
|
}
|
|
|
|
@ObfuscatedName("h")
|
|
@ObfuscatedSignature(
|
|
descriptor = "(III)V",
|
|
garbageValue = "-298220081"
|
|
)
|
|
@Export("setInt")
|
|
void setInt(int var1, int var2) {
|
|
this.map.put(var1, var2);
|
|
if (this.intsPersistence[var1]) {
|
|
this.unwrittenChanges = true;
|
|
}
|
|
|
|
}
|
|
|
|
@ObfuscatedName("v")
|
|
@ObfuscatedSignature(
|
|
descriptor = "(II)I",
|
|
garbageValue = "-2112992813"
|
|
)
|
|
@Export("getInt")
|
|
int getInt(int var1) {
|
|
Object var2 = this.map.get(var1);
|
|
return var2 instanceof Integer ? (Integer)var2 : -1;
|
|
}
|
|
|
|
@ObfuscatedName("x")
|
|
@ObfuscatedSignature(
|
|
descriptor = "(ILjava/lang/String;I)V",
|
|
garbageValue = "-387665729"
|
|
)
|
|
@Export("setString")
|
|
void setString(int var1, String var2) {
|
|
this.map.put(var1, var2);
|
|
}
|
|
|
|
@ObfuscatedName("w")
|
|
@ObfuscatedSignature(
|
|
descriptor = "(IB)Ljava/lang/String;",
|
|
garbageValue = "-99"
|
|
)
|
|
@Export("getString")
|
|
String getString(int var1) {
|
|
Object var2 = this.map.get(var1);
|
|
return var2 instanceof String ? (String)var2 : "";
|
|
}
|
|
|
|
@ObfuscatedName("t")
|
|
@ObfuscatedSignature(
|
|
descriptor = "(ILjava/lang/String;B)V",
|
|
garbageValue = "0"
|
|
)
|
|
@Export("setStringOld")
|
|
void setStringOld(int var1, String var2) {
|
|
this.strings[var1] = var2;
|
|
}
|
|
|
|
@ObfuscatedName("j")
|
|
@ObfuscatedSignature(
|
|
descriptor = "(II)Ljava/lang/String;",
|
|
garbageValue = "343264324"
|
|
)
|
|
@Export("getStringOld")
|
|
String getStringOld(int var1) {
|
|
return this.strings[var1];
|
|
}
|
|
|
|
@ObfuscatedName("n")
|
|
@ObfuscatedSignature(
|
|
descriptor = "(I)V",
|
|
garbageValue = "-1770667153"
|
|
)
|
|
@Export("clearTransient")
|
|
void clearTransient() {
|
|
int var1;
|
|
for (var1 = 0; var1 < this.intsPersistence.length; ++var1) {
|
|
if (!this.intsPersistence[var1]) {
|
|
this.map.remove(var1);
|
|
}
|
|
}
|
|
|
|
for (var1 = 0; var1 < this.strings.length; ++var1) {
|
|
this.strings[var1] = null;
|
|
}
|
|
|
|
}
|
|
|
|
@ObfuscatedName("p")
|
|
@ObfuscatedSignature(
|
|
descriptor = "(ZB)Lmy;",
|
|
garbageValue = "-102"
|
|
)
|
|
@Export("getPreferencesFile")
|
|
AccessFile getPreferencesFile(boolean var1) {
|
|
return WorldMapRegion.getPreferencesFile("2", AttackOption.field1174.name, var1);
|
|
}
|
|
|
|
@ObfuscatedName("l")
|
|
@ObfuscatedSignature(
|
|
descriptor = "(I)V",
|
|
garbageValue = "1929534435"
|
|
)
|
|
@Export("write")
|
|
void write() {
|
|
AccessFile var1 = this.getPreferencesFile(true);
|
|
|
|
try {
|
|
int var2 = 3;
|
|
int var3 = 0;
|
|
Iterator var4 = this.map.entrySet().iterator();
|
|
|
|
while (var4.hasNext()) {
|
|
Entry var5 = (Entry)var4.next();
|
|
int var6 = (Integer)var5.getKey();
|
|
if (this.intsPersistence[var6]) {
|
|
Object var7 = var5.getValue();
|
|
var2 += 3;
|
|
if (var7 instanceof Integer) {
|
|
var2 += 4;
|
|
} else if (var7 instanceof String) {
|
|
var2 += FloorDecoration.stringCp1252NullTerminatedByteSize((String)var7);
|
|
}
|
|
|
|
++var3;
|
|
}
|
|
}
|
|
|
|
Buffer var28 = new Buffer(var2);
|
|
var28.writeByte(2);
|
|
var28.writeShort(var3);
|
|
Iterator var29 = this.map.entrySet().iterator();
|
|
|
|
label146:
|
|
while (true) {
|
|
Entry var17;
|
|
int var18;
|
|
do {
|
|
if (!var29.hasNext()) {
|
|
var1.write(var28.array, 0, var28.offset);
|
|
break label146;
|
|
}
|
|
|
|
var17 = (Entry)var29.next();
|
|
var18 = (Integer)var17.getKey();
|
|
} while(!this.intsPersistence[var18]);
|
|
|
|
var28.writeShort(var18);
|
|
Object var8 = var17.getValue();
|
|
Class var10 = var8.getClass();
|
|
class3[] var11 = new class3[]{class3.field13, class3.field12, class3.field8};
|
|
class3[] var12 = var11;
|
|
int var13 = 0;
|
|
|
|
class3 var9;
|
|
while (true) {
|
|
if (var13 >= var12.length) {
|
|
var9 = null;
|
|
break;
|
|
}
|
|
|
|
class3 var14 = var12[var13];
|
|
if (var10 == var14.field6) {
|
|
var9 = var14;
|
|
break;
|
|
}
|
|
|
|
++var13;
|
|
}
|
|
|
|
var28.writeByte(var9.field10);
|
|
class3.method25(var8, var28);
|
|
}
|
|
} catch (Exception var26) {
|
|
} finally {
|
|
try {
|
|
var1.close();
|
|
} catch (Exception var25) {
|
|
}
|
|
|
|
}
|
|
|
|
this.unwrittenChanges = false;
|
|
this.field1276 = class298.currentTimeMillis();
|
|
}
|
|
|
|
@ObfuscatedName("z")
|
|
@ObfuscatedSignature(
|
|
descriptor = "(B)V",
|
|
garbageValue = "20"
|
|
)
|
|
@Export("read")
|
|
void read() {
|
|
AccessFile var1 = this.getPreferencesFile(false);
|
|
|
|
label210: {
|
|
try {
|
|
byte[] var2 = new byte[(int)var1.length()];
|
|
|
|
int var4;
|
|
for (int var3 = 0; var3 < var2.length; var3 += var4) {
|
|
var4 = var1.read(var2, var3, var2.length - var3);
|
|
if (var4 == -1) {
|
|
throw new EOFException();
|
|
}
|
|
}
|
|
|
|
Buffer var15 = new Buffer(var2);
|
|
if (var15.array.length - var15.offset >= 1) {
|
|
int var16 = var15.readUnsignedByte();
|
|
if (var16 < 0 || var16 > 2) {
|
|
return;
|
|
}
|
|
|
|
int var7;
|
|
int var8;
|
|
int var9;
|
|
int var17;
|
|
if (var16 >= 2) {
|
|
var17 = var15.readUnsignedShort();
|
|
var7 = 0;
|
|
|
|
while (true) {
|
|
if (var7 >= var17) {
|
|
break label210;
|
|
}
|
|
|
|
var8 = var15.readUnsignedShort();
|
|
var9 = var15.readUnsignedByte();
|
|
class3[] var10 = new class3[]{class3.field13, class3.field12, class3.field8};
|
|
class3 var11 = (class3)UrlRequester.findEnumerated(var10, var9);
|
|
Object var12 = var11.method28(var15);
|
|
if (this.intsPersistence[var8]) {
|
|
this.map.put(var8, var12);
|
|
}
|
|
|
|
++var7;
|
|
}
|
|
} else {
|
|
var17 = var15.readUnsignedShort();
|
|
|
|
for (var7 = 0; var7 < var17; ++var7) {
|
|
var8 = var15.readUnsignedShort();
|
|
var9 = var15.readInt();
|
|
if (this.intsPersistence[var8]) {
|
|
this.map.put(var8, var9);
|
|
}
|
|
}
|
|
|
|
var7 = var15.readUnsignedShort();
|
|
var8 = 0;
|
|
|
|
while (true) {
|
|
if (var8 >= var7) {
|
|
break label210;
|
|
}
|
|
|
|
var15.readUnsignedShort();
|
|
var15.readStringCp1252NullTerminated();
|
|
++var8;
|
|
}
|
|
}
|
|
}
|
|
} catch (Exception var26) {
|
|
break label210;
|
|
} finally {
|
|
try {
|
|
var1.close();
|
|
} catch (Exception var25) {
|
|
}
|
|
|
|
}
|
|
|
|
return;
|
|
}
|
|
|
|
this.unwrittenChanges = false;
|
|
}
|
|
|
|
@ObfuscatedName("u")
|
|
@ObfuscatedSignature(
|
|
descriptor = "(I)V",
|
|
garbageValue = "1201076072"
|
|
)
|
|
@Export("tryWrite")
|
|
void tryWrite() {
|
|
if (this.unwrittenChanges && this.field1276 < class298.currentTimeMillis() - 60000L) {
|
|
this.write();
|
|
}
|
|
|
|
}
|
|
|
|
@ObfuscatedName("e")
|
|
@ObfuscatedSignature(
|
|
descriptor = "(I)Z",
|
|
garbageValue = "-1775213978"
|
|
)
|
|
@Export("hasUnwrittenChanges")
|
|
boolean hasUnwrittenChanges() {
|
|
return this.unwrittenChanges;
|
|
}
|
|
|
|
@ObfuscatedName("ah")
|
|
@ObfuscatedSignature(
|
|
descriptor = "(Ldi;I)V",
|
|
garbageValue = "1243916403"
|
|
)
|
|
@Export("PcmStream_disable")
|
|
static final void PcmStream_disable(PcmStream var0) {
|
|
var0.active = false;
|
|
if (var0.sound != null) {
|
|
var0.sound.position = 0;
|
|
}
|
|
|
|
for (PcmStream var1 = var0.firstSubStream(); var1 != null; var1 = var0.nextSubStream()) {
|
|
PcmStream_disable(var1);
|
|
}
|
|
|
|
}
|
|
|
|
@ObfuscatedName("km")
|
|
@ObfuscatedSignature(
|
|
descriptor = "(Lhe;IIII)V",
|
|
garbageValue = "842543427"
|
|
)
|
|
@Export("drawCompass")
|
|
static final void drawCompass(Widget var0, int var1, int var2, int var3) {
|
|
SpriteMask var4 = var0.getSpriteMask(false);
|
|
if (var4 != null) {
|
|
if (Client.minimapState < 3) {
|
|
UrlRequester.compass.drawRotatedMaskedCenteredAround(var1, var2, var4.width, var4.height, 25, 25, Client.camAngleY, 256, var4.xStarts, var4.xWidths);
|
|
} else {
|
|
Rasterizer2D.Rasterizer2D_fillMaskedRectangle(var1, var2, 0, var4.xStarts, var4.xWidths);
|
|
}
|
|
|
|
}
|
|
}
|
|
|
|
@ObfuscatedName("lr")
|
|
@ObfuscatedSignature(
|
|
descriptor = "(Ljava/lang/String;I)V",
|
|
garbageValue = "1893534902"
|
|
)
|
|
@Export("Clan_joinChat")
|
|
static final void Clan_joinChat(String var0) {
|
|
if (!var0.equals("")) {
|
|
PacketBufferNode var1 = ItemContainer.getPacketBufferNode(ClientPacket.field2285, Client.packetWriter.isaacCipher);
|
|
var1.packetBuffer.writeByte(FloorDecoration.stringCp1252NullTerminatedByteSize(var0));
|
|
var1.packetBuffer.writeStringCp1252NullTerminated(var0);
|
|
Client.packetWriter.addNode(var1);
|
|
}
|
|
}
|
|
}
|