mirror of
https://gitlab.com/2009scape/rt4-client.git
synced 2025-12-20 13:30:30 -07:00
103 lines
3.6 KiB
Java
103 lines
3.6 KiB
Java
import org.openrs2.deob.annotation.OriginalArg;
|
|
import org.openrs2.deob.annotation.OriginalClass;
|
|
import org.openrs2.deob.annotation.OriginalMember;
|
|
import org.openrs2.deob.annotation.Pc;
|
|
|
|
@OriginalClass("client!vj")
|
|
public final class Resampler {
|
|
|
|
@OriginalMember(owner = "client!vj", name = "k", descriptor = "I")
|
|
private int anInt5769;
|
|
|
|
@OriginalMember(owner = "client!vj", name = "i", descriptor = "[[I")
|
|
private int[][] anIntArrayArray40;
|
|
|
|
@OriginalMember(owner = "client!vj", name = "e", descriptor = "I")
|
|
private int anInt5766;
|
|
|
|
@OriginalMember(owner = "client!vj", name = "<init>", descriptor = "(II)V")
|
|
public Resampler(@OriginalArg(0) int arg0, @OriginalArg(1) int arg1) {
|
|
if (arg1 != arg0) {
|
|
@Pc(12) int local12 = Static180.method3330(arg1, arg0);
|
|
@Pc(16) int local16 = arg1 / local12;
|
|
this.anInt5769 = local16;
|
|
@Pc(23) int local23 = arg0 / local12;
|
|
this.anIntArrayArray40 = new int[local23][14];
|
|
this.anInt5766 = local23;
|
|
for (@Pc(33) int local33 = 0; local33 < local23; local33++) {
|
|
@Pc(41) int[] local41 = this.anIntArrayArray40[local33];
|
|
@Pc(49) double local49 = (double) local33 / (double) local23 + 6.0D;
|
|
@Pc(55) double local55 = (double) local16 / (double) local23;
|
|
@Pc(63) int local63 = (int) Math.floor(local49 + 1.0D - 7.0D);
|
|
@Pc(69) int local69 = (int) Math.ceil(local49 + 7.0D);
|
|
if (local63 < 0) {
|
|
local63 = 0;
|
|
}
|
|
if (local69 > 14) {
|
|
local69 = 14;
|
|
}
|
|
while (local63 < local69) {
|
|
@Pc(91) double local91 = ((double) local63 - local49) * 3.141592653589793D;
|
|
@Pc(93) double local93 = local55;
|
|
if (-1.0E-4D > local91 || local91 > 1.0E-4D) {
|
|
local93 = local55 * (Math.sin(local91) / local91);
|
|
}
|
|
local93 *= Math.cos(((double) local63 - local49) * 0.2243994752564138D) * 0.46D + 0.54D;
|
|
local41[local63] = (int) Math.floor(local93 * 65536.0D + 0.5D);
|
|
local63++;
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
@OriginalMember(owner = "client!vj", name = "a", descriptor = "([BB)[B")
|
|
public final byte[] method4520(@OriginalArg(0) byte[] arg0) {
|
|
if (this.anIntArrayArray40 != null) {
|
|
@Pc(31) int local31 = (int) ((long) arg0.length * (long) this.anInt5769 / (long) this.anInt5766) + 14;
|
|
@Pc(34) int[] local34 = new int[local31];
|
|
@Pc(36) int local36 = 0;
|
|
@Pc(38) int local38 = 0;
|
|
@Pc(40) int local40;
|
|
for (local40 = 0; local40 < arg0.length; local40++) {
|
|
@Pc(53) int[] local53 = this.anIntArrayArray40[local38];
|
|
@Pc(57) byte local57 = arg0[local40];
|
|
@Pc(59) int local59;
|
|
for (local59 = 0; local59 < 14; local59++) {
|
|
local34[local36 + local59] += local53[local59] * local57;
|
|
}
|
|
local38 += this.anInt5769;
|
|
local59 = local38 / this.anInt5766;
|
|
local36 += local59;
|
|
local38 -= local59 * this.anInt5766;
|
|
}
|
|
arg0 = new byte[local31];
|
|
for (local40 = 0; local40 < local31; local40++) {
|
|
@Pc(119) int local119 = local34[local40] + 32768 >> 16;
|
|
if (local119 < -128) {
|
|
arg0[local40] = -128;
|
|
} else if (local119 <= 127) {
|
|
arg0[local40] = (byte) local119;
|
|
} else {
|
|
arg0[local40] = 127;
|
|
}
|
|
}
|
|
}
|
|
return arg0;
|
|
}
|
|
|
|
@OriginalMember(owner = "client!vj", name = "a", descriptor = "(IB)I")
|
|
public final int method4524(@OriginalArg(0) int arg0) {
|
|
if (this.anIntArrayArray40 != null) {
|
|
arg0 = (int) ((long) this.anInt5769 * (long) arg0 / (long) this.anInt5766);
|
|
}
|
|
return arg0;
|
|
}
|
|
|
|
@OriginalMember(owner = "client!vj", name = "a", descriptor = "(ZI)I")
|
|
public final int method4525(@OriginalArg(1) int arg0) {
|
|
if (this.anIntArrayArray40 != null) {
|
|
arg0 = (int) ((long) this.anInt5769 * (long) arg0 / (long) this.anInt5766) + 6;
|
|
}
|
|
return arg0;
|
|
}
|
|
}
|