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; } } } } }