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("gm") @Implements("AbstractWorldMapIcon") public abstract class AbstractWorldMapIcon { @ObfuscatedName("bn") @Export("otp") static String otp; @ObfuscatedName("fg") @ObfuscatedGetter( intValue = -1470370987 ) @Export("js5Port") static int js5Port; @ObfuscatedName("z") @ObfuscatedSignature( descriptor = "Liy;" ) @Export("coord2") public final Coord coord2; @ObfuscatedName("a") @ObfuscatedSignature( descriptor = "Liy;" ) @Export("coord1") public final Coord coord1; @ObfuscatedName("u") @ObfuscatedGetter( intValue = 644228695 ) @Export("screenX") int screenX; @ObfuscatedName("e") @ObfuscatedGetter( intValue = -1315860779 ) @Export("screenY") int screenY; @ObfuscatedSignature( descriptor = "(Liy;Liy;)V" ) AbstractWorldMapIcon(Coord var1, Coord var2) { this.coord1 = var1; this.coord2 = var2; } @ObfuscatedName("c") @ObfuscatedSignature( descriptor = "(B)I", garbageValue = "120" ) @Export("getElement") public abstract int getElement(); @ObfuscatedName("m") @ObfuscatedSignature( descriptor = "(S)Lgz;", garbageValue = "3118" ) @Export("getLabel") abstract WorldMapLabel getLabel(); @ObfuscatedName("k") @ObfuscatedSignature( descriptor = "(B)I", garbageValue = "-50" ) @Export("getSubWidth") abstract int getSubWidth(); @ObfuscatedName("o") @ObfuscatedSignature( descriptor = "(I)I", garbageValue = "-967271066" ) @Export("getSubHeight") abstract int getSubHeight(); @ObfuscatedName("h") @ObfuscatedSignature( descriptor = "(III)Z", garbageValue = "-545927785" ) @Export("fitsScreen") boolean fitsScreen(int var1, int var2) { if (this.elementFitsScreen(var1, var2)) { return true; } else { return this.labelFitsScreen(var1, var2); } } @ObfuscatedName("d") @ObfuscatedSignature( descriptor = "(I)Z", garbageValue = "-1733831086" ) @Export("hasValidElement") boolean hasValidElement() { return this.getElement() >= 0; } @ObfuscatedName("q") @ObfuscatedSignature( descriptor = "(III)Z", garbageValue = "-1675703397" ) @Export("elementFitsScreen") boolean elementFitsScreen(int var1, int var2) { if (!this.hasValidElement()) { return false; } else { WorldMapElement var3 = class54.WorldMapElement_get(this.getElement()); int var4 = this.getSubWidth(); int var5 = this.getSubHeight(); switch(var3.horizontalAlignment.value) { case 0: if (var1 > this.screenX - var4 && var1 <= this.screenX) { break; } return false; case 1: if (var1 < this.screenX - var4 / 2 || var1 > var4 / 2 + this.screenX) { return false; } break; case 2: if (var1 < this.screenX || var1 >= var4 + this.screenX) { return false; } } switch(var3.verticalAlignment.value) { case 0: if (var2 < this.screenY - var5 / 2 || var2 > var5 / 2 + this.screenY) { return false; } break; case 1: if (var2 < this.screenY || var2 >= var5 + this.screenY) { return false; } break; case 2: if (var2 <= this.screenY - var5 || var2 > this.screenY) { return false; } } return true; } } @ObfuscatedName("j") @ObfuscatedSignature( descriptor = "(III)Z", garbageValue = "859563161" ) @Export("labelFitsScreen") boolean labelFitsScreen(int var1, int var2) { WorldMapLabel var3 = this.getLabel(); if (var3 == null) { return false; } else if (var1 >= this.screenX - var3.width / 2 && var1 <= var3.width / 2 + this.screenX) { return var2 >= this.screenY && var2 <= var3.height + this.screenY; } else { return false; } } @ObfuscatedName("m") @ObfuscatedSignature( descriptor = "([BI)V", garbageValue = "-417531857" ) @Export("ByteArrayPool_release") public static synchronized void ByteArrayPool_release(byte[] var0) { if (var0.length == 100 && ByteArrayPool.ByteArrayPool_smallCount < 1000) { ByteArrayPool.ByteArrayPool_small[++ByteArrayPool.ByteArrayPool_smallCount - 1] = var0; } else if (var0.length == 5000 && ByteArrayPool.ByteArrayPool_mediumCount < 250) { ByteArrayPool.ByteArrayPool_medium[++ByteArrayPool.ByteArrayPool_mediumCount - 1] = var0; } else if (var0.length == 30000 && ByteArrayPool.ByteArrayPool_largeCount < 50) { ByteArrayPool.ByteArrayPool_large[++ByteArrayPool.ByteArrayPool_largeCount - 1] = var0; } else { if (ByteArrayPool.ByteArrayPool_arrays != null) { for (int var1 = 0; var1 < ByteArrayPool.ByteArrayPool_alternativeSizes.length; ++var1) { if (var0.length == ByteArrayPool.ByteArrayPool_alternativeSizes[var1] && TileItem.ByteArrayPool_altSizeArrayCounts[var1] < ByteArrayPool.ByteArrayPool_arrays[var1].length) { ByteArrayPool.ByteArrayPool_arrays[var1][TileItem.ByteArrayPool_altSizeArrayCounts[var1]++] = var0; return; } } } } } @ObfuscatedName("k") @ObfuscatedSignature( descriptor = "(IZIZI)V", garbageValue = "2006423596" ) @Export("sortWorldList") static void sortWorldList(int var0, boolean var1, int var2, boolean var3) { if (class393.World_worlds != null) { MusicPatchNode2.doWorldSorting(0, class393.World_worlds.length - 1, var0, var1, var2, var3); } } @ObfuscatedName("l") @ObfuscatedSignature( descriptor = "(I)V", garbageValue = "237623973" ) public static void method3871() { PlayerComposition.PlayerAppearance_cachedModels.clear(); } }