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("dx") @Implements("Decimator") public class Decimator { @ObfuscatedName("d") @ObfuscatedGetter( intValue = -591203607 ) @Export("inputRate") int inputRate; @ObfuscatedName("w") @ObfuscatedGetter( intValue = -772700621 ) @Export("outputRate") int outputRate; @ObfuscatedName("v") @Export("table") int[][] table; public Decimator(int var1, int var2) { if (var2 != var1) { int var3 = ModeWhere.method3763(var1, var2); var1 /= var3; var2 /= var3; this.inputRate = var1; this.outputRate = var2; this.table = new int[var1][14]; for (int var4 = 0; var4 < var1; ++var4) { int[] var5 = this.table[var4]; double var6 = 6.0D + (double)var4 / (double)var1; int var8 = (int)Math.floor(1.0D + (var6 - 7.0D)); if (var8 < 0) { var8 = 0; } int var9 = (int)Math.ceil(var6 + 7.0D); if (var9 > 14) { var9 = 14; } for (double var10 = (double)var2 / (double)var1; var8 < var9; ++var8) { double var12 = 3.141592653589793D * ((double)var8 - var6); double var14 = var10; if (var12 < -1.0E-4D || var12 > 1.0E-4D) { var14 = var10 * (Math.sin(var12) / var12); } var14 *= 0.54D + 0.46D * Math.cos(((double)var8 - var6) * 0.2243994752564138D); var5[var8] = (int)Math.floor(65536.0D * var14 + 0.5D); } } } } @ObfuscatedName("x") @ObfuscatedSignature( signature = "([BI)[B", garbageValue = "2035174504" ) @Export("resample") byte[] resample(byte[] var1) { if (this.table != null) { int var2 = (int)((long)this.outputRate * (long)var1.length / (long)this.inputRate) + 14; int[] var3 = new int[var2]; int var4 = 0; int var5 = 0; int var6; for (var6 = 0; var6 < var1.length; ++var6) { byte var7 = var1[var6]; int[] var8 = this.table[var5]; int var9; for (var9 = 0; var9 < 14; ++var9) { var3[var4 + var9] += var8[var9] * var7; } var5 += this.outputRate; var9 = var5 / this.inputRate; var4 += var9; var5 -= var9 * this.inputRate; } var1 = new byte[var2]; for (var6 = 0; var6 < var2; ++var6) { int var10 = var3[var6] + 32768 >> 16; if (var10 < -128) { var1[var6] = -128; } else if (var10 > 127) { var1[var6] = 127; } else { var1[var6] = (byte)var10; } } } return var1; } @ObfuscatedName("m") @ObfuscatedSignature( signature = "(IB)I", garbageValue = "65" ) @Export("scaleRate") int scaleRate(int var1) { if (this.table != null) { var1 = (int)((long)this.outputRate * (long)var1 / (long)this.inputRate); } return var1; } @ObfuscatedName("k") @ObfuscatedSignature( signature = "(II)I", garbageValue = "-548608122" ) @Export("scalePosition") int scalePosition(int var1) { if (this.table != null) { var1 = (int)((long)var1 * (long)this.outputRate / (long)this.inputRate) + 6; } return var1; } @ObfuscatedName("m") public static boolean method2635(long var0) { return var0 != 0L && !WorldMapDecorationType.method4212(var0); } @ObfuscatedName("z") @ObfuscatedSignature( signature = "(ILce;ZI)I", garbageValue = "49819578" ) static int method2649(int var0, Script var1, boolean var2) { boolean var3 = true; Widget var4; if (var0 >= 2000) { var0 -= 1000; var4 = MusicPatchNode.getWidget(Interpreter.Interpreter_intStack[--Interpreter.Interpreter_intStackSize]); var3 = false; } else { var4 = var2 ? GrandExchangeOfferNameComparator.field115 : Interpreter.field1130; } int var11; if (var0 == ScriptOpcodes.CC_SETOP) { var11 = Interpreter.Interpreter_intStack[--Interpreter.Interpreter_intStackSize] - 1; if (var11 >= 0 && var11 <= 9) { var4.setAction(var11, Interpreter.Interpreter_stringStack[--Interpreter.Interpreter_stringStackSize]); return 1; } else { --Interpreter.Interpreter_stringStackSize; return 1; } } else { int var6; if (var0 == ScriptOpcodes.CC_SETDRAGGABLE) { Interpreter.Interpreter_intStackSize -= 2; var11 = Interpreter.Interpreter_intStack[Interpreter.Interpreter_intStackSize]; var6 = Interpreter.Interpreter_intStack[Interpreter.Interpreter_intStackSize + 1]; var4.parent = GrandExchangeOfferUnitPriceComparator.getWidgetChild(var11, var6); return 1; } else if (var0 == ScriptOpcodes.CC_SETDRAGGABLEBEHAVIOR) { var4.isScrollBar = Interpreter.Interpreter_intStack[--Interpreter.Interpreter_intStackSize] == 1; return 1; } else if (var0 == ScriptOpcodes.CC_SETDRAGDEADZONE) { var4.dragZoneSize = Interpreter.Interpreter_intStack[--Interpreter.Interpreter_intStackSize]; return 1; } else if (var0 == ScriptOpcodes.CC_SETDRAGDEADTIME) { var4.dragThreshold = Interpreter.Interpreter_intStack[--Interpreter.Interpreter_intStackSize]; return 1; } else if (var0 == ScriptOpcodes.CC_SETOPBASE) { var4.dataText = Interpreter.Interpreter_stringStack[--Interpreter.Interpreter_stringStackSize]; return 1; } else if (var0 == ScriptOpcodes.CC_SETTARGETVERB) { var4.spellActionName = Interpreter.Interpreter_stringStack[--Interpreter.Interpreter_stringStackSize]; return 1; } else if (var0 == ScriptOpcodes.CC_CLEAROPS) { var4.actions = null; return 1; } else if (var0 == 1308) { var4.field2658 = Interpreter.Interpreter_intStack[--Interpreter.Interpreter_intStackSize] == 1; return 1; } else if (var0 == 1309) { --Interpreter.Interpreter_intStackSize; return 1; } else { int var7; byte[] var9; if (var0 != ScriptOpcodes.CC_SETOPKEY) { byte var5; if (var0 == ScriptOpcodes.CC_SETOPTKEY) { Interpreter.Interpreter_intStackSize -= 2; var5 = 10; var9 = new byte[]{(byte)Interpreter.Interpreter_intStack[Interpreter.Interpreter_intStackSize]}; byte[] var10 = new byte[]{(byte)Interpreter.Interpreter_intStack[Interpreter.Interpreter_intStackSize + 1]}; FontName.Widget_setKey(var4, var5, var9, var10); return 1; } else if (var0 == ScriptOpcodes.CC_SETOPKEYRATE) { Interpreter.Interpreter_intStackSize -= 3; var11 = Interpreter.Interpreter_intStack[Interpreter.Interpreter_intStackSize] - 1; var6 = Interpreter.Interpreter_intStack[Interpreter.Interpreter_intStackSize + 1]; var7 = Interpreter.Interpreter_intStack[Interpreter.Interpreter_intStackSize + 2]; if (var11 >= 0 && var11 <= 9) { MouseHandler.Widget_setKeyRate(var4, var11, var6, var7); return 1; } else { throw new RuntimeException(); } } else if (var0 == ScriptOpcodes.CC_SETOPTKEYRATE) { var5 = 10; var6 = Interpreter.Interpreter_intStack[--Interpreter.Interpreter_intStackSize]; var7 = Interpreter.Interpreter_intStack[--Interpreter.Interpreter_intStackSize]; MouseHandler.Widget_setKeyRate(var4, var5, var6, var7); return 1; } else if (var0 == ScriptOpcodes.CC_SETOPKEYIGNOREHELD) { --Interpreter.Interpreter_intStackSize; var11 = Interpreter.Interpreter_intStack[Interpreter.Interpreter_intStackSize] - 1; if (var11 >= 0 && var11 <= 9) { class195.Widget_setKeyIgnoreHeld(var4, var11); return 1; } else { throw new RuntimeException(); } } else if (var0 == ScriptOpcodes.CC_SETOPTKEYIGNOREHELD) { var5 = 10; class195.Widget_setKeyIgnoreHeld(var4, var5); return 1; } else { return 2; } } else { byte[] var8 = null; var9 = null; if (var3) { Interpreter.Interpreter_intStackSize -= 10; for (var7 = 0; var7 < 10 && Interpreter.Interpreter_intStack[var7 + Interpreter.Interpreter_intStackSize] >= 0; var7 += 2) { } if (var7 > 0) { var8 = new byte[var7 / 2]; var9 = new byte[var7 / 2]; for (var7 -= 2; var7 >= 0; var7 -= 2) { var8[var7 / 2] = (byte)Interpreter.Interpreter_intStack[var7 + Interpreter.Interpreter_intStackSize]; var9[var7 / 2] = (byte)Interpreter.Interpreter_intStack[var7 + Interpreter.Interpreter_intStackSize + 1]; } } } else { Interpreter.Interpreter_intStackSize -= 2; var8 = new byte[]{(byte)Interpreter.Interpreter_intStack[Interpreter.Interpreter_intStackSize]}; var9 = new byte[]{(byte)Interpreter.Interpreter_intStack[Interpreter.Interpreter_intStackSize + 1]}; } var7 = Interpreter.Interpreter_intStack[--Interpreter.Interpreter_intStackSize] - 1; if (var7 >= 0 && var7 <= 9) { FontName.Widget_setKey(var4, var7, var8, var9); return 1; } else { throw new RuntimeException(); } } } } } @ObfuscatedName("e") @ObfuscatedSignature( signature = "(Ljava/lang/String;I)Ljava/lang/String;", garbageValue = "458877468" ) public static String method2636(String var0) { int var1 = var0.length(); char[] var2 = new char[var1]; byte var3 = 2; for (int var4 = 0; var4 < var1; ++var4) { char var5 = var0.charAt(var4); if (var3 == 0) { var5 = Character.toLowerCase(var5); } else if (var3 == 2 || Character.isUpperCase(var5)) { var5 = StructDefinition.method4589(var5); } if (Character.isLetter(var5)) { var3 = 0; } else if (var5 != '.' && var5 != '?' && var5 != '!') { if (Character.isSpaceChar(var5)) { if (var3 != 2) { var3 = 1; } } else { var3 = 1; } } else { var3 = 2; } var2[var4] = var5; } return new String(var2); } }