287 lines
5.8 KiB
Java
287 lines
5.8 KiB
Java
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("dj")
|
||
@Implements("Decimator")
|
||
public class Decimator {
|
||
@ObfuscatedName("e")
|
||
@ObfuscatedGetter(
|
||
intValue = 1591513513
|
||
)
|
||
@Export("inputRate")
|
||
int inputRate;
|
||
@ObfuscatedName("i")
|
||
@ObfuscatedGetter(
|
||
intValue = -1648120479
|
||
)
|
||
@Export("outputRate")
|
||
int outputRate;
|
||
@ObfuscatedName("g")
|
||
@Export("table")
|
||
int[][] table;
|
||
|
||
public Decimator(int var1, int var2) {
|
||
if (var2 != var1) {
|
||
int var3 = MouseHandler.method1111(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(var6 - 7.0D + 1.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 = ((double)var8 - var6) * 3.141592653589793D;
|
||
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(0.2243994752564138D * ((double)var8 - var6));
|
||
var5[var8] = (int)Math.floor(0.5D + 65536.0D * var14);
|
||
}
|
||
}
|
||
|
||
}
|
||
}
|
||
|
||
@ObfuscatedName("c")
|
||
@ObfuscatedSignature(
|
||
signature = "([BI)[B",
|
||
garbageValue = "992629690"
|
||
)
|
||
@Export("resample")
|
||
byte[] resample(byte[] var1) {
|
||
if (this.table != null) {
|
||
int var2 = (int)((long)var1.length * (long)this.outputRate / (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[var9 + var4] += var7 * var8[var9];
|
||
}
|
||
|
||
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("t")
|
||
@ObfuscatedSignature(
|
||
signature = "(II)I",
|
||
garbageValue = "-356284580"
|
||
)
|
||
@Export("scaleRate")
|
||
int scaleRate(int var1) {
|
||
if (this.table != null) {
|
||
var1 = (int)((long)this.outputRate * (long)var1 / (long)this.inputRate);
|
||
}
|
||
|
||
return var1;
|
||
}
|
||
|
||
@ObfuscatedName("o")
|
||
@ObfuscatedSignature(
|
||
signature = "(IB)I",
|
||
garbageValue = "5"
|
||
)
|
||
@Export("scalePosition")
|
||
int scalePosition(int var1) {
|
||
if (this.table != null) {
|
||
var1 = (int)((long)this.outputRate * (long)var1 / (long)this.inputRate) + 6;
|
||
}
|
||
|
||
return var1;
|
||
}
|
||
|
||
@ObfuscatedName("c")
|
||
public static final int method2600(double var0, double var2, double var4) {
|
||
double var6 = var4;
|
||
double var8 = var4;
|
||
double var10 = var4;
|
||
if (var2 != 0.0D) {
|
||
double var12;
|
||
if (var4 < 0.5D) {
|
||
var12 = var4 * (var2 + 1.0D);
|
||
} else {
|
||
var12 = var2 + var4 - var2 * var4;
|
||
}
|
||
|
||
double var14 = var4 * 2.0D - var12;
|
||
double var16 = 0.3333333333333333D + var0;
|
||
if (var16 > 1.0D) {
|
||
--var16;
|
||
}
|
||
|
||
double var20 = var0 - 0.3333333333333333D;
|
||
if (var20 < 0.0D) {
|
||
++var20;
|
||
}
|
||
|
||
if (var16 * 6.0D < 1.0D) {
|
||
var6 = var14 + 6.0D * (var12 - var14) * var16;
|
||
} else if (2.0D * var16 < 1.0D) {
|
||
var6 = var12;
|
||
} else if (3.0D * var16 < 2.0D) {
|
||
var6 = 6.0D * (var12 - var14) * (0.6666666666666666D - var16) + var14;
|
||
} else {
|
||
var6 = var14;
|
||
}
|
||
|
||
if (var0 * 6.0D < 1.0D) {
|
||
var8 = var14 + 6.0D * (var12 - var14) * var0;
|
||
} else if (2.0D * var0 < 1.0D) {
|
||
var8 = var12;
|
||
} else if (var0 * 3.0D < 2.0D) {
|
||
var8 = var14 + (var12 - var14) * (0.6666666666666666D - var0) * 6.0D;
|
||
} else {
|
||
var8 = var14;
|
||
}
|
||
|
||
if (var20 * 6.0D < 1.0D) {
|
||
var10 = 6.0D * (var12 - var14) * var20 + var14;
|
||
} else if (2.0D * var20 < 1.0D) {
|
||
var10 = var12;
|
||
} else if (var20 * 3.0D < 2.0D) {
|
||
var10 = (0.6666666666666666D - var20) * (var12 - var14) * 6.0D + var14;
|
||
} else {
|
||
var10 = var14;
|
||
}
|
||
}
|
||
|
||
int var22 = (int)(256.0D * var6);
|
||
int var13 = (int)(var8 * 256.0D);
|
||
int var23 = (int)(256.0D * var10);
|
||
int var15 = var23 + (var13 << 8) + (var22 << 16);
|
||
return var15;
|
||
}
|
||
|
||
@ObfuscatedName("o")
|
||
@ObfuscatedSignature(
|
||
signature = "(CI)C",
|
||
garbageValue = "2008041614"
|
||
)
|
||
public static char method2597(char var0) {
|
||
switch(var0) {
|
||
case ' ':
|
||
case '-':
|
||
case '_':
|
||
case ' ':
|
||
return '_';
|
||
case '#':
|
||
case '[':
|
||
case ']':
|
||
return var0;
|
||
case 'À':
|
||
case 'Á':
|
||
case 'Â':
|
||
case 'Ã':
|
||
case 'Ä':
|
||
case 'à':
|
||
case 'á':
|
||
case 'â':
|
||
case 'ã':
|
||
case 'ä':
|
||
return 'a';
|
||
case 'Ç':
|
||
case 'ç':
|
||
return 'c';
|
||
case 'È':
|
||
case 'É':
|
||
case 'Ê':
|
||
case 'Ë':
|
||
case 'è':
|
||
case 'é':
|
||
case 'ê':
|
||
case 'ë':
|
||
return 'e';
|
||
case 'Í':
|
||
case 'Î':
|
||
case 'Ï':
|
||
case 'í':
|
||
case 'î':
|
||
case 'ï':
|
||
return 'i';
|
||
case 'Ñ':
|
||
case 'ñ':
|
||
return 'n';
|
||
case 'Ò':
|
||
case 'Ó':
|
||
case 'Ô':
|
||
case 'Õ':
|
||
case 'Ö':
|
||
case 'ò':
|
||
case 'ó':
|
||
case 'ô':
|
||
case 'õ':
|
||
case 'ö':
|
||
return 'o';
|
||
case 'Ù':
|
||
case 'Ú':
|
||
case 'Û':
|
||
case 'Ü':
|
||
case 'ù':
|
||
case 'ú':
|
||
case 'û':
|
||
case 'ü':
|
||
return 'u';
|
||
case 'ß':
|
||
return 'b';
|
||
case 'ÿ':
|
||
case 'Ÿ':
|
||
return 'y';
|
||
default:
|
||
return Character.toLowerCase(var0);
|
||
}
|
||
}
|
||
|
||
@ObfuscatedName("n")
|
||
@ObfuscatedSignature(
|
||
signature = "(I)Z",
|
||
garbageValue = "2087967382"
|
||
)
|
||
static final boolean method2601() {
|
||
return ViewportMouse.ViewportMouse_isInViewport;
|
||
}
|
||
}
|