Files
runelite/runescape-client/src/main/java/UserList.java
2020-03-26 14:17:06 +00:00

541 lines
16 KiB
Java

import java.util.Arrays;
import java.util.Comparator;
import java.util.HashMap;
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;
import net.runelite.rs.ScriptOpcodes;
@ObfuscatedName("kw")
@Implements("UserList")
public abstract class UserList {
@ObfuscatedName("d")
@ObfuscatedGetter(
intValue = 359260523
)
@Export("capacity")
final int capacity;
@ObfuscatedName("w")
@ObfuscatedGetter(
intValue = 1553317273
)
@Export("size")
int size;
@ObfuscatedName("v")
@ObfuscatedSignature(
signature = "[Ljd;"
)
@Export("array")
User[] array;
@ObfuscatedName("q")
@Export("usernamesMap")
HashMap usernamesMap;
@ObfuscatedName("z")
@Export("previousUsernamesMap")
HashMap previousUsernamesMap;
@ObfuscatedName("t")
@Export("comparator")
Comparator comparator;
UserList(int var1) {
this.size = 0;
this.comparator = null;
this.capacity = var1;
this.array = this.newTypedArray(var1);
this.usernamesMap = new HashMap(var1 / 8);
this.previousUsernamesMap = new HashMap(var1 / 8);
}
@ObfuscatedName("x")
@ObfuscatedSignature(
signature = "(I)Ljd;",
garbageValue = "-1332552421"
)
@Export("newInstance")
abstract User newInstance();
@ObfuscatedName("m")
@ObfuscatedSignature(
signature = "(II)[Ljd;",
garbageValue = "-667029686"
)
@Export("newTypedArray")
abstract User[] newTypedArray(int var1);
@ObfuscatedName("e")
@ObfuscatedSignature(
signature = "(I)V",
garbageValue = "1068929306"
)
@Export("clear")
public void clear() {
this.size = 0;
Arrays.fill(this.array, (Object)null);
this.usernamesMap.clear();
this.previousUsernamesMap.clear();
}
@ObfuscatedName("s")
@ObfuscatedSignature(
signature = "(B)I",
garbageValue = "4"
)
@Export("getSize")
public int getSize() {
return this.size;
}
@ObfuscatedName("p")
@ObfuscatedSignature(
signature = "(I)Z",
garbageValue = "1500565158"
)
@Export("isFull")
public boolean isFull() {
return this.capacity == this.size;
}
@ObfuscatedName("n")
@ObfuscatedSignature(
signature = "(Lku;I)Z",
garbageValue = "330121019"
)
@Export("contains")
public boolean contains(Username var1) {
if (!var1.hasCleanName()) {
return false;
} else {
return this.usernamesMap.containsKey(var1) ? true : this.previousUsernamesMap.containsKey(var1);
}
}
@ObfuscatedName("u")
@ObfuscatedSignature(
signature = "(Lku;I)Ljd;",
garbageValue = "2044020824"
)
@Export("getByUsername")
public User getByUsername(Username var1) {
User var2 = this.getByCurrentUsername(var1);
return var2 != null ? var2 : this.getByPreviousUsername(var1);
}
@ObfuscatedName("h")
@ObfuscatedSignature(
signature = "(Lku;I)Ljd;",
garbageValue = "-678771148"
)
@Export("getByCurrentUsername")
User getByCurrentUsername(Username var1) {
return !var1.hasCleanName() ? null : (User)this.usernamesMap.get(var1);
}
@ObfuscatedName("g")
@ObfuscatedSignature(
signature = "(Lku;I)Ljd;",
garbageValue = "1317746514"
)
@Export("getByPreviousUsername")
User getByPreviousUsername(Username var1) {
return !var1.hasCleanName() ? null : (User)this.previousUsernamesMap.get(var1);
}
@ObfuscatedName("i")
@ObfuscatedSignature(
signature = "(Lku;I)Z",
garbageValue = "-734937712"
)
@Export("removeByUsername")
public final boolean removeByUsername(Username var1) {
User var2 = this.getByCurrentUsername(var1);
if (var2 == null) {
return false;
} else {
this.remove(var2);
return true;
}
}
@ObfuscatedName("a")
@ObfuscatedSignature(
signature = "(Ljd;I)V",
garbageValue = "-941355814"
)
@Export("remove")
final void remove(User var1) {
int var2 = this.indexOf(var1);
if (var2 != -1) {
this.arrayRemove(var2);
this.mapRemove(var1);
}
}
@ObfuscatedName("o")
@ObfuscatedSignature(
signature = "(Lku;I)Ljd;",
garbageValue = "-2093018234"
)
@Export("addLastNoPreviousUsername")
User addLastNoPreviousUsername(Username var1) {
return this.addLast(var1, (Username)null);
}
@ObfuscatedName("c")
@ObfuscatedSignature(
signature = "(Lku;Lku;B)Ljd;",
garbageValue = "50"
)
@Export("addLast")
User addLast(Username var1, Username var2) {
if (this.getByCurrentUsername(var1) != null) {
throw new IllegalStateException();
} else {
User var3 = this.newInstance();
var3.set(var1, var2);
this.arrayAddLast(var3);
this.mapPut(var3);
return var3;
}
}
@ObfuscatedName("f")
@ObfuscatedSignature(
signature = "(IS)Ljd;",
garbageValue = "-13330"
)
@Export("get")
public final User get(int var1) {
if (var1 >= 0 && var1 < this.size) {
return this.array[var1];
} else {
throw new ArrayIndexOutOfBoundsException(var1);
}
}
@ObfuscatedName("ae")
@ObfuscatedSignature(
signature = "(S)V",
garbageValue = "5757"
)
@Export("sort")
public final void sort() {
if (this.comparator == null) {
Arrays.sort(this.array, 0, this.size);
} else {
Arrays.sort(this.array, 0, this.size, this.comparator);
}
}
@ObfuscatedName("an")
@ObfuscatedSignature(
signature = "(Ljd;Lku;Lku;I)V",
garbageValue = "577990406"
)
@Export("changeName")
final void changeName(User var1, Username var2, Username var3) {
this.mapRemove(var1);
var1.set(var2, var3);
this.mapPut(var1);
}
@ObfuscatedName("ai")
@ObfuscatedSignature(
signature = "(Ljd;I)I",
garbageValue = "-1683425809"
)
@Export("indexOf")
final int indexOf(User var1) {
for (int var2 = 0; var2 < this.size; ++var2) {
if (this.array[var2] == var1) {
return var2;
}
}
return -1;
}
@ObfuscatedName("ap")
@ObfuscatedSignature(
signature = "(Ljd;B)V",
garbageValue = "28"
)
@Export("mapRemove")
final void mapRemove(User var1) {
if (this.usernamesMap.remove(var1.username) == null) {
throw new IllegalStateException();
} else {
if (var1.previousUsername != null) {
this.previousUsernamesMap.remove(var1.previousUsername);
}
}
}
@ObfuscatedName("ab")
@ObfuscatedSignature(
signature = "(Ljd;I)V",
garbageValue = "1612214268"
)
@Export("arrayAddLast")
final void arrayAddLast(User var1) {
this.array[++this.size - 1] = var1;
}
@ObfuscatedName("ar")
@ObfuscatedSignature(
signature = "(Ljd;I)V",
garbageValue = "1080849523"
)
@Export("mapPut")
final void mapPut(User var1) {
this.usernamesMap.put(var1.username, var1);
if (var1.previousUsername != null) {
User var2 = (User)this.previousUsernamesMap.put(var1.previousUsername, var1);
if (var2 != null && var2 != var1) {
var2.previousUsername = null;
}
}
}
@ObfuscatedName("af")
@ObfuscatedSignature(
signature = "(IB)V",
garbageValue = "-23"
)
@Export("arrayRemove")
final void arrayRemove(int var1) {
--this.size;
if (var1 < this.size) {
System.arraycopy(this.array, var1 + 1, this.array, var1, this.size - var1);
}
}
@ObfuscatedName("at")
@ObfuscatedSignature(
signature = "(B)V",
garbageValue = "-18"
)
@Export("removeComparator")
public final void removeComparator() {
this.comparator = null;
}
@ObfuscatedName("as")
@ObfuscatedSignature(
signature = "(Ljava/util/Comparator;I)V",
garbageValue = "-1901322261"
)
@Export("addComparator")
public final void addComparator(Comparator var1) {
if (this.comparator == null) {
this.comparator = var1;
} else if (this.comparator instanceof AbstractUserComparator) {
((AbstractUserComparator)this.comparator).addComparator(var1);
}
}
@ObfuscatedName("x")
@ObfuscatedSignature(
signature = "(Liy;S)V",
garbageValue = "32619"
)
public static void method5179(AbstractArchive var0) {
InvDefinition.InvDefinition_archive = var0;
}
@ObfuscatedName("v")
@ObfuscatedSignature(
signature = "(ILce;ZB)I",
garbageValue = "43"
)
static int method5225(int var0, Script var1, boolean var2) {
int var4 = -1;
Widget var3;
if (var0 >= 2000) {
var0 -= 1000;
var4 = Interpreter.Interpreter_intStack[--Interpreter.Interpreter_intStackSize];
var3 = MusicPatchNode.getWidget(var4);
} else {
var3 = var2 ? GrandExchangeOfferNameComparator.field115 : Interpreter.field1130;
}
if (var0 == ScriptOpcodes.CC_SETSCROLLPOS) {
Interpreter.Interpreter_intStackSize -= 2;
var3.scrollX = Interpreter.Interpreter_intStack[Interpreter.Interpreter_intStackSize];
if (var3.scrollX > var3.scrollWidth - var3.width) {
var3.scrollX = var3.scrollWidth - var3.width;
}
if (var3.scrollX < 0) {
var3.scrollX = 0;
}
var3.scrollY = Interpreter.Interpreter_intStack[Interpreter.Interpreter_intStackSize + 1];
if (var3.scrollY > var3.scrollHeight - var3.height) {
var3.scrollY = var3.scrollHeight - var3.height;
}
if (var3.scrollY < 0) {
var3.scrollY = 0;
}
ItemContainer.invalidateWidget(var3);
return 1;
} else if (var0 == ScriptOpcodes.CC_SETCOLOUR) {
var3.color = Interpreter.Interpreter_intStack[--Interpreter.Interpreter_intStackSize];
ItemContainer.invalidateWidget(var3);
return 1;
} else if (var0 == ScriptOpcodes.CC_SETFILL) {
var3.fill = Interpreter.Interpreter_intStack[--Interpreter.Interpreter_intStackSize] == 1;
ItemContainer.invalidateWidget(var3);
return 1;
} else if (var0 == ScriptOpcodes.CC_SETTRANS) {
var3.transparencyTop = Interpreter.Interpreter_intStack[--Interpreter.Interpreter_intStackSize];
ItemContainer.invalidateWidget(var3);
return 1;
} else if (var0 == ScriptOpcodes.CC_SETLINEWID) {
var3.lineWid = Interpreter.Interpreter_intStack[--Interpreter.Interpreter_intStackSize];
ItemContainer.invalidateWidget(var3);
return 1;
} else if (var0 == ScriptOpcodes.CC_SETGRAPHIC) {
var3.spriteId2 = Interpreter.Interpreter_intStack[--Interpreter.Interpreter_intStackSize];
ItemContainer.invalidateWidget(var3);
return 1;
} else if (var0 == ScriptOpcodes.CC_SET2DANGLE) {
var3.spriteAngle = Interpreter.Interpreter_intStack[--Interpreter.Interpreter_intStackSize];
ItemContainer.invalidateWidget(var3);
return 1;
} else if (var0 == ScriptOpcodes.CC_SETTILING) {
var3.spriteTiling = Interpreter.Interpreter_intStack[--Interpreter.Interpreter_intStackSize] == 1;
ItemContainer.invalidateWidget(var3);
return 1;
} else if (var0 == ScriptOpcodes.CC_SETMODEL) {
var3.modelType = 1;
var3.modelId = Interpreter.Interpreter_intStack[--Interpreter.Interpreter_intStackSize];
ItemContainer.invalidateWidget(var3);
return 1;
} else if (var0 == ScriptOpcodes.CC_SETMODELANGLE) {
Interpreter.Interpreter_intStackSize -= 6;
var3.modelOffsetX = Interpreter.Interpreter_intStack[Interpreter.Interpreter_intStackSize];
var3.modelOffsetY = Interpreter.Interpreter_intStack[Interpreter.Interpreter_intStackSize + 1];
var3.modelAngleX = Interpreter.Interpreter_intStack[Interpreter.Interpreter_intStackSize + 2];
var3.modelAngleY = Interpreter.Interpreter_intStack[Interpreter.Interpreter_intStackSize + 3];
var3.modelAngleZ = Interpreter.Interpreter_intStack[Interpreter.Interpreter_intStackSize + 4];
var3.modelZoom = Interpreter.Interpreter_intStack[Interpreter.Interpreter_intStackSize + 5];
ItemContainer.invalidateWidget(var3);
return 1;
} else {
int var8;
if (var0 == ScriptOpcodes.CC_SETMODELANIM) {
var8 = Interpreter.Interpreter_intStack[--Interpreter.Interpreter_intStackSize];
if (var8 != var3.sequenceId) {
var3.sequenceId = var8;
var3.modelFrame = 0;
var3.modelFrameCycle = 0;
ItemContainer.invalidateWidget(var3);
}
return 1;
} else if (var0 == ScriptOpcodes.CC_SETMODELORTHOG) {
var3.modelOrthog = Interpreter.Interpreter_intStack[--Interpreter.Interpreter_intStackSize] == 1;
ItemContainer.invalidateWidget(var3);
return 1;
} else if (var0 == ScriptOpcodes.CC_SETTEXT) {
String var7 = Interpreter.Interpreter_stringStack[--Interpreter.Interpreter_stringStackSize];
if (!var7.equals(var3.text)) {
var3.text = var7;
ItemContainer.invalidateWidget(var3);
}
return 1;
} else if (var0 == ScriptOpcodes.CC_SETTEXTFONT) {
var3.fontId = Interpreter.Interpreter_intStack[--Interpreter.Interpreter_intStackSize];
ItemContainer.invalidateWidget(var3);
return 1;
} else if (var0 == ScriptOpcodes.CC_SETTEXTALIGN) {
Interpreter.Interpreter_intStackSize -= 3;
var3.textXAlignment = Interpreter.Interpreter_intStack[Interpreter.Interpreter_intStackSize];
var3.textYAlignment = Interpreter.Interpreter_intStack[Interpreter.Interpreter_intStackSize + 1];
var3.textLineHeight = Interpreter.Interpreter_intStack[Interpreter.Interpreter_intStackSize + 2];
ItemContainer.invalidateWidget(var3);
return 1;
} else if (var0 == ScriptOpcodes.CC_SETTEXTSHADOW) {
var3.textShadowed = Interpreter.Interpreter_intStack[--Interpreter.Interpreter_intStackSize] == 1;
ItemContainer.invalidateWidget(var3);
return 1;
} else if (var0 == ScriptOpcodes.CC_SETOUTLINE) {
var3.outline = Interpreter.Interpreter_intStack[--Interpreter.Interpreter_intStackSize];
ItemContainer.invalidateWidget(var3);
return 1;
} else if (var0 == ScriptOpcodes.CC_SETGRAPHICSHADOW) {
var3.spriteShadow = Interpreter.Interpreter_intStack[--Interpreter.Interpreter_intStackSize];
ItemContainer.invalidateWidget(var3);
return 1;
} else if (var0 == ScriptOpcodes.CC_SETVFLIP) {
var3.spriteFlipV = Interpreter.Interpreter_intStack[--Interpreter.Interpreter_intStackSize] == 1;
ItemContainer.invalidateWidget(var3);
return 1;
} else if (var0 == ScriptOpcodes.CC_SETHFLIP) {
var3.spriteFlipH = Interpreter.Interpreter_intStack[--Interpreter.Interpreter_intStackSize] == 1;
ItemContainer.invalidateWidget(var3);
return 1;
} else if (var0 == ScriptOpcodes.CC_SETSCROLLSIZE) {
Interpreter.Interpreter_intStackSize -= 2;
var3.scrollWidth = Interpreter.Interpreter_intStack[Interpreter.Interpreter_intStackSize];
var3.scrollHeight = Interpreter.Interpreter_intStack[Interpreter.Interpreter_intStackSize + 1];
ItemContainer.invalidateWidget(var3);
if (var4 != -1 && var3.type == 0) {
MouseHandler.revalidateWidgetScroll(Widget.Widget_interfaceComponents[var4 >> 16], var3, false);
}
return 1;
} else if (var0 == ScriptOpcodes.CC_RESUME_PAUSEBUTTON) {
class58.resumePauseWidget(var3.id, var3.childIndex);
Client.meslayerContinueWidget = var3;
ItemContainer.invalidateWidget(var3);
return 1;
} else if (var0 == 1122) {
var3.spriteId = Interpreter.Interpreter_intStack[--Interpreter.Interpreter_intStackSize];
ItemContainer.invalidateWidget(var3);
return 1;
} else if (var0 == ScriptOpcodes.CC_SETFILLCOLOUR) {
var3.color2 = Interpreter.Interpreter_intStack[--Interpreter.Interpreter_intStackSize];
ItemContainer.invalidateWidget(var3);
return 1;
} else if (var0 == 1124) {
var3.transparencyBot = Interpreter.Interpreter_intStack[--Interpreter.Interpreter_intStackSize];
ItemContainer.invalidateWidget(var3);
return 1;
} else if (var0 == ScriptOpcodes.CC_SETFILLMODE) {
var8 = Interpreter.Interpreter_intStack[--Interpreter.Interpreter_intStackSize];
class332 var6 = (class332)GrandExchangeEvent.findEnumerated(MusicPatchNode.FillMode_values(), var8);
if (var6 != null) {
var3.fillMode = var6;
ItemContainer.invalidateWidget(var3);
}
return 1;
} else {
boolean var5;
if (var0 == ScriptOpcodes.CC_SETLINEDIRECTION) {
var5 = Interpreter.Interpreter_intStack[--Interpreter.Interpreter_intStackSize] == 1;
var3.field2601 = var5;
return 1;
} else if (var0 == ScriptOpcodes.CC_SETMODELTRANSPARENT) {
var5 = Interpreter.Interpreter_intStack[--Interpreter.Interpreter_intStackSize] == 1;
var3.modelTransparency = var5;
return 1;
} else {
return 2;
}
}
}
}
}